From 8c325252e3d894971c6288a568face5514b86727 Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Wed, 20 Sep 2023 12:24:25 -0600 Subject: [PATCH 01/10] Refactor using TypeScript AST and Redocly OpenAPI core --- .changeset/beige-students-wink.md | 5 + .changeset/blue-ladybugs-laugh.md | 5 + .changeset/giant-scissors-repeat.md | 5 + .changeset/happy-lamps-bathe.md | 5 + .changeset/lazy-ads-add.md | 5 + .changeset/modern-bobcats-think.md | 5 + .changeset/nasty-candles-rescue.md | 5 + .changeset/rude-jokes-grin.md | 9 + .changeset/shaggy-adults-obey.md | 5 + .changeset/shaggy-experts-confess.md | 7 + .changeset/thirty-turkeys-leave.md | 5 + .changeset/warm-masks-decide.md | 8 + .changeset/wise-coins-hug.md | 29 + .eslintignore | 1 - .eslintrc.cjs | 38 +- .prettierrc | 2 +- docs/src/content/docs/node.md | 65 +- package.json | 1 + .../examples/nextjs/package.json | 2 +- .../examples/react-query/package.json | 2 +- .../examples/sveltekit/package.json | 2 +- packages/openapi-fetch/package.json | 2 +- packages/openapi-fetch/tsconfig.json | 1 + packages/openapi-typescript/CONTRIBUTING.md | 21 +- packages/openapi-typescript/bin/cli.js | 165 ++- packages/openapi-typescript/package.json | 6 +- .../scripts/download-schemas.ts | 15 +- packages/openapi-typescript/src/index.ts | 281 +--- packages/openapi-typescript/src/lib/redoc.ts | 107 ++ packages/openapi-typescript/src/lib/ts.ts | 407 +++++ packages/openapi-typescript/src/lib/utils.ts | 173 +++ packages/openapi-typescript/src/load.ts | 414 ------ .../src/transform/components-object.ts | 217 +-- .../src/transform/header-object.ts | 76 +- .../openapi-typescript/src/transform/index.ts | 105 +- .../src/transform/media-type-object.ts | 24 +- .../src/transform/operation-object.ts | 225 +-- .../src/transform/parameter-object-array.ts | 31 - .../src/transform/parameter-object.ts | 22 +- .../src/transform/parameters-array.ts | 103 ++ .../src/transform/path-item-object.ts | 137 +- .../src/transform/paths-object.ts | 187 ++- .../src/transform/request-body-object.ts | 110 +- .../src/transform/response-object.ts | 166 ++- .../src/transform/responses-object.ts | 47 + .../src/transform/schema-object-map.ts | 57 - .../src/transform/schema-object.ts | 681 ++++++--- .../src/transform/webhooks-object.ts | 39 +- packages/openapi-typescript/src/types.ts | 153 +- packages/openapi-typescript/src/utils.ts | 325 ---- .../test/components-object.test.ts | 305 ---- .../test/discriminators.test.ts | 248 ++++ .../nested-ref/_nested-ref-partial.yaml | 15 - .../nested-ref-2/_nested-ref-2.yaml | 4 - .../nested-ref-3/_nested-ref-3.yaml | 2 - .../test/fixtures/remote-ref-test.yaml | 27 - .../test/header-object.test.ts | 40 - .../openapi-typescript/test/index.test.ts | 1308 +++++------------ .../openapi-typescript/test/lib/ts.test.ts | 172 +++ .../openapi-typescript/test/lib/utils.test.ts | 63 + packages/openapi-typescript/test/load.test.ts | 122 -- .../openapi-typescript/test/node-api.test.ts | 430 ++++++ .../test/operation-object.test.ts | 167 --- .../test/path-item-object.test.ts | 177 --- .../test/paths-object.test.ts | 222 --- .../test/request-body-object.test.ts | 61 - .../test/response-object.test.ts | 78 - .../test/schema-object.test.ts | 907 ------------ .../openapi-typescript/test/test-helpers.ts | 48 + .../test/transform/components-object.test.ts | 469 ++++++ .../test/transform/header-object.test.ts | 31 + .../test/transform/operation-object.test.ts | 166 +++ .../test/transform/path-item-object.test.ts | 244 +++ .../test/transform/paths-object.test.ts | 376 +++++ .../transform/request-body-object.test.ts | 58 + .../test/transform/response-object.test.ts | 78 + .../transform/schema-object/array.test.ts | 172 +++ .../transform/schema-object/boolean.test.ts | 50 + .../schema-object/composition.test.ts | 513 +++++++ .../transform/schema-object/empty.test.ts | 42 + .../transform/schema-object/number.test.ts | 58 + .../transform/schema-object/object.test.ts | 333 +++++ .../transform/schema-object/string.test.ts | 69 + .../test/transform/webhooks-object.test.ts | 186 +++ .../openapi-typescript/test/utils.bench.ts | 6 - .../openapi-typescript/test/utils.test.ts | 170 --- .../test/webhooks-object.test.ts | 136 -- packages/openapi-typescript/tsconfig.json | 1 + pnpm-lock.yaml | 256 +++- tsconfig.json | 1 - 90 files changed, 6886 insertions(+), 5433 deletions(-) create mode 100644 .changeset/beige-students-wink.md create mode 100644 .changeset/blue-ladybugs-laugh.md create mode 100644 .changeset/giant-scissors-repeat.md create mode 100644 .changeset/happy-lamps-bathe.md create mode 100644 .changeset/lazy-ads-add.md create mode 100644 .changeset/modern-bobcats-think.md create mode 100644 .changeset/nasty-candles-rescue.md create mode 100644 .changeset/rude-jokes-grin.md create mode 100644 .changeset/shaggy-adults-obey.md create mode 100644 .changeset/shaggy-experts-confess.md create mode 100644 .changeset/thirty-turkeys-leave.md create mode 100644 .changeset/warm-masks-decide.md create mode 100644 .changeset/wise-coins-hug.md create mode 100644 packages/openapi-typescript/src/lib/redoc.ts create mode 100644 packages/openapi-typescript/src/lib/ts.ts create mode 100644 packages/openapi-typescript/src/lib/utils.ts delete mode 100644 packages/openapi-typescript/src/load.ts delete mode 100644 packages/openapi-typescript/src/transform/parameter-object-array.ts create mode 100644 packages/openapi-typescript/src/transform/parameters-array.ts create mode 100644 packages/openapi-typescript/src/transform/responses-object.ts delete mode 100644 packages/openapi-typescript/src/transform/schema-object-map.ts delete mode 100644 packages/openapi-typescript/src/utils.ts delete mode 100644 packages/openapi-typescript/test/components-object.test.ts create mode 100644 packages/openapi-typescript/test/discriminators.test.ts delete mode 100644 packages/openapi-typescript/test/fixtures/nested-ref/_nested-ref-partial.yaml delete mode 100644 packages/openapi-typescript/test/fixtures/nested-ref/nested-ref-2/_nested-ref-2.yaml delete mode 100644 packages/openapi-typescript/test/fixtures/nested-ref/nested-ref-2/nested-ref-3/_nested-ref-3.yaml delete mode 100644 packages/openapi-typescript/test/fixtures/remote-ref-test.yaml delete mode 100644 packages/openapi-typescript/test/header-object.test.ts create mode 100644 packages/openapi-typescript/test/lib/ts.test.ts create mode 100644 packages/openapi-typescript/test/lib/utils.test.ts delete mode 100644 packages/openapi-typescript/test/load.test.ts create mode 100644 packages/openapi-typescript/test/node-api.test.ts delete mode 100644 packages/openapi-typescript/test/operation-object.test.ts delete mode 100644 packages/openapi-typescript/test/path-item-object.test.ts delete mode 100644 packages/openapi-typescript/test/paths-object.test.ts delete mode 100644 packages/openapi-typescript/test/request-body-object.test.ts delete mode 100644 packages/openapi-typescript/test/response-object.test.ts delete mode 100644 packages/openapi-typescript/test/schema-object.test.ts create mode 100644 packages/openapi-typescript/test/test-helpers.ts create mode 100644 packages/openapi-typescript/test/transform/components-object.test.ts create mode 100644 packages/openapi-typescript/test/transform/header-object.test.ts create mode 100644 packages/openapi-typescript/test/transform/operation-object.test.ts create mode 100644 packages/openapi-typescript/test/transform/path-item-object.test.ts create mode 100644 packages/openapi-typescript/test/transform/paths-object.test.ts create mode 100644 packages/openapi-typescript/test/transform/request-body-object.test.ts create mode 100644 packages/openapi-typescript/test/transform/response-object.test.ts create mode 100644 packages/openapi-typescript/test/transform/schema-object/array.test.ts create mode 100644 packages/openapi-typescript/test/transform/schema-object/boolean.test.ts create mode 100644 packages/openapi-typescript/test/transform/schema-object/composition.test.ts create mode 100644 packages/openapi-typescript/test/transform/schema-object/empty.test.ts create mode 100644 packages/openapi-typescript/test/transform/schema-object/number.test.ts create mode 100644 packages/openapi-typescript/test/transform/schema-object/object.test.ts create mode 100644 packages/openapi-typescript/test/transform/schema-object/string.test.ts create mode 100644 packages/openapi-typescript/test/transform/webhooks-object.test.ts delete mode 100644 packages/openapi-typescript/test/utils.bench.ts delete mode 100644 packages/openapi-typescript/test/utils.test.ts delete mode 100644 packages/openapi-typescript/test/webhooks-object.test.ts diff --git a/.changeset/beige-students-wink.md b/.changeset/beige-students-wink.md new file mode 100644 index 000000000..a20abaaf9 --- /dev/null +++ b/.changeset/beige-students-wink.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": minor +--- + +✨ **Feature**: add `formatOptions` to allow formatting TS output diff --git a/.changeset/blue-ladybugs-laugh.md b/.changeset/blue-ladybugs-laugh.md new file mode 100644 index 000000000..548dda45f --- /dev/null +++ b/.changeset/blue-ladybugs-laugh.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": major +--- + +⚠️ **Breaking**: Most optional objects are now always present in types, just typed as `:never`. This includes keys of the Components Object as well as HTTP methods. diff --git a/.changeset/giant-scissors-repeat.md b/.changeset/giant-scissors-repeat.md new file mode 100644 index 000000000..578dc9ad1 --- /dev/null +++ b/.changeset/giant-scissors-repeat.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": minor +--- + +✨ **Feature**: add `enum` option to export top-level enums from schemas diff --git a/.changeset/happy-lamps-bathe.md b/.changeset/happy-lamps-bathe.md new file mode 100644 index 000000000..e4f453b57 --- /dev/null +++ b/.changeset/happy-lamps-bathe.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": patch +--- + +🧹 Cleaned up and reorganized all tests diff --git a/.changeset/lazy-ads-add.md b/.changeset/lazy-ads-add.md new file mode 100644 index 000000000..4197ecf15 --- /dev/null +++ b/.changeset/lazy-ads-add.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": major +--- + +⚠️ **Breaking**: No more `external` export in schemas anymore. Everything gets flattened into the `components` object instead (if referencing a schema object from a remote partial, note it may have had a minor name change to avoid conflict). diff --git a/.changeset/modern-bobcats-think.md b/.changeset/modern-bobcats-think.md new file mode 100644 index 000000000..2ee8d6f50 --- /dev/null +++ b/.changeset/modern-bobcats-think.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": minor +--- + +✨ **Feature**: header responses add `[key: string]: unknown` index type to allow for additional untyped headers diff --git a/.changeset/nasty-candles-rescue.md b/.changeset/nasty-candles-rescue.md new file mode 100644 index 000000000..746612a1d --- /dev/null +++ b/.changeset/nasty-candles-rescue.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": patch +--- + +Refactor internals to use TypeScript AST rather than string mashing diff --git a/.changeset/rude-jokes-grin.md b/.changeset/rude-jokes-grin.md new file mode 100644 index 000000000..b886a2b81 --- /dev/null +++ b/.changeset/rude-jokes-grin.md @@ -0,0 +1,9 @@ +--- +"openapi-typescript": major +--- + +⚠️ **Breaking**: Drop auth/fetching options in favor of Redocly CLI’s + +- The `auth`, `httpHeaders`, `httpMethod`, and `fetch` options were all removed from the CLI and Node.js API +- To migrate, you’ll need to create a [redocly.yaml config](https://redocly.com/docs/cli/configuration/) that specifies your auth options [in the http setting](https://redocly.com/docs/cli/configuration/#resolve-non-public-or-non-remote-urls) +- Worth noting your `redocly.yaml` config will be respected for any other related settings diff --git a/.changeset/shaggy-adults-obey.md b/.changeset/shaggy-adults-obey.md new file mode 100644 index 000000000..a2fda02b4 --- /dev/null +++ b/.changeset/shaggy-adults-obey.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": major +--- + +⚠️ **Breaking** `defaultNonNullable` option now defaults to `true`. You’ll now need to manually set `false` to return to old behavior. diff --git a/.changeset/shaggy-experts-confess.md b/.changeset/shaggy-experts-confess.md new file mode 100644 index 000000000..2afb1b7a4 --- /dev/null +++ b/.changeset/shaggy-experts-confess.md @@ -0,0 +1,7 @@ +--- +"openapi-typescript": minor +--- + +✨ **Feature**: bundle schemas with Redocly CLI + +- Any options passed into your [redocly.yaml config](https://redocly.com/docs/cli/configuration/) are respected diff --git a/.changeset/thirty-turkeys-leave.md b/.changeset/thirty-turkeys-leave.md new file mode 100644 index 000000000..94f3c6e30 --- /dev/null +++ b/.changeset/thirty-turkeys-leave.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": major +--- + +⚠️ **Breaking**: additionalProperties no longer have `| undefined` automatically appended diff --git a/.changeset/warm-masks-decide.md b/.changeset/warm-masks-decide.md new file mode 100644 index 000000000..b2b5ad5d5 --- /dev/null +++ b/.changeset/warm-masks-decide.md @@ -0,0 +1,8 @@ +--- +"openapi-typescript": minor +--- + +✨ **Feature**: automatically validate schemas with Redocly CLI ([docs](https://redocly.com/docs/cli/)). No more need for external tools to report errors! 🎉 + +- By default, it will only throw on actual schema errors (uses Redocly’s default settings) +- For stricter linting or custom rules, you can create a [redocly.yaml config](https://redocly.com/docs/cli/configuration/) diff --git a/.changeset/wise-coins-hug.md b/.changeset/wise-coins-hug.md new file mode 100644 index 000000000..da01c8f05 --- /dev/null +++ b/.changeset/wise-coins-hug.md @@ -0,0 +1,29 @@ +--- +"openapi-typescript": major +--- + +⚠️ **Breaking**: The Node.js API now returns the TypeScript AST for the main method as well as `transform()` and `postTransform()`. To migrate, you’ll have to use the `typescript` compiler API: + +```diff ++ import ts from "typescript"; + ++ const DATE = ts.factory.createIdentifier("Date"); ++ const NULL = ts.factory.createLiteralTypeNode(ts.factory.createNull()); + + const ast = await openapiTS(mySchema, { + transform(schemaObject, metadata) { + if (schemaObject.format === "date-time") { +- return schemaObject.nullable ? "Date | null" : "Date"; ++ return schemaObject.nullable ++ ? ts.factory.createUnionTypeNode([DATE, NULL]) ++ : DATE; + } + }, + }; +``` + +Though it’s more verbose, it’s also more powerful, as now you have access to additional properties of the generated code you didn’t before (such as injecting comments). + +For example syntax, search this codebae to see how the TypeScript AST is used. + +Also see [AST Explorer](https://astexplorer.net/)’s `typescript` parser to inspect how TypeScript is interpreted as an AST. diff --git a/.eslintignore b/.eslintignore index 0831a358c..83ef74676 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,3 @@ -bin coverage dist examples diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 6059218aa..8782598ce 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -4,14 +4,48 @@ module.exports = { parserOptions: { project: ["./tsconfig.json"], }, - extends: ["eslint:recommended", "plugin:@typescript-eslint/strict", "plugin:vitest/recommended"], - plugins: ["@typescript-eslint", "no-only-tests", "prettier", "vitest"], + extends: [ + "eslint:recommended", + "plugin:@typescript-eslint/strict", + "plugin:vitest/recommended", + ], + plugins: [ + "@typescript-eslint", + "import", + "no-only-tests", + "prettier", + "vitest", + ], rules: { "@typescript-eslint/consistent-indexed-object-style": "off", // sometimes naming keys is more user-friendly "@typescript-eslint/no-dynamic-delete": "off", // delete is OK "@typescript-eslint/no-non-null-assertion": "off", // this is better than "as" + "@typescript-eslint/no-shadow": "error", "@typescript-eslint/no-unnecessary-condition": "off", // this gives bad advice + "arrow-body-style": ["error", "as-needed"], + "dot-notation": "error", + "import/newline-after-import": "error", + "import/order": [ + "error", + { + alphabetize: { + order: "asc", + orderImportKind: "asc", + caseInsensitive: true, + }, + groups: [ + ["builtin", "external"], + "internal", + "parent", + "index", + "sibling", + ], + }, + ], + curly: "error", + "object-shorthand": "error", // don’t use foo["bar"] "no-console": "error", + "no-global-assign": "error", "no-unused-vars": "off", }, overrides: [ diff --git a/.prettierrc b/.prettierrc index a28cd7088..6e1cd9220 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,3 +1,3 @@ { - "printWidth": 240 + "singleAttributePerLine": true } diff --git a/docs/src/content/docs/node.md b/docs/src/content/docs/node.md index fd3acf4d7..a10f86dfc 100644 --- a/docs/src/content/docs/node.md +++ b/docs/src/content/docs/node.md @@ -15,23 +15,33 @@ npm i --save-dev openapi-typescript ## Usage -```js +The Node API accepts either a parsed OpenAPI schema in a JS object, or a `string` or `URL` pointing to the location of a schema. It returns `Promise` (an array of TypeScript AST nodes). + +```ts import fs from "node:fs"; import openapiTS from "openapi-typescript"; -// example 1: load [object] as schema (JSON only) +// example 1: load [object] as schema (provide a `cwd` to resolve relative $refs) const schema = await fs.promises.readFile("spec.json", "utf8"); // must be OpenAPI JSON -const output = await openapiTS(JSON.parse(schema)); +const ast = await openapiTS(JSON.parse(schema), { cwd: process.cwd() }); -// example 2: load [string] as local file (YAML or JSON; released in v4.0) +// example 2: load [string] as local file const localPath = new URL("./spec.yaml", import.meta.url); // may be YAML or JSON format -const output = await openapiTS(localPath); +const ast = await openapiTS(localPath); -// example 3: load [string] as remote URL (YAML or JSON; released in v4.0) -const output = await openapiTS("https://myurl.com/v1/openapi.yaml"); +// example 3: load [string] as remote URL +const ast = await openapiTS("https://myurl.com/v1/openapi.yaml"); ``` -> **Note**: a YAML string isn’t supported in the Node.js API (you’ll need to convert it to JSON). But loading YAML via URL is still supported in Node.js +From the result, you can traverse / manipulate / modify the AST as you see fit. + +To convert the TypeScript AST into a string, you can use `astToString()` helper which is a thin wrapper around [TypeScript’s printer](https://github.com/microsoft/TypeScript/wiki/Using-the-Compiler-API#re-printing-sections-of-a-typescript-file): + +```ts +import { astToString } from "openapi-typescript"; + +const contents = astToString(ast); +``` ## Options @@ -39,8 +49,6 @@ The Node API supports all the [CLI flags](/cli#options) in `camelCase` format, p | Name | Type | Default | Description | | :-------------- | :-------------: | :------ | :------------------------------------------------------------------------------------------------------------------- | -| `commentHeader` | `string` | | Override the default “This file was auto-generated …” file heading | -| `inject` | `string` | | Inject arbitrary TypeScript types into the start of the file | | `transform` | `Function` | | Override the default Schema Object ➝ TypeScript transformer in certain scenarios | | `postTransform` | `Function` | | Same as `transform` but runs _after_ the TypeScript transformation | | `cwd` | `string \| URL` | | (optional) Provide the current working directory to resolve remote `$ref`s (only needed for in-memory JSON objects). | @@ -50,7 +58,7 @@ The Node API supports all the [CLI flags](/cli#options) in `camelCase` format, p Use the `transform()` and `postTransform()` options to override the default Schema Object transformer with your own. This is useful for providing nonstandard modifications for specific parts of your schema. - `transform()` runs **before** the conversion to TypeScript (you’re working with the original OpenAPI nodes) -- `postTransform()` runs **after** the conversion to TypeScript (you’re working with TypeScript types) +- `postTransform()` runs **after** the conversion to TypeScript (you’re working with TypeScript AST) #### Example: `Date` types @@ -65,11 +73,18 @@ properties: By default, openapiTS will generate `updated_at?: string;` because it’s not sure which format you want by `"date-time"` (formats are nonstandard and can be whatever you’d like). But we can enhance this by providing our own custom formatter, like so: -```js -const types = openapiTS(mySchema, { - transform(schemaObject, metadata): string { - if ("format" in schemaObject && schemaObject.format === "date-time") { - return schemaObject.nullable ? "Date | null" : "Date"; +```ts +import ts from "typescript"; + +const DATE = ts.factory.createIdentifier("Date"); // `Date` +const NULL = ts.factory.createLiteralTypeNode(ts.factory.createNull()); // `null` + +const ast = await openapiTS(mySchema, { + transform(schemaObject, metadata) { + if (schemaObject.format === "date-time") { + return schemaObject.nullable + ? ts.factory.createUnionTypeNode([DATE, NULL]) + : DATE; } }, }); @@ -93,18 +108,22 @@ Body_file_upload: file: type: string; format: binary; - } - } -} ``` Use the same pattern to transform the types: ```ts -const types = openapiTS(mySchema, { - transform(schemaObject, metadata): string { - if ("format" in schemaObject && schemaObject.format === "binary") { - return schemaObject.nullable ? "Blob | null" : "Blob"; +import ts from "typescript"; + +const BLOB = ts.factory.createIdentifier("Blob"); // `Blob` +const NULL = ts.factory.createLiteralTypeNode(ts.factory.createNull()); // `null` + +const ast = await openapiTS(mySchema, { + transform(schemaObject, metadata) { + if (schemaObject.format === "binary") { + return schemaObject.nullable + ? ts.factory.createUnionTypeNode([BLOB, NULL]) + : BLOB; } }, }); diff --git a/package.json b/package.json index d46223996..542f62f79 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "del-cli": "^5.1.0", "eslint": "^8.50.0", "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.28.1", "eslint-plugin-no-only-tests": "^3.1.0", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-vitest": "^0.2.8", diff --git a/packages/openapi-fetch/examples/nextjs/package.json b/packages/openapi-fetch/examples/nextjs/package.json index 343e46bf3..9a00770ce 100644 --- a/packages/openapi-fetch/examples/nextjs/package.json +++ b/packages/openapi-fetch/examples/nextjs/package.json @@ -4,7 +4,7 @@ "type": "module", "scripts": { "dev": "next dev", - "prepare": "openapi-typescript lib/api/v1.json -o lib/api/v1.d.ts" + "--prepare": "openapi-typescript lib/api/v1.json -o lib/api/v1.d.ts" }, "dependencies": { "next": "13.4.19", diff --git a/packages/openapi-fetch/examples/react-query/package.json b/packages/openapi-fetch/examples/react-query/package.json index 254f63705..ef05ab0b2 100644 --- a/packages/openapi-fetch/examples/react-query/package.json +++ b/packages/openapi-fetch/examples/react-query/package.json @@ -4,7 +4,7 @@ "type": "module", "scripts": { "dev": "vite dev", - "prepare": "openapi-typescript src/lib/api/v1.json -o src/lib/api/v1.d.ts" + "--prepare": "openapi-typescript src/lib/api/v1.json -o src/lib/api/v1.d.ts" }, "dependencies": { "@tanstack/react-query": "^4.35.0", diff --git a/packages/openapi-fetch/examples/sveltekit/package.json b/packages/openapi-fetch/examples/sveltekit/package.json index 1830ecbbc..ed3606bca 100644 --- a/packages/openapi-fetch/examples/sveltekit/package.json +++ b/packages/openapi-fetch/examples/sveltekit/package.json @@ -6,7 +6,7 @@ "dev": "vite dev", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "prepare": "openapi-typescript src/lib/api/v1.json -o src/lib/api/v1.d.ts" + "--prepare": "openapi-typescript src/lib/api/v1.json -o src/lib/api/v1.d.ts" }, "dependencies": { "openapi-fetch": "workspace:^", diff --git a/packages/openapi-fetch/package.json b/packages/openapi-fetch/package.json index e1a12103a..0f28ec31c 100644 --- a/packages/openapi-fetch/package.json +++ b/packages/openapi-fetch/package.json @@ -58,7 +58,7 @@ "test": "pnpm run test:ts && npm run test:js", "test:js": "vitest run", "test:ts": "tsc --noEmit", - "prepare": "openapi-typescript test/v1.yaml -o test/v1.d.ts", + "--prepare": "openapi-typescript test/v1.yaml -o test/v1.d.ts", "prepublish": "pnpm run prepare && pnpm run build", "version": "pnpm run prepare && pnpm run build" }, diff --git a/packages/openapi-fetch/tsconfig.json b/packages/openapi-fetch/tsconfig.json index 737bfd93e..64635a004 100644 --- a/packages/openapi-fetch/tsconfig.json +++ b/packages/openapi-fetch/tsconfig.json @@ -4,6 +4,7 @@ "declaration": true, "downlevelIteration": false, "esModuleInterop": true, + "lib": ["ESNext", "DOM"], "module": "NodeNext", "moduleResolution": "NodeNext", "outDir": "dist", diff --git a/packages/openapi-typescript/CONTRIBUTING.md b/packages/openapi-typescript/CONTRIBUTING.md index e0bc6df1b..943e4a43f 100644 --- a/packages/openapi-typescript/CONTRIBUTING.md +++ b/packages/openapi-typescript/CONTRIBUTING.md @@ -38,11 +38,17 @@ pnpm run dev This will compile the code as you change automatically. -### Writing the PR +#### Tip: use ASTExplorer.net! -**Please fill out the template!** It’s a very lightweight template 🙂. +Working with the TypeScript AST can be daunting. Luckly, there’s [astexplorer.net](https://astexplorer.net) which makes it much more accessible. Rather than trying to build an AST from scratch (which is near impossible), instead: -### Use Test-driven Development! +1. Switch to the **typescript** parser in the top menu +2. Type out code in the left-hand panel +3. Inspect the right-hand panel to see what the desired AST is. + +From there, you can refer to existing examples in the codebase. There may even be helper utilities in `src/lib/ts.ts` to make life easier. + +#### Tip: Use Test-driven Development! Contributing to this library is hard-bordering-on-impossible without a [test-driven development (TDD)](https://en.wikipedia.org/wiki/Test-driven_development) strategy. If you’re new to this, the basic workflow is: @@ -60,7 +66,7 @@ To add a schema as a snapshot test, modify the [/scripts/download-schemas.ts](/s ### Generating types -It may be surprising to hear, but _generating TypeScript types from OpenAPI is opinionated!_ Even though TypeScript and OpenAPI are very close relatives, both being JavaScript/JSON-based, they are nonetheless 2 different languages and thus there is always some room for interpretation. Likewise, some parts of the OpenAPI specification can be ambiguous on how they’re used, and what the expected type outcomes may be (though this is generally for more advanced usecasees, such as specific implementations of `anyOf` as well as [discriminator](https://spec.openapis.org/oas/latest.html#discriminatorObject) and complex polymorphism). +It may be surprising to hear, but generating TypeScript types from OpenAPI is opinionated. Even though TypeScript and OpenAPI are close relatives—both JavaScript/JSON-based—they are nonetheless 2 different languages and thus there is room for interpretation. Further, some parts of the OpenAPI specification can be ambiguous on how they’re used, and what the expected type outcomes may be (though this is generally for more advanced usecasees, such as specific implementations of `anyOf` as well as [discriminator](https://spec.openapis.org/oas/latest.html#discriminatorObject) and complex polymorphism). All that said, this library should strive to generate _the most predictable_ TypeScript output for a given schema. And to achieve that, it always helps to open an [issue](https://github.com/drwpow/openapi-typescript/issues) or [discussion](https://github.com/drwpow/openapi-typescript/discussions) to gather feedback. @@ -131,7 +137,6 @@ pnpm run update:examples This library has both unit tests (tests that test a tiny part of a schema) and snapshot tests (tests that run over an entire, complete schema). When opening a PR, the former are more valuable than the latter, and are always required. However, updating snapshot tests can help with the following: -- Fixing bugs that deal with multiple schemas with remote `$ref`s - Fixing Node.js or OS-related bugs - Adding a CLI option that changes the entire output @@ -141,8 +146,4 @@ For most PRs, **snapshot tests can be avoided.** But for scenarios similar to th ### When I run tests, it’s not picking up my changes -Be sure to run `pnpm run build` to build the project. Most tests actually test the **compiled JS**, not the source TypeScript. It’s recommended to run `pnpm run dev` as you work so changes are always up-to-date. - -### I get an obscure error when testing against my schema - -Be sure your schema passes [Redocly lint](https://redocly.com/docs/cli/commands/lint/). Remember this library requires already-validated OpenAPI schemas, so even subtle errors will throw. +Some tests import the **built package** and not the source file. Be sure to run `pnpm run build` to build the project. You can also run `pnpm run dev` as you work so changes are always up-to-date. diff --git a/packages/openapi-typescript/bin/cli.js b/packages/openapi-typescript/bin/cli.js index 0e568e46e..f841e02d3 100755 --- a/packages/openapi-typescript/bin/cli.js +++ b/packages/openapi-typescript/bin/cli.js @@ -1,11 +1,12 @@ #!/usr/bin/env node +import { loadConfig } from "@redocly/openapi-core"; +import glob from "fast-glob"; import fs from "node:fs"; import path from "node:path"; import { URL } from "node:url"; -import glob from "fast-glob"; import parser from "yargs-parser"; -import openapiTS from "../dist/index.js"; +import openapiTS, { astToString, COMMENT_HEADER } from "../dist/index.js"; import { c, error } from "../dist/utils.js"; const HELP = `Usage @@ -14,20 +15,18 @@ const HELP = `Usage Options --help Display this --version Display the version + --redoc [path] Specify path to Redocly config (default: redocly.yaml) --output, -o Specify output file (default: stdout) - --auth (optional) Provide an authentication token for private URL - --headersObject, -h (optional) Provide a JSON object as string of HTTP headers for remote schema request - --header, -x (optional) Provide an array of or singular headers as an alternative to a JSON object. Each header must follow the key: value pattern - --httpMethod, -m (optional) Provide the HTTP Verb/Method for fetching a schema from a remote URL - --export-type, -t (optional) Export "type" instead of "interface" - --immutable-types (optional) Generates immutable types (readonly properties and readonly array) - --additional-properties (optional) Allow arbitrary properties for all schema objects without "additionalProperties: false" - --empty-objects-unknown (optional) Allow arbitrary properties for schema objects with no specified properties, and no specified "additionalProperties" - --default-non-nullable (optional) If a schema object has a default value set, don’t mark it as nullable - --support-array-length (optional) Generate tuples using array minItems / maxItems - --path-params-as-types (optional) Substitute path parameter names with their respective types - --alphabetize (optional) Sort types alphabetically - --exclude-deprecated (optional) Exclude deprecated fields from types + --enum (optional) Export true TS enums instead of unions + --export-type, -t (optional) Export top-level \`type\` instead of \`interface\` + --immutable-types (optional) Generate readonly types + --additional-properties (optional) Treat schema objects as if \`additionalProperties: true\` is set + --empty-objects-unknown (optional) Generate \`unknown\` instead of \`Record\` for empty objects + --default-non-nullable (optional) Set to \`false\` to ignore default values when generating non-nullable types + --array-length (optional) Generate tuples using array minItems / maxItems + --path-params-as-types (optional) Convert paths to template literal types + --alphabetize (optional) Sort object keys alphabetically + --exclude-deprecated (optional) Exclude deprecated types `; const OUTPUT_FILE = "FILE"; @@ -39,80 +38,75 @@ const HTTP_RE = /^https?:\/\//; const timeStart = process.hrtime(); const [, , ...args] = process.argv; -if (args.includes("-ap")) errorAndExit(`The -ap alias has been deprecated. Use "--additional-properties" instead.`); -if (args.includes("-it")) errorAndExit(`The -it alias has been deprecated. Use "--immutable-types" instead.`); +if (args.includes("-ap")) { + error( + `The -ap alias has been deprecated. Use "--additional-properties" instead.`, + ); + process.exit(1); +} +if (args.includes("--support-array-length")) { + error( + `The --support-array-length flag has been renamed to "--array-length".`, + ); + process.exit(1); +} +if (args.includes("-it")) { + error(`The -it alias has been deprecated. Use "--immutable-types" instead.`); + process.exit(1); +} const flags = parser(args, { - array: ["header"], boolean: [ - "help", - "version", + "additionalProperties", + "alphabetize", + "arrayLength", + "contentNever", "defaultNonNullable", "emptyObjectsUnknown", - "immutableTypes", - "contentNever", + "enum", + "excludeDeprecated", "exportType", - "supportArrayLength", + "help", + "immutableTypes", "pathParamsAsTypes", - "alphabetize", - "excludeDeprecated", ], - string: ["auth", "header", "headersObject", "httpMethod"], + string: ["output", "redoc"], alias: { - header: ["x"], exportType: ["t"], - headersObject: ["h"], - httpMethod: ["m"], output: ["o"], }, - default: { - httpMethod: "GET", - }, }); async function generateSchema(pathToSpec) { const output = flags.output ? OUTPUT_FILE : OUTPUT_STDOUT; // FILE or STDOUT - // Parse incoming headers from CLI flags - let httpHeaders = {}; - - // prefer --headersObject if specified - if (flags.headersObject) { - httpHeaders = JSON.parse(flags.headersObject); // note: this will generate a recognizable error for the user to act on - } - // otherwise, parse --header - else if (Array.isArray(flags.header)) { - flags.header.forEach((header) => { - const firstColon = header.indexOf(":"); - const k = header.substring(0, firstColon).trim(); - const v = header.substring(firstColon + 1).trim(); - httpHeaders[k] = v; - }); - } + const redoclyConfig = await loadConfig(flags.redoc); // generate schema - const result = await openapiTS(pathToSpec, { - additionalProperties: flags.additionalProperties, - emptyObjectsUnknown: flags.emptyObjectsUnknown, - auth: flags.auth, - defaultNonNullable: flags.defaultNonNullable, - immutableTypes: flags.immutableTypes, - contentNever: flags.contentNever, - silent: output === OUTPUT_STDOUT, - version: flags.version, - httpHeaders, - httpMethod: flags.httpMethod, - exportType: flags.exportType, - supportArrayLength: flags.supportArrayLength, - pathParamsAsTypes: flags.pathParamsAsTypes, - alphabetize: flags.alphabetize, - excludeDeprecated: flags.excludeDeprecated, - }); + const result = `${COMMENT_HEADER}${astToString( + await openapiTS(pathToSpec, { + additionalProperties: flags.additionalProperties, + alphabetize: flags.alphabetize, + contentNever: flags.contentNever, + defaultNonNullable: flags.defaultNonNullable, + emptyObjectsUnknown: flags.emptyObjectsUnknown, + enum: flags.enum, + excludeDeprecated: flags.excludeDeprecated, + exportType: flags.exportType, + immutableTypes: flags.immutableTypes, + pathParamsAsTypes: flags.pathParamsAsTypes, + redocly: redoclyConfig, + silent: output === OUTPUT_STDOUT, + supportArrayLength: flags.supportArrayLength, + }), + )}`; // output if (output === OUTPUT_FILE) { let outputFilePath = new URL(flags.output, CWD); // note: may be directory - const isDir = fs.existsSync(outputFilePath) && fs.lstatSync(outputFilePath).isDirectory(); + const isDir = + fs.existsSync(outputFilePath) && + fs.lstatSync(outputFilePath).isDirectory(); if (isDir) { if (typeof flags.output === "string" && !flags.output.endsWith("/")) { outputFilePath = new URL(`${flags.output}/`, CWD); @@ -121,7 +115,10 @@ async function generateSchema(pathToSpec) { const originalOutputFilePath = outputFilePath; outputFilePath = new URL(filename, originalOutputFilePath); if (outputFilePath.protocol !== "file:") { - outputFilePath = new URL(outputFilePath.host.replace(EXT_RE, ".ts"), originalOutputFilePath); + outputFilePath = new URL( + outputFilePath.host.replace(EXT_RE, ".ts"), + originalOutputFilePath, + ); } } @@ -129,7 +126,11 @@ async function generateSchema(pathToSpec) { const timeEnd = process.hrtime(timeStart); const time = timeEnd[0] + Math.round(timeEnd[1] / 1e6); - console.log(`🚀 ${c.green(`${pathToSpec} → ${c.bold(outputFilePath)}`)} ${c.dim(`[${time}ms]`)}`); + console.log( + `🚀 ${c.green(`${pathToSpec} → ${c.bold(outputFilePath)}`)} ${c.dim( + `[${time}ms]`, + )}`, + ); } else { process.stdout.write(result); // if stdout, (still) don’t log anything to console! @@ -143,7 +144,9 @@ async function main() { console.info(HELP); process.exit(0); } - const packageJSON = JSON.parse(fs.readFileSync(new URL("../package.json", import.meta.url), "utf8")); + const packageJSON = JSON.parse( + fs.readFileSync(new URL("../package.json", import.meta.url), "utf8"), + ); if ("version" in flags) { console.info(`v${packageJSON.version}`); process.exit(0); @@ -153,20 +156,26 @@ async function main() { let outputFile = new URL(flags.output, CWD); let outputDir = new URL(".", outputFile); - if (output === OUTPUT_FILE) console.info(`✨ ${c.bold(`openapi-typescript ${packageJSON.version}`)}`); // only log if we’re NOT writing to stdout + if (output === OUTPUT_FILE) { + console.info(`✨ ${c.bold(`openapi-typescript ${packageJSON.version}`)}`); // only log if we’re NOT writing to stdout + } const pathToSpec = flags._[0]; // handle stdin schema, exit if (!pathToSpec) { - if (output !== "." && output === OUTPUT_FILE) fs.mkdirSync(outputDir, { recursive: true }); + if (output !== "." && output === OUTPUT_FILE) { + fs.mkdirSync(outputDir, { recursive: true }); + } await generateSchema(process.stdin); return; } // handle remote schema, exit if (HTTP_RE.test(pathToSpec)) { - if (output !== "." && output === OUTPUT_FILE) fs.mkdirSync(outputDir, { recursive: true }); + if (output !== "." && output === OUTPUT_FILE) { + fs.mkdirSync(outputDir, { recursive: true }); + } await generateSchema(pathToSpec); return; } @@ -179,13 +188,17 @@ async function main() { // error: no matches for glob if (inputSpecPaths.length === 0) { - error(`Could not find any specs matching "${pathToSpec}". Please check that the path is correct.`); + error( + `Could not find any specs matching "${pathToSpec}". Please check that the path is correct.`, + ); process.exit(1); } // error: tried to glob output to single file if (isGlob && output === OUTPUT_FILE && (isFile || !isDirUrl)) { - error(`Expected directory for --output if using glob patterns. Received "${flags.output}".`); + error( + `Expected directory for --output if using glob patterns. Received "${flags.output}".`, + ); process.exit(1); } @@ -194,7 +207,9 @@ async function main() { inputSpecPaths.map(async (specPath) => { if (flags.output !== "." && output === OUTPUT_FILE) { if (isGlob || isDirUrl) { - fs.mkdirSync(new URL(path.dirname(specPath), outputDir), { recursive: true }); // recursively make parent dirs + fs.mkdirSync(new URL(path.dirname(specPath), outputDir), { + recursive: true, + }); // recursively make parent dirs } else { fs.mkdirSync(outputDir, { recursive: true }); // recursively make parent dirs } diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index ef2263e9c..6a35c6965 100644 --- a/packages/openapi-typescript/package.json +++ b/packages/openapi-typescript/package.json @@ -43,7 +43,7 @@ "build": "run-s -s build:*", "build:clean": "del dist", "build:esm": "tsc -p tsconfig.build.json", - "build:cjs": "esbuild --bundle --platform=node --target=es2019 --outfile=dist/index.cjs --external:js-yaml --external:undici src/index.ts --footer:js=\"module.exports = module.exports.default;\"", + "build:cjs": "esbuild --bundle --platform=node --target=es2019 --outfile=dist/index.cjs --external:@redocly/ajv --external:@redocly/openapi-core --external:typescript src/index.ts --footer:js=\"module.exports = module.exports.default;\"", "dev": "tsc -p tsconfig.build.json --watch", "download:schemas": "vite-node ./scripts/download-schemas.ts", "format": "prettier --write \"src/**/*\"", @@ -59,11 +59,11 @@ "version": "pnpm run build" }, "dependencies": { + "@redocly/openapi-core": "^1.2.0", "ansi-colors": "^4.1.3", "fast-glob": "^3.3.1", - "js-yaml": "^4.1.0", "supports-color": "^9.4.0", - "undici": "^5.25.2", + "typescript": "^5.2.2", "yargs-parser": "^21.1.1" }, "devDependencies": { diff --git a/packages/openapi-typescript/scripts/download-schemas.ts b/packages/openapi-typescript/scripts/download-schemas.ts index bc1b1719e..93b94a781 100644 --- a/packages/openapi-typescript/scripts/download-schemas.ts +++ b/packages/openapi-typescript/scripts/download-schemas.ts @@ -2,8 +2,7 @@ import fs from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; import degit from "degit"; -import { fetch } from "undici"; -import { error } from "../src/utils.js"; +import { error } from "../src/lib/utils.js"; import { multiFile, singleFile } from "./schemas.js"; const ONE_DAY = 1000 * 60 * 60 * 24; @@ -30,7 +29,11 @@ export async function download() { fs.mkdirSync(new URL(".", dest), { recursive: true }); fs.writeFileSync(dest, await result.text()); done++; - console.log(`✔︎ [${done}/${allSchemas.length}] Downloaded ${k} (${Math.round(performance.now() - start)}ms)`); // eslint-disable-line no-console + console.log( + `✔︎ [${done}/${allSchemas.length}] Downloaded ${k} (${Math.round( + performance.now() - start, + )}ms)`, + ); // eslint-disable-line no-console }), ...Object.entries(multiFile).map(async ([k, meta]) => { const start = performance.now(); @@ -44,7 +47,11 @@ export async function download() { }); await emitter.clone(fileURLToPath(new URL(k, EXAMPLES_DIR))); done++; - console.log(`✔︎ [${done}/${allSchemas.length}] Downloaded ${k} (${Math.round(performance.now() - start)}ms)`); // eslint-disable-line no-console + console.log( + `✔︎ [${done}/${allSchemas.length}] Downloaded ${k} (${Math.round( + performance.now() - start, + )}ms)`, + ); // eslint-disable-line no-console }), ]); console.log("Downloading schemas done."); // eslint-disable-line no-console diff --git a/packages/openapi-typescript/src/index.ts b/packages/openapi-typescript/src/index.ts index 4ce63225f..1c2b6ac1c 100644 --- a/packages/openapi-typescript/src/index.ts +++ b/packages/openapi-typescript/src/index.ts @@ -1,21 +1,26 @@ -import type { GlobalContext, OpenAPI3, OpenAPITSOptions, SchemaObject, Subschema } from "./types.js"; import type { Readable } from "node:stream"; import { URL } from "node:url"; -import load, { resolveSchema, VIRTUAL_JSON_URL } from "./load.js"; -import { transformSchema } from "./transform/index.js"; -import transformMediaTypeObject from "./transform/media-type-object.js"; -import transformOperationObject from "./transform/operation-object.js"; -import transformParameterObject from "./transform/parameter-object.js"; -import transformParameterObjectArray from "./transform/parameter-object-array.js"; -import transformRequestBodyObject from "./transform/request-body-object.js"; -import transformResponseObject from "./transform/response-object.js"; -import transformSchemaObject from "./transform/schema-object.js"; -import transformSchemaObjectMap from "./transform/schema-object-map.js"; -import { error, escObjKey, getDefaultFetch, getEntries, getSchemaObjectComment, indent } from "./utils.js"; - -export * from "./types.js"; // expose all types to consumers - -const EMPTY_OBJECT_RE = /^\s*\{?\s*\}?\s*$/; +import ts from "typescript"; +import { validateAndBundle } from "./lib/redoc.js"; +import { resolveRef, scanDiscriminators } from "./lib/utils.js"; +import transformSchema from "./transform/index.js"; +import type { GlobalContext, OpenAPI3, OpenAPITSOptions } from "./types.js"; + +export * from "./lib/ts.js"; +export * from "./lib/utils.js"; +export * from "./transform/index.js"; +export * from "./transform/components-object.js"; +export * from "./transform/header-object.js"; +export * from "./transform/media-type-object.js"; +export * from "./transform/operation-object.js"; +export * from "./transform/parameter-object.js"; +export * from "./transform/path-item-object.js"; +export * from "./transform/paths-object.js"; +export * from "./transform/request-body-object.js"; +export * from "./transform/response-object.js"; +export * from "./transform/responses-object.js"; +export * from "./transform/schema-object.js"; +export * from "./types.js"; export const COMMENT_HEADER = `/** * This file was auto-generated by openapi-typescript. @@ -24,230 +29,40 @@ export const COMMENT_HEADER = `/** `; -/** - * This function is the entry to the program and allows the user to pass in a remote schema and/or local schema. - * The URL or schema and headers can be passed in either programmatically and/or via the CLI. - * Remote schemas are fetched from a server that supplies JSON or YAML format via an HTTP GET request. File based schemas - * are loaded in via file path, most commonly prefixed with the file:// format. Alternatively, the user can pass in - * OpenAPI2 or OpenAPI3 schema objects that can be parsed directly by the function without reading the file system. - * - * Function overloading is utilized for generating stronger types for our different schema types and option types. - * - * @param {string} schema Root Swagger Schema HTTP URL, File URL, and/or JSON or YAML schema - * @param {SwaggerToTSOptions} [options] Options to specify to the parsing system - * @return {Promise} {Promise} Parsed file schema - */ -async function openapiTS(schema: string | URL | OpenAPI3 | Readable, options: OpenAPITSOptions = {} as Partial): Promise { +export default async function openapiTS( + source: string | URL | OpenAPI3 | Readable, + options: OpenAPITSOptions = {} as Partial, +): Promise { + const schema = await validateAndBundle(source, { + redocly: options.redocly, + cwd: options.cwd ?? process.cwd(), + }); + const ctx: GlobalContext = { additionalProperties: options.additionalProperties ?? false, alphabetize: options.alphabetize ?? false, - cwd: options.cwd ?? new URL(`file://${process.cwd()}/`), - defaultNonNullable: options.defaultNonNullable ?? false, - discriminators: {}, - transform: typeof options.transform === "function" ? options.transform : undefined, - postTransform: typeof options.postTransform === "function" ? options.postTransform : undefined, - immutableTypes: options.immutableTypes ?? false, + defaultNonNullable: options.defaultNonNullable ?? true, + discriminators: scanDiscriminators(schema), emptyObjectsUnknown: options.emptyObjectsUnknown ?? false, - indentLv: 0, - operations: {}, + enum: options.enum ?? false, + excludeDeprecated: options.excludeDeprecated ?? false, + exportType: options.exportType ?? false, + immutableTypes: options.immutableTypes ?? false, + injectFooter: [], pathParamsAsTypes: options.pathParamsAsTypes ?? false, - parameters: {}, + postTransform: + typeof options.postTransform === "function" + ? options.postTransform + : undefined, + redocly: options.redocly ?? {}, silent: options.silent ?? false, supportArrayLength: options.supportArrayLength ?? false, - excludeDeprecated: options.excludeDeprecated ?? false, + transform: + typeof options.transform === "function" ? options.transform : undefined, + resolve(ref) { + return resolveRef(schema, ref, { silent: options.silent ?? false }); + }, }; - // 1. load schema (and subschemas) - const allSchemas: { [id: string]: Subschema } = {}; - const schemaURL: URL = typeof schema === "string" ? resolveSchema(schema) : (schema as URL); - let rootURL: URL = schemaURL; - - // 1a. if passed as in-memory JSON, handle `cwd` option - const isInlineSchema = typeof schema !== "string" && schema instanceof URL === false; // eslint-disable-line @typescript-eslint/no-unnecessary-boolean-literal-compare - if (isInlineSchema) { - if (ctx.cwd) { - if (ctx.cwd instanceof URL) { - rootURL = ctx.cwd; - } else if (typeof ctx.cwd === "string") { - rootURL = new URL(ctx.cwd, `file://${process.cwd()}/`); - } - rootURL = new URL("root.yaml", rootURL); // give the root schema an arbitrary filename ("root.yaml") - } else { - rootURL = new URL(VIRTUAL_JSON_URL); // otherwise, set virtual filename (which prevents resolutions) - } - } - - await load(schemaURL, { - ...ctx, - auth: options.auth, - schemas: allSchemas, - rootURL, - urlCache: new Set(), - httpHeaders: options.httpHeaders, - httpMethod: options.httpMethod, - fetch: options.fetch ?? getDefaultFetch(), - }); - - // 1. basic validation - for (const k of Object.keys(allSchemas)) { - const subschema = allSchemas[k]; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - if (typeof (subschema.schema as any).swagger === "string") { - error("Swagger 2.0 and older no longer supported. Please use v5."); - process.exit(1); - } - if (subschema.hint === "OpenAPI3" && typeof subschema.schema.openapi === "string") { - if (parseInt(subschema.schema.openapi) !== 3) { - error(`Unsupported OpenAPI version "${subschema.schema.openapi}". Only 3.x is supported.`); - process.exit(1); - } - } - } - - // 2. generate raw output - const output: string[] = []; - - // 2a. Start file, inject custom code (if any) - if ("commentHeader" in options) { - if (options.commentHeader) output.push(options.commentHeader); - } else { - output.push(COMMENT_HEADER); - } - - // 2b. options.inject - if (options.inject) output.push(options.inject); - - // 2c. root schema - const rootTypes = transformSchema(allSchemas["."].schema as OpenAPI3, ctx); - for (const k of Object.keys(rootTypes)) { - if (rootTypes[k] && !EMPTY_OBJECT_RE.test(rootTypes[k])) { - output.push(options.exportType ? `export type ${k} = ${rootTypes[k]};` : `export interface ${k} ${rootTypes[k]}`, ""); - } else { - output.push(`export type ${k} = Record;`, ""); - } - delete rootTypes[k]; - delete allSchemas["."]; // garbage collect, but also remove from next step (external) - } - - // 2d. external schemas (subschemas) - const externalKeys = Object.keys(allSchemas); // root schema (".") should already be removed - if (externalKeys.length) { - let indentLv = 0; - output.push(options.exportType ? "export type external = {" : "export interface external {"); - externalKeys.sort((a, b) => a.localeCompare(b, "en", { numeric: true })); // sort external keys because they may have resolved in a different order each time - indentLv++; - for (const subschemaID of externalKeys) { - const subschema = allSchemas[subschemaID]; - const key = escObjKey(subschemaID); - const path = `${subschemaID}#`; - let subschemaOutput = ""; - let comment: string | undefined; - switch (subschema.hint) { - case "OpenAPI3": { - const subschemaTypes = transformSchema(subschema.schema, { ...ctx, indentLv: indentLv + 1 }); - if (!Object.keys(subschemaTypes).length) break; - output.push(indent(`${key}: {`, indentLv)); - indentLv++; - for (const [k, v] of getEntries(subschemaTypes, options.alphabetize, options.excludeDeprecated)) { - if (EMPTY_OBJECT_RE.test(v)) output.push(indent(`${escObjKey(k)}: Record;`, indentLv)); - else output.push(indent(`${escObjKey(k)}: ${v};`, indentLv)); - } - indentLv--; - output.push(indent("};", indentLv)); - break; - } - case "MediaTypeObject": { - subschemaOutput = transformMediaTypeObject(subschema.schema, { path, ctx: { ...ctx, indentLv } }); - break; - } - case "OperationObject": { - comment = getSchemaObjectComment(subschema.schema, indentLv); - subschemaOutput = transformOperationObject(subschema.schema, { path, ctx: { ...ctx, indentLv } }); - break; - } - case "ParameterObject": { - subschemaOutput = transformParameterObject(subschema.schema, { path, ctx: { ...ctx, indentLv } }); - break; - } - case "ParameterObject[]": { - // hack: sometimes subschemas contain only a single SchemaObject or ParameterObject and get incorrectly hinted - // currently unknown what the real fix is, but this is a bandaid - if (typeof subschema.schema === "object" && ("schema" in subschema.schema || "type" in subschema.schema)) { - subschemaOutput = transformSchemaObject(subschema.schema as SchemaObject, { path, ctx: { ...ctx, indentLv } }); - } else { - subschemaOutput += "{\n"; - indentLv++; - subschemaOutput += transformParameterObjectArray(subschema.schema, { path, ctx: { ...ctx, indentLv } }); - subschemaOutput += "\n"; - indentLv--; - subschemaOutput += indent("};", indentLv); - } - break; - } - case "RequestBodyObject": { - subschemaOutput = `${transformRequestBodyObject(subschema.schema, { path, ctx: { ...ctx, indentLv } })};`; - break; - } - case "ResponseObject": { - subschemaOutput = `${transformResponseObject(subschema.schema, { path, ctx: { ...ctx, indentLv } })};`; - break; - } - case "SchemaMap": { - subschemaOutput = `${transformSchemaObjectMap(subschema.schema, { path, ctx: { ...ctx, indentLv } })};`; - break; - } - case "SchemaObject": { - subschemaOutput = `${transformSchemaObject(subschema.schema, { path, ctx: { ...ctx, indentLv } })};`; - break; - } - default: { - error(`Could not resolve subschema ${subschemaID}. Unknown type "${subschema.hint}".`); - process.exit(1); - } - } - if (subschemaOutput && !EMPTY_OBJECT_RE.test(subschemaOutput)) { - if (comment) output.push(indent(comment, indentLv)); - output.push(indent(`${key}: ${subschemaOutput}`, indentLv)); - } - delete allSchemas[subschemaID]; - } - indentLv--; - output.push(indent(`}${options.exportType ? ";" : ""}`, indentLv), ""); - } else { - output.push(`export type external = Record;`, ""); - } - - // 3. operations (only get fully built after all external schemas transformed) - if (Object.keys(ctx.operations).length) { - output.push(options.exportType ? "export type operations = {" : "export interface operations {", ""); - for (const [key, { operationType, comment }] of Object.entries(ctx.operations)) { - if (comment) output.push(indent(comment, 1)); - output.push(indent(`${escObjKey(key)}: ${operationType};`, 1)); - } - output.push(`}${options.exportType ? ";" : ""}`, ""); - } else { - output.push(`export type operations = Record;`, ""); - } - - // 4a. OneOf type helper (@see https://github.com/Microsoft/TypeScript/issues/14094#issuecomment-723571692) - if (output.join("\n").includes("OneOf")) { - output.splice( - 1, - 0, - "/** OneOf type helpers */", - "type Without = { [P in Exclude]?: never };", - "type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U;", - "type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never;", - "", - ); - } - - // 4b. WithRequired type helper (@see https://github.com/drwpow/openapi-typescript/issues/657#issuecomment-1399274607) - if (output.join("\n").includes("WithRequired")) { - output.splice(1, 0, "/** WithRequired type helpers */", "type WithRequired = T & { [P in K]-?: T[P] };", ""); - } - - return output.join("\n"); + return transformSchema(schema, ctx); } - -export default openapiTS; diff --git a/packages/openapi-typescript/src/lib/redoc.ts b/packages/openapi-typescript/src/lib/redoc.ts new file mode 100644 index 000000000..bf8f99107 --- /dev/null +++ b/packages/openapi-typescript/src/lib/redoc.ts @@ -0,0 +1,107 @@ +import { + BaseResolver, + bundle, + createConfig, + makeDocumentFromString, + type RawConfig as RedoclyConfig, + Source, + type Document, + lintDocument, +} from "@redocly/openapi-core"; +import { Readable } from "node:stream"; +import { fileURLToPath } from "node:url"; +import { OpenAPI3 } from "../types.js"; +import { error } from "./utils.js"; + +export interface ValidateAndBundleOptions { + redocly?: RedoclyConfig; + cwd: string; +} + +export async function parseSchema( + schema: unknown, + cwd: string, + resolver: BaseResolver, +): Promise { + if (!schema) { + throw new Error(`Can’t parse empty schema`); + } + if (typeof schema === "string") { + return makeDocumentFromString(schema, cwd); + } + if (schema instanceof URL) { + return resolver.parseDocument( + await resolver.loadExternalRef( + schema.protocol === "file:" ? fileURLToPath(schema) : schema.href, + ), + true, + ); + } + if (schema instanceof Buffer) { + return makeDocumentFromString(schema.toString("utf8"), cwd); + } + if (typeof schema === "object" && !Array.isArray(schema)) { + return { + source: new Source(cwd, JSON.stringify(schema), "application/json"), + parsed: schema, + }; + } + throw new Error( + `Expected string, object, or Buffer. Got ${ + Array.isArray(schema) ? "Array" : typeof schema + }`, + ); +} + +export async function validateAndBundle( + source: string | URL | OpenAPI3 | Readable, + options?: ValidateAndBundleOptions, +) { + const redocConfig = await createConfig(options?.redocly ?? {}); + const resolver = new BaseResolver(redocConfig.resolve); + const document = await parseSchema( + source, + options?.cwd ?? process.cwd(), + resolver, + ); + + // 1. lint + const problems = await lintDocument({ + document, + config: redocConfig.styleguide, + externalRefResolver: resolver, + }); + if (problems.length) { + let hasError = false; + for (const problem of problems) { + if (problem.severity === "error") { + error(problem.message); + hasError = true; + } + } + if (hasError) { + process.exit(1); + } + } + + // 2. bundle + const bundled = await bundle({ + config: redocConfig, + dereference: true, + doc: document, + }); + if (bundled.problems.length) { + let hasError = false; + for (const problem of bundled.problems) { + if (problem.severity === "error") { + error(problem.message); + hasError = true; + } + } + if (hasError) { + process.exit(1); + } + } + + return bundled.bundle.parsed; +} diff --git a/packages/openapi-typescript/src/lib/ts.ts b/packages/openapi-typescript/src/lib/ts.ts new file mode 100644 index 000000000..5b11a82a9 --- /dev/null +++ b/packages/openapi-typescript/src/lib/ts.ts @@ -0,0 +1,407 @@ +import { parseRef } from "@redocly/openapi-core/lib/ref-utils.js"; +import ts, { LiteralTypeNode, TypeLiteralNode } from "typescript"; + +export const JS_PROPERTY_INDEX_RE = /^[A-Za-z_$][A-Za-z_$0-9]*$/; +export const JS_ENUM_INVALID_CHARS_RE = /[^A-Za-z_$0-9]+(.)?/g; +export const JS_PROPERTY_INDEX_INVALID_CHARS_RE = /[^A-Za-z_$0-9]+/g; + +export const BOOLEAN = ts.factory.createKeywordTypeNode( + ts.SyntaxKind.BooleanKeyword, +); +export const FALSE = ts.factory.createLiteralTypeNode(ts.factory.createFalse()); +export const NEVER = ts.factory.createKeywordTypeNode( + ts.SyntaxKind.NeverKeyword, +); +export const NULL = ts.factory.createLiteralTypeNode(ts.factory.createNull()); +export const NUMBER = ts.factory.createKeywordTypeNode( + ts.SyntaxKind.NumberKeyword, +); +export const QUESTION_TOKEN = ts.factory.createToken( + ts.SyntaxKind.QuestionToken, +); +export const STRING = ts.factory.createKeywordTypeNode( + ts.SyntaxKind.StringKeyword, +); +export const TRUE = ts.factory.createLiteralTypeNode(ts.factory.createTrue()); +export const UNKNOWN = ts.factory.createKeywordTypeNode( + ts.SyntaxKind.UnknownKeyword, +); + +export interface AnnotatedSchemaObject { + const?: unknown; // jsdoc without value + default?: unknown; // jsdoc with value + deprecated?: boolean; // jsdoc without value + description?: string; // jsdoc with value + enum?: unknown[]; // jsdoc without value + example?: string; // jsdoc with value + format?: string; // not jsdoc + nullable?: boolean; // Node information + summary?: string; // not jsdoc + title?: string; // not jsdoc + type?: string | string[]; // Type of node +} + +/** + * Preparing comments from fields + * @see {comment} for output examples + * @returns void if not comments or jsdoc format comment string + */ +export function addJSDocComment( + schemaObject: AnnotatedSchemaObject, + node: ts.PropertySignature, +): void { + if ( + !schemaObject || + typeof schemaObject !== "object" || + Array.isArray(schemaObject) + ) { + return; + } + const output: string[] = []; + + // Not JSDoc tags: [title, format] + if (schemaObject.title) { + output.push(schemaObject.title); + } + if (schemaObject.summary) { + output.push(schemaObject.summary); + } + if (schemaObject.format) { + output.push(`Format: ${schemaObject.format}`); + } + + // JSDoc tags without value + // 'Deprecated' without value + if (schemaObject.deprecated) { + output.push("@deprecated"); + } + + // JSDoc tags with value + const supportedJsDocTags = ["description", "default", "example"] as const; + for (const field of supportedJsDocTags) { + const allowEmptyString = field === "default" || field === "example"; + if (schemaObject[field] === undefined) { + continue; + } + if (schemaObject[field] === "" && !allowEmptyString) { + continue; + } + const serialized = + typeof schemaObject[field] === "object" + ? JSON.stringify(schemaObject[field], null, 2) + : schemaObject[field]; + output.push(`@${field} ${serialized}`); + } + + // JSDoc 'Constant' without value + if ("const" in schemaObject) { + output.push("@constant"); + } + + // JSDoc 'Enum' with type + if (schemaObject.enum) { + let type = "unknown"; + if (Array.isArray(schemaObject.type)) { + type = schemaObject.type.join("|"); + } else if (typeof schemaObject.type === "string") { + type = schemaObject.type; + } + output.push(`@enum {${type}${schemaObject.nullable ? `|null` : ""}}`); + } + + // attach comment if it has content + if (output.length) { + ts.addSyntheticLeadingComment( + /* node */ node, + /* kind */ ts.SyntaxKind.MultiLineCommentTrivia, + /* text */ `* ${output.join("\n")} `, + /* hasTrailingNewLine */ true, + ); + } +} + +/** Convert OpenAPI ref into TS indexed access node (ex: `components["schemas"]["Foo"]`) */ +export function oapiRef(path: string): ts.TypeNode { + const { pointer } = parseRef(path); + if (pointer.length === 0) { + throw new Error(`Error parsing $ref: ${path}. Is this a valid $ref?`); + } + let t: ts.TypeReferenceNode | ts.IndexedAccessTypeNode = + ts.factory.createTypeReferenceNode( + ts.factory.createIdentifier(String(pointer[0])), + ); + if (pointer.length > 1) { + for (let i = 1; i < pointer.length; i++) { + t = ts.factory.createIndexedAccessTypeNode( + t, + ts.factory.createLiteralTypeNode( + typeof pointer[i]! === "number" + ? ts.factory.createNumericLiteral(pointer[i]!) + : ts.factory.createStringLiteral(pointer[i]! as string), + ), + ); + } + } + return t; +} + +export interface AstToStringOptions { + fileName?: string; + sourceText?: string; + formatOptions?: ts.PrinterOptions; +} + +/** Convert TypeScript AST to string */ +export function astToString( + ast: ts.Node | ts.Node[] | ts.TypeElement | ts.TypeElement[], + options?: AstToStringOptions, +): string { + const sourceFile = ts.createSourceFile( + options?.fileName ?? "openapi-ts.ts", + options?.sourceText ?? "", + ts.ScriptTarget.ESNext, + false, + ts.ScriptKind.TS, + ); + + // @ts-expect-error it’s OK to overwrite statements once + sourceFile.statements = ts.factory.createNodeArray( + Array.isArray(ast) ? ast : [ast], + ); + + const printer = ts.createPrinter({ + newLine: ts.NewLineKind.LineFeed, + removeComments: false, + ...options?.formatOptions, + }); + return printer.printFile(sourceFile); +} + +/** + * Deduplicate simple primitive types from an array of nodes + * Note: won’t deduplicate complex types like objects + */ +export function tsDedupe(types: ts.TypeNode[]): ts.TypeNode[] { + const encounteredTypes = new Set(); + const filteredTypes: ts.TypeNode[] = []; + for (const t of types) { + // only mark for deduplication if this is not a const ("text" means it is a const) + if (!("text" in ((t as LiteralTypeNode).literal ?? t))) { + const { kind } = (t as LiteralTypeNode).literal ?? t; + if (encounteredTypes.has(kind)) { + continue; + } + if (tsIsPrimitive(t)) { + encounteredTypes.add(kind); + } + } + filteredTypes.push(t); + } + return filteredTypes; +} + +/** Create a TS enum (with sanitized name and members) */ +export function tsEnum( + name: string, + members: (string | number)[], + options?: { readonly?: boolean; export?: boolean }, +) { + let enumName = name.replace(JS_ENUM_INVALID_CHARS_RE, (c) => { + const last = c[c.length - 1]; + return JS_PROPERTY_INDEX_INVALID_CHARS_RE.test(last) + ? "" + : last.toUpperCase(); + }); + if (Number(name[0]) >= 0) { + enumName = `Value${name}`; + } + enumName = `${enumName[0].toUpperCase()}${enumName.substring(1)}`; + return ts.factory.createEnumDeclaration( + /* modifiers */ options + ? tsModifiers({ + readonly: options.readonly ?? false, + export: options.export ?? false, + }) + : undefined, + /* name */ enumName, + /* members */ members.map(tsEnumMember), + ); +} + +/** Sanitize TS enum member expression */ +export function tsEnumMember(value: string | number) { + if (typeof value === "number") { + return ts.factory.createEnumMember( + `Value${String(value)}`.replace(".", "_"), // don’t forget decimals + ts.factory.createNumericLiteral(value), + ); + } + let name = value; + if (!JS_PROPERTY_INDEX_RE.test(name)) { + if (Number(name[0]) >= 0) { + name = `Value${name}`; + } + name = name.replace(JS_PROPERTY_INDEX_INVALID_CHARS_RE, "_"); + } + return ts.factory.createEnumMember( + name, + ts.factory.createStringLiteral(value), + ); +} + +/** Create an intersection type */ +export function tsIntersection(types: ts.TypeNode[]): ts.TypeNode { + if (types.length === 0) { + return NEVER; + } + if (types.length === 1) { + return types[0]; + } + return ts.factory.createIntersectionTypeNode(tsDedupe(types)); +} + +/** Is this a primitive type (string, number, boolean, null, undefined)? */ +export function tsIsPrimitive(type: ts.TypeNode): boolean { + if (!type) { + return true; + } + return ( + ts.SyntaxKind[type.kind] === "BooleanKeyword" || + ts.SyntaxKind[type.kind] === "NeverKeyword" || + ts.SyntaxKind[type.kind] === "NullKeyword" || + ts.SyntaxKind[type.kind] === "NumberKeyword" || + ts.SyntaxKind[type.kind] === "StringKeyword" || + ts.SyntaxKind[type.kind] === "UndefinedKeyword" || + ("literal" in type && tsIsPrimitive(type.literal as TypeLiteralNode)) + ); +} + +/** Create a literal type */ +export function tsLiteral(value: unknown): ts.TypeNode { + if (typeof value === "string") { + return ts.factory.createLiteralTypeNode( + ts.factory.createStringLiteral(value), + ); + } + if (typeof value === "number") { + return ts.factory.createLiteralTypeNode( + ts.factory.createNumericLiteral(value), + ); + } + if (typeof value === "boolean") { + return value === true ? TRUE : FALSE; + } + if (value === null) { + return NULL; + } + if (Array.isArray(value)) { + if (value.length === 0) { + return ts.factory.createArrayTypeNode(NEVER); + } + return ts.factory.createTupleTypeNode( + value.map((v: unknown) => tsLiteral(v)), + ); + } + if (typeof value === "object") { + const keys: ts.TypeElement[] = []; + for (const [k, v] of Object.entries(value)) { + keys.push( + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex(k), + /* questionToken */ undefined, + /* type */ tsLiteral(v), + ), + ); + } + return keys.length + ? ts.factory.createTypeLiteralNode(keys) + : tsRecord(STRING, NEVER); + } + return UNKNOWN; +} + +/** Modifiers (readonly) */ +export function tsModifiers(modifiers: { + readonly: boolean; + export?: boolean; +}): ts.Modifier[] { + const typeMods: ts.Modifier[] = []; + if (modifiers.export) { + typeMods.push(ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)); + } + if (modifiers.readonly) { + typeMods.push(ts.factory.createModifier(ts.SyntaxKind.ReadonlyKeyword)); + } + return typeMods; +} + +/** Create a T | null union */ +export function tsNullable(types: ts.TypeNode[]): ts.TypeNode { + return ts.factory.createUnionTypeNode([...types, NULL]); +} + +/** Create a TS Omit type */ +export function tsOmit(type: ts.TypeNode, keys: string[]): ts.TypeNode { + return ts.factory.createTypeReferenceNode( + ts.factory.createIdentifier("Omit"), + [type, ts.factory.createUnionTypeNode(keys.map((k) => tsLiteral(k)))], + ); +} + +/** Create a TS OneOf type */ +export function tsOneOf(types: ts.TypeNode[]): ts.TypeNode { + if (types.length === 0) { + return NEVER; + } + if (types.length === 1) { + return types[0]; + } + return ts.factory.createTypeReferenceNode( + ts.factory.createIdentifier("OneOf"), + [tsUnion(types)], + ); +} + +/** Create a TS Record type */ +export function tsRecord(key: ts.TypeNode, value: ts.TypeNode) { + return ts.factory.createTypeReferenceNode( + ts.factory.createIdentifier("Record"), + [key, value], + ); +} + +/** Create a valid property index */ +export function tsPropertyIndex(index: string | number) { + if ( + typeof index === "number" || + (typeof index === "string" && String(Number(index)) === index) + ) { + return ts.factory.createNumericLiteral(index); + } + return typeof index === "string" && JS_PROPERTY_INDEX_RE.test(index) + ? ts.factory.createIdentifier(index) + : ts.factory.createStringLiteral(String(index)); +} + +/** Create a union type */ +export function tsUnion(types: ts.TypeNode[]): ts.TypeNode { + if (types.length === 0) { + return NEVER; + } + if (types.length === 1) { + return types[0]; + } + return ts.factory.createUnionTypeNode(tsDedupe(types)); +} + +/** Create a WithRequired type */ +export function tsWithRequired(type: ts.TypeNode, keys: string[]): ts.TypeNode { + if (keys.length === 0) { + return type; + } + return ts.factory.createTypeReferenceNode( + ts.factory.createIdentifier("WithRequired"), + [type, tsUnion(keys.map((k) => tsLiteral(k)))], + ); +} diff --git a/packages/openapi-typescript/src/lib/utils.ts b/packages/openapi-typescript/src/lib/utils.ts new file mode 100644 index 000000000..2ec390ac2 --- /dev/null +++ b/packages/openapi-typescript/src/lib/utils.ts @@ -0,0 +1,173 @@ +import { + escapePointer, + parseRef, +} from "@redocly/openapi-core/lib/ref-utils.js"; +import c from "ansi-colors"; +import supportsColor from "supports-color"; +import ts from "typescript"; +import { DiscriminatorObject, OpenAPI3 } from "../types.js"; +import { tsLiteral, tsModifiers, tsPropertyIndex } from "./ts.js"; + +if (!supportsColor.stdout || supportsColor.stdout.hasBasic === false) { + c.enabled = false; +} + +export { c }; + +/** Given a discriminator object, get the property name */ +export function createDiscriminatorProperty( + discriminator: DiscriminatorObject, + { path, readonly = false }: { path: string; readonly?: boolean }, +): ts.TypeElement { + // get the inferred propertyName value from the last section of the path (as the spec suggests to do) + let value = parseRef(path).pointer.pop()!; + // if mapping, and there’s a match, use this rather than the inferred name + if (discriminator.mapping) { + // Mapping value can either be a fully-qualified ref (#/components/schemas/XYZ) or a schema name (XYZ) + const matchedValue = Object.entries(discriminator.mapping).find( + ([, v]) => + (!v.startsWith("#") && v === value) || + (v.startsWith("#") && parseRef(v).pointer.pop() === value), + ); + if (matchedValue) { + value = matchedValue[0]; // why was this designed backwards!? + } + } + return ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly, + }), + /* name */ tsPropertyIndex(discriminator.propertyName), + /* questionToken */ undefined, + /* type */ tsLiteral(value), + ); +} + +/** Create a $ref pointer (even from other $refs) */ +export function createRef(parts: (number | string)[]): string { + let pointer = "#"; + for (const part of parts) { + if (!part) { + continue; + } + const maybeRef = parseRef(String(part)).pointer; + if (maybeRef.length) { + for (const refPart of maybeRef) { + pointer += `/${escapePointer(refPart)}`; + } + } else { + pointer += `/${escapePointer(part)}`; + } + } + return pointer; +} + +/** Print error message */ +export function error(msg: string) { + console.error(c.red(` ✘ ${msg}`)); // eslint-disable-line no-console +} + +/** Call Object.entries() and optionally sort */ +export function getEntries( + obj: ArrayLike | Record, + options?: { + alphabetize?: boolean; + excludeDeprecated?: boolean; + }, +) { + let entries = Object.entries(obj); + if (options?.alphabetize) { + entries.sort(([a], [b]) => a.localeCompare(b, "en-us", { numeric: true })); + } + if (options?.excludeDeprecated) { + entries = entries.filter( + ([, v]) => + !(v && typeof v === "object" && "deprecated" in v && v.deprecated), + ); + } + return entries; +} + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/** resolve a $ref in a schema */ +export function resolveRef( + schema: any, + ref: string, + { silent = false, visited = [] }: { silent: boolean; visited?: string[] }, +): T | undefined { + const { pointer } = parseRef(ref); + if (!pointer.length) { + return undefined; + } + let node = schema; + for (const key of pointer) { + if (node && typeof node === "object" && node[key]) { + node = node[key]; + } else { + if (!silent) { + warn(`Could not resolve $ref "${ref}"`); + } + return undefined; + } + } + + // if this is also a $ref, keep tracing + if (node && typeof node === "object" && node.$ref) { + if (visited.includes(node.$ref)) { + if (!silent) { + warn(`Could not resolve circular $ref "${ref}"`); + } + return undefined; + } + return resolveRef(schema, node.$ref, { + silent, + visited: [...visited, node.$ref], + }); + } + + return node; +} + +/** Return a key–value map of discriminator objects found in a schema */ +export function scanDiscriminators(schema: OpenAPI3) { + const discriminators: Record = {}; + walk(schema, (obj, path) => { + if (obj.propertyName) { + discriminators[createRef(path)] = obj as unknown as DiscriminatorObject; + if (Array.isArray(obj.oneOf)) { + for (const o of obj.oneOf) { + if ("$ref" in o) { + discriminators[o.$ref] = obj as unknown as DiscriminatorObject; + } + } + } + } + }); + return discriminators; +} + +/** Walk through any JSON-serializable object */ +export function walk( + obj: unknown, + cb: (value: Record, path: (string | number)[]) => void, + path: (string | number)[] = [], +): void { + if (!obj || typeof obj !== "object") { + return; + } + if (Array.isArray(obj)) { + for (let i = 0; i < obj.length; i++) { + walk(obj[i], cb, path.concat(i)); + } + return; + } + cb(obj as Record, path); + for (const k of Object.keys(obj)) { + walk((obj as Record)[k], cb, path.concat(k)); + } +} + +/** Print warning message */ +export function warn(msg: string) { + console.warn(c.yellow(` ⚠ ${msg}`)); // eslint-disable-line no-console +} diff --git a/packages/openapi-typescript/src/load.ts b/packages/openapi-typescript/src/load.ts deleted file mode 100644 index 19535d129..000000000 --- a/packages/openapi-typescript/src/load.ts +++ /dev/null @@ -1,414 +0,0 @@ -import type { ComponentsObject, DiscriminatorObject, Fetch, GlobalContext, OpenAPI3, OperationObject, ParameterObject, PathItemObject, ReferenceObject, RequestBodyObject, ResponseObject, SchemaObject, Subschema } from "./types.js"; -import fs from "node:fs"; -import path from "node:path"; -import { Readable } from "node:stream"; -import { URL } from "node:url"; -import yaml from "js-yaml"; -import type { Dispatcher } from "undici"; -import { parseRef, error, makeTSIndex, walk, isRemoteURL, isFilepath } from "./utils.js"; - -interface SchemaMap { - [id: string]: Subschema; -} - -const EXT_RE = /\.(yaml|yml|json)#?\/?/i; -export const VIRTUAL_JSON_URL = `file:///_json`; // fake URL reserved for dynamic JSON - -/** parse OpenAPI schema s YAML or JSON */ -function parseSchema(source: string) { - return source.trim().startsWith("{") ? JSON.parse(source) : yaml.load(source); -} - -export function resolveSchema(filename: string): URL { - // option 1: remote - if (isRemoteURL(filename)) return new URL(filename.startsWith("//") ? `https:${filename}` : filename); - - // option 2: local - const localPath = path.isAbsolute(filename) ? new URL(`file://${filename}`) : new URL(filename, `file://${process.cwd()}/`); - - if (!fs.existsSync(localPath)) { - error(`Could not locate ${filename}`); - process.exit(1); - } else if (fs.statSync(localPath).isDirectory()) { - error(`${localPath} is a directory not a file`); - process.exit(1); - } - return localPath; -} - -/** - * Accepts income HTTP headers and appends them to - * the fetch request for the schema. - * - * @param {HTTPHeaderMap} httpHeaders - * @return {Record} {Record} Final HTTP headers outcome. - */ -function parseHttpHeaders(httpHeaders: Record): Record { - const finalHeaders: Record = {}; - - // Obtain the header key - for (const [k, v] of Object.entries(httpHeaders)) { - // If the value of the header is already a string, we can move on, otherwise we have to parse it - if (typeof v === "string") { - finalHeaders[k] = v; - } else { - try { - const stringVal = JSON.stringify(v); - finalHeaders[k] = stringVal; - } catch (err) { - error(`Can’t parse key: ${k} into JSON format. Continuing with the next HTTP header that is specified`); - } - } - } - - return finalHeaders; -} - -export interface LoadOptions extends GlobalContext { - /** Subschemas may be any type; this helps transform correctly */ - hint?: Subschema["hint"]; - auth?: string; - rootURL: URL; - schemas: SchemaMap; - urlCache: Set; - httpHeaders?: Record; - httpMethod?: string; - fetch: Fetch; - parameters: Record; -} - -/** Load a schema from local path or remote URL */ -export default async function load(schema: URL | Subschema | Readable, options: LoadOptions): Promise<{ [url: string]: Subschema }> { - let schemaID = "."; - // 1. load contents - // 1a. URL - if (schema instanceof URL) { - const hint = options.hint ?? "OpenAPI3"; - - // normalize ID - if (schema.href !== options.rootURL.href) { - schemaID = relativePath(options.rootURL, schema); - } - - if (options.urlCache.has(schemaID)) { - return options.schemas; // exit early if already indexed - } - options.urlCache.add(schemaID); - - // remote - if (schema.protocol.startsWith("http")) { - const headers: Record = { "User-Agent": "openapi-typescript" }; - if (options.auth) headers.Authorization = options.auth; - - // Add custom parsed HTTP headers - if (options.httpHeaders) { - const parsedHeaders = parseHttpHeaders(options.httpHeaders); - for (const [k, v] of Object.entries(parsedHeaders)) { - headers[k] = v as string; - } - } - const res = await options.fetch(schema, { - method: (options.httpMethod as Dispatcher.HttpMethod) || "GET", - headers, - }); - const contents = await res.text(); - options.schemas[schemaID] = { hint, schema: parseSchema(contents) }; - } - // local file - else { - const contents = fs.readFileSync(schema, "utf8"); - options.schemas[schemaID] = { hint, schema: parseSchema(contents) }; - } - } - // 1b. Readable stream - else if (schema instanceof Readable) { - const readable = schema; - const contents = await new Promise((resolve) => { - readable.resume(); - readable.setEncoding("utf8"); - let content = ""; - readable.on("data", (chunk: string) => { - content += chunk; - }); - readable.on("end", () => { - resolve(content.trim()); - }); - }); - options.schemas[schemaID] = { hint: "OpenAPI3", schema: parseSchema(contents) }; - } - // 1c. inline - else if (typeof schema === "object") { - options.schemas[schemaID] = { - hint: "OpenAPI3", - schema: JSON.parse(JSON.stringify(schema)), // create deep clone of inline schema (don’t mutate) - }; - } - // 1d. failsafe - else { - error(`Invalid schema`); - process.exit(1); - } - - // 2. resolve $refs - const currentSchema = options.schemas[schemaID].schema; - - // 2a. remove "components.examples" first - if (options.schemas[schemaID].hint === "OpenAPI3") { - if ("components" in currentSchema && currentSchema.components && "examples" in currentSchema.components) delete currentSchema.components.examples; - } - - const refPromises: Promise[] = []; - walk(currentSchema, (rawNode, nodePath) => { - // filter custom properties from allOf, anyOf, oneOf - for (const k of ["allOf", "anyOf", "oneOf"]) { - if (Array.isArray(rawNode[k])) { - rawNode[k] = (rawNode as Record)[k].filter((o: SchemaObject | ReferenceObject) => { - if (!o || typeof o !== "object" || Array.isArray(o)) throw new Error(`${nodePath}.${k}: Expected array of objects. Is your schema valid?`); - if (!("$ref" in o) || typeof o.$ref !== "string") return true; - const ref = parseRef(o.$ref); - return !ref.path.some((i) => i.startsWith("x-")); // ignore all custom "x-*" properties - }); - } - } - if (!rawNode || typeof rawNode !== "object" || Array.isArray(rawNode)) throw new Error(`${nodePath}: Expected object, got ${Array.isArray(rawNode) ? "array" : typeof rawNode}. Is your schema valid?`); - if (!("$ref" in rawNode) || typeof rawNode.$ref !== "string") return; - const node = rawNode as unknown as ReferenceObject; - - const ref = parseRef(node.$ref); - if (ref.filename === ".") { - return; // local $ref; ignore - } - // $ref with custom "x-*" property - if (ref.path.some((i) => i.startsWith("x-"))) { - delete (node as unknown as Record).$ref; - return; - } - - // hints help external partial schemas pick up where the root left off (for external complete/valid schemas, skip this) - const isRemoteFullSchema = ref.path[0] === "paths" || ref.path[0] === "components"; // if the initial ref is "paths" or "components" this must be a full schema - const hintPath: string[] = [...(nodePath as string[])]; - if (ref.filename) hintPath.push(ref.filename); - hintPath.push(...ref.path); - const hint = isRemoteFullSchema ? "OpenAPI3" : getHint({ path: hintPath, external: !!ref.filename, startFrom: options.hint }); - - if (isRemoteURL(ref.filename) || isFilepath(ref.filename)) { - const nextURL = new URL(ref.filename.startsWith("//") ? `https://${ref.filename}` : ref.filename); - refPromises.push(load(nextURL, { ...options, hint })); - node.$ref = node.$ref.replace(ref.filename, nextURL.href); - return; - } - - // if this is dynamic JSON (with no cwd), we have no idea how to resolve external URLs, so throw here - if (options.rootURL.href === VIRTUAL_JSON_URL) { - error(`Can’t resolve "${ref.filename}" from dynamic JSON. Either load this schema from a filepath/URL, or set the \`cwd\` option: \`openapiTS(schema, { cwd: '/path/to/cwd' })\`.`); - process.exit(1); - } - - const nextURL = new URL(ref.filename, schema instanceof URL ? schema : options.rootURL); - const nextID = relativePath(schema instanceof URL ? schema : options.rootURL, nextURL); - refPromises.push(load(nextURL, { ...options, hint })); - node.$ref = node.$ref.replace(ref.filename, nextID); - }); - await Promise.all(refPromises); - - // 3. transform $refs once, at the root schema, after all have been scanned & downloaded (much easier to do here when we have the context) - if (schemaID === ".") { - for (const subschemaID of Object.keys(options.schemas)) { - walk(options.schemas[subschemaID].schema, (rawNode) => { - if (!("$ref" in rawNode) || typeof rawNode.$ref !== "string") return; - - const node = rawNode as unknown as ReferenceObject; - - const ref = parseRef(node.$ref); - - // local $ref: convert into TS path - if (ref.filename === ".") { - if (subschemaID === "." || ref.path[0] === "external") { - node.$ref = makeTSIndex(ref.path); - } else { - node.$ref = makeTSIndex(["external", subschemaID, ...ref.path]); - } - } - // external $ref - else { - const refURL = new URL(ref.filename, new URL(subschemaID, options.rootURL)); - node.$ref = makeTSIndex(["external", relativePath(options.rootURL, refURL), ...ref.path]); - } - }); - } - } - - // 4. collect parameters (which must be hoisted to the top) - for (const k of Object.keys(options.schemas)) { - walk(options.schemas[k].schema, (rawNode, nodePath) => { - // note: 'in' is a unique required property of parameters. and parameters can live in subschemas (i.e. "parameters" doesn’t have to be part of the traceable path) - if (typeof rawNode === "object" && "in" in rawNode) { - const key = k === "." ? makeTSIndex(nodePath) : makeTSIndex(["external", k, ...nodePath]); - options.parameters[key] = rawNode as unknown as ParameterObject; - } - }); - } - - // 5. scan for discriminators (after everything’s resolved in one file) - for (const k of Object.keys(options.schemas)) { - // 4a. lazy stringification check is faster than deep-scanning a giant object for discriminators - // since most schemas don’t use them - if (JSON.stringify(options.schemas[k].schema).includes('"discriminator"')) { - walk(options.schemas[k].schema, (rawNode, nodePath) => { - const node = rawNode as unknown as SchemaObject; - if (!node.discriminator) return; - const discriminator: DiscriminatorObject = { ...node.discriminator }; - - // handle child oneOf types (mapping isn’t explicit from children) - const oneOf: string[] = []; - if (Array.isArray(node.oneOf)) { - for (const child of node.oneOf) { - if (!child || typeof child !== "object" || !("$ref" in child)) continue; - oneOf.push(child.$ref); - } - } - if (oneOf.length) discriminator.oneOf = oneOf; - - options.discriminators[schemaID === "." ? makeTSIndex(nodePath) : makeTSIndex(["external", k, ...nodePath])] = discriminator; - }); - } - } - - return options.schemas; -} - -/** relative path from 2 URLs */ -function relativePath(src: URL, dest: URL): string { - const isSameOrigin = dest.protocol.startsWith("http") && src.protocol.startsWith("http") && dest.origin === src.origin; - const isSameDisk = dest.protocol === "file:" && src.protocol === "file:"; - if (isSameOrigin || isSameDisk) { - return path.posix.relative(path.posix.dirname(src.pathname), dest.pathname); - } - return dest.href; -} - -export interface GetHintOptions { - path: string[]; - external: boolean; - startFrom?: Subschema["hint"]; -} - -/** - * Hinting - * A remote `$ref` may point to anything—A full OpenAPI schema, partial OpenAPI schema, Schema Object, Parameter Object, etc. - * The only way to parse its contents correctly is to trace the path from the root schema and infer the type it should be. - * “Hinting” is the process of tracing its lineage back to the root schema to invoke the correct transformations on it. - */ -export function getHint({ path, external, startFrom }: GetHintOptions): Subschema["hint"] | undefined { - if (startFrom && startFrom !== "OpenAPI3") { - switch (startFrom) { - case "OperationObject": - return getHintFromOperationObject(path, external); - case "RequestBodyObject": - return getHintFromRequestBodyObject(path, external); - case "ResponseObject": - return getHintFromResponseObject(path, external); - case "SchemaMap": - return "SchemaObject"; - default: - return startFrom; - } - } - switch (path[0] as keyof OpenAPI3) { - case "paths": { - // if entire path item object is $ref’d, treat as schema map - if (EXT_RE.test(path[2])) { - return "SchemaMap"; - } - return getHintFromPathItemObject(path.slice(2), external); // skip URL at [1] - } - case "components": - return getHintFromComponentsObject(path.slice(1), external); - } - return undefined; -} -function getHintFromComponentsObject(path: (string | number)[], external: boolean): Subschema["hint"] | undefined { - switch (path[0] as keyof ComponentsObject) { - case "schemas": - case "headers": - return getHintFromSchemaObject(path.slice(2), external); - case "parameters": - return getHintFromParameterObject(path.slice(2), external); - case "responses": - return getHintFromResponseObject(path.slice(2), external); - case "requestBodies": - return getHintFromRequestBodyObject(path.slice(2), external); - case "pathItems": - return getHintFromPathItemObject(path.slice(2), external); - } - return "SchemaObject"; -} -function getHintFromMediaTypeObject(path: (string | number)[], external: boolean): Subschema["hint"] { - switch (path[0]) { - case "schema": - return getHintFromSchemaObject(path.slice(1), external); - } - return "MediaTypeObject"; -} -function getHintFromOperationObject(path: (string | number)[], external: boolean): Subschema["hint"] { - switch (path[0] as keyof OperationObject) { - case "parameters": - return "ParameterObject[]"; - case "requestBody": - return getHintFromRequestBodyObject(path.slice(1), external); - case "responses": - return getHintFromResponseObject(path.slice(2), external); // skip the response code at [1] - } - return "OperationObject"; -} -function getHintFromParameterObject(path: (string | number)[], external: boolean): Subschema["hint"] { - switch (path[0]) { - case "content": - return getHintFromMediaTypeObject(path.slice(2), external); // skip content type at [1] - case "schema": - return getHintFromSchemaObject(path.slice(1), external); - } - return "ParameterObject"; -} -function getHintFromPathItemObject(path: (string | number)[], external: boolean): Subschema["hint"] | undefined { - switch (path[0] as keyof PathItemObject) { - case "parameters": { - if (typeof path[1] === "number") { - return "ParameterObject[]"; - } - return getHintFromParameterObject(path.slice(1), external); - } - default: - return getHintFromOperationObject(path.slice(1), external); - } -} -function getHintFromRequestBodyObject(path: (string | number)[], external: boolean): Subschema["hint"] { - switch (path[0] as keyof RequestBodyObject) { - case "content": - return getHintFromMediaTypeObject(path.slice(2), external); // skip content type at [1] - } - return "RequestBodyObject"; -} -function getHintFromResponseObject(path: (string | number)[], external: boolean): Subschema["hint"] { - switch (path[0] as keyof ResponseObject) { - case "headers": - return getHintFromSchemaObject(path.slice(2), external); // skip name at [1] - case "content": - return getHintFromMediaTypeObject(path.slice(2), external); // skip content type at [1] - } - return "ResponseObject"; -} -function getHintFromSchemaObject(path: (string | number)[], external: boolean): Subschema["hint"] { - switch (path[0]) { - case "allOf": - case "anyOf": - case "oneOf": - return "SchemaMap"; - } - // if this is external, and the path is [filename, key], then the external schema is probably a SchemaMap - if (path.length >= 2 && external) { - return "SchemaMap"; - } - // otherwise, path length of 1 means partial schema is likely a SchemaObject (or it’s unknown, in which case assume SchemaObject) - return "SchemaObject"; -} diff --git a/packages/openapi-typescript/src/transform/components-object.ts b/packages/openapi-typescript/src/transform/components-object.ts index d4e299c59..8b183e27a 100644 --- a/packages/openapi-typescript/src/transform/components-object.ts +++ b/packages/openapi-typescript/src/transform/components-object.ts @@ -1,170 +1,81 @@ -import type { ComponentsObject, GlobalContext } from "../types.js"; -import { escObjKey, getEntries, getSchemaObjectComment, indent, tsOptionalProperty, tsReadonly } from "../utils.js"; +import ts from "typescript"; +import { + NEVER, + addJSDocComment, + tsModifiers, + tsPropertyIndex, +} from "../lib/ts.js"; +import { createRef, getEntries } from "../lib/utils.js"; +import { + ComponentsObject, + GlobalContext, + TransformNodeOptions, +} from "../types.js"; import transformHeaderObject from "./header-object.js"; import transformParameterObject from "./parameter-object.js"; import transformPathItemObject from "./path-item-object.js"; import transformRequestBodyObject from "./request-body-object.js"; import transformResponseObject from "./response-object.js"; -import transformSchemaObjectMap from "./schema-object-map.js"; import transformSchemaObject from "./schema-object.js"; -export default function transformComponentsObject(components: ComponentsObject, ctx: GlobalContext): string { - let { indentLv } = ctx; - const output: string[] = ["{"]; - indentLv++; +type ComponentTransforms = keyof Omit< + ComponentsObject, + "examples" | "securitySchemes" | "links" | "callbacks" +>; - // schemas - if (components.schemas) { - const schemas = transformSchemaObjectMap(components.schemas, { path: "#/components/schemas/", ctx: { ...ctx, indentLv } }); - output.push(indent(`schemas: ${schemas};`, indentLv)); - } else { - output.push(indent("schemas: never;", indentLv)); - } - - // responses - if (components.responses) { - output.push(indent("responses: {", indentLv)); - indentLv++; - for (const [name, responseObject] of getEntries(components.responses, ctx.alphabetize, ctx.excludeDeprecated)) { - const c = getSchemaObjectComment(responseObject, indentLv); - if (c) output.push(indent(c, indentLv)); - let key = escObjKey(name); - if (ctx.immutableTypes) key = tsReadonly(key); - if ("$ref" in responseObject) { - output.push(indent(`${key}: ${transformSchemaObject(responseObject, { path: `#/components/responses/${name}`, ctx })};`, indentLv)); - } else { - const responseType = transformResponseObject(responseObject, { - path: `#/components/responses/${name}`, - ctx: { ...ctx, indentLv }, - }); - output.push(indent(`${key}: ${responseType};`, indentLv)); - } - } - indentLv--; - output.push(indent("};", indentLv)); - } else { - output.push(indent("responses: never;", indentLv)); - } +const transformers: Record< + ComponentTransforms, + (node: any, options: TransformNodeOptions) => ts.TypeNode // eslint-disable-line @typescript-eslint/no-explicit-any +> = { + schemas: transformSchemaObject, + responses: transformResponseObject, + parameters: transformParameterObject, + requestBodies: transformRequestBodyObject, + headers: transformHeaderObject, + pathItems: transformPathItemObject, +}; - // parameters - if (components.parameters) { - const parameters: string[] = []; - indentLv++; +/** + * Transform the ComponentsObject (4.8.7) + * @see https://spec.openapis.org/oas/latest.html#components-object + */ +export default function transformComponentsObject( + componentsObject: ComponentsObject, + ctx: GlobalContext, +): ts.TypeNode { + const type: ts.TypeElement[] = []; - for (const [name, parameterObject] of getEntries(components.parameters, ctx.alphabetize, ctx.excludeDeprecated)) { - const c = getSchemaObjectComment(parameterObject, indentLv); - if (c) parameters.push(indent(c, indentLv)); - let key = escObjKey(name); - if (ctx.immutableTypes) key = tsReadonly(key); - if ("$ref" in parameterObject) { - parameters.push(indent(`${key}: ${transformSchemaObject(parameterObject, { path: `#/components/parameters/${name}`, ctx })};`, indentLv)); - } else { - if (parameterObject.in !== "path" && !parameterObject.required) { - key = tsOptionalProperty(key); - } - const parameterType = transformParameterObject(parameterObject, { - path: `#/components/parameters/${name}`, - ctx: { ...ctx, indentLv }, + for (const key of Object.keys(transformers) as ComponentTransforms[]) { + const items: ts.TypeElement[] = []; + if (componentsObject[key]) { + for (const [name, item] of getEntries(componentsObject[key], ctx)) { + const subType = transformers[key](item, { + path: createRef(["components", key, name]), + ctx, }); - parameters.push(indent(`${key}: ${parameterType};`, indentLv)); - } - } - indentLv--; - output.push(indent(`parameters: {`, indentLv), ...parameters, indent("};", indentLv)); - } else { - output.push(indent("parameters: never;", indentLv)); - } - - // requestBodies - if (components.requestBodies) { - output.push(indent("requestBodies: {", indentLv)); - indentLv++; - for (const [name, requestBodyObject] of getEntries(components.requestBodies, ctx.alphabetize, ctx.excludeDeprecated)) { - const c = getSchemaObjectComment(requestBodyObject, indentLv); - if (c) output.push(indent(c, indentLv)); - let key = escObjKey(name); - if ("$ref" in requestBodyObject) { - if (ctx.immutableTypes) key = tsReadonly(key); - output.push( - indent( - `${key}: ${transformSchemaObject(requestBodyObject, { - path: `#/components/requestBodies/${name}`, - ctx: { ...ctx, indentLv }, - })};`, - indentLv, - ), - ); - } else { - if (!requestBodyObject.required) key = tsOptionalProperty(key); - if (ctx.immutableTypes) key = tsReadonly(key); - const requestBodyType = transformRequestBodyObject(requestBodyObject, { - path: `#/components/requestBodies/${name}`, - ctx: { ...ctx, indentLv }, - }); - output.push(indent(`${key}: ${requestBodyType};`, indentLv)); - } - } - indentLv--; - output.push(indent("};", indentLv)); - } else { - output.push(indent("requestBodies: never;", indentLv)); - } - - // headers - if (components.headers) { - output.push(indent("headers: {", indentLv)); - indentLv++; - for (const [name, headerObject] of getEntries(components.headers, ctx.alphabetize, ctx.excludeDeprecated)) { - const c = getSchemaObjectComment(headerObject, indentLv); - if (c) output.push(indent(c, indentLv)); - let key = escObjKey(name); - if (ctx.immutableTypes) key = tsReadonly(key); - if ("$ref" in headerObject) { - output.push(indent(`${key}: ${transformSchemaObject(headerObject, { path: `#/components/headers/${name}`, ctx })};`, indentLv)); - } else { - const headerType = transformHeaderObject(headerObject, { - path: `#/components/headers/${name}`, - ctx: { ...ctx, indentLv }, - }); - output.push(indent(`${key}: ${headerType};`, indentLv)); - } - } - indentLv--; - output.push(indent("};", indentLv)); - } else { - output.push(indent("headers: never;", indentLv)); - } - - // pathItems - if (components.pathItems) { - output.push(indent("pathItems: {", indentLv)); - indentLv++; - for (const [name, pathItemObject] of getEntries(components.pathItems, ctx.alphabetize, ctx.excludeDeprecated)) { - let key = escObjKey(name); - if (ctx.immutableTypes) key = tsReadonly(key); - if ("$ref" in pathItemObject) { - const c = getSchemaObjectComment(pathItemObject, indentLv); - if (c) output.push(indent(c, indentLv)); - output.push(indent(`${key}: ${transformSchemaObject(pathItemObject, { path: `#/components/pathItems/${name}`, ctx })};`, indentLv)); - } else { - output.push( - indent( - `${key}: ${transformPathItemObject(pathItemObject, { - path: `#/components/pathItems/${name}`, - ctx: { ...ctx, indentLv }, - })};`, - indentLv, - ), + const property = ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: ctx.immutableTypes, + }), + /* name */ tsPropertyIndex(name), + /* questionToken */ undefined, + /* type */ subType, ); + addJSDocComment(item as unknown as any, property); // eslint-disable-line @typescript-eslint/no-explicit-any + items.push(property); } } - indentLv--; - output.push(indent("};", indentLv)); - } else { - output.push(indent("pathItems: never;", indentLv)); + type.push( + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex(key), + /* questionToken */ undefined, + /* type */ items.length + ? ts.factory.createTypeLiteralNode(items) + : NEVER, + ), + ); } - indentLv--; - output.push(indent("}", indentLv)); - return output.join("\n"); + return ts.factory.createTypeLiteralNode(type); } diff --git a/packages/openapi-typescript/src/transform/header-object.ts b/packages/openapi-typescript/src/transform/header-object.ts index d988a93e9..98665fe58 100644 --- a/packages/openapi-typescript/src/transform/header-object.ts +++ b/packages/openapi-typescript/src/transform/header-object.ts @@ -1,34 +1,58 @@ -import type { GlobalContext, HeaderObject } from "../types.js"; -import { escStr, getEntries, getSchemaObjectComment, indent, tsReadonly } from "../utils.js"; +import { escapePointer } from "@redocly/openapi-core/lib/ref-utils.js"; +import ts from "typescript"; +import { + addJSDocComment, + tsModifiers, + tsPropertyIndex, + UNKNOWN, +} from "../lib/ts.js"; +import { getEntries } from "../lib/utils.js"; +import { HeaderObject, TransformNodeOptions } from "../types.js"; import transformMediaTypeObject from "./media-type-object.js"; import transformSchemaObject from "./schema-object.js"; -export interface TransformHeaderObjectOptions { - path: string; - ctx: GlobalContext; -} +/** + * Transform HeaderObject nodes (4.8.21) + * @see https://spec.openapis.org/oas/v3.1.0#header-object + */ +export default function transformHeaderObject( + headerObject: HeaderObject, + options: TransformNodeOptions, +): ts.TypeNode { + if (headerObject.schema) { + return transformSchemaObject(headerObject.schema, options); + } -export default function transformHeaderObject(headerObject: HeaderObject, { path, ctx }: TransformHeaderObjectOptions): string { - if (headerObject.schema) return transformSchemaObject(headerObject.schema, { path, ctx }); if (headerObject.content) { - let { indentLv } = ctx; - const output: string[] = ["{"]; - indentLv++; - for (const [contentType, mediaTypeObject] of getEntries(headerObject.content, ctx.alphabetize, ctx.excludeDeprecated)) { - const c = getSchemaObjectComment(mediaTypeObject, indentLv); - if (c) output.push(indent(c, indentLv)); - let key = escStr(contentType); - if (ctx.immutableTypes) key = tsReadonly(key); - if ("$ref" in mediaTypeObject) { - output.push(indent(`${key}: ${transformSchemaObject(mediaTypeObject, { path: `${path}/${contentType}`, ctx })};`, indentLv)); - } else { - const mediaType = transformMediaTypeObject(mediaTypeObject, { path: `${path}/${contentType}`, ctx }); - output.push(indent(`${key}: ${mediaType};`, indentLv)); - } + const type: ts.TypeElement[] = []; + for (const [contentType, mediaTypeObject] of getEntries( + headerObject.content, + options.ctx, + )) { + const nextPath = `${options.path ?? "#"}/${escapePointer(contentType)}`; + const mediaType = + "$ref" in mediaTypeObject + ? transformSchemaObject(mediaTypeObject, { + ...options, + path: nextPath, + }) + : transformMediaTypeObject(mediaTypeObject, { + ...options, + path: nextPath, + }); + const property = ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: options.ctx.immutableTypes, + }), + /* name */ tsPropertyIndex(contentType), + /* questionToken */ undefined, + /* type */ mediaType, + ); + addJSDocComment(mediaTypeObject, property); + type.push(property); } - indentLv--; - output.push(indent("}", indentLv)); - return output.join("\n"); + return ts.factory.createTypeLiteralNode(type); } - return "unknown"; + + return UNKNOWN; } diff --git a/packages/openapi-typescript/src/transform/index.ts b/packages/openapi-typescript/src/transform/index.ts index c42079f24..3176c204c 100644 --- a/packages/openapi-typescript/src/transform/index.ts +++ b/packages/openapi-typescript/src/transform/index.ts @@ -1,30 +1,95 @@ -import type { GlobalContext, OpenAPI3 } from "../types.js"; +import ts, { TypeAliasDeclaration, TypeLiteralNode } from "typescript"; +import { NEVER, STRING, tsModifiers, tsRecord } from "../lib/ts.js"; +import { createRef } from "../lib/utils.js"; +import { GlobalContext, OpenAPI3 } from "../types.js"; import transformComponentsObject from "./components-object.js"; import transformPathsObject from "./paths-object.js"; -import transformSchemaObjectMap from "./schema-object-map.js"; +import transformSchemaObject from "./schema-object.js"; import transformWebhooksObject from "./webhooks-object.js"; -/** transform top-level schema */ -export function transformSchema(schema: OpenAPI3, ctx: GlobalContext): Record { - if (!schema) return {}; +type SchemaTransforms = keyof Pick< + OpenAPI3, + "paths" | "webhooks" | "components" | "$defs" +>; - const output: Record = {}; +const transformers: Record< + SchemaTransforms, + (node: any, options: GlobalContext) => ts.TypeNode // eslint-disable-line @typescript-eslint/no-explicit-any +> = { + paths: transformPathsObject, + webhooks: transformWebhooksObject, + components: transformComponentsObject, + $defs: (node, options) => + transformSchemaObject(node, { path: createRef(["$defs"]), ctx: options }), +}; - // paths - if (schema.paths) output.paths = transformPathsObject(schema.paths, ctx); - else output.paths = ""; +export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { + const type: ts.Node[] = []; - // webhooks - if (schema.webhooks) output.webhooks = transformWebhooksObject(schema.webhooks, ctx); - else output.webhooks = ""; + for (const root of Object.keys(transformers) as SchemaTransforms[]) { + if (schema[root]) { + const subType = transformers[root](schema[root], ctx); + type.push( + ctx.exportType + ? ts.factory.createTypeAliasDeclaration( + /* modifiers */ tsModifiers({ + export: true, + readonly: ctx.immutableTypes, + }), + /* name */ root, + /* typeParameters */ undefined, + /* type */ subType, + ) + : ts.factory.createInterfaceDeclaration( + /* modifiers */ tsModifiers({ + export: true, + readonly: ctx.immutableTypes, + }), + /* name */ root, + /* typeParameters */ undefined, + /* heritageClauses */ undefined, + /* members */ (subType as TypeLiteralNode).members, + ), + ); + } else { + type.push( + ts.factory.createTypeAliasDeclaration( + /* modifiers */ tsModifiers({ + export: true, + readonly: ctx.immutableTypes, + }), + /* name */ root, + /* typeParameters */ undefined, + /* type */ tsRecord(STRING, NEVER), + ), + ); + } + } - // components - if (schema.components) output.components = transformComponentsObject(schema.components, ctx); - else output.components = ""; + // inject + let hasOperations = false; + for (const injectedType of ctx.injectFooter) { + if ( + (injectedType as TypeAliasDeclaration).name.escapedText === "operations" + ) { + hasOperations = true; + } + type.push(injectedType); + } + if (!hasOperations) { + // if no operations created, inject empty operations type + type.push( + ts.factory.createTypeAliasDeclaration( + /* modifiers */ tsModifiers({ + export: true, + readonly: ctx.immutableTypes, + }), + /* name */ "operations", + /* typeParameters */ undefined, + /* type */ tsRecord(STRING, NEVER), + ), + ); + } - // $defs - if (schema.$defs) output.$defs = transformSchemaObjectMap(schema.$defs, { path: "$defs/", ctx }); - else output.$defs = ""; - - return output; + return type; } diff --git a/packages/openapi-typescript/src/transform/media-type-object.ts b/packages/openapi-typescript/src/transform/media-type-object.ts index b54e686f6..185e95380 100644 --- a/packages/openapi-typescript/src/transform/media-type-object.ts +++ b/packages/openapi-typescript/src/transform/media-type-object.ts @@ -1,12 +1,18 @@ -import type { GlobalContext, MediaTypeObject } from "../types.js"; +import ts from "typescript"; +import { UNKNOWN } from "../lib/ts.js"; +import { MediaTypeObject, TransformNodeOptions } from "../types.js"; import transformSchemaObject from "./schema-object.js"; -export interface TransformMediaTypeObjectOptions { - path: string; - ctx: GlobalContext; -} - -export default function transformMediaTypeObject(mediaTypeObject: MediaTypeObject, { path, ctx }: TransformMediaTypeObjectOptions): string { - if (!mediaTypeObject.schema) return "unknown"; - return transformSchemaObject(mediaTypeObject.schema, { path, ctx }); +/** + * Transform MediaTypeObject nodes (4.8.14) + * @see https://spec.openapis.org/oas/v3.1.0#media-type-object + */ +export default function transformMediaTypeObject( + mediaTypeObject: MediaTypeObject, + options: TransformNodeOptions, +): ts.TypeNode { + if (!mediaTypeObject.schema) { + return UNKNOWN; + } + return transformSchemaObject(mediaTypeObject.schema, options); } diff --git a/packages/openapi-typescript/src/transform/operation-object.ts b/packages/openapi-typescript/src/transform/operation-object.ts index 2d7b98092..07f6ec208 100644 --- a/packages/openapi-typescript/src/transform/operation-object.ts +++ b/packages/openapi-typescript/src/transform/operation-object.ts @@ -1,124 +1,125 @@ -import type { GlobalContext, OperationObject, ParameterObject } from "../types.js"; -import { escObjKey, getEntries, getSchemaObjectComment, indent, tsOptionalProperty, tsReadonly } from "../utils.js"; -import transformParameterObject from "./parameter-object.js"; +import ts from "typescript"; +import { + NEVER, + QUESTION_TOKEN, + addJSDocComment, + oapiRef, + tsModifiers, + tsPropertyIndex, +} from "../lib/ts.js"; +import { createRef } from "../lib/utils.js"; +import { + OperationObject, + RequestBodyObject, + TransformNodeOptions, +} from "../types.js"; +import { transformParametersArray } from "./parameters-array.js"; import transformRequestBodyObject from "./request-body-object.js"; -import transformResponseObject from "./response-object.js"; -import transformSchemaObject from "./schema-object.js"; +import transformResponsesObject from "./responses-object.js"; -export interface TransformOperationObjectOptions { - path: string; - ctx: GlobalContext; - wrapObject?: boolean; -} - -export default function transformOperationObject(operationObject: OperationObject, { path, ctx, wrapObject = true }: TransformOperationObjectOptions): string { - let { indentLv } = ctx; - const output: string[] = wrapObject ? ["{"] : []; - indentLv++; +/** + * Transform OperationObject nodes (4.8.10) + * @see https://spec.openapis.org/oas/v3.1.0#operation-object + */ +export default function transformOperationObject( + operationObject: OperationObject, + options: TransformNodeOptions, +): ts.TypeElement[] { + const type: ts.TypeElement[] = []; // parameters - { - if (operationObject.parameters) { - const parameterOutput: string[] = []; - indentLv++; - for (const paramIn of ["query", "header", "path", "cookie"] as ParameterObject["in"][]) { - const paramInternalOutput: string[] = []; - indentLv++; - let paramInOptional = true; - for (const param of operationObject.parameters ?? []) { - const node: ParameterObject | undefined = "$ref" in param ? ctx.parameters[param.$ref] : param; - if (node?.in !== paramIn) continue; - let key = escObjKey(node.name); - const isRequired = paramIn === "path" || !!node.required; - if (isRequired) { - paramInOptional = false; - } else { - key = tsOptionalProperty(key); - } - const c = getSchemaObjectComment(param, indentLv); - if (c) paramInternalOutput.push(indent(c, indentLv)); - const parameterType = - "$ref" in param - ? param.$ref - : transformParameterObject(param, { - path: `${path}/parameters/${param.name}`, - ctx: { ...ctx, indentLv }, - }); - paramInternalOutput.push(indent(`${key}: ${parameterType};`, indentLv)); - } - indentLv--; - if (paramInternalOutput.length) { - const key = paramInOptional ? tsOptionalProperty(paramIn) : paramIn; - parameterOutput.push(indent(`${key}: {`, indentLv)); - parameterOutput.push(...paramInternalOutput); - parameterOutput.push(indent(`};`, indentLv)); - } - } - indentLv--; - - if (parameterOutput.length) { - output.push(indent(`parameters: {`, indentLv)); - output.push(parameterOutput.join("\n")); - output.push(indent("};", indentLv)); - } - } - } + type.push( + ...transformParametersArray(operationObject.parameters ?? [], options), + ); // requestBody - { - if (operationObject.requestBody) { - const c = getSchemaObjectComment(operationObject.requestBody, indentLv); - if (c) output.push(indent(c, indentLv)); - let key = "requestBody"; - if (ctx.immutableTypes) key = tsReadonly(key); - if ("$ref" in operationObject.requestBody) { - output.push(indent(`${key}: ${transformSchemaObject(operationObject.requestBody, { path, ctx })};`, indentLv)); - } else { - if (!operationObject.requestBody.required) key = tsOptionalProperty(key); - const requestBody = transformRequestBodyObject(operationObject.requestBody, { - path: `${path}/requestBody`, - ctx: { ...ctx, indentLv }, - }); - output.push(indent(`${key}: ${requestBody};`, indentLv)); - } - } + if (operationObject.requestBody) { + const requestBodyType = + "$ref" in operationObject.requestBody + ? oapiRef(operationObject.requestBody.$ref) + : transformRequestBodyObject(operationObject.requestBody, { + ...options, + path: createRef([options.path!, "requestBody"]), + }); + const required = !!( + "$ref" in operationObject.requestBody + ? options.ctx.resolve( + operationObject.requestBody.$ref, + ) + : operationObject.requestBody + )?.required; + const property = ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: options.ctx.immutableTypes, + }), + /* name */ tsPropertyIndex("requestBody"), + /* questionToken */ required ? undefined : QUESTION_TOKEN, + /* type */ requestBodyType, + ); + addJSDocComment(operationObject.requestBody, property); + type.push(property); + } else { + type.push( + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex("requestBody"), + /* questionToken */ QUESTION_TOKEN, + /* type */ NEVER, + ), + ); } // responses - { - if (operationObject.responses) { - output.push(indent(`responses: {`, indentLv)); - indentLv++; - for (const [responseCode, responseObject] of getEntries(operationObject.responses, ctx.alphabetize, ctx.excludeDeprecated)) { - const key = escObjKey(responseCode); - const c = getSchemaObjectComment(responseObject, indentLv); - if (c) output.push(indent(c, indentLv)); - if ("$ref" in responseObject) { - output.push( - indent( - `${key}: ${transformSchemaObject(responseObject, { - path: `${path}/responses/${responseCode}`, - ctx, - })};`, - indentLv, - ), - ); - } else { - const responseType = transformResponseObject(responseObject, { - path: `${path}/responses/${responseCode}`, - ctx: { ...ctx, indentLv }, - }); - output.push(indent(`${key}: ${responseType};`, indentLv)); - } - } - indentLv--; - output.push(indent(`};`, indentLv)); - } - } + type.push( + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex("responses"), + /* questionToken */ undefined, + /* type */ transformResponsesObject( + operationObject.responses ?? {}, + options, + ), + ), + ); - indentLv--; - if (wrapObject) { - output.push(indent("}", indentLv)); + return type; +} + +/** inject an operation at the top level */ +export function injectOperationObject( + operationId: string, + operationObject: OperationObject, + options: TransformNodeOptions, +): void { + // find or create top-level operations interface + let operations = options.ctx.injectFooter.find( + (node) => + ts.isInterfaceDeclaration(node) && + (node as ts.InterfaceDeclaration).name.text === "operations", + ) as unknown as ts.InterfaceDeclaration; + if (!operations) { + operations = ts.factory.createInterfaceDeclaration( + /* modifiers */ undefined, + /* name */ ts.factory.createIdentifier("operations"), + /* typeParameters */ undefined, + /* heritageClauses */ undefined, + /* members */ [], + ); + options.ctx.injectFooter.push(operations); } - return output.join("\n"); + + // inject operation object + const type = transformOperationObject(operationObject, options); + // @ts-expect-error this is OK to mutate + operations.members = ts.factory.createNodeArray([ + ...operations.members, + ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: options.ctx.immutableTypes, + }), + /* name */ tsPropertyIndex(operationId), + /* questionToken */ undefined, + /* type */ ts.factory.createTypeLiteralNode(type), + ), + ]); } diff --git a/packages/openapi-typescript/src/transform/parameter-object-array.ts b/packages/openapi-typescript/src/transform/parameter-object-array.ts deleted file mode 100644 index 7a0d36f59..000000000 --- a/packages/openapi-typescript/src/transform/parameter-object-array.ts +++ /dev/null @@ -1,31 +0,0 @@ -import type { GlobalContext, ParameterObject, ReferenceObject } from "../types.js"; -import { escObjKey, indent, tsOptionalProperty, tsReadonly } from "../utils.js"; -import transformParameterObject from "./parameter-object.js"; - -export interface TransformParameterArrayOptions { - path: string; - ctx: GlobalContext; -} - -export default function transformParameterObjectArray(parameterObjectArray: (ParameterObject | ReferenceObject)[] | Record, { path, ctx }: TransformParameterArrayOptions): string { - const output: string[] = []; - const parameters: [string, ParameterObject | ReferenceObject][] = Array.isArray(parameterObjectArray) ? parameterObjectArray.map((p) => [(p as ParameterObject).name!, p]) : Object.entries(parameterObjectArray); - - for (const [id, param] of parameters) { - let key = escObjKey(id); - if (ctx.immutableTypes) key = tsReadonly(key); - const node: ParameterObject | undefined = "$ref" in param ? ctx.parameters[param.$ref] : param; - if (!node) continue; - if (node.in !== "path" && !node.required) key = tsOptionalProperty(key); - output.push( - indent( - `${key}: ${transformParameterObject(node, { - path: `${path}/${node.name}`, - ctx: { ...ctx, indentLv: ctx.indentLv + 1 }, - })};`, - ctx.indentLv, - ), - ); - } - return output.join("\n"); -} diff --git a/packages/openapi-typescript/src/transform/parameter-object.ts b/packages/openapi-typescript/src/transform/parameter-object.ts index c308995a4..36a44effc 100644 --- a/packages/openapi-typescript/src/transform/parameter-object.ts +++ b/packages/openapi-typescript/src/transform/parameter-object.ts @@ -1,11 +1,17 @@ -import type { GlobalContext, ParameterObject } from "../types.js"; +import ts from "typescript"; +import { STRING } from "../lib/ts.js"; +import { ParameterObject, TransformNodeOptions } from "../types.js"; import transformSchemaObject from "./schema-object.js"; -export interface TransformParameterObjectOptions { - path: string; - ctx: GlobalContext; -} - -export default function transformParameterObject(parameterObject: ParameterObject, { path, ctx }: TransformParameterObjectOptions): string { - return parameterObject.schema ? transformSchemaObject(parameterObject.schema, { path, ctx }) : "string"; // assume a parameter is a string by default rather than "unknown" +/** + * Transform ParameterObject nodes (4.8.12) + * @see https://spec.openapis.org/oas/v3.1.0#parameter-object + */ +export default function transformParameterObject( + parameterObject: ParameterObject, + options: TransformNodeOptions, +): ts.TypeNode { + return parameterObject.schema + ? transformSchemaObject(parameterObject.schema, options) + : STRING; // assume a parameter is a string by default rather than "unknown" } diff --git a/packages/openapi-typescript/src/transform/parameters-array.ts b/packages/openapi-typescript/src/transform/parameters-array.ts new file mode 100644 index 000000000..2c2e52f0e --- /dev/null +++ b/packages/openapi-typescript/src/transform/parameters-array.ts @@ -0,0 +1,103 @@ +import ts from "typescript"; +import { + NEVER, + QUESTION_TOKEN, + addJSDocComment, + oapiRef, + tsPropertyIndex, +} from "../lib/ts.js"; +import { createRef } from "../lib/utils.js"; +import { + ParameterObject, + ReferenceObject, + TransformNodeOptions, +} from "../types.js"; +import transformParameterObject from "./parameter-object.js"; + +/** + * Synthetic type. Array of (ParameterObject | ReferenceObject)s found in OperationObject and PathItemObject. + */ +export function transformParametersArray( + parametersArray: (ParameterObject | ReferenceObject)[], + options: TransformNodeOptions, +): ts.TypeElement[] { + const type: ts.TypeElement[] = []; + + // parameters + const paramType: ts.TypeElement[] = []; + for (const paramIn of [ + "query", + "header", + "path", + "cookie", + ] as ParameterObject["in"][]) { + const paramLocType: ts.TypeElement[] = []; + const operationParameters = parametersArray.map((param) => ({ + original: param, + resolved: + "$ref" in param + ? options.ctx.resolve(param.$ref) + : param, + })); + // this is the only array type in the spec, so we have to one-off sort here + if (options.ctx.alphabetize) { + operationParameters.sort((a, b) => + (a.resolved?.name ?? "").localeCompare(b.resolved?.name ?? ""), + ); + } + for (const { original, resolved } of operationParameters) { + if (resolved?.in !== paramIn) { + continue; + } + let optional: ts.QuestionToken | undefined = undefined; + if (paramIn !== "path" && !(resolved as ParameterObject).required) { + optional = QUESTION_TOKEN; + } + const subType = + "$ref" in original + ? oapiRef(original.$ref) + : transformParameterObject(resolved as ParameterObject, { + ...options, + path: createRef([ + options.path ?? "", + "parameters", + resolved.in, + resolved.name, + ]), + }); + const property = ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex(resolved?.name), + /* questionToken */ optional, + /* type */ subType, + ); + addJSDocComment(resolved, property); + paramLocType.push(property); + } + const allOptional = paramLocType.every((node) => !!node.questionToken); + paramType.push( + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex(paramIn), + /* questionToken */ allOptional || !paramLocType.length + ? QUESTION_TOKEN + : undefined, + /* type */ paramLocType.length + ? ts.factory.createTypeLiteralNode(paramLocType) + : NEVER, + ), + ); + } + type.push( + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex("parameters"), + /* questionToken */ !paramType.length ? QUESTION_TOKEN : undefined, + /* type */ paramType.length + ? ts.factory.createTypeLiteralNode(paramType) + : NEVER, + ), + ); + + return type; +} diff --git a/packages/openapi-typescript/src/transform/path-item-object.ts b/packages/openapi-typescript/src/transform/path-item-object.ts index 2ad1a3035..670884eef 100644 --- a/packages/openapi-typescript/src/transform/path-item-object.ts +++ b/packages/openapi-typescript/src/transform/path-item-object.ts @@ -1,60 +1,123 @@ -import type { GlobalContext, ParameterObject, PathItemObject, ReferenceObject } from "../types.js"; -import { escStr, getSchemaObjectComment, indent } from "../utils.js"; -import transformOperationObject from "./operation-object.js"; +import ts from "typescript"; +import { NEVER, addJSDocComment, oapiRef, tsPropertyIndex } from "../lib/ts.js"; +import { createRef } from "../lib/utils.js"; +import { + OperationObject, + ParameterObject, + PathItemObject, + ReferenceObject, + TransformNodeOptions, +} from "../types.js"; +import transformOperationObject, { + injectOperationObject, +} from "./operation-object.js"; +import { transformParametersArray } from "./parameters-array.js"; -export interface TransformPathItemObjectOptions { - path: string; - ctx: GlobalContext; -} +export type Method = + | "get" + | "put" + | "post" + | "delete" + | "options" + | "head" + | "patch" + | "trace"; -export type Method = "get" | "put" | "post" | "delete" | "options" | "head" | "patch" | "trace"; +/** + * Transform PathItem nodes (4.8.9) + * @see https://spec.openapis.org/oas/v3.1.0#path-item-object + */ +export default function transformPathItemObject( + pathItem: PathItemObject, + options: TransformNodeOptions, +): ts.TypeNode { + const type: ts.TypeElement[] = []; -export default function transformPathItemObject(pathItem: PathItemObject, { path, ctx }: TransformPathItemObjectOptions): string { - let { indentLv } = ctx; - const output: string[] = []; - output.push("{"); - indentLv++; + // parameters + type.push( + ...transformParametersArray(pathItem.parameters ?? [], { + ...options, + path: createRef([options.path!, "parameters"]), + }), + ); // methods - for (const method of ["get", "put", "post", "delete", "options", "head", "patch", "trace"] as Method[]) { + for (const method of [ + "get", + "put", + "post", + "delete", + "options", + "head", + "patch", + "trace", + ] as Method[]) { const operationObject = pathItem[method]; - if (!operationObject) continue; - const c = getSchemaObjectComment(operationObject, indentLv); - if (c) output.push(indent(c, indentLv)); + if ( + !operationObject || + (options.ctx.excludeDeprecated && + ("$ref" in operationObject + ? options.ctx.resolve(operationObject.$ref) + : operationObject + )?.deprecated) + ) { + type.push( + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex(method), + /* questionToken */ undefined, + /* type */ NEVER, + ), + ); + continue; + } // fold top-level PathItem parameters into method-level, with the latter overriding the former - const keyedParameters: Record = {}; + const keyedParameters: Record = + {}; if (!("$ref" in operationObject)) { // important: OperationObject parameters come last, and will override any conflicts with PathItem parameters - for (const parameter of [...(pathItem.parameters ?? []), ...(operationObject.parameters ?? [])]) { + for (const parameter of [ + ...(pathItem.parameters ?? []), + ...(operationObject.parameters ?? []), + ]) { // note: the actual key doesn’t matter here, as long as it can match between PathItem and OperationObject - keyedParameters["$ref" in parameter ? parameter.$ref : parameter.name] = parameter; + keyedParameters["$ref" in parameter ? parameter.$ref : parameter.name] = + parameter; } } + let operationType: ts.TypeNode; if ("$ref" in operationObject) { - output.push(indent(`${method}: ${operationObject.$ref}`, indentLv)); + operationType = oapiRef(operationObject.$ref); } // if operationId exists, move into an `operations` export and pass the reference in here else if (operationObject.operationId) { - const operationType = transformOperationObject({ ...operationObject, parameters: Object.values(keyedParameters) }, { path, ctx: { ...ctx, indentLv: 1 } }); - ctx.operations[operationObject.operationId] = { - operationType, - comment: getSchemaObjectComment(operationObject, 1), - }; - output.push(indent(`${method}: operations[${escStr(operationObject.operationId)}];`, indentLv)); + operationType = oapiRef( + createRef(["operations", operationObject.operationId]), + ); + injectOperationObject( + operationObject.operationId, + { ...operationObject, parameters: Object.values(keyedParameters) }, + { ...options, path: createRef([options.path!, method]) }, + ); } else { - const operationType = transformOperationObject({ ...operationObject, parameters: Object.values(keyedParameters) }, { path, ctx: { ...ctx, indentLv } }); - output.push(indent(`${method}: ${operationType};`, indentLv)); + operationType = ts.factory.createTypeLiteralNode( + transformOperationObject( + { ...operationObject, parameters: Object.values(keyedParameters) }, + { ...options, path: createRef([options.path!, method]) }, + ), + ); } + const property = ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex(method), + /* questionToken */ undefined, + /* type */ operationType, + ); + addJSDocComment(operationObject, property); + type.push(property); } - // parameters - if (pathItem.parameters?.length) { - output.push(indent(transformOperationObject({ parameters: pathItem.parameters }, { path, ctx, wrapObject: false }).trim(), indentLv)); - } - - indentLv--; - output.push(indent("}", indentLv)); - return output.join("\n"); + return ts.factory.createTypeLiteralNode(type); } diff --git a/packages/openapi-typescript/src/transform/paths-object.ts b/packages/openapi-typescript/src/transform/paths-object.ts index 2fc5e378e..13695b9a7 100644 --- a/packages/openapi-typescript/src/transform/paths-object.ts +++ b/packages/openapi-typescript/src/transform/paths-object.ts @@ -1,60 +1,153 @@ -import type { GlobalContext, PathsObject, PathItemObject, ParameterObject, ReferenceObject, OperationObject } from "../types.js"; -import { escStr, getEntries, getSchemaObjectComment, indent } from "../utils.js"; -import transformParameterObject from "./parameter-object.js"; -import transformPathItemObject from "./path-item-object.js"; +import ts from "typescript"; +import { addJSDocComment, oapiRef, tsPropertyIndex } from "../lib/ts.js"; +import { createRef, getEntries } from "../lib/utils.js"; +import { + GlobalContext, + OperationObject, + ParameterObject, + PathItemObject, + PathsObject, + ReferenceObject, +} from "../types.js"; +import transformPathItemObject, { Method } from "./path-item-object.js"; -const OPERATIONS = ["get", "post", "put", "delete", "options", "head", "patch", "trace"]; +const PATH_PARAM_RE = /\{[^}]+\}/g; -function extractPathParams(obj?: ReferenceObject | PathItemObject | OperationObject | undefined): Map { - const params = new Map(); - if (obj && "parameters" in obj) { - for (const p of obj.parameters ?? []) { - if ("in" in p && p.in === "path") params.set(p.name, p); +/** + * Transform the PathsObject node (4.8.8) + * @see https://spec.openapis.org/oas/v3.1.0#operation-object + */ +export default function transformPathsObject( + pathsObject: PathsObject, + ctx: GlobalContext, +): ts.TypeNode { + const type: ts.TypeElement[] = []; + urlLoop: for (const [url, pathItemObject] of getEntries(pathsObject, ctx)) { + if (!pathItemObject || typeof pathItemObject !== "object") { + continue; } - } - return params; -} - -export default function transformPathsObject(pathsObject: PathsObject, ctx: GlobalContext): string { - let { indentLv } = ctx; - const output: string[] = ["{"]; - indentLv++; - for (const [url, pathItemObject] of getEntries(pathsObject, ctx.alphabetize, ctx.excludeDeprecated)) { - if (!pathItemObject || typeof pathItemObject !== "object") continue; - let path = url; // handle $ref if ("$ref" in pathItemObject) { - const c = getSchemaObjectComment(pathItemObject, indentLv); - if (c) output.push(indent(c, indentLv)); - output.push(indent(`${escStr(path)}: ${pathItemObject.$ref};`, indentLv)); - continue; + const property = ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex(url), + /* questionToken */ undefined, + /* type */ oapiRef(pathItemObject.$ref), + ); + addJSDocComment(pathItemObject, property); + } else { + const pathItemType = transformPathItemObject(pathItemObject, { + path: createRef(["paths", url]), + ctx, + }); + + // pathParamsAsTypes + if (ctx.pathParamsAsTypes && url.includes("{")) { + const pathParams = extractPathParams(pathItemObject, ctx); + const matches = url.match(PATH_PARAM_RE); + let rawPath = `\`${url}\``; + if (matches) { + /* eslint-disable @typescript-eslint/no-explicit-any */ + for (const match of matches) { + const paramName = match.slice(1, -1); + const param = pathParams[paramName]; + if (!param) { + rawPath = rawPath.replace(match, "${string}"); + } else { + rawPath = rawPath.replace( + match, + `$\{${(param.schema as any)?.type ?? "string"}}`, + ); + } + // note: creating a string template literal’s AST manually is + // harder than getting TS to parse an arbitrary string + const pathType = ts.createSourceFile( + /* fileName */ "pathParams", + /* sourceText */ rawPath, + /* languageVersion */ ts.ScriptTarget.ESNext, + /* setParentNodes */ undefined, + /* scriptKind */ undefined, + ); + if ((pathType.statements[0] as any)?.expression) { + type.push( + ts.factory.createIndexSignature( + /* modifiers */ undefined, + /* parameters */ [ + ts.factory.createParameterDeclaration( + /* modifiers */ undefined, + /* dotDotDotToken */ undefined, + /* name */ "path", + /* questionToken */ undefined, + /* type */ (pathType.statements[0] as any) + .expression, + /* initializer */ undefined, + ), + ], + /* type */ pathItemType, + ), + ); + } + continue urlLoop; + } + /* eslint-enable @typescript-eslint/no-explicit-any */ + } + } + + type.push( + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex(url), + /* questionToken */ undefined, + /* type */ pathItemType, + ), + ); } + } - const pathParams = new Map([...extractPathParams(pathItemObject), ...OPERATIONS.flatMap((op) => Array.from(extractPathParams(pathItemObject[op as keyof PathItemObject])))]); + return ts.factory.createTypeLiteralNode(type); +} - // build dynamic string template literal index - if (ctx.pathParamsAsTypes && pathParams.size) { - for (const p of pathParams.values()) { - const paramType = transformParameterObject(p, { path: `#/paths/${url}/parameters/${p.name}`, ctx }); - path = path.replace(`{${p.name}}`, `\${${paramType}}`); +function extractPathParams(pathItemObject: PathItemObject, ctx: GlobalContext) { + const params: Record = {}; + for (const p of pathItemObject.parameters ?? []) { + const resolved = + "$ref" in p && p.$ref + ? ctx.resolve(p.$ref) + : (p as ParameterObject); + if (resolved && resolved.in === "path") { + params[resolved.name] = resolved; + } + } + for (const method of [ + "get", + "put", + "post", + "delete", + "options", + "head", + "patch", + "trace", + ] as Method[]) { + if (!(method in pathItemObject)) { + continue; + } + const resolvedMethod = (pathItemObject[method] as ReferenceObject).$ref + ? ctx.resolve( + (pathItemObject[method] as ReferenceObject).$ref, + ) + : (pathItemObject[method] as OperationObject); + if (resolvedMethod?.parameters) { + for (const p of resolvedMethod.parameters) { + const resolvedParam = + "$ref" in p && p.$ref + ? ctx.resolve(p.$ref) + : (p as ParameterObject); + if (resolvedParam && resolvedParam.in === "path") { + params[resolvedParam.name] = resolvedParam; + } } - path = `[path: \`${path}\`]`; - } else { - path = escStr(path); } - - output.push( - indent( - `${path}: ${transformPathItemObject(pathItemObject, { - path: `#/paths/${url}`, - ctx: { ...ctx, indentLv }, - })};`, - indentLv, - ), - ); } - indentLv--; - output.push(indent("}", indentLv)); - return output.join("\n"); + return params; } diff --git a/packages/openapi-typescript/src/transform/request-body-object.ts b/packages/openapi-typescript/src/transform/request-body-object.ts index ceee322fd..dd7841c4a 100644 --- a/packages/openapi-typescript/src/transform/request-body-object.ts +++ b/packages/openapi-typescript/src/transform/request-body-object.ts @@ -1,50 +1,72 @@ -import type { GlobalContext, RequestBodyObject } from "../types.js"; -import { escStr, getEntries, getSchemaObjectComment, indent, tsReadonly } from "../utils.js"; +import ts from "typescript"; +import { + NEVER, + QUESTION_TOKEN, + addJSDocComment, + tsModifiers, + tsPropertyIndex, +} from "../lib/ts.js"; +import { createRef, getEntries } from "../lib/utils.js"; +import { RequestBodyObject, TransformNodeOptions } from "../types.js"; import transformMediaTypeObject from "./media-type-object.js"; import transformSchemaObject from "./schema-object.js"; -export interface TransformRequestBodyObjectOptions { - path: string; - ctx: GlobalContext; -} - -export default function transformRequestBodyObject(requestBodyObject: RequestBodyObject, { path, ctx }: TransformRequestBodyObjectOptions): string { - let { indentLv } = ctx; - const output: string[] = ["{"]; - indentLv++; - output.push(indent(ctx.immutableTypes ? tsReadonly("content: {") : "content: {", indentLv)); - indentLv++; - - if (!Object.keys(requestBodyObject.content).length) { - output.push(indent(`${escStr("*/*")}: never;`, indentLv)); +/** + * Transform RequestBodyObject nodes (4.8.13) + * @see https://spec.openapis.org/oas/v3.1.0#request-body-object + */ +export default function transformRequestBodyObject( + requestBodyObject: RequestBodyObject, + options: TransformNodeOptions, +): ts.TypeNode { + const type: ts.TypeElement[] = []; + for (const [contentType, mediaTypeObject] of getEntries( + requestBodyObject.content, + options.ctx, + )) { + const nextPath = createRef([options.path!, contentType]); + const mediaType = + "$ref" in mediaTypeObject + ? transformSchemaObject(mediaTypeObject, { + ...options, + path: nextPath, + }) + : transformMediaTypeObject(mediaTypeObject, { + ...options, + path: nextPath, + }); + const property = ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: options.ctx.immutableTypes, + }), + /* name */ tsPropertyIndex(contentType), + /* questionToken */ undefined, + /* type */ mediaType, + ); + addJSDocComment(mediaTypeObject, property); + type.push(property); } - for (const [contentType, mediaTypeObject] of getEntries(requestBodyObject.content, ctx.alphabetize, ctx.excludeDeprecated)) { - const c = getSchemaObjectComment(mediaTypeObject, indentLv); - if (c) output.push(indent(c, indentLv)); - let key = escStr(contentType); - if (ctx.immutableTypes) key = tsReadonly(key); - if ("$ref" in mediaTypeObject) { - output.push( - indent( - `${key}: ${transformSchemaObject(mediaTypeObject, { - path: `${path}/${contentType}`, - ctx: { ...ctx, indentLv }, - })};`, - indentLv, - ), - ); - } else { - const mediaType = transformMediaTypeObject(mediaTypeObject, { - path: `${path}/${contentType}`, - ctx: { ...ctx, indentLv }, - }); - output.push(indent(`${key}: ${mediaType};`, indentLv)); - } - } - indentLv--; - output.push(indent("};", indentLv)); - indentLv--; - output.push(indent("}", indentLv)); - return output.join("\n"); + return ts.factory.createTypeLiteralNode([ + ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: options.ctx.immutableTypes, + }), + /* name */ tsPropertyIndex("content"), + /* questionToken */ undefined, + /* type */ ts.factory.createTypeLiteralNode( + type.length + ? type + : // add `"*/*": never` if no media types are defined + [ + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex("*/*"), + /* questionToken */ QUESTION_TOKEN, + /* type */ NEVER, + ), + ], + ), + ), + ]); } diff --git a/packages/openapi-typescript/src/transform/response-object.ts b/packages/openapi-typescript/src/transform/response-object.ts index 7acefd845..eb1af8ea5 100644 --- a/packages/openapi-typescript/src/transform/response-object.ts +++ b/packages/openapi-typescript/src/transform/response-object.ts @@ -1,74 +1,126 @@ -import type { GlobalContext, ResponseObject } from "../types.js"; -import { escObjKey, escStr, getEntries, getSchemaObjectComment, indent, tsOptionalProperty, tsReadonly } from "../utils.js"; +import ts from "typescript"; +import { + NEVER, + QUESTION_TOKEN, + STRING, + UNKNOWN, + addJSDocComment, + oapiRef, + tsModifiers, + tsPropertyIndex, +} from "../lib/ts.js"; +import { createRef, getEntries } from "../lib/utils.js"; +import { ResponseObject, TransformNodeOptions } from "../types.js"; import transformHeaderObject from "./header-object.js"; import transformMediaTypeObject from "./media-type-object.js"; -export interface TransformResponseObjectOptions { - path: string; - ctx: GlobalContext; -} - -export default function transformResponseObject(responseObject: ResponseObject, { path, ctx }: TransformResponseObjectOptions): string { - const output: string[] = ["{"]; - let { indentLv } = ctx; +/** + * Transform ResponseObject nodes (4.8.17) + * @see https://spec.openapis.org/oas/v3.1.0#response-object + */ +export default function transformResponseObject( + responseObject: ResponseObject, + options: TransformNodeOptions, +): ts.TypeNode { + const type: ts.TypeElement[] = []; // headers + const headersObject: ts.TypeElement[] = []; if (responseObject.headers) { - indentLv++; - output.push(indent(`headers: {`, indentLv)); - indentLv++; - for (const [name, headerObject] of getEntries(responseObject.headers, ctx.alphabetize, ctx.excludeDeprecated)) { - const c = getSchemaObjectComment(headerObject, indentLv); - if (c) output.push(indent(c, indentLv)); - let key = escObjKey(name); - if (ctx.immutableTypes) key = tsReadonly(key); - if ("$ref" in headerObject) { - output.push(indent(`${key}: ${headerObject.$ref};`, indentLv)); - } else { - if (!headerObject.required) key = tsOptionalProperty(key); - output.push( - indent( - `${key}: ${transformHeaderObject(headerObject, { - path: `${path}/headers/${name}`, - ctx: { ...ctx, indentLv }, - })};`, - indentLv, - ), - ); - } + for (const [name, headerObject] of getEntries( + responseObject.headers, + options.ctx, + )) { + const optional = + "$ref" in headerObject || headerObject.required + ? undefined + : QUESTION_TOKEN; + const subType = + "$ref" in headerObject + ? oapiRef(headerObject.$ref) + : transformHeaderObject(headerObject, { + ...options, + path: createRef([options.path ?? "", "headers", name]), + }); + const property = ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: options.ctx.immutableTypes, + }), + /* name */ tsPropertyIndex(name), + /* questionToken */ optional, + /* type */ subType, + ); + addJSDocComment(headerObject, property); + headersObject.push(property); } - indentLv--; - output.push(indent(`};`, indentLv)); - indentLv--; } + // allow additional unknown headers + headersObject.push( + ts.factory.createIndexSignature( + /* modifiers */ tsModifiers({ + readonly: options.ctx.immutableTypes, + }), + /* parameters */ [ + ts.factory.createParameterDeclaration( + /* modifiers */ undefined, + /* dotDotDotToken */ undefined, + /* name */ ts.factory.createIdentifier("name"), + /* questionToken */ undefined, + /* type */ STRING, + ), + ], + /* type */ UNKNOWN, + ), + ); + type.push( + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex("headers"), + /* questionToken */ undefined, + /* type */ ts.factory.createTypeLiteralNode(headersObject), + ), + ); // content + const contentObject: ts.TypeElement[] = []; if (responseObject.content) { - indentLv++; - output.push(indent("content: {", indentLv)); - indentLv++; - for (const [contentType, mediaTypeObject] of getEntries(responseObject.content, ctx.alphabetize, ctx.excludeDeprecated)) { - let key = escStr(contentType); - if (ctx.immutableTypes) key = tsReadonly(key); - output.push( - indent( - `${key}: ${transformMediaTypeObject(mediaTypeObject, { - path: `${path}/content/${contentType}`, - ctx: { ...ctx, indentLv: indentLv }, - })};`, - indentLv, - ), + for (const [contentType, mediaTypeObject] of getEntries( + responseObject.content, + options.ctx, + )) { + const property = ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: options.ctx.immutableTypes, + }), + /* name */ tsPropertyIndex(contentType), + /* questionToken */ undefined, + /* type */ transformMediaTypeObject(mediaTypeObject, { + ...options, + path: createRef([options.path ?? "", "content", contentType]), + }), ); + contentObject.push(property); } - indentLv--; - output.push(indent("};", indentLv)); - indentLv--; + } + if (contentObject.length) { + type.push( + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex("content"), + /* questionToken */ undefined, + /* type */ ts.factory.createTypeLiteralNode(contentObject), + ), + ); } else { - indentLv++; - output.push(indent("content: never;", indentLv)); - indentLv--; + type.push( + ts.factory.createPropertySignature( + /* modifiers */ undefined, + /* name */ tsPropertyIndex("content"), + /* questionToken */ QUESTION_TOKEN, + /* type */ NEVER, + ), + ); } - output.push(indent("}", indentLv)); - return output.join("\n"); + return ts.factory.createTypeLiteralNode(type); } diff --git a/packages/openapi-typescript/src/transform/responses-object.ts b/packages/openapi-typescript/src/transform/responses-object.ts new file mode 100644 index 000000000..34f7feeb3 --- /dev/null +++ b/packages/openapi-typescript/src/transform/responses-object.ts @@ -0,0 +1,47 @@ +import ts from "typescript"; +import { + NEVER, + addJSDocComment, + tsModifiers, + oapiRef, + tsPropertyIndex, +} from "../lib/ts.js"; +import { createRef, getEntries } from "../lib/utils.js"; +import { ResponsesObject, TransformNodeOptions } from "../types.js"; +import transformResponseObject from "./response-object.js"; + +/** + * Transform ResponsesObject nodes (4.8.16) + * @see https://spec.openapis.org/oas/v3.1.0#responses-object + */ +export default function transformResponsesObject( + responsesObject: ResponsesObject, + options: TransformNodeOptions, +): ts.TypeNode { + const type: ts.TypeElement[] = []; + + for (const [responseCode, responseObject] of getEntries( + responsesObject, + options.ctx, + )) { + const responseType = + "$ref" in responseObject + ? oapiRef(responseObject.$ref) + : transformResponseObject(responseObject, { + ...options, + path: createRef([options.path ?? "", "responses", responseCode]), + }); + const property = ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: options.ctx.immutableTypes, + }), + /* name */ tsPropertyIndex(responseCode), + /* questionToken */ undefined, + /* type */ responseType, + ); + addJSDocComment(responseObject, property); + type.push(property); + } + + return type.length ? ts.factory.createTypeLiteralNode(type) : NEVER; +} diff --git a/packages/openapi-typescript/src/transform/schema-object-map.ts b/packages/openapi-typescript/src/transform/schema-object-map.ts deleted file mode 100644 index bcfc6e74f..000000000 --- a/packages/openapi-typescript/src/transform/schema-object-map.ts +++ /dev/null @@ -1,57 +0,0 @@ -import type { GlobalContext, ParameterObject, SchemaObject } from "../types.js"; -import { escObjKey, getEntries, getSchemaObjectComment, indent, tsReadonly } from "../utils.js"; -import transformParameterObject from "./parameter-object.js"; -import transformPathItemObject, { Method } from "./path-item-object.js"; -import transformSchemaObject from "./schema-object.js"; - -export interface TransformSchemaMapOptions { - /** The full ID for this object (mostly used in error messages) */ - path: string; - /** Shared context */ - ctx: GlobalContext; -} - -export default function transformSchemaObjectMap(schemaObjMap: Record, { path, ctx }: TransformSchemaMapOptions): string { - // test for Schema Object, just in case - if ( - ("type" in schemaObjMap && typeof schemaObjMap.type === "string") || - ("allOf" in schemaObjMap && Array.isArray(schemaObjMap.allOf)) || - ("oneOf" in schemaObjMap && Array.isArray(schemaObjMap.oneOf)) || - ("anyOf" in schemaObjMap && Array.isArray(schemaObjMap.anyOf)) - ) { - return transformSchemaObject(schemaObjMap, { path, ctx }); - } - - let { indentLv } = ctx; - const output: string[] = ["{"]; - indentLv++; - outer: for (const [name, schemaObject] of getEntries(schemaObjMap, ctx.alphabetize, ctx.excludeDeprecated)) { - if (!schemaObject || typeof schemaObject !== "object") continue; - const c = getSchemaObjectComment(schemaObject as SchemaObject, indentLv); - if (c) output.push(indent(c, indentLv)); - let key = escObjKey(name); - if (ctx.immutableTypes || schemaObject.readOnly) key = tsReadonly(key); - - // Test for Path Item Object - if (!("type" in schemaObject) && !("$ref" in schemaObject)) { - for (const method of ["get", "put", "post", "delete", "options", "head", "patch", "trace"] as Method[]) { - if (method in schemaObject) { - output.push(indent(`${key}: ${transformPathItemObject(schemaObject, { path: `${path}${name}`, ctx: { ...ctx, indentLv } })};`, indentLv)); - continue outer; - } - } - } - - // Test for Parameter - if ("in" in schemaObject) { - output.push(indent(`${key}: ${transformParameterObject(schemaObject as ParameterObject, { path: `${path}${name}`, ctx: { ...ctx, indentLv } })};`, indentLv)); - continue; - } - - // Otherwise, this is a Schema Object - output.push(indent(`${key}: ${transformSchemaObject(schemaObject, { path: `${path}${name}`, ctx: { ...ctx, indentLv } })};`, indentLv)); - } - indentLv--; - output.push(indent("}", indentLv)); - return output.join("\n"); -} diff --git a/packages/openapi-typescript/src/transform/schema-object.ts b/packages/openapi-typescript/src/transform/schema-object.ts index 70fe38b86..0bea95cad 100644 --- a/packages/openapi-typescript/src/transform/schema-object.ts +++ b/packages/openapi-typescript/src/transform/schema-object.ts @@ -1,291 +1,532 @@ -import type { DiscriminatorObject, GlobalContext, ReferenceObject, SchemaObject } from "../types.js"; -import { escObjKey, escStr, getEntries, getSchemaObjectComment, indent, parseRef, tsArrayOf, tsIntersectionOf, tsOmit, tsOneOf, tsOptionalProperty, tsReadonly, tsTupleOf, tsUnionOf, tsWithRequired } from "../utils.js"; -import transformSchemaObjectMap from "./schema-object-map.js"; +import { parseRef } from "@redocly/openapi-core/lib/ref-utils.js"; +import ts from "typescript"; +import { + BOOLEAN, + NEVER, + NULL, + NUMBER, + QUESTION_TOKEN, + STRING, + UNKNOWN, + addJSDocComment, + oapiRef, + tsEnum, + tsIntersection, + tsIsPrimitive, + tsLiteral, + tsModifiers, + tsNullable, + tsOmit, + tsPropertyIndex, + tsRecord, + tsUnion, + tsWithRequired, +} from "../lib/ts.js"; +import { + createDiscriminatorProperty, + createRef, + getEntries, +} from "../lib/utils.js"; +import { + DiscriminatorObject, + ReferenceObject, + SchemaObject, + TransformNodeOptions, +} from "../types.js"; -// There’s just no getting around some really complex type intersections that TS -// has trouble following -/* eslint-disable @typescript-eslint/no-explicit-any */ - -export interface TransformSchemaObjectOptions { - /** The full ID for this object (mostly used in error messages) */ - path: string; - /** Shared context */ - ctx: GlobalContext; -} - -export default function transformSchemaObject(schemaObject: SchemaObject | ReferenceObject, options: TransformSchemaObjectOptions): string { - const result = defaultSchemaObjectTransform(schemaObject, options); +/** + * Transform SchemaObject nodes (4.8.24) + * @see https://spec.openapis.org/oas/v3.1.0#schema-object + */ +export default function transformSchemaObject( + schemaObject: SchemaObject | ReferenceObject, + options: TransformNodeOptions, +): ts.TypeNode { + const type = transformSchemaObjectWithComposition(schemaObject, options); if (typeof options.ctx.postTransform === "function") { - const postResult = options.ctx.postTransform(result, options); - if (postResult) return postResult; + const postTransformResult = options.ctx.postTransform(type, options); + if (postTransformResult) { + return postTransformResult; + } } - return result; + return type; } -export function defaultSchemaObjectTransform(schemaObject: SchemaObject | ReferenceObject, { path, ctx }: TransformSchemaObjectOptions): string { - let { indentLv } = ctx; +/** + * Transform SchemaObjects + */ +export function transformSchemaObjectWithComposition( + schemaObject: SchemaObject | ReferenceObject, + options: TransformNodeOptions, +): ts.TypeNode { + /** + * Unexpected types & edge cases + */ - // boolean schemas - if (typeof schemaObject === "boolean") { - return schemaObject ? "unknown" : "never"; + // missing/falsy type returns `never` + if (!schemaObject) { + return NEVER; } - // const fallback (primitives) return passed value - if (!schemaObject || typeof schemaObject !== "object") return schemaObject; - // const fallback (array) return tuple - if (Array.isArray(schemaObject)) { - const finalType = tsTupleOf(...schemaObject); - return ctx.immutableTypes ? tsReadonly(finalType) : finalType; + // `true` returns `unknown` (this exists, but is untyped) + if ((schemaObject as unknown) === true) { + return UNKNOWN; + } + // for any other unexpected type, throw error + if (Array.isArray(schemaObject) || typeof schemaObject !== "object") { + throw new Error( + `Expected SchemaObject, received ${ + Array.isArray(schemaObject) ? "Array" : typeof schemaObject + }`, + ); } - // $ref + /** + * ReferenceObject + */ if ("$ref" in schemaObject) { - return schemaObject.$ref; + return oapiRef(schemaObject.$ref); } - // transform() - if (typeof ctx.transform === "function") { - const result = ctx.transform(schemaObject, { path, ctx }); - if (result) return result; + /** + * transform() + */ + if (typeof options.ctx.transform === "function") { + const result = options.ctx.transform(schemaObject, options); + if (result !== undefined && result !== null) { + return result; + } } - // const (valid for any type) + /** + * const (valid for any type) + */ if (schemaObject.const !== null && schemaObject.const !== undefined) { - return transformSchemaObject(escStr(schemaObject.const) as any, { - path, - ctx: { ...ctx, immutableTypes: false, indentLv: indentLv + 1 }, // note: guarantee readonly happens once, here - }); + return tsLiteral(schemaObject.const); } - // enum (valid for any type, but for objects, treat as oneOf below) - if (typeof schemaObject === "object" && !!schemaObject.enum && (schemaObject as any).type !== "object") { - let items = schemaObject.enum as string[]; - if ("type" in schemaObject) { - if (schemaObject.type === "string" || (Array.isArray(schemaObject.type) && (schemaObject.type as string[]).includes("string"))) { - items = items.map((t) => escStr(t)); - } - } - // if no type, assume "string" - else { - items = items.map((t) => escStr(t || "")); + /** + * enum (non-objects) + * note: enum is valid for any type, but for objects, handle in oneOf below + */ + if ( + Array.isArray(schemaObject.enum) && + (!("type" in schemaObject) || schemaObject.type !== "object") && + !("properties" in schemaObject) && + !("additionalProperties" in schemaObject) + ) { + // hoist enum to top level if string/number enum and option is enabled + if ( + options.ctx.enum && + schemaObject.enum.every( + (v) => typeof v === "string" || typeof v === "number", + ) + ) { + let enumName = parseRef(options.path ?? "").pointer.join("/"); + // allow #/components/schemas to have simpler names + enumName = enumName.replace("components/schemas", ""); + const enumType = tsEnum( + enumName, + schemaObject.enum as (string | number)[], + { export: true, readonly: options.ctx.immutableTypes }, + ); + options.ctx.injectFooter.push(enumType); + return ts.factory.createTypeReferenceNode(enumType.name); } - return tsUnionOf(...items, ...(schemaObject.nullable ? ["null"] : [])); + return tsUnion(schemaObject.enum.map(tsLiteral)); } - // oneOf (no discriminator) - const oneOf = ((typeof schemaObject === "object" && !schemaObject.discriminator && schemaObject.oneOf) || schemaObject.enum || undefined) as (SchemaObject | ReferenceObject)[] | undefined; // note: for objects, treat enum as oneOf - if (oneOf && !oneOf.some((t) => "$ref" in t && ctx.discriminators[t.$ref])) { - const oneOfNormalized = oneOf.map((item) => transformSchemaObject(item, { path, ctx })); - if (schemaObject.nullable) oneOfNormalized.push("null"); + /** + * Object + composition (anyOf/allOf/oneOf) types + */ - // handle oneOf + polymorphic array type - if ("type" in schemaObject && Array.isArray(schemaObject.type)) { - const coreTypes = schemaObject.type.map((t) => transformSchemaObject({ ...schemaObject, oneOf: undefined, type: t }, { path, ctx })); - return tsUnionOf(...oneOfNormalized, ...coreTypes); + /** Collect oneOf/allOf/anyOf with Omit<> for discriminators */ + function collectCompositions( + items: (SchemaObject | ReferenceObject)[], + ): ts.TypeNode[] { + const output: ts.TypeNode[] = []; + for (const item of items) { + const itemType = transformSchemaObject(item, options); + if ("$ref" in item) { + const resolvedDiscriminator = options.ctx.resolve( + item.$ref, + ); + output.push( + resolvedDiscriminator?.propertyName + ? tsOmit(itemType, [resolvedDiscriminator.propertyName]) + : itemType, + ); + } else { + output.push(itemType); + } } + return output; + } - // OneOf<> helper needed if any objects present ("{") - const oneOfTypes = oneOfNormalized.some((t) => typeof t === "string" && t.includes("{")) ? tsOneOf(...oneOfNormalized) : tsUnionOf(...oneOfNormalized); + // compile final type + let finalType: ts.TypeNode | undefined = undefined; - // handle oneOf + object type - if ("type" in schemaObject && schemaObject.type === "object" && (schemaObject.properties || schemaObject.additionalProperties)) { - return tsIntersectionOf(transformSchemaObject({ ...schemaObject, oneOf: undefined, enum: undefined } as any, { path, ctx }), oneOfTypes); + // core + allOf: intersect + const coreObjectType = transformSchemaObjectCore(schemaObject, options); + const allOfType = collectCompositions(schemaObject.allOf ?? []); + if (coreObjectType || allOfType.length) { + let allOf: ts.TypeNode | undefined = allOfType.length + ? tsIntersection(allOfType) + : undefined; + // add required props + if ( + allOf && + "required" in schemaObject && + Array.isArray(schemaObject.required) + ) { + allOf = tsWithRequired(allOf, schemaObject.required); + } + finalType = tsIntersection([ + ...(coreObjectType ? [coreObjectType] : []), + ...(allOf ? [allOf] : []), + ]); + } + // anyOf: union + // (note: this may seem counterintuitive, but as TypeScript’s unions are not true XORs, they mimic behavior closer to anyOf than oneOf) + const anyOfType = collectCompositions(schemaObject.anyOf ?? []); + if (anyOfType.length) { + finalType = tsUnion([...(finalType ? [finalType] : []), ...anyOfType]); + } + // oneOf: union (within intersection with other types, if any) + const oneOfType = collectCompositions( + schemaObject.oneOf || + ("type" in schemaObject && + schemaObject.type === "object" && + (schemaObject.enum as (SchemaObject | ReferenceObject)[])) || + [], + ); + if (oneOfType.length) { + // note: oneOf is the only type that may include primitives + if (oneOfType.every(tsIsPrimitive)) { + finalType = tsUnion([...(finalType ? [finalType] : []), ...oneOfType]); + } else { + finalType = tsIntersection([ + ...(finalType ? [finalType] : []), + tsUnion(oneOfType), + ]); } + } - // default - return oneOfTypes; + // if final type could be generated, return intersection of all members + if (finalType) { + // deprecated nullable + if (schemaObject.nullable) { + return tsNullable([finalType]); + } + return finalType; } + // otherwise fall back to unknown type (or related variants) + else { + // fallback: unknown + if (!("type" in schemaObject)) { + return UNKNOWN; + } - if ("type" in schemaObject) { - // "type": "null" - if (schemaObject.type === "null") return "null"; + // if no type could be generated, fall back to “empty object” type + return tsRecord(STRING, options.ctx.emptyObjectsUnknown ? UNKNOWN : NEVER); + } +} - // "type": "string", "type": "boolean" - if (schemaObject.type === "string" || schemaObject.type === "boolean") { - return schemaObject.nullable ? tsUnionOf(schemaObject.type, "null") : schemaObject.type; +/** + * Handle SchemaObject minus composition (anyOf/allOf/oneOf) + */ +function transformSchemaObjectCore( + schemaObject: SchemaObject, + options: TransformNodeOptions, +): ts.TypeNode | undefined { + if ("type" in schemaObject && schemaObject.type) { + // primitives + // type: null + if (schemaObject.type === "null") { + return NULL; } - - // "type": "number", "type": "integer" + // type: string + if (schemaObject.type === "string") { + return STRING; + } + // type: number / type: integer if (schemaObject.type === "number" || schemaObject.type === "integer") { - return schemaObject.nullable ? tsUnionOf("number", "null") : "number"; + return NUMBER; + } + // type: boolean + if (schemaObject.type === "boolean") { + return BOOLEAN; } - // "type": "array" + // type: array (with support for tuples) if (schemaObject.type === "array") { - indentLv++; - let itemType = "unknown"; - let isTupleType = false; + // default to `unknown[]` + let itemType: ts.TypeNode = UNKNOWN; + // tuple type if (schemaObject.prefixItems || Array.isArray(schemaObject.items)) { - // tuple type support - isTupleType = true; - const result: string[] = []; - for (const item of schemaObject.prefixItems ?? (schemaObject.items as (SchemaObject | ReferenceObject)[])) { - result.push(transformSchemaObject(item, { path, ctx: { ...ctx, indentLv } })); - } - itemType = `[${result.join(", ")}]`; - } else if (schemaObject.items) { - itemType = transformSchemaObject(schemaObject.items, { path, ctx: { ...ctx, indentLv } }); + const prefixItems = + schemaObject.prefixItems ?? + (schemaObject.items as (SchemaObject | ReferenceObject)[]); + itemType = ts.factory.createTupleTypeNode( + prefixItems.map((item) => transformSchemaObject(item, options)), + ); } - const min: number = typeof schemaObject.minItems === "number" && schemaObject.minItems >= 0 ? schemaObject.minItems : 0; - const max: number | undefined = typeof schemaObject.maxItems === "number" && schemaObject.maxItems >= 0 && min <= schemaObject.maxItems ? schemaObject.maxItems : undefined; - const estimateCodeSize = typeof max !== "number" ? min : (max * (max + 1) - min * (min - 1)) / 2; - // export types - if (ctx.supportArrayLength && (min !== 0 || max !== undefined) && estimateCodeSize < 30) { - if (typeof schemaObject.maxItems !== "number") { - itemType = tsTupleOf(...Array.from({ length: min }).map(() => itemType), `...${tsArrayOf(itemType)}`); - return ctx.immutableTypes || schemaObject.readOnly ? tsReadonly(itemType) : itemType; - } else { - return tsUnionOf( - ...Array.from({ length: (max ?? 0) - min + 1 }) - .map((_, i) => i + min) - .map((n) => { - const t = tsTupleOf(...Array.from({ length: n }).map(() => itemType)); - return ctx.immutableTypes || schemaObject.readOnly ? tsReadonly(t) : t; - }), + // standard array type + else if (schemaObject.items) { + itemType = transformSchemaObject(schemaObject.items, options); + if (options.ctx.immutableTypes) { + itemType = ts.factory.createTypeOperatorNode( + ts.SyntaxKind.ReadonlyKeyword, + itemType, ); } } - if (!isTupleType) { - // Do not use tsArrayOf when it is a tuple type - itemType = tsArrayOf(itemType); + + const min: number = + typeof schemaObject.minItems === "number" && schemaObject.minItems >= 0 + ? schemaObject.minItems + : 0; + const max: number | undefined = + typeof schemaObject.maxItems === "number" && + schemaObject.maxItems >= 0 && + min <= schemaObject.maxItems + ? schemaObject.maxItems + : undefined; + const estimateCodeSize = + typeof max !== "number" ? min : (max * (max + 1) - min * (min - 1)) / 2; + if ( + options.ctx.supportArrayLength && + (min !== 0 || max !== undefined) && + estimateCodeSize < 30 // "30" is an arbitrary number but roughly around when TS starts to struggle with tuple inference in practice + ) { + // if maxItems is set, then return a union of all permutations of possible tuple types + if ((schemaObject.maxItems as number) > 0) { + const members: ts.TypeNode[] = []; + // populate 1 short of min … + for (let i = 0; i <= (max ?? 0) - min; i++) { + const elements: ts.TypeNode[] = []; + for (let j = min; j < i + min; j++) { + elements.push(itemType); + } + members.push(ts.factory.createTupleTypeNode(elements)); + } + return tsUnion(members); + } + // if maxItems not set, then return a simple tuple type the length of `min` + else { + const elements: ts.TypeNode[] = []; + for (let i = 0; i < min; i++) { + elements.push(itemType); + } + elements.push( + ts.factory.createRestTypeNode( + ts.factory.createArrayTypeNode(itemType), + ), + ); + return ts.factory.createTupleTypeNode(elements); + } } - itemType = ctx.immutableTypes || schemaObject.readOnly ? tsReadonly(itemType) : itemType; - return schemaObject.nullable ? tsUnionOf(itemType, "null") : itemType; + return ts.isTupleTypeNode(itemType) + ? itemType + : ts.factory.createArrayTypeNode(itemType); // wrap itemType in array type, but only if not a tuple already } // polymorphic, or 3.1 nullable - if (Array.isArray(schemaObject.type)) { - return tsUnionOf(...schemaObject.type.map((t) => transformSchemaObject({ ...schemaObject, type: t }, { path, ctx }))); + if (Array.isArray(schemaObject.type) && !Array.isArray(schemaObject)) { + // skip any primitive types that appear in oneOf as well + let uniqueTypes: ts.TypeNode[] = []; + if (Array.isArray(schemaObject.oneOf)) { + for (const t of schemaObject.type) { + if ( + (t === "boolean" || + t === "string" || + t === "number" || + t === "integer" || + t === "null") && + schemaObject.oneOf.find( + (o) => typeof o === "object" && "type" in o && o.type === t, + ) + ) { + continue; + } + uniqueTypes.push( + t === "null" || t === null + ? NULL + : transformSchemaObject( + { ...schemaObject, type: t, oneOf: undefined }, // don’t stack oneOf transforms + options, + ), + ); + } + } else { + uniqueTypes = schemaObject.type.map((t) => + t === "null" || t === null + ? NULL + : transformSchemaObject({ ...schemaObject, type: t }, options), + ); + } + return tsUnion(uniqueTypes); } } - // core type: properties + additionalProperties - const coreType: string[] = []; + // type: object + const coreObjectType: ts.TypeElement[] = []; - // discriminators: explicit mapping on schema object - for (const k of ["oneOf", "allOf", "anyOf"] as ("oneOf" | "allOf" | "anyOf")[]) { - if (!(schemaObject as any)[k]) continue; - const discriminatorRef: ReferenceObject | undefined = (schemaObject as any)[k].find( + // discriminatorss: explicit mapping on schema object + for (const k of ["oneOf", "allOf", "anyOf"] as ( + | "oneOf" + | "allOf" + | "anyOf" + )[]) { + if (!schemaObject[k]) { + continue; + } + const discriminatorRef = schemaObject[k]!.find( (t: SchemaObject | ReferenceObject) => "$ref" in t && - (ctx.discriminators[t.$ref] || // explicit allOf from this node - Object.values(ctx.discriminators).find((d) => d.oneOf?.includes(path))), // implicit oneOf from parent - ); - if (discriminatorRef && ctx.discriminators[discriminatorRef.$ref]) { - coreType.unshift(indent(getDiscriminatorPropertyName(path, ctx.discriminators[discriminatorRef.$ref]), indentLv + 1)); + (options.ctx.discriminators[t.$ref] || // explicit allOf from this node + Object.values(options.ctx.discriminators).find( + (d) => d.oneOf?.includes(options.path!), // implicit oneOf from parent + )), + ) as ReferenceObject | undefined; + if (discriminatorRef && options.ctx.discriminators[discriminatorRef.$ref]) { + coreObjectType.unshift( + createDiscriminatorProperty( + options.ctx.discriminators[discriminatorRef.$ref], + { path: options.path!, readonly: options.ctx.immutableTypes }, + ), + ); break; } } // discriminators: implicit mapping from parent - for (const d of Object.values(ctx.discriminators)) { - if (d.oneOf?.includes(path)) { - coreType.unshift(indent(getDiscriminatorPropertyName(path, d), indentLv + 1)); + for (const d of Object.values(options.ctx.discriminators)) { + if (d.oneOf?.includes(options.path!)) { + coreObjectType.unshift( + createDiscriminatorProperty(d, { + path: options.path!, + readonly: options.ctx.immutableTypes, + }), + ); break; } } - // "type": "object" (explicit) - // "anyOf" / "allOf" (object type implied) if ( - ("properties" in schemaObject && schemaObject.properties && Object.keys(schemaObject.properties).length) || - ("additionalProperties" in schemaObject && schemaObject.additionalProperties) || + ("properties" in schemaObject && + schemaObject.properties && + Object.keys(schemaObject.properties).length) || + ("additionalProperties" in schemaObject && + schemaObject.additionalProperties) || ("$defs" in schemaObject && schemaObject.$defs) ) { - indentLv++; - for (const [k, v] of getEntries(schemaObject.properties ?? {}, ctx.alphabetize, ctx.excludeDeprecated)) { - const c = getSchemaObjectComment(v, indentLv); - if (c) coreType.push(indent(c, indentLv)); - let key = escObjKey(k); - let isOptional = !Array.isArray(schemaObject.required) || !schemaObject.required.includes(k); - if (isOptional && ctx.defaultNonNullable && "default" in v) isOptional = false; // if --default-non-nullable specified and this has a default, it’s no longer optional - if (isOptional) key = tsOptionalProperty(key); - if (ctx.immutableTypes || schemaObject.readOnly) key = tsReadonly(key); - coreType.push(indent(`${key}: ${transformSchemaObject(v, { path, ctx: { ...ctx, indentLv } })};`, indentLv)); - } - if (schemaObject.additionalProperties || ctx.additionalProperties) { - let addlType = "unknown"; - if (typeof schemaObject.additionalProperties === "object") { - if (!Object.keys(schemaObject.additionalProperties).length) { - addlType = "unknown"; - } else { - addlType = transformSchemaObject(schemaObject.additionalProperties as SchemaObject, { - path, - ctx: { ...ctx, indentLv }, - }); + // properties + if (Object.keys(schemaObject.properties ?? {}).length) { + for (const [k, v] of getEntries( + schemaObject.properties ?? {}, + options.ctx, + )) { + // handle excludeDeprecated option + if (options.ctx.excludeDeprecated) { + const resolved = + "$ref" in v ? options.ctx.resolve(v.$ref) : v; + if (resolved?.deprecated) { + continue; + } } + const optional = + schemaObject.required?.includes(k) || + ("default" in v && options.ctx.defaultNonNullable) + ? undefined + : QUESTION_TOKEN; + const type = + "$ref" in v + ? oapiRef(v.$ref) + : transformSchemaObject(v, { + ...options, + path: createRef([options.path ?? "", k]), + }); + const property = ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: + options.ctx.immutableTypes || ("readOnly" in v && !!v.readOnly), + }), + /* name */ tsPropertyIndex(k), + /* questionToken */ optional, + /* type */ type, + ); + addJSDocComment(v, property); + coreObjectType.push(property); } - - // We need to add undefined when there are other optional properties in the schema.properties object - // that is the case when either schemaObject.required is empty and there are defined properties, or - // schemaObject.required is only contains a part of the schemaObject.properties - const numProperties = schemaObject.properties ? Object.keys(schemaObject.properties).length : 0; - if (schemaObject.properties && ((!schemaObject.required && numProperties) || (schemaObject.required && numProperties !== schemaObject.required.length))) { - coreType.push(indent(`[key: string]: ${tsUnionOf(addlType ? addlType : "unknown", "undefined")};`, indentLv)); - } else { - coreType.push(indent(`[key: string]: ${addlType ? addlType : "unknown"};`, indentLv)); - } - } - if (schemaObject.$defs && typeof schemaObject.$defs === "object" && Object.keys(schemaObject.$defs).length) { - coreType.push(indent(`$defs: ${transformSchemaObjectMap(schemaObject.$defs, { path: `${path}$defs/`, ctx: { ...ctx, indentLv } })};`, indentLv)); } - indentLv--; - } - - // close coreType - let finalType = coreType.length ? `{\n${coreType.join("\n")}\n${indent("}", indentLv)}` : ""; - /** collect oneOf/allOf/anyOf with Omit<> for discriminators */ - function collectCompositions(items: (SchemaObject | ReferenceObject)[]): string[] { - const output: string[] = []; - for (const item of items) { - const itemType = transformSchemaObject(item, { path, ctx: { ...ctx, indentLv } }); - if ("$ref" in item && ctx.discriminators[item.$ref]) { - output.push(tsOmit(itemType, [ctx.discriminators[item.$ref].propertyName])); - continue; - } - output.push(itemType); - } - return output; - } - // oneOf (discriminator) - if (Array.isArray(schemaObject.oneOf) && schemaObject.oneOf.length) { - const oneOfType = tsUnionOf(...collectCompositions(schemaObject.oneOf)); - finalType = finalType ? tsIntersectionOf(finalType, oneOfType) : oneOfType; - } else { - // allOf - if (Array.isArray((schemaObject as any).allOf) && schemaObject.allOf!.length) { - finalType = tsIntersectionOf(...(finalType ? [finalType] : []), ...collectCompositions(schemaObject.allOf!)); - if ("required" in schemaObject && Array.isArray(schemaObject.required)) { - finalType = tsWithRequired(finalType, schemaObject.required); + // $defs + if ( + schemaObject.$defs && + typeof schemaObject.$defs === "object" && + Object.keys(schemaObject.$defs).length + ) { + const defKeys: ts.TypeElement[] = []; + for (const [k, v] of Object.entries(schemaObject.$defs)) { + const property = ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: + options.ctx.immutableTypes || ("readonly" in v && !!v.readOnly), + }), + /* name */ tsPropertyIndex(k), + /* questionToken */ undefined, + /* type */ transformSchemaObject(v, { + ...options, + path: createRef([options.path ?? "", "$defs", k]), + }), + ); + addJSDocComment(v, property); + defKeys.push(property); } + coreObjectType.push( + ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: options.ctx.immutableTypes, + }), + /* name */ tsPropertyIndex("$defs"), + /* questionToken */ undefined, + /* type */ ts.factory.createTypeLiteralNode(defKeys), + ), + ); } - // anyOf - if (Array.isArray(schemaObject.anyOf) && schemaObject.anyOf.length) { - const anyOfTypes = tsUnionOf(...collectCompositions(schemaObject.anyOf)); - finalType = finalType ? tsIntersectionOf(finalType, anyOfTypes) : anyOfTypes; + + // additionalProperties + if (schemaObject.additionalProperties || options.ctx.additionalProperties) { + const hasExplicitAdditionalProperties = + typeof schemaObject.additionalProperties === "object" && + Object.keys(schemaObject.additionalProperties).length; + const addlType = hasExplicitAdditionalProperties + ? transformSchemaObject( + schemaObject.additionalProperties as SchemaObject, + options, + ) + : UNKNOWN; + coreObjectType.push( + ts.factory.createIndexSignature( + /* modifiers */ tsModifiers({ + readonly: options.ctx.immutableTypes, + }), + /* parameters */ [ + ts.factory.createParameterDeclaration( + /* modifiers */ undefined, + /* dotDotDotToken */ undefined, + /* name */ ts.factory.createIdentifier("key"), + /* questionToken */ undefined, + /* type */ STRING, + ), + ], + /* type */ addlType, + ), + ); } } - // nullable (3.0) - if (schemaObject.nullable) finalType = tsUnionOf(finalType || "Record", "null"); - - if (finalType) return finalType; - - // any type - if (!("type" in schemaObject)) return "unknown"; - - // if no type could be generated, fall back to “empty object” type - return ctx.emptyObjectsUnknown ? "Record" : "Record"; -} - -export function getDiscriminatorPropertyName(path: string, discriminator: DiscriminatorObject): string { - // get the inferred propertyName value from the last section of the path (as the spec suggests to do) - let value = parseRef(path).path.pop()!; - // if mapping, and there’s a match, use this rather than the inferred name - if (discriminator.mapping) { - // Mapping value can either be a fully-qualified ref (#/components/schemas/XYZ) or a schema name (XYZ) - const matchedValue = Object.entries(discriminator.mapping).find(([, v]) => (!v.startsWith("#") && v === value) || (v.startsWith("#") && parseRef(v).path.pop() === value)); - if (matchedValue) value = matchedValue[0]; // why was this designed backwards!? - } - return `${escObjKey(discriminator.propertyName)}: ${escStr(value)};`; + return coreObjectType.length + ? ts.factory.createTypeLiteralNode(coreObjectType) + : undefined; } diff --git a/packages/openapi-typescript/src/transform/webhooks-object.ts b/packages/openapi-typescript/src/transform/webhooks-object.ts index 6589d035b..543925588 100644 --- a/packages/openapi-typescript/src/transform/webhooks-object.ts +++ b/packages/openapi-typescript/src/transform/webhooks-object.ts @@ -1,23 +1,30 @@ +import ts from "typescript"; +import { tsModifiers, tsPropertyIndex } from "../lib/ts.js"; +import { createRef, getEntries } from "../lib/utils.js"; import type { GlobalContext, WebhooksObject } from "../types.js"; -import { escStr, getEntries, indent } from "../utils.js"; import transformPathItemObject from "./path-item-object.js"; -export default function transformWebhooksObject(webhooksObject: WebhooksObject, ctx: GlobalContext): string { - let { indentLv } = ctx; - const output: string[] = ["{"]; - indentLv++; - for (const [name, pathItemObject] of getEntries(webhooksObject, ctx.alphabetize, ctx.excludeDeprecated)) { - output.push( - indent( - `${escStr(name)}: ${transformPathItemObject(pathItemObject, { - path: `#/webhooks/${name}`, - ctx: { ...ctx, indentLv }, - })};`, - indentLv, +export default function transformWebhooksObject( + webhooksObject: WebhooksObject, + options: GlobalContext, +): ts.TypeNode { + const type: ts.TypeElement[] = []; + + for (const [name, pathItemObject] of getEntries(webhooksObject, options)) { + type.push( + ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: options.immutableTypes, + }), + /* name */ tsPropertyIndex(name), + /* questionToken */ undefined, + /* type */ transformPathItemObject(pathItemObject, { + path: createRef(["webhooks", name]), + ctx: options, + }), ), ); } - indentLv--; - output.push(indent("}", indentLv)); - return output.join("\n"); + + return ts.factory.createTypeLiteralNode(type); } diff --git a/packages/openapi-typescript/src/types.ts b/packages/openapi-typescript/src/types.ts index 87ce34f6c..bb95ba702 100644 --- a/packages/openapi-typescript/src/types.ts +++ b/packages/openapi-typescript/src/types.ts @@ -1,14 +1,19 @@ -import type { PathLike } from "node:fs"; -import type { RequestInfo, RequestInit, Response } from "undici"; -import type { TransformSchemaObjectOptions } from "./transform/schema-object.js"; +import type { RawConfig as RedoclyConfig } from "@redocly/openapi-core"; +import type ts from "typescript"; -// Many types allow for true “any” +// Many types allow for true “any” for inheritance to work /* eslint-disable @typescript-eslint/no-explicit-any */ export interface Extensable { [key: `x-${string}`]: any; } +// Note: these OpenAPI types are meant only for internal use, not external +// consumption. Some formatting may be better in other libraries meant for +// consumption. Some typing may be “loose” or “incorrect” in order to guarantee +// that all logical paths are handled. In other words, these are built more +// for ways schemas _can_ be written, not necessarily how they _should_ be. + /** * [4.8] Schema * @see https://spec.openapis.org/oas/v3.1.0#schema @@ -446,32 +451,42 @@ export type SchemaObject = { | BooleanSubtype | NullSubtype | ObjectSubtype - | { type: ("string" | "number" | "integer" | "array" | "boolean" | "null" | "object")[] } + | { + type: ( + | "string" + | "number" + | "integer" + | "array" + | "boolean" + | "null" + | "object" + )[]; + } // eslint-disable-next-line @typescript-eslint/ban-types | {} ); export interface StringSubtype { - type: "string"; + type: "string" | ["string", "null"]; enum?: (string | ReferenceObject)[]; } export interface NumberSubtype { - type: "number"; + type: "number" | ["number", "null"]; minimum?: number; maximum?: number; enum?: (number | ReferenceObject)[]; } export interface IntegerSubtype { - type: "integer"; + type: "integer" | ["integer", "null"]; minimum?: number; maximum?: number; enum?: (number | ReferenceObject)[]; } export interface ArraySubtype { - type: "array"; + type: "array" | ["array", "null"]; prefixItems?: (SchemaObject | ReferenceObject)[]; items?: SchemaObject | ReferenceObject | (SchemaObject | ReferenceObject)[]; minItems?: number; @@ -480,7 +495,7 @@ export interface ArraySubtype { } export interface BooleanSubtype { - type: "boolean"; + type: "boolean" | ["boolean", "null"]; enum?: (boolean | ReferenceObject)[]; } @@ -491,7 +506,11 @@ export interface NullSubtype { export interface ObjectSubtype { type: "object" | ["object", "null"]; properties?: { [name: string]: SchemaObject | ReferenceObject }; - additionalProperties?: boolean | Record | SchemaObject | ReferenceObject; + additionalProperties?: + | boolean + | Record + | SchemaObject + | ReferenceObject; required?: string[]; allOf?: (SchemaObject | ReferenceObject)[]; anyOf?: (SchemaObject | ReferenceObject)[]; @@ -606,116 +625,82 @@ export interface OAuthFlowObject extends Extensable { * [4.8.30] Security Requirements Object * Lists the required security schemes to execute this operation. The name used for each property MUST correspond to a security scheme declared in the Security Schemes under the Components Object. */ -export type SecurityRequirementObject = Record; +export type SecurityRequirementObject = Record< + keyof ComponentsObject["securitySchemes"], + string[] +>; export interface OpenAPITSOptions { - /** Allow schema objects to have additional properties if not expressly forbidden? (default: false) */ + /** Treat all objects as if they have `additionalProperties: true` by default (default: false) */ additionalProperties?: boolean; /** Alphabetize all keys? (default: false) */ alphabetize?: boolean; - /** Specify auth if using openapi-typescript to fetch URL */ - auth?: string; /** Allow schema objects with no specified properties to have additional properties if not expressly forbidden? (default: false) */ emptyObjectsUnknown?: boolean; - /** Specify current working directory (cwd) to resolve remote schemas on disk (not needed for remote URL schemas) */ - cwd?: PathLike; + /** Provide current working directory (cwd) which helps resolve relative remote schemas */ + cwd?: string; /** Should schema objects with a default value not be considered optional? */ defaultNonNullable?: boolean; /** Manually transform certain Schema Objects with a custom TypeScript type */ - transform?: (schemaObject: SchemaObject, options: TransformSchemaObjectOptions) => string | undefined; + transform?: ( + schemaObject: SchemaObject, + options: TransformNodeOptions, + ) => ts.TypeNode | undefined; /** Modify TypeScript types built from Schema Objects */ - postTransform?: (type: string, options: TransformSchemaObjectOptions) => string | undefined; + postTransform?: ( + type: ts.TypeNode, + options: TransformNodeOptions, + ) => ts.TypeNode | undefined; /** Add readonly properties and readonly arrays? (default: false) */ immutableTypes?: boolean; /** (optional) Should logging be suppressed? (necessary for STDOUT) */ silent?: boolean; /** (optional) OpenAPI version. Must be present if parsing raw schema */ version?: number; - /** - * (optional) List of HTTP headers that will be sent with the fetch request to a remote schema. This is - * in addition to the authorization header. In some cases, servers require headers such as Accept: application/json - * or Accept: text/yaml to be sent in order to figure out how to properly fetch the OpenAPI/Swagger document as code. - * These headers will only be sent in the case that the schema URL protocol is of type http or https. - */ - httpHeaders?: Record; - /** - * HTTP verb used to fetch the schema from a remote server. This is only applied - * when the schema is a string and has the http or https protocol present. By default, - * the request will use the HTTP GET method to fetch the schema from the server. - * - * @default {string} GET - */ - httpMethod?: string; /** (optional) Export type instead of interface */ exportType?: boolean; + /** Export true TypeScript enums instead of unions */ + enum?: boolean; /** (optional) Generate tuples using array minItems / maxItems */ supportArrayLength?: boolean; /** (optional) Substitute path parameter names with their respective types */ pathParamsAsTypes?: boolean; - /** - * (optional) Provide your own comment header that prefixes the generated file. - * Note this isn’t validated, so any string entered will be accepted as-is. - */ - commentHeader?: string; - /** (optional) inject code before schema ? */ - inject?: string; - /** - * (optional) A fetch implementation. Will default to the global fetch - * function if available; else, it will use unidici's fetch function. - */ - fetch?: Fetch; /** Exclude deprecated fields from types? (default: false) */ excludeDeprecated?: boolean; + /** + * Configure Redocly for validation, schema fetching, and bundling + * @see https://redocly.com/docs/cli/configuration/ + */ + redocly?: RedoclyConfig; } -/** Subschema discriminator (note: only valid $ref types accepted here) */ -export type Subschema = - | { hint: "LinkObject"; schema: LinkObject } - | { hint: "HeaderObject"; schema: HeaderObject } - | { hint: "MediaTypeObject"; schema: MediaTypeObject } - | { hint: "OpenAPI3"; schema: OpenAPI3 } - | { hint: "OperationObject"; schema: OperationObject } - | { hint: "ParameterObject"; schema: ParameterObject } - | { - hint: "ParameterObject[]"; - schema: (ParameterObject | ReferenceObject)[] | Record; - } - | { hint: "RequestBodyObject"; schema: RequestBodyObject } - | { hint: "ResponseObject"; schema: ResponseObject } - | { hint: "SchemaMap"; schema: Record } // subschemas are less structured - | { hint: "SchemaObject"; schema: SchemaObject }; - /** Context passed to all submodules */ export interface GlobalContext { + // user options additionalProperties: boolean; alphabetize: boolean; - cwd?: PathLike; - emptyObjectsUnknown: boolean; defaultNonNullable: boolean; - discriminators: { [$ref: string]: DiscriminatorObject }; - transform: OpenAPITSOptions["transform"]; - postTransform: OpenAPITSOptions["postTransform"]; + discriminators: Record; + emptyObjectsUnknown: boolean; + enum: boolean; + excludeDeprecated: boolean; + exportType: boolean; immutableTypes: boolean; - indentLv: number; - operations: Record< - string, - { - comment?: string; - operationType: string; - } - >; - parameters: Record; + injectFooter: ts.Node[]; pathParamsAsTypes: boolean; + postTransform: OpenAPITSOptions["postTransform"]; + redocly: RedoclyConfig; silent: boolean; supportArrayLength: boolean; - excludeDeprecated: boolean; + transform: OpenAPITSOptions["transform"]; + /** retrieve a node by $ref */ + resolve(ref: string): T | undefined; } export type $defs = Record; -// Fetch is available in the global scope starting with Node v18. -// However, @types/node does not have it yet available. -// GitHub issue: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/60924 -// Because node's underlying implementation relies on unidici, it is safe to -// rely on unidici's type until @types/node ships it. -export type Fetch = (input: RequestInfo, init?: RequestInit) => Promise; +/** generic options for most internal transform* functions */ +export interface TransformNodeOptions { + path?: string; + ctx: GlobalContext; +} diff --git a/packages/openapi-typescript/src/utils.ts b/packages/openapi-typescript/src/utils.ts deleted file mode 100644 index bc4220e38..000000000 --- a/packages/openapi-typescript/src/utils.ts +++ /dev/null @@ -1,325 +0,0 @@ -import c from "ansi-colors"; -import { isAbsolute } from "node:path"; -import supportsColor from "supports-color"; -import { fetch as unidiciFetch } from "undici"; -import type { Fetch } from "./types.js"; - -// eslint-disable-next-line @typescript-eslint/no-unnecessary-boolean-literal-compare -if (!supportsColor.stdout || supportsColor.stdout.hasBasic === false) c.enabled = false; - -export { c }; - -interface CommentObject { - const?: unknown; // jsdoc without value - default?: unknown; // jsdoc with value - deprecated?: boolean; // jsdoc without value - description?: string; // jsdoc with value - enum?: unknown[]; // jsdoc without value - example?: string; // jsdoc with value - format?: string; // not jsdoc - nullable?: boolean; // Node information - summary?: string; // not jsdoc - title?: string; // not jsdoc - type?: string | string[]; // Type of node -} - -const COMMENT_RE = /\*\//g; -export const LB_RE = /\r?\n/g; -export const DOUBLE_QUOTE_RE = /(?, path: (string | number)[]) => void, path: (string | number)[] = []): void { - if (!obj || typeof obj !== "object") return; - if (Array.isArray(obj)) { - for (let i = 0; i < obj.length; i++) walk(obj[i], cb, path.concat(i)); - return; - } - cb(obj as Record, path); - for (const k of Object.keys(obj)) walk((obj as Record)[k], cb, path.concat(k)); -} - -/** - * Preparing comments from fields - * @see {comment} for output examples - * @returns void if not comments or jsdoc format comment string - */ -export function getSchemaObjectComment(v: CommentObject, indentLv?: number): string | undefined { - if (!v || typeof v !== "object") return; - const output: string[] = []; - - // * Not JSDOC tags: [title, format] - if (v.title) output.push(v.title); - if (v.summary) output.push(v.summary); - if (v.format) output.push(`Format: ${v.format}`); - - // * JSDOC tags without value - // 'Deprecated' without value - if (v.deprecated) output.push("@deprecated"); - - // * JSDOC tags with value - const supportedJsDocTags: (keyof CommentObject)[] = ["description", "default", "example"]; - for (const field of supportedJsDocTags) { - const allowEmptyString = field === "default" || field === "example"; - if (v[field] === undefined) { - continue; - } - if (v[field] === "" && !allowEmptyString) { - continue; - } - const serialized = typeof v[field] === "object" ? JSON.stringify(v[field], null, 2) : v[field]; - output.push(`@${field} ${serialized}`); - } - - // * JSDOC 'Constant' without value - if ("const" in v) output.push("@constant"); - - // * JSDOC 'Enum' with type - if (v.enum) { - let type = "unknown"; - if (Array.isArray(v.type)) type = v.type.join("|"); - else if (typeof v.type === "string") type = v.type; - output.push(`@enum {${type}${v.nullable ? `|null` : ""}}`); - } - - return output.length ? comment(output.join("\n"), indentLv) : undefined; -} - -/** wrap any string in a JSDoc-style comment wrapper */ -export function comment(text: string, indentLv?: number): string { - const commentText = text.trim().replace(COMMENT_RE, "*\\/"); - - // if single-line comment - if (!commentText.includes("\n")) return `/** ${commentText} */`; - - // if multi-line comment - const star = indent(" *", indentLv ?? 0); - - const body = commentText.split(LB_RE).map((ln) => { - ln = ln.trimEnd(); - return ln.length > 0 ? `${star} ${ln}` : star; - }); - - return ["/**", body.join("\n"), indent(" */", indentLv ?? 0)].join("\n"); -} - -/** handle any valid $ref */ -export function parseRef(ref: string): { filename: string; path: string[] } { - if (typeof ref !== "string") return { filename: ".", path: [] }; - - // OpenAPI $ref - if (ref.includes("#/")) { - const [filename, pathStr] = ref.split("#"); - const parts = pathStr.split("/"); - const path: string[] = []; - for (const part of parts) { - if (!part || part === "properties") continue; // remove empty parts and "properties" (gets flattened by TS) - path.push(decodeRef(part)); - } - return { filename: filename || ".", path }; - } - // js-yaml $ref - else if (ref.includes('["')) { - const parts = ref.split('["'); - const path: string[] = []; - for (const part of parts) { - const sanitized = part.replace('"]', "").trim(); - if (!sanitized || sanitized === "properties") continue; - path.push(sanitized); - } - return { filename: ".", path }; - } - // remote $ref - return { filename: ref, path: [] }; -} - -/** Parse TS index */ -export function parseTSIndex(type: string): string[] { - const parts: string[] = []; - const bracketI = type.indexOf("["); - if (bracketI === -1) return [type]; - - parts.push(type.substring(0, bracketI)); - const matches = type.match(TS_INDEX_RE); - if (matches) { - for (const m of matches) parts.push(m.substring('["'.length, m.length - '"]'.length)); - } - return parts; -} - -/** Make TS index */ -export function makeTSIndex(parts: (string | number)[]): string { - return `${parts[0]}[${parts.slice(1).map(escStr).join("][")}]`; -} - -/** decode $ref (https://swagger.io/docs/specification/using-ref/#escape) */ -export function decodeRef(ref: string): string { - return ref.replace(ESC_0_RE, "~").replace(ESC_1_RE, "/").replace(DOUBLE_QUOTE_RE, '\\"'); -} - -/** encode $ref (https://swagger.io/docs/specification/using-ref/#escape) */ -export function encodeRef(ref: string): string { - return ref.replace(TILDE_RE, "~0").replace(FS_RE, "~1"); -} - -/** add parenthesis around union, intersection (| and &) and readonly types */ -function parenthesise(type: string) { - return TS_UNION_INTERSECTION_RE.test(type) || TS_READONLY_RE.test(type) ? `(${type})` : type; -} - -/** T[] */ -export function tsArrayOf(type: string): string { - return `${parenthesise(type)}[]`; -} - -/** X & Y & Z; */ -export function tsIntersectionOf(...types: string[]): string { - types = types.filter((t) => t !== "unknown"); - if (types.length === 0) return "unknown"; - if (types.length === 1) return String(types[0]); // don’t add parentheses around one thing - return types.map((t) => parenthesise(t)).join(" & "); -} - -/** NonNullable */ -export function tsNonNullable(type: string): string { - return `NonNullable<${type}>`; -} - -/** - * OneOf - * TypeScript unions are not exclusive @see https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types - * However, at a certain size, the helper type becomes too complex for inference to work. Hence the > check. - */ -export function tsOneOf(...types: string[]): string { - if (types.length === 1) { - return types[0]; - } else if (types.length > 5) { - return tsUnionOf(...types); - } - return `OneOf<[${types.join(", ")}]>`; -} - -/** Pick */ -export function tsPick(root: string, keys: string[]): string { - return `Pick<${root}, ${tsUnionOf(...keys.map(escStr))}>`; -} - -/** Omit */ -export function tsOmit(root: string, keys: string[]): string { - return `Omit<${root}, ${tsUnionOf(...keys.map(escStr))}>`; -} - -/** WithRequired */ -export function tsWithRequired(root: string, keys: string[]): string { - return `WithRequired<${root}, ${tsUnionOf(...keys.map(escStr))}>`; -} - -/** make a given property key optional */ -export function tsOptionalProperty(key: string): string { - return `${key}?`; -} - -/** make a given type readonly */ -export function tsReadonly(type: string): string { - return `readonly ${type}`; -} - -/** [T, A, B, ...] */ -export function tsTupleOf(...types: string[]): string { - return `[${types.join(", ")}]`; -} - -/** X | Y | Z */ -export function tsUnionOf(...types: (string | number | boolean)[]): string { - if (types.length === 0) return "never"; - - // de-duplicate the union - const members = new Set(); - for (const t of types) { - // unknown swallows everything else in the union - if (t === "unknown") return "unknown"; - - members.add(String(t)); - } - - // never gets swallowed by anything else, so only return never - // if it is the only member - if (members.has("never") && members.size === 1) return "never"; - - // (otherwise remove it) - members.delete("never"); - - // return the only member without parentheses - const memberArr = Array.from(members); - if (members.size === 1) return memberArr[0]; - - // build the union string - let out = ""; - for (let i = 0; i < memberArr.length; i++) { - const t = memberArr[i]; - out += parenthesise(t); - if (i !== memberArr.length - 1) out += " | "; - } - - return out; -} - -/** escape string value */ -export function escStr(input: unknown): string { - if (typeof input !== "string") return JSON.stringify(input); - return `"${input.replace(LB_RE, "").replace(DOUBLE_QUOTE_RE, '\\"')}"`; -} - -/** surround a JS object key with quotes, if needed */ -export function escObjKey(input: string): string { - return JS_OBJ_KEY.test(input) ? input : escStr(input); -} - -/** Indent a string */ -export function indent(input: string, level: number) { - if (level > 0) { - return " ".repeat(level).concat(input); - } else { - return input; - } -} - -/** call Object.entries() and optionally sort */ -export function getEntries(obj: ArrayLike | Record, alphabetize?: boolean, excludeDeprecated?: boolean) { - let entries = Object.entries(obj); - if (alphabetize) entries.sort(([a], [b]) => a.localeCompare(b, "en", { numeric: true })); - if (excludeDeprecated) entries = entries.filter(([, v]) => !(v && typeof v === "object" && "deprecated" in v && v.deprecated)); - return entries; -} - -/** print error message */ -export function error(msg: string) { - console.error(c.red(` ✘ ${msg}`)); // eslint-disable-line no-console -} - -/** is the given string a remote URL */ -export function isRemoteURL(url: string): boolean { - // believe it or not, this is faster than RegEx - return url.startsWith("https://") || url.startsWith("//") || url.startsWith("http://"); -} - -/** is the given string a filepath? */ -export function isFilepath(url: string): boolean { - return url.startsWith("file://") || isAbsolute(url); -} - -export function getDefaultFetch(): Fetch { - // @ts-expect-error globalThis doesn’t have a type - const globalFetch: Fetch | undefined = globalThis.fetch; - if (typeof globalFetch === "undefined") { - return unidiciFetch; - } - return globalFetch; -} diff --git a/packages/openapi-typescript/test/components-object.test.ts b/packages/openapi-typescript/test/components-object.test.ts deleted file mode 100644 index 1ab7bd925..000000000 --- a/packages/openapi-typescript/test/components-object.test.ts +++ /dev/null @@ -1,305 +0,0 @@ -import type { ComponentsObject, GlobalContext } from "../src/types.js"; -import transformComponentsObject from "../src/transform/components-object.js"; - -const options: GlobalContext = { - additionalProperties: false, - alphabetize: false, - defaultNonNullable: false, - discriminators: {}, - emptyObjectsUnknown: false, - immutableTypes: false, - indentLv: 0, - operations: {}, - parameters: {}, - pathParamsAsTypes: false, - postTransform: undefined, - silent: true, - supportArrayLength: false, - transform: undefined, - excludeDeprecated: false, -}; - -const basicSchema: ComponentsObject = { - schemas: { - String: { type: "string" }, - Error: { - type: "object", - required: ["code", "message"], - properties: { code: { type: "string" }, message: { type: "string" } }, - }, - }, - responses: { - OK: { - description: "OK", - content: { - "text/html": { - schema: { - type: "string", - }, - }, - }, - }, - NoContent: { - description: "No Content", - }, - ErrorResponse: { - $ref: 'components["schemas"]["Error"]', - }, - }, - parameters: { - Search: { - name: "search", - in: "query", - required: true, - schema: { type: "string" }, - }, - }, - requestBodies: { - UploadUser: { - content: { - "application/json": { - schema: { - type: "object", - properties: { email: { type: "string" } }, - required: ["email"], - }, - }, - }, - }, - }, - // "examples" should just be ignored - examples: { - ExampleObject: { - value: { - name: "Example", - $ref: "foo.yml#/components/schemas/Bar", - }, - }, - }, - headers: { - Auth: { schema: { type: "string" } }, - }, - pathItems: { - UploadUser: { - get: { - requestBody: { $ref: 'components["requestBodies"]["UploadUser"]' }, - }, - }, - }, -}; - -const optionalParamSchema: ComponentsObject = { - parameters: { - myParam: { - name: "myParam", - in: "query", - required: false, - schema: { type: "string" }, - }, - myParam2: { - name: "myParam2", - in: "query", - schema: { type: "string" }, - }, - }, -}; - -describe("Components Object", () => { - test("basic", () => { - const generated = transformComponentsObject(basicSchema, options); - expect(generated).toBe(`{ - schemas: { - String: string; - Error: { - code: string; - message: string; - }; - }; - responses: { - /** @description OK */ - OK: { - content: { - "text/html": string; - }; - }; - /** @description No Content */ - NoContent: { - content: never; - }; - ErrorResponse: components["schemas"]["Error"]; - }; - parameters: { - Search: string; - }; - requestBodies: { - UploadUser?: { - content: { - "application/json": { - email: string; - }; - }; - }; - }; - headers: { - Auth: string; - }; - pathItems: { - UploadUser: { - get: { - requestBody: components["requestBodies"]["UploadUser"]; - }; - }; - }; -}`); - }); - - describe("options", () => { - describe("alphabetize", () => { - test("true", () => { - const schema: ComponentsObject = { - schemas: { - Gamma: { - type: "object", - properties: { - 10: { type: "boolean" }, - 2: { type: "boolean" }, - 1: { type: "boolean" }, - }, - }, - Beta: { - type: "object", - properties: { - b: { type: "boolean" }, - c: { type: "boolean" }, - a: { type: "boolean" }, - }, - }, - Alpha: { - type: "object", - properties: { - z: { type: "boolean" }, - a: { type: "boolean" }, - }, - }, - }, - }; - const generated = transformComponentsObject(schema, { ...options, alphabetize: true }); - expect(generated).toBe(`{ - schemas: { - Alpha: { - a?: boolean; - z?: boolean; - }; - Beta: { - a?: boolean; - b?: boolean; - c?: boolean; - }; - Gamma: { - 1?: boolean; - 2?: boolean; - 10?: boolean; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -}`); - }); - }); - describe("immutableTypes", () => { - test("true", () => { - const generated = transformComponentsObject(basicSchema, { ...options, immutableTypes: true }); - expect(generated).toBe(`{ - schemas: { - readonly String: string; - readonly Error: { - readonly code: string; - readonly message: string; - }; - }; - responses: { - /** @description OK */ - readonly OK: { - content: { - readonly "text/html": string; - }; - }; - /** @description No Content */ - readonly NoContent: { - content: never; - }; - readonly ErrorResponse: components["schemas"]["Error"]; - }; - parameters: { - readonly Search: string; - }; - requestBodies: { - readonly UploadUser?: { - readonly content: { - readonly "application/json": { - readonly email: string; - }; - }; - }; - }; - headers: { - readonly Auth: string; - }; - pathItems: { - readonly UploadUser: { - get: { - readonly requestBody: components["requestBodies"]["UploadUser"]; - }; - }; - }; -}`); - }); - }); - describe("excludeDeprecated", () => { - test("true", () => { - const schema: ComponentsObject = { - schemas: { - Alpha: { - type: "object", - properties: { - a: { type: "boolean", deprecated: true }, - z: { type: "boolean" }, - }, - }, - }, - }; - const generated = transformComponentsObject(schema, { ...options, excludeDeprecated: true }); - expect(generated).toBe(`{ - schemas: { - Alpha: { - z?: boolean; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -}`); - }); - }); - }); - - test("parameters with required: false", () => { - const generated = transformComponentsObject(optionalParamSchema, options); - expect(generated).toBe(`{ - schemas: never; - responses: never; - parameters: { - myParam?: string; - myParam2?: string; - }; - requestBodies: never; - headers: never; - pathItems: never; -}`); - }); -}); diff --git a/packages/openapi-typescript/test/discriminators.test.ts b/packages/openapi-typescript/test/discriminators.test.ts new file mode 100644 index 000000000..3780c1392 --- /dev/null +++ b/packages/openapi-typescript/test/discriminators.test.ts @@ -0,0 +1,248 @@ +import openapiTS, { COMMENT_HEADER, OpenAPITSOptions } from "../src/index.js"; +import { TestCase } from "./test-helpers.js"; + +describe("3.1 discriminators", () => { + const tests: TestCase[] = [ + [ + "allOf > mapping", + { + given: { + openapi: "3.1", + info: { title: "test", version: "1.0" }, + components: { + schemas: { + Pet: { + type: "object", + required: ["petType"], + properties: { petType: { type: "string" } }, + discriminator: { + propertyName: "petType", + mapping: { + dog: "Dog", + }, + }, + }, + Cat: { + allOf: [{ $ref: "#/components/schemas/Pet" }], + }, + Dog: { + allOf: [ + { $ref: "#/components/schemas/Pet" }, + { + type: "object", + properties: { bark: { type: "string" } }, + }, + ], + }, + Lizard: { + // mix of object + allOf + type: "object", + properties: { + lovesRocks: { type: "boolean" }, + }, + allOf: [{ $ref: "#/components/schemas/Pet" }], + }, + }, + }, + }, + want: `${COMMENT_HEADER}export type paths = Record; + +export type webhooks = Record; + +export interface components { + schemas: { + Pet: { + petType: string; + }; + Cat: { + petType: "Cat"; + } & Omit; + Dog: { + petType: "dog"; + } & Omit & { + bark?: string; + }; + Lizard: { + petType: "Lizard"; + lovesRocks?: boolean; + } & Omit; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} + +export type $defs = Record; + +export type external = Record; + +export type operations = Record; +`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "allOf > no mapping", + { + given: { + openapi: "3.1", + info: { title: "test", version: "1.0" }, + components: { + schemas: { + Pet: { + type: "object", + required: ["petType"], + properties: { petType: { type: "string" } }, + discriminator: { + propertyName: "petType", + }, + }, + Cat: { + allOf: [{ $ref: "#/components/schemas/Pet" }], + }, + Dog: { + allOf: [ + { $ref: "#/components/schemas/Pet" }, + { + type: "object", + properties: { bark: { type: "string" } }, + }, + ], + }, + Lizard: { + type: "object", + properties: { + lovesRocks: { type: "boolean" }, + }, + allOf: [{ $ref: "#/components/schemas/Pet" }], + }, + }, + }, + }, + want: `${COMMENT_HEADER} +export type paths = Record; + +export type webhooks = Record; + +export interface components { + schemas: { + Pet: { + petType: string; + }; + Cat: { + petType: "Cat"; + } & Omit; + Dog: { + petType: "Dog"; + } & Omit & { + bark?: string; + }; + Lizard: { + petType: "Lizard"; + lovesRocks?: boolean; + } & Omit; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; + }; +}; + +export type $defs = Record; + +export type external = Record; + +export type operations = Record; +`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "oneOf", + { + given: { + openapi: "3.1", + info: { title: "test", version: "1.0" }, + components: { + schemas: { + Pet: { + type: "object", // note: this is “wrong” but added because this should be ignored (fixes a bug) + required: ["petType"], + oneOf: [ + { $ref: "#/components/schemas/Cat" }, + { $ref: "#/components/schemas/Dog" }, + { $ref: "#/components/schemas/Lizard" }, + ], + discriminator: { + propertyName: "petType", + mapping: { + dog: "#/components/schemas/Dog", + }, + }, + } as any, + Cat: { + type: "object", + properties: { + name: { type: "string" }, + }, + required: ["petType"], + }, + Dog: { + type: "object", + properties: { bark: { type: "string" } }, + required: ["petType"], + }, + Lizard: { + type: "object", + properties: { + lovesRocks: { type: "boolean" }, + }, + required: ["petType"], + }, + }, + }, + }, + want: `${COMMENT_HEADER} +export type paths = Record; + +export type webhooks = Record; + +export interface components { + schemas: { + Pet: components["schemas"]["Cat"] | components["schemas"]["Dog"] | components["schemas"]["Lizard"]; + Cat: { + name?: string; + }; + Dog: { + bark?: string; + }; + Lizard: { + lovesRocks?: boolean; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} + +export type $defs = Record; + +export type external = Record; + +export type operations = Record; +`, + // options: DEFAULT_OPTIONS, + }, + ], + ]; + + test.each(tests)("%s", async (_, { given, want, options }) => { + expect(await openapiTS(given, options)).toBe(want); + }); +}); diff --git a/packages/openapi-typescript/test/fixtures/nested-ref/_nested-ref-partial.yaml b/packages/openapi-typescript/test/fixtures/nested-ref/_nested-ref-partial.yaml deleted file mode 100644 index bb62cb7cf..000000000 --- a/packages/openapi-typescript/test/fixtures/nested-ref/_nested-ref-partial.yaml +++ /dev/null @@ -1,15 +0,0 @@ -/ref-path: - get: - responses: - 200: - description: OK - content: - application/json: - schema: - $ref: "./nested-ref-2/_nested-ref-2.yaml" -StringParam: - type: parameter - required: true - in: path - schema: - type: string diff --git a/packages/openapi-typescript/test/fixtures/nested-ref/nested-ref-2/_nested-ref-2.yaml b/packages/openapi-typescript/test/fixtures/nested-ref/nested-ref-2/_nested-ref-2.yaml deleted file mode 100644 index 562d7498a..000000000 --- a/packages/openapi-typescript/test/fixtures/nested-ref/nested-ref-2/_nested-ref-2.yaml +++ /dev/null @@ -1,4 +0,0 @@ -type: object -properties: - string: - type: string diff --git a/packages/openapi-typescript/test/fixtures/nested-ref/nested-ref-2/nested-ref-3/_nested-ref-3.yaml b/packages/openapi-typescript/test/fixtures/nested-ref/nested-ref-2/nested-ref-3/_nested-ref-3.yaml deleted file mode 100644 index ae4a034fb..000000000 --- a/packages/openapi-typescript/test/fixtures/nested-ref/nested-ref-2/nested-ref-3/_nested-ref-3.yaml +++ /dev/null @@ -1,2 +0,0 @@ - -$ref: '../_nested-ref-2.yaml' diff --git a/packages/openapi-typescript/test/fixtures/remote-ref-test.yaml b/packages/openapi-typescript/test/fixtures/remote-ref-test.yaml deleted file mode 100644 index 399695ee7..000000000 --- a/packages/openapi-typescript/test/fixtures/remote-ref-test.yaml +++ /dev/null @@ -1,27 +0,0 @@ -openapi: "3.0" -info: - title: test - version: "1.0" -paths: - /: - get: - responses: - 200: - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/RemoteType" - /ref-path: - $ref: "./nested-ref/_nested-ref-partial.yaml#~1ref-path" -components: - parameters: - NestedParam: - $ref: "./nested-ref/_nested-ref-partial.yaml#StringParam" - schemas: - NestedType: - $ref: "nested-ref/nested-ref-2/nested-ref-3/_nested-ref-3.yaml" - RemoteType: - $ref: "_remote-ref-full.yaml#/components/schemas/SchemaType" - RemotePartialType: - $ref: "_remote-ref-partial.yaml#/PartialType" diff --git a/packages/openapi-typescript/test/header-object.test.ts b/packages/openapi-typescript/test/header-object.test.ts deleted file mode 100644 index d3bba46a8..000000000 --- a/packages/openapi-typescript/test/header-object.test.ts +++ /dev/null @@ -1,40 +0,0 @@ -import type { HeaderObject } from "../src/types.js"; -import transformHeaderObject, { TransformHeaderObjectOptions } from "../src/transform/header-object.js"; - -const options: TransformHeaderObjectOptions = { - path: "#/test/header-object", - ctx: { - additionalProperties: false, - alphabetize: false, - emptyObjectsUnknown: false, - defaultNonNullable: false, - discriminators: {}, - immutableTypes: false, - indentLv: 0, - operations: {}, - parameters: {}, - pathParamsAsTypes: false, - postTransform: undefined, - silent: true, - supportArrayLength: false, - transform: undefined, - excludeDeprecated: false, - }, -}; - -describe("Header Object", () => { - test("basic", () => { - const schema: HeaderObject = { - description: "Auth", - content: { - "application/json": { - schema: { type: "string" }, - }, - }, - }; - const generated = transformHeaderObject(schema, options); - expect(generated).toBe(`{ - "application/json": string; -}`); - }); -}); diff --git a/packages/openapi-typescript/test/index.test.ts b/packages/openapi-typescript/test/index.test.ts index dc1254a14..0832b2ee3 100644 --- a/packages/openapi-typescript/test/index.test.ts +++ b/packages/openapi-typescript/test/index.test.ts @@ -1,15 +1,7 @@ -import fs from "node:fs"; import { URL, fileURLToPath } from "node:url"; -import yaml from "js-yaml"; -import openapiTS from "../dist/index.js"; -import type { OpenAPI3 } from "../src/types.js"; - -const BOILERPLATE = `/** - * This file was auto-generated by openapi-typescript. - * Do not make direct changes to the file. - */ - -`; +import openapiTS, { COMMENT_HEADER } from "../src/index.js"; +import type { OpenAPI3, OpenAPITSOptions } from "../src/types.js"; +import { TestCase } from "./test-helpers.js"; const ONE_OF_TYPE_HELPERS = ` /** OneOf type helpers */ @@ -23,6 +15,7 @@ const WITH_REQUIRED_TYPE_HELPERS = ` type WithRequired = T & { [P in K]-?: T[P] }; `; +// prevent process.exit(1) from truly firing, as it will bypass Vitest’s error catching (throw new Error() will work as-expected) beforeAll(() => { vi.spyOn(process, "exit").mockImplementation(((code: number) => { throw new Error(`Process exited with error code ${code}`); @@ -34,35 +27,41 @@ describe("openapiTS", () => { vi.spyOn(process, "exit").mockImplementation((() => {}) as any); }); - describe("3.0", () => { - /** test that custom $refs are ignored rather than throw errors */ - test("custom properties", async () => { - const generated = await openapiTS({ - openapi: "3.0", - info: { title: "Test", version: "1.0" }, - components: { - schemas: { - Base: { - type: "object", - additionalProperties: { type: "string" }, - }, - SchemaType: { - oneOf: [{ $ref: "#/components/schemas/Base" }, { $ref: "#/x-swagger-bake/components/schemas/Extension" }], + const tests: TestCase[] = [ + [ + "$refs > basic", + { + given: { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, + components: { + schemas: { + ObjRef: { + type: "object", + properties: { + base: { $ref: "#/components/schemas/Entity/properties/foo" }, + }, + }, + AllOf: { + allOf: [ + { $ref: "#/components/schemas/Entity/properties/foo" }, + { $ref: "#/components/schemas/Thingy/properties/bar" }, + ], + }, }, }, }, - }); - expect(generated).toBe(`${BOILERPLATE} + want: `${COMMENT_HEADER} export type paths = Record; export type webhooks = Record; export interface components { schemas: { - Base: { - [key: string]: string; + ObjRef: { + base?: components["schemas"]["Entity"]["foo"]; }; - SchemaType: components["schemas"]["Base"]; + AllOf: components["schemas"]["Entity"]["foo"] & components["schemas"]["Thingy"]["bar"]; }; responses: never; parameters: never; @@ -76,165 +75,167 @@ export type $defs = Record; export type external = Record; export type operations = Record; -`); - }); - - /** test that component examples aren’t parsed (they may be invalid / pseudocode) */ - test("components.examples are skipped", async () => { - const generated = await openapiTS({ - openapi: "3.0", - info: { title: "Test", version: "1.0" }, - components: { - schemas: { - Example: { - type: "object", - properties: { - name: { type: "string" }, - $ref: { type: "string" }, +`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "$refs > unresolved $refs are ignored", + { + given: { + components: { + schemas: { + Base: { + type: "object", + additionalProperties: { type: "string" }, }, - required: ["name", "$ref"], - }, - }, - examples: { - Example: { - value: { - name: "Test", - $ref: "fake.yml#/components/schemas/Example", + SchemaType: { + oneOf: [ + { $ref: "#/components/schemas/Base" }, + { $ref: "#/x-swagger-bake/components/schemas/Extension" }, + ], }, }, }, }, - }); - expect(generated).toBe(`${BOILERPLATE} + want: `${COMMENT_HEADER} export type paths = Record; export type webhooks = Record; export interface components { - schemas: { - Example: { - name: string; - $ref: string; + schemas: { + Base: { + [key: string]: string; + }; + SchemaType: components["schemas"]["Base"]; }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + responses: Record; + parameters: Record; + requestBodies: Record; + headers: Record; + pathItems: Record; } export type $defs = Record; export type external = Record; -export type operations = Record; -`); - }); - - /** test that $ref’d parameters make it into the paths object correctly */ - test("parameter $refs", async () => { - const generated = await openapiTS(new URL("./fixtures/parameters-test.yaml", import.meta.url)); - expect(generated).toBe(`${BOILERPLATE} -export interface paths { - "/endpoint": { - /** @description OK */ - get: { +export type operations = Record;`, + }, + ], + [ + "parameters > $refs get hoisted", + { + given: new URL("./fixtures/parameters-test.yaml"), + want: `${COMMENT_HEADER} + export interface paths { + "/endpoint": { + /** @description OK */ + get: { + parameters: { + path: { + /** @description This overrides parameters */ + local_param_a: number; + local_ref_a: components["parameters"]["local_ref_a"]; + remote_ref_a: external["_parameters-test-partial.yaml"]["remote_ref_a"]; + local_ref_b: components["parameters"]["local_ref_b"]; + remote_ref_b: external["_parameters-test-partial.yaml"]["remote_ref_b"]; + }; + }; + }; parameters: { path: { - /** @description This overrides parameters */ - local_param_a: number; + local_param_a: string; local_ref_a: components["parameters"]["local_ref_a"]; remote_ref_a: external["_parameters-test-partial.yaml"]["remote_ref_a"]; - local_ref_b: components["parameters"]["local_ref_b"]; - remote_ref_b: external["_parameters-test-partial.yaml"]["remote_ref_b"]; }; }; }; - parameters: { - path: { - local_param_a: string; - local_ref_a: components["parameters"]["local_ref_a"]; - remote_ref_a: external["_parameters-test-partial.yaml"]["remote_ref_a"]; - }; - }; - }; -} - -export type webhooks = Record; + } -export interface components { - schemas: never; - responses: never; - parameters: { - local_ref_a: string; - local_ref_b: string; - }; - requestBodies: never; - headers: never; - pathItems: never; -} + export type webhooks = Record; -export type $defs = Record; + export interface components { + schemas: never; + responses: never; + parameters: { + local_ref_a: string; + local_ref_b: string; + }; + requestBodies: never; + headers: never; + pathItems: never; + } -export interface external { - "_parameters-test-partial.yaml": { - remote_ref_a: string; - remote_ref_b: string; - }; -} + export type $defs = Record; -export type operations = Record; -`); - }); + export interface external { + "_parameters-test-partial.yaml": { + remote_ref_a: string; + remote_ref_b: string; + }; + } - /** test that $ref’d parameters, operation parameters, and method parameters all make it into the operation object correctly */ - test("operations keep all parameters", async () => { - const schema: OpenAPI3 = { - openapi: "3.0", - info: { title: "Test", version: "1.0" }, - paths: { - "/post/{id}": { - get: { - operationId: "getPost", - parameters: [{ name: "format", in: "query", schema: { type: "string" } }, { $ref: "#/components/parameters/post_id" }], - responses: { - 200: { - description: "OK", - content: { - "application/json": { schema: { $ref: "#/components/schemas/Post" } }, + export type operations = Record; + `, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "parameters > operations get correct params", + { + given: { + openapi: "3.0", + info: { title: "Test", version: "1.0" }, + paths: { + "/post/{id}": { + get: { + operationId: "getPost", + parameters: [ + { name: "format", in: "query", schema: { type: "string" } }, + { $ref: "#/components/parameters/post_id" }, + ], + responses: { + 200: { + description: "OK", + content: { + "application/json": { + schema: { $ref: "#/components/schemas/Post" }, + }, + }, }, }, }, + parameters: [ + { name: "revision", in: "query", schema: { type: "number" } }, + ], }, - parameters: [{ name: "revision", in: "query", schema: { type: "number" } }], }, - }, - components: { - schemas: { - Post: { - type: "object", - properties: { - id: { type: "number" }, - title: { type: "string" }, - body: { type: "string" }, - published_at: { type: "number" }, + components: { + schemas: { + Post: { + type: "object", + properties: { + id: { type: "number" }, + title: { type: "string" }, + body: { type: "string" }, + published_at: { type: "number" }, + }, + required: ["id", "title", "body"], }, - required: ["id", "title", "body"], }, - }, - parameters: { - post_id: { - name: "post_id", - in: "path", - schema: { type: "string" }, - required: true, + parameters: { + post_id: { + name: "post_id", + in: "path", + schema: { type: "string" }, + required: true, + }, }, }, }, - }; - const generated = await openapiTS(schema); - expect(generated).toBe(`${BOILERPLATE} + want: `${COMMENT_HEADER} export interface paths { "/post/{id}": { get: operations["getPost"]; @@ -292,134 +293,131 @@ export interface operations { }; }; } -`); - }); +`, + }, + ], + [ + "examples > skipped", + { + given: { + components: { + schemas: { + Example: { + type: "object", + properties: { + name: { type: "string" }, + $ref: { type: "string" }, + }, + required: ["name", "$ref"], + }, + }, + examples: { + Example: { + value: { + name: "Test", + $ref: "fake.yml#/components/schemas/Example", + }, + }, + }, + }, + }, + want: `${COMMENT_HEADER} +export type paths = Record; - describe("remote $refs", () => { - const expected = `${BOILERPLATE} -export interface paths { - "/": { - get: { - responses: { - /** @description OK */ - 200: { - content: { - "application/json": components["schemas"]["RemoteType"]; - }; +export type webhooks = Record; + +export interface components { + schemas: { + Example: { + name: string; + $ref: string; }; - }; }; - }; - "/ref-path": external["nested-ref/_nested-ref-partial.yaml"]; + responses: Record; + parameters: Record; + requestBodies: Record; + headers: Record; + pathItems: Record; } +export type $defs = Record; + +export type external = Record; + +export type operations = Record;`, + }, + ], + [ + "JSONSchema > $defs are respected", + { + given: new URL("./fixtures/jsonschema-defs.yaml", import.meta.url), + want: `${COMMENT_HEADER} +export type paths = Record; + export type webhooks = Record; export interface components { schemas: { - NestedType: external["nested-ref/nested-ref-2/nested-ref-3/_nested-ref-3.yaml"]; - RemoteType: external["_remote-ref-full.yaml"]["components"]["schemas"]["SchemaType"]; - RemotePartialType: external["_remote-ref-partial.yaml"]["PartialType"]; + Object: { + rootDef?: $defs["StringType"]; + nestedDef?: components["schemas"]["OtherObject"]["$defs"]["nestedDef"]; + remoteDef?: components["schemas"]["RemoteDefs"]["$defs"]["remoteDef"]; + $defs: { + hasDefs: boolean; + }; + }; + ArrayOfDefs: $defs["StringType"][]; + OtherObject: { + $defs: { + nestedDef: boolean; + }; + }; + RemoteDefs: { + $defs: { + remoteDef: external["_jsonschema-remote-obj.yaml"]["RemoteObject"]["$defs"]["remoteDef"]; + }; + }; }; responses: never; - parameters: { - NestedParam: external["nested-ref/_nested-ref-partial.yaml"]; - }; + parameters: never; requestBodies: never; headers: never; pathItems: never; } -export type $defs = Record; +export interface $defs { + StringType: string; +} export interface external { - "_remote-ref-full.yaml": { - paths: { - "/": { - get: { - responses: { - /** @description OK */ - 200: { - content: never; - }; - }; - }; - }; - }; - webhooks: Record; - components: { - schemas: { - SchemaType: { - foo?: string; - bar?: number; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; - }; - $defs: Record; - }; - "_remote-ref-partial.yaml": { - PartialType: { - foo: string; - }; - }; - "nested-ref/_nested-ref-partial.yaml": { - "/ref-path": { - get: { - responses: { - /** @description OK */ - 200: { - content: { - "application/json": external["nested-ref/nested-ref-2/_nested-ref-2.yaml"]; - }; - }; - }; + "_jsonschema-remote-obj.yaml": { + RemoteObject: { + ownProperty?: boolean; + $defs: { + remoteDef: string; }; }; - StringParam: string; - }; - "nested-ref/nested-ref-2/_nested-ref-2.yaml": { - string?: string; }; - "nested-ref/nested-ref-2/nested-ref-3/_nested-ref-3.yaml": external["nested-ref/nested-ref-2/_nested-ref-2.yaml"]; } export type operations = Record; -`; - - /** test that remote $refs are loaded correctly */ - test("remote $refs", async () => { - const generated = await openapiTS(new URL("./fixtures/remote-ref-test.yaml", import.meta.url)); - expect(generated).toBe(expected); - }); - - test("remote $refs (string path)", async () => { - // mock process.cwd() so this test doesn’t throw just because you’re not in a specific directory - vi.mock("process", () => ({ cwd: () => fileURLToPath(import.meta.url) })); - - const generated = await openapiTS("test/fixtures/remote-ref-test.yaml"); - expect(generated).toBe(expected); - - // unmock process.cwd() - vi.unmock("process"); - }); +`, + // options: DEFAULT_OPTIONS, + }, + ], + ]; - test("remote $refs (root schema JS object)", async () => { - const cwd = new URL("./fixtures/", import.meta.url); - const root = yaml.load(fs.readFileSync(new URL("remote-ref-test.yaml", cwd), "utf8")); - const generated = await openapiTS(root as any, { cwd }); - expect(generated).toBe(expected); - }); - }); + test.each(tests)("%s", async (_, { given, want, options }) => { + expect(await openapiTS(given, options)).toBe(want); + }); + describe("3.0", () => { /** test that path item objects accept $refs at the top level */ test("path object $refs", async () => { - const generated = await openapiTS(new URL("./fixtures/path-object-refs.yaml", import.meta.url)); - expect(generated).toBe(`${BOILERPLATE} + const generated = await openapiTS( + new URL("./fixtures/path-object-refs.yaml", import.meta.url), + ); + expect(generated).toBe(`${COMMENT_HEADER} export interface paths { /** @description Remote Ref */ "/get-item": external["_path-object-refs-paths.yaml"]["GetItemOperation"]; @@ -457,8 +455,10 @@ export type operations = Record; }); test("anchor $refs", async () => { - const generated = await openapiTS(new URL("./fixtures/anchor-with-ref-test-2.yaml", import.meta.url)); - expect(generated).toBe(`${BOILERPLATE} + const generated = await openapiTS( + new URL("./fixtures/anchor-with-ref-test-2.yaml", import.meta.url), + ); + expect(generated).toBe(`${COMMENT_HEADER} export interface paths { "/": { get: { @@ -529,70 +529,44 @@ export type operations = Record; }); }); - describe("3.1", () => { - test("discriminator + allOf", async () => { - const schema: OpenAPI3 = { - openapi: "3.1", - info: { title: "test", version: "1.0" }, - components: { - schemas: { - Pet: { - type: "object", - required: ["petType"], - properties: { petType: { type: "string" } }, - discriminator: { - propertyName: "petType", - mapping: { - dog: "Dog", - }, - }, - }, - Cat: { - allOf: [{ $ref: "#/components/schemas/Pet" }], - }, - Dog: { - allOf: [ - { $ref: "#/components/schemas/Pet" }, - { - type: "object", - properties: { bark: { type: "string" } }, + describe("options", () => { + describe("OneOf type helpers", () => { + test("should be added only when used", async () => { + const generated = await openapiTS( + { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, + components: { + schemas: { + User: { + oneOf: [ + { + type: "object", + properties: { firstName: { type: "string" } }, + }, + { + type: "object", + properties: { name: { type: "string" } }, + }, + ], }, - ], - }, - Lizard: { - // mix of object + allOf - type: "object", - properties: { - lovesRocks: { type: "boolean" }, }, - allOf: [{ $ref: "#/components/schemas/Pet" }], }, }, - }, - }; - const generated = await openapiTS(schema); - expect(generated).toBe(`${BOILERPLATE} + { exportType: false }, + ); + expect(generated).toBe(`${COMMENT_HEADER}${ONE_OF_TYPE_HELPERS} export type paths = Record; export type webhooks = Record; export interface components { schemas: { - Pet: { - petType: string; - }; - Cat: { - petType: "Cat"; - } & Omit; - Dog: { - petType: "dog"; - } & Omit & { - bark?: string; - }; - Lizard: { - petType: "Lizard"; - lovesRocks?: boolean; - } & Omit; + User: OneOf<[{ + firstName?: string; + }, { + name?: string; + }]>; }; responses: never; parameters: never; @@ -607,658 +581,39 @@ export type external = Record; export type operations = Record; `); + }); }); - test("discriminator + allOf (no mapping)", async () => { - const schema: OpenAPI3 = { - openapi: "3.1", - info: { title: "test", version: "1.0" }, - components: { - schemas: { - Pet: { - type: "object", - required: ["petType"], - properties: { petType: { type: "string" } }, - discriminator: { - propertyName: "petType", - }, - }, - Cat: { - allOf: [{ $ref: "#/components/schemas/Pet" }], - }, - Dog: { - allOf: [ - { $ref: "#/components/schemas/Pet" }, - { - type: "object", - properties: { bark: { type: "string" } }, + describe("WithRequired type helpers", () => { + test("should be added only when used", async () => { + const generated = await openapiTS( + { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, + components: { + schemas: { + User: { + allOf: [ + { + type: "object", + properties: { + firstName: { type: "string" }, + lastName: { type: "string" }, + }, + }, + { + type: "object", + properties: { middleName: { type: "string" } }, + }, + ], + required: ["firstName", "lastName"], }, - ], - }, - Lizard: { - type: "object", - properties: { - lovesRocks: { type: "boolean" }, }, - allOf: [{ $ref: "#/components/schemas/Pet" }], }, }, - }, - }; - const generated = await openapiTS(schema); - expect(generated).toBe(`${BOILERPLATE} -export type paths = Record; - -export type webhooks = Record; - -export interface components { - schemas: { - Pet: { - petType: string; - }; - Cat: { - petType: "Cat"; - } & Omit; - Dog: { - petType: "Dog"; - } & Omit & { - bark?: string; - }; - Lizard: { - petType: "Lizard"; - lovesRocks?: boolean; - } & Omit; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - - test("discriminator + oneOf", async () => { - const schema: OpenAPI3 = { - openapi: "3.1", - info: { title: "test", version: "1.0" }, - components: { - schemas: { - Pet: { - type: "object", // note: this is “wrong” but added because this should be ignored (fixes a bug) - required: ["petType"], - oneOf: [{ $ref: "#/components/schemas/Cat" }, { $ref: "#/components/schemas/Dog" }, { $ref: "#/components/schemas/Lizard" }], - discriminator: { - propertyName: "petType", - mapping: { - dog: "#/components/schemas/Dog", - }, - }, - } as any, - Cat: { - type: "object", - properties: { - name: { type: "string" }, - }, - required: ["petType"], - }, - Dog: { - type: "object", - properties: { bark: { type: "string" } }, - required: ["petType"], - }, - Lizard: { - type: "object", - properties: { - lovesRocks: { type: "boolean" }, - }, - required: ["petType"], - }, - }, - }, - }; - const generated = await openapiTS(schema); - expect(generated).toBe(`${BOILERPLATE} -export type paths = Record; - -export type webhooks = Record; - -export interface components { - schemas: { - Pet: components["schemas"]["Cat"] | components["schemas"]["Dog"] | components["schemas"]["Lizard"]; - Cat: { - name?: string; - }; - Dog: { - bark?: string; - }; - Lizard: { - lovesRocks?: boolean; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - - test("$ref properties", async () => { - const schema: OpenAPI3 = { - openapi: "3.1", - info: { title: "Test", version: "1.0" }, - components: { - schemas: { - ObjRef: { - type: "object", - properties: { - base: { $ref: "#/components/schemas/Entity/properties/foo" }, - }, - }, - AllOf: { - allOf: [{ $ref: "#/components/schemas/Entity/properties/foo" }, { $ref: "#/components/schemas/Thingy/properties/bar" }], - }, - }, - }, - }; - const generated = await openapiTS(schema); - expect(generated).toBe(`${BOILERPLATE} -export type paths = Record; - -export type webhooks = Record; - -export interface components { - schemas: { - ObjRef: { - base?: components["schemas"]["Entity"]["foo"]; - }; - AllOf: components["schemas"]["Entity"]["foo"] & components["schemas"]["Thingy"]["bar"]; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - - describe("JSONSchema", () => { - test("$defs are respected", async () => { - const generated = await openapiTS(new URL("./fixtures/jsonschema-defs.yaml", import.meta.url)); - expect(generated).toBe(`${BOILERPLATE} -export type paths = Record; - -export type webhooks = Record; - -export interface components { - schemas: { - Object: { - rootDef?: $defs["StringType"]; - nestedDef?: components["schemas"]["OtherObject"]["$defs"]["nestedDef"]; - remoteDef?: components["schemas"]["RemoteDefs"]["$defs"]["remoteDef"]; - $defs: { - hasDefs: boolean; - }; - }; - ArrayOfDefs: $defs["StringType"][]; - OtherObject: { - $defs: { - nestedDef: boolean; - }; - }; - RemoteDefs: { - $defs: { - remoteDef: external["_jsonschema-remote-obj.yaml"]["RemoteObject"]["$defs"]["remoteDef"]; - }; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export interface $defs { - StringType: string; -} - -export interface external { - "_jsonschema-remote-obj.yaml": { - RemoteObject: { - ownProperty?: boolean; - $defs: { - remoteDef: string; - }; - }; - }; -} - -export type operations = Record; -`); - }); - }); - }); - - describe("options", () => { - describe("exportTypes", () => { - test("false", async () => { - const generated = await openapiTS( - { - openapi: "3.1", - info: { title: "Test", version: "1.0" }, - components: { - schemas: { - User: { - type: "object", - properties: { name: { type: "string" }, email: { type: "string" } }, - required: ["name", "email"], - }, - }, - }, - }, - { exportType: false }, - ); - expect(generated).toBe(`${BOILERPLATE} -export type paths = Record; - -export type webhooks = Record; - -export interface components { - schemas: { - User: { - name: string; - email: string; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - - test("true", async () => { - const generated = await openapiTS( - { - openapi: "3.1", - info: { title: "Test", version: "1.0" }, - components: { - schemas: { - User: { - type: "object", - properties: { name: { type: "string" }, email: { type: "string" } }, - required: ["name", "email"], - }, - }, - }, - }, - { exportType: true }, - ); - expect(generated).toBe(`${BOILERPLATE} -export type paths = Record; - -export type webhooks = Record; - -export type components = { - schemas: { - User: { - name: string; - email: string; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -}; - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - }); - - describe("pathParamsAsTypes", () => { - const schema: OpenAPI3 = { - openapi: "3.1", - info: { title: "Test", version: "1.0" }, - paths: { - "/user/{user_id}": { - parameters: [{ name: "user_id", in: "path" }], - }, - }, - }; - - test("false", async () => { - const generated = await openapiTS(schema, { pathParamsAsTypes: false }); - expect(generated).toBe(`${BOILERPLATE} -export interface paths { - "/user/{user_id}": { - parameters: { - path: { - user_id: string; - }; - }; - }; -} - -export type webhooks = Record; - -export type components = Record; - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - - test("true", async () => { - const generated = await openapiTS(schema, { pathParamsAsTypes: true }); - expect(generated).toBe(`${BOILERPLATE} -export interface paths { - [path: \`/user/\${string}\`]: { - parameters: { - path: { - user_id: string; - }; - }; - }; -} - -export type webhooks = Record; - -export type components = Record; - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - }); - - describe("pathParamsAsTypes (with nested parameters)", () => { - const schema: OpenAPI3 = { - openapi: "3.1", - info: { title: "Test", version: "1.0" }, - paths: { - "/user/{user_id}": { - get: { - parameters: [{ name: "user_id", in: "path" }], - }, - put: { - parameters: [{ name: "user_id", in: "path" }], - }, - }, - }, - }; - - test("false", async () => { - const generated = await openapiTS(schema, { pathParamsAsTypes: false }); - expect(generated).toBe(`${BOILERPLATE} -export interface paths { - "/user/{user_id}": { - get: { - parameters: { - path: { - user_id: string; - }; - }; - }; - put: { - parameters: { - path: { - user_id: string; - }; - }; - }; - }; -} - -export type webhooks = Record; - -export type components = Record; - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - - test("true", async () => { - const generated = await openapiTS(schema, { pathParamsAsTypes: true }); - expect(generated).toBe(`${BOILERPLATE} -export interface paths { - [path: \`/user/\${string}\`]: { - get: { - parameters: { - path: { - user_id: string; - }; - }; - }; - put: { - parameters: { - path: { - user_id: string; - }; - }; - }; - }; -} - -export type webhooks = Record; - -export type components = Record; - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - }); - - describe("transform/postTransform", () => { - const schema: OpenAPI3 = { - openapi: "3.1", - info: { title: "Test", version: "1.0" }, - components: { - schemas: { - Date: { type: "string", format: "date-time" }, - }, - }, - }; - - test("transform", async () => { - const generated = await openapiTS(schema, { - // @ts-expect-error - transform(node) { - if ("format" in node && node.format === "date-time") return "Date"; - }, - }); - expect(generated).toBe(`${BOILERPLATE} -export type paths = Record; - -export type webhooks = Record; - -export interface components { - schemas: { - /** Format: date-time */ - Date: Date; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - - test("postTransform (with inject)", async () => { - const inject = `type DateOrTime = Date | number;\n`; - const generated = await openapiTS(schema, { - // @ts-expect-error - postTransform(type, options) { - if (options.path.includes("Date")) return "DateOrTime"; - }, - inject, - }); - expect(generated).toBe(`${BOILERPLATE} -${inject} -export type paths = Record; - -export type webhooks = Record; - -export interface components { - schemas: { - /** Format: date-time */ - Date: DateOrTime; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - }); - - describe("OneOf type helpers", () => { - test("should be added only when used", async () => { - const generated = await openapiTS( - { - openapi: "3.1", - info: { title: "Test", version: "1.0" }, - components: { - schemas: { - User: { - oneOf: [ - { - type: "object", - properties: { firstName: { type: "string" } }, - }, - { - type: "object", - properties: { name: { type: "string" } }, - }, - ], - }, - }, - }, - }, - { exportType: false }, - ); - expect(generated).toBe(`${BOILERPLATE}${ONE_OF_TYPE_HELPERS} -export type paths = Record; - -export type webhooks = Record; - -export interface components { - schemas: { - User: OneOf<[{ - firstName?: string; - }, { - name?: string; - }]>; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - }); - - describe("WithRequired type helpers", () => { - test("should be added only when used", async () => { - const generated = await openapiTS( - { - openapi: "3.1", - info: { title: "Test", version: "1.0" }, - components: { - schemas: { - User: { - allOf: [ - { - type: "object", - properties: { firstName: { type: "string" }, lastName: { type: "string" } }, - }, - { - type: "object", - properties: { middleName: { type: "string" } }, - }, - ], - required: ["firstName", "lastName"], - }, - }, - }, - }, - { exportType: false }, - ); - expect(generated).toBe(`${BOILERPLATE}${WITH_REQUIRED_TYPE_HELPERS} + { exportType: false }, + ); + expect(generated).toBe(`${COMMENT_HEADER}${WITH_REQUIRED_TYPE_HELPERS} export type paths = Record; export type webhooks = Record; @@ -1319,35 +674,62 @@ export type operations = Record; describe("GitHub", () => { test("default options", async () => { - const generated = await openapiTS(new URL("./github-api.yaml", EXAMPLES_DIR)); - expect(generated).toMatchFileSnapshot(fileURLToPath(new URL("./github-api.ts", EXAMPLES_DIR))); + const generated = await openapiTS( + new URL("./github-api.yaml", EXAMPLES_DIR), + ); + expect(generated).toMatchFileSnapshot( + fileURLToPath(new URL("./github-api.ts", EXAMPLES_DIR)), + ); }, 30000); }); describe("GitHub (next)", () => { test("default options", async () => { - const generated = await openapiTS(new URL("./github-api-next.yaml", EXAMPLES_DIR)); - expect(generated).toMatchFileSnapshot(fileURLToPath(new URL("./github-api-next.ts", EXAMPLES_DIR))); + const generated = await openapiTS( + new URL("./github-api-next.yaml", EXAMPLES_DIR), + ); + expect(generated).toMatchFileSnapshot( + fileURLToPath(new URL("./github-api-next.ts", EXAMPLES_DIR)), + ); }, 30000); }); describe("Octokit GHES 3.6 Diff to API", () => { test("default options", async () => { - const generated = await openapiTS(new URL("./octokit-ghes-3.6-diff-to-api.json", EXAMPLES_DIR)); - expect(generated).toMatchFileSnapshot(fileURLToPath(new URL("./octokit-ghes-3.6-diff-to-api.ts", EXAMPLES_DIR))); + const generated = await openapiTS( + new URL("./octokit-ghes-3.6-diff-to-api.json", EXAMPLES_DIR), + ); + expect(generated).toMatchFileSnapshot( + fileURLToPath( + new URL("./octokit-ghes-3.6-diff-to-api.ts", EXAMPLES_DIR), + ), + ); }, 30000); }); describe("Stripe", () => { test("default options", async () => { - const generated = await openapiTS(new URL("./stripe-api.yaml", EXAMPLES_DIR)); - expect(generated).toMatchFileSnapshot(fileURLToPath(new URL("./stripe-api.ts", EXAMPLES_DIR))); + const generated = await openapiTS( + new URL("./stripe-api.yaml", EXAMPLES_DIR), + ); + expect(generated).toMatchFileSnapshot( + fileURLToPath(new URL("./stripe-api.ts", EXAMPLES_DIR)), + ); }, 30000); }); describe("DigitalOcean", () => { // this test runs too slowly on macos / windows in GitHub Actions (not not natively) - test.skipIf(process.env.CI_ENV === "macos" || process.env.CI_ENV === "windows")( + test.skipIf( + process.env.CI_ENV === "macos" || process.env.CI_ENV === "windows", + )( "default options", async () => { - const generated = await openapiTS(new URL("./digital-ocean-api/DigitalOcean-public.v2.yaml", EXAMPLES_DIR)); - expect(generated).toMatchFileSnapshot(fileURLToPath(new URL("./digital-ocean-api.ts", EXAMPLES_DIR))); + const generated = await openapiTS( + new URL( + "./digital-ocean-api/DigitalOcean-public.v2.yaml", + EXAMPLES_DIR, + ), + ); + expect(generated).toMatchFileSnapshot( + fileURLToPath(new URL("./digital-ocean-api.ts", EXAMPLES_DIR)), + ); }, 60000, ); diff --git a/packages/openapi-typescript/test/lib/ts.test.ts b/packages/openapi-typescript/test/lib/ts.test.ts new file mode 100644 index 000000000..e245caaa9 --- /dev/null +++ b/packages/openapi-typescript/test/lib/ts.test.ts @@ -0,0 +1,172 @@ +import ts from "typescript"; +import { + BOOLEAN, + NULL, + NUMBER, + STRING, + astToString, + oapiRef, + tsEnum, + tsIsPrimitive, + tsLiteral, + tsPropertyIndex, + tsUnion, +} from "../../src/lib/ts.js"; + +describe("oapiRef", () => { + it("single part", () => { + expect(astToString(oapiRef("#/components")).trim()).toBe(`components`); + }); + + it("multiple parts", () => { + expect(astToString(oapiRef("#/components/schemas/User")).trim()).toBe( + `components["schemas"]["User"]`, + ); + }); +}); + +describe("tsEnum", () => { + it("string members", () => { + expect(astToString(tsEnum("-my-color-", ["green", "red", "blue"])).trim()) + .toBe(`enum MyColor { + green = "green", + red = "red", + blue = "blue" +}`); + }); + + it("name from path", () => { + expect( + astToString( + tsEnum("#/paths/url/get/parameters/query/status", [ + "active", + "inactive", + ]), + ).trim(), + ).toBe(`enum PathsUrlGetParametersQueryStatus { + active = "active", + inactive = "inactive" +}`); + }); + + it("string members with numeric prefix", () => { + expect(astToString(tsEnum("/my/enum/", ["0a", "1b", "2c"])).trim()) + .toBe(`enum MyEnum { + Value0a = "0a", + Value1b = "1b", + Value2c = "2c" +}`); + }); + + it("number members", () => { + expect(astToString(tsEnum(".Error.code.", [100, 101, 102])).trim()) + .toBe(`enum ErrorCode { + Value100 = 100, + Value101 = 101, + Value102 = 102 +}`); + }); +}); + +describe("tsPropertyIndex", () => { + it("numbers -> number literals", () => { + expect(astToString(tsPropertyIndex(200)).trim()).toBe(`200`); + expect(astToString(tsPropertyIndex(200.5)).trim()).toBe(`200.5`); + expect(astToString(tsPropertyIndex(Infinity)).trim()).toBe(`Infinity`); + expect(astToString(tsPropertyIndex(NaN)).trim()).toBe(`NaN`); + }); + + it("valid strings -> identifiers", () => { + expect(astToString(tsPropertyIndex("identifier")).trim()).toBe( + `identifier`, + ); + expect(astToString(tsPropertyIndex("snake_case")).trim()).toBe( + `snake_case`, + ); + expect(astToString(tsPropertyIndex("$id")).trim()).toBe(`$id`); + }); + + it("invalid strings -> string literals", () => { + expect(astToString(tsPropertyIndex("kebab-case")).trim()).toBe( + `"kebab-case"`, + ); + expect(astToString(tsPropertyIndex("application/json")).trim()).toBe( + `"application/json"`, + ); + expect(astToString(tsPropertyIndex("0invalid")).trim()).toBe(`"0invalid"`); + expect(astToString(tsPropertyIndex("inv@lid")).trim()).toBe(`"inv@lid"`); + expect(astToString(tsPropertyIndex("in.valid")).trim()).toBe(`"in.valid"`); + }); +}); + +describe("tsIsPrimitive", () => { + it("null", () => { + expect(tsIsPrimitive(NULL)).toBe(true); + }); + + it("number", () => { + expect(tsIsPrimitive(NUMBER)).toBe(true); + }); + + it("string", () => { + expect(tsIsPrimitive(STRING)).toBe(true); + }); + + it("boolean", () => { + expect(tsIsPrimitive(BOOLEAN)).toBe(true); + }); + + it("array", () => { + expect(tsIsPrimitive(ts.factory.createArrayTypeNode(STRING))).toBe(false); + }); + + it("object", () => { + expect( + tsIsPrimitive( + ts.factory.createTypeLiteralNode([ + ts.factory.createPropertySignature( + undefined, + "foo", + undefined, + STRING, + ), + ]), + ), + ).toBe(false); + }); +}); + +describe("tsUnion", () => { + it("none", () => { + expect(astToString(tsUnion([])).trim()).toBe(`never`); + }); + + it("one", () => { + expect(astToString(tsUnion([STRING])).trim()).toBe(`string`); + }); + + it("multiple (primitive)", () => { + expect( + astToString(tsUnion([STRING, STRING, NUMBER, NULL, NUMBER, NULL])).trim(), + ).toBe(`string | number | null`); + }); + + it("multiple (const)", () => { + expect( + astToString( + tsUnion([NULL, tsLiteral("red"), tsLiteral(42), tsLiteral(false)]), + ).trim(), + ).toBe(`null | "red" | 42 | false`); + }); + + it("multiple (object types)", () => { + const obj = ts.factory.createTypeLiteralNode([ + ts.factory.createPropertySignature(undefined, "foo", undefined, STRING), + ]); + expect(astToString(tsUnion([obj, obj, NULL])).trim()).toBe(`{ + foo: string; +} | { + foo: string; +} | null`); + }); +}); diff --git a/packages/openapi-typescript/test/lib/utils.test.ts b/packages/openapi-typescript/test/lib/utils.test.ts new file mode 100644 index 000000000..e97babd58 --- /dev/null +++ b/packages/openapi-typescript/test/lib/utils.test.ts @@ -0,0 +1,63 @@ +import { createRef, getEntries } from "../../src/lib/utils.js"; + +describe("getEntries", () => { + test("operates like Object.entries()", () => { + expect(getEntries({ z: "z", a: "a" })).toEqual([ + ["z", "z"], + ["a", "a"], + ]); + }); + + describe("options", () => { + test("alphabetize: true", () => { + expect( + getEntries({ z: "z", 0: 0, a: "a" }, { alphabetize: true }), + ).toEqual([ + ["0", 0], + ["a", "a"], + ["z", "z"], + ]); + }); + + test("excludeDeprecated: true", () => { + expect( + getEntries( + { + z: "z", + a: "a", + deprecated: { + deprecated: true, + }, + }, + { excludeDeprecated: true }, + ), + ).toEqual([ + ["z", "z"], + ["a", "a"], + ]); + }); + }); +}); + +describe("createRef", () => { + test("basic", () => { + expect(createRef(["components", "schemas", "SchemaObject"])).toBe( + "#/components/schemas/SchemaObject", + ); + }); + + test("escapes", () => { + expect(createRef(["paths", "/foo/{bar}", "get", "parameters"])).toBe( + "#/paths/~1foo~1{bar}/get/parameters", + ); + expect(createRef(["components", "schemas", "~SchemaObject"])).toBe( + "#/components/schemas/~0SchemaObject", + ); + }); + + test("handles partial paths", () => { + expect( + createRef(["#/paths/~1foo~1{bar}", "parameters", "query", "page"]), + ).toBe("#/paths/~1foo~1{bar}/parameters/query/page"); + }); +}); diff --git a/packages/openapi-typescript/test/load.test.ts b/packages/openapi-typescript/test/load.test.ts deleted file mode 100644 index d0c0251ee..000000000 --- a/packages/openapi-typescript/test/load.test.ts +++ /dev/null @@ -1,122 +0,0 @@ -import { dump as stringifyYaml } from "js-yaml"; -import { Readable } from "node:stream"; -import { URL } from "node:url"; -import { Response, fetch as unidiciFetch } from "undici"; -import internalLoad, { type LoadOptions } from "../src/load.js"; -import type { Subschema } from "../src/types.js"; - -describe("Load", () => { - describe("remote schema", () => { - describe("in json", () => { - test("type deduced from extension .json", async () => { - const output = await load(new URL("https://example.com/openapi.json"), { - async fetch() { - return new Response(JSON.stringify(exampleSchema), { - headers: { "Content-Type": "text/plain" }, - }); - }, - }); - expect(output["."].schema).toEqual(exampleSchema); - }); - test("type deduced from Content-Type header", async () => { - const output = await load(new URL("https://example.com/openapi"), { - async fetch() { - return new Response(JSON.stringify(exampleSchema), { - headers: { "Content-Type": "application/json" }, - }); - }, - }); - expect(output["."].schema).toEqual(exampleSchema); - }); - // Regression test for https://github.com/drwpow/openapi-typescript/issues/988 - test("type deduced from Content-Type header, in lowercase", async () => { - const output = await load(new URL("https://example.com/openapi"), { - async fetch() { - return new Response(JSON.stringify(exampleSchema), { - headers: { "content-type": "application/json" }, - }); - }, - }); - expect(output["."].schema).toEqual(exampleSchema); - }); - }); - - describe("in yaml", () => { - test("type deduced from extension .yaml", async () => { - const output = await load(new URL("https://example.com/openapi.yaml"), { - async fetch() { - return new Response(stringifyYaml(exampleSchema), { - headers: { "Content-Type": "text/plain" }, - }); - }, - }); - expect(output["."].schema).toEqual(exampleSchema); - }); - test("type deduced from extension .yml", async () => { - const output = await load(new URL("https://example.com/openapi.yml"), { - async fetch() { - return new Response(stringifyYaml(exampleSchema), { - headers: { "Content-Type": "text/plain" }, - }); - }, - }); - expect(output["."].schema).toEqual(exampleSchema); - }); - test("type deduced from Content-Type header", async () => { - const output = await load(new URL("https://example.com/openapi"), { - async fetch() { - return new Response(stringifyYaml(exampleSchema), { - headers: { "Content-Type": "application/yaml" }, - }); - }, - }); - expect(output["."].schema).toEqual(exampleSchema); - }); - // Regression test for https://github.com/drwpow/openapi-typescript/issues/988 - test("type deduced from Content-Type header, in lowercase", async () => { - const output = await load(new URL("https://example.com/openapi"), { - async fetch() { - return new Response(stringifyYaml(exampleSchema), { - headers: { "content-type": "application/yaml" }, - }); - }, - }); - expect(output["."].schema).toEqual(exampleSchema); - }); - }); - }); -}); - -const exampleSchema = { - openapi: "3.1.0", - paths: { - "/foo": { - get: {}, - }, - }, -}; - -async function load(schema: URL | Subschema | Readable, options?: Partial): Promise<{ [url: string]: Subschema }> { - return internalLoad(schema, { - rootURL: schema as URL, - schemas: {}, - urlCache: new Set(), - fetch: vi.fn(unidiciFetch), - additionalProperties: false, - emptyObjectsUnknown: false, - alphabetize: false, - defaultNonNullable: false, - discriminators: {}, - immutableTypes: false, - indentLv: 0, - operations: {}, - parameters: {}, - pathParamsAsTypes: false, - postTransform: undefined, - silent: true, - supportArrayLength: false, - transform: undefined, - excludeDeprecated: false, - ...options, - }); -} diff --git a/packages/openapi-typescript/test/node-api.test.ts b/packages/openapi-typescript/test/node-api.test.ts new file mode 100644 index 000000000..13385681f --- /dev/null +++ b/packages/openapi-typescript/test/node-api.test.ts @@ -0,0 +1,430 @@ +import ts from "typescript"; +import openapiTS, { astToString } from "../src/index.js"; +import { OpenAPITSOptions } from "../src/types.js"; +import { TestCase } from "./test-helpers.js"; + +describe("Node.js API", () => { + const tests: TestCase[] = [ + [ + "exportType > false", + { + given: { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, + components: { + schemas: { + User: { + type: "object", + properties: { + name: { type: "string" }, + email: { type: "string" }, + }, + required: ["name", "email"], + }, + }, + }, + }, + + want: `export type paths = Record; +export type webhooks = Record; +export interface components { + schemas: { + User: { + name: string; + email: string; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; +`, + options: { exportType: false }, + }, + ], + [ + "exportType > true", + { + given: { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, + components: { + schemas: { + User: { + type: "object", + properties: { + name: { type: "string" }, + email: { type: "string" }, + }, + required: ["name", "email"], + }, + }, + }, + }, + want: `export type paths = Record; +export type webhooks = Record; +export type components = { + schemas: { + User: { + name: string; + email: string; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +}; +export type $defs = Record; +export type operations = Record; +`, + options: { exportType: true }, + }, + ], + + [ + "pathParamsAsTypes > false", + { + given: { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, + paths: { + "/user/{user_id}": { + get: { + parameters: [{ name: "user_id", in: "path" }], + }, + put: { + parameters: [{ name: "user_id", in: "path" }], + }, + }, + }, + }, + want: `export interface paths { + "/user/{user_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + user_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: never; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + user_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: never; + }; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; +`, + options: { pathParamsAsTypes: false }, + }, + ], + [ + "pathParamsAsTypes > true", + { + given: { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, + paths: { + "/user/{user_id}": { + get: { + parameters: [{ name: "user_id", in: "path" }], + }, + put: { + parameters: [{ name: "user_id", in: "path" }], + }, + }, + }, + }, + want: `export interface paths { + [path: \`/user/\${string}\`]: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + user_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: never; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + user_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: never; + }; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; +`, + options: { pathParamsAsTypes: true }, + }, + ], + [ + "transform", + { + given: { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, + components: { + schemas: { + Date: { type: "string", format: "date-time" }, + }, + }, + }, + want: `export type paths = Record; +export type webhooks = Record; +export interface components { + schemas: { + /** Format: date-time */ + Date: Date; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; +`, + options: { + transform(schemaObject) { + if ( + "format" in schemaObject && + schemaObject.format === "date-time" + ) { + /** + * Tip: use astexplorer.net to first type out the desired TypeScript, + * then use the `typescript` parser and it will tell you the desired + * AST + */ + return ts.factory.createTypeReferenceNode( + ts.factory.createIdentifier("Date"), + ); + } + }, + }, + }, + ], + [ + "postTransform", + { + given: { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, + components: { + schemas: { + Date: { type: "string", format: "date-time" }, + }, + }, + }, + want: `export type paths = Record; +export type webhooks = Record; +export interface components { + schemas: { + /** Format: date-time */ + Date: DateOrTime; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record; +`, + options: { + postTransform(type, options) { + if (options.path?.includes("Date")) { + /** + * Tip: use astexplorer.net to first type out the desired TypeScript, + * then use the `typescript` parser and it will tell you the desired + * AST + */ + return ts.factory.createTypeReferenceNode( + ts.factory.createIdentifier("DateOrTime"), + ); + } + }, + }, + }, + ], + [ + "enum", + { + given: { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, + paths: { + "/url": { + get: { + parameters: [ + { + name: "status", + in: "query", + schema: { + type: "string", + enum: ["active", "inactive"], + }, + }, + ], + }, + }, + }, + components: { + schemas: { + Status: { + type: "string", + enum: ["active", "inactive"], + }, + ErrorCode: { + type: "number", + enum: [100, 101, 102, 103, 104, 105], + }, + }, + }, + }, + want: `export interface paths { + "/url": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + status?: PathsUrlGetParametersQueryStatus; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: never; + }; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + /** @enum {string} */ + Status: Status; + /** @enum {number} */ + ErrorCode: ErrorCode; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export enum PathsUrlGetParametersQueryStatus { + active = "active", + inactive = "inactive" +} +export enum Status { + active = "active", + inactive = "inactive" +} +export enum ErrorCode { + Value100 = 100, + Value101 = 101, + Value102 = 102, + Value103 = 103, + Value104 = 104, + Value105 = 105 +} +export type operations = Record; +`, + options: { enum: true }, + }, + ], + ]; + + test.each(tests)("%s", async (_, { given, want, options }) => { + expect(astToString(await openapiTS(given, options))).toBe(want); + }); +}); diff --git a/packages/openapi-typescript/test/operation-object.test.ts b/packages/openapi-typescript/test/operation-object.test.ts deleted file mode 100644 index 905779d7c..000000000 --- a/packages/openapi-typescript/test/operation-object.test.ts +++ /dev/null @@ -1,167 +0,0 @@ -import type { GlobalContext, OperationObject } from "../src/types.js"; -import transformOperationObject from "../src/transform/operation-object.js"; - -const ctx: GlobalContext = { - additionalProperties: false, - alphabetize: false, - defaultNonNullable: false, - discriminators: {}, - emptyObjectsUnknown: false, - immutableTypes: false, - indentLv: 0, - operations: {}, - parameters: {}, - pathParamsAsTypes: false, - postTransform: undefined, - silent: true, - supportArrayLength: false, - transform: undefined, - excludeDeprecated: false, -}; - -const options = { ctx, path: "#/paths/~get-item" }; - -describe("Operation Object", () => { - it("allows 2XX codes", () => { - const schema: OperationObject = { - responses: { - "2XX": { - description: "OK", - content: { - "application/json": { - schema: { type: "string" }, - }, - }, - }, - "4XX": { - description: "OK", - content: { - "application/json": { schema: { $ref: 'components["schemas"]["Error"]' } }, - }, - }, - "5XX": { - description: "OK", - content: { - "application/json": { schema: { $ref: 'components["schemas"]["Error"]' } }, - }, - }, - }, - }; - const generated = transformOperationObject(schema, options); - expect(generated).toBe(`{ - responses: { - /** @description OK */ - "2XX": { - content: { - "application/json": string; - }; - }; - /** @description OK */ - "4XX": { - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - /** @description OK */ - "5XX": { - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; -}`); - }); - - it("marks parameters optional if they are all optional", () => { - const schema: OperationObject = { - parameters: [ - { - in: "query", - name: "search", - schema: { type: "string" }, - }, - { - in: "header", - name: "x-header", - schema: { type: "string" }, - required: false, - }, - ], - responses: { - "200": { - description: "OK", - content: { - "application/json": { - schema: { type: "string" }, - }, - }, - }, - }, - }; - const generated = transformOperationObject(schema, options); - expect(generated).toBe(`{ - parameters: { - query?: { - search?: string; - }; - header?: { - "x-header"?: string; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": string; - }; - }; - }; -}`); - }); - - it("marks parameters required if there are any path params", () => { - const schema: OperationObject = { - parameters: [ - { - in: "path", - name: "user_id", - schema: { type: "string" }, - }, - { - in: "query", - name: "search", - schema: { type: "string" }, - }, - ], - responses: { - "200": { - description: "OK", - content: { - "application/json": { - schema: { type: "string" }, - }, - }, - }, - }, - }; - const generated = transformOperationObject(schema, options); - expect(generated).toBe(`{ - parameters: { - query?: { - search?: string; - }; - path: { - user_id: string; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": string; - }; - }; - }; -}`); - }); -}); diff --git a/packages/openapi-typescript/test/path-item-object.test.ts b/packages/openapi-typescript/test/path-item-object.test.ts deleted file mode 100644 index 5d60330e7..000000000 --- a/packages/openapi-typescript/test/path-item-object.test.ts +++ /dev/null @@ -1,177 +0,0 @@ -import type { GlobalContext, PathItemObject } from "../src/types.js"; -import transformPathItemObject, { TransformPathItemObjectOptions } from "../src/transform/path-item-object.js"; - -const options: TransformPathItemObjectOptions = { - path: "#/test/path-item", - ctx: { - additionalProperties: false, - alphabetize: false, - emptyObjectsUnknown: false, - defaultNonNullable: false, - discriminators: {}, - immutableTypes: false, - indentLv: 0, - operations: {}, - parameters: {}, - pathParamsAsTypes: false, - postTransform: undefined, - silent: true, - supportArrayLength: false, - transform: undefined, - excludeDeprecated: false, - }, -}; - -describe("Path Item Object", () => { - test("basic", () => { - const schema: PathItemObject = { - get: { - description: "Basic GET", - responses: { - 200: { - description: "OK", - content: { - "application/json": { - schema: { - type: "object", - properties: { - success: { type: "boolean" }, - }, - required: ["success"], - }, - }, - }, - }, - 404: { $ref: 'components["responses"]["NotFound"]' }, - "5xx": { - description: "Server error", - content: { - "application/json": { - schema: { - type: "object", - properties: { - message: { type: "string" }, - code: { type: "string" }, - }, - required: ["message"], - }, - }, - }, - }, - }, - }, - post: { - description: "Basic POST", - requestBody: { - content: { - "application/json": { $ref: 'components["schemas"]["User"]' }, - }, - }, - responses: { - 200: { $ref: 'components["responses"]["AllGood"]' }, - 404: { $ref: 'components["responses"]["NotFound"]' }, - }, - }, - }; - const generated = transformPathItemObject(schema, options); - expect(generated).toBe(`{ - /** @description Basic GET */ - get: { - responses: { - /** @description OK */ - 200: { - content: { - "application/json": { - success: boolean; - }; - }; - }; - 404: components["responses"]["NotFound"]; - /** @description Server error */ - "5xx": { - content: { - "application/json": { - message: string; - code?: string; - }; - }; - }; - }; - }; - /** @description Basic POST */ - post: { - requestBody?: { - content: { - "application/json": components["schemas"]["User"]; - }; - }; - responses: { - 200: components["responses"]["AllGood"]; - 404: components["responses"]["NotFound"]; - }; - }; -}`); - }); - - test("operations", () => { - const operations: GlobalContext["operations"] = {}; - const schema: PathItemObject = { - get: { - description: "Get a user", - operationId: "getUser", - responses: { - 200: { - description: "Get User", - content: { - "application/json": { - schema: { - type: "object", - properties: { - url: { type: "string" }, - "content-type": { type: "string" }, - }, - required: ["url"], - }, - }, - }, - }, - }, - }, - }; - const generated = transformPathItemObject(schema, { ...options, ctx: { ...options.ctx, operations } }); - expect(generated).toBe(`{ - /** @description Get a user */ - get: operations["getUser"]; -}`); - expect(operations).toEqual({ - getUser: { - comment: "/** @description Get a user */", - operationType: `{ - responses: { - /** @description Get User */ - 200: { - content: { - "application/json": { - url: string; - "content-type"?: string; - }; - }; - }; - }; - }`, - }, - }); - }); - - test("$ref", () => { - const schema: PathItemObject = { - get: { - $ref: 'components["schemas"]["GetUserOperation"]', - }, - }; - const generated = transformPathItemObject(schema, options); - expect(generated).toBe(`{ - get: components["schemas"]["GetUserOperation"] -}`); - }); -}); diff --git a/packages/openapi-typescript/test/paths-object.test.ts b/packages/openapi-typescript/test/paths-object.test.ts deleted file mode 100644 index 8a79598b9..000000000 --- a/packages/openapi-typescript/test/paths-object.test.ts +++ /dev/null @@ -1,222 +0,0 @@ -import type { GlobalContext, PathsObject } from "../src/types.js"; -import transformPathsObject from "../src/transform/paths-object.js"; - -const options: GlobalContext = { - additionalProperties: false, - alphabetize: false, - defaultNonNullable: false, - discriminators: {}, - emptyObjectsUnknown: false, - immutableTypes: false, - indentLv: 0, - operations: {}, - parameters: {}, - pathParamsAsTypes: false, - postTransform: undefined, - silent: true, - supportArrayLength: false, - transform: undefined, - excludeDeprecated: false, -}; - -describe("Paths Object", () => { - test("basic", () => { - const schema: PathsObject = { - "/api/v1/user/{user_id}": { - parameters: [{ name: "page", in: "query", schema: { type: "number" }, description: "Page number." }], - get: { - parameters: [{ name: "user_id", in: "path", description: "User ID." }], - responses: { - 200: { - description: "OK", - headers: { - Link: { - $ref: 'components["headers"]["link"]', - }, - }, - content: { - "application/json": { - schema: { - type: "object", - properties: { - id: { type: "string" }, - email: { type: "string" }, - name: { type: "string" }, - }, - required: ["id", "email"], - }, - }, - }, - }, - 404: { - $ref: 'components["responses"]["NotFound"]', - }, - }, - }, - }, - }; - const generated = transformPathsObject(schema, options); - expect(generated).toBe(`{ - "/api/v1/user/{user_id}": { - get: { - parameters: { - query?: { - /** @description Page number. */ - page?: number; - }; - path: { - /** @description User ID. */ - user_id: string; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - id: string; - email: string; - name?: string; - }; - }; - }; - 404: components["responses"]["NotFound"]; - }; - }; - parameters: { - query?: { - /** @description Page number. */ - page?: number; - }; - }; - }; -}`); - }); - - test("$ref", () => { - const schema: PathsObject = { - "/api/{version}/user/{user_id}": { - parameters: [ - { in: "query", name: "page", schema: { type: "number" } }, - { $ref: 'components["parameters"]["query"]["utm_source"]' }, - { $ref: 'components["parameters"]["query"]["utm_email"]' }, - { $ref: 'components["parameters"]["query"]["utm_campaign"]' }, - { $ref: 'components["parameters"]["path"]["version"]' }, - { in: "path", name: "user_id" }, - ], - }, - }; - const generated = transformPathsObject(schema, { - ...options, - parameters: { - 'components["parameters"]["query"]["utm_source"]': { - in: "query", - name: "utm_source", - schema: { type: "string" }, - }, - 'components["parameters"]["query"]["utm_email"]': { - in: "query", - name: "utm_email", - schema: { type: "string" }, - }, - 'components["parameters"]["query"]["utm_campaign"]': { - in: "query", - name: "utm_campaign", - schema: { type: "string" }, - }, - 'components["parameters"]["path"]["version"]': { in: "path", name: "utm_campaign", schema: { type: "string" } }, - }, - }); - expect(generated).toBe(`{ - "/api/{version}/user/{user_id}": { - parameters: { - query?: { - page?: number; - utm_source?: components["parameters"]["query"]["utm_source"]; - utm_email?: components["parameters"]["query"]["utm_email"]; - utm_campaign?: components["parameters"]["query"]["utm_campaign"]; - }; - path: { - utm_campaign: components["parameters"]["path"]["version"]; - user_id: string; - }; - }; - }; -}`); - }); - test("empty params", () => { - const schema: PathsObject = { - "/api/v1/user/me": { - parameters: [{ name: "page", in: "query", schema: { type: "number" }, description: "Page number." }], - get: { - parameters: [], - responses: { - 200: { - description: "OK", - headers: { - Link: { - $ref: 'components["headers"]["link"]', - }, - }, - content: { - "application/json": { - schema: { - type: "object", - properties: { - id: { type: "string" }, - email: { type: "string" }, - name: { type: "string" }, - }, - required: ["id", "email"], - }, - }, - }, - }, - 404: { - $ref: 'components["responses"]["NotFound"]', - }, - }, - }, - }, - }; - - const generated = transformPathsObject(schema, { ...options, pathParamsAsTypes: true }); - expect(generated).toBe(`{ - "/api/v1/user/me": { - get: { - parameters: { - query?: { - /** @description Page number. */ - page?: number; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - id: string; - email: string; - name?: string; - }; - }; - }; - 404: components["responses"]["NotFound"]; - }; - }; - parameters: { - query?: { - /** @description Page number. */ - page?: number; - }; - }; - }; -}`); - }); -}); diff --git a/packages/openapi-typescript/test/request-body-object.test.ts b/packages/openapi-typescript/test/request-body-object.test.ts deleted file mode 100644 index ea313534e..000000000 --- a/packages/openapi-typescript/test/request-body-object.test.ts +++ /dev/null @@ -1,61 +0,0 @@ -import transformRequestBodyObject, { TransformRequestBodyObjectOptions } from "../src/transform/request-body-object.js"; -import type { RequestBodyObject } from "../src/types.js"; - -const options: TransformRequestBodyObjectOptions = { - path: "#/test/request-body-object", - ctx: { - additionalProperties: false, - alphabetize: false, - emptyObjectsUnknown: false, - defaultNonNullable: false, - discriminators: {}, - immutableTypes: false, - indentLv: 0, - operations: {}, - parameters: {}, - pathParamsAsTypes: false, - postTransform: undefined, - silent: true, - supportArrayLength: false, - transform: undefined, - excludeDeprecated: false, - }, -}; - -describe("Request Body Object", () => { - test("basic", () => { - const schema: RequestBodyObject = { - content: { - "application/json": { - schema: { - type: "object", - properties: { - url: { type: "string" }, - "content-type": { type: "string" }, - }, - required: ["url"], - }, - }, - }, - }; - const generated = transformRequestBodyObject(schema, options); - expect(generated).toBe(`{ - content: { - "application/json": { - url: string; - "content-type"?: string; - }; - }; -}`); - }); - - test("empty", () => { - const schema: RequestBodyObject = { content: {} }; - const generated = transformRequestBodyObject(schema, options); - expect(generated).toBe(`{ - content: { - "*/*": never; - }; -}`) - }); -}); diff --git a/packages/openapi-typescript/test/response-object.test.ts b/packages/openapi-typescript/test/response-object.test.ts deleted file mode 100644 index dcdb98e65..000000000 --- a/packages/openapi-typescript/test/response-object.test.ts +++ /dev/null @@ -1,78 +0,0 @@ -import transformResponseObject, { TransformResponseObjectOptions } from "../src/transform/response-object.js"; -import type { ResponseObject } from "../src/types.js"; - -const options: TransformResponseObjectOptions = { - path: "#/test/response-object", - ctx: { - additionalProperties: false, - alphabetize: false, - emptyObjectsUnknown: false, - defaultNonNullable: false, - discriminators: {}, - immutableTypes: false, - indentLv: 0, - operations: {}, - parameters: {}, - pathParamsAsTypes: false, - postTransform: undefined, - silent: true, - supportArrayLength: false, - transform: undefined, - excludeDeprecated: false, - }, -}; - -describe("Response Object", () => { - test("basic", () => { - const schema: ResponseObject = { - description: "basic", - headers: { - foo: { - schema: { type: "string" } - } - }, - content: { - "application/json": { - schema: { - type: "object", - properties: { - url: { type: "string" }, - "content-type": { type: "string" }, - }, - required: ["url"], - }, - }, - }, - }; - const generated = transformResponseObject(schema, options); - expect(generated).toBe(`{ - headers: { - foo?: string; - }; - content: { - "application/json": { - url: string; - "content-type"?: string; - }; - }; -}`); - }); - - test("empty", () => { - const schema: ResponseObject = { - description: "empty", - headers: { - "some-header": { - schema: { type: "string" } - } - } - }; - const generated = transformResponseObject(schema, options); - expect(generated).toBe(`{ - headers: { - "some-header"?: string; - }; - content: never; -}`) - }); -}); diff --git a/packages/openapi-typescript/test/schema-object.test.ts b/packages/openapi-typescript/test/schema-object.test.ts deleted file mode 100644 index 0d60e5014..000000000 --- a/packages/openapi-typescript/test/schema-object.test.ts +++ /dev/null @@ -1,907 +0,0 @@ -import type { SchemaObject } from "../src/types.js"; -import transformSchemaObject, { TransformSchemaObjectOptions } from "../src/transform/schema-object.js"; - -const options: TransformSchemaObjectOptions = { - path: "#/test/schema-object", - ctx: { - additionalProperties: false, - alphabetize: false, - emptyObjectsUnknown: false, - defaultNonNullable: false, - discriminators: {}, - immutableTypes: false, - indentLv: 0, - operations: {}, - parameters: {}, - pathParamsAsTypes: false, - postTransform: undefined, - silent: true, - supportArrayLength: false, - transform: undefined, - excludeDeprecated: false, - }, -}; - -describe("Schema Object", () => { - describe("boolean schema", () => { - it("true", () => { - expect(transformSchemaObject(true as any, options)).toBe("unknown"); - }); - it("false", () => { - expect(transformSchemaObject(false as any, options)).toBe("never"); - }); - }); - describe("data types", () => { - describe("string", () => { - test("basic", () => { - const schema: SchemaObject = { type: "string" }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("string"); - }); - - test("enum", () => { - const schema: SchemaObject = { type: "string", enum: ["blue", "green", "yellow", ""] }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe('"blue" | "green" | "yellow" | ""'); - }); - - test("enum (inferred)", () => { - const schema: SchemaObject = { - properties: { - status: { enum: ["complete", "incomplete"] }, - }, - } as any; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - /** @enum {unknown} */ - status?: "complete" | "incomplete"; -}`); - }); - - test("enum (whitespace)", () => { - const schema: SchemaObject = { type: "string", enum: [" blue", "green ", " ", ""] }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe('" blue" | "green " | " " | ""'); - }); - }); - - describe("number", () => { - test("basic", () => { - const schema: SchemaObject = { type: "number" }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("number"); - }); - - test("enum", () => { - const schema: SchemaObject = { type: "number", enum: [50, 100, 200] }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("50 | 100 | 200"); - }); - - test("integer", () => { - const schema: SchemaObject = { type: "integer" }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("number"); - }); - }); - - describe("boolean", () => { - test("basic", () => { - const schema: SchemaObject = { type: "boolean" }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("boolean"); - }); - - test("enum", () => { - const schema: SchemaObject = { type: "boolean", enum: [true] }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("true"); - }); - }); - - describe("array", () => { - test("basic", () => { - const schema: SchemaObject = { type: "array", items: { type: "string" } }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("string[]"); - }); - - test("tuple array", () => { - const schema: SchemaObject = { type: "array", items: [{ type: "string" }, { type: "number" }], minItems: 2, maxItems: 2 }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("[string, number]"); - }); - - test("ref", () => { - const schema: SchemaObject = { type: "array", items: { $ref: 'components["schemas"]["ArrayItem"]' } }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe('components["schemas"]["ArrayItem"][]'); - }); - }); - - describe("object", () => { - test("empty", () => { - const schema: SchemaObject = { - type: "object", - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`Record`); - }); - - test("empty with emptyObjectsUnknown", () => { - const schema: SchemaObject = { - type: "object", - }; - const generated = transformSchemaObject(schema, { - ...options, - ctx: { ...options.ctx, emptyObjectsUnknown: true }, - }); - expect(generated).toBe(`Record`); - }); - - test("basic", () => { - const schema: SchemaObject = { - type: "object", - properties: { required: { type: "boolean" }, optional: { type: "boolean" } }, - required: ["required"], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - required: boolean; - optional?: boolean; -}`); - }); - - test("const string field", () => { - const schema: SchemaObject = { - type: "object", - properties: { constant: { const: "a", type: "string" } }, - required: ["constant"], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - /** @constant */ - constant: "a"; -}`); - }); - - test("const number field", () => { - const schema: SchemaObject = { - type: "object", - properties: { constant: { const: 1, type: "number" } }, - required: ["constant"], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - /** @constant */ - constant: 1; -}`); - }); - - test("const number field which is 0", () => { - const schema: SchemaObject = { - type: "object", - properties: { constant: { const: 0, type: "number" } }, - required: ["constant"], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - /** @constant */ - constant: 0; -}`); - }); - - test("additionalProperties with properties", () => { - const schema: SchemaObject = { - type: "object", - properties: { property: { type: "boolean" } }, - additionalProperties: { type: "string" }, - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - property?: boolean; - [key: string]: string | undefined; -}`); - }); - - test("additionalProperties with all required properties", () => { - const schema: SchemaObject = { - type: "object", - properties: { property: { type: "boolean" } }, - additionalProperties: { type: "string" }, - required: ["property"], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - property: boolean; - [key: string]: string; -}`); - }); - - test("additionalProperties with partly required properties", () => { - const schema: SchemaObject = { - type: "object", - properties: { property: { type: "boolean" }, property2: { type: "boolean" } }, - additionalProperties: { type: "string" }, - required: ["property"], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - property: boolean; - property2?: boolean; - [key: string]: string | undefined; -}`); - }); - - test("additionalProperties: true", () => { - const schema: SchemaObject = { type: "object", additionalProperties: true }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - [key: string]: unknown; -}`); - }); - - test("additionalProperties: SchemaObject", () => { - const schema: SchemaObject = { - type: "object", - additionalProperties: { type: "string" }, - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - [key: string]: string; -}`); - }); - - test("additionalProperties: {}", () => { - const schema: SchemaObject = { type: "object", additionalProperties: {} }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - [key: string]: unknown; -}`); - }); - }); - - describe("const", () => { - test("string", () => { - const generated = transformSchemaObject({ type: "string", const: "duck" }, options); - expect(generated).toBe(`"duck"`); - }); - - test("number", () => { - const generated = transformSchemaObject({ type: "number", const: 42 }, options); - expect(generated).toBe("42"); - }); - - test("string, no type specified", () => { - const generated = transformSchemaObject({ const: "99" }, options); - expect(generated).toBe(`"99"`); - }); - - test("number, no type specified", () => { - const generated = transformSchemaObject({ const: 300 }, options); - expect(generated).toBe("300"); - }); - }); - - describe("nullable", () => { - describe("3.0 nullable", () => { - test("string", () => { - const generated = transformSchemaObject({ type: "string", nullable: true }, options); - expect(generated).toBe("string | null"); - }); - - test("number", () => { - const generated = transformSchemaObject({ type: "number", nullable: true }, options); - expect(generated).toBe("number | null"); - }); - - test("boolean", () => { - const generated = transformSchemaObject({ type: "boolean", nullable: true }, options); - expect(generated).toBe("boolean | null"); - }); - - test("array", () => { - const generated = transformSchemaObject({ type: "array", items: { type: "string" }, nullable: true }, options); - expect(generated).toBe("string[] | null"); - }); - - test("object", () => { - const generated = transformSchemaObject({ type: "object", properties: { string: { type: "string" } }, nullable: true }, options); - expect(generated).toBe(`{ - string?: string; -} | null`); - }); - }); - - describe("3.1 nullable", () => { - test("string", () => { - const generated = transformSchemaObject({ type: ["string", "null"] }, options); - expect(generated).toBe("string | null"); - }); - - test("number", () => { - const generated = transformSchemaObject({ type: ["number", "null"] }, options); - expect(generated).toBe("number | null"); - }); - - test("integer", () => { - const generated = transformSchemaObject({ type: ["integer", "null"] }, options); - expect(generated).toBe("number | null"); - }); - - test("boolean", () => { - const generated = transformSchemaObject({ type: ["boolean", "null"] }, options); - expect(generated).toBe("boolean | null"); - }); - - test("array", () => { - const generated = transformSchemaObject({ type: ["array", "null"], items: { type: "string" } } as any, options); - expect(generated).toBe("string[] | null"); - }); - - test("object", () => { - const generated = transformSchemaObject({ type: ["object", "null"], properties: { string: { type: "string" } } }, options); - expect(generated).toBe(`{ - string?: string; -} | null`); - }); - }); - }); - - describe("polymorphic", () => { - test("nullish primitive", () => { - const generated = transformSchemaObject({ type: ["string", "boolean", "number", "null"] }, options); - expect(generated).toBe("string | boolean | number | null"); - }); - - test("enum + polymorphism + nullable 1", () => { - const generated = transformSchemaObject({ type: ["string", "null"], enum: ["blue", "green", "yellow"] }, options); - expect(generated).toBe(`"blue" | "green" | "yellow"`); - }); - - test("enum + polymorphism + nullable 2", () => { - const generated = transformSchemaObject({ type: ["string", "null"], enum: ["", "blue", "green", "yellow"] }, options); - expect(generated).toBe(`"" | "blue" | "green" | "yellow"`); - }); - - test("enum + polymorphism + nullable 3", () => { - const generated = transformSchemaObject({ type: ["string", "null"], enum: [null, "blue", "green", "yellow"] }, options); - expect(generated).toBe(`null | "blue" | "green" | "yellow"`); - }); - }); - - test("unknown", () => { - const generated = transformSchemaObject({}, options); - expect(generated).toBe(`unknown`); - }); - }); - - describe("schema composition", () => { - describe("oneOf", () => { - test("primitive", () => { - const schema: SchemaObject = { - oneOf: [{ type: "string" }, { type: "number" }], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("string | number"); - }); - - test("const string", () => { - const schema: SchemaObject = { - oneOf: [ - { type: "string", const: "hello" }, - { type: "string", const: "world" }, - ], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe('"hello" | "world"'); - }); - - test("const number", () => { - const schema: SchemaObject = { - oneOf: [ - { type: "number", const: 0 }, - { type: "number", const: 1 }, - ], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("0 | 1"); - }); - - test("empty object + oneOf is ignored", () => { - const schema: SchemaObject = { - type: "object", - oneOf: [ - { - title: "DetailsId", - type: "object", - required: ["id"], - properties: { - id: { type: "string", description: "The ID of an existing resource that exists before the pipeline is run." }, - }, - }, - { - title: "DetailsFrom", - type: "object", - required: ["from"], - properties: { - from: { - type: "object", - description: "The stage and step to report on.", - required: ["step"], - properties: { stage: { type: "string", description: "An identifier for the stage the step being reported on resides in." }, step: { type: "string", description: "An identifier for the step to be reported on." } }, - }, - }, - }, - ], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`OneOf<[{ - /** @description The ID of an existing resource that exists before the pipeline is run. */ - id: string; -}, { - /** @description The stage and step to report on. */ - from: { - /** @description An identifier for the stage the step being reported on resides in. */ - stage?: string; - /** @description An identifier for the step to be reported on. */ - step: string; - }; -}]>`); - }); - - test("nullable: true", () => { - const schema: SchemaObject = { nullable: true, oneOf: [{ type: "integer" }, { type: "string" }] }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("number | string | null"); - }); - - test("complex", () => { - const schema: SchemaObject = { - oneOf: [ - { type: "object", properties: { string: { type: "string" } }, required: ["string"] }, - { type: "object", properties: { boolean: { type: "boolean" } }, required: ["boolean"] }, - { type: "object", properties: { number: { type: "number" } }, required: ["number"] }, - ], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`OneOf<[{ - string: string; -}, { - boolean: boolean; -}, { - number: number; -}]>`); - }); - - test("oneOf + properties", () => { - const schema = { - type: "object", - oneOf: [ - { type: "object", properties: { foo: { type: "string" } } }, - { type: "object", properties: { bar: { type: "string" } } }, - ], - properties: { - baz: { type: "string" }, - }, - } as SchemaObject; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - baz?: string; -} & OneOf<[{ - foo?: string; -}, { - bar?: string; -}]>`); - }); - - test("oneOf + array type", () => { - const schema = { - oneOf: [{ type: "integer" }, { type: "string" }], - type: ["null", "integer", "string"], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe("number | string | null"); - }); - - test("enum (acting as oneOf)", () => { - const schema: SchemaObject = { - type: "object", - additionalProperties: true, - enum: [{ $ref: "#/components/schemas/simple-user" }, { $ref: "#/components/schemas/team" }, { $ref: "#/components/schemas/organization" }], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - [key: string]: unknown; -} & (#/components/schemas/simple-user | #/components/schemas/team | #/components/schemas/organization)`); - }); - - test("falls back to union at high complexity", () => { - const schema: SchemaObject = { - oneOf: [ - { type: "object", properties: { string: { type: "string" } }, required: ["string"] }, - { type: "object", properties: { boolean: { type: "boolean" } }, required: ["boolean"] }, - { type: "object", properties: { number: { type: "number" } }, required: ["number"] }, - { type: "object", properties: { array: { type: "array", items: { type: "string" } } }, required: ["array"] }, - { type: "object", properties: { object: { type: "object", properties: { string: { type: "string" } }, required: ["string"] } }, required: ["object"] }, - { type: "object", properties: { enum: { type: "string", enum: ["foo", "bar", "baz"] } }, required: ["enum"] }, - ], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - string: string; -} | { - boolean: boolean; -} | { - number: number; -} | { - array: string[]; -} | { - object: { - string: string; - }; -} | ({ - /** @enum {string} */ - enum: "foo" | "bar" | "baz"; -})`); - }); - - test("discriminator", () => { - const schema: SchemaObject = { - type: "object", - allOf: [{ $ref: 'components["schemas"]["parent"]' }, { type: "object", properties: { string: { type: "string" } } }], - }; - const generated = transformSchemaObject(schema, { - path: options.path, - ctx: { - ...options.ctx, - discriminators: { - 'components["schemas"]["parent"]': { - propertyName: "operation", - mapping: { - test: options.path, - }, - }, - }, - }, - }); - expect(generated).toBe(`{ - operation: "test"; -} & Omit & { - string?: string; -}`); - }); - - test("discriminator (oneOf)", () => { - const schema: SchemaObject = { - type: "object", - required: ["name"], - properties: { - name: { type: "string" }, - }, - }; - const generated = transformSchemaObject(schema, { - path: "#/components/schemas/Cat", - ctx: { - ...options.ctx, - discriminators: { - 'components["schemas"]["Pet"]': { - propertyName: "petType", - oneOf: ["#/components/schemas/Cat"], - }, - }, - }, - }); - expect(generated).toBe(`{ - petType: "Cat"; - name: string; -}`); - }); - - test("discriminator without mapping and oneOf and null", () => { - const schema: SchemaObject = { - oneOf: [{ $ref: 'components["schemas"]["parent"]' }, { type: "null" }], - }; - const generated = transformSchemaObject(schema, { - path: options.path, - ctx: { - ...options.ctx, - discriminators: { - 'components["schemas"]["parent"]': { propertyName: "operation" }, - }, - }, - }); - expect(generated).toBe(`{ - operation: "schema-object"; -} & (Omit | null)`); - }); - - test("discriminator escape", () => { - const schema: SchemaObject = { - type: "object", - allOf: [{ $ref: 'components["schemas"]["parent"]' }, { type: "object", properties: { string: { type: "string" } } }], - }; - const generated = transformSchemaObject(schema, { - path: options.path, - ctx: { - ...options.ctx, - discriminators: { - 'components["schemas"]["parent"]': { - propertyName: "@type", - mapping: { - test: options.path, - }, - }, - }, - }, - }); - expect(generated).toBe(`{ - "@type": "test"; -} & Omit & { - string?: string; -}`); - }); - - test("discriminator with automatic propertyName", () => { - const schema: SchemaObject = { - type: "object", - allOf: [{ $ref: 'components["schemas"]["Pet"]' }], - properties: { - bark: { type: "boolean" }, - }, - additionalProperties: false, - }; - const generated = transformSchemaObject(schema, { - path: "#/components/schemas/Dog", - ctx: { - ...options.ctx, - discriminators: { - 'components["schemas"]["Pet"]': { propertyName: "_petType" }, - }, - }, - }); - expect(generated).toBe(`{ - _petType: "Dog"; - bark?: boolean; -} & Omit`); - }); - }); - - describe("allOf", () => { - test("basic", () => { - const schema: SchemaObject = { - allOf: [ - { - type: "object", - properties: { red: { type: "number" }, blue: { type: "number" } }, - required: ["red", "blue"], - }, - { type: "object", properties: { green: { type: "number" } }, required: ["green"] }, - ], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - red: number; - blue: number; -} & { - green: number; -}`); - }); - - test("sibling required", () => { - const schema: SchemaObject = { - required: ["red", "blue", "green"], - allOf: [ - { - type: "object", - properties: { red: { type: "number" }, blue: { type: "number" } }, - }, - { type: "object", properties: { green: { type: "number" } } }, - ], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`WithRequired<{ - red?: number; - blue?: number; -} & { - green?: number; -}, "red" | "blue" | "green">`); - }); - }); - - describe("anyOf", () => { - test("basic", () => { - const schema: SchemaObject = { - anyOf: [ - { type: "object", properties: { red: { type: "number" } }, required: ["red"] }, - { type: "object", properties: { blue: { type: "number" } }, required: ["blue"] }, - { type: "object", properties: { green: { type: "number" } }, required: ["green"] }, - ], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`{ - red: number; -} | { - blue: number; -} | { - green: number; -}`); - }); - }); - }); - - describe("options", () => { - describe("additionalProperties", () => { - test("true", () => { - const schema: SchemaObject = { - type: "object", - properties: { - fixed: { type: "boolean" }, - }, - required: ["fixed"], - }; - const generated = transformSchemaObject(schema, { - ...options, - ctx: { ...options.ctx, additionalProperties: true }, - }); - expect(generated).toBe(`{ - fixed: boolean; - [key: string]: unknown; -}`); - }); - }); - - describe("emptyObjectsUnknown", () => { - describe("with object with no specified properties", () => { - const schema: SchemaObject = { - type: "object", - }; - - test("true", () => { - const generated = transformSchemaObject(schema, { - ...options, - ctx: { ...options.ctx, emptyObjectsUnknown: true }, - }); - expect(generated).toBe(`Record`); - }); - - test("false", () => { - const generated = transformSchemaObject(schema, { - ...options, - ctx: { ...options.ctx, emptyObjectsUnknown: false }, - }); - expect(generated).toBe(`Record`); - }); - }); - }); - - describe("defaultNonNullable", () => { - test("true", () => { - const schema: SchemaObject = { - type: "object", - properties: { - required: { type: "boolean" }, - requiredDefault: { type: "boolean", default: false }, - optional: { type: "boolean" }, - optionalDefault: { type: "boolean", default: false }, - }, - required: ["required", "requiredDefault"], - }; - const generated = transformSchemaObject(schema, { - ...options, - ctx: { ...options.ctx, defaultNonNullable: true }, - }); - expect(generated).toBe(`{ - required: boolean; - /** @default false */ - requiredDefault: boolean; - optional?: boolean; - /** @default false */ - optionalDefault: boolean; -}`); - }); - }); - - test("supportArrayLength", () => { - const opts = { ...options, ctx: { ...options.ctx, supportArrayLength: true } }; - expect(transformSchemaObject({ type: "array", items: { type: "string" } }, options)).toBe(`string[]`); - expect(transformSchemaObject({ type: "array", items: { type: "string" }, minItems: 1 }, opts)).toBe(`[string, ...string[]]`); - expect(transformSchemaObject({ type: "array", items: { type: "string" }, maxItems: 2 }, opts)).toBe(`[] | [string] | [string, string]`); - expect(transformSchemaObject({ type: "array", items: { type: "string" }, maxItems: 20 }, opts)).toBe(`string[]`); - }); - - test("prefixItems", () => { - const schema: SchemaObject = { - type: "array", - items: { type: "number" }, - prefixItems: [{ type: "number" }, { type: "number" }, { type: "number" }], - }; - const generated = transformSchemaObject(schema, options); - expect(generated).toBe(`[number, number, number]`); - }); - - describe("immutableTypes", () => { - test("nullable array of records property", () => { - const schema: SchemaObject = { - type: "object", - properties: { - array: { - type: "array", - nullable: true, - items: { - type: "object", - additionalProperties: true, - }, - }, - }, - }; - const generated = transformSchemaObject(schema, { - ...options, - ctx: { ...options.ctx, immutableTypes: true }, - }); - expect(generated).toBe(`{ - readonly array?: (readonly { - [key: string]: unknown; - }[]) | null; -}`); - }); - - test("readonly arrays", () => { - const schema: SchemaObject = { - type: "array", - items: { - type: "array", - items: { - type: "string", - }, - }, - }; - - const generated = transformSchemaObject(schema, { - ...options, - ctx: { ...options.ctx, immutableTypes: true }, - }); - expect(generated).toBe(`readonly (readonly string[])[]`); - }); - }); - }); - - describe("JSONSchema", () => { - test("$defs are kept (for types that can hold them)", () => { - const generated = transformSchemaObject( - { - type: "object", - properties: { - foo: { type: "string" }, - }, - $defs: { - defEnum: { type: "string", enum: ["one", "two", "three"] }, - }, - }, - options, - ); - expect(generated).toBe(`{ - foo?: string; - $defs: { - /** @enum {string} */ - defEnum: "one" | "two" | "three"; - }; -}`); - }); - }); -}); - -describe("ReferenceObject", () => { - test("x-* properties are ignored", () => { - expect( - transformSchemaObject( - { - type: "object", - properties: { string: { type: "string" } }, - "x-extension": true, - }, - options, - ), - ).toBe("{\n string?: string;\n}"); - }); -}); diff --git a/packages/openapi-typescript/test/test-helpers.ts b/packages/openapi-typescript/test/test-helpers.ts new file mode 100644 index 000000000..c423bd160 --- /dev/null +++ b/packages/openapi-typescript/test/test-helpers.ts @@ -0,0 +1,48 @@ +import { resolveRef } from "../src/lib/utils.js"; +import { GlobalContext, TransformNodeOptions } from "../src/types.js"; + +/** Default options for all transform* functions */ +export const DEFAULT_CTX: GlobalContext = { + additionalProperties: false, + alphabetize: false, + defaultNonNullable: true, + discriminators: {}, + emptyObjectsUnknown: false, + enum: false, + excludeDeprecated: false, + exportType: false, + immutableTypes: false, + injectFooter: [], + pathParamsAsTypes: false, + postTransform: undefined, + redocly: {}, + resolve(ref) { + return resolveRef({}, ref, { silent: false }); + }, + silent: true, + supportArrayLength: false, + transform: undefined, +}; + +/* eslint-disable @typescript-eslint/no-explicit-any */ + +/** Generic test case */ +export type TestCase = [ + string, + { + /** + * The OpenAPI schema. * Typing as `any` is good because it lets us test + * any invalid or unexpected formats without fighting with TypeScript. + */ + given: T; + /** + * The expected TypeScript output. Be mindful of indentation and + * parentheses! + */ + want: string; + /** + * Transform options. + */ + options?: O; + }, +]; diff --git a/packages/openapi-typescript/test/transform/components-object.test.ts b/packages/openapi-typescript/test/transform/components-object.test.ts new file mode 100644 index 000000000..c9ea80522 --- /dev/null +++ b/packages/openapi-typescript/test/transform/components-object.test.ts @@ -0,0 +1,469 @@ +import { astToString } from "../../src/lib/ts.js"; +import transformComponentsObject from "../../src/transform/components-object.js"; +import type { GlobalContext } from "../../src/types.js"; +import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; + +const DEFAULT_OPTIONS = DEFAULT_CTX; + +describe("transformComponentsObject", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { + schemas: { + String: { type: "string" }, + Error: { + type: "object", + required: ["code", "message"], + properties: { + code: { type: "string" }, + message: { type: "string" }, + }, + }, + }, + responses: { + OK: { + description: "OK", + content: { "text/html": { schema: { type: "string" } } }, + }, + NoContent: { description: "No Content" }, + ErrorResponse: { + content: { + "application/json": { + schema: { $ref: "#/components/schemas/Error" }, + }, + }, + }, + }, + parameters: { + Search: { + name: "search", + in: "query", + required: true, + schema: { type: "string" }, + }, + }, + requestBodies: { + UploadUser: { + content: { + "application/json": { + schema: { + type: "object", + properties: { email: { type: "string" } }, + required: ["email"], + }, + }, + }, + }, + }, + // "examples" should just be ignored + examples: { + ExampleObject: { + value: { + name: "Example", + $ref: "foo.yml#/components/schemas/Bar", + }, + }, + }, + headers: { Auth: { schema: { type: "string" } } }, + pathItems: { + UploadUser: { + get: { + requestBody: { + $ref: "#/components/requestBodies/UploadUser", + }, + }, + }, + }, + }, + want: `{ + schemas: { + String: string; + Error: { + code: string; + message: string; + }; + }; + responses: { + /** @description OK */ + OK: { + headers: { + [name: string]: unknown; + }; + content: { + "text/html": string; + }; + }; + /** @description No Content */ + NoContent: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + ErrorResponse: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + parameters: { + Search: string; + }; + requestBodies: { + UploadUser: { + content: { + "application/json": { + email: string; + }; + }; + }; + }; + headers: { + Auth: string; + }; + pathItems: { + UploadUser: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: components["requestBodies"]["UploadUser"]; + responses: never; + }; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + }; +}`, + options: { + ...DEFAULT_OPTIONS, + resolve(ref) { + switch (ref) { + case "#/components/requestBodies/UploadUser": { + return { + content: { + "application/json": { + schema: { + type: "object", + properties: { email: { type: "string" } }, + required: ["email"], + }, + }, + }, + }; + } + default: { + return undefined as any; + } + } + }, + }, + }, + ], + [ + "all optional parameters", + { + given: { + parameters: { + myParam: { + name: "myParam", + in: "query", + required: false, + schema: { type: "string" }, + }, + myParam2: { + name: "myParam2", + in: "query", + schema: { type: "string" }, + }, + }, + }, + want: `{ + schemas: never; + responses: never; + parameters: { + myParam: string; + myParam2: string; + }; + requestBodies: never; + headers: never; + pathItems: never; +}`, + }, + // options: DEFAULT_OPTIONS, + ], + [ + "options > alphabetize: true", + { + given: { + schemas: { + Gamma: { + type: "object", + properties: { + 10: { type: "boolean" }, + 2: { type: "boolean" }, + 1: { type: "boolean" }, + }, + }, + Beta: { + type: "object", + properties: { + b: { type: "boolean" }, + c: { type: "boolean" }, + a: { type: "boolean" }, + }, + }, + Alpha: { + type: "object", + properties: { + z: { type: "boolean" }, + a: { type: "boolean" }, + }, + }, + }, + }, + want: `{ + schemas: { + Alpha: { + a?: boolean; + z?: boolean; + }; + Beta: { + a?: boolean; + b?: boolean; + c?: boolean; + }; + Gamma: { + 1?: boolean; + 2?: boolean; + 10?: boolean; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +}`, + options: { ...DEFAULT_OPTIONS, alphabetize: true }, + }, + ], + [ + "options > immutableTypes: true", + { + given: { + schemas: { + String: { type: "string" }, + Error: { + type: "object", + required: ["code", "message"], + properties: { + code: { type: "string" }, + message: { type: "string" }, + }, + }, + }, + responses: { + OK: { + description: "OK", + content: { "text/html": { schema: { type: "string" } } }, + }, + NoContent: { description: "No Content" }, + ErrorResponse: { + content: { + "application/json": { + schema: { $ref: "#/components/schemas/Error" }, + }, + }, + }, + }, + parameters: { + Search: { + name: "search", + in: "query", + required: true, + schema: { type: "string" }, + }, + }, + requestBodies: { + UploadUser: { + content: { + "application/json": { + schema: { + type: "object", + properties: { email: { type: "string" } }, + required: ["email"], + }, + }, + }, + }, + }, + headers: { Auth: { schema: { type: "string" } } }, + pathItems: { + UploadUser: { + get: { + requestBody: { + $ref: "#/components/requestBodies/UploadUser", + }, + }, + }, + }, + }, + want: `{ + schemas: { + readonly String: string; + readonly Error: { + readonly code: string; + readonly message: string; + }; + }; + responses: { + /** @description OK */ + readonly OK: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "text/html": string; + }; + }; + /** @description No Content */ + readonly NoContent: { + headers: { + readonly [name: string]: unknown; + }; + content?: never; + }; + readonly ErrorResponse: { + headers: { + readonly [name: string]: unknown; + }; + content: { + readonly "application/json": components["schemas"]["Error"]; + }; + }; + }; + parameters: { + readonly Search: string; + }; + requestBodies: { + readonly UploadUser: { + readonly content: { + readonly "application/json": { + readonly email: string; + }; + }; + }; + }; + headers: { + readonly Auth: string; + }; + pathItems: { + readonly UploadUser: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + readonly requestBody?: components["requestBodies"]["UploadUser"]; + responses: never; + }; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + }; +}`, + options: { + ...DEFAULT_OPTIONS, + immutableTypes: true, + resolve(ref) { + switch (ref) { + case "#/components/requestBodies/UploadUser": { + return { + content: { + "application/json": { + schema: { + type: "object", + properties: { email: { type: "string" } }, + required: ["email"], + }, + }, + }, + }; + } + default: { + return undefined as any; + } + } + }, + }, + }, + ], + [ + "options > excludeDeprecated: true", + { + given: { + schemas: { + Alpha: { + type: "object", + properties: { + a: { type: "boolean", deprecated: true }, + z: { type: "boolean" }, + }, + }, + }, + }, + want: `{ + schemas: { + Alpha: { + z?: boolean; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +}`, + options: { ...DEFAULT_OPTIONS, excludeDeprecated: true }, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformComponentsObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/header-object.test.ts b/packages/openapi-typescript/test/transform/header-object.test.ts new file mode 100644 index 000000000..da651a1cf --- /dev/null +++ b/packages/openapi-typescript/test/transform/header-object.test.ts @@ -0,0 +1,31 @@ +import { astToString } from "../../src/lib/ts.js"; +import transformHeaderObject from "../../src/transform/header-object.js"; +import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; + +const DEFAULT_OPTIONS = { + path: "#/components/headers/header-object", + ctx: { ...DEFAULT_CTX }, +}; + +describe("transformHeaderObject", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { + description: "Auth", + schema: { + type: "string", + }, + }, + want: `string`, + // options: DEFAULT_OPTIONS, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformHeaderObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/operation-object.test.ts b/packages/openapi-typescript/test/transform/operation-object.test.ts new file mode 100644 index 000000000..3b2e304d9 --- /dev/null +++ b/packages/openapi-typescript/test/transform/operation-object.test.ts @@ -0,0 +1,166 @@ +import { astToString } from "../../src/lib/ts.js"; +import transformOperationObject from "../../src/transform/operation-object.js"; +import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; + +const DEFAULT_OPTIONS = { path: "#/paths/~1get-item", ctx: { ...DEFAULT_CTX } }; + +describe("transformOperationObject", () => { + const tests: TestCase[] = [ + [ + "supports XX codes", + { + given: { + responses: { + "2XX": { + description: "OK", + content: { + "application/json": { + schema: { type: "string" }, + }, + }, + }, + "4XX": { + description: "OK", + content: { + "application/json": { + schema: { $ref: "#/components/schemas/Error" }, + }, + }, + }, + "5XX": { + description: "OK", + content: { + "application/json": { + schema: { $ref: "#/components/schemas/Error" }, + }, + }, + }, + }, + }, + want: `parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; +}; +requestBody?: never; +responses: { + /** @description OK */ + "2XX": { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + }; + }; + /** @description OK */ + "4XX": { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description OK */ + "5XX": { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; +};`, + }, + ], + [ + "parameters > root optional if no path params and no required params", + { + given: { + parameters: [ + { in: "query", name: "search", schema: { type: "string" } }, + { + in: "header", + name: "x-header", + schema: { type: "string" }, + }, + ], + responses: { + 200: { + description: "OK", + content: { "application/json": { schema: { type: "string" } } }, + }, + }, + }, + want: `parameters: { + query?: { + search?: string; + }; + header?: { + "x-header"?: string; + }; + path?: never; + cookie?: never; +}; +requestBody?: never; +responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + }; + }; +};`, + }, + ], + [ + "parameters > root not optional if any path params", + { + given: { + parameters: [ + { in: "path", name: "user_id", schema: { type: "string" } }, + { in: "query", name: "search", schema: { type: "string" } }, + ], + responses: { + "200": { + description: "OK", + content: { "application/json": { schema: { type: "string" } } }, + }, + }, + }, + want: `parameters: { + query?: { + search?: string; + }; + header?: never; + path: { + user_id: string; + }; + cookie?: never; +}; +requestBody?: never; +responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + }; + }; +};`, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformOperationObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/path-item-object.test.ts b/packages/openapi-typescript/test/transform/path-item-object.test.ts new file mode 100644 index 000000000..437046e90 --- /dev/null +++ b/packages/openapi-typescript/test/transform/path-item-object.test.ts @@ -0,0 +1,244 @@ +import { astToString } from "../../src/lib/ts.js"; +import transformPathItemObject from "../../src/transform/path-item-object.js"; +import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; + +const DEFAULT_OPTIONS = { + path: "#/paths/~1get-item", + ctx: { ...DEFAULT_CTX }, +}; + +describe("transformPathItemObject", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { + get: { + description: "Basic GET", + responses: { + 200: { + description: "OK", + content: { + "application/json": { + schema: { + type: "object", + properties: { + success: { type: "boolean" }, + }, + required: ["success"], + }, + }, + }, + }, + 404: { $ref: "#/components/responses/NotFound" }, + "5xx": { + description: "Server error", + content: { + "application/json": { + schema: { + type: "object", + properties: { + message: { type: "string" }, + code: { type: "string" }, + }, + required: ["message"], + }, + }, + }, + }, + }, + }, + post: { + description: "Basic POST", + requestBody: { + content: { + "application/json": { $ref: "#/components/schemas/User" }, + }, + }, + responses: { + 200: { $ref: "#/components/responses/AllGood" }, + 404: { $ref: "#/components/responses/NotFound" }, + }, + }, + }, + want: `{ + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Basic GET */ + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + success: boolean; + }; + }; + }; + 404: components["responses"]["NotFound"]; + /** @description Server error */ + "5xx": { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + code?: string; + }; + }; + }; + }; + }; + put: never; + /** @description Basic POST */ + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["User"]; + }; + }; + responses: { + 200: components["responses"]["AllGood"]; + 404: components["responses"]["NotFound"]; + }; + }; + delete: never; + options: never; + head: never; + patch: never; + trace: never; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "operations", + { + given: { + get: { + description: "Get a user", + operationId: "getUser", + responses: { + 200: { + description: "Get User", + content: { + "application/json": { + schema: { + type: "object", + properties: { + url: { type: "string" }, + "content-type": { type: "string" }, + }, + required: ["url"], + }, + }, + }, + }, + }, + }, + }, + want: `{ + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Get a user */ + get: operations["getUser"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "$ref", + { + given: { + get: { + $ref: "#/components/schemas/GetUserOperation", + }, + }, + want: `{ + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: components["schemas"]["GetUserOperation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "options > excludeDeprecated: true", + { + given: { + get: { + deprecated: true, + }, + }, + want: `{ + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; +}`, + options: { + ...DEFAULT_OPTIONS, + ctx: { ...DEFAULT_OPTIONS.ctx, excludeDeprecated: true }, + }, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformPathItemObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/paths-object.test.ts b/packages/openapi-typescript/test/transform/paths-object.test.ts new file mode 100644 index 000000000..3432b0d66 --- /dev/null +++ b/packages/openapi-typescript/test/transform/paths-object.test.ts @@ -0,0 +1,376 @@ +import { astToString } from "../../src/lib/ts.js"; +import transformPathsObject from "../../src/transform/paths-object.js"; +import type { GlobalContext } from "../../src/types.js"; +import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; + +const DEFAULT_OPTIONS = DEFAULT_CTX; + +describe("transformPathsObject", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { + "/api/v1/user/{user_id}": { + parameters: [ + { + name: "page", + in: "query", + schema: { type: "number" }, + description: "Page number.", + }, + ], + get: { + parameters: [ + { name: "user_id", in: "path", description: "User ID." }, + ], + responses: { + 200: { + description: "OK", + headers: { + Link: { + $ref: "#/components/headers/link", + }, + }, + content: { + "application/json": { + schema: { + type: "object", + properties: { + id: { type: "string" }, + email: { type: "string" }, + name: { type: "string" }, + }, + required: ["id", "email"], + }, + }, + }, + }, + 404: { + $ref: "#/components/responses/NotFound", + }, + }, + }, + }, + }, + want: `{ + "/api/v1/user/{user_id}": { + parameters: { + query?: { + /** @description Page number. */ + page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + /** @description Page number. */ + page?: number; + }; + header?: never; + path: { + /** @description User ID. */ + user_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + id: string; + email: string; + name?: string; + }; + }; + }; + 404: components["responses"]["NotFound"]; + }; + }; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "$ref", + { + given: { + "/api/{version}/user/{user_id}": { + parameters: [ + { $ref: "#/components/parameters/utm_source" }, + { $ref: "#/components/parameters/utm_email" }, + { $ref: "#/components/parameters/utm_campaign" }, + { $ref: "#/components/parameters/version" }, + { in: "query", name: "page", schema: { type: "number" } }, + { in: "path", name: "user_id" }, + ], + }, + }, + want: `{ + "/api/{version}/user/{user_id}": { + parameters: { + query?: { + utm_source?: components["parameters"]["utm_source"]; + utm_email?: components["parameters"]["utm_email"]; + utm_campaign?: components["parameters"]["utm_campaign"]; + page?: number; + }; + header?: never; + path: { + version: components["parameters"]["version"]; + user_id: string; + }; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +}`, + options: { + ...DEFAULT_OPTIONS, + resolve(ref) { + switch (ref) { + case "#/components/parameters/utm_source": { + return { + in: "query", + name: "utm_source", + schema: { type: "string" }, + }; + } + case "#/components/parameters/utm_email": { + return { + in: "query", + name: "utm_email", + schema: { type: "string" }, + }; + } + case "#/components/parameters/utm_campaign": { + return { + in: "query", + name: "utm_campaign", + schema: { type: "string" }, + }; + } + case "#/components/parameters/version": { + return { + in: "path", + name: "version", + schema: { type: "string" }, + }; + } + default: { + return undefined as any; + } + } + }, + }, + }, + ], + [ + "options > alphabetize: true", + { + given: { + "/api/{version}/user/{user_id}": { + parameters: [ + { in: "query", name: "page", schema: { type: "number" } }, + { $ref: "#/components/parameters/utm_source" }, + { $ref: "#/components/parameters/utm_email" }, + { $ref: "#/components/parameters/utm_campaign" }, + { $ref: "#/components/parameters/version" }, + { in: "path", name: "user_id" }, + ], + }, + }, + want: `{ + "/api/{version}/user/{user_id}": { + parameters: { + query?: { + page?: number; + utm_campaign?: components["parameters"]["utm_campaign"]; + utm_email?: components["parameters"]["utm_email"]; + utm_source?: components["parameters"]["utm_source"]; + }; + header?: never; + path: { + user_id: string; + version: components["parameters"]["version"]; + }; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +}`, + options: { + ...DEFAULT_OPTIONS, + alphabetize: true, + resolve(ref) { + switch (ref) { + case "#/components/parameters/utm_source": { + return { + in: "query", + name: "utm_source", + schema: { type: "string" }, + }; + } + case "#/components/parameters/utm_email": { + return { + in: "query", + name: "utm_email", + schema: { type: "string" }, + }; + } + case "#/components/parameters/utm_campaign": { + return { + in: "query", + name: "utm_campaign", + schema: { type: "string" }, + }; + } + case "#/components/parameters/version": { + return { + in: "path", + name: "version", + schema: { type: "string" }, + }; + } + default: { + return undefined as any; + } + } + }, + }, + }, + ], + [ + "options > pathParamsAsTypes: true", + { + given: { + "/api/v1/user/me": { + parameters: [ + { + name: "page", + in: "query", + schema: { type: "number" }, + description: "Page number.", + }, + ], + get: { + parameters: [], + responses: { + 200: { + description: "OK", + headers: { + Link: { + $ref: "#/components/headers/link", + }, + }, + content: { + "application/json": { + schema: { + type: "object", + properties: { + id: { type: "string" }, + email: { type: "string" }, + name: { type: "string" }, + }, + required: ["id", "email"], + }, + }, + }, + }, + 404: { + $ref: "#/components/responses/NotFound", + }, + }, + }, + }, + }, + want: `{ + "/api/v1/user/me": { + parameters: { + query?: { + /** @description Page number. */ + page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + /** @description Page number. */ + page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + id: string; + email: string; + name?: string; + }; + }; + }; + 404: components["responses"]["NotFound"]; + }; + }; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +}`, + options: { ...DEFAULT_OPTIONS, pathParamsAsTypes: true }, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformPathsObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/request-body-object.test.ts b/packages/openapi-typescript/test/transform/request-body-object.test.ts new file mode 100644 index 000000000..325cc22a4 --- /dev/null +++ b/packages/openapi-typescript/test/transform/request-body-object.test.ts @@ -0,0 +1,58 @@ +import { astToString } from "../../src/lib/ts.js"; +import transformRequestBodyObject from "../../src/transform/request-body-object.js"; +import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; + +const DEFAULT_OPTIONS = { + path: "#/paths/~1get-item/get", + ctx: { ...DEFAULT_CTX }, +}; + +describe("transformRequestBodyObject", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { + content: { + "application/json": { + schema: { + type: "object", + properties: { + required: { type: "string" }, + optional: { type: "string" }, + }, + required: ["required"], + }, + }, + }, + }, + want: `{ + content: { + "application/json": { + required: string; + optional?: string; + }; + }; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "empty", + { + given: { content: {} }, + want: `{ + content: { + "*/*"?: never; + }; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformRequestBodyObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/response-object.test.ts b/packages/openapi-typescript/test/transform/response-object.test.ts new file mode 100644 index 000000000..c8bb040ef --- /dev/null +++ b/packages/openapi-typescript/test/transform/response-object.test.ts @@ -0,0 +1,78 @@ +import { astToString } from "../../src/lib/ts.js"; +import transformResponseObject from "../../src/transform/response-object.js"; +import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; + +const DEFAULT_OPTIONS = { + path: "#/paths/~1get-item/responses/200", + ctx: { ...DEFAULT_CTX }, +}; + +describe("transformResponseObject", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { + description: "basic", + headers: { + foo: { + schema: { type: "string" }, + }, + }, + content: { + "application/json": { + schema: { + type: "object", + properties: { + url: { type: "string" }, + "content-type": { type: "string" }, + }, + required: ["url"], + }, + }, + }, + }, + want: `{ + headers: { + foo?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + url: string; + "content-type"?: string; + }; + }; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "empty", + { + given: { + description: "empty", + headers: { + "some-header": { + schema: { type: "string" }, + required: true, + }, + }, + }, + want: `{ + headers: { + "some-header": string; + [name: string]: unknown; + }; + content?: never; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformResponseObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/schema-object/array.test.ts b/packages/openapi-typescript/test/transform/schema-object/array.test.ts new file mode 100644 index 000000000..b50194689 --- /dev/null +++ b/packages/openapi-typescript/test/transform/schema-object/array.test.ts @@ -0,0 +1,172 @@ +import { astToString } from "../../../src/lib/ts.js"; +import transformSchemaObject from "../../../src/transform/schema-object.js"; +import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; + +const DEFAULT_OPTIONS = { + path: "#/components/schemas/schema-object", + ctx: { ...DEFAULT_CTX }, +}; + +describe("transformSchemaObject > array", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { type: "array", items: { type: "string" } }, + want: `string[]`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "tuple > tuple items", + { + given: { + type: "array", + items: [{ type: "string" }, { type: "number" }], + minItems: 2, + maxItems: 2, + }, + want: `[ + string, + number +]`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "tuple > prefixItems", + { + given: { + type: "array", + items: { type: "number" }, + prefixItems: [ + { type: "number" }, + { type: "number" }, + { type: "number" }, + ], + }, + want: `[ + number, + number, + number +]`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "ref", + { + given: { + type: "array", + items: { $ref: "#/components/schemas/ArrayItem" }, + }, + want: `components["schemas"]["ArrayItem"][]`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable", + { + given: { type: ["array", "null"], items: { type: "string" } }, + want: `string[] | null`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable (deprecated syntax)", + { + given: { type: "array", items: { type: "string" }, nullable: true }, + want: `string[] | null`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable items", + { + given: { type: "array", items: { type: ["string", "null"] } }, + want: `(string | null)[]`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable items (deprecated syntax)", + { + given: { type: "array", items: { type: "string", nullable: true } }, + want: `(string | null)[]`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "options > supportArrayLength: true > default", + { + given: { type: "array", items: { type: "string" } }, + want: `string[]`, + options: { + ...DEFAULT_OPTIONS, + ctx: { ...DEFAULT_OPTIONS.ctx, supportArrayLength: true }, + }, + }, + ], + [ + "options > supportArrayLength: true > minItems: 1", + { + given: { type: "array", items: { type: "string" }, minItems: 1 }, + want: `[ + string, + ...string[] +]`, + options: { + ...DEFAULT_OPTIONS, + ctx: { ...DEFAULT_OPTIONS.ctx, supportArrayLength: true }, + }, + }, + ], + [ + "options > supportArrayLength: true > maxItems: 2", + { + given: { type: "array", items: { type: "string" }, maxItems: 2 }, + want: `[ +] | [ + string +] | [ + string, + string +]`, + options: { + ...DEFAULT_OPTIONS, + ctx: { ...DEFAULT_OPTIONS.ctx, supportArrayLength: true }, + }, + }, + ], + [ + "options > supportArrayLength: true > maxItems: 20", + { + given: { type: "array", items: { type: "string" }, maxItems: 20 }, + want: `string[]`, + options: { + ...DEFAULT_OPTIONS, + ctx: { ...DEFAULT_OPTIONS.ctx, supportArrayLength: true }, + }, + }, + ], + [ + "options > immutableTypes: true", + { + given: { + type: "array", + items: { type: "array", items: { type: "string" } }, + }, + want: `(readonly (readonly string)[])[]`, + options: { + ...DEFAULT_OPTIONS, + ctx: { ...DEFAULT_OPTIONS.ctx, immutableTypes: true }, + }, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformSchemaObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/schema-object/boolean.test.ts b/packages/openapi-typescript/test/transform/schema-object/boolean.test.ts new file mode 100644 index 000000000..e2d7656cc --- /dev/null +++ b/packages/openapi-typescript/test/transform/schema-object/boolean.test.ts @@ -0,0 +1,50 @@ +import { astToString } from "../../../src/lib/ts.js"; +import transformSchemaObject from "../../../src/transform/schema-object.js"; +import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; + +const DEFAULT_OPTIONS = { + path: "#/components/schemas/schema-object", + ctx: { ...DEFAULT_CTX }, +}; + +describe("transformSchemaObject > boolean", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { type: "boolean" }, + want: `boolean`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "enum", + { + given: { type: "boolean", enum: [false] }, + want: `false`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable", + { + given: { type: ["boolean", "null"] }, + want: `boolean | null`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable (deprecated syntax)", + { + given: { type: "boolean", nullable: true }, + want: `boolean | null`, + // options: DEFAULT_OPTIONS, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformSchemaObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/schema-object/composition.test.ts b/packages/openapi-typescript/test/transform/schema-object/composition.test.ts new file mode 100644 index 000000000..e2a2d083e --- /dev/null +++ b/packages/openapi-typescript/test/transform/schema-object/composition.test.ts @@ -0,0 +1,513 @@ +import { astToString } from "../../../src/lib/ts.js"; +import transformSchemaObject from "../../../src/transform/schema-object.js"; +import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; + +const DEFAULT_OPTIONS = { + path: "#/components/schemas/schema-object", + ctx: { ...DEFAULT_CTX }, +}; + +describe("composition", () => { + const tests: TestCase[] = [ + [ + "polymorphic > nullable", + { + given: { + type: ["string", "boolean", "number", "null"], + }, + want: `string | boolean | number | null`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "polymorphic > enum + nullable", + { + given: { + type: ["string", "null"], + enum: [null, "blue", "green", "yellow"], + }, + want: `null | "blue" | "green" | "yellow"`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "polymorphic > enum + nullable (null missing in enum)", + { + given: { + type: ["string", "null"], + enum: ["blue", "green", "yellow"], + }, + want: `"blue" | "green" | "yellow"`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "polymorphic > enum + nullable (null missing in enum, falsy value in enum", + { + given: { + type: ["string", "null"], + enum: ["", "blue", "green", "yellow"], + }, + want: `"" | "blue" | "green" | "yellow"`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "oneOf > primitives", + { + given: { oneOf: [{ type: "string" }, { type: "number" }] }, + want: `string | number`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "oneOf > string const", + { + given: { + oneOf: [ + { type: "string", const: "hello" }, + { type: "string", const: "world" }, + ], + }, + want: `"hello" | "world"`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "oneOf > number const", + { + given: { + oneOf: [ + { type: "number", const: 0 }, + { type: "number", const: 1 }, + ], + }, + want: `0 | 1`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "oneOf > nullable", + { + given: { + oneOf: [{ type: "integer" }, { type: "string" }, { type: "null" }], + }, + want: `number | string | null`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "oneOf > nullable (deprecated syntax)", + { + given: { + oneOf: [{ type: "integer" }, { type: "string" }], + nullable: true, + }, + want: `(number | string) | null`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "oneOf > object without properties", + { + given: { + type: "object", + oneOf: [ + { type: "object", properties: { string: { type: "string" } } }, + { type: "object", properties: { boolean: { type: "boolean" } } }, + ], + }, + want: `{ + string?: string; +} | { + boolean?: boolean; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "oneOf > object with properties", + { + given: { + type: "object", + oneOf: [ + { type: "object", properties: { foo: { type: "string" } } }, + { type: "object", properties: { bar: { type: "string" } } }, + ], + properties: { + baz: { type: "string" }, + }, + }, + want: `{ + baz?: string; +} & ({ + foo?: string; +} | { + bar?: string; +})`, + }, + // options: DEFAULT_OPTIONS, + ], + [ + "oneOf > polymorphic", + { + given: { + oneOf: [{ type: "integer" }, { type: "string" }], + type: ["null", "integer", "string"], + }, + want: `null | number | string`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "enum > acting as oneOf", + { + given: { + type: "object", + additionalProperties: true, + enum: [ + { $ref: "#/components/schemas/simple-user" }, + { $ref: "#/components/schemas/team" }, + { $ref: "#/components/schemas/organization" }, + ], + }, + want: `{ + [key: string]: unknown; +} & (components["schemas"]["simple-user"] | components["schemas"]["team"] | components["schemas"]["organization"])`, + options: { + ...DEFAULT_OPTIONS, + ctx: { + ...DEFAULT_OPTIONS.ctx, + resolve(ref) { + switch (ref) { + case "#/components/schemas/simple-user": + case "#/components/schemas/team": + case "#/components/schemas/organization": { + return { + type: "object", + required: ["name"], + properties: { name: { type: "string" } }, + }; + } + default: { + return undefined as any; + } + } + }, + }, + }, + }, + ], + [ + "discriminator > allOf", + { + given: { + type: "object", + allOf: [ + { $ref: "#/components/schemas/parent" }, + { type: "object", properties: { string: { type: "string" } } }, + ], + }, + want: `{ + operation: "test"; +} & (Omit & { + string?: string; +})`, + options: { + ...DEFAULT_OPTIONS, + ctx: { + ...DEFAULT_OPTIONS.ctx, + discriminators: { + [DEFAULT_OPTIONS.path]: { + propertyName: "operation", + mapping: { + test: DEFAULT_OPTIONS.path, + }, + }, + "#/components/schemas/parent": { + propertyName: "operation", + mapping: { + test: DEFAULT_OPTIONS.path, + }, + }, + }, + resolve(ref) { + switch (ref) { + case "#/components/schemas/parent": { + return { + propertyName: "operation", + mapping: { + test: DEFAULT_OPTIONS.path, + }, + }; + } + default: { + return undefined as any; + } + } + }, + }, + }, + }, + ], + [ + "discriminator > oneOf", + { + given: { + type: "object", + required: ["name"], + properties: { + name: { type: "string" }, + }, + }, + want: `{ + petType: "Cat"; + name: string; +}`, + options: { + path: "#/components/schemas/Cat", + ctx: { + ...DEFAULT_OPTIONS.ctx, + discriminators: { + "#/components/schemas/Pet": { + propertyName: "petType", + oneOf: ["#/components/schemas/Cat"], + }, + "#/components/schemas/Cat": { + propertyName: "petType", + oneOf: ["#/components/schemas/Cat"], + }, + }, + resolve(ref) { + switch (ref) { + case "#/components/schemas/Pet": { + return { + propertyName: "petType", + oneOf: ["#/components/schemas/Cat"], + }; + } + default: { + return undefined as any; + } + } + }, + }, + }, + }, + ], + + [ + "discriminator > oneOf + null + implicit mapping", + { + given: { + oneOf: [{ $ref: "#/components/schemas/parent" }, { type: "null" }], + }, + want: `{ + operation: "schema-object"; +} & (Omit | null)`, + options: { + ...DEFAULT_OPTIONS, + ctx: { + ...DEFAULT_OPTIONS.ctx, + discriminators: { + [DEFAULT_OPTIONS.path]: { + propertyName: "operation", + }, + "#/components/schemas/parent": { + propertyName: "operation", + }, + }, + resolve(ref) { + switch (ref) { + case "#/components/schemas/parent": { + return { propertyName: "operation" }; + } + default: { + return undefined as any; + } + } + }, + }, + }, + }, + ], + [ + "discriminator > escape", + { + given: { + type: "object", + allOf: [ + { $ref: "#/components/schemas/parent" }, + { type: "object", properties: { string: { type: "string" } } }, + ], + }, + want: `{ + "@type": "test"; +} & (Omit & { + string?: string; +})`, + options: { + ...DEFAULT_OPTIONS, + ctx: { + ...DEFAULT_OPTIONS.ctx, + discriminators: { + "#/components/schemas/schema-object": { + propertyName: "@type", + mapping: { + test: DEFAULT_OPTIONS.path, + }, + }, + "#/components/schemas/parent": { + propertyName: "@type", + mapping: { + test: DEFAULT_OPTIONS.path, + }, + }, + }, + resolve(ref) { + switch (ref) { + case "#/components/schemas/parent": { + return { + propertyName: "@type", + mapping: { + test: DEFAULT_OPTIONS.path, + }, + }; + } + default: { + return undefined as any; + } + } + }, + }, + }, + }, + ], + [ + "discriminator > automatic propertyName", + { + given: { + type: "object", + allOf: [{ $ref: "#/components/schemas/Pet" }], + properties: { + bark: { type: "boolean" }, + }, + additionalProperties: false, + }, + want: `{ + _petType: "Dog"; + bark?: boolean; +} & Omit`, + options: { + path: "#/components/schemas/Dog", + ctx: { + ...DEFAULT_OPTIONS.ctx, + discriminators: { + "#/components/schemas/Pet": { + propertyName: "_petType", + }, + [DEFAULT_OPTIONS.path]: { + propertyName: "_petType", + }, + }, + resolve(ref) { + switch (ref) { + case "#/components/schemas/Pet": { + return { propertyName: "_petType" }; + } + default: { + return undefined as any; + } + } + }, + }, + }, + }, + ], + [ + "allOf > basic", + { + given: { + allOf: [ + { + type: "object", + properties: { red: { type: "number" }, blue: { type: "number" } }, + required: ["red", "blue"], + }, + { + type: "object", + properties: { green: { type: "number" } }, + required: ["green"], + }, + ], + }, + want: `{ + red: number; + blue: number; +} & { + green: number; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "allOf > sibling required", + { + given: { + required: ["red", "blue", "green"], + allOf: [ + { + type: "object", + properties: { red: { type: "number" }, blue: { type: "number" } }, + }, + { type: "object", properties: { green: { type: "number" } } }, + ], + }, + want: `WithRequired<{ + red?: number; + blue?: number; +} & { + green?: number; +}, "red" | "blue" | "green">`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "anyOf > basic", + { + given: { + anyOf: [ + { + type: "object", + properties: { red: { type: "number" } }, + required: ["red"], + }, + { + type: "object", + properties: { blue: { type: "number" } }, + required: ["blue"], + }, + { + type: "object", + properties: { green: { type: "number" } }, + required: ["green"], + }, + ], + }, + want: `{ + red: number; +} | { + blue: number; +} | { + green: number; +}`, + // options: DEFAULT_OPTIONS + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformSchemaObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/schema-object/empty.test.ts b/packages/openapi-typescript/test/transform/schema-object/empty.test.ts new file mode 100644 index 000000000..7dc0bdffa --- /dev/null +++ b/packages/openapi-typescript/test/transform/schema-object/empty.test.ts @@ -0,0 +1,42 @@ +import { astToString } from "../../../src/lib/ts.js"; +import transformSchemaObject from "../../../src/transform/schema-object.js"; +import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; + +const DEFAULT_OPTIONS = { + path: "#/components/schemas/schema-object", + ctx: { ...DEFAULT_CTX }, +}; + +describe("transformSchemaObject > empty/unknown", () => { + const tests: TestCase[] = [ + [ + "true", + { + given: true, + want: `unknown`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "false", + { + given: false, + want: `never`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "empty object", + { + given: {}, + want: `unknown`, + // options: DEFAULT_OPTIONS, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformSchemaObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/schema-object/number.test.ts b/packages/openapi-typescript/test/transform/schema-object/number.test.ts new file mode 100644 index 000000000..1f5424d0f --- /dev/null +++ b/packages/openapi-typescript/test/transform/schema-object/number.test.ts @@ -0,0 +1,58 @@ +import { astToString } from "../../../src/lib/ts.js"; +import transformSchemaObject from "../../../src/transform/schema-object.js"; +import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; + +const DEFAULT_OPTIONS = { + path: "#/components/schemas/schema-object", + ctx: { ...DEFAULT_CTX }, +}; + +describe("transformSchemaObject > number", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { type: "number" }, + want: `number`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "enum", + { + given: { type: "number", enum: [50, 100, 200] }, + want: `50 | 100 | 200`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "integer", + { + given: { type: "integer" }, + want: `number`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable", + { + given: { type: ["number", "null"] }, + want: `number | null`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable (deprecated syntax)", + { + given: { type: "number", nullable: true }, + want: `number | null`, + // options: DEFAULT_OPTIONS, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformSchemaObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/schema-object/object.test.ts b/packages/openapi-typescript/test/transform/schema-object/object.test.ts new file mode 100644 index 000000000..a3b42de8d --- /dev/null +++ b/packages/openapi-typescript/test/transform/schema-object/object.test.ts @@ -0,0 +1,333 @@ +import ts from "typescript"; +import { astToString } from "../../../src/index.js"; +import transformSchemaObject from "../../../src/transform/schema-object.js"; +import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; + +const DEFAULT_OPTIONS = { + path: "#/schemas/components/schema-object", + ctx: { ...DEFAULT_CTX }, +}; + +describe("transformSchemaObject > object", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { + type: "object", + properties: { + required: { type: "boolean" }, + optional: { type: "boolean" }, + }, + required: ["required"], + }, + want: `{ + required: boolean; + optional?: boolean; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "empty", + { + given: { type: "object" }, + want: `Record`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "additionalProperties > basic", + { + given: { + type: "object", + properties: { property: { type: "boolean" } }, + additionalProperties: { type: "string" }, + }, + want: `{ + property?: boolean; + [key: string]: string; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "additionalProperties > no properties", + { + given: { type: "object", additionalProperties: { type: "string" } }, + want: `{ + [key: string]: string; +}`, + }, + ], + [ + "additionalProperties > true", + { + given: { type: "object", additionalProperties: true }, + want: `{ + [key: string]: unknown; +}`, + }, + ], + [ + "additionalProperties > empty object", + { + given: { type: "object", additionalProperties: {} }, + want: `{ + [key: string]: unknown; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable", + { + given: { + type: ["object", "null"], + properties: { string: { type: "string" } }, + }, + want: `{ + string?: string; +} | null`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable (deprecated syntax)", + { + given: { + type: "object", + properties: { string: { type: "string" } }, + nullable: true, + }, + want: `{ + string?: string; +} | null`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "default", + { + given: { + type: "object", + properties: { + required: { type: "boolean" }, + requiredDefault: { type: "boolean", default: false }, + optional: { type: "boolean" }, + optionalDefault: { type: "boolean", default: false }, + }, + required: ["required", "requiredDefault"], + }, + want: `{ + required: boolean; + /** @default false */ + requiredDefault: boolean; + optional?: boolean; + /** @default false */ + optionalDefault: boolean; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "default > options.defaultNonNullable: false", + { + given: { + type: "object", + properties: { + required: { type: "boolean" }, + requiredDefault: { type: "boolean", default: false }, + optional: { type: "boolean" }, + optionalDefault: { type: "boolean", default: false }, + }, + required: ["required", "requiredDefault"], + }, + want: `{ + required: boolean; + /** @default false */ + requiredDefault: boolean; + optional?: boolean; + /** @default false */ + optionalDefault?: boolean; +}`, + options: { + ...DEFAULT_OPTIONS, + ctx: { ...DEFAULT_OPTIONS.ctx, defaultNonNullable: false }, + }, + }, + ], + [ + "const > string", + { + given: { + type: "object", + properties: { constant: { type: "string", const: "a" } }, + required: ["constant"], + }, + want: `{ + /** @constant */ + constant: "a"; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "const > string (inferred)", + { + given: { const: "99" }, + want: `"99"`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "const > number", + { + given: { + type: "object", + properties: { constant: { type: "number", const: 1 } }, + required: ["constant"], + }, + want: `{ + /** @constant */ + constant: 1; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "const > number (inferred)", + { + given: { const: 300 }, + want: `300`, + }, + ], + [ + "const > number (falsy value)", + { + given: { + type: "object", + properties: { constant: { type: "number", const: 0 } }, + required: ["constant"], + }, + want: `{ + /** @constant */ + constant: 0; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "JSONSchema > $defs", + { + given: { + type: "object", + properties: { + foo: { type: "string" }, + }, + $defs: { + defEnum: { type: "string", enum: ["one", "two", "three"] }, + }, + }, + want: `{ + foo?: string; + $defs: { + /** @enum {string} */ + defEnum: "one" | "two" | "three"; + }; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "x-* properties > ignored", + { + given: { + type: "object", + properties: { string: { type: "string" } }, + "x-extension": true, + }, + want: `{ + string?: string; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "options > emptyObjectsUnknown: true", + { + given: { type: "object" }, + want: `Record`, + options: { + ...DEFAULT_OPTIONS, + ctx: { ...DEFAULT_OPTIONS.ctx, emptyObjectsUnknown: true }, + }, + }, + ], + [ + "options > additionalProperties: true", + { + given: { type: "object", properties: { string: { type: "string" } } }, + want: `{ + string?: string; + [key: string]: unknown; +}`, + options: { + ...DEFAULT_OPTIONS, + ctx: { ...DEFAULT_OPTIONS.ctx, additionalProperties: true }, + }, + }, + ], + [ + "options > immutableTypes: true", + { + given: { + type: "object", + properties: { + array: { + type: "array", + nullable: true, + items: { + type: "object", + additionalProperties: true, + }, + }, + }, + }, + want: `{ + readonly array?: (readonly { + readonly [key: string]: unknown; + })[] | null; +}`, + options: { + ...DEFAULT_OPTIONS, + ctx: { ...DEFAULT_OPTIONS.ctx, immutableTypes: true }, + }, + }, + ], + [ + "options > excludeDeprecated: true", + { + given: { + type: "object", + properties: { + new: { type: "string" }, + old: { type: "string", deprecated: true }, + }, + }, + want: `{ + new?: string; +}`, + options: { + ...DEFAULT_OPTIONS, + ctx: { ...DEFAULT_OPTIONS.ctx, excludeDeprecated: true }, + }, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformSchemaObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/schema-object/string.test.ts b/packages/openapi-typescript/test/transform/schema-object/string.test.ts new file mode 100644 index 000000000..e58726bc3 --- /dev/null +++ b/packages/openapi-typescript/test/transform/schema-object/string.test.ts @@ -0,0 +1,69 @@ +import { astToString } from "../../../src/lib/ts.js"; +import transformSchemaObject from "../../../src/transform/schema-object.js"; +import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; + +const DEFAULT_OPTIONS = { + path: "#/components/schemas/schema-object", + ctx: { ...DEFAULT_CTX }, +}; + +describe("transformSchemaObject > string", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { type: "string" }, + want: `string`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "enum", + { + given: { type: "string", enum: ["blue", "green", "yellow", ""] }, + want: `"blue" | "green" | "yellow" | ""`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "enum (inferred)", + { + given: { properties: { status: { enum: ["complete", "incomplete"] } } }, + want: `{ + /** @enum {unknown} */ + status?: "complete" | "incomplete"; +}`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "enum (whitespace)", + { + given: { type: "string", enum: [" blue", "green ", " ", ""] }, + want: `" blue" | "green " | " " | ""`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable", + { + given: { type: ["string", "null"] }, + want: `string | null`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "nullable (deprecated syntax)", + { + given: { type: "string", nullable: true }, + want: `string | null`, + // options: DEFAULT_OPTIONS, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformSchemaObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/transform/webhooks-object.test.ts b/packages/openapi-typescript/test/transform/webhooks-object.test.ts new file mode 100644 index 000000000..6f6a1102c --- /dev/null +++ b/packages/openapi-typescript/test/transform/webhooks-object.test.ts @@ -0,0 +1,186 @@ +import { astToString } from "../../src/lib/ts.js"; +import transformWebhooksObject from "../../src/transform/webhooks-object.js"; +import { GlobalContext } from "../../src/types.js"; +import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; + +const DEFAULT_OPTIONS = { ...DEFAULT_CTX }; + +describe("transformWebhooksObject", () => { + const tests: TestCase[] = [ + [ + "basic", + { + given: { + "user-created": { + post: { + parameters: [ + { + name: "signature", + in: "query", + schema: { type: "string" }, + required: true, + }, + ], + requestBody: { + content: { + "application/json": { + schema: { + type: "object", + properties: { + id: { type: "string" }, + email: { type: "string" }, + name: { type: "string" }, + }, + required: ["id", "email"], + }, + }, + }, + }, + responses: { + 200: { + description: + "Return a 200 status to indicate that the data was received successfully", + }, + }, + }, + }, + }, + want: `{ + "user-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: { + parameters: { + query: { + signature: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + id: string; + email: string; + name?: string; + }; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +}`, + }, + // options: DEFAULT_OPTIONS, + ], + [ + "$ref", + { + given: { + "user-created": { + parameters: [ + { + in: "query", + name: "signature", + schema: { type: "string" }, + required: true, + }, + { $ref: "#/components/parameters/query/utm_source" }, + { $ref: "#/components/parameters/query/utm_email" }, + { $ref: "#/components/parameters/query/utm_campaign" }, + { $ref: "#/components/parameters/path/version" }, + ], + }, + }, + want: `{ + "user-created": { + parameters: { + query: { + signature: string; + utm_source?: components["parameters"]["query"]["utm_source"]; + utm_email?: components["parameters"]["query"]["utm_email"]; + utm_campaign?: components["parameters"]["query"]["utm_campaign"]; + }; + header?: never; + path: { + utm_campaign: components["parameters"]["path"]["version"]; + }; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +}`, + options: { + ...DEFAULT_OPTIONS, + resolve(ref) { + switch (ref) { + case "#/components/parameters/query/utm_source": { + return { + in: "query", + name: "utm_source", + schema: { type: "string" }, + }; + } + case "#/components/parameters/query/utm_email": { + return { + in: "query", + name: "utm_email", + schema: { type: "string" }, + }; + } + case "#/components/parameters/query/utm_campaign": { + return { + in: "query", + name: "utm_campaign", + schema: { type: "string" }, + }; + } + case "#/components/parameters/path/version": { + return { + in: "path", + name: "utm_campaign", + schema: { type: "string" }, + }; + } + default: { + return undefined as any; + } + } + }, + }, + }, + ], + ]; + + test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { + const ast = transformWebhooksObject(given, options); + expect(astToString(ast).trim()).toBe(want.trim()); + }); +}); diff --git a/packages/openapi-typescript/test/utils.bench.ts b/packages/openapi-typescript/test/utils.bench.ts deleted file mode 100644 index c6666d234..000000000 --- a/packages/openapi-typescript/test/utils.bench.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { bench } from "vitest"; -import { parseRef } from "../src/utils.js"; - -bench("parseRef", () => { - parseRef("#/test/schema-object"); -}); diff --git a/packages/openapi-typescript/test/utils.test.ts b/packages/openapi-typescript/test/utils.test.ts deleted file mode 100644 index aac96564b..000000000 --- a/packages/openapi-typescript/test/utils.test.ts +++ /dev/null @@ -1,170 +0,0 @@ -import { comment, escObjKey, getSchemaObjectComment, parseRef, tsIntersectionOf, tsUnionOf } from "../src/utils.js"; - -describe("utils", () => { - describe("tsUnionOf", () => { - test("never for no elements", () => { - expect(tsUnionOf()).toBe("never"); - }); - test("identity for single element", () => { - expect(tsUnionOf("boolean")).toBe("boolean"); - }); - test("primitive", () => { - expect(tsUnionOf("string", "number", "boolean")).toBe("string | number | boolean"); - }); - test("constant booleans", () => { - expect(tsUnionOf(true, false)).toBe("true | false"); - }); - test("constant strings", () => { - expect(tsUnionOf('"hello"', '"world"')).toBe('"hello" | "world"'); - }); - test("constant numbers", () => { - expect(tsUnionOf(0, 1, 2, 3)).toBe("0 | 1 | 2 | 3"); - }); - test("mixed", () => { - expect(tsUnionOf(0, true, "string", '"hello"')).toBe('0 | true | string | "hello"'); - }); - test("de-duplicate", () => { - expect(tsUnionOf("string", "string", "number")).toBe("string | number"); - }); - test("remove all but unknown", () => { - expect(tsUnionOf("string", "unknown")).toBe("unknown"); - }); - test("remove never", () => { - expect(tsUnionOf("string", "never")).toBe("string"); - }); - test("never if no other members of union", () => { - expect(tsUnionOf("never", "never")).toBe("never"); - }); - test("don't add parenthesis around a single element from a de-duped union", () => { - expect(tsUnionOf("number & number", "number & number")).toBe("number & number"); - }); - }); - - describe("tsIntersectionOf", () => { - const tests: [string, string[], string][] = [ - ["identity for single type", ["string"], "string"], - ["basic intersection", ["string", "number"], "string & number"], - ["filter out unknown", ["string", "number", "unknown"], "string & number"], - ["identity for unknown type", ["unknown"], "unknown"], - ["unknown for no types passed", [], "unknown"], - ["parentheses around types with union", ["4", `string | number`], "4 & (string | number)"], - ["parentheses around types with intersection", ["{ red: string }", "{ blue: string } & { green: string }"], "{ red: string } & ({ blue: string } & { green: string })"], - ]; - - tests.forEach(([name, input, output]) => { - test(name, () => { - expect(tsIntersectionOf(...input)).toBe(output); - }); - }); - }); - - describe("parseRef", () => { - it("basic", () => { - expect(parseRef("#/test/schema-object")).toStrictEqual({ filename: ".", path: ["test", "schema-object"] }); - }); - - it("double quote", () => { - expect(parseRef('#/test/"')).toStrictEqual({ filename: ".", path: ["test", '\\"'] }); - }); - - it("escaped double quote", () => { - expect(parseRef('#/test/\\"')).toStrictEqual({ filename: ".", path: ["test", '\\"'] }); - }); - - it("tilde escapes", () => { - expect(parseRef("#/test/~1~0")).toStrictEqual({ filename: ".", path: ["test", "/~"] }); - }); - - it("remote ref", () => { - expect(parseRef("remote.yaml#/Subpath")).toStrictEqual({ filename: "remote.yaml", path: ["Subpath"] }); - expect(parseRef("../schemas/remote.yaml#/Subpath")).toStrictEqual({ filename: "../schemas/remote.yaml", path: ["Subpath"] }); - expect(parseRef("https://myschema.com/api/v1/openapi.yaml#/Subpath")).toStrictEqual({ filename: "https://myschema.com/api/v1/openapi.yaml", path: ["Subpath"] }); - }); - - it("js-yaml $ref", () => { - expect(parseRef('components["schemas"]["SchemaObject"]')).toStrictEqual({ filename: ".", path: ["components", "schemas", "SchemaObject"] }); - }); - }); - - describe("escObjKey", () => { - it("basic", () => { - expect(escObjKey("some-prop")).toBe('"some-prop"'); - }); - - it("@ escapes", () => { - expect(escObjKey("@type")).toBe('"@type"'); - }); - - it("number escapes", () => { - expect(escObjKey("123var")).toBe('"123var"'); - }); - - it("only number no escapes", () => { - expect(escObjKey("123")).toBe("123"); - }); - - it("$ no escapes", () => { - expect(escObjKey("$ref")).toBe("$ref"); - }); - - it("_ no escapes", () => { - expect(escObjKey("_ref_")).toBe("_ref_"); - }); - }); - - describe("comment", () => { - it("basic", () => { - expect(comment("A comment")).toBe("/** A comment */"); - expect(comment("A multi-line \n\n comment")).toBe( - // prettier-ignore - "/**\n" + - " * A multi-line\n" + - " *\n" + - " * comment\n"+ - " */", - ); - }); - }); - - describe("getSchemaObjectComment", () => { - it("object with 1 property", () => { - expect( - getSchemaObjectComment({ - title: "A title", - }), - ).toBe("/** A title */"); - }); - - it("object with 2 properties", () => { - expect( - getSchemaObjectComment({ - title: "A title", - description: "A description", - }), - ).toBe( - // prettier-ignore - "/**\n" + - " * A title\n" + - " * @description A description\n"+ - " */", - ); - }); - - it("object with a multi-line property", () => { - expect( - getSchemaObjectComment({ - title: "A title", - description: "A multi-line \n\n description", - }), - ).toStrictEqual( - // prettier-ignore - "/**\n" + - " * A title\n" + - " * @description A multi-line\n" + - " *\n" + - " * description\n" + - " */", - ); - }); - }); -}); diff --git a/packages/openapi-typescript/test/webhooks-object.test.ts b/packages/openapi-typescript/test/webhooks-object.test.ts deleted file mode 100644 index 6414e4339..000000000 --- a/packages/openapi-typescript/test/webhooks-object.test.ts +++ /dev/null @@ -1,136 +0,0 @@ -import type { GlobalContext, WebhooksObject } from "../src/types.js"; -import transformWebhooksObject from "../src/transform/webhooks-object.js"; - -const options: GlobalContext = { - additionalProperties: false, - alphabetize: false, - defaultNonNullable: false, - discriminators: {}, - emptyObjectsUnknown: false, - immutableTypes: false, - indentLv: 0, - operations: {}, - parameters: {}, - pathParamsAsTypes: false, - postTransform: undefined, - silent: true, - supportArrayLength: false, - transform: undefined, - excludeDeprecated: false, -}; - -describe("Webhooks Object", () => { - test("basic", () => { - const schema: WebhooksObject = { - "user-created": { - post: { - parameters: [ - { - name: "signature", - in: "query", - schema: { type: "string" }, - required: true, - }, - ], - requestBody: { - content: { - "application/json": { - schema: { - type: "object", - properties: { - id: { type: "string" }, - email: { type: "string" }, - name: { type: "string" }, - }, - required: ["id", "email"], - }, - }, - }, - }, - responses: { - 200: { - description: "Return a 200 status to indicate that the data was received successfully", - }, - }, - }, - }, - }; - const generated = transformWebhooksObject(schema, options); - expect(generated).toBe(`{ - "user-created": { - post: { - parameters: { - query: { - signature: string; - }; - }; - requestBody?: { - content: { - "application/json": { - id: string; - email: string; - name?: string; - }; - }; - }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - }; -}`); - }); - - test("$ref", () => { - const schema: WebhooksObject = { - "user-created": { - parameters: [ - { in: "query", name: "signature", schema: { type: "string" }, required: true }, - { $ref: 'components["parameters"]["query"]["utm_source"]' }, - { $ref: 'components["parameters"]["query"]["utm_email"]' }, - { $ref: 'components["parameters"]["query"]["utm_campaign"]' }, - { $ref: 'components["parameters"]["path"]["version"]' }, - ], - }, - }; - const generated = transformWebhooksObject(schema, { - ...options, - parameters: { - 'components["parameters"]["query"]["utm_source"]': { - in: "query", - name: "utm_source", - schema: { type: "string" }, - }, - 'components["parameters"]["query"]["utm_email"]': { - in: "query", - name: "utm_email", - schema: { type: "string" }, - }, - 'components["parameters"]["query"]["utm_campaign"]': { - in: "query", - name: "utm_campaign", - schema: { type: "string" }, - }, - 'components["parameters"]["path"]["version"]': { in: "path", name: "utm_campaign", schema: { type: "string" } }, - }, - }); - expect(generated).toBe(`{ - "user-created": { - parameters: { - query: { - signature: string; - utm_source?: components["parameters"]["query"]["utm_source"]; - utm_email?: components["parameters"]["query"]["utm_email"]; - utm_campaign?: components["parameters"]["query"]["utm_campaign"]; - }; - path: { - utm_campaign: components["parameters"]["path"]["version"]; - }; - }; - }; -}`); - }); -}); diff --git a/packages/openapi-typescript/tsconfig.json b/packages/openapi-typescript/tsconfig.json index bd4969bc2..055a00429 100644 --- a/packages/openapi-typescript/tsconfig.json +++ b/packages/openapi-typescript/tsconfig.json @@ -1,6 +1,7 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + "lib": ["ESNext", "DOM"], "sourceRoot": ".", "outDir": "dist", "types": ["vitest/globals"] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e7fd042ee..fcdb08491 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,6 +29,9 @@ importers: eslint-config-prettier: specifier: ^9.0.0 version: 9.0.0(eslint@8.50.0) + eslint-plugin-import: + specifier: ^2.28.1 + version: 2.28.1(@typescript-eslint/parser@6.7.3)(eslint@8.50.0) eslint-plugin-no-only-tests: specifier: ^3.1.0 version: 3.1.0 @@ -241,21 +244,21 @@ importers: packages/openapi-typescript: dependencies: + '@redocly/openapi-core': + specifier: ^1.2.0 + version: 1.2.0 ansi-colors: specifier: ^4.1.3 version: 4.1.3 fast-glob: specifier: ^3.3.1 version: 3.3.1 - js-yaml: - specifier: ^4.1.0 - version: 4.1.0 supports-color: specifier: ^9.4.0 version: 9.4.0 - undici: - specifier: ^5.25.2 - version: 5.25.2 + typescript: + specifier: ^5.2.2 + version: 5.2.2 yargs-parser: specifier: ^21.1.1 version: 21.1.1 @@ -1930,6 +1933,33 @@ packages: preact: 10.17.0 dev: false + /@redocly/ajv@8.11.0: + resolution: {integrity: sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /@redocly/openapi-core@1.2.0: + resolution: {integrity: sha512-Ccft2n/JiF4u2crmj1cdDzPq6C40U7NgLZ+p/BxzAFXbfrddr/5FN0HMJPHT/op329qqv2P2jUrXsV2Bp+rzEQ==} + engines: {node: '>=14.0.0'} + dependencies: + '@redocly/ajv': 8.11.0 + '@types/node': 14.18.63 + colorette: 1.4.0 + js-levenshtein: 1.1.6 + js-yaml: 4.1.0 + lodash.isequal: 4.5.0 + minimatch: 5.1.6 + node-fetch: 2.7.0 + pluralize: 8.0.0 + yaml-ast-parser: 0.0.43 + transitivePeerDependencies: + - encoding + dev: false + /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true @@ -2243,6 +2273,10 @@ packages: resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} dev: true + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + /@types/json5@0.0.30: resolution: {integrity: sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==} dev: false @@ -2279,6 +2313,10 @@ packages: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true + /@types/node@14.18.63: + resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==} + dev: false + /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: true @@ -2675,6 +2713,17 @@ packages: is-array-buffer: 3.0.2 dev: true + /array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + get-intrinsic: 1.2.1 + is-string: 1.0.7 + dev: true + /array-iterate@2.0.1: resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} dev: false @@ -2684,6 +2733,17 @@ packages: engines: {node: '>=8'} dev: true + /array.prototype.findlastindex@1.2.3: + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.1 + dev: true + /array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} @@ -2694,6 +2754,16 @@ packages: es-shim-unscopables: 1.0.0 dev: true + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + es-shim-unscopables: 1.0.0 + dev: true + /arraybuffer.prototype.slice@1.0.2: resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} engines: {node: '>= 0.4'} @@ -3161,6 +3231,10 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + /colorette@1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + dev: false + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -3313,6 +3387,17 @@ packages: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: true + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + /debug@4.3.4(supports-color@9.4.0): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -3482,6 +3567,13 @@ packages: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: false + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -3764,6 +3856,80 @@ packages: eslint: 8.50.0 dev: true + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.0 + resolve: 1.22.6 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.3)(eslint-import-resolver-node@0.3.9)(eslint@8.50.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.7.3(eslint@8.50.0)(typescript@5.2.2) + debug: 3.2.7 + eslint: 8.50.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.7.3)(eslint@8.50.0): + resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 6.7.3(eslint@8.50.0)(typescript@5.2.2) + array-includes: 3.1.7 + array.prototype.findlastindex: 1.2.3 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.50.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.3)(eslint-import-resolver-node@0.3.9)(eslint@8.50.0) + has: 1.0.3 + is-core-module: 2.13.0 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + /eslint-plugin-no-only-tests@3.1.0: resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} engines: {node: '>=5.0.0'} @@ -4013,7 +4179,6 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true /fast-diff@1.3.0: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} @@ -4840,6 +5005,11 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + /js-levenshtein@1.1.6: + resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} + engines: {node: '>=0.10.0'} + dev: false + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -4886,10 +5056,21 @@ packages: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: false + /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -4996,6 +5177,10 @@ packages: dependencies: p-locate: 5.0.0 + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: false + /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true @@ -5732,7 +5917,6 @@ packages: optional: true dependencies: whatwg-url: 5.0.0 - dev: true /node-gyp-build@4.6.0: resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} @@ -5821,6 +6005,33 @@ packages: object-keys: 1.1.1 dev: true + /object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + dev: true + + /object.groupby@1.0.1: + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + get-intrinsic: 1.2.1 + dev: true + + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.1 + es-abstract: 1.22.2 + dev: true + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -6115,6 +6326,11 @@ packages: find-up: 3.0.0 dev: false + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: false + /postcss-js@4.0.1(postcss@8.4.31): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} @@ -6258,7 +6474,6 @@ packages: /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - dev: true /qs@6.11.2: resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} @@ -6480,6 +6695,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: false + /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true @@ -6693,7 +6913,6 @@ packages: /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - dev: false /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} @@ -7266,7 +7485,6 @@ packages: /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true /trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -7295,6 +7513,15 @@ packages: typescript: 5.2.2 dev: true + /tsconfig-paths@3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + /tsconfig-resolver@3.0.1: resolution: {integrity: sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==} dependencies: @@ -7537,7 +7764,6 @@ packages: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 - dev: true /use-sync-external-store@1.2.0(react@18.2.0): resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} @@ -7904,14 +8130,12 @@ packages: /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: true /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -8034,6 +8258,10 @@ packages: /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + /yaml-ast-parser@0.0.43: + resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} + dev: false + /yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} diff --git a/tsconfig.json b/tsconfig.json index 93bb9800a..adbe932bd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,7 +6,6 @@ "lib": ["ESNext"], "module": "NodeNext", "moduleResolution": "NodeNext", - "noImplicitReturns": true, "removeComments": true, "skipLibCheck": true, "sourceMap": true, From 074e3a08fb5f35e8c1caced501690566479e958c Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Mon, 2 Oct 2023 10:58:48 -0600 Subject: [PATCH 02/10] Polish testing setup --- .eslintrc.cjs | 1 + package.json | 4 +- packages/openapi-fetch/package.json | 2 +- packages/openapi-typescript/bin/cli.js | 1 - packages/openapi-typescript/package.json | 2 +- .../scripts/download-schemas.ts | 12 +- .../scripts/update-examples.ts | 31 +- packages/openapi-typescript/src/index.ts | 13 +- packages/openapi-typescript/src/lib/redoc.ts | 43 +- packages/openapi-typescript/src/lib/utils.ts | 33 + .../openapi-typescript/src/transform/index.ts | 5 +- packages/openapi-typescript/test/cjs.test.ts | 13 +- packages/openapi-typescript/test/cli.test.ts | 149 +++-- .../test/discriminators.test.ts | 25 +- .../openapi-typescript/test/index.test.ts | 628 ++++++++---------- .../openapi-typescript/test/invalid.test.ts | 31 +- .../openapi-typescript/test/node-api.test.ts | 91 ++- .../openapi-typescript/test/test-helpers.ts | 6 +- .../test/transform/components-object.test.ts | 22 +- .../test/transform/header-object.test.ts | 18 +- .../test/transform/operation-object.test.ts | 22 +- .../test/transform/path-item-object.test.ts | 22 +- .../test/transform/paths-object.test.ts | 22 +- .../transform/request-body-object.test.ts | 24 +- .../test/transform/response-object.test.ts | 22 +- .../transform/schema-object/array.test.ts | 22 +- .../transform/schema-object/boolean.test.ts | 22 +- .../schema-object/composition.test.ts | 22 +- .../transform/schema-object/empty.test.ts | 22 +- .../transform/schema-object/number.test.ts | 22 +- .../transform/schema-object/object.test.ts | 23 +- .../transform/schema-object/string.test.ts | 22 +- .../test/transform/webhooks-object.test.ts | 22 +- packages/openapi-typescript/test/yaml.test.ts | 6 +- pnpm-lock.yaml | 216 +++--- 35 files changed, 987 insertions(+), 654 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 8782598ce..186d1b813 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -46,6 +46,7 @@ module.exports = { "object-shorthand": "error", // don’t use foo["bar"] "no-console": "error", "no-global-assign": "error", + "no-undef": "off", // handled by TS "no-unused-vars": "off", }, overrides: [ diff --git a/package.json b/package.json index 542f62f79..bb0afe1d0 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ "devDependencies": { "@changesets/changelog-github": "^0.4.8", "@changesets/cli": "^2.26.2", - "@typescript-eslint/eslint-plugin": "^6.7.3", - "@typescript-eslint/parser": "^6.7.3", + "@typescript-eslint/eslint-plugin": "^6.7.4", + "@typescript-eslint/parser": "^6.7.4", "del-cli": "^5.1.0", "eslint": "^8.50.0", "eslint-config-prettier": "^9.0.0", diff --git a/packages/openapi-fetch/package.json b/packages/openapi-fetch/package.json index 0f28ec31c..616b633fd 100644 --- a/packages/openapi-fetch/package.json +++ b/packages/openapi-fetch/package.json @@ -70,7 +70,7 @@ "del-cli": "^5.1.0", "esbuild": "^0.19.4", "nanostores": "^0.9.3", - "openapi-typescript": "workspace:", + "openapi-typescript": "workspace:^", "openapi-typescript-codegen": "^0.25.0", "openapi-typescript-fetch": "^1.1.3", "superagent": "^8.1.2", diff --git a/packages/openapi-typescript/bin/cli.js b/packages/openapi-typescript/bin/cli.js index f841e02d3..75bbd65f9 100755 --- a/packages/openapi-typescript/bin/cli.js +++ b/packages/openapi-typescript/bin/cli.js @@ -4,7 +4,6 @@ import { loadConfig } from "@redocly/openapi-core"; import glob from "fast-glob"; import fs from "node:fs"; import path from "node:path"; -import { URL } from "node:url"; import parser from "yargs-parser"; import openapiTS, { astToString, COMMENT_HEADER } from "../dist/index.js"; import { c, error } from "../dist/utils.js"; diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index 6a35c6965..307d80293 100644 --- a/packages/openapi-typescript/package.json +++ b/packages/openapi-typescript/package.json @@ -69,7 +69,7 @@ "devDependencies": { "@types/degit": "^2.8.4", "@types/js-yaml": "^4.0.6", - "@types/node": "^20.7.2", + "@types/node": "^20.8.0", "degit": "^2.8.4", "del-cli": "^5.1.0", "esbuild": "^0.19.4", diff --git a/packages/openapi-typescript/scripts/download-schemas.ts b/packages/openapi-typescript/scripts/download-schemas.ts index 93b94a781..21768b236 100644 --- a/packages/openapi-typescript/scripts/download-schemas.ts +++ b/packages/openapi-typescript/scripts/download-schemas.ts @@ -1,13 +1,15 @@ +import degit from "degit"; import fs from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; -import degit from "degit"; import { error } from "../src/lib/utils.js"; import { multiFile, singleFile } from "./schemas.js"; const ONE_DAY = 1000 * 60 * 60 * 24; const EXAMPLES_DIR = new URL("../examples/", import.meta.url); +/* eslint-disable no-console */ + export async function download() { const allSchemas = Object.keys({ ...singleFile, ...multiFile }); let done = 0; @@ -19,7 +21,9 @@ export async function download() { const dest = new URL(`${k}${ext}`, EXAMPLES_DIR); if (fs.existsSync(dest)) { const { mtime } = fs.statSync(dest); - if (Date.now() - mtime.getTime() < ONE_DAY) return; // only update every 24 hours at most + if (Date.now() - mtime.getTime() < ONE_DAY) { + return; // only update every 24 hours at most + } } const result = await fetch(url); if (!result.ok) { @@ -40,7 +44,9 @@ export async function download() { const dest = new URL(k, EXAMPLES_DIR); if (fs.existsSync(dest)) { const { mtime } = fs.statSync(dest); - if (Date.now() - mtime.getTime() < ONE_DAY) return; // only update every 24 hours at most + if (Date.now() - mtime.getTime() < ONE_DAY) { + return; // only update every 24 hours at most + } } const emitter = degit(meta.repo, { force: true, diff --git a/packages/openapi-typescript/scripts/update-examples.ts b/packages/openapi-typescript/scripts/update-examples.ts index d280041e8..da17e5a1c 100644 --- a/packages/openapi-typescript/scripts/update-examples.ts +++ b/packages/openapi-typescript/scripts/update-examples.ts @@ -1,8 +1,9 @@ import { execa } from "execa"; import path from "node:path"; -import { URL } from "node:url"; import { multiFile, singleFile } from "./schemas.js"; +/* eslint-disable no-console */ + async function generateSchemas() { const cwd = new URL("../", import.meta.url); const allSchemas = Object.keys({ ...singleFile, ...multiFile }); @@ -13,15 +14,35 @@ async function generateSchemas() { ...Object.keys(singleFile).map(async (name) => { const start = performance.now(); const ext = path.extname(singleFile[name as keyof typeof singleFile]); - await execa("./bin/cli.js", [`./examples/${name}${ext}`, "-o", `./examples/${name}.ts`], { cwd }); + await execa( + "./bin/cli.js", + [`./examples/${name}${ext}`, "-o", `./examples/${name}.ts`], + { cwd }, + ); done++; - console.log(`✔︎ [${done}/${allSchemas.length}] Updated ${name} (${Math.round(performance.now() - start)}ms)`); // eslint-disable-line no-console + console.log( + `✔︎ [${done}/${allSchemas.length}] Updated ${name} (${Math.round( + performance.now() - start, + )}ms)`, + ); // eslint-disable-line no-console }), ...Object.entries(multiFile).map(async ([name, meta]) => { const start = performance.now(); - await execa("./bin/cli.js", [`./examples/${name}${meta.entry.substring(1)}`, "-o", `./examples/${name}.ts`], { cwd }); + await execa( + "./bin/cli.js", + [ + `./examples/${name}${meta.entry.substring(1)}`, + "-o", + `./examples/${name}.ts`, + ], + { cwd }, + ); done++; - console.log(`✔︎ [${done}/${allSchemas.length}] Updated ${name} (${Math.round(performance.now() - start)}ms)`); // eslint-disable-line no-console + console.log( + `✔︎ [${done}/${allSchemas.length}] Updated ${name} (${Math.round( + performance.now() - start, + )}ms)`, + ); // eslint-disable-line no-console }), ]); console.log("Updating examples done."); // eslint-disable-line no-console diff --git a/packages/openapi-typescript/src/index.ts b/packages/openapi-typescript/src/index.ts index 1c2b6ac1c..4e6f5d28b 100644 --- a/packages/openapi-typescript/src/index.ts +++ b/packages/openapi-typescript/src/index.ts @@ -1,8 +1,7 @@ import type { Readable } from "node:stream"; -import { URL } from "node:url"; import ts from "typescript"; import { validateAndBundle } from "./lib/redoc.js"; -import { resolveRef, scanDiscriminators } from "./lib/utils.js"; +import { debug, resolveRef, scanDiscriminators } from "./lib/utils.js"; import transformSchema from "./transform/index.js"; import type { GlobalContext, OpenAPI3, OpenAPITSOptions } from "./types.js"; @@ -64,5 +63,13 @@ export default async function openapiTS( }, }; - return transformSchema(schema, ctx); + const transformT = performance.now(); + const result = transformSchema(schema, ctx); + debug( + "Completed AST transformation for entire document", + "ts", + performance.now() - transformT, + ); + + return result; } diff --git a/packages/openapi-typescript/src/lib/redoc.ts b/packages/openapi-typescript/src/lib/redoc.ts index bf8f99107..12e047d36 100644 --- a/packages/openapi-typescript/src/lib/redoc.ts +++ b/packages/openapi-typescript/src/lib/redoc.ts @@ -11,7 +11,7 @@ import { import { Readable } from "node:stream"; import { fileURLToPath } from "node:url"; import { OpenAPI3 } from "../types.js"; -import { error } from "./utils.js"; +import { debug, error } from "./utils.js"; export interface ValidateAndBundleOptions { redocly?: RedoclyConfig; @@ -57,15 +57,45 @@ export async function validateAndBundle( source: string | URL | OpenAPI3 | Readable, options?: ValidateAndBundleOptions, ) { + const redocConfigT = performance.now(); const redocConfig = await createConfig(options?.redocly ?? {}); + debug("Loaded Redoc config", "redoc", performance.now() - redocConfigT); + const redocParseT = performance.now(); const resolver = new BaseResolver(redocConfig.resolve); const document = await parseSchema( source, options?.cwd ?? process.cwd(), resolver, ); + debug("Parsed schema", "redoc", performance.now() - redocParseT); - // 1. lint + // 1. check for OpenAPI 3 or greater + const openapiVersion = parseFloat(document.parsed.openapi); + + if ( + document.parsed.swagger || + !document.parsed.openapi || + Number.isNaN(openapiVersion) || + openapiVersion < 3 || + openapiVersion >= 4 + ) { + if (document.parsed.swagger) { + error("Unsupported Swagger version: 2.x. Use OpenAPI 3.x instead."); + } else if ( + document.parsed.openapi || + openapiVersion < 3 || + openapiVersion >= 4 + ) { + error(`Unsupported OpenAPI version: ${document.parsed.openapi}`); + } else { + error("Unsupported schema format, expected `openapi: 3.x`"); + } + process.exit(1); + return; // hack for tests/mocking + } + + // 2. lint + const redocLintT = performance.now(); const problems = await lintDocument({ document, config: redocConfig.styleguide, @@ -81,10 +111,13 @@ export async function validateAndBundle( } if (hasError) { process.exit(1); + return; } } + debug("Linted schema", "lint", performance.now() - redocLintT); - // 2. bundle + // 3. bundle + const redocBundleT = performance.now(); const bundled = await bundle({ config: redocConfig, dereference: true, @@ -93,15 +126,17 @@ export async function validateAndBundle( if (bundled.problems.length) { let hasError = false; for (const problem of bundled.problems) { + error(problem.message); if (problem.severity === "error") { - error(problem.message); hasError = true; } } if (hasError) { process.exit(1); + return; } } + debug("Bundled schema", "bundle", performance.now() - redocBundleT); return bundled.bundle.parsed; } diff --git a/packages/openapi-typescript/src/lib/utils.ts b/packages/openapi-typescript/src/lib/utils.ts index 2ec390ac2..b6012969d 100644 --- a/packages/openapi-typescript/src/lib/utils.ts +++ b/packages/openapi-typescript/src/lib/utils.ts @@ -12,6 +12,13 @@ if (!supportsColor.stdout || supportsColor.stdout.hasBasic === false) { c.enabled = false; } +const DEBUG_GROUPS: Record = { + lint: c.yellowBright, + redoc: c.cyanBright, + bundle: c.magentaBright, + ts: c.blueBright, +}; + export { c }; /** Given a discriminator object, get the property name */ @@ -62,6 +69,32 @@ export function createRef(parts: (number | string)[]): string { return pointer; } +/** Print debug message */ +export function debug(msg: string, group?: string, time?: number) { + if ( + process.env.DEBUG && + (!group || + process.env.DEBUG === "*" || + process.env.DEBUG.toLocaleLowerCase() === group.toLocaleLowerCase()) + ) { + const groupColor = (group && DEBUG_GROUPS[group]) || c.whiteBright; + const groupName = groupColor(`oapts:${group ?? "info"}`); + let timeFormatted = ""; + if (typeof time === "number") { + if (time < 1000) { + timeFormatted = `${Math.round(100 * time) / 100}ms`; + } else if (time < 60000) { + timeFormatted = `${Math.round(time / 100) / 10}s`; + } else { + timeFormatted = `${Math.round(time / 6000) / 10}m`; + } + timeFormatted = c.green(` ${timeFormatted} `); + } + // eslint-disable-next-line no-console + console.debug(` ${c.bold(groupName)}${timeFormatted}${msg}`); + } +} + /** Print error message */ export function error(msg: string) { console.error(c.red(` ✘ ${msg}`)); // eslint-disable-line no-console diff --git a/packages/openapi-typescript/src/transform/index.ts b/packages/openapi-typescript/src/transform/index.ts index 3176c204c..f37056694 100644 --- a/packages/openapi-typescript/src/transform/index.ts +++ b/packages/openapi-typescript/src/transform/index.ts @@ -1,6 +1,6 @@ import ts, { TypeAliasDeclaration, TypeLiteralNode } from "typescript"; import { NEVER, STRING, tsModifiers, tsRecord } from "../lib/ts.js"; -import { createRef } from "../lib/utils.js"; +import { createRef, debug } from "../lib/utils.js"; import { GlobalContext, OpenAPI3 } from "../types.js"; import transformComponentsObject from "./components-object.js"; import transformPathsObject from "./paths-object.js"; @@ -28,6 +28,7 @@ export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { for (const root of Object.keys(transformers) as SchemaTransforms[]) { if (schema[root]) { + const rootT = performance.now(); const subType = transformers[root](schema[root], ctx); type.push( ctx.exportType @@ -51,6 +52,7 @@ export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { /* members */ (subType as TypeLiteralNode).members, ), ); + debug(`Transformed ${root} object`, "ts", performance.now() - rootT); } else { type.push( ts.factory.createTypeAliasDeclaration( @@ -63,6 +65,7 @@ export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { /* type */ tsRecord(STRING, NEVER), ), ); + debug(`Skipped: ${root} object`, "ts", 0); } } diff --git a/packages/openapi-typescript/test/cjs.test.ts b/packages/openapi-typescript/test/cjs.test.ts index 97416e2b1..32d8bf2b5 100644 --- a/packages/openapi-typescript/test/cjs.test.ts +++ b/packages/openapi-typescript/test/cjs.test.ts @@ -1,15 +1,16 @@ /* eslint-disable @typescript-eslint/no-var-requires */ // important: MUST use require()! -const fs = require("node:fs"); -const { fileURLToPath, URL } = require("node:url"); +const { fileURLToPath } = require("node:url"); const openapiTS = require("../dist/index.cjs"); -const yaml = require("js-yaml"); describe("CJS bundle", () => { it("basic", async () => { - const input = yaml.load(fs.readFileSync(new URL("../examples/stripe-api.yaml", import.meta.url), "utf8")); - const output = await openapiTS(input); - expect(output).toMatchFileSnapshot(fileURLToPath(new URL("../examples/stripe-api.ts", import.meta.url))); + const output = await openapiTS( + new URL("../examples/stripe-api.yaml", import.meta.url), + ); + expect(output).toMatchFileSnapshot( + fileURLToPath(new URL("../examples/stripe-api.ts", import.meta.url)), + ); }); }); diff --git a/packages/openapi-typescript/test/cli.test.ts b/packages/openapi-typescript/test/cli.test.ts index 88ae34d3d..33b02e2d3 100644 --- a/packages/openapi-typescript/test/cli.test.ts +++ b/packages/openapi-typescript/test/cli.test.ts @@ -1,9 +1,10 @@ import { execa } from "execa"; import glob from "fast-glob"; import fs from "node:fs"; -import path from "node:path/posix"; // prevent issues with `\` on windows -import { URL, fileURLToPath } from "node:url"; import os from "node:os"; +import path from "node:path/posix"; // prevent issues with `\` on windows +import { fileURLToPath } from "node:url"; +import { TestCase } from "./test-helpers.js"; const root = new URL("../", import.meta.url); const cwd = os.platform() === "win32" ? fileURLToPath(root) : root; // execa bug: fileURLToPath required on Windows @@ -14,70 +15,109 @@ const TIMEOUT = 90000; // fast-glob does not sort results async function getOutputFiles() { - return (await glob("**", { cwd: outputDir })).sort((a, b) => a.localeCompare(b, undefined, { numeric: true })); + return (await glob("**", { cwd: outputDir })).sort((a, b) => + a.localeCompare(b, undefined, { numeric: true }), + ); } describe("CLI", () => { - // note: the snapshots in index.test.ts test the Node API; these test the CLI - describe("snapshots", () => { - test( - "GitHub API", - async () => { - const { stdout } = await execa(cmd, ["./examples/github-api.yaml"], { cwd }); - expect(stdout).toMatchFileSnapshot(fileURLToPath(new URL("./examples/github-api.ts", root))); + const tests: TestCase[] = [ + [ + "snapshot > GitHub API", + { + given: "./examples/github-api.yaml", + want: new URL("./examples/github-api.ts", root), + ci: { timeout: TIMEOUT }, }, - TIMEOUT, - ); - test( - "GitHub API (next)", - async () => { - const { stdout } = await execa(cmd, ["./examples/github-api-next.yaml"], { cwd }); - expect(stdout).toMatchFileSnapshot(fileURLToPath(new URL("./examples/github-api-next.ts", root))); + ], + [ + "snapshot > GitHub API (next)", + { + given: "./examples/github-api-next.yaml", + want: new URL("./examples/github-api-next.ts", root), + ci: { timeout: TIMEOUT }, }, - TIMEOUT, - ); - test( - "Octokit GHES 3.6 Diff to API", - async () => { - const { stdout } = await execa(cmd, ["./examples/octokit-ghes-3.6-diff-to-api.json"], { cwd }); - expect(stdout).toMatchFileSnapshot(fileURLToPath(new URL("./examples/octokit-ghes-3.6-diff-to-api.ts", root))); + ], + [ + "snapshot > Octokit GHES 3.6 Diff to API", + { + given: "./examples/octokit-ghes-3.6-diff-to-api.json", + want: new URL("./examples/octokit-ghes-3.6-diff-to-api.ts", root), + ci: { timeout: TIMEOUT }, }, - TIMEOUT, - ); - test( - "Stripe API", - async () => { - const { stdout } = await execa(cmd, ["./examples/stripe-api.yaml"], { cwd }); - expect(stdout).toMatchFileSnapshot(fileURLToPath(new URL("./examples/stripe-api.ts", root))); + ], + [ + "snapshot > Stripe API", + { + given: "./examples/stripe-api.yaml", + want: new URL("./examples/stripe-api.ts", root), + ci: { timeout: TIMEOUT }, }, - TIMEOUT, - ); - // this test runs too slowly on macos / windows in GitHub Actions (but not natively) - test.skipIf(process.env.CI_ENV === "macos" || process.env.CI_ENV === "windows")( - "DigitalOcean API (remote $refs)", - async () => { - const { stdout } = await execa(cmd, ["./examples/digital-ocean-api/DigitalOcean-public.v2.yaml"], { - cwd, - }); - expect(stdout).toMatchFileSnapshot(fileURLToPath(new URL("./examples/digital-ocean-api.ts", root))); + ], + [ + "snapshot > DigitalOcean", + { + given: "./examples/digital-ocean-api/DigitalOcean-public.v2.yaml", + want: new URL("./examples/digital-ocean-api.ts", root), + ci: { + timeout: TIMEOUT, + skipIf: + process.env.CI_ENV === "macos" || process.env.CI_ENV === "windows", // this test runs too slowly on non-Ubuntu GitHub Actions runners + }, }, - TIMEOUT, - ); - test( - "stdin", + ], + ]; + + describe.each(tests)("%s", (_, { given, want, ci }) => { + test.skipIf(ci?.skipIf)( + "test", async () => { - const input = fs.readFileSync(new URL("./examples/stripe-api.yaml", root)); - const { stdout } = await execa(cmd, { input }); - expect(stdout).toMatchFileSnapshot(fileURLToPath(new URL("./examples/stripe-api.ts", root))); + let stdout: string; + + // treat URL inputs as stdin (source file) + if (given instanceof URL) { + stdout = ( + await execa(cmd, { input: fs.readFileSync(given, "utf8"), cwd }) + ).stdout; + } + // otherwise treat inputs as command-line arguments + else { + stdout = (await execa(cmd, [given], { cwd })).stdout; + } + + if (want instanceof URL) { + expect(stdout).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(stdout).toBe(want + "\n"); + } }, - TIMEOUT, + ci?.timeout, ); }); + test( + "stdin", + async () => { + const input = fs.readFileSync( + new URL("./examples/stripe-api.yaml", root), + "utf8", + ); + const { stdout } = await execa(cmd, { input, cwd }); + expect(stdout).toMatchFileSnapshot( + fileURLToPath(new URL("./examples/stripe-api.ts", root)), + ); + }, + TIMEOUT, + ); + describe("flags", () => { test("--help", async () => { const { stdout } = await execa(cmd, ["--help"], { cwd }); - expect(stdout).toEqual(expect.stringMatching(/^Usage\n\s+\$ openapi-typescript \[input\] \[options\]/)); + expect(stdout).toEqual( + expect.stringMatching( + /^Usage\n\s+\$ openapi-typescript \[input\] \[options\]/, + ), + ); }); test("--version", async () => { @@ -117,14 +157,19 @@ describe("CLI", () => { test("multiple files to file", async () => { const inputFile = path.join(inputDir, "*.yaml"); const outputFile = path.join(outputDir, "file-a.ts"); - await expect(execa(cmd, [inputFile, "--output", outputFile], { cwd })).rejects.toThrow(); + await expect( + execa(cmd, [inputFile, "--output", outputFile], { cwd }), + ).rejects.toThrow(); }); test("multiple files to directory", async () => { const inputFile = path.join(inputDir, "*.yaml"); await execa(cmd, [inputFile, "--output", outputDir], { cwd }); const result = await getOutputFiles(); - expect(result).toEqual(["test/fixtures/cli-outputs/file-a.ts", "test/fixtures/cli-outputs/file-b.ts"]); + expect(result).toEqual([ + "test/fixtures/cli-outputs/file-a.ts", + "test/fixtures/cli-outputs/file-b.ts", + ]); }); test("multiple nested files to directory", async () => { diff --git a/packages/openapi-typescript/test/discriminators.test.ts b/packages/openapi-typescript/test/discriminators.test.ts index 3780c1392..525d7f7e7 100644 --- a/packages/openapi-typescript/test/discriminators.test.ts +++ b/packages/openapi-typescript/test/discriminators.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import openapiTS, { COMMENT_HEADER, OpenAPITSOptions } from "../src/index.js"; import { TestCase } from "./test-helpers.js"; @@ -78,8 +79,7 @@ export type $defs = Record; export type external = Record; -export type operations = Record; -`, +export type operations = Record;`, // options: DEFAULT_OPTIONS, }, ], @@ -156,8 +156,7 @@ export type $defs = Record; export type external = Record; -export type operations = Record; -`, +export type operations = Record;`, // options: DEFAULT_OPTIONS, }, ], @@ -235,14 +234,24 @@ export type $defs = Record; export type external = Record; -export type operations = Record; -`, +export type operations = Record;`, // options: DEFAULT_OPTIONS, }, ], ]; - test.each(tests)("%s", async (_, { given, want, options }) => { - expect(await openapiTS(given, options)).toBe(want); + describe.each(tests)("%s", (_, { given, want, options, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = await openapiTS(given, options); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); }); }); diff --git a/packages/openapi-typescript/test/index.test.ts b/packages/openapi-typescript/test/index.test.ts index 0832b2ee3..a81844319 100644 --- a/packages/openapi-typescript/test/index.test.ts +++ b/packages/openapi-typescript/test/index.test.ts @@ -1,5 +1,5 @@ -import { URL, fileURLToPath } from "node:url"; -import openapiTS, { COMMENT_HEADER } from "../src/index.js"; +import { fileURLToPath } from "node:url"; +import openapiTS, { astToString } from "../src/index.js"; import type { OpenAPI3, OpenAPITSOptions } from "../src/types.js"; import { TestCase } from "./test-helpers.js"; @@ -51,31 +51,29 @@ describe("openapiTS", () => { }, }, }, - want: `${COMMENT_HEADER} -export type paths = Record; + want: `export type paths = Record; export type webhooks = Record; export interface components { - schemas: { - ObjRef: { - base?: components["schemas"]["Entity"]["foo"]; + schemas: { + ObjRef: { + base?: components["schemas"]["Entity"]["foo"]; + }; + AllOf: components["schemas"]["Entity"]["foo"] & components["schemas"]["Thingy"]["bar"]; }; - AllOf: components["schemas"]["Entity"]["foo"] & components["schemas"]["Thingy"]["bar"]; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } export type $defs = Record; export type external = Record; -export type operations = Record; -`, +export type operations = Record;`, // options: DEFAULT_OPTIONS, }, ], @@ -98,8 +96,7 @@ export type operations = Record; }, }, }, - want: `${COMMENT_HEADER} -export type paths = Record; + want: `export type paths = Record; export type webhooks = Record; @@ -125,60 +122,174 @@ export type operations = Record;`, }, ], [ - "parameters > $refs get hoisted", + "$refs > parameters get hoisted", { - given: new URL("./fixtures/parameters-test.yaml"), - want: `${COMMENT_HEADER} - export interface paths { + given: new URL("./fixtures/parameters-test.yaml", import.meta.url), + want: `export interface paths { "/endpoint": { - /** @description OK */ - get: { - parameters: { - path: { - /** @description This overrides parameters */ - local_param_a: number; - local_ref_a: components["parameters"]["local_ref_a"]; - remote_ref_a: external["_parameters-test-partial.yaml"]["remote_ref_a"]; - local_ref_b: components["parameters"]["local_ref_b"]; - remote_ref_b: external["_parameters-test-partial.yaml"]["remote_ref_b"]; - }; + /** @description OK */ + get: { + parameters: { + path: { + /** @description This overrides parameters */ + local_param_a: number; + local_ref_a: components["parameters"]["local_ref_a"]; + remote_ref_a: external["_parameters-test-partial.yaml"]["remote_ref_a"]; + local_ref_b: components["parameters"]["local_ref_b"]; + remote_ref_b: external["_parameters-test-partial.yaml"]["remote_ref_b"]; + }; + }; }; - }; - parameters: { - path: { - local_param_a: string; - local_ref_a: components["parameters"]["local_ref_a"]; - remote_ref_a: external["_parameters-test-partial.yaml"]["remote_ref_a"]; + parameters: { + path: { + local_param_a: string; + local_ref_a: components["parameters"]["local_ref_a"]; + remote_ref_a: external["_parameters-test-partial.yaml"]["remote_ref_a"]; + }; }; - }; }; - } +} - export type webhooks = Record; +export type webhooks = Record; - export interface components { +export interface components { schemas: never; responses: never; parameters: { - local_ref_a: string; + local_ref_a: string; local_ref_b: string; }; requestBodies: never; headers: never; pathItems: never; - } +} - export type $defs = Record; +export type $defs = Record; - export interface external { +export interface external { "_parameters-test-partial.yaml": { - remote_ref_a: string; - remote_ref_b: string; + remote_ref_a: string; + remote_ref_b: string; + }; +} + +export type operations = Record;`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "$refs > path object", + { + given: new URL("./fixtures/path-object-refs.yaml", import.meta.url), + want: `export interface paths { + /** @description Remote Ref */ + "/get-item": external["_path-object-refs-paths.yaml"]["GetItemOperation"]; +} + +export type webhooks = Record; + +export type components = Record; + +export type $defs = Record; + +export interface external { + "_path-object-refs-paths.yaml": { + GetItemOperation: { + get: { + responses: { + /** @description OK */ + 200: { + content: { + "application/json": external["_path-object-refs-paths.yaml"]["Item"]; + }; + }; + }; + }; + }; + Item: { + id: string; + name: string; + }; }; - } +} - export type operations = Record; +export type operations = Record; `, + }, + ], + [ + "$refs > YAML anchors", + { + given: new URL( + "./fixtures/anchor-with-ref-test-2.yaml", + import.meta.url, + ), + want: `export interface paths { + "/": { + get: { + responses: { + /** @description OK */ + 200: { + content: never; + }; + }; + }; + }; +} + +export type webhooks = Record; + +export interface components { + schemas: { + obj: external["anchor-with-ref-test.yaml"]["components"]["schemas"]["anchorTest"]; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} + +export type $defs = Record; + +export interface external { + "anchor-with-ref-test.yaml": { + paths: { + "/": { + get: { + responses: { + /** @description OK */ + 200: { + content: never; + }; + }; + }; + }; + }; + webhooks: Record; + components: { + schemas: { + test: { + metadata?: external["anchor-with-ref-test.yaml"]["components"]["schemas"]["metadata"]; + }; + anchorTest: { + metadata?: external["anchor-with-ref-test.yaml"]["components"]["schemas"]["metadata"]; + }; + metadata: { + [key: string]: unknown; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; + }; + $defs: Record; + }; +} + +export type operations = Record;`, // options: DEFAULT_OPTIONS, }, ], @@ -235,36 +346,35 @@ export type operations = Record;`, }, }, }, - want: `${COMMENT_HEADER} -export interface paths { - "/post/{id}": { - get: operations["getPost"]; - parameters: { - query?: { - revision?: number; - }; + want: `export interface paths { + "/post/{id}": { + get: operations["getPost"]; + parameters: { + query?: { + revision?: number; + }; + }; }; - }; } export type webhooks = Record; export interface components { - schemas: { - Post: { - id: number; - title: string; - body: string; - published_at?: number; + schemas: { + Post: { + id: number; + title: string; + body: string; + published_at?: number; + }; + }; + responses: never; + parameters: { + post_id: string; }; - }; - responses: never; - parameters: { - post_id: string; - }; - requestBodies: never; - headers: never; - pathItems: never; + requestBodies: never; + headers: never; + pathItems: never; } export type $defs = Record; @@ -272,28 +382,27 @@ export type $defs = Record; export type external = Record; export interface operations { - - getPost: { - parameters: { - query?: { - revision?: number; - format?: string; - }; - path: { - post_id: components["parameters"]["post_id"]; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": components["schemas"]["Post"]; + getPost: { + parameters: { + query?: { + revision?: number; + format?: string; + }; + path: { + post_id: components["parameters"]["post_id"]; + }; + }; + responses: { + /** @description OK */ + 200: { + content: { + "application/json": components["schemas"]["Post"]; + }; + }; }; - }; }; - }; -} -`, +}`, + // options: DEFAULT_OPTIONS, }, ], [ @@ -321,8 +430,7 @@ export interface operations { }, }, }, - want: `${COMMENT_HEADER} -export type paths = Record; + want: `export type paths = Record; export type webhooks = Record; @@ -345,188 +453,80 @@ export type $defs = Record; export type external = Record; export type operations = Record;`, + // options: DEFAULT_OPTIONS }, ], [ "JSONSchema > $defs are respected", { given: new URL("./fixtures/jsonschema-defs.yaml", import.meta.url), - want: `${COMMENT_HEADER} -export type paths = Record; + want: `export type paths = Record; export type webhooks = Record; export interface components { - schemas: { - Object: { - rootDef?: $defs["StringType"]; - nestedDef?: components["schemas"]["OtherObject"]["$defs"]["nestedDef"]; - remoteDef?: components["schemas"]["RemoteDefs"]["$defs"]["remoteDef"]; - $defs: { - hasDefs: boolean; - }; - }; - ArrayOfDefs: $defs["StringType"][]; - OtherObject: { - $defs: { - nestedDef: boolean; - }; - }; - RemoteDefs: { - $defs: { - remoteDef: external["_jsonschema-remote-obj.yaml"]["RemoteObject"]["$defs"]["remoteDef"]; - }; + schemas: { + Object: { + rootDef?: $defs["StringType"]; + nestedDef?: components["schemas"]["OtherObject"]["$defs"]["nestedDef"]; + remoteDef?: components["schemas"]["RemoteDefs"]["$defs"]["remoteDef"]; + $defs: { + hasDefs: boolean; + }; + }; + ArrayOfDefs: $defs["StringType"][]; + OtherObject: { + $defs: { + nestedDef: boolean; + }; + }; + RemoteDefs: { + $defs: { + remoteDef: external["_jsonschema-remote-obj.yaml"]["RemoteObject"]["$defs"]["remoteDef"]; + }; + }; }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } export interface $defs { - StringType: string; + StringType: string; } export interface external { - "_jsonschema-remote-obj.yaml": { - RemoteObject: { - ownProperty?: boolean; - $defs: { - remoteDef: string; - }; + "_jsonschema-remote-obj.yaml": { + RemoteObject: { + ownProperty?: boolean; + $defs: { + remoteDef: string; + }; + }; }; - }; } -export type operations = Record; -`, +export type operations = Record;`, // options: DEFAULT_OPTIONS, }, ], ]; - test.each(tests)("%s", async (_, { given, want, options }) => { - expect(await openapiTS(given, options)).toBe(want); - }); - - describe("3.0", () => { - /** test that path item objects accept $refs at the top level */ - test("path object $refs", async () => { - const generated = await openapiTS( - new URL("./fixtures/path-object-refs.yaml", import.meta.url), - ); - expect(generated).toBe(`${COMMENT_HEADER} -export interface paths { - /** @description Remote Ref */ - "/get-item": external["_path-object-refs-paths.yaml"]["GetItemOperation"]; -} - -export type webhooks = Record; - -export type components = Record; - -export type $defs = Record; - -export interface external { - "_path-object-refs-paths.yaml": { - GetItemOperation: { - get: { - responses: { - /** @description OK */ - 200: { - content: { - "application/json": external["_path-object-refs-paths.yaml"]["Item"]; - }; - }; - }; - }; - }; - Item: { - id: string; - name: string; - }; - }; -} - -export type operations = Record; -`); - }); - - test("anchor $refs", async () => { - const generated = await openapiTS( - new URL("./fixtures/anchor-with-ref-test-2.yaml", import.meta.url), - ); - expect(generated).toBe(`${COMMENT_HEADER} -export interface paths { - "/": { - get: { - responses: { - /** @description OK */ - 200: { - content: never; - }; - }; - }; - }; -} - -export type webhooks = Record; - -export interface components { - schemas: { - obj: external["anchor-with-ref-test.yaml"]["components"]["schemas"]["anchorTest"]; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export interface external { - "anchor-with-ref-test.yaml": { - paths: { - "/": { - get: { - responses: { - /** @description OK */ - 200: { - content: never; - }; - }; - }; - }; - }; - webhooks: Record; - components: { - schemas: { - test: { - metadata?: external["anchor-with-ref-test.yaml"]["components"]["schemas"]["metadata"]; - }; - anchorTest: { - metadata?: external["anchor-with-ref-test.yaml"]["components"]["schemas"]["metadata"]; - }; - metadata: { - [key: string]: unknown; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; - }; - $defs: Record; - }; -} - -export type operations = Record; -`); - }); + describe.each(tests)("%s", (_, { given, want, options, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(await openapiTS(given, options)); + if (want instanceof URL) { + expect(want).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); }); describe("options", () => { @@ -555,24 +555,24 @@ export type operations = Record; }, { exportType: false }, ); - expect(generated).toBe(`${COMMENT_HEADER}${ONE_OF_TYPE_HELPERS} + expect(generated).toBe(`${ONE_OF_TYPE_HELPERS} export type paths = Record; export type webhooks = Record; export interface components { - schemas: { - User: OneOf<[{ - firstName?: string; - }, { - name?: string; - }]>; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + schemas: { + User: OneOf<[{ + firstName?: string; + }, { + name?: string; + }]>; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } export type $defs = Record; @@ -613,25 +613,25 @@ export type operations = Record; }, { exportType: false }, ); - expect(generated).toBe(`${COMMENT_HEADER}${WITH_REQUIRED_TYPE_HELPERS} + expect(generated).toBe(`${WITH_REQUIRED_TYPE_HELPERS} export type paths = Record; export type webhooks = Record; export interface components { - schemas: { - User: WithRequired<{ - firstName?: string; - lastName?: string; - } & { - middleName?: string; - }, "firstName" | "lastName">; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + schemas: { + User: WithRequired<{ + firstName?: string; + lastName?: string; + } & { + middleName?: string; + }, "firstName" | "lastName">; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } export type $defs = Record; @@ -667,72 +667,4 @@ export type operations = Record; const after = JSON.stringify(schema); expect(before).toBe(after); }); - - // note: this tests the Node API; the snapshots in cli.test.ts test the CLI - describe("snapshots", () => { - const EXAMPLES_DIR = new URL("../examples/", import.meta.url); - - describe("GitHub", () => { - test("default options", async () => { - const generated = await openapiTS( - new URL("./github-api.yaml", EXAMPLES_DIR), - ); - expect(generated).toMatchFileSnapshot( - fileURLToPath(new URL("./github-api.ts", EXAMPLES_DIR)), - ); - }, 30000); - }); - describe("GitHub (next)", () => { - test("default options", async () => { - const generated = await openapiTS( - new URL("./github-api-next.yaml", EXAMPLES_DIR), - ); - expect(generated).toMatchFileSnapshot( - fileURLToPath(new URL("./github-api-next.ts", EXAMPLES_DIR)), - ); - }, 30000); - }); - describe("Octokit GHES 3.6 Diff to API", () => { - test("default options", async () => { - const generated = await openapiTS( - new URL("./octokit-ghes-3.6-diff-to-api.json", EXAMPLES_DIR), - ); - expect(generated).toMatchFileSnapshot( - fileURLToPath( - new URL("./octokit-ghes-3.6-diff-to-api.ts", EXAMPLES_DIR), - ), - ); - }, 30000); - }); - describe("Stripe", () => { - test("default options", async () => { - const generated = await openapiTS( - new URL("./stripe-api.yaml", EXAMPLES_DIR), - ); - expect(generated).toMatchFileSnapshot( - fileURLToPath(new URL("./stripe-api.ts", EXAMPLES_DIR)), - ); - }, 30000); - }); - describe("DigitalOcean", () => { - // this test runs too slowly on macos / windows in GitHub Actions (not not natively) - test.skipIf( - process.env.CI_ENV === "macos" || process.env.CI_ENV === "windows", - )( - "default options", - async () => { - const generated = await openapiTS( - new URL( - "./digital-ocean-api/DigitalOcean-public.v2.yaml", - EXAMPLES_DIR, - ), - ); - expect(generated).toMatchFileSnapshot( - fileURLToPath(new URL("./digital-ocean-api.ts", EXAMPLES_DIR)), - ); - }, - 60000, - ); - }); - }); }); diff --git a/packages/openapi-typescript/test/invalid.test.ts b/packages/openapi-typescript/test/invalid.test.ts index 4747ca15b..228358618 100644 --- a/packages/openapi-typescript/test/invalid.test.ts +++ b/packages/openapi-typescript/test/invalid.test.ts @@ -1,5 +1,5 @@ import { SpyInstance } from "vitest"; -import openapiTS from "../dist/index.js"; +import openapiTS from "../src/index.js"; describe("Invalid schemas", () => { let consoleError: SpyInstance; @@ -15,14 +15,35 @@ describe("Invalid schemas", () => { }); test("Swagger 2.0 throws", async () => { - await openapiTS({ swagger: "2.0" } as any); - expect(consoleError).toHaveBeenCalledWith(expect.stringContaining("Swagger 2.0 and older no longer supported. Please use v5.")); + await expect(() => openapiTS({ swagger: "2.0" } as any)).rejects.toThrow(); + expect(consoleError).toHaveBeenCalledWith( + expect.stringContaining( + "Unsupported Swagger version: 2.x. Use OpenAPI 3.x instead.", + ), + ); expect(procExit).toHaveBeenCalledWith(1); }); test("OpenAPI < 3 throws", async () => { - await openapiTS({ openapi: "2.0", info: { title: "Test", version: "1.0" } }); - expect(consoleError).toHaveBeenCalledWith(expect.stringContaining('Unsupported OpenAPI version "2.0". Only 3.x is supported.')); + await expect(() => + openapiTS({ + openapi: "2.0", + info: { title: "Test", version: "1.0" }, + }), + ).rejects.toThrow(); + expect(consoleError).toHaveBeenCalledWith( + expect.stringContaining("Unsupported OpenAPI version: 2.0"), + ); + expect(procExit).toHaveBeenCalledWith(1); + }); + + test("Other missing required fields", async () => { + await expect(() => openapiTS({} as any)).rejects.toThrow(); + expect(consoleError).toHaveBeenCalledWith( + expect.stringContaining( + "Unsupported schema format, expected `openapi: 3.x`", + ), + ); expect(procExit).toHaveBeenCalledWith(1); }); }); diff --git a/packages/openapi-typescript/test/node-api.test.ts b/packages/openapi-typescript/test/node-api.test.ts index 13385681f..31578a498 100644 --- a/packages/openapi-typescript/test/node-api.test.ts +++ b/packages/openapi-typescript/test/node-api.test.ts @@ -1,8 +1,11 @@ +import { fileURLToPath } from "node:url"; import ts from "typescript"; import openapiTS, { astToString } from "../src/index.js"; import { OpenAPITSOptions } from "../src/types.js"; import { TestCase } from "./test-helpers.js"; +const EXAMPLES_DIR = new URL("../examples/", import.meta.url); + describe("Node.js API", () => { const tests: TestCase[] = [ [ @@ -41,8 +44,7 @@ export interface components { pathItems: never; } export type $defs = Record; -export type operations = Record; -`, +export type operations = Record;`, options: { exportType: false }, }, ], @@ -81,8 +83,7 @@ export type components = { pathItems: never; }; export type $defs = Record; -export type operations = Record; -`, +export type operations = Record;`, options: { exportType: true }, }, ], @@ -154,8 +155,7 @@ export interface components { pathItems: never; } export type $defs = Record; -export type operations = Record; -`, +export type operations = Record;`, options: { pathParamsAsTypes: false }, }, ], @@ -226,8 +226,7 @@ export interface components { pathItems: never; } export type $defs = Record; -export type operations = Record; -`, +export type operations = Record;`, options: { pathParamsAsTypes: true }, }, ], @@ -257,8 +256,7 @@ export interface components { pathItems: never; } export type $defs = Record; -export type operations = Record; -`, +export type operations = Record;`, options: { transform(schemaObject) { if ( @@ -304,8 +302,7 @@ export interface components { pathItems: never; } export type $defs = Record; -export type operations = Record; -`, +export type operations = Record;`, options: { postTransform(type, options) { if (options.path?.includes("Date")) { @@ -417,14 +414,76 @@ export enum ErrorCode { Value104 = 104, Value105 = 105 } -export type operations = Record; -`, +export type operations = Record;`, options: { enum: true }, }, ], + [ + "snapshot > GitHub", + { + given: new URL("./github-api.yaml", EXAMPLES_DIR), + want: new URL("./github-api.ts", EXAMPLES_DIR), + // options: DEFAULT_OPTIONS, + ci: { skipIf: true, /* TODO */ timeout: 30000 }, + }, + ], + [ + "snapshot > GitHub (next)", + { + given: new URL("./github-api-next.yaml", EXAMPLES_DIR), + want: new URL("./github-api-next.ts", EXAMPLES_DIR), + // options: DEFAULT_OPTIONS, + ci: { skipIf: true, /* TODO */ timeout: 30000 }, + }, + ], + [ + "snapshot > Octokit GHES 3.6 Diff to API", + { + given: new URL("./octokit-ghes-3.6-diff-to-api.json", EXAMPLES_DIR), + want: new URL("./octokit-ghes-3.6-diff-to-api.ts", EXAMPLES_DIR), + // options: DEFAULT_OPTIONS, + ci: { skipIf: true, /* TODO */ timeout: 30000 }, + }, + ], + [ + "snapshot > Stripe", + { + given: new URL("./stripe-api.yaml", EXAMPLES_DIR), + want: new URL("./stripe-api.ts", EXAMPLES_DIR), + // options: DEFAULT_OPTIONS, + ci: { skipIf: true, /* TODO */ timeout: 30000 }, + }, + ], + [ + "snapshot > DigitalOcean", + { + given: new URL( + "./digital-ocean-api/DigitalOcean-public.v2.yaml", + EXAMPLES_DIR, + ), + want: new URL("./digital-ocean-api.ts", EXAMPLES_DIR), + // options: DEFAULT_OPTIONS, + ci: { + timeout: 60000, + skipIf: true /* TODO */, + // process.env.CI_ENV === "macos" || process.env.CI_ENV === "windows", // this test runs too slowly on non-Ubuntu GitHub Actions runners + }, + }, + ], ]; - test.each(tests)("%s", async (_, { given, want, options }) => { - expect(astToString(await openapiTS(given, options))).toBe(want); + describe.each(tests)("%s", (_, { given, want, options, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(await openapiTS(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); }); }); diff --git a/packages/openapi-typescript/test/test-helpers.ts b/packages/openapi-typescript/test/test-helpers.ts index c423bd160..d48bc18f5 100644 --- a/packages/openapi-typescript/test/test-helpers.ts +++ b/packages/openapi-typescript/test/test-helpers.ts @@ -39,10 +39,14 @@ export type TestCase = [ * The expected TypeScript output. Be mindful of indentation and * parentheses! */ - want: string; + want: string | URL; /** * Transform options. */ options?: O; + /** + * Options for Vitest + */ + ci?: { timeout?: number; skipIf?: boolean }; }, ]; diff --git a/packages/openapi-typescript/test/transform/components-object.test.ts b/packages/openapi-typescript/test/transform/components-object.test.ts index c9ea80522..f78b56665 100644 --- a/packages/openapi-typescript/test/transform/components-object.test.ts +++ b/packages/openapi-typescript/test/transform/components-object.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../src/lib/ts.js"; import transformComponentsObject from "../../src/transform/components-object.js"; import type { GlobalContext } from "../../src/types.js"; @@ -462,8 +463,21 @@ describe("transformComponentsObject", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformComponentsObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformComponentsObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/header-object.test.ts b/packages/openapi-typescript/test/transform/header-object.test.ts index da651a1cf..d2b6114d0 100644 --- a/packages/openapi-typescript/test/transform/header-object.test.ts +++ b/packages/openapi-typescript/test/transform/header-object.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../src/lib/ts.js"; import transformHeaderObject from "../../src/transform/header-object.js"; import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; @@ -24,8 +25,17 @@ describe("transformHeaderObject", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformHeaderObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)("test", async () => { + const result = astToString(transformHeaderObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/operation-object.test.ts b/packages/openapi-typescript/test/transform/operation-object.test.ts index 3b2e304d9..1152da2de 100644 --- a/packages/openapi-typescript/test/transform/operation-object.test.ts +++ b/packages/openapi-typescript/test/transform/operation-object.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../src/lib/ts.js"; import transformOperationObject from "../../src/transform/operation-object.js"; import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; @@ -159,8 +160,21 @@ responses: { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformOperationObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformOperationObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/path-item-object.test.ts b/packages/openapi-typescript/test/transform/path-item-object.test.ts index 437046e90..4e03937e5 100644 --- a/packages/openapi-typescript/test/transform/path-item-object.test.ts +++ b/packages/openapi-typescript/test/transform/path-item-object.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../src/lib/ts.js"; import transformPathItemObject from "../../src/transform/path-item-object.js"; import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; @@ -237,8 +238,21 @@ describe("transformPathItemObject", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformPathItemObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformPathItemObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/paths-object.test.ts b/packages/openapi-typescript/test/transform/paths-object.test.ts index 3432b0d66..d3bb2d32d 100644 --- a/packages/openapi-typescript/test/transform/paths-object.test.ts +++ b/packages/openapi-typescript/test/transform/paths-object.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../src/lib/ts.js"; import transformPathsObject from "../../src/transform/paths-object.js"; import type { GlobalContext } from "../../src/types.js"; @@ -369,8 +370,21 @@ describe("transformPathsObject", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformPathsObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformPathsObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/request-body-object.test.ts b/packages/openapi-typescript/test/transform/request-body-object.test.ts index 325cc22a4..9319dd505 100644 --- a/packages/openapi-typescript/test/transform/request-body-object.test.ts +++ b/packages/openapi-typescript/test/transform/request-body-object.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../src/lib/ts.js"; import transformRequestBodyObject from "../../src/transform/request-body-object.js"; import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; @@ -51,8 +52,23 @@ describe("transformRequestBodyObject", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformRequestBodyObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString( + transformRequestBodyObject(given, options), + ); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/response-object.test.ts b/packages/openapi-typescript/test/transform/response-object.test.ts index c8bb040ef..c218fd91c 100644 --- a/packages/openapi-typescript/test/transform/response-object.test.ts +++ b/packages/openapi-typescript/test/transform/response-object.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../src/lib/ts.js"; import transformResponseObject from "../../src/transform/response-object.js"; import { DEFAULT_CTX, TestCase } from "../test-helpers.js"; @@ -71,8 +72,21 @@ describe("transformResponseObject", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformResponseObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformResponseObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/schema-object/array.test.ts b/packages/openapi-typescript/test/transform/schema-object/array.test.ts index b50194689..06e2a3cc1 100644 --- a/packages/openapi-typescript/test/transform/schema-object/array.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/array.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../../src/lib/ts.js"; import transformSchemaObject from "../../../src/transform/schema-object.js"; import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; @@ -165,8 +166,21 @@ describe("transformSchemaObject > array", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformSchemaObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/schema-object/boolean.test.ts b/packages/openapi-typescript/test/transform/schema-object/boolean.test.ts index e2d7656cc..a727e07b3 100644 --- a/packages/openapi-typescript/test/transform/schema-object/boolean.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/boolean.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../../src/lib/ts.js"; import transformSchemaObject from "../../../src/transform/schema-object.js"; import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; @@ -43,8 +44,21 @@ describe("transformSchemaObject > boolean", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformSchemaObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/schema-object/composition.test.ts b/packages/openapi-typescript/test/transform/schema-object/composition.test.ts index e2a2d083e..163cc5d6f 100644 --- a/packages/openapi-typescript/test/transform/schema-object/composition.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/composition.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../../src/lib/ts.js"; import transformSchemaObject from "../../../src/transform/schema-object.js"; import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; @@ -506,8 +507,21 @@ describe("composition", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformSchemaObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/schema-object/empty.test.ts b/packages/openapi-typescript/test/transform/schema-object/empty.test.ts index 7dc0bdffa..1d676325a 100644 --- a/packages/openapi-typescript/test/transform/schema-object/empty.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/empty.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../../src/lib/ts.js"; import transformSchemaObject from "../../../src/transform/schema-object.js"; import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; @@ -35,8 +36,21 @@ describe("transformSchemaObject > empty/unknown", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformSchemaObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/schema-object/number.test.ts b/packages/openapi-typescript/test/transform/schema-object/number.test.ts index 1f5424d0f..63b3c0ae5 100644 --- a/packages/openapi-typescript/test/transform/schema-object/number.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/number.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../../src/lib/ts.js"; import transformSchemaObject from "../../../src/transform/schema-object.js"; import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; @@ -51,8 +52,21 @@ describe("transformSchemaObject > number", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformSchemaObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/schema-object/object.test.ts b/packages/openapi-typescript/test/transform/schema-object/object.test.ts index a3b42de8d..e61c2c5b0 100644 --- a/packages/openapi-typescript/test/transform/schema-object/object.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/object.test.ts @@ -1,4 +1,4 @@ -import ts from "typescript"; +import { fileURLToPath } from "node:url"; import { astToString } from "../../../src/index.js"; import transformSchemaObject from "../../../src/transform/schema-object.js"; import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; @@ -326,8 +326,21 @@ describe("transformSchemaObject > object", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformSchemaObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/schema-object/string.test.ts b/packages/openapi-typescript/test/transform/schema-object/string.test.ts index e58726bc3..7950c68e4 100644 --- a/packages/openapi-typescript/test/transform/schema-object/string.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/string.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../../src/lib/ts.js"; import transformSchemaObject from "../../../src/transform/schema-object.js"; import { DEFAULT_CTX, TestCase } from "../../test-helpers.js"; @@ -62,8 +63,21 @@ describe("transformSchemaObject > string", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformSchemaObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/transform/webhooks-object.test.ts b/packages/openapi-typescript/test/transform/webhooks-object.test.ts index 6f6a1102c..25d357570 100644 --- a/packages/openapi-typescript/test/transform/webhooks-object.test.ts +++ b/packages/openapi-typescript/test/transform/webhooks-object.test.ts @@ -1,3 +1,4 @@ +import { fileURLToPath } from "node:url"; import { astToString } from "../../src/lib/ts.js"; import transformWebhooksObject from "../../src/transform/webhooks-object.js"; import { GlobalContext } from "../../src/types.js"; @@ -179,8 +180,21 @@ describe("transformWebhooksObject", () => { ], ]; - test.each(tests)("%s", (_, { given, want, options = DEFAULT_OPTIONS }) => { - const ast = transformWebhooksObject(given, options); - expect(astToString(ast).trim()).toBe(want.trim()); - }); + describe.each(tests)( + "%s", + (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { + test.skipIf(ci?.skipIf)( + "test", + async () => { + const result = astToString(transformWebhooksObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + }, + ); }); diff --git a/packages/openapi-typescript/test/yaml.test.ts b/packages/openapi-typescript/test/yaml.test.ts index ebc4aaf3e..f8a91551e 100644 --- a/packages/openapi-typescript/test/yaml.test.ts +++ b/packages/openapi-typescript/test/yaml.test.ts @@ -1,6 +1,6 @@ import { execa } from "execa"; import os from "node:os"; -import { URL, fileURLToPath } from "node:url"; +import { fileURLToPath } from "node:url"; const root = new URL("../", import.meta.url); const cwd = os.platform() === "win32" ? fileURLToPath(root) : root; // execa bug: fileURLToPath required on Windows @@ -8,7 +8,9 @@ const cmd = "./bin/cli.js"; describe("YAML features", () => { it("merge", async () => { - const result = await execa(cmd, ["./test/fixtures/yaml-merge.yaml"], { cwd }); + const result = await execa(cmd, ["./test/fixtures/yaml-merge.yaml"], { + cwd, + }); expect(result.stdout).toMatchInlineSnapshot(` "/** * This file was auto-generated by openapi-typescript. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fcdb08491..d8c8b9feb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,11 +15,11 @@ importers: specifier: ^2.26.2 version: 2.26.2 '@typescript-eslint/eslint-plugin': - specifier: ^6.7.3 - version: 6.7.3(@typescript-eslint/parser@6.7.3)(eslint@8.50.0)(typescript@5.2.2) + specifier: ^6.7.4 + version: 6.7.4(@typescript-eslint/parser@6.7.4)(eslint@8.50.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.7.3 - version: 6.7.3(eslint@8.50.0)(typescript@5.2.2) + specifier: ^6.7.4 + version: 6.7.4(eslint@8.50.0)(typescript@5.2.2) del-cli: specifier: ^5.1.0 version: 5.1.0 @@ -31,7 +31,7 @@ importers: version: 9.0.0(eslint@8.50.0) eslint-plugin-import: specifier: ^2.28.1 - version: 2.28.1(@typescript-eslint/parser@6.7.3)(eslint@8.50.0) + version: 2.28.1(@typescript-eslint/parser@6.7.4)(eslint@8.50.0) eslint-plugin-no-only-tests: specifier: ^3.1.0 version: 3.1.0 @@ -131,7 +131,7 @@ importers: specifier: ^0.9.3 version: 0.9.3 openapi-typescript: - specifier: 'workspace:' + specifier: workspace:^ version: link:../openapi-typescript openapi-typescript-codegen: specifier: ^0.25.0 @@ -209,7 +209,7 @@ importers: version: 5.2.2 vite: specifier: ^4.4.9 - version: 4.4.9 + version: 4.4.9(@types/node@20.5.0)(sass@1.65.1) packages/openapi-fetch/examples/sveltekit: dependencies: @@ -240,7 +240,7 @@ importers: version: 5.2.2 vite: specifier: ^4.4.9 - version: 4.4.9 + version: 4.4.9(@types/node@20.5.0)(sass@1.65.1) packages/openapi-typescript: dependencies: @@ -270,8 +270,8 @@ importers: specifier: ^4.0.6 version: 4.0.6 '@types/node': - specifier: ^20.7.2 - version: 20.7.2 + specifier: ^20.8.0 + version: 20.8.0 degit: specifier: ^2.8.4 version: 2.8.4 @@ -286,10 +286,10 @@ importers: version: 7.2.0 vite: specifier: ^4.4.9 - version: 4.4.9(@types/node@20.7.2) + version: 4.4.9(@types/node@20.8.0) vite-node: specifier: ^0.34.6 - version: 0.34.6(@types/node@20.7.2)(supports-color@9.4.0) + version: 0.34.6(@types/node@20.8.0)(supports-color@9.4.0) vitest: specifier: ^0.34.6 version: 0.34.6(supports-color@9.4.0) @@ -894,7 +894,7 @@ packages: semver: 7.5.4 spawndamnit: 2.0.0 term-size: 2.2.1 - tty-table: 4.2.1 + tty-table: 4.2.2 dev: true /@changesets/config@2.3.1: @@ -1699,8 +1699,8 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.9.0: - resolution: {integrity: sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==} + /@eslint-community/regexpp@4.9.1: + resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true @@ -1996,7 +1996,7 @@ packages: svelte: 4.2.0 tiny-glob: 0.2.9 undici: 5.23.0 - vite: 4.4.9 + vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) transitivePeerDependencies: - supports-color dev: true @@ -2012,7 +2012,7 @@ packages: '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@4.2.0)(vite@4.4.9) debug: 4.3.4(supports-color@9.4.0) svelte: 4.2.0 - vite: 4.4.9 + vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) transitivePeerDependencies: - supports-color dev: true @@ -2031,7 +2031,7 @@ packages: magic-string: 0.30.3 svelte: 4.2.0 svelte-hmr: 0.15.3(svelte@4.2.0) - vite: 4.4.9 + vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) vitefu: 0.2.4(vite@4.4.9) transitivePeerDependencies: - supports-color @@ -2291,10 +2291,6 @@ packages: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} dev: true - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - dev: true - /@types/minimist@1.2.3: resolution: {integrity: sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==} dev: true @@ -2328,8 +2324,8 @@ packages: resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} dev: true - /@types/node@20.7.2: - resolution: {integrity: sha512-RcdC3hOBOauLP+r/kRt27NrByYtDjsXyAuSbR87O6xpsvi763WI+5fbSIvYJrXnt9w4RuxhV6eAXfIs7aaf/FQ==} + /@types/node@20.8.0: + resolution: {integrity: sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ==} dev: true /@types/normalize-package-data@2.4.1: @@ -2388,8 +2384,8 @@ packages: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} dev: false - /@typescript-eslint/eslint-plugin@6.7.3(@typescript-eslint/parser@6.7.3)(eslint@8.50.0)(typescript@5.2.2): - resolution: {integrity: sha512-vntq452UHNltxsaaN+L9WyuMch8bMd9CqJ3zhzTPXXidwbf5mqqKCVXEuvRZUqLJSTLeWE65lQwyXsRGnXkCTA==} + /@typescript-eslint/eslint-plugin@6.7.4(@typescript-eslint/parser@6.7.4)(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -2399,12 +2395,12 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.9.0 - '@typescript-eslint/parser': 6.7.3(eslint@8.50.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.7.3 - '@typescript-eslint/type-utils': 6.7.3(eslint@8.50.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.3(eslint@8.50.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.7.3 + '@eslint-community/regexpp': 4.9.1 + '@typescript-eslint/parser': 6.7.4(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.7.4 + '@typescript-eslint/type-utils': 6.7.4(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.4(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.7.4 debug: 4.3.4(supports-color@9.4.0) eslint: 8.50.0 graphemer: 1.4.0 @@ -2417,8 +2413,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.7.3(eslint@8.50.0)(typescript@5.2.2): - resolution: {integrity: sha512-TlutE+iep2o7R8Lf+yoer3zU6/0EAUc8QIBB3GYBc1KGz4c4TRm83xwXUZVPlZ6YCLss4r77jbu6j3sendJoiQ==} + /@typescript-eslint/parser@6.7.4(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -2427,10 +2423,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.7.3 - '@typescript-eslint/types': 6.7.3 - '@typescript-eslint/typescript-estree': 6.7.3(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.7.3 + '@typescript-eslint/scope-manager': 6.7.4 + '@typescript-eslint/types': 6.7.4 + '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.7.4 debug: 4.3.4(supports-color@9.4.0) eslint: 8.50.0 typescript: 5.2.2 @@ -2438,16 +2434,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@6.7.3: - resolution: {integrity: sha512-wOlo0QnEou9cHO2TdkJmzF7DFGvAKEnB82PuPNHpT8ZKKaZu6Bm63ugOTn9fXNJtvuDPanBc78lGUGGytJoVzQ==} + /@typescript-eslint/scope-manager@6.7.4: + resolution: {integrity: sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.7.3 - '@typescript-eslint/visitor-keys': 6.7.3 + '@typescript-eslint/types': 6.7.4 + '@typescript-eslint/visitor-keys': 6.7.4 dev: true - /@typescript-eslint/type-utils@6.7.3(eslint@8.50.0)(typescript@5.2.2): - resolution: {integrity: sha512-Fc68K0aTDrKIBvLnKTZ5Pf3MXK495YErrbHb1R6aTpfK5OdSFj0rVN7ib6Tx6ePrZ2gsjLqr0s98NG7l96KSQw==} + /@typescript-eslint/type-utils@6.7.4(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -2456,8 +2452,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.7.3(typescript@5.2.2) - '@typescript-eslint/utils': 6.7.3(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.4(eslint@8.50.0)(typescript@5.2.2) debug: 4.3.4(supports-color@9.4.0) eslint: 8.50.0 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -2466,13 +2462,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@6.7.3: - resolution: {integrity: sha512-4g+de6roB2NFcfkZb439tigpAMnvEIg3rIjWQ+EM7IBaYt/CdJt6em9BJ4h4UpdgaBWdmx2iWsafHTrqmgIPNw==} + /@typescript-eslint/types@6.7.4: + resolution: {integrity: sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.7.3(typescript@5.2.2): - resolution: {integrity: sha512-YLQ3tJoS4VxLFYHTw21oe1/vIZPRqAO91z6Uv0Ss2BKm/Ag7/RVQBcXTGcXhgJMdA4U+HrKuY5gWlJlvoaKZ5g==} + /@typescript-eslint/typescript-estree@6.7.4(typescript@5.2.2): + resolution: {integrity: sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -2480,8 +2476,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.7.3 - '@typescript-eslint/visitor-keys': 6.7.3 + '@typescript-eslint/types': 6.7.4 + '@typescript-eslint/visitor-keys': 6.7.4 debug: 4.3.4(supports-color@9.4.0) globby: 11.1.0 is-glob: 4.0.3 @@ -2492,8 +2488,8 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.7.3(eslint@8.50.0)(typescript@5.2.2): - resolution: {integrity: sha512-vzLkVder21GpWRrmSR9JxGZ5+ibIUSudXlW52qeKpzUEQhRSmyZiVDDj3crAth7+5tmN1ulvgKaCU2f/bPRCzg==} + /@typescript-eslint/utils@6.7.4(eslint@8.50.0)(typescript@5.2.2): + resolution: {integrity: sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -2501,9 +2497,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) '@types/json-schema': 7.0.13 '@types/semver': 7.5.3 - '@typescript-eslint/scope-manager': 6.7.3 - '@typescript-eslint/types': 6.7.3 - '@typescript-eslint/typescript-estree': 6.7.3(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.7.4 + '@typescript-eslint/types': 6.7.4 + '@typescript-eslint/typescript-estree': 6.7.4(typescript@5.2.2) eslint: 8.50.0 semver: 7.5.4 transitivePeerDependencies: @@ -2511,11 +2507,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@6.7.3: - resolution: {integrity: sha512-HEVXkU9IB+nk9o63CeICMHxFWbHWr3E1mpilIQBe9+7L/lH97rleFLVtYsfnWB+JVMaiFnEaxvknvmIzX+CqVg==} + /@typescript-eslint/visitor-keys@6.7.4: + resolution: {integrity: sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.7.3 + '@typescript-eslint/types': 6.7.4 eslint-visitor-keys: 3.4.3 dev: true @@ -2525,7 +2521,7 @@ packages: vite: ^4 dependencies: '@swc/core': 1.3.83 - vite: 4.4.9 + vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) transitivePeerDependencies: - '@swc/helpers' dev: true @@ -2557,7 +2553,7 @@ packages: /@vitest/spy@0.34.6: resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==} dependencies: - tinyspy: 2.1.1 + tinyspy: 2.2.0 dev: true /@vitest/utils@0.34.6: @@ -3395,7 +3391,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: true /debug@4.3.4(supports-color@9.4.0): @@ -3866,7 +3862,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.3)(eslint-import-resolver-node@0.3.9)(eslint@8.50.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.4)(eslint-import-resolver-node@0.3.9)(eslint@8.50.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -3887,7 +3883,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.7.3(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.7.4(eslint@8.50.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.50.0 eslint-import-resolver-node: 0.3.9 @@ -3895,7 +3891,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.7.3)(eslint@8.50.0): + /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.7.4)(eslint@8.50.0): resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} engines: {node: '>=4'} peerDependencies: @@ -3905,7 +3901,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.7.3(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.7.4(eslint@8.50.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -3914,7 +3910,7 @@ packages: doctrine: 2.1.0 eslint: 8.50.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.3)(eslint-import-resolver-node@0.3.9)(eslint@8.50.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.4)(eslint-import-resolver-node@0.3.9)(eslint@8.50.0) has: 1.0.3 is-core-module: 2.13.0 is-glob: 4.0.3 @@ -3967,7 +3963,7 @@ packages: vite: optional: true dependencies: - '@typescript-eslint/utils': 6.7.3(eslint@8.50.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.4(eslint@8.50.0)(typescript@5.2.2) eslint: 8.50.0 vitest: 0.34.6(supports-color@9.4.0) transitivePeerDependencies: @@ -3994,7 +3990,7 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) - '@eslint-community/regexpp': 4.9.0 + '@eslint-community/regexpp': 4.9.1 '@eslint/eslintrc': 2.1.2 '@eslint/js': 8.50.0 '@humanwhocodes/config-array': 0.11.11 @@ -5423,7 +5419,7 @@ packages: resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - '@types/minimist': 1.2.2 + '@types/minimist': 1.2.3 camelcase-keys: 7.0.2 decamelize: 5.0.1 decamelize-keys: 1.1.1 @@ -5815,6 +5811,10 @@ packages: /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -6350,15 +6350,6 @@ packages: source-map-js: 1.0.2 dev: false - /postcss@8.4.29: - resolution: {integrity: sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - /postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} @@ -6797,14 +6788,6 @@ packages: glob: 7.2.3 dev: true - /rollup@3.29.0: - resolution: {integrity: sha512-nszM8DINnx1vSS+TpbWKMkxem0CDWk3cSit/WWCBVs9/JZ1I/XLwOsiUglYuYReaeWWSsW9kge5zE5NZtf/a4w==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.3 - dev: true - /rollup@3.29.4: resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} @@ -7451,8 +7434,8 @@ packages: engines: {node: '>=14.0.0'} dev: true - /tinyspy@2.1.1: - resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==} + /tinyspy@2.2.0: + resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} engines: {node: '>=14.0.0'} dev: true @@ -7536,8 +7519,8 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - /tty-table@4.2.1: - resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} + /tty-table@4.2.2: + resolution: {integrity: sha512-2gvCArMZLxgvpZ2NvQKdnYWIFLe7I/z5JClMuhrDXunmKgSZcQKcZRjN9XjAFiToMz2pUo1dEIXyrm0AwgV5Tw==} engines: {node: '>=8.0.0'} hasBin: true dependencies: @@ -7818,7 +7801,7 @@ packages: vfile-message: 3.1.4 dev: false - /vite-node@0.34.6(@types/node@20.7.2)(supports-color@9.4.0): + /vite-node@0.34.6(@types/node@20.8.0)(supports-color@9.4.0): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -7828,7 +7811,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.4.9(@types/node@20.7.2) + vite: 4.4.9(@types/node@20.8.0) transitivePeerDependencies: - '@types/node' - less @@ -7856,41 +7839,6 @@ packages: vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) dev: true - /vite@4.4.9: - resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.18.20 - postcss: 8.4.29 - rollup: 3.29.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vite@4.4.9(@types/node@20.5.0)(sass@1.65.1): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} @@ -7927,7 +7875,7 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vite@4.4.9(@types/node@20.7.2): + /vite@4.4.9(@types/node@20.8.0): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -7955,7 +7903,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.7.2 + '@types/node': 20.8.0 esbuild: 0.18.20 postcss: 8.4.31 rollup: 3.29.4 @@ -8018,7 +7966,7 @@ packages: dependencies: '@types/chai': 4.3.6 '@types/chai-subset': 1.3.3 - '@types/node': 20.7.2 + '@types/node': 20.8.0 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -8037,8 +7985,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 4.4.9(@types/node@20.7.2) - vite-node: 0.34.6(@types/node@20.7.2)(supports-color@9.4.0) + vite: 4.4.9(@types/node@20.8.0) + vite-node: 0.34.6(@types/node@20.8.0)(supports-color@9.4.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From f7f51d4f384d38042d18d46ac6e1e0f55e6b739d Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Mon, 2 Oct 2023 12:37:22 -0600 Subject: [PATCH 03/10] Get CLI running --- docs/src/content/docs/advanced.md | 47 +- packages/openapi-typescript/bin/cli.js | 40 +- .../examples/redocly-oas3.1.ts | 505 ++++++++++++++++++ .../examples/redocly-oas3.1.yaml | 351 ++++++++++++ packages/openapi-typescript/package.json | 2 +- packages/openapi-typescript/src/index.ts | 13 +- packages/openapi-typescript/src/lib/redoc.ts | 78 ++- packages/openapi-typescript/src/lib/utils.ts | 32 +- .../src/transform/components-object.ts | 10 +- .../openapi-typescript/src/transform/index.ts | 4 +- .../src/transform/paths-object.ts | 6 +- packages/openapi-typescript/src/types.ts | 3 +- .../openapi-typescript/test/node-api.test.ts | 163 +++++- 13 files changed, 1173 insertions(+), 81 deletions(-) create mode 100644 packages/openapi-typescript/examples/redocly-oas3.1.ts create mode 100644 packages/openapi-typescript/examples/redocly-oas3.1.yaml diff --git a/docs/src/content/docs/advanced.md b/docs/src/content/docs/advanced.md index 5a0e4257a..d04966d3a 100644 --- a/docs/src/content/docs/advanced.md +++ b/docs/src/content/docs/advanced.md @@ -88,7 +88,9 @@ const BASE_URL = "https://myapi.com/v1"; // End Settings // type helpers — ignore these; these just make TS lookups better -type FilterKeys = { [K in keyof Obj]: K extends Matchers ? Obj[K] : never }[keyof Obj]; +type FilterKeys = { + [K in keyof Obj]: K extends Matchers ? Obj[K] : never; +}[keyof Obj]; type PathResponses = T extends { responses: any } ? T["responses"] : unknown; type OperationContent = T extends { content: any } ? T["content"] : unknown; type MediaType = `${string}/${string}`; @@ -107,26 +109,39 @@ type MockedResponse = FilterKeys< */ export function mockResponses(responses: { [Path in keyof Partial]: { - [Method in keyof Partial]: MockedResponse>; + [Method in keyof Partial]: MockedResponse< + PathResponses + >; }; }) { fetchMock.mockResponse((req) => { - const mockedPath = findPath(req.url.replace(BASE_URL, ""), Object.keys(responses))!; + const mockedPath = findPath( + req.url.replace(BASE_URL, ""), + Object.keys(responses), + )!; // note: we get lazy with the types here, because the inference is bad anyway and this has a `void` return signature. The important bit is the parameter signature. - if (!mockedPath || (!responses as any)[mockedPath]) throw new Error(`No mocked response for ${req.url}`); // throw error if response not mocked (remove or modify if you’d like different behavior) + if (!mockedPath || (!responses as any)[mockedPath]) + throw new Error(`No mocked response for ${req.url}`); // throw error if response not mocked (remove or modify if you’d like different behavior) const method = req.method.toLowerCase(); - if (!(responses as any)[mockedPath][method]) throw new Error(`${req.method} called but not mocked on ${mockedPath}`); // likewise throw error if other parts of response aren’t mocked + if (!(responses as any)[mockedPath][method]) + throw new Error(`${req.method} called but not mocked on ${mockedPath}`); // likewise throw error if other parts of response aren’t mocked if (!(responses as any)[mockedPath][method]) { throw new Error(`${req.method} called but not mocked on ${mockedPath}`); } const { status, body } = (responses as any)[mockedPath][method]; return { status, body: JSON.stringify(body) }; - }) + }); } // helper function that matches a realistic URL (/users/123) to an OpenAPI path (/users/{user_id} -export function findPath(actual: string, testPaths: string[]): string | undefined { - const url = new URL(actual, actual.startsWith("http") ? undefined : "http://testapi.com"); +export function findPath( + actual: string, + testPaths: string[], +): string | undefined { + const url = new URL( + actual, + actual.startsWith("http") ? undefined : "http://testapi.com", + ); const actualParts = url.pathname.split("/"); for (const p of testPaths) { let matched = true; @@ -149,7 +164,9 @@ export function findPath(actual: string, testPaths: string[]): string | undefine ```ts export function mockResponses(responses: { [Path in keyof Partial]: { - [Method in keyof Partial]: MockedResponse>; + [Method in keyof Partial]: MockedResponse< + PathResponses + >; }; }); ``` @@ -158,6 +175,18 @@ export function mockResponses(responses: { Now, whenever your schema updates, **all your mock data will be typechecked correctly** 🎉. This is a huge step in ensuring resilient, accurate tests. +## Debugging + +To enable debugging, set `DEBUG=openapi-ts:*` as an env var like so: + +```sh +$ DEBUG=openapi-ts:* npx openapi-typescript schema.yaml -o my-types.ts +``` + +To only see certain types of debug messages, you can set `DEBUG=openapi-ts:[scope]` instead. Valid scopes are `redoc`, `lint`, `bundle`, and `ts`. + +Note that debug messages will be suppressed if using the CLI and outputting via `stdout`. + ## Tips In no particular order, here are a few best practices to make life easier when working with OpenAPI-derived types. diff --git a/packages/openapi-typescript/bin/cli.js b/packages/openapi-typescript/bin/cli.js index 75bbd65f9..1f8d6932e 100755 --- a/packages/openapi-typescript/bin/cli.js +++ b/packages/openapi-typescript/bin/cli.js @@ -3,10 +3,17 @@ import { loadConfig } from "@redocly/openapi-core"; import glob from "fast-glob"; import fs from "node:fs"; -import path from "node:path"; +import { fileURLToPath } from "node:url"; import parser from "yargs-parser"; -import openapiTS, { astToString, COMMENT_HEADER } from "../dist/index.js"; -import { c, error } from "../dist/utils.js"; +import openapiTS, { + astToString, + c, + COMMENT_HEADER, + error, + formatTime, +} from "../dist/index.js"; + +/* eslint-disable no-console */ const HELP = `Usage $ openapi-typescript [input] [options] @@ -34,7 +41,7 @@ const CWD = new URL(`file://${process.cwd()}/`); const EXT_RE = /\.[^.]+$/i; const HTTP_RE = /^https?:\/\//; -const timeStart = process.hrtime(); +const timeStart = performance.now(); const [, , ...args] = process.argv; if (args.includes("-ap")) { @@ -76,14 +83,14 @@ const flags = parser(args, { }, }); -async function generateSchema(pathToSpec) { +async function generateSchema(url) { const output = flags.output ? OUTPUT_FILE : OUTPUT_STDOUT; // FILE or STDOUT - const redoclyConfig = await loadConfig(flags.redoc); + const redoclyConfig = flags.redoc ? await loadConfig(flags.redoc) : undefined; // generate schema const result = `${COMMENT_HEADER}${astToString( - await openapiTS(pathToSpec, { + await openapiTS(url, { additionalProperties: flags.additionalProperties, alphabetize: flags.alphabetize, contentNever: flags.contentNever, @@ -110,7 +117,7 @@ async function generateSchema(pathToSpec) { if (typeof flags.output === "string" && !flags.output.endsWith("/")) { outputFilePath = new URL(`${flags.output}/`, CWD); } - const filename = pathToSpec.replace(EXT_RE, ".ts"); + const filename = fileURLToPath(url).replace(EXT_RE, ".ts"); const originalOutputFilePath = outputFilePath; outputFilePath = new URL(filename, originalOutputFilePath); if (outputFilePath.protocol !== "file:") { @@ -123,12 +130,10 @@ async function generateSchema(pathToSpec) { fs.writeFileSync(outputFilePath, result, "utf8"); - const timeEnd = process.hrtime(timeStart); - const time = timeEnd[0] + Math.round(timeEnd[1] / 1e6); console.log( - `🚀 ${c.green(`${pathToSpec} → ${c.bold(outputFilePath)}`)} ${c.dim( - `[${time}ms]`, - )}`, + `🚀 ${c.green( + `${fileURLToPath(url)} → ${c.bold(fileURLToPath(outputFilePath))}`, + )} ${c.dim(`[${formatTime(performance.now() - timeStart)}]`)}`, ); } else { process.stdout.write(result); @@ -175,7 +180,7 @@ async function main() { if (output !== "." && output === OUTPUT_FILE) { fs.mkdirSync(outputDir, { recursive: true }); } - await generateSchema(pathToSpec); + await generateSchema(new URL(pathToSpec)); return; } @@ -204,16 +209,15 @@ async function main() { // generate schema(s) in parallel await Promise.all( inputSpecPaths.map(async (specPath) => { + const globInputFile = new URL(specPath, CWD); if (flags.output !== "." && output === OUTPUT_FILE) { if (isGlob || isDirUrl) { - fs.mkdirSync(new URL(path.dirname(specPath), outputDir), { - recursive: true, - }); // recursively make parent dirs + fs.mkdirSync(outputDir, { recursive: true }); // recursively make parent dirs } else { fs.mkdirSync(outputDir, { recursive: true }); // recursively make parent dirs } } - await generateSchema(specPath); + await generateSchema(globInputFile); }), ); } diff --git a/packages/openapi-typescript/examples/redocly-oas3.1.ts b/packages/openapi-typescript/examples/redocly-oas3.1.ts new file mode 100644 index 000000000..13b82695f --- /dev/null +++ b/packages/openapi-typescript/examples/redocly-oas3.1.ts @@ -0,0 +1,505 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/pets/items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Test! Foo! Etc! */ + get: operations["getTest"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/pets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List all pets */ + get: operations["listPets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/pets/model": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List all pets */ + get: operations["listPetsModel"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/pets/person": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List all pets */ + get: operations["listPetsPerson"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Some summary */ + get: operations["getEmptyOperationId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/{var}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/unevaluated-properties": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Checks if unevaluetedProperties work */ + get: operations["getUnevaluatedProperties"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export interface webhooks { + newPet: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** Edit new pet + @description Edit pet. */ + put: operations["editPet"]; + /** Add a new pet to the store + @description Add new pet to the store inventory. */ + post: operations["addPet"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export interface components { + schemas: { + /** @description schema for a rfc7807 */ + Problem: { + /** Format: uri + @description A URI reference [RFC3986] that identifies the problem type. */ + type: string; + /** @description A short, human-readable summary of the problem type. */ + title: string; + /** @description The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. */ + status: number; + /** @description A URI reference that identifies the specific occurrence of the problem. */ + instance: string; + /** @description A human-readable explanation specific to this occurrence of the problem. */ + detail: string; + }; + Pet: { + /** Format: int64 */ + id: number; + name: string; + none?: null; + tag?: null | string | number; + arr?: unknown[]; + either?: string | null; + }; + Pets: { + /** Format: int64 */ + id: number; + name: string; + none?: null; + tag?: null | string | number; + arr?: unknown[]; + either?: string | null; + }[]; + Model: { + /** @description type array */ + one?: number | string; + /** @description type 'null' */ + two?: null; + /** @description type array including 'null' */ + three?: string | null; + /** @description array with no items */ + four?: unknown[]; + /** @description singular example */ + five?: string; + /** @description exclusiveMinimum true */ + six?: unknown; + /** @description exclusiveMinimum false */ + seven?: unknown; + /** @description exclusiveMaximum true */ + eight?: unknown; + /** @description exclusiveMaximum false */ + nine?: unknown; + /** @description nullable string */ + ten?: string | null; + /** @description file/binary */ + eleven?: unknown; + }; + person: { + /** @description Person ID */ + id: number | string; + name?: string; + /** @enum {string|integer} */ + gender?: "male" | "female" | "unknown"; + /** @description location can be null, set using `nullable` property thats supported by OpenAPI `3.0.x` */ + location?: string | null; + /** @description Age of Person */ + age?: number; + /** @description One URL or Array or URLs or set to false */ + photoUrls?: string[] | boolean | string; + /** @description comma separated list of hobbies or an array of object */ + hobby?: string | { + hobbyRank?: number; + hobbyName?: string; + }[]; + empty?: unknown; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +interface operations { + getTest: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description 200 */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": [ + string + ]; + }; + }; + /** @description An error response */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + listPets: { + parameters: { + query?: { + /** @description How many items to return at one time (max 100) */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A paged array of pets */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** Format: int64 */ + id: number; + name: string; + none?: null; + tag?: null | string | number; + arr?: unknown[]; + either?: string | null; + }[]; + }; + }; + /** @description An error response */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + listPetsModel: { + parameters: { + query?: { + /** @description How many items to return at one time (max 100) */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A paged array of model */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description type array */ + one?: number | string; + /** @description type 'null' */ + two?: null; + /** @description type array including 'null' */ + three?: string | null; + /** @description array with no items */ + four?: unknown[]; + /** @description singular example */ + five?: string; + /** @description exclusiveMinimum true */ + six?: unknown; + /** @description exclusiveMinimum false */ + seven?: unknown; + /** @description exclusiveMaximum true */ + eight?: unknown; + /** @description exclusiveMaximum false */ + nine?: unknown; + /** @description nullable string */ + ten?: string | null; + /** @description file/binary */ + eleven?: unknown; + }; + }; + }; + /** @description An error response */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + listPetsPerson: { + parameters: { + query?: { + /** @description How many items to return at one time (max 100) */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A paged array of person */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Person ID */ + id: number | string; + name?: string; + /** @enum {string|integer} */ + gender?: "male" | "female" | "unknown"; + /** @description location can be null, set using `nullable` property thats supported by OpenAPI `3.0.x` */ + location?: string | null; + /** @description Age of Person */ + age?: number; + /** @description One URL or Array or URLs or set to false */ + photoUrls?: string[] | boolean | string; + /** @description comma separated list of hobbies or an array of object */ + hobby?: string | { + hobbyRank?: number; + hobbyName?: string; + }[]; + empty?: unknown; + }; + }; + }; + /** @description An error response */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + getEmptyOperationId: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: never; + }; + getUnevaluatedProperties: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + foo?: string; + } & { + bar?: number; + }; + }; + }; + /** @description An error response */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + editPet: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/octet-stream": unknown; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description An error response */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + addPet: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description Information about a new pet in the system */ + requestBody?: { + content: { + "multipart/form-data": { + orderId?: number; + fileName?: string; + }; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Invalid input */ + 405: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; +} diff --git a/packages/openapi-typescript/examples/redocly-oas3.1.yaml b/packages/openapi-typescript/examples/redocly-oas3.1.yaml new file mode 100644 index 000000000..f6323a406 --- /dev/null +++ b/packages/openapi-typescript/examples/redocly-oas3.1.yaml @@ -0,0 +1,351 @@ +openapi: 3.1.0 +info: + title: Webhook Example + summary: My lovely API + version: 1.0.0 + description: some description + license: + name: MIT + identifier: MIT + url: https://opensource.org/licenses/MIT +jsonSchemaDialect: https://spec.openapis.org/oas/3.1/dialect/base +tags: + - name: Gameplay + description: gameplay tag +servers: + - url: https://redocly-example.com/{var} + variables: + var: + enum: + - a + - b + default: b +security: [] +paths: + /pets/items: + get: + operationId: getTest + summary: Get Test! Foo! Etc! + responses: + 200: + description: '200' + content: + application/json: + schema: + type: array + prefixItems: + - type: 'string' + items: false + 400: + description: An error response + /pets: + get: + summary: List all pets + operationId: listPets + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of pets + content: + application/json: + schema: + $ref: '#/components/schemas/Pets' + '400': + description: An error response + /pets/model: + get: + summary: List all pets + operationId: listPetsModel + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of model + content: + application/json: + schema: + $ref: '#/components/schemas/Model' + '400': + description: An error response + /pets/person: + get: + summary: List all pets + operationId: listPetsPerson + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of person + content: + application/json: + schema: + $ref: '#/components/schemas/person' + '400': + description: An error response + /: + get: + operationId: getEmptyOperationId + summary: Some summary + /{var}: {} + /unevaluated-properties: + get: + operationId: getUnevaluatedProperties + summary: Checks if unevaluetedProperties work + responses: + 200: + description: 'OK' + content: + application/json: + schema: + allOf: + - type: object + properties: + foo: + type: string + - type: object + properties: + bar: + type: number + unevaluatedProperties: false + 400: + description: An error response + +webhooks: + newPet: + post: + tags: + - pet + summary: Add a new pet to the store + description: Add new pet to the store inventory. + operationId: addPet + requestBody: + description: Information about a new pet in the system + content: + multipart/form-data: + schema: + type: object + properties: + orderId: + type: integer + fileName: + type: string + contentEncoding: base64 + contentMediaType: image/png + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + '405': + description: Invalid input + put: + tags: + - pet + summary: Edit new pet + description: Edit pet. + operationId: editPet + requestBody: + content: + application/octet-stream: {} + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + '400': + description: An error response + +components: + securitySchemes: + mtls: + type: mutualTLS + pathItems: {} + schemas: + Problem: + id: 'https://tools.ietf.org/rfc/rfc7807.txt' + $schema: 'http://json-schema.org/draft-06/schema#' + description: 'schema for a rfc7807' + definitions: {} + type: 'object' + properties: + type: + description: A URI reference [RFC3986] that identifies the problem type. + type: string + format: uri + title: + description: A short, human-readable summary of the problem type. + type: string + status: + description: The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. + type: number + instance: + description: A URI reference that identifies the specific occurrence of the problem. + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + required: + - type + - title + - status + - instance + - detail + examples: + - type: https://developer.acme.com/codes/404 + title: Not Found + status: 404 + instance: https://status.api.acme.com/errorinstance/23d243c1-1c94-4696-8798-c71aa45c92ff + detail: The User requested was not found + Pet: + required: + - id + - name + properties: + id: + type: + - integer + exclusiveMaximum: 100 + exclusiveMinimum: 0 + format: int64 + name: + type: string + none: + type: 'null' + tag: + type: + - 'null' + - string + - integer + examples: + - 123 + arr: + type: array + $comment: Array without items keyword + either: + type: ['string', 'null'] + discriminator: + propertyName: type + x-extension: true + Pets: + type: array + items: + $ref: '#/components/schemas/Pet' + Model: + type: object + properties: + one: + description: type array + type: + - integer + - string + two: + description: type 'null' + type: 'null' + three: + description: type array including 'null' + type: + - string + - 'null' + four: + description: array with no items + type: array + five: + description: singular example + type: string + examples: + - exampleValue + six: + description: exclusiveMinimum true + exclusiveMinimum: 10 + seven: + description: exclusiveMinimum false + minimum: 10 + eight: + description: exclusiveMaximum true + exclusiveMaximum: 20 + nine: + description: exclusiveMaximum false + maximum: 20 + ten: + description: nullable string + type: + - string + - 'null' + eleven: + description: file/binary + person: + type: object + required: + - id + properties: + id: + description: Person ID + type: + - integer + - number + - string + minLength: 4 + minimum: 10 + name: + type: string + maxLength: 100 + gender: + type: + - string + - integer + enum: + - male + - female + - unknown + minimum: 4 + location: + description: location can be null, set using `nullable` property thats supported by OpenAPI `3.0.x` + type: + - string + - 'null' + age: + description: Age of Person + type: integer + minimum: 21 + exclusiveMaximum: 70 + multipleOf: 5 + photoUrls: + description: One URL or Array or URLs or set to false + type: + - array + - boolean + - string + maxItems: 20 + items: + type: string + format: url + hobby: + description: comma separated list of hobbies or an array of object + type: + - string + - array + items: + type: object + properties: + hobbyRank: + type: + - integer + - number + hobbyName: + type: string + empty: {} diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index 307d80293..c6223dcc3 100644 --- a/packages/openapi-typescript/package.json +++ b/packages/openapi-typescript/package.json @@ -1,7 +1,7 @@ { "name": "openapi-typescript", "description": "Convert OpenAPI 3.0 & 3.1 schemas to TypeScript", - "version": "6.7.0", + "version": "7.0.0", "author": { "name": "Drew Powers", "email": "drew@pow.rs" diff --git a/packages/openapi-typescript/src/index.ts b/packages/openapi-typescript/src/index.ts index 4e6f5d28b..cdb1a8070 100644 --- a/packages/openapi-typescript/src/index.ts +++ b/packages/openapi-typescript/src/index.ts @@ -28,13 +28,24 @@ export const COMMENT_HEADER = `/** `; +/** + * Convert an OpenAPI schema to TypesScript AST + * @param {string|URL|object|Readable} source OpenAPI schema source: + * - YAML: string + * - JSON: parsed object + * - URL: URL to a YAML or JSON file (local or remote) + * - Readable: Readable stream of YAML or JSON + */ export default async function openapiTS( source: string | URL | OpenAPI3 | Readable, options: OpenAPITSOptions = {} as Partial, ): Promise { const schema = await validateAndBundle(source, { redocly: options.redocly, - cwd: options.cwd ?? process.cwd(), + cwd: + options.cwd instanceof URL + ? options.cwd + : new URL(`file://${options.cwd ?? process.cwd()}/`), }); const ctx: GlobalContext = { diff --git a/packages/openapi-typescript/src/lib/redoc.ts b/packages/openapi-typescript/src/lib/redoc.ts index 12e047d36..a183b64ed 100644 --- a/packages/openapi-typescript/src/lib/redoc.ts +++ b/packages/openapi-typescript/src/lib/redoc.ts @@ -15,34 +15,70 @@ import { debug, error } from "./utils.js"; export interface ValidateAndBundleOptions { redocly?: RedoclyConfig; - cwd: string; + cwd?: URL; +} + +interface ParseSchemaOptions { + absoluteRef: string; + resolver: BaseResolver; } export async function parseSchema( schema: unknown, - cwd: string, - resolver: BaseResolver, + { absoluteRef, resolver }: ParseSchemaOptions, ): Promise { if (!schema) { throw new Error(`Can’t parse empty schema`); } if (typeof schema === "string") { - return makeDocumentFromString(schema, cwd); + // URL + if ( + schema.startsWith("http://") || + schema.startsWith("https://") || + schema.startsWith("file://") + ) { + const url = new URL(schema); + return parseSchema(url, { + absoluteRef: url.protocol === "file:" ? fileURLToPath(url) : url.href, + resolver, + }); + } + // JSON + if (schema[0] === "{") { + return { + source: new Source(absoluteRef, schema, "application/json"), + parsed: JSON.parse(schema), + }; + } + // YAML + return makeDocumentFromString(schema, absoluteRef); } if (schema instanceof URL) { - return resolver.parseDocument( - await resolver.loadExternalRef( - schema.protocol === "file:" ? fileURLToPath(schema) : schema.href, - ), - true, - ); + const result = await resolver.resolveDocument(null, absoluteRef, true); + if ("parsed" in result) { + return result; + } + throw new Error(result as any); // eslint-disable-line @typescript-eslint/no-explicit-any } if (schema instanceof Buffer) { - return makeDocumentFromString(schema.toString("utf8"), cwd); + const source = schema.toString("utf8"); + // JSON + if (source[0] === "{") { + return { + source: new Source(absoluteRef, source, "application/json"), + parsed: JSON.parse(source), + }; + } + // YAML + return makeDocumentFromString(source, absoluteRef); } if (typeof schema === "object" && !Array.isArray(schema)) { return { - source: new Source(cwd, JSON.stringify(schema), "application/json"), + source: new Source( + absoluteRef, + JSON.stringify(schema), + "application/json", + ), parsed: schema, }; } @@ -62,16 +98,24 @@ export async function validateAndBundle( debug("Loaded Redoc config", "redoc", performance.now() - redocConfigT); const redocParseT = performance.now(); const resolver = new BaseResolver(redocConfig.resolve); - const document = await parseSchema( - source, - options?.cwd ?? process.cwd(), - resolver, + let absoluteRef = new URL( + "openapi-ts.yaml", + options?.cwd ?? `file://${process.cwd()}/`, ); + if (source instanceof URL) { + absoluteRef = source; + } + const document = await parseSchema(source, { + absoluteRef: + absoluteRef.protocol === "file:" + ? fileURLToPath(absoluteRef) + : absoluteRef.href, + resolver, + }); debug("Parsed schema", "redoc", performance.now() - redocParseT); // 1. check for OpenAPI 3 or greater const openapiVersion = parseFloat(document.parsed.openapi); - if ( document.parsed.swagger || !document.parsed.openapi || diff --git a/packages/openapi-typescript/src/lib/utils.ts b/packages/openapi-typescript/src/lib/utils.ts index b6012969d..84f610819 100644 --- a/packages/openapi-typescript/src/lib/utils.ts +++ b/packages/openapi-typescript/src/lib/utils.ts @@ -13,8 +13,8 @@ if (!supportsColor.stdout || supportsColor.stdout.hasBasic === false) { } const DEBUG_GROUPS: Record = { - lint: c.yellowBright, redoc: c.cyanBright, + lint: c.yellowBright, bundle: c.magentaBright, ts: c.blueBright, }; @@ -69,26 +69,21 @@ export function createRef(parts: (number | string)[]): string { return pointer; } -/** Print debug message */ +/** Print debug message (cribbed from the `debug` package, but without all the bells & whistles */ export function debug(msg: string, group?: string, time?: number) { if ( process.env.DEBUG && (!group || process.env.DEBUG === "*" || - process.env.DEBUG.toLocaleLowerCase() === group.toLocaleLowerCase()) + process.env.DEBUG === "openapi-ts:*" || + process.env.DEBUG.toLocaleLowerCase() === + `openapi-ts:${group.toLocaleLowerCase()}`) ) { const groupColor = (group && DEBUG_GROUPS[group]) || c.whiteBright; - const groupName = groupColor(`oapts:${group ?? "info"}`); + const groupName = groupColor(`openapi-ts:${group ?? "info"}`); let timeFormatted = ""; if (typeof time === "number") { - if (time < 1000) { - timeFormatted = `${Math.round(100 * time) / 100}ms`; - } else if (time < 60000) { - timeFormatted = `${Math.round(time / 100) / 10}s`; - } else { - timeFormatted = `${Math.round(time / 6000) / 10}m`; - } - timeFormatted = c.green(` ${timeFormatted} `); + timeFormatted = c.green(` ${formatTime(time)} `); } // eslint-disable-next-line no-console console.debug(` ${c.bold(groupName)}${timeFormatted}${msg}`); @@ -100,6 +95,19 @@ export function error(msg: string) { console.error(c.red(` ✘ ${msg}`)); // eslint-disable-line no-console } +/** Format a performance log in a friendly format */ +export function formatTime(t: number) { + if (typeof t === "number") { + if (t < 1000) { + return `${Math.round(100 * t) / 100}ms`; + } else if (t < 60000) { + return `${Math.round(t / 100) / 10}s`; + } + return `${Math.round(t / 6000) / 10}m`; + } + return t; +} + /** Call Object.entries() and optionally sort */ export function getEntries( obj: ArrayLike | Record, diff --git a/packages/openapi-typescript/src/transform/components-object.ts b/packages/openapi-typescript/src/transform/components-object.ts index 8b183e27a..09739812a 100644 --- a/packages/openapi-typescript/src/transform/components-object.ts +++ b/packages/openapi-typescript/src/transform/components-object.ts @@ -5,7 +5,7 @@ import { tsModifiers, tsPropertyIndex, } from "../lib/ts.js"; -import { createRef, getEntries } from "../lib/utils.js"; +import { createRef, debug, getEntries } from "../lib/utils.js"; import { ComponentsObject, GlobalContext, @@ -46,6 +46,8 @@ export default function transformComponentsObject( const type: ts.TypeElement[] = []; for (const key of Object.keys(transformers) as ComponentTransforms[]) { + const componentT = performance.now(); + const items: ts.TypeElement[] = []; if (componentsObject[key]) { for (const [name, item] of getEntries(componentsObject[key], ctx)) { @@ -75,6 +77,12 @@ export default function transformComponentsObject( : NEVER, ), ); + + debug( + `Transformed #/components/${key}`, + "ts", + performance.now() - componentT, + ); } return ts.factory.createTypeLiteralNode(type); diff --git a/packages/openapi-typescript/src/transform/index.ts b/packages/openapi-typescript/src/transform/index.ts index f37056694..3acb43357 100644 --- a/packages/openapi-typescript/src/transform/index.ts +++ b/packages/openapi-typescript/src/transform/index.ts @@ -52,7 +52,7 @@ export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { /* members */ (subType as TypeLiteralNode).members, ), ); - debug(`Transformed ${root} object`, "ts", performance.now() - rootT); + debug(`${root} done`, "ts", performance.now() - rootT); } else { type.push( ts.factory.createTypeAliasDeclaration( @@ -65,7 +65,7 @@ export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { /* type */ tsRecord(STRING, NEVER), ), ); - debug(`Skipped: ${root} object`, "ts", 0); + debug(`${root} done (skipped)`, "ts", 0); } } diff --git a/packages/openapi-typescript/src/transform/paths-object.ts b/packages/openapi-typescript/src/transform/paths-object.ts index 13695b9a7..093cd7dfe 100644 --- a/packages/openapi-typescript/src/transform/paths-object.ts +++ b/packages/openapi-typescript/src/transform/paths-object.ts @@ -1,6 +1,6 @@ import ts from "typescript"; import { addJSDocComment, oapiRef, tsPropertyIndex } from "../lib/ts.js"; -import { createRef, getEntries } from "../lib/utils.js"; +import { createRef, debug, getEntries } from "../lib/utils.js"; import { GlobalContext, OperationObject, @@ -27,6 +27,8 @@ export default function transformPathsObject( continue; } + const pathT = performance.now(); + // handle $ref if ("$ref" in pathItemObject) { const property = ts.factory.createPropertySignature( @@ -102,6 +104,8 @@ export default function transformPathsObject( /* type */ pathItemType, ), ); + + debug(`Transformed path "${url}"`, "ts", performance.now() - pathT); } } diff --git a/packages/openapi-typescript/src/types.ts b/packages/openapi-typescript/src/types.ts index bb95ba702..65100e99f 100644 --- a/packages/openapi-typescript/src/types.ts +++ b/packages/openapi-typescript/src/types.ts @@ -1,4 +1,5 @@ import type { RawConfig as RedoclyConfig } from "@redocly/openapi-core"; +import { PathLike } from "node:fs"; import type ts from "typescript"; // Many types allow for true “any” for inheritance to work @@ -638,7 +639,7 @@ export interface OpenAPITSOptions { /** Allow schema objects with no specified properties to have additional properties if not expressly forbidden? (default: false) */ emptyObjectsUnknown?: boolean; /** Provide current working directory (cwd) which helps resolve relative remote schemas */ - cwd?: string; + cwd?: PathLike; /** Should schema objects with a default value not be considered optional? */ defaultNonNullable?: boolean; /** Manually transform certain Schema Objects with a custom TypeScript type */ diff --git a/packages/openapi-typescript/test/node-api.test.ts b/packages/openapi-typescript/test/node-api.test.ts index 31578a498..21aa993cc 100644 --- a/packages/openapi-typescript/test/node-api.test.ts +++ b/packages/openapi-typescript/test/node-api.test.ts @@ -1,6 +1,6 @@ import { fileURLToPath } from "node:url"; import ts from "typescript"; -import openapiTS, { astToString } from "../src/index.js"; +import openapiTS, { COMMENT_HEADER, astToString } from "../src/index.js"; import { OpenAPITSOptions } from "../src/types.js"; import { TestCase } from "./test-helpers.js"; @@ -9,7 +9,122 @@ const EXAMPLES_DIR = new URL("../examples/", import.meta.url); describe("Node.js API", () => { const tests: TestCase[] = [ [ - "exportType > false", + "input > string > YAML", + { + given: `openapi: "3.1" +info: + title: test + version: 1.0`, + want: `export type paths = Record; +export type webhooks = Record; +export interface components { + schemas: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record;`, + }, + // options: DEFAULT_OPTIONS, + ], + [ + "input > string > JSON", + { + given: JSON.stringify({ + openapi: "3.1", + info: { title: "test", version: "1.0" }, + }), + want: `export type paths = Record; +export type webhooks = Record; +export interface components { + schemas: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record;`, + }, + // options: DEFAULT_OPTIONS, + ], + [ + "input > string > URL", + { + given: + "https://raw.githubusercontent.com/Redocly/redocly-cli/main/__tests__/lint/oas3.1/openapi.yaml", + want: new URL("redocly-oas3.1.ts", EXAMPLES_DIR), + // options: DEFAULT_OPTIONS, + }, + ], + [ + "input > URL > remote", + { + given: new URL( + "https://raw.githubusercontent.com/Redocly/redocly-cli/main/__tests__/lint/oas3.1/openapi.yaml", + ), + want: new URL("redocly-oas3.1.ts", EXAMPLES_DIR), + // options: DEFAULT_OPTIONS, + }, + ], + [ + "input > URL > local", + { + given: new URL("./redocly-oas3.1.yaml", EXAMPLES_DIR), + want: new URL("redocly-oas3.1.ts", EXAMPLES_DIR), + // options: DEFAULT_OPTIONS, + }, + ], + [ + "input > object", + { + given: { + openapi: "3.1", + info: { title: "test", version: "1.0" }, + }, + want: `export type paths = Record; +export type webhooks = Record; +export interface components { + schemas: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record;`, + }, + // options: DEFAULT_OPTIONS, + ], + [ + "input > buffer", + { + given: Buffer.from(`openapi: "3.1" +info: + title: test + version: 1.0`), + want: `export type paths = Record; +export type webhooks = Record; +export interface components { + schemas: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record;`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "options > exportType > false", { given: { openapi: "3.1", @@ -49,7 +164,7 @@ export type operations = Record;`, }, ], [ - "exportType > true", + "options > exportType > true", { given: { openapi: "3.1", @@ -87,9 +202,8 @@ export type operations = Record;`, options: { exportType: true }, }, ], - [ - "pathParamsAsTypes > false", + "options > pathParamsAsTypes > false", { given: { openapi: "3.1", @@ -160,7 +274,7 @@ export type operations = Record;`, }, ], [ - "pathParamsAsTypes > true", + "options > pathParamsAsTypes > true", { given: { openapi: "3.1", @@ -231,7 +345,7 @@ export type operations = Record;`, }, ], [ - "transform", + "options > transform", { given: { openapi: "3.1", @@ -277,7 +391,7 @@ export type operations = Record;`, }, ], [ - "postTransform", + "options > postTransform", { given: { openapi: "3.1", @@ -320,7 +434,7 @@ export type operations = Record;`, }, ], [ - "enum", + "options > enum", { given: { openapi: "3.1", @@ -424,7 +538,7 @@ export type operations = Record;`, given: new URL("./github-api.yaml", EXAMPLES_DIR), want: new URL("./github-api.ts", EXAMPLES_DIR), // options: DEFAULT_OPTIONS, - ci: { skipIf: true, /* TODO */ timeout: 30000 }, + ci: { skipIf: true, /* TODO */ timeout: 3000 }, }, ], [ @@ -472,18 +586,31 @@ export type operations = Record;`, ], ]; - describe.each(tests)("%s", (_, { given, want, options, ci }) => { - test.skipIf(ci?.skipIf)( - "test", + for (const [testName, testCase] of tests) { + test.skipIf(testCase.ci?.skipIf)( + testName, async () => { - const result = astToString(await openapiTS(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); + const result = astToString( + await openapiTS(testCase.given, testCase.options), + ); + if (testCase.want instanceof URL) { + expect(`${COMMENT_HEADER}${result}`).toMatchFileSnapshot( + fileURLToPath(testCase.want), + ); } else { - expect(result).toBe(want + "\n"); + expect(result).toBe(testCase.want + "\n"); } }, - ci?.timeout, + testCase.ci?.timeout || 5000, + ); + } + + test("GitHub API", async () => { + const result = astToString( + await openapiTS(new URL("./github-api.yaml", EXAMPLES_DIR)), + ); + expect(result).toMatchFileSnapshot( + fileURLToPath(new URL("./github-api.ts", EXAMPLES_DIR)), ); }); }); From 51e5c9c175f41c1c25f6f13be6fd698d4101e693 Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Mon, 2 Oct 2023 18:16:27 -0600 Subject: [PATCH 04/10] Improve comments --- .../examples/octokit-ghes-3.6-diff-to-api.ts | 48581 ++++++++++++---- packages/openapi-typescript/package.json | 2 +- packages/openapi-typescript/src/lib/ts.ts | 30 +- .../openapi-typescript/test/lib/ts.test.ts | 45 + .../openapi-typescript/test/node-api.test.ts | 12 +- 5 files changed, 38845 insertions(+), 9825 deletions(-) diff --git a/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts b/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts index 2a9ccd3a2..8de182e6c 100644 --- a/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts +++ b/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts @@ -3,10042 +3,39005 @@ * Do not make direct changes to the file. */ - export interface paths { - "/admin/hooks": { - /** List global webhooks */ - get: operations["enterprise-admin/list-global-webhooks"]; - /** Create a global webhook */ - post: operations["enterprise-admin/create-global-webhook"]; - }; - "/admin/hooks/{hook_id}": { - /** Get a global webhook */ - get: operations["enterprise-admin/get-global-webhook"]; - /** Delete a global webhook */ - delete: operations["enterprise-admin/delete-global-webhook"]; - /** - * Update a global webhook - * @description Parameters that are not provided will be overwritten with the default value or removed if no default exists. - */ - patch: operations["enterprise-admin/update-global-webhook"]; - }; - "/admin/hooks/{hook_id}/pings": { - /** - * Ping a global webhook - * @description This will trigger a [ping event](https://docs.github.com/enterprise-server@3.6/webhooks/#ping-event) to be sent to the webhook. - */ - post: operations["enterprise-admin/ping-global-webhook"]; - }; - "/admin/keys": { - /** List public keys */ - get: operations["enterprise-admin/list-public-keys"]; - }; - "/admin/keys/{key_ids}": { - /** Delete a public key */ - delete: operations["enterprise-admin/delete-public-key"]; - }; - "/admin/ldap/teams/{team_id}/mapping": { - /** - * Update LDAP mapping for a team - * @description Updates the [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. [LDAP synchronization](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap#enabling-ldap-sync) must be enabled to map LDAP entries to a team. Use the [Create a team](https://docs.github.com/enterprise-server@3.6/rest/reference/teams/#create-a-team) endpoint to create a team with LDAP mapping. - */ - patch: operations["enterprise-admin/update-ldap-mapping-for-team"]; - }; - "/admin/ldap/teams/{team_id}/sync": { - /** - * Sync LDAP mapping for a team - * @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. - */ - post: operations["enterprise-admin/sync-ldap-mapping-for-team"]; - }; - "/admin/ldap/users/{username}/mapping": { - /** Update LDAP mapping for a user */ - patch: operations["enterprise-admin/update-ldap-mapping-for-user"]; - }; - "/admin/ldap/users/{username}/sync": { - /** - * Sync LDAP mapping for a user - * @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. - */ - post: operations["enterprise-admin/sync-ldap-mapping-for-user"]; - }; - "/admin/organizations": { - /** Create an organization */ - post: operations["enterprise-admin/create-org"]; - }; - "/admin/organizations/{org}": { - /** Update an organization name */ - patch: operations["enterprise-admin/update-org-name"]; - }; - "/admin/pre-receive-environments": { - /** List pre-receive environments */ - get: operations["enterprise-admin/list-pre-receive-environments"]; - /** Create a pre-receive environment */ - post: operations["enterprise-admin/create-pre-receive-environment"]; - }; - "/admin/pre-receive-environments/{pre_receive_environment_id}": { - /** Get a pre-receive environment */ - get: operations["enterprise-admin/get-pre-receive-environment"]; - /** - * Delete a pre-receive environment - * @description If you attempt to delete an environment that cannot be deleted, you will receive a `422 Unprocessable Entity` response. - * - * The possible error messages are: - * - * * _Cannot modify or delete the default environment_ - * * _Cannot delete environment that has hooks_ - * * _Cannot delete environment when download is in progress_ - */ - delete: operations["enterprise-admin/delete-pre-receive-environment"]; - /** - * Update a pre-receive environment - * @description You cannot modify the default environment. If you attempt to modify the default environment, you will receive a `422 Unprocessable Entity` response. - */ - patch: operations["enterprise-admin/update-pre-receive-environment"]; - }; - "/admin/pre-receive-environments/{pre_receive_environment_id}/downloads": { - /** - * Start a pre-receive environment download - * @description Triggers a new download of the environment tarball from the environment's `image_url`. When the download is finished, the newly downloaded tarball will overwrite the existing environment. - * - * If a download cannot be triggered, you will receive a `422 Unprocessable Entity` response. - * - * The possible error messages are: - * - * * _Cannot modify or delete the default environment_ - * * _Can not start a new download when a download is in progress_ - */ - post: operations["enterprise-admin/start-pre-receive-environment-download"]; - }; - "/admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest": { - /** - * Get the download status for a pre-receive environment - * @description In addition to seeing the download status at the "[Get a pre-receive environment](#get-a-pre-receive-environment)" endpoint, there is also this separate endpoint for just the download status. - */ - get: operations["enterprise-admin/get-download-status-for-pre-receive-environment"]; - }; - "/admin/pre-receive-hooks": { - /** List pre-receive hooks */ - get: operations["enterprise-admin/list-pre-receive-hooks"]; - /** Create a pre-receive hook */ - post: operations["enterprise-admin/create-pre-receive-hook"]; - }; - "/admin/pre-receive-hooks/{pre_receive_hook_id}": { - /** Get a pre-receive hook */ - get: operations["enterprise-admin/get-pre-receive-hook"]; - /** Delete a pre-receive hook */ - delete: operations["enterprise-admin/delete-pre-receive-hook"]; - /** Update a pre-receive hook */ - patch: operations["enterprise-admin/update-pre-receive-hook"]; - }; - "/admin/tokens": { - /** - * List personal access tokens - * @description Lists personal access tokens for all users, including admin users. - */ - get: operations["enterprise-admin/list-personal-access-tokens"]; - }; - "/admin/tokens/{token_id}": { - /** - * Delete a personal access token - * @description Deletes a personal access token. Returns a `403 - Forbidden` status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error. - */ - delete: operations["enterprise-admin/delete-personal-access-token"]; - }; - "/admin/users": { - /** - * Create a user - * @description If an external authentication mechanism is used, the login name should match the login name in the external system. If you are using LDAP authentication, you should also [update the LDAP mapping](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#update-ldap-mapping-for-a-user) for the user. - * - * The login name will be normalized to only contain alphanumeric characters or single hyphens. For example, if you send `"octo_cat"` as the login, a user named `"octo-cat"` will be created. - * - * If the login name or email address is already associated with an account, the server will return a `422` response. - */ - post: operations["enterprise-admin/create-user"]; - }; - "/admin/users/{username}": { - /** - * Delete a user - * @description Deleting a user will delete all their repositories, gists, applications, and personal settings. [Suspending a user](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#suspend-a-user) is often a better option. - * - * You can delete any user account except your own. - */ - delete: operations["enterprise-admin/delete-user"]; - /** Update the username for a user */ - patch: operations["enterprise-admin/update-username-for-user"]; - }; - "/admin/users/{username}/authorizations": { - /** Create an impersonation OAuth token */ - post: operations["enterprise-admin/create-impersonation-o-auth-token"]; - /** Delete an impersonation OAuth token */ - delete: operations["enterprise-admin/delete-impersonation-o-auth-token"]; - }; - "/app/installations": { - /** - * List installations for the authenticated app - * @description You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - * - * The permissions the installation has are included under the `permissions` key. - */ - get: operations["apps/list-installations"]; - }; - "/app/installations/{installation_id}": { - /** - * Get an installation for the authenticated app - * @description Enables an authenticated GitHub App to find an installation's information using the installation id. - * - * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-installation"]; - }; - "/app/installations/{installation_id}/access_tokens": { - /** - * Create an installation access token for an app - * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. - * - * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - post: operations["apps/create-installation-access-token"]; - }; - "/applications/grants": { - /** - * List your grants - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. - */ - get: operations["oauth-authorizations/list-grants"]; - }; - "/applications/grants/{grant_id}": { - /** - * Get a single grant - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - */ - get: operations["oauth-authorizations/get-grant"]; - /** - * Delete a grant - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). - */ - delete: operations["oauth-authorizations/delete-grant"]; - }; - "/applications/{client_id}/token": { - /** - * Check a token - * @description OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. - */ - post: operations["apps/check-token"]; - /** - * Reset a token - * @description OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - patch: operations["apps/reset-token"]; - }; - "/applications/{client_id}/token/scoped": { - /** - * Create a scoped access token - * @description Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - post: operations["apps/scope-token"]; - }; - "/authorizations": { - /** - * List your authorizations - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - */ - get: operations["oauth-authorizations/list-authorizations"]; - /** - * Create a new authorization - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). - * - * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - * - * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. - * - * You can also create tokens on GitHub Enterprise Server from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://docs.github.com/articles/creating-an-access-token-for-command-line-use). - * - * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). - */ - post: operations["oauth-authorizations/create-authorization"]; - }; - "/authorizations/clients/{client_id}": { - /** - * Get-or-create an authorization for a specific app - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). - * - * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. - * - * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - * - * **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - */ - put: operations["oauth-authorizations/get-or-create-authorization-for-app"]; - }; - "/authorizations/clients/{client_id}/{fingerprint}": { - /** - * Get-or-create an authorization for a specific app and fingerprint - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). - * - * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. - * - * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - */ - put: operations["oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint"]; - }; - "/authorizations/{authorization_id}": { - /** - * Get a single authorization - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - */ - get: operations["oauth-authorizations/get-authorization"]; - /** - * Delete an authorization - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - */ - delete: operations["oauth-authorizations/delete-authorization"]; - /** - * Update an existing authorization - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - * - * You can only send one of these scope keys at a time. - */ - patch: operations["oauth-authorizations/update-authorization"]; - }; - "/enterprise/announcement": { - /** - * Get the global announcement banner - * @description Gets the current message and expiration date of the global announcement banner in your enterprise. - */ - get: operations["enterprise-admin/get-announcement"]; - /** - * Remove the global announcement banner - * @description Removes the global announcement banner in your enterprise. - */ - delete: operations["enterprise-admin/remove-announcement"]; - /** - * Set the global announcement banner - * @description Sets the message and expiration time for the global announcement banner in your enterprise. - */ - patch: operations["enterprise-admin/set-announcement"]; - }; - "/enterprise/settings/license": { - /** Get license information */ - get: operations["enterprise-admin/get-license-information"]; - }; - "/enterprise/stats/all": { - /** Get all statistics */ - get: operations["enterprise-admin/get-all-stats"]; - }; - "/enterprise/stats/comments": { - /** Get comment statistics */ - get: operations["enterprise-admin/get-comment-stats"]; - }; - "/enterprise/stats/gists": { - /** Get gist statistics */ - get: operations["enterprise-admin/get-gist-stats"]; - }; - "/enterprise/stats/hooks": { - /** Get hooks statistics */ - get: operations["enterprise-admin/get-hooks-stats"]; - }; - "/enterprise/stats/issues": { - /** Get issue statistics */ - get: operations["enterprise-admin/get-issue-stats"]; - }; - "/enterprise/stats/milestones": { - /** Get milestone statistics */ - get: operations["enterprise-admin/get-milestone-stats"]; - }; - "/enterprise/stats/orgs": { - /** Get organization statistics */ - get: operations["enterprise-admin/get-org-stats"]; - }; - "/enterprise/stats/pages": { - /** Get pages statistics */ - get: operations["enterprise-admin/get-pages-stats"]; - }; - "/enterprise/stats/pulls": { - /** Get pull request statistics */ - get: operations["enterprise-admin/get-pull-request-stats"]; - }; - "/enterprise/stats/repos": { - /** Get repository statistics */ - get: operations["enterprise-admin/get-repo-stats"]; - }; - "/enterprise/stats/users": { - /** Get users statistics */ - get: operations["enterprise-admin/get-user-stats"]; - }; - "/enterprises/{enterprise}/actions/cache/usage-policy": { - /** - * Get GitHub Actions cache usage policy for an enterprise - * @description Gets the GitHub Actions cache usage policy for an enterprise. - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage-policy-for-enterprise"]; - /** - * Set GitHub Actions cache usage policy for an enterprise - * @description Sets the GitHub Actions cache usage policy for an enterprise. - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. - */ - patch: operations["actions/set-actions-cache-usage-policy-for-enterprise"]; - }; - "/enterprises/{enterprise}/actions/permissions/selected-actions": { - /** - * Get allowed actions for an enterprise - * @description Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - get: operations["enterprise-admin/get-allowed-actions-enterprise"]; - /** - * Set allowed actions for an enterprise - * @description Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - put: operations["enterprise-admin/set-allowed-actions-enterprise"]; - }; - "/enterprises/{enterprise}/audit-log": { - /** - * Get the audit log for an enterprise - * @description Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. - */ - get: operations["enterprise-admin/get-audit-log"]; - }; - "/enterprises/{enterprise}/secret-scanning/alerts": { - /** - * List secret scanning alerts for an enterprise - * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). - */ - get: operations["secret-scanning/list-alerts-for-enterprise"]; - }; - "/meta": { - /** Get GitHub Enterprise Server meta information */ - get: operations["meta/get"]; - }; - "/organizations/{organization_id}/custom_roles": { - /** - * List custom repository roles in an organization - * @description List the custom repository roles available in this organization. In order to see custom - * repository roles in an organization, the authenticated user must be an organization owner. - * - * To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. - * GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. - * - * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". - */ - get: operations["orgs/list-custom-roles"]; - }; - "/orgs/{org}": { - /** - * Get an organization - * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub Enterprise Server plan. See "[Authenticating with GitHub Apps](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub Enterprise Server plan information' below." - */ - get: operations["orgs/get"]; - /** - * Update an organization - * @description **Parameter Deprecation Notice:** GitHub Enterprise Server will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - * - * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. - */ - patch: operations["orgs/update"]; - }; - "/orgs/{org}/actions/permissions/selected-actions": { - /** - * Get allowed actions for an organization - * @description Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/get-allowed-actions-organization"]; - /** - * Set allowed actions for an organization - * @description Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. - * - * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-allowed-actions-organization"]; - }; - "/orgs/{org}/audit-log": { - /** - * Get the audit log for an organization - * @description Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." - * - * To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. - * - * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.6/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." - * - * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#pagination)." - */ - get: operations["orgs/get-audit-log"]; - }; - "/orgs/{org}/external-group/{group_id}": { - /** - * Get an external group - * @description Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - get: operations["teams/external-idp-group-info-for-org"]; - }; - "/orgs/{org}/external-groups": { - /** - * List external groups in an organization - * @description Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub Enterprise Server generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - get: operations["teams/list-external-idp-groups-for-org"]; - }; - "/orgs/{org}/installation": { - /** - * Get an organization installation for the authenticated app - * @description Enables an authenticated GitHub App to find the organization's installation information. - * - * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-org-installation"]; - }; - "/orgs/{org}/installations": { - /** - * List app installations for an organization - * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. - */ - get: operations["orgs/list-app-installations"]; - }; - "/orgs/{org}/pre-receive-hooks": { - /** - * List pre-receive hooks for an organization - * @description List all pre-receive hooks that are enabled or testing for this organization as well as any disabled hooks that can be configured at the organization level. Globally disabled pre-receive hooks that do not allow downstream configuration are not listed. - */ - get: operations["enterprise-admin/list-pre-receive-hooks-for-org"]; - }; - "/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}": { - /** Get a pre-receive hook for an organization */ - get: operations["enterprise-admin/get-pre-receive-hook-for-org"]; - /** - * Remove pre-receive hook enforcement for an organization - * @description Removes any overrides for this hook at the org level for this org. - */ - delete: operations["enterprise-admin/remove-pre-receive-hook-enforcement-for-org"]; - /** - * Update pre-receive hook enforcement for an organization - * @description For pre-receive hooks which are allowed to be configured at the org level, you can set `enforcement` and `allow_downstream_configuration` - */ - patch: operations["enterprise-admin/update-pre-receive-hook-enforcement-for-org"]; - }; - "/orgs/{org}/secret-scanning/alerts": { - /** - * List secret scanning alerts for an organization - * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/list-alerts-for-org"]; - }; - "/orgs/{org}/teams": { - /** - * Create a team - * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." - * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". - */ - post: operations["teams/create"]; - }; - "/orgs/{org}/teams/{team_slug}/external-groups": { - /** - * List a connection between an external group and a team - * @description Lists a connection between a team and an external group. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - get: operations["teams/list-linked-external-idp-groups-to-team-for-org"]; - /** - * Remove the connection between an external group and a team - * @description Deletes a connection between a team and an external group. - * - * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["teams/unlink-external-idp-group-from-team-for-org"]; - /** - * Update the connection between an external group and a team - * @description Creates a connection between a team and an external group. Only one external group can be linked to a team. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - patch: operations["teams/link-external-idp-group-to-team-for-org"]; - }; - "/rate_limit": { - /** - * Get rate limit status for the authenticated user - * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. - * - * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. - */ - get: operations["rate-limit/get"]; - }; - "/repos/{owner}/{repo}/actions/cache/usage-policy": { - /** - * Get GitHub Actions cache usage policy for a repository - * @description Gets GitHub Actions cache usage policy for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage-policy"]; - /** - * Set GitHub Actions cache usage policy for a repository - * @description Sets GitHub Actions cache usage policy for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - patch: operations["actions/set-actions-cache-usage-policy"]; - }; - "/repos/{owner}/{repo}/actions/permissions/selected-actions": { - /** - * Get allowed actions for a repository - * @description Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - get: operations["actions/get-allowed-actions-repository"]; - /** - * Set allowed actions for a repository - * @description Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. - * - * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - put: operations["actions/set-allowed-actions-repository"]; - }; - "/repos/{owner}/{repo}/actions/runs": { - /** - * List workflow runs for a repository - * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-workflow-runs-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}": { - /** - * Get a workflow run - * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { - /** - * Get a workflow run attempt - * @description Gets a specific workflow run attempt. Anyone with read access to the repository - * can use this endpoint. If the repository is private you must use an access token - * with the `repo` scope. GitHub Apps must have the `actions:read` permission to - * use this endpoint. - */ - get: operations["actions/get-workflow-run-attempt"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { - /** - * List workflow runs for a workflow - * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - */ - get: operations["actions/list-workflow-runs"]; - }; - "/repos/{owner}/{repo}/autolinks": { - /** - * List all autolinks of a repository - * @description This returns a list of autolinks configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - get: operations["repos/list-autolinks"]; - /** - * Create an autolink reference for a repository - * @description Users with admin access to the repository can create an autolink. - */ - post: operations["repos/create-autolink"]; - }; - "/repos/{owner}/{repo}/autolinks/{autolink_id}": { - /** - * Get an autolink reference of a repository - * @description This returns a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - get: operations["repos/get-autolink"]; - }; - "/repos/{owner}/{repo}/code-scanning/analyses": { - /** - * List code scanning analyses for a repository - * @description Lists the details of all code scanning analyses for a repository, - * starting with the most recent. - * The response is paginated and you can use the `page` and `per_page` parameters - * to list the analyses you're interested in. - * By default 30 analyses are listed per page. - * - * The `rules_count` field in the response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * **Deprecation notice**: - * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. - */ - get: operations["code-scanning/list-recent-analyses"]; - }; - "/repos/{owner}/{repo}/collaborators": { - /** - * List repository collaborators - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - get: operations["repos/list-collaborators"]; - }; - "/repos/{owner}/{repo}/collaborators/{username}/permission": { - /** - * Get repository permissions for a user - * @description Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. - */ - get: operations["repos/get-collaborator-permission-level"]; - }; - "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { - /** - * Get a diff of the dependencies between commits - * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. - */ - get: operations["dependency-graph/diff-range"]; - }; - "/repos/{owner}/{repo}/forks": { - /** - * Create a fork - * @description Create a fork for the authenticated user. - * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Enterprise Server Support](https://support.github.com/contact?tags=dotcom-rest-api). - */ - post: operations["repos/create-fork"]; - }; - "/repos/{owner}/{repo}/installation": { - /** - * Get a repository installation for the authenticated app - * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. - * - * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-repo-installation"]; - }; - "/repos/{owner}/{repo}/keys": { - /** List deploy keys */ - get: operations["repos/list-deploy-keys"]; - /** - * Create a deploy key - * @description You can create a read-only deploy key. - */ - post: operations["repos/create-deploy-key"]; - }; - "/repos/{owner}/{repo}/keys/{key_id}": { - /** Get a deploy key */ - get: operations["repos/get-deploy-key"]; - }; - "/repos/{owner}/{repo}/pre-receive-hooks": { - /** - * List pre-receive hooks for a repository - * @description List all pre-receive hooks that are enabled or testing for this repository as well as any disabled hooks that are allowed to be enabled at the repository level. Pre-receive hooks that are disabled at a higher level and are not configurable will not be listed. - */ - get: operations["enterprise-admin/list-pre-receive-hooks-for-repo"]; - }; - "/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}": { - /** Get a pre-receive hook for a repository */ - get: operations["enterprise-admin/get-pre-receive-hook-for-repo"]; - /** - * Remove pre-receive hook enforcement for a repository - * @description Deletes any overridden enforcement on this repository for the specified hook. - * - * Responds with effective values inherited from owner and/or global level. - */ - delete: operations["enterprise-admin/remove-pre-receive-hook-enforcement-for-repo"]; - /** - * Update pre-receive hook enforcement for a repository - * @description For pre-receive hooks which are allowed to be configured at the repo level, you can set `enforcement` - */ - patch: operations["enterprise-admin/update-pre-receive-hook-enforcement-for-repo"]; - }; - "/repos/{owner}/{repo}/releases": { - /** - * List releases - * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/enterprise-server@3.6/rest/reference/repos#list-repository-tags). - * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. - */ - get: operations["repos/list-releases"]; - /** - * Create a release - * @description Users with push access to the repository can create a release. - * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["repos/create-release"]; - }; - "/repos/{owner}/{repo}/releases/latest": { - /** - * Get the latest release - * @description View the latest published full release for the repository. - * - * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. - */ - get: operations["repos/get-latest-release"]; - }; - "/repos/{owner}/{repo}/releases/tags/{tag}": { - /** - * Get a release by tag name - * @description Get a published release with the specified tag. - */ - get: operations["repos/get-release-by-tag"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}": { - /** - * Get a release - * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#hypermedia). - */ - get: operations["repos/get-release"]; - /** - * Update a release - * @description Users with push access to the repository can edit a release. - */ - patch: operations["repos/update-release"]; - }; - "/repos/{owner}/{repo}/replicas/caches": { - /** - * List repository cache replication status - * @description Lists the status of each repository cache replica. - */ - get: operations["repos/list-cache-info"]; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts": { - /** - * List secret scanning alerts for a repository - * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/list-alerts-for-repo"]; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { - /** - * Get a secret scanning alert - * @description Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/get-alert"]; - /** - * Update a secret scanning alert - * @description Updates the status of a secret scanning alert in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. - */ - patch: operations["secret-scanning/update-alert"]; - }; - "/repositories": { - /** - * List public repositories - * @description Lists all public repositories in the order that they were created. - * - * Note: - * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. - */ - get: operations["repos/list-public"]; - }; - "/scim/v2/enterprises/{enterprise}/Groups": { - /** - * List provisioned SCIM groups for an enterprise - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - */ - get: operations["enterprise-admin/list-provisioned-groups-enterprise"]; - /** - * Provision a SCIM enterprise group and invite users - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. - */ - post: operations["enterprise-admin/provision-and-invite-enterprise-group"]; - }; - "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": { - /** - * Get SCIM provisioning information for an enterprise group - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - */ - get: operations["enterprise-admin/get-provisioning-information-for-enterprise-group"]; - /** - * Set SCIM information for a provisioned enterprise group - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. - */ - put: operations["enterprise-admin/set-information-for-provisioned-enterprise-group"]; - /** - * Delete a SCIM group from an enterprise - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - */ - delete: operations["enterprise-admin/delete-scim-group-from-enterprise"]; - /** - * Update an attribute for a SCIM enterprise group - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - */ - patch: operations["enterprise-admin/update-attribute-for-enterprise-group"]; - }; - "/scim/v2/enterprises/{enterprise}/Users": { - /** - * List SCIM provisioned identities for an enterprise - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. - * - * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub Enterprise Server. This can happen in certain cases where an external identity associated with an organization will not match an organization member: - * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. - * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). - * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. - * - * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub Enterprise Server account after completing SSO: - * - * 1. The user is granted access by the IdP and is not a member of the GitHub Enterprise Server enterprise. - * - * 1. The user attempts to access the GitHub Enterprise Server enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub Enterprise Server account. - * - * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub Enterprise Server account: - * - If the user signs in, their GitHub Enterprise Server account is linked to this entry. - * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub Enterprise Server enterprise, and the external identity `null` entry remains in place. - */ - get: operations["enterprise-admin/list-provisioned-identities-enterprise"]; - /** - * Provision and invite a SCIM enterprise user - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Provision enterprise membership for a user, and send organization invitation emails to the email address. - * - * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. - */ - post: operations["enterprise-admin/provision-and-invite-enterprise-user"]; - }; - "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": { - /** - * Get SCIM provisioning information for an enterprise user - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - */ - get: operations["enterprise-admin/get-provisioning-information-for-enterprise-user"]; - /** - * Set SCIM information for a provisioned enterprise user - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. - * - * You must at least provide the required values for the user: `userName`, `name`, and `emails`. - * - * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. - */ - put: operations["enterprise-admin/set-information-for-provisioned-enterprise-user"]; - /** - * Delete a SCIM user from an enterprise - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - */ - delete: operations["enterprise-admin/delete-user-from-enterprise"]; - /** - * Update an attribute for a SCIM enterprise user - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - * - * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. - * - * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. - * - * ``` - * { - * "Operations":[{ - * "op":"replace", - * "value":{ - * "active":false - * } - * }] - * } - * ``` - */ - patch: operations["enterprise-admin/update-attribute-for-enterprise-user"]; - }; - "/setup/api/configcheck": { - /** - * Get the configuration status - * @description This endpoint allows you to check the status of the most recent configuration process: - * - * Note that you may need to wait several seconds after you start a process before you can check its status. - * - * The different statuses are: - * - * | Status | Description | - * | ------------- | --------------------------------- | - * | `PENDING` | The job has not started yet | - * | `CONFIGURING` | The job is running | - * | `DONE` | The job has finished correctly | - * | `FAILED` | The job has finished unexpectedly | - */ - get: operations["enterprise-admin/get-configuration-status"]; - }; - "/setup/api/configure": { - /** - * Start a configuration process - * @description This endpoint allows you to start a configuration process at any time for your updated settings to take effect: - */ - post: operations["enterprise-admin/start-configuration-process"]; - }; - "/setup/api/maintenance": { - /** - * Get the maintenance status - * @description Check your installation's maintenance status: - */ - get: operations["enterprise-admin/get-maintenance-status"]; - /** - * Enable or disable maintenance mode - * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - */ - post: operations["enterprise-admin/enable-or-disable-maintenance-mode"]; - }; - "/setup/api/settings": { - /** - * Get settings - * @description Gets the settings for your instance. To change settings, see the [Set settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#set-settings). - * - * **Note:** You cannot retrieve the management console password with the Enterprise administration API. - */ - get: operations["enterprise-admin/get-settings"]; - /** - * Set settings - * @description Applies settings on your instance. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#get-settings). - * - * **Notes:** - * - * - The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - * - You cannot set the management console password with the Enterprise administration API. Use the `ghe-set-password` utility to change the management console password. For more information, see "[Command-line utilities](https://docs.github.com/enterprise-server@3.6/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-set-password)." - */ - put: operations["enterprise-admin/set-settings"]; - }; - "/setup/api/settings/authorized-keys": { - /** Get all authorized SSH keys */ - get: operations["enterprise-admin/get-all-authorized-ssh-keys"]; - /** - * Add an authorized SSH key - * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - */ - post: operations["enterprise-admin/add-authorized-ssh-key"]; - /** - * Remove an authorized SSH key - * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - */ - delete: operations["enterprise-admin/remove-authorized-ssh-key"]; - }; - "/setup/api/start": { - /** - * Create a GitHub license - * @description When you boot a GitHub instance for the first time, you can use the following endpoint to upload a license. - * - * Note that you need to `POST` to [`/setup/api/configure`](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#start-a-configuration-process) to start the actual configuration process. - * - * When using this endpoint, your GitHub instance must have a password set. This can be accomplished two ways: - * - * 1. If you're working directly with the API before accessing the web interface, you must pass in the password parameter to set your password. - * 2. If you set up your instance via the web interface before accessing the API, your calls to this endpoint do not need the password parameter. - * - * **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - */ - post: operations["enterprise-admin/create-enterprise-server-license"]; - }; - "/setup/api/upgrade": { - /** - * Upgrade a license - * @description This API upgrades your license and also triggers the configuration process. - * - * **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - */ - post: operations["enterprise-admin/upgrade-license"]; - }; - "/user/installations": { - /** - * List app installations accessible to the user access token - * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * You must use a [user-to-server OAuth access token](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You can find the permissions for the installation under the `permissions` key. - */ - get: operations["apps/list-installations-for-authenticated-user"]; - }; - "/users/{username}/installation": { - /** - * Get a user installation for the authenticated app - * @description Enables an authenticated GitHub App to find the user’s installation information. - * - * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-user-installation"]; - }; - "/users/{username}/site_admin": { - /** - * Promote a user to be a site administrator - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["enterprise-admin/promote-user-to-be-site-administrator"]; - /** - * Demote a site administrator - * @description You can demote any user account except your own. - */ - delete: operations["enterprise-admin/demote-site-administrator"]; - }; - "/users/{username}/suspended": { - /** - * Suspend a user - * @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), Active Directory LDAP-authenticated users cannot be suspended through this API. If you attempt to suspend an Active Directory LDAP-authenticated user through this API, it will return a `403` response. - * - * You can suspend any user account except your own. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["enterprise-admin/suspend-user"]; - /** - * Unsuspend a user - * @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), this API is disabled and will return a `403` response. Active Directory LDAP-authenticated users cannot be unsuspended using the API. - */ - delete: operations["enterprise-admin/unsuspend-user"]; - }; + "/admin/hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List global webhooks */ + get: operations["enterprise-admin/list-global-webhooks"]; + put: never; + /** Create a global webhook */ + post: operations["enterprise-admin/create-global-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/hooks/{hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a global webhook */ + get: operations["enterprise-admin/get-global-webhook"]; + put: never; + post: never; + /** Delete a global webhook */ + delete: operations["enterprise-admin/delete-global-webhook"]; + options: never; + head: never; + /** Update a global webhook + @description Parameters that are not provided will be overwritten with the default value or removed if no default exists. */ + patch: operations["enterprise-admin/update-global-webhook"]; + trace: never; + }; + "/admin/hooks/{hook_id}/pings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Ping a global webhook + @description This will trigger a [ping event](https://docs.github.com/enterprise-server@3.6/webhooks/#ping-event) to be sent to the webhook. */ + post: operations["enterprise-admin/ping-global-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List public keys */ + get: operations["enterprise-admin/list-public-keys"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/keys/{key_ids}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** Delete a public key */ + delete: operations["enterprise-admin/delete-public-key"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/ldap/teams/{team_id}/mapping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** Update LDAP mapping for a team + @description Updates the [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. [LDAP synchronization](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap#enabling-ldap-sync) must be enabled to map LDAP entries to a team. Use the [Create a team](https://docs.github.com/enterprise-server@3.6/rest/reference/teams/#create-a-team) endpoint to create a team with LDAP mapping. */ + patch: operations["enterprise-admin/update-ldap-mapping-for-team"]; + trace: never; + }; + "/admin/ldap/teams/{team_id}/sync": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Sync LDAP mapping for a team + @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. */ + post: operations["enterprise-admin/sync-ldap-mapping-for-team"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/ldap/users/{username}/mapping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** Update LDAP mapping for a user */ + patch: operations["enterprise-admin/update-ldap-mapping-for-user"]; + trace: never; + }; + "/admin/ldap/users/{username}/sync": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Sync LDAP mapping for a user + @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. */ + post: operations["enterprise-admin/sync-ldap-mapping-for-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/organizations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Create an organization */ + post: operations["enterprise-admin/create-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/organizations/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** Update an organization name */ + patch: operations["enterprise-admin/update-org-name"]; + trace: never; + }; + "/admin/pre-receive-environments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List pre-receive environments */ + get: operations["enterprise-admin/list-pre-receive-environments"]; + put: never; + /** Create a pre-receive environment */ + post: operations["enterprise-admin/create-pre-receive-environment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/pre-receive-environments/{pre_receive_environment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a pre-receive environment */ + get: operations["enterprise-admin/get-pre-receive-environment"]; + put: never; + post: never; + /** Delete a pre-receive environment + @description If you attempt to delete an environment that cannot be deleted, you will receive a `422 Unprocessable Entity` response. + + The possible error messages are: + + * _Cannot modify or delete the default environment_ + * _Cannot delete environment that has hooks_ + * _Cannot delete environment when download is in progress_ */ + delete: operations["enterprise-admin/delete-pre-receive-environment"]; + options: never; + head: never; + /** Update a pre-receive environment + @description You cannot modify the default environment. If you attempt to modify the default environment, you will receive a `422 Unprocessable Entity` response. */ + patch: operations["enterprise-admin/update-pre-receive-environment"]; + trace: never; + }; + "/admin/pre-receive-environments/{pre_receive_environment_id}/downloads": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Start a pre-receive environment download + @description Triggers a new download of the environment tarball from the environment's `image_url`. When the download is finished, the newly downloaded tarball will overwrite the existing environment. + + If a download cannot be triggered, you will receive a `422 Unprocessable Entity` response. + + The possible error messages are: + + * _Cannot modify or delete the default environment_ + * _Can not start a new download when a download is in progress_ */ + post: operations["enterprise-admin/start-pre-receive-environment-download"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the download status for a pre-receive environment + @description In addition to seeing the download status at the "[Get a pre-receive environment](#get-a-pre-receive-environment)" endpoint, there is also this separate endpoint for just the download status. */ + get: operations["enterprise-admin/get-download-status-for-pre-receive-environment"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/pre-receive-hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List pre-receive hooks */ + get: operations["enterprise-admin/list-pre-receive-hooks"]; + put: never; + /** Create a pre-receive hook */ + post: operations["enterprise-admin/create-pre-receive-hook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/pre-receive-hooks/{pre_receive_hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a pre-receive hook */ + get: operations["enterprise-admin/get-pre-receive-hook"]; + put: never; + post: never; + /** Delete a pre-receive hook */ + delete: operations["enterprise-admin/delete-pre-receive-hook"]; + options: never; + head: never; + /** Update a pre-receive hook */ + patch: operations["enterprise-admin/update-pre-receive-hook"]; + trace: never; + }; + "/admin/tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List personal access tokens + @description Lists personal access tokens for all users, including admin users. */ + get: operations["enterprise-admin/list-personal-access-tokens"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/tokens/{token_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** Delete a personal access token + @description Deletes a personal access token. Returns a `403 - Forbidden` status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error. */ + delete: operations["enterprise-admin/delete-personal-access-token"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Create a user + @description If an external authentication mechanism is used, the login name should match the login name in the external system. If you are using LDAP authentication, you should also [update the LDAP mapping](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#update-ldap-mapping-for-a-user) for the user. + + The login name will be normalized to only contain alphanumeric characters or single hyphens. For example, if you send `"octo_cat"` as the login, a user named `"octo-cat"` will be created. + + If the login name or email address is already associated with an account, the server will return a `422` response. */ + post: operations["enterprise-admin/create-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/admin/users/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** Delete a user + @description Deleting a user will delete all their repositories, gists, applications, and personal settings. [Suspending a user](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#suspend-a-user) is often a better option. + + You can delete any user account except your own. */ + delete: operations["enterprise-admin/delete-user"]; + options: never; + head: never; + /** Update the username for a user */ + patch: operations["enterprise-admin/update-username-for-user"]; + trace: never; + }; + "/admin/users/{username}/authorizations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Create an impersonation OAuth token */ + post: operations["enterprise-admin/create-impersonation-o-auth-token"]; + /** Delete an impersonation OAuth token */ + delete: operations["enterprise-admin/delete-impersonation-o-auth-token"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List installations for the authenticated app + @description You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + + The permissions the installation has are included under the `permissions` key. */ + get: operations["apps/list-installations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installations/{installation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get an installation for the authenticated app + @description Enables an authenticated GitHub App to find an installation's information using the installation id. + + You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ + get: operations["apps/get-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installations/{installation_id}/access_tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Create an installation access token for an app + @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + + You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ + post: operations["apps/create-installation-access-token"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/applications/grants": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List your grants + @deprecated + @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + + You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. */ + get: operations["oauth-authorizations/list-grants"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/applications/grants/{grant_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a single grant + @deprecated + @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/get-grant"]; + put: never; + post: never; + /** Delete a grant + @deprecated + @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + + Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). */ + delete: operations["oauth-authorizations/delete-grant"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/applications/{client_id}/token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Check a token + @description OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ + post: operations["apps/check-token"]; + delete: never; + options: never; + head: never; + /** Reset a token + @description OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + patch: operations["apps/reset-token"]; + trace: never; + }; + "/applications/{client_id}/token/scoped": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Create a scoped access token + @description Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + post: operations["apps/scope-token"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/authorizations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List your authorizations + @deprecated + @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/list-authorizations"]; + put: never; + /** Create a new authorization + @deprecated + @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + + **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + + Creates OAuth tokens using [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + + To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. + + You can also create tokens on GitHub Enterprise Server from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://docs.github.com/articles/creating-an-access-token-for-command-line-use). + + Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). */ + post: operations["oauth-authorizations/create-authorization"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/authorizations/clients/{client_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** Get-or-create an authorization for a specific app + @deprecated + @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + + **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + + Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + + If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + + **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + put: operations["oauth-authorizations/get-or-create-authorization-for-app"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/authorizations/clients/{client_id}/{fingerprint}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** Get-or-create an authorization for a specific app and fingerprint + @deprecated + @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + + **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + + This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + + If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." */ + put: operations["oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/authorizations/{authorization_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a single authorization + @deprecated + @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + get: operations["oauth-authorizations/get-authorization"]; + put: never; + post: never; + /** Delete an authorization + @deprecated + @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + delete: operations["oauth-authorizations/delete-authorization"]; + options: never; + head: never; + /** Update an existing authorization + @deprecated + @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + + If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + + You can only send one of these scope keys at a time. */ + patch: operations["oauth-authorizations/update-authorization"]; + trace: never; + }; + "/enterprise/announcement": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the global announcement banner + @description Gets the current message and expiration date of the global announcement banner in your enterprise. */ + get: operations["enterprise-admin/get-announcement"]; + put: never; + post: never; + /** Remove the global announcement banner + @description Removes the global announcement banner in your enterprise. */ + delete: operations["enterprise-admin/remove-announcement"]; + options: never; + head: never; + /** Set the global announcement banner + @description Sets the message and expiration time for the global announcement banner in your enterprise. */ + patch: operations["enterprise-admin/set-announcement"]; + trace: never; + }; + "/enterprise/settings/license": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get license information */ + get: operations["enterprise-admin/get-license-information"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprise/stats/all": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all statistics */ + get: operations["enterprise-admin/get-all-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprise/stats/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get comment statistics */ + get: operations["enterprise-admin/get-comment-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprise/stats/gists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get gist statistics */ + get: operations["enterprise-admin/get-gist-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprise/stats/hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get hooks statistics */ + get: operations["enterprise-admin/get-hooks-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprise/stats/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get issue statistics */ + get: operations["enterprise-admin/get-issue-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprise/stats/milestones": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get milestone statistics */ + get: operations["enterprise-admin/get-milestone-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprise/stats/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get organization statistics */ + get: operations["enterprise-admin/get-org-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprise/stats/pages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get pages statistics */ + get: operations["enterprise-admin/get-pages-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprise/stats/pulls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get pull request statistics */ + get: operations["enterprise-admin/get-pull-request-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprise/stats/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get repository statistics */ + get: operations["enterprise-admin/get-repo-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprise/stats/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get users statistics */ + get: operations["enterprise-admin/get-user-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprises/{enterprise}/actions/cache/usage-policy": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get GitHub Actions cache usage policy for an enterprise + @description Gets the GitHub Actions cache usage policy for an enterprise. + You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. */ + get: operations["actions/get-actions-cache-usage-policy-for-enterprise"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** Set GitHub Actions cache usage policy for an enterprise + @description Sets the GitHub Actions cache usage policy for an enterprise. + You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. */ + patch: operations["actions/set-actions-cache-usage-policy-for-enterprise"]; + trace: never; + }; + "/enterprises/{enterprise}/actions/permissions/selected-actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get allowed actions for an enterprise + @description Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + + You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. */ + get: operations["enterprise-admin/get-allowed-actions-enterprise"]; + /** Set allowed actions for an enterprise + @description Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + + You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. */ + put: operations["enterprise-admin/set-allowed-actions-enterprise"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprises/{enterprise}/audit-log": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the audit log for an enterprise + @description Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ + get: operations["enterprise-admin/get-audit-log"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprises/{enterprise}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List secret scanning alerts for an enterprise + @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). */ + get: operations["secret-scanning/list-alerts-for-enterprise"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/meta": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get GitHub Enterprise Server meta information */ + get: operations["meta/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/organizations/{organization_id}/custom_roles": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List custom repository roles in an organization + @description List the custom repository roles available in this organization. In order to see custom + repository roles in an organization, the authenticated user must be an organization owner. + + To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. + GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. + + For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". */ + get: operations["orgs/list-custom-roles"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get an organization + @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + + GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub Enterprise Server plan. See "[Authenticating with GitHub Apps](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub Enterprise Server plan information' below." */ + get: operations["orgs/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** Update an organization + @description **Parameter Deprecation Notice:** GitHub Enterprise Server will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + + Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. */ + patch: operations["orgs/update"]; + trace: never; + }; + "/orgs/{org}/actions/permissions/selected-actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get allowed actions for an organization + @description Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + + You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ + get: operations["actions/get-allowed-actions-organization"]; + /** Set allowed actions for an organization + @description Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + + If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. + + To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + + You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ + put: operations["actions/set-allowed-actions-organization"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/audit-log": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the audit log for an organization + @description Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." + + To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + + By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.6/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." + + Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#pagination)." */ + get: operations["orgs/get-audit-log"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/external-group/{group_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get an external group + @description Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. + + You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ + get: operations["teams/external-idp-group-info-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/external-groups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List external groups in an organization + @description Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub Enterprise Server generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + + You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ + get: operations["teams/list-external-idp-groups-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get an organization installation for the authenticated app + @description Enables an authenticated GitHub App to find the organization's installation information. + + You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ + get: operations["apps/get-org-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List app installations for an organization + @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ + get: operations["orgs/list-app-installations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/pre-receive-hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List pre-receive hooks for an organization + @description List all pre-receive hooks that are enabled or testing for this organization as well as any disabled hooks that can be configured at the organization level. Globally disabled pre-receive hooks that do not allow downstream configuration are not listed. */ + get: operations["enterprise-admin/list-pre-receive-hooks-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a pre-receive hook for an organization */ + get: operations["enterprise-admin/get-pre-receive-hook-for-org"]; + put: never; + post: never; + /** Remove pre-receive hook enforcement for an organization + @description Removes any overrides for this hook at the org level for this org. */ + delete: operations["enterprise-admin/remove-pre-receive-hook-enforcement-for-org"]; + options: never; + head: never; + /** Update pre-receive hook enforcement for an organization + @description For pre-receive hooks which are allowed to be configured at the org level, you can set `enforcement` and `allow_downstream_configuration` */ + patch: operations["enterprise-admin/update-pre-receive-hook-enforcement-for-org"]; + trace: never; + }; + "/orgs/{org}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List secret scanning alerts for an organization + @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + For public repositories, you may instead use the `public_repo` scope. + + GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ + get: operations["secret-scanning/list-alerts-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Create a team + @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + + When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". */ + post: operations["teams/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/external-groups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List a connection between an external group and a team + @description Lists a connection between a team and an external group. + + You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ + get: operations["teams/list-linked-external-idp-groups-to-team-for-org"]; + put: never; + post: never; + /** Remove the connection between an external group and a team + @description Deletes a connection between a team and an external group. + + You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + delete: operations["teams/unlink-external-idp-group-from-team-for-org"]; + options: never; + head: never; + /** Update the connection between an external group and a team + @description Creates a connection between a team and an external group. Only one external group can be linked to a team. + + You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ + patch: operations["teams/link-external-idp-group-to-team-for-org"]; + trace: never; + }; + "/rate_limit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get rate limit status for the authenticated user + @description **Note:** Accessing this endpoint does not count against your REST API rate limit. + + **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. */ + get: operations["rate-limit/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/cache/usage-policy": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get GitHub Actions cache usage policy for a repository + @description Gets GitHub Actions cache usage policy for a repository. + You must authenticate using an access token with the `repo` scope to use this endpoint. + GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-actions-cache-usage-policy"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** Set GitHub Actions cache usage policy for a repository + @description Sets GitHub Actions cache usage policy for a repository. + You must authenticate using an access token with the `repo` scope to use this endpoint. + GitHub Apps must have the `actions:write` permission to use this endpoint. */ + patch: operations["actions/set-actions-cache-usage-policy"]; + trace: never; + }; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get allowed actions for a repository + @description Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + + You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ + get: operations["actions/get-allowed-actions-repository"]; + /** Set allowed actions for a repository + @description Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + + If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. + + To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + + You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ + put: operations["actions/set-allowed-actions-repository"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List workflow runs for a repository + @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#parameters). + + Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/list-workflow-runs-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a workflow run + @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + get: operations["actions/get-workflow-run"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a workflow run attempt + @description Gets a specific workflow run attempt. Anyone with read access to the repository + can use this endpoint. If the repository is private you must use an access token + with the `repo` scope. GitHub Apps must have the `actions:read` permission to + use this endpoint. */ + get: operations["actions/get-workflow-run-attempt"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List workflow runs for a workflow + @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#parameters). + + Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. */ + get: operations["actions/list-workflow-runs"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/autolinks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List all autolinks of a repository + @description This returns a list of autolinks configured for the given repository. + + Information about autolinks are only available to repository administrators. */ + get: operations["repos/list-autolinks"]; + put: never; + /** Create an autolink reference for a repository + @description Users with admin access to the repository can create an autolink. */ + post: operations["repos/create-autolink"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/autolinks/{autolink_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get an autolink reference of a repository + @description This returns a single autolink reference by ID that was configured for the given repository. + + Information about autolinks are only available to repository administrators. */ + get: operations["repos/get-autolink"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/analyses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List code scanning analyses for a repository + @description Lists the details of all code scanning analyses for a repository, + starting with the most recent. + The response is paginated and you can use the `page` and `per_page` parameters + to list the analyses you're interested in. + By default 30 analyses are listed per page. + + The `rules_count` field in the response give the number of rules + that were run in the analysis. + For very old analyses this data is not available, + and `0` is returned in this field. + + You must use an access token with the `security_events` scope to use this endpoint with private repos, + the `public_repo` scope also grants permission to read security events on public repos only. + GitHub Apps must have the `security_events` read permission to use this endpoint. + + **Deprecation notice**: + The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. */ + get: operations["code-scanning/list-recent-analyses"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List repository collaborators + @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + + Team members will include the members of child teams. + + You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + endpoint. */ + get: operations["repos/list-collaborators"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get repository permissions for a user + @description Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ + get: operations["repos/get-collaborator-permission-level"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a diff of the dependencies between commits + @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ + get: operations["dependency-graph/diff-range"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Create a fork + @description Create a fork for the authenticated user. + + **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Enterprise Server Support](https://support.github.com/contact?tags=dotcom-rest-api). */ + post: operations["repos/create-fork"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a repository installation for the authenticated app + @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + + You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ + get: operations["apps/get-repo-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List deploy keys */ + get: operations["repos/list-deploy-keys"]; + put: never; + /** Create a deploy key + @description You can create a read-only deploy key. */ + post: operations["repos/create-deploy-key"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/keys/{key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a deploy key */ + get: operations["repos/get-deploy-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pre-receive-hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List pre-receive hooks for a repository + @description List all pre-receive hooks that are enabled or testing for this repository as well as any disabled hooks that are allowed to be enabled at the repository level. Pre-receive hooks that are disabled at a higher level and are not configurable will not be listed. */ + get: operations["enterprise-admin/list-pre-receive-hooks-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a pre-receive hook for a repository */ + get: operations["enterprise-admin/get-pre-receive-hook-for-repo"]; + put: never; + post: never; + /** Remove pre-receive hook enforcement for a repository + @description Deletes any overridden enforcement on this repository for the specified hook. + + Responds with effective values inherited from owner and/or global level. */ + delete: operations["enterprise-admin/remove-pre-receive-hook-enforcement-for-repo"]; + options: never; + head: never; + /** Update pre-receive hook enforcement for a repository + @description For pre-receive hooks which are allowed to be configured at the repo level, you can set `enforcement` */ + patch: operations["enterprise-admin/update-pre-receive-hook-enforcement-for-repo"]; + trace: never; + }; + "/repos/{owner}/{repo}/releases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List releases + @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/enterprise-server@3.6/rest/reference/repos#list-repository-tags). + + Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. */ + get: operations["repos/list-releases"]; + put: never; + /** Create a release + @description Users with push access to the repository can create a release. + + This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + post: operations["repos/create-release"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the latest release + @description View the latest published full release for the repository. + + The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. */ + get: operations["repos/get-latest-release"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/tags/{tag}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a release by tag name + @description Get a published release with the specified tag. */ + get: operations["repos/get-release-by-tag"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a release + @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#hypermedia). */ + get: operations["repos/get-release"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** Update a release + @description Users with push access to the repository can edit a release. */ + patch: operations["repos/update-release"]; + trace: never; + }; + "/repos/{owner}/{repo}/replicas/caches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List repository cache replication status + @description Lists the status of each repository cache replica. */ + get: operations["repos/list-cache-info"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List secret scanning alerts for a repository + @description Lists secret scanning alerts for an eligible repository, from newest to oldest. + To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + For public repositories, you may instead use the `public_repo` scope. + + GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ + get: operations["secret-scanning/list-alerts-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a secret scanning alert + @description Gets a single secret scanning alert detected in an eligible repository. + To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + For public repositories, you may instead use the `public_repo` scope. + + GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ + get: operations["secret-scanning/get-alert"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** Update a secret scanning alert + @description Updates the status of a secret scanning alert in an eligible repository. + To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + For public repositories, you may instead use the `public_repo` scope. + + GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. */ + patch: operations["secret-scanning/update-alert"]; + trace: never; + }; + "/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List public repositories + @description Lists all public repositories in the order that they were created. + + Note: + - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. */ + get: operations["repos/list-public"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/scim/v2/enterprises/{enterprise}/Groups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List provisioned SCIM groups for an enterprise + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/list-provisioned-groups-enterprise"]; + put: never; + /** Provision a SCIM enterprise group and invite users + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + + Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. */ + post: operations["enterprise-admin/provision-and-invite-enterprise-group"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get SCIM provisioning information for an enterprise group + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/get-provisioning-information-for-enterprise-group"]; + /** Set SCIM information for a provisioned enterprise group + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + + Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. */ + put: operations["enterprise-admin/set-information-for-provisioned-enterprise-group"]; + post: never; + /** Delete a SCIM group from an enterprise + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + delete: operations["enterprise-admin/delete-scim-group-from-enterprise"]; + options: never; + head: never; + /** Update an attribute for a SCIM enterprise group + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + + Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + patch: operations["enterprise-admin/update-attribute-for-enterprise-group"]; + trace: never; + }; + "/scim/v2/enterprises/{enterprise}/Users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List SCIM provisioned identities for an enterprise + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + + Retrieves a paginated list of all provisioned enterprise members, including pending invitations. + + When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub Enterprise Server. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. + - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + + The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub Enterprise Server account after completing SSO: + + 1. The user is granted access by the IdP and is not a member of the GitHub Enterprise Server enterprise. + + 1. The user attempts to access the GitHub Enterprise Server enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub Enterprise Server account. + + 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub Enterprise Server account: + - If the user signs in, their GitHub Enterprise Server account is linked to this entry. + - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub Enterprise Server enterprise, and the external identity `null` entry remains in place. */ + get: operations["enterprise-admin/list-provisioned-identities-enterprise"]; + put: never; + /** Provision and invite a SCIM enterprise user + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + + Provision enterprise membership for a user, and send organization invitation emails to the email address. + + You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. */ + post: operations["enterprise-admin/provision-and-invite-enterprise-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get SCIM provisioning information for an enterprise user + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + get: operations["enterprise-admin/get-provisioning-information-for-enterprise-user"]; + /** Set SCIM information for a provisioned enterprise user + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + + Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. + + You must at least provide the required values for the user: `userName`, `name`, and `emails`. + + **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. */ + put: operations["enterprise-admin/set-information-for-provisioned-enterprise-user"]; + post: never; + /** Delete a SCIM user from an enterprise + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + delete: operations["enterprise-admin/delete-user-from-enterprise"]; + options: never; + head: never; + /** Update an attribute for a SCIM enterprise user + @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + + Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + + **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + + **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. + + ``` + { + "Operations":[{ + "op":"replace", + "value":{ + "active":false + } + }] + } + ``` */ + patch: operations["enterprise-admin/update-attribute-for-enterprise-user"]; + trace: never; + }; + "/setup/api/configcheck": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the configuration status + @description This endpoint allows you to check the status of the most recent configuration process: + + Note that you may need to wait several seconds after you start a process before you can check its status. + + The different statuses are: + + | Status | Description | + | ------------- | --------------------------------- | + | `PENDING` | The job has not started yet | + | `CONFIGURING` | The job is running | + | `DONE` | The job has finished correctly | + | `FAILED` | The job has finished unexpectedly | */ + get: operations["enterprise-admin/get-configuration-status"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/setup/api/configure": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Start a configuration process + @description This endpoint allows you to start a configuration process at any time for your updated settings to take effect: */ + post: operations["enterprise-admin/start-configuration-process"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/setup/api/maintenance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the maintenance status + @description Check your installation's maintenance status: */ + get: operations["enterprise-admin/get-maintenance-status"]; + put: never; + /** Enable or disable maintenance mode + @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ + post: operations["enterprise-admin/enable-or-disable-maintenance-mode"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/setup/api/settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get settings + @description Gets the settings for your instance. To change settings, see the [Set settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#set-settings). + + **Note:** You cannot retrieve the management console password with the Enterprise administration API. */ + get: operations["enterprise-admin/get-settings"]; + /** Set settings + @description Applies settings on your instance. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#get-settings). + + **Notes:** + + - The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). + - You cannot set the management console password with the Enterprise administration API. Use the `ghe-set-password` utility to change the management console password. For more information, see "[Command-line utilities](https://docs.github.com/enterprise-server@3.6/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-set-password)." */ + put: operations["enterprise-admin/set-settings"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/setup/api/settings/authorized-keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all authorized SSH keys */ + get: operations["enterprise-admin/get-all-authorized-ssh-keys"]; + put: never; + /** Add an authorized SSH key + @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ + post: operations["enterprise-admin/add-authorized-ssh-key"]; + /** Remove an authorized SSH key + @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ + delete: operations["enterprise-admin/remove-authorized-ssh-key"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/setup/api/start": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Create a GitHub license + @description When you boot a GitHub instance for the first time, you can use the following endpoint to upload a license. + + Note that you need to `POST` to [`/setup/api/configure`](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#start-a-configuration-process) to start the actual configuration process. + + When using this endpoint, your GitHub instance must have a password set. This can be accomplished two ways: + + 1. If you're working directly with the API before accessing the web interface, you must pass in the password parameter to set your password. + 2. If you set up your instance via the web interface before accessing the API, your calls to this endpoint do not need the password parameter. + + **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ + post: operations["enterprise-admin/create-enterprise-server-license"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/setup/api/upgrade": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Upgrade a license + @description This API upgrades your license and also triggers the configuration process. + + **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ + post: operations["enterprise-admin/upgrade-license"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List app installations accessible to the user access token + @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + + You must use a [user-to-server OAuth access token](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + + The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + + You can find the permissions for the installation under the `permissions` key. */ + get: operations["apps/list-installations-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a user installation for the authenticated app + @description Enables an authenticated GitHub App to find the user’s installation information. + + You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ + get: operations["apps/get-user-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/site_admin": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** Promote a user to be a site administrator + @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." */ + put: operations["enterprise-admin/promote-user-to-be-site-administrator"]; + post: never; + /** Demote a site administrator + @description You can demote any user account except your own. */ + delete: operations["enterprise-admin/demote-site-administrator"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/suspended": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** Suspend a user + @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), Active Directory LDAP-authenticated users cannot be suspended through this API. If you attempt to suspend an Active Directory LDAP-authenticated user through this API, it will return a `403` response. + + You can suspend any user account except your own. + + Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." */ + put: operations["enterprise-admin/suspend-user"]; + post: never; + /** Unsuspend a user + @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), this API is disabled and will return a `403` response. Active Directory LDAP-authenticated users cannot be unsuspended using the API. */ + delete: operations["enterprise-admin/unsuspend-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; } - export type webhooks = Record; - export interface components { - schemas: { - "global-hook": { - type?: string; - id?: number; - name?: string; - active?: boolean; - events?: string[]; - config?: { - url?: string; - content_type?: string; - insecure_ssl?: string; - secret?: string; - }; - updated_at?: string; - created_at?: string; - url?: string; - ping_url?: string; - }; - "global-hook-2": { - type?: string; - id?: number; - name?: string; - active?: boolean; - events?: string[]; - config?: { - url?: string; - content_type?: string; - insecure_ssl?: string; - }; - updated_at?: string; - created_at?: string; - url?: string; - ping_url?: string; - }; - "public-key-full": { - id: number; - key: string; - user_id: number | null; - repository_id: number | null; - url: string; - title: string; - read_only: boolean; - verified: boolean; - /** Format: date-time */ - created_at: string; - }; - "ldap-mapping-team": { - ldap_dn?: string; - id?: number; - node_id?: string; - url?: string; - html_url?: string; - name?: string; - slug?: string; - description?: string | null; - privacy?: string; - permission?: string; - members_url?: string; - repositories_url?: string; - parent?: Record | null; - }; - /** - * Ldap Private User - * @description Ldap Private User - */ - "ldap-mapping-user": { - ldap_dn?: string; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example monalisa octocat */ - name: string | null; - /** @example GitHub */ - company: string | null; - /** @example https://github.com/blog */ - blog: string | null; - /** @example San Francisco */ - location: string | null; - /** - * Format: email - * @example octocat@github.com - */ - email: string | null; - hireable: boolean | null; - /** @example There once was... */ - bio: string | null; - /** @example monalisa */ - twitter_username?: string | null; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - created_at: string; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - updated_at: string; - /** @example 81 */ - private_gists: number; - /** @example 100 */ - total_private_repos: number; - /** @example 100 */ - owned_private_repos: number; - /** @example 10000 */ - disk_usage: number; - /** @example 8 */ - collaborators: number; - /** @example true */ - two_factor_authentication: boolean; - plan?: { - collaborators: number; - name: string; - space: number; - private_repos: number; - }; - /** Format: date-time */ - suspended_at?: string | null; - business_plus?: boolean; - }; - /** - * Organization Simple - * @description Organization Simple - */ - "organization-simple": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - }; - "pre-receive-environment": { - id?: number; - name?: string; - image_url?: string; - url?: string; - html_url?: string; - default_environment?: boolean; - created_at?: string; - hooks_count?: number; - download?: { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; - }; - "pre-receive-environment-download-status": { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; - "pre-receive-hook": { - id?: number; - name?: string; - enforcement?: string; - script?: string; - script_repository?: { - id?: number; - full_name?: string; - url?: string; - html_url?: string; - }; - environment?: { - id?: number; - name?: string; - image_url?: string; - url?: string; - html_url?: string; - default_environment?: boolean; - created_at?: string; - hooks_count?: number; - download?: { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; - }; - allow_downstream_configuration?: boolean; - }; - /** - * Authorization - * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. - */ - authorization: { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - user?: components["schemas"]["nullable-simple-user"]; - installation?: components["schemas"]["nullable-scoped-installation"]; - /** Format: date-time */ - expires_at: string | null; - }; - /** - * Simple User - * @description Simple User - */ - "simple-user": { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** - * Installation - * @description Installation - */ - installation: { - /** - * @description The ID of the installation. - * @example 1 - */ - id: number; - account: (components["schemas"]["simple-user"] | components["schemas"]["enterprise"]) | null; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** - * Format: uri - * @example https://api.github.com/installations/1/access_tokens - */ - access_tokens_url: string; - /** - * Format: uri - * @example https://api.github.com/installation/repositories - */ - repositories_url: string; - /** - * Format: uri - * @example https://github.com/organizations/github/settings/installations/1 - */ - html_url: string; - /** @example 1 */ - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - /** @example Organization */ - target_type: string; - permissions: components["schemas"]["app-permissions"]; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** - * @example [ - * "config.yml", - * ".github/issue_TEMPLATE.md" - * ] - */ - single_file_paths?: string[]; - /** @example github-actions */ - app_slug: string; - suspended_by: components["schemas"]["nullable-simple-user"]; - /** Format: date-time */ - suspended_at: string | null; - /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ - contact_email?: string | null; - }; - /** - * App Permissions - * @description The permissions granted to the user-to-server access token. - * @example { - * "contents": "read", - * "issues": "read", - * "deployments": "write", - * "single_file": "read" - * } - */ - "app-permissions": { - /** - * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - * @enum {string} - */ - actions?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - * @enum {string} - */ - administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token for checks on code. - * @enum {string} - */ - checks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - * @enum {string} - */ - contents?: "read" | "write"; - /** - * @description The level of permission to grant the access token for deployments and deployment statuses. - * @enum {string} - */ - deployments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for managing repository environments. - * @enum {string} - */ - environments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - * @enum {string} - */ - issues?: "read" | "write"; - /** - * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - * @enum {string} - */ - metadata?: "read" | "write"; - /** - * @description The level of permission to grant the access token for packages published to GitHub Packages. - * @enum {string} - */ - packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - * @enum {string} - */ - pages?: "read" | "write"; - /** - * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - * @enum {string} - */ - pull_requests?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - * @enum {string} - */ - repository_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository projects, columns, and cards. - * @enum {string} - */ - repository_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token to view and manage secret scanning alerts. - * @enum {string} - */ - secret_scanning_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository secrets. - * @enum {string} - */ - secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - * @enum {string} - */ - security_events?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage just a single file. - * @enum {string} - */ - single_file?: "read" | "write"; - /** - * @description The level of permission to grant the access token for commit statuses. - * @enum {string} - */ - statuses?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage Dependabot alerts. - * @enum {string} - */ - vulnerability_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to update GitHub Actions workflow files. - * @enum {string} - */ - workflows?: "write"; - /** - * @description The level of permission to grant the access token for organization teams and members. - * @enum {string} - */ - members?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage access to an organization. - * @enum {string} - */ - organization_administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - * @enum {string} - */ - organization_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing an organization's plan. - * @enum {string} - */ - organization_plan?: "read"; - /** - * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - * @enum {string} - */ - organization_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token for organization packages published to GitHub Packages. - * @enum {string} - */ - organization_packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage organization secrets. - * @enum {string} - */ - organization_secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - * @enum {string} - */ - organization_self_hosted_runners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage users blocked by the organization. - * @enum {string} - */ - organization_user_blocking?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage team discussions and related comments. - * @enum {string} - */ - team_discussions?: "read" | "write"; - }; - /** - * Installation Token - * @description Authentication token for a GitHub App installed on a user or org. - */ - "installation-token": { - token: string; - expires_at: string; - permissions?: components["schemas"]["app-permissions"]; - /** @enum {string} */ - repository_selection?: "all" | "selected"; - repositories?: components["schemas"]["repository"][]; - /** @example README.md */ - single_file?: string; - /** @example true */ - has_multiple_single_files?: boolean; - /** - * @example [ - * "config.yml", - * ".github/issue_TEMPLATE.md" - * ] - */ - single_file_paths?: string[]; - }; - /** - * Application Grant - * @description The authorization associated with an OAuth Access. - */ - "application-grant": { - /** @example 1 */ - id: number; - /** - * Format: uri - * @example https://api.github.com/applications/grants/1 - */ - url: string; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - /** - * Format: date-time - * @example 2011-09-06T17:26:27Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-09-06T20:39:23Z - */ - updated_at: string; - /** - * @example [ - * "public_repo" - * ] - */ - scopes: string[]; - user?: components["schemas"]["nullable-simple-user"]; - }; - /** - * Enterprise Announcement - * @description Enterprise global announcement - */ - announcement: { - announcement: components["schemas"]["announcement-message"]; - expires_at?: components["schemas"]["announcement-expiration"]; - }; - "license-info": { - seats?: string | number; - seats_used?: number; - seats_available?: string | number; - kind?: string; - days_until_expiration?: number; - expire_at?: string; - }; - "enterprise-overview": { - repos?: components["schemas"]["enterprise-repository-overview"]; - hooks?: components["schemas"]["enterprise-hook-overview"]; - pages?: components["schemas"]["enterprise-page-overview"]; - orgs?: components["schemas"]["enterprise-organization-overview"]; - users?: components["schemas"]["enterprise-user-overview"]; - pulls?: components["schemas"]["enterprise-pull-request-overview"]; - issues?: components["schemas"]["enterprise-issue-overview"]; - milestones?: components["schemas"]["enterprise-milestone-overview"]; - gists?: components["schemas"]["enterprise-gist-overview"]; - comments?: components["schemas"]["enterprise-comment-overview"]; - }; - /** Enterprise Comment Stats */ - "enterprise-comment-overview": { - total_commit_comments: number; - total_gist_comments: number; - total_issue_comments: number; - total_pull_request_comments: number; - }; - /** Enterprise Gist Stats */ - "enterprise-gist-overview": { - total_gists: number; - private_gists: number; - public_gists: number; - }; - /** Hooks Enterprise Stats */ - "enterprise-hook-overview": { - total_hooks: number; - active_hooks: number; - inactive_hooks: number; - }; - /** Enterprise Issue Stats */ - "enterprise-issue-overview": { - total_issues: number; - open_issues: number; - closed_issues: number; - }; - /** Enterprise Milestone Stats */ - "enterprise-milestone-overview": { - total_milestones: number; - open_milestones: number; - closed_milestones: number; - }; - /** Enterprise Organization Stats */ - "enterprise-organization-overview": { - total_orgs: number; - disabled_orgs: number; - total_teams: number; - total_team_members: number; - }; - /** Enterprise Pages Stats */ - "enterprise-page-overview": { - total_pages: number; - }; - /** Enterprise Pull Request Stats */ - "enterprise-pull-request-overview": { - total_pulls: number; - merged_pulls: number; - mergeable_pulls: number; - unmergeable_pulls: number; - }; - /** Repository Enterprise Stats */ - "enterprise-repository-overview": { - total_repos: number; - root_repos: number; - fork_repos: number; - org_repos: number; - total_pushes: number; - total_wikis: number; - }; - /** Enterprise User Stats */ - "enterprise-user-overview": { - total_users: number; - admin_users: number; - suspended_users: number; - }; - /** - * Actions cache usage policy for an enterprise - * @description GitHub Actions cache usage policy for an enterprise. - */ - "actions-cache-usage-policy-enterprise": { - /** - * @description For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes. - * @example 10 - */ - repo_cache_size_limit_in_gb?: number; - /** - * @description For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes. - * @example 15 - */ - max_repo_cache_size_limit_in_gb?: number; - }; - "selected-actions": { - /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed: boolean; - /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ - patterns_allowed: string[]; - }; - "audit-log-event": { - /** @description The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ - "@timestamp"?: number; - /** @description The name of the action that was performed, for example `user.login` or `repo.create`. */ - action?: string; - active?: boolean; - active_was?: boolean; - /** @description The actor who performed the action. */ - actor?: string; - /** @description The id of the actor who performed the action. */ - actor_id?: number; - actor_location?: { - country_name?: string; - }; - data?: { - [key: string]: unknown; - }; - org_id?: number; - /** @description The username of the account being blocked. */ - blocked_user?: string; - business?: string; - config?: Record[]; - config_was?: Record[]; - content_type?: string; - /** @description The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ - created_at?: number; - deploy_key_fingerprint?: string; - /** @description A unique identifier for an audit event. */ - _document_id?: string; - emoji?: string; - events?: Record[]; - events_were?: Record[]; - explanation?: string; - fingerprint?: string; - hook_id?: number; - limited_availability?: boolean; - message?: string; - name?: string; - old_user?: string; - openssh_public_key?: string; - org?: string; - previous_visibility?: string; - read_only?: boolean; - /** @description The name of the repository. */ - repo?: string; - /** @description The name of the repository. */ - repository?: string; - repository_public?: boolean; - target_login?: string; - team?: string; - /** @description The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ - transport_protocol?: number; - /** @description A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ - transport_protocol_name?: string; - /** @description The user that was affected by the action performed (if available). */ - user?: string; - /** @description The repository visibility, for example `public` or `private`. */ - visibility?: string; - }; - "organization-secret-scanning-alert": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["nullable-alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - state?: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: string | null; - resolved_by?: components["schemas"]["nullable-simple-user"]; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** - * @description User-friendly name for the detected secret, matching the `secret_type`. - * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." - */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - repository?: components["schemas"]["simple-repository"]; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: string | null; - }; - /** - * Api Overview - * @description Api Overview - */ - "api-overview": { - /** @example true */ - verifiable_password_authentication: boolean; - /** - * @example [ - * "13.65.0.0/16", - * "157.55.204.33/32", - * "2a01:111:f403:f90c::/62" - * ] - */ - packages?: string[]; - /** - * @example [ - * "192.168.7.15/32", - * "192.168.7.16/32" - * ] - */ - dependabot?: string[]; - /** @example 3.6.0 */ - installed_version?: string; - }; - /** - * Organization Custom Repository Role - * @description Custom repository roles created by organization administrators - */ - "organization-custom-repository-role": { - /** @description The unique identifier of the custom role. */ - id: number; - /** @description The name of the custom role. */ - name: string; - }; - /** - * Organization Full - * @description Organization Full - */ - "organization-full": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - /** @example github */ - name?: string; - /** @example GitHub */ - company?: string; - /** - * Format: uri - * @example https://github.com/blog - */ - blog?: string; - /** @example San Francisco */ - location?: string; - /** - * Format: email - * @example octocat@github.com - */ - email?: string; - /** @example github */ - twitter_username?: string | null; - /** @example true */ - is_verified?: boolean; - /** @example true */ - has_organization_projects: boolean; - /** @example true */ - has_repository_projects: boolean; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - created_at: string; - /** @example Organization */ - type: string; - /** @example 100 */ - total_private_repos?: number; - /** @example 100 */ - owned_private_repos?: number; - /** @example 81 */ - private_gists?: number | null; - /** @example 10000 */ - disk_usage?: number | null; - /** @example 8 */ - collaborators?: number | null; - /** - * Format: email - * @example org@example.com - */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - /** @example true */ - members_can_create_repositories?: boolean | null; - /** @example true */ - two_factor_requirement_enabled?: boolean | null; - /** @example all */ - members_allowed_repository_creation_type?: string; - /** @example true */ - members_can_create_public_repositories?: boolean; - /** @example true */ - members_can_create_private_repositories?: boolean; - /** @example true */ - members_can_create_internal_repositories?: boolean; - /** @example true */ - members_can_create_pages?: boolean; - /** @example true */ - members_can_create_public_pages?: boolean; - /** @example true */ - members_can_create_private_pages?: boolean; - /** @example false */ - members_can_fork_private_repositories?: boolean | null; - /** @example false */ - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - }; - /** - * Validation Error - * @description Validation Error - */ - "validation-error": { - message: string; - documentation_url: string; - errors?: ({ - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - })[]; - }; - /** - * Validation Error Simple - * @description Validation Error Simple - */ - "validation-error-simple": { - message: string; - documentation_url: string; - errors?: string[]; - }; - /** - * ExternalGroup - * @description Information about an external group's usage and its members - */ - "external-group": { - /** - * @description The internal ID of the group - * @example 1 - */ - group_id: number; - /** - * @description The display name for the group - * @example group-azuread-test - */ - group_name: string; - /** - * @description The date when the group was last updated_at - * @example 2021-01-03 22:27:15:000 -700 - */ - updated_at?: string; - /** - * @description An array of teams linked to this group - * @example [ - * { - * "team_id": 1, - * "team_name": "team-test" - * }, - * { - * "team_id": 2, - * "team_name": "team-test2" - * } - * ] - */ - teams: { - /** - * @description The id for a team - * @example 1 - */ - team_id: number; - /** - * @description The name of the team - * @example team-test - */ - team_name: string; - }[]; - /** - * @description An array of external members linked to this group - * @example [ - * { - * "member_id": 1, - * "member_login": "mona-lisa_eocsaxrs", - * "member_name": "Mona Lisa", - * "member_email": "mona_lisa@github.com" - * }, - * { - * "member_id": 2, - * "member_login": "octo-lisa_eocsaxrs", - * "member_name": "Octo Lisa", - * "member_email": "octo_lisa@github.com" - * } - * ] - */ - members: { - /** - * @description The internal user ID of the identity - * @example 1 - */ - member_id: number; - /** - * @description The handle/login for the user - * @example mona-lisa_eocsaxrs - */ - member_login: string; - /** - * @description The user display name/profile name - * @example Mona Lisa - */ - member_name: string; - /** - * @description An email attached to a user - * @example mona_lisa@github.com - */ - member_email: string; - }[]; - }; - /** - * ExternalGroups - * @description A list of external groups available to be connected to a team - */ - "external-groups": { - /** - * @description An array of external groups available to be mapped to a team - * @example [ - * { - * "group_id": 1, - * "group_name": "group-azuread-test", - * "updated_at": "2021-01-03 22:27:15:000 -700" - * }, - * { - * "group_id": 2, - * "group_name": "group-azuread-test2", - * "updated_at": "2021-06-03 22:27:15:000 -700" - * } - * ] - */ - groups?: { - /** - * @description The internal ID of the group - * @example 1 - */ - group_id: number; - /** - * @description The display name of the group - * @example group-azuread-test - */ - group_name: string; - /** - * @description The time of the last update for this group - * @example 2019-06-03 22:27:15:000 -700 - */ - updated_at: string; - }[]; - }; - "org-pre-receive-hook": { - id?: number; - name?: string; - enforcement?: string; - configuration_url?: string; - allow_downstream_configuration?: boolean; - }; - /** - * Full Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - "team-full": { - /** - * @description Unique identifier of the team - * @example 42 - */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; - /** - * Format: uri - * @description URL for the team - * @example https://api.github.com/organizations/1/team/1 - */ - url: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - /** - * @description Name of the team - * @example Developers - */ - name: string; - /** @example justice-league */ - slug: string; - /** @example A great team. */ - description: string | null; - /** - * @description The level of privacy this team should have - * @example closed - * @enum {string} - */ - privacy?: "closed" | "secret"; - /** - * @description Permission that the team will have for its repositories - * @example push - */ - permission: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/1/repos - */ - repositories_url: string; - parent?: components["schemas"]["nullable-team-simple"]; - /** @example 3 */ - members_count: number; - /** @example 10 */ - repos_count: number; - /** - * Format: date-time - * @example 2017-07-14T16:53:42Z - */ - created_at: string; - /** - * Format: date-time - * @example 2017-08-17T12:37:15Z - */ - updated_at: string; - organization: components["schemas"]["team-organization"]; - /** - * @description Distinguished Name (DN) that team maps to within LDAP environment - * @example uid=example,ou=users,dc=github,dc=com - */ - ldap_dn?: string; - }; - /** - * Rate Limit Overview - * @description Rate Limit Overview - */ - "rate-limit-overview": { - resources: { - core: components["schemas"]["rate-limit"]; - graphql?: components["schemas"]["rate-limit"]; - search: components["schemas"]["rate-limit"]; - source_import?: components["schemas"]["rate-limit"]; - integration_manifest?: components["schemas"]["rate-limit"]; - code_scanning_upload?: components["schemas"]["rate-limit"]; - actions_runner_registration?: components["schemas"]["rate-limit"]; - scim?: components["schemas"]["rate-limit"]; - }; - rate: components["schemas"]["rate-limit"]; - }; - /** - * Actions cache usage policy for repository - * @description GitHub Actions cache usage policy for repository. - */ - "actions-cache-usage-policy-for-repository": { - /** - * @description The size limit for the sum of all caches, in gigabytes. - * @example 14 - */ - repo_cache_size_limit_in_gb: number; - }; - /** - * Workflow Run - * @description An invocation of a workflow - */ - "workflow-run": { - /** - * @description The ID of the workflow run. - * @example 5 - */ - id: number; - /** - * @description The name of the workflow run. - * @example Build - */ - name?: string | null; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** - * @description The ID of the associated check suite. - * @example 42 - */ - check_suite_id?: number; - /** - * @description The node ID of the associated check suite. - * @example MDEwOkNoZWNrU3VpdGU0Mg== - */ - check_suite_node_id?: string; - /** @example master */ - head_branch: string | null; - /** - * @description The SHA of the head commit that points to the version of the workflow being run. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** - * @description The full path of the workflow - * @example octocat/octo-repo/.github/workflows/ci.yml@main - */ - path: string; - /** - * @description The auto incrementing run number for the workflow run. - * @example 106 - */ - run_number: number; - /** - * @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. - * @example 1 - */ - run_attempt?: number; - referenced_workflows?: components["schemas"]["referenced-workflow"][] | null; - /** @example push */ - event: string; - /** @example completed */ - status: string | null; - /** @example neutral */ - conclusion: string | null; - /** - * @description The ID of the parent workflow. - * @example 5 - */ - workflow_id: number; - /** - * @description The URL to the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5 - */ - url: string; - /** @example https://github.com/github/hello-world/suites/4 */ - html_url: string; - pull_requests: components["schemas"]["pull-request-minimal"][] | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - actor?: components["schemas"]["simple-user"]; - triggering_actor?: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @description The start time of the latest run. Resets on re-run. - */ - run_started_at?: string; - /** - * @description The URL to the jobs for the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs - */ - jobs_url: string; - /** - * @description The URL to download the logs for the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs - */ - logs_url: string; - /** - * @description The URL to the associated check suite. - * @example https://api.github.com/repos/github/hello-world/check-suites/12 - */ - check_suite_url: string; - /** - * @description The URL to the artifacts for the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts - */ - artifacts_url: string; - /** - * @description The URL to cancel the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel - */ - cancel_url: string; - /** - * @description The URL to rerun the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun - */ - rerun_url: string; - /** - * @description The URL to the previous attempted run of this workflow, if one exists. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 - */ - previous_attempt_url?: string | null; - /** - * @description The URL to the workflow. - * @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml - */ - workflow_url: string; - head_commit: components["schemas"]["nullable-simple-commit"]; - repository: components["schemas"]["minimal-repository"]; - head_repository: components["schemas"]["minimal-repository"]; - /** @example 5 */ - head_repository_id?: number; - }; - /** - * Autolink reference - * @description An autolink reference. - */ - autolink: { - /** @example 3 */ - id: number; - /** - * @description The prefix of a key that is linkified. - * @example TICKET- - */ - key_prefix: string; - /** - * @description A template for the target URL that is generated if a key was found. - * @example https://example.com/TICKET?query= - */ - url_template: string; - }; - /** - * @description The full Git reference, formatted as `refs/heads/`, - * `refs/pull//merge`, or `refs/pull//head`. - */ - "code-scanning-ref": string; - /** - * @description An identifier for the upload. - * @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 - */ - "code-scanning-analysis-sarif-id": string; - "code-scanning-analysis": { - ref: components["schemas"]["code-scanning-ref"]; - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; - environment: components["schemas"]["code-scanning-analysis-environment"]; - category?: components["schemas"]["code-scanning-analysis-category"]; - /** @example error reading field xyz */ - error: string; - created_at: components["schemas"]["code-scanning-analysis-created-at"]; - /** @description The total number of results in the analysis. */ - results_count: number; - /** @description The total number of rules used in the analysis. */ - rules_count: number; - /** @description Unique identifier for this analysis. */ - id: number; - url: components["schemas"]["code-scanning-analysis-url"]; - sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - deletable: boolean; - /** - * @description Warning generated when processing the analysis - * @example 123 results were ignored - */ - warning: string; - }; - /** - * Collaborator - * @description Collaborator - */ - collaborator: { - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - email?: string | null; - name?: string | null; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - permissions?: { - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - admin: boolean; - }; - /** @example admin */ - role_name?: string; - }; - /** - * Repository Collaborator Permission - * @description Repository Collaborator Permission - */ - "repository-collaborator-permission": { - permission: string; - /** @example admin */ - role_name: string; - user: components["schemas"]["nullable-collaborator"]; - }; - /** - * Dependency Graph Diff - * @description A diff of the dependencies between two commits. - */ - "dependency-graph-diff": ({ - /** @enum {string} */ - change_type: "added" | "removed"; - /** @example path/to/package-lock.json */ - manifest: string; - /** @example npm */ - ecosystem: string; - /** @example @actions/core */ - name: string; - /** @example 1.0.0 */ - version: string; - /** @example pkg:/npm/%40actions/core@1.1.0 */ - package_url: string | null; - /** @example MIT */ - license: string | null; - /** @example https://github.com/github/actions */ - source_repository_url: string | null; - vulnerabilities: { - /** @example critical */ - severity: string; - /** @example GHSA-rf4j-j272-fj86 */ - advisory_ghsa_id: string; - /** @example A summary of the advisory. */ - advisory_summary: string; - /** @example https://github.com/advisories/GHSA-rf4j-j272-fj86 */ - advisory_url: string; - }[]; - })[]; - /** - * Full Repository - * @description Full Repository - */ - "full-repository": { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @example true */ - is_template?: boolean; - /** - * @example [ - * "octocat", - * "atom", - * "electron", - * "API" - * ] - */ - topics?: string[]; - /** @example true */ - has_issues: boolean; - /** @example true */ - has_projects: boolean; - /** @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @example true */ - has_downloads: boolean; - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @example public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - /** @example true */ - allow_rebase_merge?: boolean; - template_repository?: components["schemas"]["nullable-repository"]; - temp_clone_token?: string | null; - /** @example true */ - allow_squash_merge?: boolean; - /** @example false */ - allow_auto_merge?: boolean; - /** @example false */ - delete_branch_on_merge?: boolean; - /** @example true */ - allow_merge_commit?: boolean; - /** @example true */ - allow_update_branch?: boolean; - /** @example false */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @example PR_TITLE - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @example PR_BODY - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @example PR_TITLE - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @example PR_BODY - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @example true */ - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - /** @example 42 */ - subscribers_count: number; - /** @example 0 */ - network_count: number; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - parent?: components["schemas"]["repository"]; - source?: components["schemas"]["repository"]; - forks: number; - master_branch?: string; - open_issues: number; - watchers: number; - /** - * @description Whether anonymous git access is allowed. - * @default true - */ - anonymous_access_enabled?: boolean; - code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; - /** - * Deploy Key - * @description An SSH key granting access to a single repository. - */ - "deploy-key": { - id: number; - key: string; - url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; - }; - "repository-pre-receive-hook": { - id?: number; - name?: string; - enforcement?: string; - configuration_url?: string; - }; - /** - * Release - * @description A release. - */ - release: { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - assets_url: string; - upload_url: string; - /** Format: uri */ - tarball_url: string | null; - /** Format: uri */ - zipball_url: string | null; - id: number; - node_id: string; - /** - * @description The name of the tag. - * @example v1.0.0 - */ - tag_name: string; - /** - * @description Specifies the commitish value that determines where the Git tag is created from. - * @example master - */ - target_commitish: string; - name: string | null; - body?: string | null; - /** - * @description true to create a draft (unpublished) release, false to create a published one. - * @example false - */ - draft: boolean; - /** - * @description Whether to identify the release as a prerelease or a full release. - * @example false - */ - prerelease: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - published_at: string | null; - author: components["schemas"]["simple-user"]; - assets: components["schemas"]["release-asset"][]; - body_html?: string; - body_text?: string; - mentions_count?: number; - reactions?: components["schemas"]["reaction-rollup"]; - }; - "secret-scanning-alert": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - state?: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: string | null; - resolved_by?: components["schemas"]["nullable-simple-user"]; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** - * @description User-friendly name for the detected secret, matching the `secret_type`. - * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." - */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: string | null; - }; - /** - * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - * @enum {string} - */ - "secret-scanning-alert-state": "open" | "resolved"; - /** - * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - * @enum {string|null} - */ - "secret-scanning-alert-resolution": null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; - /** - * Minimal Repository - * @description Minimal Repository - */ - "minimal-repository": { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - template_repository?: components["schemas"]["nullable-repository"]; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - code_of_conduct?: components["schemas"]["code-of-conduct"]; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - "scim-group-list-enterprise": { - schemas: string[]; - totalResults: number; - itemsPerPage: number; - startIndex: number; - Resources: ({ - schemas: string[]; - id: string; - externalId?: string | null; - displayName?: string; - members?: { - value?: string; - $ref?: string; - display?: string; + schemas: { + "global-hook": { + type?: string; + id?: number; + name?: string; + active?: boolean; + events?: string[]; + config?: { + url?: string; + content_type?: string; + insecure_ssl?: string; + secret?: string; + }; + updated_at?: string; + created_at?: string; + url?: string; + ping_url?: string; + }; + "global-hook-2": { + type?: string; + id?: number; + name?: string; + active?: boolean; + events?: string[]; + config?: { + url?: string; + content_type?: string; + insecure_ssl?: string; + }; + updated_at?: string; + created_at?: string; + url?: string; + ping_url?: string; + }; + "public-key-full": { + id: number; + key: string; + user_id: number | null; + repository_id: number | null; + url: string; + title: string; + read_only: boolean; + verified: boolean; + /** Format: date-time */ + created_at: string; + }; + "ldap-mapping-team": { + ldap_dn?: string; + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + permission?: string; + members_url?: string; + repositories_url?: string; + parent?: unknown; + }; + /** Ldap Private User + @description Ldap Private User */ + "ldap-mapping-user": { + ldap_dn?: string; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example monalisa octocat */ + name: string | null; + /** @example GitHub */ + company: string | null; + /** @example https://github.com/blog */ + blog: string | null; + /** @example San Francisco */ + location: string | null; + /** Format: email + @example octocat@github.com */ + email: string | null; + hireable: boolean | null; + /** @example There once was... */ + bio: string | null; + /** @example monalisa */ + twitter_username?: string | null; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** Format: date-time + @example 2008-01-14T04:33:35Z */ + created_at: string; + /** Format: date-time + @example 2008-01-14T04:33:35Z */ + updated_at: string; + /** @example 81 */ + private_gists: number; + /** @example 100 */ + total_private_repos: number; + /** @example 100 */ + owned_private_repos: number; + /** @example 10000 */ + disk_usage: number; + /** @example 8 */ + collaborators: number; + /** @example true */ + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + business_plus?: boolean; + }; + /** Organization Simple + @description Organization Simple */ + "organization-simple": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** Format: uri + @example https://api.github.com/orgs/github */ + url: string; + /** Format: uri + @example https://api.github.com/orgs/github/repos */ + repos_url: string; + /** Format: uri + @example https://api.github.com/orgs/github/events */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + }; + "pre-receive-environment": { + id?: number; + name?: string; + image_url?: string; + url?: string; + html_url?: string; + default_environment?: boolean; + created_at?: string; + hooks_count?: number; + download?: { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }; + "pre-receive-environment-download-status": { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + "pre-receive-hook": { + id?: number; + name?: string; + enforcement?: string; + script?: string; + script_repository?: { + id?: number; + full_name?: string; + url?: string; + html_url?: string; + }; + environment?: { + id?: number; + name?: string; + image_url?: string; + url?: string; + html_url?: string; + default_environment?: boolean; + created_at?: string; + hooks_count?: number; + download?: { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }; + allow_downstream_configuration?: boolean; + }; + /** Authorization + @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. */ + authorization: { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + /** Simple User + @description Simple User */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** Installation + @description Installation */ + installation: { + /** @description The ID of the installation. + @example 1 */ + id: number; + account: ({ + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | { + /** @description A short description of the enterprise. */ + description?: string | null; + /** Format: uri + @example https://github.com/enterprises/octo-business */ + html_url: string; + /** Format: uri + @description The enterprise's website URL. */ + website_url?: string | null; + /** @description Unique identifier of the enterprise + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the enterprise. + @example Octo Business */ + name: string; + /** @description The slug url identifier for the enterprise. + @example octo-business */ + slug: string; + /** Format: date-time + @example 2019-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2019-01-26T19:14:43Z */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }) | null; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** Format: uri + @example https://api.github.com/installations/1/access_tokens */ + access_tokens_url: string; + /** Format: uri + @example https://api.github.com/installation/repositories */ + repositories_url: string; + /** Format: uri + @example https://github.com/organizations/github/settings/installations/1 */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + /** Simple User + @description Simple User */ + suspended_by: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + "app-permissions": { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** Installation Token + @description Authentication token for a GitHub App installed on a user or org. */ + "installation-token": { + token: string; + expires_at: string; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions?: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @enum {string} */ + repository_selection?: "all" | "selected"; + repositories?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; }[]; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; + /** @example README.md */ + single_file?: string; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + }; + /** Application Grant + @description The authorization associated with an OAuth Access. */ + "application-grant": { + /** @example 1 */ + id: number; + /** Format: uri + @example https://api.github.com/applications/grants/1 */ + url: string; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + /** Format: date-time + @example 2011-09-06T17:26:27Z */ + created_at: string; + /** Format: date-time + @example 2011-09-06T20:39:23Z */ + updated_at: string; + /** @example [ + "public_repo" + ] */ + scopes: string[]; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + }; + /** Enterprise Announcement + @description Enterprise global announcement */ + announcement: { + /** @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." + @example Very **important** announcement about _nothing_. */ + announcement: string; + /** Format: date-time + @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. + @example "2021-01-01T00:00:00.000-07:00" */ + expires_at?: string | null; + }; + "license-info": { + seats?: string | number; + seats_used?: number; + seats_available?: string | number; + kind?: string; + days_until_expiration?: number; + expire_at?: string; + }; + "enterprise-overview": { + /** Repository Enterprise Stats */ + repos?: { + total_repos: number; + root_repos: number; + fork_repos: number; + org_repos: number; + total_pushes: number; + total_wikis: number; + }; + /** Hooks Enterprise Stats */ + hooks?: { + total_hooks: number; + active_hooks: number; + inactive_hooks: number; + }; + /** Enterprise Pages Stats */ + pages?: { + total_pages: number; + }; + /** Enterprise Organization Stats */ + orgs?: { + total_orgs: number; + disabled_orgs: number; + total_teams: number; + total_team_members: number; + }; + /** Enterprise User Stats */ + users?: { + total_users: number; + admin_users: number; + suspended_users: number; + }; + /** Enterprise Pull Request Stats */ + pulls?: { + total_pulls: number; + merged_pulls: number; + mergeable_pulls: number; + unmergeable_pulls: number; + }; + /** Enterprise Issue Stats */ + issues?: { + total_issues: number; + open_issues: number; + closed_issues: number; + }; + /** Enterprise Milestone Stats */ + milestones?: { + total_milestones: number; + open_milestones: number; + closed_milestones: number; + }; + /** Enterprise Gist Stats */ + gists?: { + total_gists: number; + private_gists: number; + public_gists: number; + }; + /** Enterprise Comment Stats */ + comments?: { + total_commit_comments: number; + total_gist_comments: number; + total_issue_comments: number; + total_pull_request_comments: number; + }; + }; + /** Enterprise Comment Stats */ + "enterprise-comment-overview": { + total_commit_comments: number; + total_gist_comments: number; + total_issue_comments: number; + total_pull_request_comments: number; + }; + /** Enterprise Gist Stats */ + "enterprise-gist-overview": { + total_gists: number; + private_gists: number; + public_gists: number; + }; + /** Hooks Enterprise Stats */ + "enterprise-hook-overview": { + total_hooks: number; + active_hooks: number; + inactive_hooks: number; + }; + /** Enterprise Issue Stats */ + "enterprise-issue-overview": { + total_issues: number; + open_issues: number; + closed_issues: number; + }; + /** Enterprise Milestone Stats */ + "enterprise-milestone-overview": { + total_milestones: number; + open_milestones: number; + closed_milestones: number; + }; + /** Enterprise Organization Stats */ + "enterprise-organization-overview": { + total_orgs: number; + disabled_orgs: number; + total_teams: number; + total_team_members: number; + }; + /** Enterprise Pages Stats */ + "enterprise-page-overview": { + total_pages: number; + }; + /** Enterprise Pull Request Stats */ + "enterprise-pull-request-overview": { + total_pulls: number; + merged_pulls: number; + mergeable_pulls: number; + unmergeable_pulls: number; + }; + /** Repository Enterprise Stats */ + "enterprise-repository-overview": { + total_repos: number; + root_repos: number; + fork_repos: number; + org_repos: number; + total_pushes: number; + total_wikis: number; + }; + /** Enterprise User Stats */ + "enterprise-user-overview": { + total_users: number; + admin_users: number; + suspended_users: number; + }; + /** Actions cache usage policy for an enterprise + @description GitHub Actions cache usage policy for an enterprise. */ + "actions-cache-usage-policy-enterprise": { + /** @description For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes. + @example 10 */ + repo_cache_size_limit_in_gb?: number; + /** @description For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes. + @example 15 */ + max_repo_cache_size_limit_in_gb?: number; + }; + "selected-actions": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed: string[]; + }; + "audit-log-event": { + /** @description The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + "@timestamp"?: number; + /** @description The name of the action that was performed, for example `user.login` or `repo.create`. */ + action?: string; + active?: boolean; + active_was?: boolean; + /** @description The actor who performed the action. */ + actor?: string; + /** @description The id of the actor who performed the action. */ + actor_id?: number; + actor_location?: { + country_name?: string; + }; + data?: { + [key: string]: unknown; + }; + org_id?: number; + /** @description The username of the account being blocked. */ + blocked_user?: string; + business?: string; + config?: Record[]; + config_was?: Record[]; + content_type?: string; + /** @description The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + created_at?: number; + deploy_key_fingerprint?: string; + /** @description A unique identifier for an audit event. */ + _document_id?: string; + emoji?: string; + events?: Record[]; + events_were?: Record[]; + explanation?: string; + fingerprint?: string; + hook_id?: number; + limited_availability?: boolean; + message?: string; + name?: string; + old_user?: string; + openssh_public_key?: string; + org?: string; + previous_visibility?: string; + read_only?: boolean; + /** @description The name of the repository. */ + repo?: string; + /** @description The name of the repository. */ + repository?: string; + repository_public?: boolean; + target_login?: string; + team?: string; + /** @description The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol?: number; + /** @description A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol_name?: string; + /** @description The user that was affected by the action performed (if available). */ + user?: string; + /** @description The repository visibility, for example `public` or `private`. */ + visibility?: string; + }; + "organization-secret-scanning-alert": { + /** @description The security alert number. */ + readonly number?: number; + /** Format: date-time + @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly created_at?: string; + /** Format: date-time + @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly updated_at?: string | null; + /** Format: uri + @description The REST API URL of the alert resource. */ + readonly url?: string; + /** Format: uri + @description The GitHub URL of the alert resource. */ + readonly html_url?: string; + /** Format: uri + @description The REST API URL of the code locations for this alert. */ + locations_url?: string; + /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + @enum {string} */ + state?: "open" | "resolved"; + /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + @enum {string|null} */ + resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; + /** Format: date-time + @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + resolved_at?: string | null; + /** Simple User + @description Simple User */ + resolved_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description User-friendly name for the detected secret, matching the `secret_type`. + For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** Simple Repository + @description Simple Repository */ + repository?: { + /** @description A unique identifier of the repository. + @example 1296269 */ + id: number; + /** @description The GraphQL identifier of the repository. + @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Hello-World */ + name: string; + /** @description The full, globally unique, name of the repository. + @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private. */ + private: boolean; + /** Format: uri + @description The URL to view the repository on GitHub.com. + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @description The repository description. + @example This your first repo! */ + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** Format: uri + @description The URL to get more information about the repository from the GitHub API. + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @description A template for the API URL to download the repository as an archive. + @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @description A template for the API URL to list the available assignees for issues in the repository. + @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @description A template for the API URL to get information about branches in the repository. + @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @description A template for the API URL to get information about collaborators of the repository. + @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @description A template for the API URL to get information about comments on the repository. + @example https://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @description A template for the API URL to get information about commits on the repository. + @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @description A template for the API URL to compare two commits or refs. + @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @description A template for the API URL to get the contents of the repository. + @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @description A template for the API URL to list the contributors to the repository. + @example https://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @description The API URL to list the deployments of the repository. + @example https://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @description The API URL to list the downloads on the repository. + @example https://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @description The API URL to list the events of the repository. + @example https://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @description The API URL to list the forks of the repository. + @example https://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @description A template for the API URL to get information about Git commits of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @description A template for the API URL to get information about Git refs of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @description A template for the API URL to get information about Git tags of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @description A template for the API URL to get information about issue comments on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @description A template for the API URL to get information about issue events on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @description A template for the API URL to get information about issues on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @description A template for the API URL to get information about deploy keys on the repository. + @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @description A template for the API URL to get information about labels of the repository. + @example https://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @description The API URL to get information about the languages of the repository. + @example https://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @description The API URL to merge branches in the repository. + @example https://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @description A template for the API URL to get information about milestones of the repository. + @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @description A template for the API URL to get information about notifications on the repository. + @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @description A template for the API URL to get information about pull requests on the repository. + @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @description A template for the API URL to get information about releases on the repository. + @example https://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** Format: uri + @description The API URL to list the stargazers on the repository. + @example https://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @description A template for the API URL to get information about statuses of a commit. + @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @description The API URL to list the subscribers on the repository. + @example https://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @description The API URL to subscribe to notifications for this repository. + @example https://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @description The API URL to get information about tags on the repository. + @example https://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @description The API URL to list the teams on the repository. + @example https://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** Format: uri + @description The API URL to list the hooks on the repository. + @example https://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + }; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + /** Simple User + @description Simple User */ + push_protection_bypassed_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time + @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + push_protection_bypassed_at?: string | null; + }; + /** Api Overview + @description Api Overview */ + "api-overview": { + /** @example true */ + verifiable_password_authentication: boolean; + /** @example [ + "13.65.0.0/16", + "157.55.204.33/32", + "2a01:111:f403:f90c::/62" + ] */ + packages?: string[]; + /** @example [ + "192.168.7.15/32", + "192.168.7.16/32" + ] */ + dependabot?: string[]; + /** @example 3.6.0 */ + installed_version?: string; + }; + /** Organization Custom Repository Role + @description Custom repository roles created by organization administrators */ + "organization-custom-repository-role": { + /** @description The unique identifier of the custom role. */ + id: number; + /** @description The name of the custom role. */ + name: string; + }; + /** Organization Full + @description Organization Full */ + "organization-full": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** Format: uri + @example https://api.github.com/orgs/github */ + url: string; + /** Format: uri + @example https://api.github.com/orgs/github/repos */ + repos_url: string; + /** Format: uri + @example https://api.github.com/orgs/github/events */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** Format: uri + @example https://github.com/blog */ + blog?: string; + /** @example San Francisco */ location?: string; - }; - })[]; - }; - "scim-enterprise-group": { - schemas: string[]; - id: string; - externalId?: string | null; - displayName?: string; - members?: { - value?: string; - $ref?: string; - display?: string; - }[]; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; - "scim-user-list-enterprise": { - schemas: string[]; - totalResults: number; - itemsPerPage: number; - startIndex: number; - Resources: { - schemas: string[]; - id: string; - externalId?: string; - userName?: string; - name?: { - givenName?: string; - familyName?: string; - }; - emails?: { - value?: string; - primary?: boolean; - type?: string; + /** Format: email + @example octocat@github.com */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: date-time + @example 2008-01-14T04:33:35Z */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** Format: email + @example org@example.com */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + }; + /** Validation Error + @description Validation Error */ + "validation-error": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + /** Validation Error Simple + @description Validation Error Simple */ + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: string[]; + }; + /** ExternalGroup + @description Information about an external group's usage and its members */ + "external-group": { + /** @description The internal ID of the group + @example 1 */ + group_id: number; + /** @description The display name for the group + @example group-azuread-test */ + group_name: string; + /** @description The date when the group was last updated_at + @example 2021-01-03 22:27:15:000 -700 */ + updated_at?: string; + /** @description An array of teams linked to this group + @example [ + { + "team_id": 1, + "team_name": "team-test" + }, + { + "team_id": 2, + "team_name": "team-test2" + } + ] */ + teams: { + /** @description The id for a team + @example 1 */ + team_id: number; + /** @description The name of the team + @example team-test */ + team_name: string; }[]; - groups?: { - value?: string; + /** @description An array of external members linked to this group + @example [ + { + "member_id": 1, + "member_login": "mona-lisa_eocsaxrs", + "member_name": "Mona Lisa", + "member_email": "mona_lisa@github.com" + }, + { + "member_id": 2, + "member_login": "octo-lisa_eocsaxrs", + "member_name": "Octo Lisa", + "member_email": "octo_lisa@github.com" + } + ] */ + members: { + /** @description The internal user ID of the identity + @example 1 */ + member_id: number; + /** @description The handle/login for the user + @example mona-lisa_eocsaxrs */ + member_login: string; + /** @description The user display name/profile name + @example Mona Lisa */ + member_name: string; + /** @description An email attached to a user + @example mona_lisa@github.com */ + member_email: string; }[]; - active?: boolean; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }[]; - }; - "scim-enterprise-user": { - schemas: string[]; - id: string; - externalId?: string; - userName?: string; - name?: { - givenName?: string; - familyName?: string; - }; - emails?: { - value?: string; - type?: string; - primary?: boolean; - }[]; - groups?: { - value?: string; - }[]; - active?: boolean; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; - "configuration-status": { - status?: string; - progress?: { - status: string; - key: string; - }[]; - }; - "maintenance-status": { - status?: string; - scheduled_time?: string; - connection_services?: { - name: string; - number: number; - }[]; - }; - "enterprise-settings": { - enterprise?: { - private_mode?: boolean; - public_pages?: boolean; - subdomain_isolation?: boolean; - signup_enabled?: boolean; - github_hostname?: string; - identicons_host?: string; - http_proxy?: string | null; - auth_mode?: string; - expire_sessions?: boolean; - admin_password?: string | null; - configuration_id?: number; - configuration_run_count?: number; - avatar?: { - enabled?: boolean; - uri?: string; - }; - customer?: { - name?: string; - email?: string; - uuid?: string; - secret_key_data?: string; - public_key_data?: string; - }; - license?: { - seats?: number; - evaluation?: boolean; - perpetual?: boolean; - unlimited_seating?: boolean; - support_key?: string; - ssh_allowed?: boolean; - cluster_support?: boolean; - expire_at?: string; - }; - github_ssl?: { - enabled?: boolean; - cert?: string | null; - key?: string | null; - }; - ldap?: { - host?: string | null; - port?: number; - base?: unknown[]; - uid?: string | null; - bind_dn?: string | null; - password?: string | null; - method?: string; - search_strategy?: string; - user_groups?: unknown[]; - admin_group?: string | null; - virtual_attribute_enabled?: boolean; - recursive_group_search?: boolean; - posix_support?: boolean; - user_sync_emails?: boolean; - user_sync_keys?: boolean; - user_sync_interval?: number; - team_sync_interval?: number; - sync_enabled?: boolean; - reconciliation?: { - user?: string | null; - org?: string | null; - }; - profile?: { - uid?: string; + }; + /** ExternalGroups + @description A list of external groups available to be connected to a team */ + "external-groups": { + /** @description An array of external groups available to be mapped to a team + @example [ + { + "group_id": 1, + "group_name": "group-azuread-test", + "updated_at": "2021-01-03 22:27:15:000 -700" + }, + { + "group_id": 2, + "group_name": "group-azuread-test2", + "updated_at": "2021-06-03 22:27:15:000 -700" + } + ] */ + groups?: { + /** @description The internal ID of the group + @example 1 */ + group_id: number; + /** @description The display name of the group + @example group-azuread-test */ + group_name: string; + /** @description The time of the last update for this group + @example 2019-06-03 22:27:15:000 -700 */ + updated_at: string; + }[]; + }; + "org-pre-receive-hook": { + id?: number; + name?: string; + enforcement?: string; + configuration_url?: string; + allow_downstream_configuration?: boolean; + }; + /** Full Team + @description Groups of organization members that gives permissions on specified repositories. */ + "team-full": { + /** @description Unique identifier of the team + @example 42 */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** Format: uri + @description URL for the team + @example https://api.github.com/organizations/1/team/1 */ + url: string; + /** Format: uri + @example https://github.com/orgs/rails/teams/core */ + html_url: string; + /** @description Name of the team + @example Developers */ + name: string; + /** @example justice-league */ + slug: string; + /** @example A great team. */ + description: string | null; + /** @description The level of privacy this team should have + @example closed + @enum {string} */ + privacy?: "closed" | "secret"; + /** @description Permission that the team will have for its repositories + @example push */ + permission: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** Format: uri + @example https://api.github.com/organizations/1/team/1/repos */ + repositories_url: string; + /** Team Simple + @description Groups of organization members that gives permissions on specified repositories. */ + parent?: { + /** @description Unique identifier of the team + @example 1 */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** Format: uri + @description URL for the team + @example https://api.github.com/organizations/1/team/1 */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** @description Name of the team + @example Justice League */ + name: string; + /** @description Description of the team + @example A great team. */ + description: string | null; + /** @description Permission that the team will have for its repositories + @example admin */ + permission: string; + /** @description The level of privacy this team should have + @example closed */ + privacy?: string; + /** Format: uri + @example https://github.com/orgs/rails/teams/core */ + html_url: string; + /** Format: uri + @example https://api.github.com/organizations/1/team/1/repos */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** @description Distinguished Name (DN) that team maps to within LDAP environment + @example uid=example,ou=users,dc=github,dc=com */ + ldap_dn?: string; + } | null; + /** @example 3 */ + members_count: number; + /** @example 10 */ + repos_count: number; + /** Format: date-time + @example 2017-07-14T16:53:42Z */ + created_at: string; + /** Format: date-time + @example 2017-08-17T12:37:15Z */ + updated_at: string; + /** Team Organization + @description Team Organization */ + organization: { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** Format: uri + @example https://api.github.com/orgs/github */ + url: string; + /** Format: uri + @example https://api.github.com/orgs/github/repos */ + repos_url: string; + /** Format: uri + @example https://api.github.com/orgs/github/events */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** Format: uri + @example https://github.com/blog */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** Format: email + @example octocat@github.com */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: date-time + @example 2008-01-14T04:33:35Z */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** Format: email + @example org@example.com */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + }; + /** @description Distinguished Name (DN) that team maps to within LDAP environment + @example uid=example,ou=users,dc=github,dc=com */ + ldap_dn?: string; + }; + /** Rate Limit Overview + @description Rate Limit Overview */ + "rate-limit-overview": { + resources: { + /** Rate Limit */ + core: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + graphql?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + search: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + source_import?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + integration_manifest?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + code_scanning_upload?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + actions_runner_registration?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + scim?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + }; + /** Rate Limit */ + rate: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + }; + /** Actions cache usage policy for repository + @description GitHub Actions cache usage policy for repository. */ + "actions-cache-usage-policy-for-repository": { + /** @description The size limit for the sum of all caches, in gigabytes. + @example 14 */ + repo_cache_size_limit_in_gb: number; + }; + /** Workflow Run + @description An invocation of a workflow */ + "workflow-run": { + /** @description The ID of the workflow run. + @example 5 */ + id: number; + /** @description The name of the workflow run. + @example Build */ name?: string | null; - mail?: string | null; - key?: string | null; - }; - }; - cas?: { - url?: string | null; - }; - saml?: { - sso_url?: string | null; - certificate?: string | null; - certificate_path?: string | null; - issuer?: string | null; - idp_initiated_sso?: boolean; - disable_admin_demote?: boolean; - }; - github_oauth?: { - client_id?: string; - client_secret?: string; - organization_name?: string; - organization_team?: string; - }; - smtp?: { - enabled?: boolean; - address?: string; - authentication?: string; - port?: string; - domain?: string; - username?: string; - user_name?: string; - enable_starttls_auto?: boolean; - password?: string; - "discard-to-noreply-address"?: boolean; - support_address?: string; - support_address_type?: string; - noreply_address?: string; - }; - ntp?: { - primary_server?: string; - secondary_server?: string; - }; - timezone?: string | null; - snmp?: { - enabled?: boolean; - community?: string; - }; - syslog?: { - enabled?: boolean; - server?: string | null; - protocol_name?: string; - }; - assets?: string | null; - pages?: { - enabled?: boolean; - }; - collectd?: { - enabled?: boolean; - server?: string | null; - port?: number; - encryption?: string | null; - username?: string | null; - password?: string | null; - }; - mapping?: { - enabled?: boolean; - tileserver?: string | null; - basemap?: string; - token?: string | null; - }; - load_balancer?: string | null; - }; - run_list?: string[]; - }; - "ssh-key": { - key?: string; - "pretty-print"?: string; - }; - /** - * Simple User - * @description Simple User - */ - "nullable-simple-user": ({ - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }) | null; - /** Scoped Installation */ - "nullable-scoped-installation": ({ - permissions: components["schemas"]["app-permissions"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** - * @example [ - * "config.yml", - * ".github/issue_TEMPLATE.md" - * ] - */ - single_file_paths?: string[]; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repositories_url: string; - account: components["schemas"]["simple-user"]; - }) | null; - /** - * Enterprise - * @description An enterprise account - */ - enterprise: { - /** @description A short description of the enterprise. */ - description?: string | null; - /** - * Format: uri - * @example https://github.com/enterprises/octo-business - */ - html_url: string; - /** - * Format: uri - * @description The enterprise's website URL. - */ - website_url?: string | null; - /** - * @description Unique identifier of the enterprise - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the enterprise. - * @example Octo Business - */ - name: string; - /** - * @description The slug url identifier for the enterprise. - * @example octo-business - */ - slug: string; - /** - * Format: date-time - * @example 2019-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2019-01-26T19:14:43Z - */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }; - /** - * Basic Error - * @description Basic Error - */ - "basic-error": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - /** - * Repository - * @description A git repository - */ - repository: { - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: ({ - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - }) | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - * @example false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; - /** - * License Simple - * @description License Simple - */ - "nullable-license-simple": ({ - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** - * Format: uri - * @example https://api.github.com/licenses/mit - */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - }) | null; - /** - * @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." - * @example Very **important** announcement about _nothing_. - */ - "announcement-message": string; - /** - * Format: date-time - * @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. - * @example "2021-01-01T00:00:00.000-07:00" - */ - "announcement-expiration": string | null; - /** @description The security alert number. */ - readonly "alert-number": number; - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-created-at": string; - /** - * Format: date-time - * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "nullable-alert-updated-at": string | null; - /** - * Format: uri - * @description The REST API URL of the alert resource. - */ - readonly "alert-url": string; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - readonly "alert-html-url": string; - /** - * Simple Repository - * @description Simple Repository - */ - "simple-repository": { - /** - * @description A unique identifier of the repository. - * @example 1296269 - */ - id: number; - /** - * @description The GraphQL identifier of the repository. - * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 - */ - node_id: string; - /** - * @description The name of the repository. - * @example Hello-World - */ - name: string; - /** - * @description The full, globally unique, name of the repository. - * @example octocat/Hello-World - */ - full_name: string; - owner: components["schemas"]["simple-user"]; - /** @description Whether the repository is private. */ - private: boolean; - /** - * Format: uri - * @description The URL to view the repository on GitHub.com. - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** - * @description The repository description. - * @example This your first repo! - */ - description: string | null; - /** @description Whether the repository is a fork. */ - fork: boolean; - /** - * Format: uri - * @description The URL to get more information about the repository from the GitHub API. - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** - * @description A template for the API URL to download the repository as an archive. - * @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} - */ - archive_url: string; - /** - * @description A template for the API URL to list the available assignees for issues in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} - */ - assignees_url: string; - /** - * @description A template for the API URL to create or retrieve a raw Git blob in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} - */ - blobs_url: string; - /** - * @description A template for the API URL to get information about branches in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} - */ - branches_url: string; - /** - * @description A template for the API URL to get information about collaborators of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} - */ - collaborators_url: string; - /** - * @description A template for the API URL to get information about comments on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/comments{/number} - */ - comments_url: string; - /** - * @description A template for the API URL to get information about commits on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} - */ - commits_url: string; - /** - * @description A template for the API URL to compare two commits or refs. - * @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} - */ - compare_url: string; - /** - * @description A template for the API URL to get the contents of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} - */ - contents_url: string; - /** - * Format: uri - * @description A template for the API URL to list the contributors to the repository. - * @example https://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @description The API URL to list the deployments of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @description The API URL to list the downloads on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @description The API URL to list the events of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @description The API URL to list the forks of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** - * @description A template for the API URL to get information about Git commits of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} - */ - git_commits_url: string; - /** - * @description A template for the API URL to get information about Git refs of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} - */ - git_refs_url: string; - /** - * @description A template for the API URL to get information about Git tags of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} - */ - git_tags_url: string; - /** - * @description A template for the API URL to get information about issue comments on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - */ - issue_comment_url: string; - /** - * @description A template for the API URL to get information about issue events on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} - */ - issue_events_url: string; - /** - * @description A template for the API URL to get information about issues on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/issues{/number} - */ - issues_url: string; - /** - * @description A template for the API URL to get information about deploy keys on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} - */ - keys_url: string; - /** - * @description A template for the API URL to get information about labels of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/labels{/name} - */ - labels_url: string; - /** - * Format: uri - * @description The API URL to get information about the languages of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @description The API URL to merge branches in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** - * @description A template for the API URL to get information about milestones of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} - */ - milestones_url: string; - /** - * @description A template for the API URL to get information about notifications on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} - */ - notifications_url: string; - /** - * @description A template for the API URL to get information about pull requests on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} - */ - pulls_url: string; - /** - * @description A template for the API URL to get information about releases on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/releases{/id} - */ - releases_url: string; - /** - * Format: uri - * @description The API URL to list the stargazers on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** - * @description A template for the API URL to get information about statuses of a commit. - * @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} - */ - statuses_url: string; - /** - * Format: uri - * @description The API URL to list the subscribers on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @description The API URL to subscribe to notifications for this repository. - * @example https://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @description The API URL to get information about tags on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @description The API URL to list the teams on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** - * @description A template for the API URL to create or retrieve a raw Git tree of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} - */ - trees_url: string; - /** - * Format: uri - * @description The API URL to list the hooks on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - }; - /** - * Team Simple - * @description Groups of organization members that gives permissions on specified repositories. - */ - "nullable-team-simple": ({ - /** - * @description Unique identifier of the team - * @example 1 - */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; - /** - * Format: uri - * @description URL for the team - * @example https://api.github.com/organizations/1/team/1 - */ - url: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; - /** - * @description Name of the team - * @example Justice League - */ - name: string; - /** - * @description Description of the team - * @example A great team. - */ - description: string | null; - /** - * @description Permission that the team will have for its repositories - * @example admin - */ - permission: string; - /** - * @description The level of privacy this team should have - * @example closed - */ - privacy?: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/1/repos - */ - repositories_url: string; - /** @example justice-league */ - slug: string; - /** - * @description Distinguished Name (DN) that team maps to within LDAP environment - * @example uid=example,ou=users,dc=github,dc=com - */ - ldap_dn?: string; - }) | null; - /** - * Team Organization - * @description Team Organization - */ - "team-organization": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - /** @example github */ - name?: string; - /** @example GitHub */ - company?: string; - /** - * Format: uri - * @example https://github.com/blog - */ - blog?: string; - /** @example San Francisco */ - location?: string; - /** - * Format: email - * @example octocat@github.com - */ - email?: string; - /** @example github */ - twitter_username?: string | null; - /** @example true */ - is_verified?: boolean; - /** @example true */ - has_organization_projects: boolean; - /** @example true */ - has_repository_projects: boolean; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - created_at: string; - /** @example Organization */ - type: string; - /** @example 100 */ - total_private_repos?: number; - /** @example 100 */ - owned_private_repos?: number; - /** @example 81 */ - private_gists?: number | null; - /** @example 10000 */ - disk_usage?: number | null; - /** @example 8 */ - collaborators?: number | null; - /** - * Format: email - * @example org@example.com - */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - /** @example true */ - members_can_create_repositories?: boolean | null; - /** @example true */ - two_factor_requirement_enabled?: boolean | null; - /** @example all */ - members_allowed_repository_creation_type?: string; - /** @example true */ - members_can_create_public_repositories?: boolean; - /** @example true */ - members_can_create_private_repositories?: boolean; - /** @example true */ - members_can_create_internal_repositories?: boolean; - /** @example true */ - members_can_create_pages?: boolean; - /** @example true */ - members_can_create_public_pages?: boolean; - /** @example true */ - members_can_create_private_pages?: boolean; - /** @example false */ - members_can_fork_private_repositories?: boolean | null; - /** @example false */ - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - }; - /** Rate Limit */ - "rate-limit": { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** - * Referenced workflow - * @description A workflow referenced/reused by the initial caller workflow - */ - "referenced-workflow": { - path: string; - sha: string; - ref?: string; - }; - /** Pull Request Minimal */ - "pull-request-minimal": { - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - base: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - }; - /** - * Simple Commit - * @description Simple Commit - */ - "nullable-simple-commit": ({ - id: string; - tree_id: string; - message: string; - /** Format: date-time */ - timestamp: string; - author: { - name: string; - email: string; - } | null; - committer: { - name: string; - email: string; - } | null; - }) | null; - /** @description The name of the tool used to generate the code scanning analysis. */ - "code-scanning-analysis-tool-name": string; - /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ - "code-scanning-analysis-tool-guid": string | null; - /** @description The SHA of the commit to which the analysis you are uploading relates. */ - "code-scanning-analysis-commit-sha": string; - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - "code-scanning-analysis-analysis-key": string; - /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ - "code-scanning-analysis-environment": string; - /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ - "code-scanning-analysis-category": string; - /** - * Format: date-time - * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "code-scanning-analysis-created-at": string; - /** - * Format: uri - * @description The REST API URL of the analysis resource. - */ - readonly "code-scanning-analysis-url": string; - "code-scanning-analysis-tool": { - name?: components["schemas"]["code-scanning-analysis-tool-name"]; - version?: components["schemas"]["code-scanning-analysis-tool-version"]; - guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; - }; - /** @description The version of the tool used to generate the code scanning analysis. */ - "code-scanning-analysis-tool-version": string | null; - /** - * Collaborator - * @description Collaborator - */ - "nullable-collaborator": ({ - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - email?: string | null; - name?: string | null; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - permissions?: { - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - admin: boolean; - }; - /** @example admin */ - role_name?: string; - }) | null; - /** - * Repository - * @description A git repository - */ - "nullable-repository": ({ - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: ({ - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - }) | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - * @example false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }) | null; - /** - * Code Of Conduct Simple - * @description Code of Conduct Simple - */ - "code-of-conduct-simple": { - /** - * Format: uri - * @example https://api.github.com/repos/github/docs/community/code_of_conduct - */ - url: string; - /** @example citizen_code_of_conduct */ - key: string; - /** @example Citizen Code of Conduct */ - name: string; - /** - * Format: uri - * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md - */ - html_url: string | null; - }; - "security-and-analysis": ({ - advanced_security?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning_push_protection?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - }) | null; - /** - * Scim Error - * @description Scim Error - */ - "scim-error": { - message?: string | null; - documentation_url?: string | null; - detail?: string | null; - status?: number; - scimType?: string | null; - schemas?: string[]; - }; - /** - * Release Asset - * @description Data related to a release. - */ - "release-asset": { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; - id: number; - node_id: string; - /** - * @description The file name of the asset. - * @example Team Environment - */ - name: string; - label: string | null; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - uploader: components["schemas"]["nullable-simple-user"]; - }; - /** Reaction Rollup */ - "reaction-rollup": { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - "-1": number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; - /** - * Format: date-time - * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-updated-at": string; - /** - * Code Of Conduct - * @description Code Of Conduct - */ - "code-of-conduct": { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** - * Format: uri - * @example https://api.github.com/codes_of_conduct/contributor_covenant - */ - url: string; - /** - * @example # Contributor Covenant Code of Conduct - * - * ## Our Pledge - * - * In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - * - * ## Our Standards - * - * Examples of behavior that contributes to creating a positive environment include: - * - * * Using welcoming and inclusive language - * * Being respectful of differing viewpoints and experiences - * * Gracefully accepting constructive criticism - * * Focusing on what is best for the community - * * Showing empathy towards other community members - * - * Examples of unacceptable behavior by participants include: - * - * * The use of sexualized language or imagery and unwelcome sexual attention or advances - * * Trolling, insulting/derogatory comments, and personal or political attacks - * * Public or private harassment - * * Publishing others' private information, such as a physical or electronic address, without explicit permission - * * Other conduct which could reasonably be considered inappropriate in a professional setting - * - * ## Our Responsibilities - * - * Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - * to any instances of unacceptable behavior. - * - * Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - * - * ## Scope - * - * This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - * posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - * - * ## Enforcement - * - * Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - * - * Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - * - * ## Attribution - * - * This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - * - * [homepage]: http://contributor-covenant.org - * [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - }; - responses: { - /** @description Resource not found */ - not_found: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Requires authentication */ - requires_authentication: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Forbidden */ - forbidden: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - validation_failed: { - content: { - "application/json": components["schemas"]["validation-error"]; - }; - }; - /** @description Not modified */ - not_modified: { - content: never; - }; - /** @description Gone */ - gone: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Service unavailable */ - service_unavailable: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - }; - }; - }; - /** @description Conflict */ - conflict: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if GitHub Advanced Security is not enabled for this repository */ - code_scanning_forbidden_read: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Bad Request */ - bad_request: { - content: { - "application/json": components["schemas"]["basic-error"]; - "application/scim+json": components["schemas"]["scim-error"]; - }; - }; - /** @description Moved permanently */ - moved_permanently: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - parameters: { - /** @description The number of results per page (max 100). */ - "per-page"?: number; - /** @description Page number of the results to fetch. */ - page?: number; - /** @description The unique identifier of the hook. */ - "hook-id": number; - /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; - /** @description The unique identifier of the key. */ - "key-ids": string; - /** @description The unique identifier of the team. */ - "team-id": number; - /** @description The handle for the GitHub user account. */ - username: string; - /** @description The organization name. The name is not case sensitive. */ - org: string; - /** @description The unique identifier of the pre-receive environment. */ - "pre-receive-environment-id": number; - /** @description The unique identifier of the pre-receive hook. */ - "pre-receive-hook-id": number; - /** @description The unique identifier of the token. */ - "token-id": number; - /** @description Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: string; - /** @description The unique identifier of the installation. */ - "installation-id": number; - /** @description The unique identifier of the grant. */ - "grant-id": number; - /** @description The client ID of the GitHub app. */ - "client-id": string; - /** @description The client ID of the OAuth app. */ - "oauth-client-id": string; - /** @description The unique identifier of the authorization. */ - "authorization-id": number; - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; - /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ - "audit-log-phrase"?: string; - /** - * @description The event types to include: - * - * - `web` - returns web (non-Git) events. - * - `git` - returns Git events. - * - `all` - returns both web and Git events. - * - * The default is `web`. - */ - "audit-log-include"?: "web" | "git" | "all"; - /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - "audit-log-after"?: string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ - "audit-log-before"?: string; - /** - * @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. - * - * The default is `desc`. - */ - "audit-log-order"?: "desc" | "asc"; - /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - "secret-scanning-alert-state"?: "open" | "resolved"; - /** - * @description A comma-separated list of secret types to return. By default all secret types are returned. - * See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" - * for a complete list of secret types. - */ - "secret-scanning-alert-secret-type"?: string; - /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ - "secret-scanning-alert-resolution"?: string; - /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ - "secret-scanning-alert-sort"?: "created" | "updated"; - /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ - "pagination-before"?: string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - "pagination-after"?: string; - /** @description The unique identifier of the group. */ - "group-id": number; - /** @description The slug of the team name. */ - "team-slug": string; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; - /** @description The name of the repository. The name is not case sensitive. */ - repo: string; - /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ - actor?: string; - /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - "workflow-run-branch"?: string; - /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event?: string; - /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ - "workflow-run-status"?: "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting"; - /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/enterprise-server@3.6/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ - created?: string; - /** @description If `true` pull requests are omitted from the response (empty array). */ - "exclude-pull-requests"?: boolean; - /** @description Returns workflow runs with the `check_suite_id` that you specify. */ - "workflow-run-check-suite-id"?: number; - /** @description The unique identifier of the workflow run. */ - "run-id": number; - /** @description The attempt number of the workflow run. */ - "attempt-number": number; - /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - "workflow-id": number | string; - /** @description The unique identifier of the autolink. */ - "autolink-id": number; - /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ - "tool-name"?: components["schemas"]["code-scanning-analysis-tool-name"]; - /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ - "tool-guid"?: components["schemas"]["code-scanning-analysis-tool-guid"]; - /** @description The full path, relative to the repository root, of the dependency manifest file. */ - "manifest-path"?: string; - /** @description The unique identifier of the key. */ - "key-id": number; - /** @description The unique identifier of the release. */ - "release-id": number; - /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ - "alert-number": components["schemas"]["alert-number"]; - /** @description A repository ID. Only return repositories with an ID greater than this ID. */ - "since-repo"?: number; - /** @description Used for pagination: the index of the first result to return. */ - "start-index"?: number; - /** @description Used for pagination: the number of results to return. */ - count?: number; - /** @description Identifier generated by the GitHub SCIM endpoint. */ - "scim-group-id": string; - /** @description The unique identifier of the SCIM user. */ - "scim-user-id": string; - }; - requestBodies: never; - headers: { - /** @example ; rel="next", ; rel="last" */ - link: string; - /** @example 5000 */ - "x-rate-limit-limit": number; - /** @example 4999 */ - "x-rate-limit-remaining": number; - /** @example 1590701888 */ - "x-rate-limit-reset": number; - }; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export interface operations { - - /** List global webhooks */ - "enterprise-admin/list-global-webhooks": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["global-hook"][]; - }; - }; - }; - }; - /** Create a global webhook */ - "enterprise-admin/create-global-webhook": { - requestBody: { - content: { - "application/json": { - /** @description Must be passed as "web". */ - name: string; - /** @description Key/value pairs to provide settings for this webhook. */ - config: { - /** @description The URL to which the payloads will be delivered. */ + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** @description The ID of the associated check suite. + @example 42 */ + check_suite_id?: number; + /** @description The node ID of the associated check suite. + @example MDEwOkNoZWNrU3VpdGU0Mg== */ + check_suite_node_id?: string; + /** @example master */ + head_branch: string | null; + /** @description The SHA of the head commit that points to the version of the workflow being run. + @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ + head_sha: string; + /** @description The full path of the workflow + @example octocat/octo-repo/.github/workflows/ci.yml@main */ + path: string; + /** @description The auto incrementing run number for the workflow run. + @example 106 */ + run_number: number; + /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. + @example 1 */ + run_attempt?: number; + referenced_workflows?: { + path: string; + sha: string; + ref?: string; + }[] | null; + /** @example push */ + event: string; + /** @example completed */ + status: string | null; + /** @example neutral */ + conclusion: string | null; + /** @description The ID of the parent workflow. + @example 5 */ + workflow_id: number; + /** @description The URL to the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ url: string; - /** @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. */ - content_type?: string; - /** @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.6/webhooks/event-payloads/#delivery-headers) header. */ - secret?: string; - /** @description Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.** */ - insecure_ssl?: string; - }; - /** @description The [events](https://docs.github.com/enterprise-server@3.6/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`. */ - events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["global-hook"]; + /** @example https://github.com/github/hello-world/suites/4 */ + html_url: string; + pull_requests: { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + }[] | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + actor?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** Simple User + @description Simple User */ + triggering_actor?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** Format: date-time + @description The start time of the latest run. Resets on re-run. */ + run_started_at?: string; + /** @description The URL to the jobs for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs */ + jobs_url: string; + /** @description The URL to download the logs for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs */ + logs_url: string; + /** @description The URL to the associated check suite. + @example https://api.github.com/repos/github/hello-world/check-suites/12 */ + check_suite_url: string; + /** @description The URL to the artifacts for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts */ + artifacts_url: string; + /** @description The URL to cancel the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel */ + cancel_url: string; + /** @description The URL to rerun the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun */ + rerun_url: string; + /** @description The URL to the previous attempted run of this workflow, if one exists. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 */ + previous_attempt_url?: string | null; + /** @description The URL to the workflow. + @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml */ + workflow_url: string; + /** Simple Commit + @description Simple Commit */ + head_commit: { + id: string; + tree_id: string; + message: string; + /** Format: date-time */ + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + } | null; + /** Minimal Repository + @description Minimal Repository */ + repository: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** Minimal Repository + @description Minimal Repository */ + head_repository: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** @example 5 */ + head_repository_id?: number; }; - }; - }; - }; - /** Get a global webhook */ - "enterprise-admin/get-global-webhook": { - parameters: { - path: { - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["global-hook"]; + /** Autolink reference + @description An autolink reference. */ + autolink: { + /** @example 3 */ + id: number; + /** @description The prefix of a key that is linkified. + @example TICKET- */ + key_prefix: string; + /** @description A template for the target URL that is generated if a key was found. + @example https://example.com/TICKET?query= */ + url_template: string; }; - }; - }; - }; - /** Delete a global webhook */ - "enterprise-admin/delete-global-webhook": { - parameters: { - path: { - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a global webhook - * @description Parameters that are not provided will be overwritten with the default value or removed if no default exists. - */ - "enterprise-admin/update-global-webhook": { - parameters: { - path: { - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Key/value pairs to provide settings for this webhook. */ - config?: { - /** @description The URL to which the payloads will be delivered. */ + /** @description The full Git reference, formatted as `refs/heads/`, + `refs/pull//merge`, or `refs/pull//head`. */ + "code-scanning-ref": string; + /** @description An identifier for the upload. + @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 */ + "code-scanning-analysis-sarif-id": string; + "code-scanning-analysis": { + /** @description The full Git reference, formatted as `refs/heads/`, + `refs/pull//merge`, or `refs/pull//head`. */ + ref: string; + /** @description The SHA of the commit to which the analysis you are uploading relates. */ + commit_sha: string; + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ + environment: string; + /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + category?: string; + /** @example error reading field xyz */ + error: string; + /** Format: date-time + @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly created_at: string; + /** @description The total number of results in the analysis. */ + results_count: number; + /** @description The total number of rules used in the analysis. */ + rules_count: number; + /** @description Unique identifier for this analysis. */ + id: number; + /** Format: uri + @description The REST API URL of the analysis resource. */ + readonly url: string; + /** @description An identifier for the upload. + @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 */ + sarif_id: string; + tool: { + /** @description The name of the tool used to generate the code scanning analysis. */ + name?: string; + /** @description The version of the tool used to generate the code scanning analysis. */ + version?: string | null; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + guid?: string | null; + }; + deletable: boolean; + /** @description Warning generated when processing the analysis + @example 123 results were ignored */ + warning: string; + }; + /** Collaborator + @description Collaborator */ + collaborator: { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ url: string; - /** @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. */ - content_type?: string; - /** @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.6/webhooks/event-payloads/#delivery-headers) header. */ + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name?: string; + }; + /** Repository Collaborator Permission + @description Repository Collaborator Permission */ + "repository-collaborator-permission": { + permission: string; + /** @example admin */ + role_name: string; + /** Collaborator + @description Collaborator */ + user: { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name?: string; + } | null; + }; + /** Dependency Graph Diff + @description A diff of the dependencies between two commits. */ + "dependency-graph-diff": { + /** @enum {string} */ + change_type: "added" | "removed"; + /** @example path/to/package-lock.json */ + manifest: string; + /** @example npm */ + ecosystem: string; + /** @example @actions/core */ + name: string; + /** @example 1.0.0 */ + version: string; + /** @example pkg:/npm/%40actions/core@1.1.0 */ + package_url: string | null; + /** @example MIT */ + license: string | null; + /** @example https://github.com/github/actions */ + source_repository_url: string | null; + vulnerabilities: { + /** @example critical */ + severity: string; + /** @example GHSA-rf4j-j272-fj86 */ + advisory_ghsa_id: string; + /** @example A summary of the advisory. */ + advisory_summary: string; + /** @example https://github.com/advisories/GHSA-rf4j-j272-fj86 */ + advisory_url: string; + }[]; + }[]; + /** Full Repository + @description Full Repository */ + "full-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @example true */ + is_template?: boolean; + /** @example [ + "octocat", + "atom", + "electron", + "API" + ] */ + topics?: string[]; + /** @example true */ + has_issues: boolean; + /** @example true */ + has_projects: boolean; + /** @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @example true */ + has_downloads: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @example public */ + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + /** @example true */ + allow_rebase_merge?: boolean; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string | null; + /** @example true */ + allow_squash_merge?: boolean; + /** @example false */ + allow_auto_merge?: boolean; + /** @example false */ + delete_branch_on_merge?: boolean; + /** @example true */ + allow_merge_commit?: boolean; + /** @example true */ + allow_update_branch?: boolean; + /** @example false */ + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @example PR_TITLE + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @example PR_BODY + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @example PR_TITLE + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @example PR_BODY + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @example true */ + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + /** @example 42 */ + subscribers_count: number; + /** @example 0 */ + network_count: number; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Repository + @description A git repository */ + parent?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** Repository + @description A git repository */ + source?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + forks: number; + master_branch?: string; + open_issues: number; + watchers: number; + /** @description Whether anonymous git access is allowed. + @default true */ + anonymous_access_enabled: boolean; + /** Code Of Conduct Simple + @description Code of Conduct Simple */ + code_of_conduct?: { + /** Format: uri + @example https://api.github.com/repos/github/docs/community/code_of_conduct */ + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; + /** Format: uri + @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md */ + html_url: string | null; + }; + security_and_analysis?: { + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + }; + /** Deploy Key + @description An SSH key granting access to a single repository. */ + "deploy-key": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + }; + "repository-pre-receive-hook": { + id?: number; + name?: string; + enforcement?: string; + configuration_url?: string; + }; + /** Release + @description A release. */ + release: { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** @description The name of the tag. + @example v1.0.0 */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. + @example master */ + target_commitish: string; + name: string | null; + body?: string | null; + /** @description true to create a draft (unpublished) release, false to create a published one. + @example false */ + draft: boolean; + /** @description Whether to identify the release as a prerelease or a full release. + @example false */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + /** Simple User + @description Simple User */ + author: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + assets: { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** @description The file name of the asset. + @example Team Environment */ + name: string; + label: string | null; + /** @description State of the release asset. + @enum {string} */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + uploader: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + }[]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** Reaction Rollup */ + reactions?: { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + -1: number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + }; + "secret-scanning-alert": { + /** @description The security alert number. */ + readonly number?: number; + /** Format: date-time + @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly created_at?: string; + /** Format: date-time + @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly updated_at?: string; + /** Format: uri + @description The REST API URL of the alert resource. */ + readonly url?: string; + /** Format: uri + @description The GitHub URL of the alert resource. */ + readonly html_url?: string; + /** Format: uri + @description The REST API URL of the code locations for this alert. */ + locations_url?: string; + /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + @enum {string} */ + state?: "open" | "resolved"; + /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + @enum {string|null} */ + resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; + /** Format: date-time + @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + resolved_at?: string | null; + /** Simple User + @description Simple User */ + resolved_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description User-friendly name for the detected secret, matching the `secret_type`. + For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ secret?: string; - /** @description Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.** */ - insecure_ssl?: string; - }; - /** @description The [events](https://docs.github.com/enterprise-server@3.6/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`. */ - events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["global-hook-2"]; - }; - }; - }; - }; - /** - * Ping a global webhook - * @description This will trigger a [ping event](https://docs.github.com/enterprise-server@3.6/webhooks/#ping-event) to be sent to the webhook. - */ - "enterprise-admin/ping-global-webhook": { - parameters: { - path: { - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** List public keys */ - "enterprise-admin/list-public-keys": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - direction?: components["parameters"]["direction"]; - sort?: "created" | "updated" | "accessed"; - /** @description Only show public keys accessed after the given time. */ - since?: string; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + /** Simple User + @description Simple User */ + push_protection_bypassed_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time + @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + push_protection_bypassed_at?: string | null; }; - content: { - "application/json": components["schemas"]["public-key-full"][]; + /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + @enum {string} */ + "secret-scanning-alert-state": "open" | "resolved"; + /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + @enum {string|null} */ + "secret-scanning-alert-resolution": null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; + /** Minimal Repository + @description Minimal Repository */ + "minimal-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; }; - }; - }; - }; - /** Delete a public key */ - "enterprise-admin/delete-public-key": { - parameters: { - path: { - key_ids: components["parameters"]["key-ids"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update LDAP mapping for a team - * @description Updates the [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. [LDAP synchronization](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap#enabling-ldap-sync) must be enabled to map LDAP entries to a team. Use the [Create a team](https://docs.github.com/enterprise-server@3.6/rest/reference/teams/#create-a-team) endpoint to create a team with LDAP mapping. - */ - "enterprise-admin/update-ldap-mapping-for-team": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. */ - ldap_dn: string; + "scim-group-list-enterprise": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["ldap-mapping-team"]; - }; - }; - }; - }; - /** - * Sync LDAP mapping for a team - * @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. - */ - "enterprise-admin/sync-ldap-mapping-for-team": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": { - status?: string; - }; + "scim-enterprise-group": { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; }; - }; - }; - }; - /** Update LDAP mapping for a user */ - "enterprise-admin/update-ldap-mapping-for-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. */ - ldap_dn: string; + "scim-user-list-enterprise": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + primary?: boolean; + type?: string; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["ldap-mapping-user"]; - }; - }; - }; - }; - /** - * Sync LDAP mapping for a user - * @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. - */ - "enterprise-admin/sync-ldap-mapping-for-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": { + "scim-enterprise-user": { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + type?: string; + primary?: boolean; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + "configuration-status": { status?: string; - }; + progress?: { + status: string; + key: string; + }[]; }; - }; - }; - }; - /** Create an organization */ - "enterprise-admin/create-org": { - requestBody: { - content: { - "application/json": { - /** @description The organization's username. */ - login: string; - /** @description The login of the user who will manage this organization. */ - admin: string; - /** @description The organization's display name. */ - profile_name?: string; + "maintenance-status": { + status?: string; + scheduled_time?: string; + connection_services?: { + name: string; + number: number; + }[]; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["organization-simple"]; + "enterprise-settings": { + enterprise?: { + private_mode?: boolean; + public_pages?: boolean; + subdomain_isolation?: boolean; + signup_enabled?: boolean; + github_hostname?: string; + identicons_host?: string; + http_proxy?: string | null; + auth_mode?: string; + expire_sessions?: boolean; + admin_password?: string | null; + configuration_id?: number; + configuration_run_count?: number; + avatar?: { + enabled?: boolean; + uri?: string; + }; + customer?: { + name?: string; + email?: string; + uuid?: string; + secret_key_data?: string; + public_key_data?: string; + }; + license?: { + seats?: number; + evaluation?: boolean; + perpetual?: boolean; + unlimited_seating?: boolean; + support_key?: string; + ssh_allowed?: boolean; + cluster_support?: boolean; + expire_at?: string; + }; + github_ssl?: { + enabled?: boolean; + cert?: string | null; + key?: string | null; + }; + ldap?: { + host?: string | null; + port?: number; + base?: unknown[]; + uid?: string | null; + bind_dn?: string | null; + password?: string | null; + method?: string; + search_strategy?: string; + user_groups?: unknown[]; + admin_group?: string | null; + virtual_attribute_enabled?: boolean; + recursive_group_search?: boolean; + posix_support?: boolean; + user_sync_emails?: boolean; + user_sync_keys?: boolean; + user_sync_interval?: number; + team_sync_interval?: number; + sync_enabled?: boolean; + reconciliation?: { + user?: string | null; + org?: string | null; + }; + profile?: { + uid?: string; + name?: string | null; + mail?: string | null; + key?: string | null; + }; + }; + cas?: { + url?: string | null; + }; + saml?: { + sso_url?: string | null; + certificate?: string | null; + certificate_path?: string | null; + issuer?: string | null; + idp_initiated_sso?: boolean; + disable_admin_demote?: boolean; + }; + github_oauth?: { + client_id?: string; + client_secret?: string; + organization_name?: string; + organization_team?: string; + }; + smtp?: { + enabled?: boolean; + address?: string; + authentication?: string; + port?: string; + domain?: string; + username?: string; + user_name?: string; + enable_starttls_auto?: boolean; + password?: string; + "discard-to-noreply-address"?: boolean; + support_address?: string; + support_address_type?: string; + noreply_address?: string; + }; + ntp?: { + primary_server?: string; + secondary_server?: string; + }; + timezone?: string | null; + snmp?: { + enabled?: boolean; + community?: string; + }; + syslog?: { + enabled?: boolean; + server?: string | null; + protocol_name?: string; + }; + assets?: string | null; + pages?: { + enabled?: boolean; + }; + collectd?: { + enabled?: boolean; + server?: string | null; + port?: number; + encryption?: string | null; + username?: string | null; + password?: string | null; + }; + mapping?: { + enabled?: boolean; + tileserver?: string | null; + basemap?: string; + token?: string | null; + }; + load_balancer?: string | null; + }; + run_list?: string[]; }; - }; - }; - }; - /** Update an organization name */ - "enterprise-admin/update-org-name": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The organization's new name. */ - login: string; + "ssh-key": { + key?: string; + "pretty-print"?: string; }; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": { + /** Simple User + @description Simple User */ + "nullable-simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + "nullable-scoped-installation": { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Enterprise + @description An enterprise account */ + enterprise: { + /** @description A short description of the enterprise. */ + description?: string | null; + /** Format: uri + @example https://github.com/enterprises/octo-business */ + html_url: string; + /** Format: uri + @description The enterprise's website URL. */ + website_url?: string | null; + /** @description Unique identifier of the enterprise + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the enterprise. + @example Octo Business */ + name: string; + /** @description The slug url identifier for the enterprise. + @example octo-business */ + slug: string; + /** Format: date-time + @example 2019-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2019-01-26T19:14:43Z */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }; + /** Basic Error + @description Basic Error */ + "basic-error": { message?: string; + documentation_url?: string; url?: string; - }; + status?: string; + }; + /** Repository + @description A git repository */ + repository: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** License Simple + @description License Simple */ + "nullable-license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." + @example Very **important** announcement about _nothing_. */ + "announcement-message": string; + /** Format: date-time + @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. + @example "2021-01-01T00:00:00.000-07:00" */ + "announcement-expiration": string | null; + /** @description The security alert number. */ + "alert-number": number; + /** Format: date-time + @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "alert-created-at": string; + /** Format: date-time + @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "nullable-alert-updated-at": string | null; + /** Format: uri + @description The REST API URL of the alert resource. */ + "alert-url": string; + /** Format: uri + @description The GitHub URL of the alert resource. */ + "alert-html-url": string; + /** Simple Repository + @description Simple Repository */ + "simple-repository": { + /** @description A unique identifier of the repository. + @example 1296269 */ + id: number; + /** @description The GraphQL identifier of the repository. + @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Hello-World */ + name: string; + /** @description The full, globally unique, name of the repository. + @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private. */ + private: boolean; + /** Format: uri + @description The URL to view the repository on GitHub.com. + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @description The repository description. + @example This your first repo! */ + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** Format: uri + @description The URL to get more information about the repository from the GitHub API. + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @description A template for the API URL to download the repository as an archive. + @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @description A template for the API URL to list the available assignees for issues in the repository. + @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @description A template for the API URL to get information about branches in the repository. + @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @description A template for the API URL to get information about collaborators of the repository. + @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @description A template for the API URL to get information about comments on the repository. + @example https://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @description A template for the API URL to get information about commits on the repository. + @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @description A template for the API URL to compare two commits or refs. + @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @description A template for the API URL to get the contents of the repository. + @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @description A template for the API URL to list the contributors to the repository. + @example https://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @description The API URL to list the deployments of the repository. + @example https://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @description The API URL to list the downloads on the repository. + @example https://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @description The API URL to list the events of the repository. + @example https://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @description The API URL to list the forks of the repository. + @example https://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @description A template for the API URL to get information about Git commits of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @description A template for the API URL to get information about Git refs of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @description A template for the API URL to get information about Git tags of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @description A template for the API URL to get information about issue comments on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @description A template for the API URL to get information about issue events on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @description A template for the API URL to get information about issues on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @description A template for the API URL to get information about deploy keys on the repository. + @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @description A template for the API URL to get information about labels of the repository. + @example https://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @description The API URL to get information about the languages of the repository. + @example https://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @description The API URL to merge branches in the repository. + @example https://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @description A template for the API URL to get information about milestones of the repository. + @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @description A template for the API URL to get information about notifications on the repository. + @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @description A template for the API URL to get information about pull requests on the repository. + @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @description A template for the API URL to get information about releases on the repository. + @example https://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** Format: uri + @description The API URL to list the stargazers on the repository. + @example https://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @description A template for the API URL to get information about statuses of a commit. + @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @description The API URL to list the subscribers on the repository. + @example https://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @description The API URL to subscribe to notifications for this repository. + @example https://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @description The API URL to get information about tags on the repository. + @example https://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @description The API URL to list the teams on the repository. + @example https://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** Format: uri + @description The API URL to list the hooks on the repository. + @example https://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + }; + /** Team Simple + @description Groups of organization members that gives permissions on specified repositories. */ + "nullable-team-simple": { + /** @description Unique identifier of the team + @example 1 */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** Format: uri + @description URL for the team + @example https://api.github.com/organizations/1/team/1 */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** @description Name of the team + @example Justice League */ + name: string; + /** @description Description of the team + @example A great team. */ + description: string | null; + /** @description Permission that the team will have for its repositories + @example admin */ + permission: string; + /** @description The level of privacy this team should have + @example closed */ + privacy?: string; + /** Format: uri + @example https://github.com/orgs/rails/teams/core */ + html_url: string; + /** Format: uri + @example https://api.github.com/organizations/1/team/1/repos */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** @description Distinguished Name (DN) that team maps to within LDAP environment + @example uid=example,ou=users,dc=github,dc=com */ + ldap_dn?: string; + } | null; + /** Team Organization + @description Team Organization */ + "team-organization": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** Format: uri + @example https://api.github.com/orgs/github */ + url: string; + /** Format: uri + @example https://api.github.com/orgs/github/repos */ + repos_url: string; + /** Format: uri + @example https://api.github.com/orgs/github/events */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** Format: uri + @example https://github.com/blog */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** Format: email + @example octocat@github.com */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: date-time + @example 2008-01-14T04:33:35Z */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** Format: email + @example org@example.com */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + }; + /** Rate Limit */ + "rate-limit": { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Referenced workflow + @description A workflow referenced/reused by the initial caller workflow */ + "referenced-workflow": { + path: string; + sha: string; + ref?: string; + }; + /** Pull Request Minimal */ + "pull-request-minimal": { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + }; + /** Simple Commit + @description Simple Commit */ + "nullable-simple-commit": { + id: string; + tree_id: string; + message: string; + /** Format: date-time */ + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + } | null; + /** @description The name of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-name": string; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + "code-scanning-analysis-tool-guid": string | null; + /** @description The SHA of the commit to which the analysis you are uploading relates. */ + "code-scanning-analysis-commit-sha": string; + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + "code-scanning-analysis-analysis-key": string; + /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ + "code-scanning-analysis-environment": string; + /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + "code-scanning-analysis-category": string; + /** Format: date-time + @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "code-scanning-analysis-created-at": string; + /** Format: uri + @description The REST API URL of the analysis resource. */ + "code-scanning-analysis-url": string; + "code-scanning-analysis-tool": { + /** @description The name of the tool used to generate the code scanning analysis. */ + name?: string; + /** @description The version of the tool used to generate the code scanning analysis. */ + version?: string | null; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + guid?: string | null; + }; + /** @description The version of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-version": string | null; + /** Collaborator + @description Collaborator */ + "nullable-collaborator": { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name?: string; + } | null; + /** Repository + @description A git repository */ + "nullable-repository": { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + /** Code Of Conduct Simple + @description Code of Conduct Simple */ + "code-of-conduct-simple": { + /** Format: uri + @example https://api.github.com/repos/github/docs/community/code_of_conduct */ + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; + /** Format: uri + @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md */ + html_url: string | null; + }; + "security-and-analysis": { + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + /** Scim Error + @description Scim Error */ + "scim-error": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; + /** Release Asset + @description Data related to a release. */ + "release-asset": { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** @description The file name of the asset. + @example Team Environment */ + name: string; + label: string | null; + /** @description State of the release asset. + @enum {string} */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + uploader: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + }; + /** Reaction Rollup */ + "reaction-rollup": { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + -1: number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + /** Format: date-time + @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "alert-updated-at": string; + /** Code Of Conduct + @description Code Of Conduct */ + "code-of-conduct": { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; }; - }; - }; - }; - /** List pre-receive environments */ - "enterprise-admin/list-pre-receive-environments": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - direction?: components["parameters"]["direction"]; - sort?: "created" | "updated" | "name"; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pre-receive-environment"][]; - }; - }; - }; - }; - /** Create a pre-receive environment */ - "enterprise-admin/create-pre-receive-environment": { - requestBody: { - content: { - "application/json": { - /** @description The new pre-receive environment's name. */ - name: string; - /** @description URL from which to download a tarball of this environment. */ - image_url: string; - }; - }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["pre-receive-environment"]; + /** @description Resource not found */ + not_found: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Requires authentication */ + requires_authentication: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + /** @description Not modified */ + not_modified: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Gone */ + gone: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Service unavailable */ + service_unavailable: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Conflict */ + conflict: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Bad Request */ + bad_request: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + "application/scim+json": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; + }; + }; + /** @description Moved permanently */ + moved_permanently: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; }; - }; - }; - }; - /** Get a pre-receive environment */ - "enterprise-admin/get-pre-receive-environment": { - parameters: { - path: { - pre_receive_environment_id: components["parameters"]["pre-receive-environment-id"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pre-receive-environment"]; - }; - }; - }; - }; - /** - * Delete a pre-receive environment - * @description If you attempt to delete an environment that cannot be deleted, you will receive a `422 Unprocessable Entity` response. - * - * The possible error messages are: - * - * * _Cannot modify or delete the default environment_ - * * _Cannot delete environment that has hooks_ - * * _Cannot delete environment when download is in progress_ - */ - "enterprise-admin/delete-pre-receive-environment": { parameters: { - path: { - pre_receive_environment_id: components["parameters"]["pre-receive-environment-id"]; - }; + /** @description The number of results per page (max 100). */ + "per-page": number; + /** @description Page number of the results to fetch. */ + page: number; + /** @description The unique identifier of the hook. */ + "hook-id": number; + /** @description The direction to sort the results by. */ + direction: "asc" | "desc"; + /** @description The unique identifier of the key. */ + "key-ids": string; + /** @description The unique identifier of the team. */ + "team-id": number; + /** @description The handle for the GitHub user account. */ + username: string; + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The unique identifier of the pre-receive environment. */ + "pre-receive-environment-id": number; + /** @description The unique identifier of the pre-receive hook. */ + "pre-receive-hook-id": number; + /** @description The unique identifier of the token. */ + "token-id": number; + /** @description Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since: string; + /** @description The unique identifier of the installation. */ + "installation-id": number; + /** @description The unique identifier of the grant. */ + "grant-id": number; + /** @description The client ID of the GitHub app. */ + "client-id": string; + /** @description The client ID of the OAuth app. */ + "oauth-client-id": string; + /** @description The unique identifier of the authorization. */ + "authorization-id": number; + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + "audit-log-phrase": string; + /** @description The event types to include: + + - `web` - returns web (non-Git) events. + - `git` - returns Git events. + - `all` - returns both web and Git events. + + The default is `web`. */ + "audit-log-include": "web" | "git" | "all"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + "audit-log-after": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + "audit-log-before": string; + /** @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + + The default is `desc`. */ + "audit-log-order": "desc" | "asc"; + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + "secret-scanning-alert-state": "open" | "resolved"; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + for a complete list of secret types. */ + "secret-scanning-alert-secret-type": string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + "secret-scanning-alert-resolution": string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + "secret-scanning-alert-sort": "created" | "updated"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + "pagination-before": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + "pagination-after": string; + /** @description The unique identifier of the group. */ + "group-id": number; + /** @description The slug of the team name. */ + "team-slug": string; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor: string; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + "workflow-run-branch": string; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event: string; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ + "workflow-run-status": "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting"; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/enterprise-server@3.6/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created: string; + /** @description If `true` pull requests are omitted from the response (empty array). */ + "exclude-pull-requests": boolean; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + "workflow-run-check-suite-id": number; + /** @description The unique identifier of the workflow run. */ + "run-id": number; + /** @description The attempt number of the workflow run. */ + "attempt-number": number; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + "workflow-id": number | string; + /** @description The unique identifier of the autolink. */ + "autolink-id": number; + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + "tool-name": string; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + "tool-guid": string | null; + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + "manifest-path": string; + /** @description The unique identifier of the key. */ + "key-id": number; + /** @description The unique identifier of the release. */ + "release-id": number; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + "alert-number": number; + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + "since-repo": number; + /** @description Used for pagination: the index of the first result to return. */ + "start-index": number; + /** @description Used for pagination: the number of results to return. */ + count: number; + /** @description Identifier generated by the GitHub SCIM endpoint. */ + "scim-group-id": string; + /** @description The unique identifier of the SCIM user. */ + "scim-user-id": string; + }; + requestBodies: never; + headers: { + /** @example ; rel="next", ; rel="last" */ + link: string; + /** @example 5000 */ + "x-rate-limit-limit": number; + /** @example 4999 */ + "x-rate-limit-remaining": number; + /** @example 1590701888 */ + "x-rate-limit-reset": number; + }; + pathItems: never; +} +export type $defs = Record; +interface operations { + "enterprise-admin/list-global-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + type?: string; + id?: number; + name?: string; + active?: boolean; + events?: string[]; + config?: { + url?: string; + content_type?: string; + insecure_ssl?: string; + secret?: string; + }; + updated_at?: string; + created_at?: string; + url?: string; + ping_url?: string; + }[]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Client Errors */ - 422: { - content: { - "application/json": { - message?: string; - errors?: { - resource?: string; - code?: string; - message?: string; - }[]; - }; + "enterprise-admin/create-global-webhook": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Must be passed as "web". */ + name: string; + /** @description Key/value pairs to provide settings for this webhook. */ + config: { + /** @description The URL to which the payloads will be delivered. */ + url: string; + /** @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. */ + content_type?: string; + /** @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.6/webhooks/event-payloads/#delivery-headers) header. */ + secret?: string; + /** @description Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.** */ + insecure_ssl?: string; + }; + /** @description The [events](https://docs.github.com/enterprise-server@3.6/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`. */ + events?: string[]; + /** @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + @default true */ + active: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + type?: string; + id?: number; + name?: string; + active?: boolean; + events?: string[]; + config?: { + url?: string; + content_type?: string; + insecure_ssl?: string; + secret?: string; + }; + updated_at?: string; + created_at?: string; + url?: string; + ping_url?: string; + }; + }; + }; }; - }; }; - }; - /** - * Update a pre-receive environment - * @description You cannot modify the default environment. If you attempt to modify the default environment, you will receive a `422 Unprocessable Entity` response. - */ - "enterprise-admin/update-pre-receive-environment": { - parameters: { - path: { - pre_receive_environment_id: components["parameters"]["pre-receive-environment-id"]; - }; + "enterprise-admin/get-global-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the hook. */ + hook_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + type?: string; + id?: number; + name?: string; + active?: boolean; + events?: string[]; + config?: { + url?: string; + content_type?: string; + insecure_ssl?: string; + secret?: string; + }; + updated_at?: string; + created_at?: string; + url?: string; + ping_url?: string; + }; + }; + }; + }; }; - requestBody?: { - content: { - "application/json": { - /** @description This pre-receive environment's new name. */ - name?: string; - /** @description URL from which to download a tarball of this environment. */ - image_url?: string; + "enterprise-admin/delete-global-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the hook. */ + hook_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pre-receive-environment"]; - }; - }; - /** @description Client Errors */ - 422: { - content: { - "application/json": { - message?: string; - errors?: { - resource?: string; - code?: string; - message?: string; - }[]; - }; - }; - }; - }; - }; - /** - * Start a pre-receive environment download - * @description Triggers a new download of the environment tarball from the environment's `image_url`. When the download is finished, the newly downloaded tarball will overwrite the existing environment. - * - * If a download cannot be triggered, you will receive a `422 Unprocessable Entity` response. - * - * The possible error messages are: - * - * * _Cannot modify or delete the default environment_ - * * _Can not start a new download when a download is in progress_ - */ - "enterprise-admin/start-pre-receive-environment-download": { - parameters: { - path: { - pre_receive_environment_id: components["parameters"]["pre-receive-environment-id"]; - }; + "enterprise-admin/update-global-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the hook. */ + hook_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. */ + config?: { + /** @description The URL to which the payloads will be delivered. */ + url: string; + /** @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. */ + content_type?: string; + /** @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value in the [`X-Hub-Signature`](https://docs.github.com/enterprise-server@3.6/webhooks/event-payloads/#delivery-headers) header. */ + secret?: string; + /** @description Determines whether the SSL certificate of the host for `url` will be verified when delivering payloads. Supported values include `0` (verification is performed) and `1` (verification is not performed). The default is `0`. **We strongly recommend not setting this to `1` as you are subject to man-in-the-middle and other attacks.** */ + insecure_ssl?: string; + }; + /** @description The [events](https://docs.github.com/enterprise-server@3.6/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`. */ + events?: string[]; + /** @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + @default true */ + active: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + type?: string; + id?: number; + name?: string; + active?: boolean; + events?: string[]; + config?: { + url?: string; + content_type?: string; + insecure_ssl?: string; + }; + updated_at?: string; + created_at?: string; + url?: string; + ping_url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["pre-receive-environment-download-status"]; - }; - }; - /** @description Client Errors */ - 422: { - content: { - "application/json": { - message?: string; - errors?: { - resource?: string; - code?: string; - message?: string; - }[]; - }; + "enterprise-admin/ping-global-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the hook. */ + hook_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - }; - /** - * Get the download status for a pre-receive environment - * @description In addition to seeing the download status at the "[Get a pre-receive environment](#get-a-pre-receive-environment)" endpoint, there is also this separate endpoint for just the download status. - */ - "enterprise-admin/get-download-status-for-pre-receive-environment": { - parameters: { - path: { - pre_receive_environment_id: components["parameters"]["pre-receive-environment-id"]; - }; + "enterprise-admin/list-public-keys": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The direction to sort the results by. */ + direction?: "asc" | "desc"; + sort?: "created" | "updated" | "accessed"; + /** @description Only show public keys accessed after the given time. */ + since?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + key: string; + user_id: number | null; + repository_id: number | null; + url: string; + title: string; + read_only: boolean; + verified: boolean; + /** Format: date-time */ + created_at: string; + }[]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pre-receive-environment-download-status"]; + "enterprise-admin/delete-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the key. */ + key_ids: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - }; - /** List pre-receive hooks */ - "enterprise-admin/list-pre-receive-hooks": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "name"; - }; + "enterprise-admin/update-ldap-mapping-for-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: number; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. */ + ldap_dn: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ldap_dn?: string; + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + permission?: string; + members_url?: string; + repositories_url?: string; + parent?: unknown; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pre-receive-hook"][]; - }; - }; - }; - }; - /** Create a pre-receive hook */ - "enterprise-admin/create-pre-receive-hook": { - requestBody: { - content: { - "application/json": { - /** @description The name of the hook. */ - name: string; - /** @description The script that the hook runs. */ - script: string; - /** @description The GitHub repository where the script is kept. */ - script_repository: { - [key: string]: unknown; - }; - /** @description The pre-receive environment where the script is executed. */ - environment: { - [key: string]: unknown; - }; - /** @description The state of enforcement for this hook. default: `disabled` */ - enforcement?: string; - /** @description Whether enforcement can be overridden at the org or repo level. default: `false` */ - allow_downstream_configuration?: boolean; - }; - }; + "enterprise-admin/sync-ldap-mapping-for-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["pre-receive-hook"]; + "enterprise-admin/update-ldap-mapping-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. */ + ldap_dn: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + ldap_dn?: string; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example monalisa octocat */ + name: string | null; + /** @example GitHub */ + company: string | null; + /** @example https://github.com/blog */ + blog: string | null; + /** @example San Francisco */ + location: string | null; + /** Format: email + @example octocat@github.com */ + email: string | null; + hireable: boolean | null; + /** @example There once was... */ + bio: string | null; + /** @example monalisa */ + twitter_username?: string | null; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** Format: date-time + @example 2008-01-14T04:33:35Z */ + created_at: string; + /** Format: date-time + @example 2008-01-14T04:33:35Z */ + updated_at: string; + /** @example 81 */ + private_gists: number; + /** @example 100 */ + total_private_repos: number; + /** @example 100 */ + owned_private_repos: number; + /** @example 10000 */ + disk_usage: number; + /** @example 8 */ + collaborators: number; + /** @example true */ + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + business_plus?: boolean; + }; + }; + }; }; - }; }; - }; - /** Get a pre-receive hook */ - "enterprise-admin/get-pre-receive-hook": { - parameters: { - path: { - pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; - }; + "enterprise-admin/sync-ldap-mapping-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pre-receive-hook"]; + "enterprise-admin/create-org": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The organization's username. */ + login: string; + /** @description The login of the user who will manage this organization. */ + admin: string; + /** @description The organization's display name. */ + profile_name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** Format: uri + @example https://api.github.com/orgs/github */ + url: string; + /** Format: uri + @example https://api.github.com/orgs/github/repos */ + repos_url: string; + /** Format: uri + @example https://api.github.com/orgs/github/events */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + }; + }; + }; }; - }; }; - }; - /** Delete a pre-receive hook */ - "enterprise-admin/delete-pre-receive-hook": { - parameters: { - path: { - pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; - }; + "enterprise-admin/update-org-name": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The organization's new name. */ + login: string; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** Update a pre-receive hook */ - "enterprise-admin/update-pre-receive-hook": { - parameters: { - path: { - pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the hook. */ - name?: string; - /** @description The script that the hook runs. */ - script?: string; - /** @description The GitHub repository where the script is kept. */ - script_repository?: { - [key: string]: unknown; - }; - /** @description The pre-receive environment where the script is executed. */ - environment?: { - [key: string]: unknown; - }; - /** @description The state of enforcement for this hook. */ - enforcement?: string; - /** @description Whether enforcement can be overridden at the org or repo level. */ - allow_downstream_configuration?: boolean; - }; - }; + "enterprise-admin/list-pre-receive-environments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The direction to sort the results by. */ + direction?: "asc" | "desc"; + sort?: "created" | "updated" | "name"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + image_url?: string; + url?: string; + html_url?: string; + default_environment?: boolean; + created_at?: string; + hooks_count?: number; + download?: { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }[]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pre-receive-hook"]; - }; - }; - }; - }; - /** - * List personal access tokens - * @description Lists personal access tokens for all users, including admin users. - */ - "enterprise-admin/list-personal-access-tokens": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "enterprise-admin/create-pre-receive-environment": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The new pre-receive environment's name. */ + name: string; + /** @description URL from which to download a tarball of this environment. */ + image_url: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + image_url?: string; + url?: string; + html_url?: string; + default_environment?: boolean; + created_at?: string; + hooks_count?: number; + download?: { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["authorization"][]; - }; - }; - }; - }; - /** - * Delete a personal access token - * @description Deletes a personal access token. Returns a `403 - Forbidden` status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error. - */ - "enterprise-admin/delete-personal-access-token": { - parameters: { - path: { - token_id: components["parameters"]["token-id"]; - }; + "enterprise-admin/get-pre-receive-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the pre-receive environment. */ + pre_receive_environment_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + image_url?: string; + url?: string; + html_url?: string; + default_environment?: boolean; + created_at?: string; + hooks_count?: number; + download?: { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Create a user - * @description If an external authentication mechanism is used, the login name should match the login name in the external system. If you are using LDAP authentication, you should also [update the LDAP mapping](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#update-ldap-mapping-for-a-user) for the user. - * - * The login name will be normalized to only contain alphanumeric characters or single hyphens. For example, if you send `"octo_cat"` as the login, a user named `"octo-cat"` will be created. - * - * If the login name or email address is already associated with an account, the server will return a `422` response. - */ - "enterprise-admin/create-user": { - requestBody: { - content: { - "application/json": { - /** @description The user's username. */ - login: string; - /** - * @description **Required for built-in authentication.** The user's email - * address. This parameter can be omitted when using CAS, LDAP, or SAML. - * For more information, see "[About authentication for your enterprise](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)." - */ - email?: string; - }; - }; + "enterprise-admin/delete-pre-receive-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the pre-receive environment. */ + pre_receive_environment_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Client Errors */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + errors?: { + resource?: string; + code?: string; + message?: string; + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["simple-user"]; - }; - }; - }; - }; - /** - * Delete a user - * @description Deleting a user will delete all their repositories, gists, applications, and personal settings. [Suspending a user](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#suspend-a-user) is often a better option. - * - * You can delete any user account except your own. - */ - "enterprise-admin/delete-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "enterprise-admin/update-pre-receive-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the pre-receive environment. */ + pre_receive_environment_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description This pre-receive environment's new name. */ + name?: string; + /** @description URL from which to download a tarball of this environment. */ + image_url?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + image_url?: string; + url?: string; + html_url?: string; + default_environment?: boolean; + created_at?: string; + hooks_count?: number; + download?: { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }; + }; + }; + /** @description Client Errors */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + errors?: { + resource?: string; + code?: string; + message?: string; + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** Update the username for a user */ - "enterprise-admin/update-username-for-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "enterprise-admin/start-pre-receive-environment-download": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the pre-receive environment. */ + pre_receive_environment_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }; + }; + /** @description Client Errors */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + errors?: { + resource?: string; + code?: string; + message?: string; + }[]; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The user's new username. */ - login: string; + "enterprise-admin/get-download-status-for-pre-receive-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the pre-receive environment. */ + pre_receive_environment_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": { - message?: string; - url?: string; - }; + "enterprise-admin/list-pre-receive-hooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The direction to sort the results by. */ + direction?: "asc" | "desc"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "name"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + script?: string; + script_repository?: { + id?: number; + full_name?: string; + url?: string; + html_url?: string; + }; + environment?: { + id?: number; + name?: string; + image_url?: string; + url?: string; + html_url?: string; + default_environment?: boolean; + created_at?: string; + hooks_count?: number; + download?: { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }; + allow_downstream_configuration?: boolean; + }[]; + }; + }; }; - }; }; - }; - /** Create an impersonation OAuth token */ - "enterprise-admin/create-impersonation-o-auth-token": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "enterprise-admin/create-pre-receive-hook": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the hook. */ + name: string; + /** @description The script that the hook runs. */ + script: string; + /** @description The GitHub repository where the script is kept. */ + script_repository: { + [key: string]: unknown; + }; + /** @description The pre-receive environment where the script is executed. */ + environment: { + [key: string]: unknown; + }; + /** @description The state of enforcement for this hook. default: `disabled` */ + enforcement?: string; + /** @description Whether enforcement can be overridden at the org or repo level. default: `false` */ + allow_downstream_configuration?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + script?: string; + script_repository?: { + id?: number; + full_name?: string; + url?: string; + html_url?: string; + }; + environment?: { + id?: number; + name?: string; + image_url?: string; + url?: string; + html_url?: string; + default_environment?: boolean; + created_at?: string; + hooks_count?: number; + download?: { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }; + allow_downstream_configuration?: boolean; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description A list of [scopes](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - scopes?: string[]; + "enterprise-admin/get-pre-receive-hook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the pre-receive hook. */ + pre_receive_hook_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + script?: string; + script_repository?: { + id?: number; + full_name?: string; + url?: string; + html_url?: string; + }; + environment?: { + id?: number; + name?: string; + image_url?: string; + url?: string; + html_url?: string; + default_environment?: boolean; + created_at?: string; + hooks_count?: number; + download?: { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }; + allow_downstream_configuration?: boolean; + }; + }; + }; }; - }; }; - responses: { - /** @description Response when getting an existing impersonation OAuth token */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - /** @description Response when creating a new impersonation OAuth token */ - 201: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - }; - }; - /** Delete an impersonation OAuth token */ - "enterprise-admin/delete-impersonation-o-auth-token": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "enterprise-admin/delete-pre-receive-hook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the pre-receive hook. */ + pre_receive_hook_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List installations for the authenticated app - * @description You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - * - * The permissions the installation has are included under the `permissions` key. - */ - "apps/list-installations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - since?: components["parameters"]["since"]; - outdated?: string; - }; + "enterprise-admin/update-pre-receive-hook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the pre-receive hook. */ + pre_receive_hook_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the hook. */ + name?: string; + /** @description The script that the hook runs. */ + script?: string; + /** @description The GitHub repository where the script is kept. */ + script_repository?: { + [key: string]: unknown; + }; + /** @description The pre-receive environment where the script is executed. */ + environment?: { + [key: string]: unknown; + }; + /** @description The state of enforcement for this hook. */ + enforcement?: string; + /** @description Whether enforcement can be overridden at the org or repo level. */ + allow_downstream_configuration?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + script?: string; + script_repository?: { + id?: number; + full_name?: string; + url?: string; + html_url?: string; + }; + environment?: { + id?: number; + name?: string; + image_url?: string; + url?: string; + html_url?: string; + default_environment?: boolean; + created_at?: string; + hooks_count?: number; + download?: { + url?: string; + state?: string; + downloaded_at?: string | null; + message?: string | null; + }; + }; + allow_downstream_configuration?: boolean; + }; + }; + }; + }; }; - responses: { - /** @description The permissions the installation has are included under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["installation"][]; - }; - }; - }; - }; - /** - * Get an installation for the authenticated app - * @description Enables an authenticated GitHub App to find an installation's information using the installation id. - * - * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; + "enterprise-admin/list-personal-access-tokens": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }[]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create an installation access token for an app - * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. - * - * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/create-installation-access-token": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description List of repository names that the token should have access to */ - repositories?: string[]; - /** - * @description List of repository IDs that the token should have access to - * @example [ - * 1 - * ] - */ - repository_ids?: number[]; - permissions?: components["schemas"]["app-permissions"]; - }; - }; + "enterprise-admin/delete-personal-access-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the token. */ + token_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["installation-token"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List your grants - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. - */ - "oauth-authorizations/list-grants": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description The client ID of your GitHub app. */ - client_id?: string; - }; + "enterprise-admin/create-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The user's username. */ + login: string; + /** @description **Required for built-in authentication.** The user's email + address. This parameter can be omitted when using CAS, LDAP, or SAML. + For more information, see "[About authentication for your enterprise](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)." */ + email?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["application-grant"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a single grant - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - */ - "oauth-authorizations/get-grant": { - parameters: { - path: { - grant_id: components["parameters"]["grant-id"]; - }; + "enterprise-admin/delete-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["application-grant"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Delete a grant - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). - */ - "oauth-authorizations/delete-grant": { - parameters: { - path: { - grant_id: components["parameters"]["grant-id"]; - }; + "enterprise-admin/update-username-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The user's new username. */ + login: string; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Check a token - * @description OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/check-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; + "enterprise-admin/create-impersonation-o-auth-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of [scopes](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ + scopes?: string[]; + }; + }; + }; + responses: { + /** @description Response when getting an existing impersonation OAuth token */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + /** @description Response when creating a new impersonation OAuth token */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth application. */ - access_token: string; + "enterprise-admin/delete-impersonation-o-auth-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Reset a token - * @description OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/reset-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; + "apps/list-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: string; + outdated?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The ID of the installation. + @example 1 */ + id: number; + account: ({ + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | { + /** @description A short description of the enterprise. */ + description?: string | null; + /** Format: uri + @example https://github.com/enterprises/octo-business */ + html_url: string; + /** Format: uri + @description The enterprise's website URL. */ + website_url?: string | null; + /** @description Unique identifier of the enterprise + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the enterprise. + @example Octo Business */ + name: string; + /** @description The slug url identifier for the enterprise. + @example octo-business */ + slug: string; + /** Format: date-time + @example 2019-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2019-01-26T19:14:43Z */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }) | null; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** Format: uri + @example https://api.github.com/installations/1/access_tokens */ + access_tokens_url: string; + /** Format: uri + @example https://api.github.com/installation/repositories */ + repositories_url: string; + /** Format: uri + @example https://github.com/organizations/github/settings/installations/1 */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + /** Simple User + @description Simple User */ + suspended_by: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }[]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth application. */ - access_token: string; + "apps/get-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The ID of the installation. + @example 1 */ + id: number; + account: ({ + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | { + /** @description A short description of the enterprise. */ + description?: string | null; + /** Format: uri + @example https://github.com/enterprises/octo-business */ + html_url: string; + /** Format: uri + @description The enterprise's website URL. */ + website_url?: string | null; + /** @description Unique identifier of the enterprise + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the enterprise. + @example Octo Business */ + name: string; + /** @description The slug url identifier for the enterprise. + @example octo-business */ + slug: string; + /** Format: date-time + @example 2019-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2019-01-26T19:14:43Z */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }) | null; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** Format: uri + @example https://api.github.com/installations/1/access_tokens */ + access_tokens_url: string; + /** Format: uri + @example https://api.github.com/installation/repositories */ + repositories_url: string; + /** Format: uri + @example https://github.com/organizations/github/settings/installations/1 */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + /** Simple User + @description Simple User */ + suspended_by: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a scoped access token - * @description Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/scope-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The OAuth access token used to authenticate to the GitHub API. - * @example e72e16c7e42f292c6912e7710c838347ae178b4a - */ - access_token: string; - /** - * @description The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified. - * @example octocat - */ - target?: string; - /** - * @description The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified. - * @example 1 - */ - target_id?: number; - /** @description The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified. */ - repositories?: string[]; - /** - * @description The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. - * @example [ - * 1 - * ] - */ - repository_ids?: number[]; - permissions?: components["schemas"]["app-permissions"]; - }; - }; + "apps/create-installation-access-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description List of repository names that the token should have access to */ + repositories?: string[]; + /** @description List of repository IDs that the token should have access to + @example [ + 1 + ] */ + repository_ids?: number[]; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions?: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + token: string; + expires_at: string; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions?: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @enum {string} */ + repository_selection?: "all" | "selected"; + repositories?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }[]; + /** @example README.md */ + single_file?: string; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + }; + }; + }; + /** @description Requires authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List your authorizations - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - */ - "oauth-authorizations/list-authorizations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description The client ID of your GitHub app. */ - client_id?: string; - }; + "oauth-authorizations/list-grants": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The client ID of your GitHub app. */ + client_id?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example 1 */ + id: number; + /** Format: uri + @example https://api.github.com/applications/grants/1 */ + url: string; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + /** Format: date-time + @example 2011-09-06T17:26:27Z */ + created_at: string; + /** Format: date-time + @example 2011-09-06T20:39:23Z */ + updated_at: string; + /** @example [ + "public_repo" + ] */ + scopes: string[]; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + }[]; + }; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["authorization"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a new authorization - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). - * - * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - * - * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. - * - * You can also create tokens on GitHub Enterprise Server from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://docs.github.com/articles/creating-an-access-token-for-command-line-use). - * - * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). - */ - "oauth-authorizations/create-authorization": { - requestBody?: { - content: { - "application/json": { - /** - * @description A list of scopes that this authorization is in. - * @example [ - * "public_repo", - * "user" - * ] - */ - scopes?: string[] | null; - /** - * @description A note to remind you what the OAuth token is for. - * @example Update all gems - */ - note?: string; - /** @description A URL to remind you what app the OAuth token is for. */ - note_url?: string; - /** @description The OAuth app client key for which to create the token. */ - client_id?: string; - /** @description The OAuth app client secret for which to create the token. */ - client_secret?: string; - /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ - fingerprint?: string; - }; - }; + "oauth-authorizations/get-grant": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the grant. */ + grant_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example 1 */ + id: number; + /** Format: uri + @example https://api.github.com/applications/grants/1 */ + url: string; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + /** Format: date-time + @example 2011-09-06T17:26:27Z */ + created_at: string; + /** Format: date-time + @example 2011-09-06T20:39:23Z */ + updated_at: string; + /** @example [ + "public_repo" + ] */ + scopes: string[]; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + }; + }; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/authorizations/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get-or-create an authorization for a specific app - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). - * - * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. - * - * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - * - * **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - */ - "oauth-authorizations/get-or-create-authorization-for-app": { - parameters: { - path: { - client_id: components["parameters"]["oauth-client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The OAuth app client secret for which to create the token. */ - client_secret: string; - /** - * @description A list of scopes that this authorization is in. - * @example [ - * "public_repo", - * "user" - * ] - */ - scopes?: string[] | null; - /** - * @description A note to remind you what the OAuth token is for. - * @example Update all gems - */ - note?: string; - /** @description A URL to remind you what app the OAuth token is for. */ - note_url?: string; - /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ - fingerprint?: string; - }; - }; + "oauth-authorizations/delete-grant": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the grant. */ + grant_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description if returning an existing token */ - 200: { - headers: { - /** @example https://api.github.com/authorizations/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - /** @description **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ - 201: { - headers: { - /** @example https://api.github.com/authorizations/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get-or-create an authorization for a specific app and fingerprint - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). - * - * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. - * - * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - */ - "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint": { - parameters: { - path: { - client_id: components["parameters"]["oauth-client-id"]; - fingerprint: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The OAuth app client secret for which to create the token. */ - client_secret: string; - /** - * @description A list of scopes that this authorization is in. - * @example [ - * "public_repo", - * "user" - * ] - */ - scopes?: string[] | null; - /** - * @description A note to remind you what the OAuth token is for. - * @example Update all gems - */ - note?: string; - /** @description A URL to remind you what app the OAuth token is for. */ - note_url?: string; - }; - }; + "apps/check-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + }; }; - responses: { - /** @description if returning an existing token */ - 200: { - headers: { - /** @example https://api.github.com/authorizations/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - /** @description Response if returning a new token */ - 201: { - headers: { - /** @example https://api.github.com/authorizations/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a single authorization - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - */ - "oauth-authorizations/get-authorization": { - parameters: { - path: { - authorization_id: components["parameters"]["authorization-id"]; - }; + "apps/reset-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Delete an authorization - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - */ - "oauth-authorizations/delete-authorization": { - parameters: { - path: { - authorization_id: components["parameters"]["authorization-id"]; - }; + "apps/scope-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. + @example e72e16c7e42f292c6912e7710c838347ae178b4a */ + access_token: string; + /** @description The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified. + @example octocat */ + target?: string; + /** @description The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified. + @example 1 */ + target_id?: number; + /** @description The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified. */ + repositories?: string[]; + /** @description The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. + @example [ + 1 + ] */ + repository_ids?: number[]; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions?: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + /** @description Requires authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Update an existing authorization - * @deprecated - * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - * - * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - * - * You can only send one of these scope keys at a time. - */ - "oauth-authorizations/update-authorization": { - parameters: { - path: { - authorization_id: components["parameters"]["authorization-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description A list of scopes that this authorization is in. - * @example [ - * "public_repo", - * "user" - * ] - */ - scopes?: string[] | null; - /** @description A list of scopes to add to this authorization. */ - add_scopes?: string[]; - /** @description A list of scopes to remove from this authorization. */ - remove_scopes?: string[]; - /** - * @description A note to remind you what the OAuth token is for. - * @example Update all gems - */ - note?: string; - /** @description A URL to remind you what app the OAuth token is for. */ - note_url?: string; - /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ - fingerprint?: string; - }; - }; + "oauth-authorizations/list-authorizations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The client ID of your GitHub app. */ + client_id?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }[]; + }; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get the global announcement banner - * @description Gets the current message and expiration date of the global announcement banner in your enterprise. - */ - "enterprise-admin/get-announcement": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["announcement"]; - }; - }; - }; - }; - /** - * Remove the global announcement banner - * @description Removes the global announcement banner in your enterprise. - */ - "enterprise-admin/remove-announcement": { - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Set the global announcement banner - * @description Sets the message and expiration time for the global announcement banner in your enterprise. - */ - "enterprise-admin/set-announcement": { - requestBody: { - content: { - "application/json": components["schemas"]["announcement"]; - }; + "oauth-authorizations/create-authorization": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description A list of scopes that this authorization is in. + @example [ + "public_repo", + "user" + ] */ + scopes?: string[] | null; + /** @description A note to remind you what the OAuth token is for. + @example Update all gems */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description The OAuth app client key for which to create the token. */ + client_id?: string; + /** @description The OAuth app client secret for which to create the token. */ + client_secret?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/authorizations/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Gone */ + 410: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["announcement"]; + "oauth-authorizations/get-or-create-authorization-for-app": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the OAuth app. */ + client_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth app client secret for which to create the token. */ + client_secret: string; + /** @description A list of scopes that this authorization is in. + @example [ + "public_repo", + "user" + ] */ + scopes?: string[] | null; + /** @description A note to remind you what the OAuth token is for. + @example Update all gems */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + responses: { + /** @description if returning an existing token */ + 200: { + headers: { + /** @example https://api.github.com/authorizations/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + /** @description **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + 201: { + headers: { + /** @example https://api.github.com/authorizations/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; }; - }; }; - }; - /** Get license information */ - "enterprise-admin/get-license-information": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["license-info"]; + "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the OAuth app. */ + client_id: string; + fingerprint: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth app client secret for which to create the token. */ + client_secret: string; + /** @description A list of scopes that this authorization is in. + @example [ + "public_repo", + "user" + ] */ + scopes?: string[] | null; + /** @description A note to remind you what the OAuth token is for. + @example Update all gems */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + }; + }; + }; + responses: { + /** @description if returning an existing token */ + 200: { + headers: { + /** @example https://api.github.com/authorizations/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + /** @description Response if returning a new token */ + 201: { + headers: { + /** @example https://api.github.com/authorizations/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; }; - }; }; - }; - /** Get all statistics */ - "enterprise-admin/get-all-stats": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-overview"]; + "oauth-authorizations/get-authorization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the authorization. */ + authorization_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; }; - }; }; - }; - /** Get comment statistics */ - "enterprise-admin/get-comment-stats": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-comment-overview"]; + "oauth-authorizations/delete-authorization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the authorization. */ + authorization_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; }; - }; }; - }; - /** Get gist statistics */ - "enterprise-admin/get-gist-stats": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-gist-overview"]; + "oauth-authorizations/update-authorization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the authorization. */ + authorization_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description A list of scopes that this authorization is in. + @example [ + "public_repo", + "user" + ] */ + scopes?: string[] | null; + /** @description A list of scopes to add to this authorization. */ + add_scopes?: string[]; + /** @description A list of scopes to remove from this authorization. */ + remove_scopes?: string[]; + /** @description A note to remind you what the OAuth token is for. + @example Update all gems */ + note?: string; + /** @description A URL to remind you what app the OAuth token is for. */ + note_url?: string; + /** @description A unique string to distinguish an authorization from others created for the same client ID and user. */ + fingerprint?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + /** Format: uri */ + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; + /** Format: uri */ + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + /** Simple User + @description Simple User */ + user?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Scoped Installation */ + installation?: { + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repositories_url: string; + /** Simple User + @description Simple User */ + account: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + } | null; + /** Format: date-time */ + expires_at: string | null; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; }; - }; }; - }; - /** Get hooks statistics */ - "enterprise-admin/get-hooks-stats": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-hook-overview"]; + "enterprise-admin/get-announcement": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." + @example Very **important** announcement about _nothing_. */ + announcement: string; + /** Format: date-time + @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. + @example "2021-01-01T00:00:00.000-07:00" */ + expires_at?: string | null; + }; + }; + }; }; - }; }; - }; - /** Get issue statistics */ - "enterprise-admin/get-issue-stats": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-issue-overview"]; + "enterprise-admin/remove-announcement": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - }; - /** Get milestone statistics */ - "enterprise-admin/get-milestone-stats": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-milestone-overview"]; + "enterprise-admin/set-announcement": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." + @example Very **important** announcement about _nothing_. */ + announcement: string; + /** Format: date-time + @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. + @example "2021-01-01T00:00:00.000-07:00" */ + expires_at?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." + @example Very **important** announcement about _nothing_. */ + announcement: string; + /** Format: date-time + @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. + @example "2021-01-01T00:00:00.000-07:00" */ + expires_at?: string | null; + }; + }; + }; }; - }; }; - }; - /** Get organization statistics */ - "enterprise-admin/get-org-stats": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-organization-overview"]; + "enterprise-admin/get-license-information": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats?: string | number; + seats_used?: number; + seats_available?: string | number; + kind?: string; + days_until_expiration?: number; + expire_at?: string; + }; + }; + }; }; - }; }; - }; - /** Get pages statistics */ - "enterprise-admin/get-pages-stats": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-page-overview"]; + "enterprise-admin/get-all-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** Repository Enterprise Stats */ + repos?: { + total_repos: number; + root_repos: number; + fork_repos: number; + org_repos: number; + total_pushes: number; + total_wikis: number; + }; + /** Hooks Enterprise Stats */ + hooks?: { + total_hooks: number; + active_hooks: number; + inactive_hooks: number; + }; + /** Enterprise Pages Stats */ + pages?: { + total_pages: number; + }; + /** Enterprise Organization Stats */ + orgs?: { + total_orgs: number; + disabled_orgs: number; + total_teams: number; + total_team_members: number; + }; + /** Enterprise User Stats */ + users?: { + total_users: number; + admin_users: number; + suspended_users: number; + }; + /** Enterprise Pull Request Stats */ + pulls?: { + total_pulls: number; + merged_pulls: number; + mergeable_pulls: number; + unmergeable_pulls: number; + }; + /** Enterprise Issue Stats */ + issues?: { + total_issues: number; + open_issues: number; + closed_issues: number; + }; + /** Enterprise Milestone Stats */ + milestones?: { + total_milestones: number; + open_milestones: number; + closed_milestones: number; + }; + /** Enterprise Gist Stats */ + gists?: { + total_gists: number; + private_gists: number; + public_gists: number; + }; + /** Enterprise Comment Stats */ + comments?: { + total_commit_comments: number; + total_gist_comments: number; + total_issue_comments: number; + total_pull_request_comments: number; + }; + }; + }; + }; }; - }; }; - }; - /** Get pull request statistics */ - "enterprise-admin/get-pull-request-stats": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-pull-request-overview"]; + "enterprise-admin/get-comment-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_commit_comments: number; + total_gist_comments: number; + total_issue_comments: number; + total_pull_request_comments: number; + }; + }; + }; }; - }; }; - }; - /** Get repository statistics */ - "enterprise-admin/get-repo-stats": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-repository-overview"]; + "enterprise-admin/get-gist-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_gists: number; + private_gists: number; + public_gists: number; + }; + }; + }; }; - }; }; - }; - /** Get users statistics */ - "enterprise-admin/get-user-stats": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-user-overview"]; - }; - }; - }; - }; - /** - * Get GitHub Actions cache usage policy for an enterprise - * @description Gets the GitHub Actions cache usage policy for an enterprise. - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. - */ - "actions/get-actions-cache-usage-policy-for-enterprise": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - }; + "enterprise-admin/get-hooks-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_hooks: number; + active_hooks: number; + inactive_hooks: number; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["actions-cache-usage-policy-enterprise"]; - }; - }; - }; - }; - /** - * Set GitHub Actions cache usage policy for an enterprise - * @description Sets the GitHub Actions cache usage policy for an enterprise. - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. - */ - "actions/set-actions-cache-usage-policy-for-enterprise": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - }; + "enterprise-admin/get-issue-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_issues: number; + open_issues: number; + closed_issues: number; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["actions-cache-usage-policy-enterprise"]; - }; + "enterprise-admin/get-milestone-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_milestones: number; + open_milestones: number; + closed_milestones: number; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get allowed actions for an enterprise - * @description Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/get-allowed-actions-enterprise": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - }; + "enterprise-admin/get-org-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_orgs: number; + disabled_orgs: number; + total_teams: number; + total_team_members: number; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - }; - }; - /** - * Set allowed actions for an enterprise - * @description Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." - * - * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - */ - "enterprise-admin/set-allowed-actions-enterprise": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - }; + "enterprise-admin/get-pages-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_pages: number; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; + "enterprise-admin/get-pull-request-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_pulls: number; + merged_pulls: number; + mergeable_pulls: number; + unmergeable_pulls: number; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get the audit log for an enterprise - * @description Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. - */ - "enterprise-admin/get-audit-log": { - parameters: { - query?: { - phrase?: components["parameters"]["audit-log-phrase"]; - include?: components["parameters"]["audit-log-include"]; - after?: components["parameters"]["audit-log-after"]; - before?: components["parameters"]["audit-log-before"]; - order?: components["parameters"]["audit-log-order"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - enterprise: components["parameters"]["enterprise"]; - }; + "enterprise-admin/get-repo-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_repos: number; + root_repos: number; + fork_repos: number; + org_repos: number; + total_pushes: number; + total_wikis: number; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["audit-log-event"][]; - }; - }; - }; - }; - /** - * List secret scanning alerts for an enterprise - * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). - */ - "secret-scanning/list-alerts-for-enterprise": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - }; - path: { - enterprise: components["parameters"]["enterprise"]; - }; + "enterprise-admin/get-user-stats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_users: number; + admin_users: number; + suspended_users: number; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "actions/get-actions-cache-usage-policy-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + }; + cookie?: never; }; - content: { - "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes. + @example 10 */ + repo_cache_size_limit_in_gb?: number; + /** @description For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes. + @example 15 */ + max_repo_cache_size_limit_in_gb?: number; + }; + }; + }; }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; }; - }; - /** Get GitHub Enterprise Server meta information */ - "meta/get": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["api-overview"]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * List custom repository roles in an organization - * @description List the custom repository roles available in this organization. In order to see custom - * repository roles in an organization, the authenticated user must be an organization owner. - * - * To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. - * GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. - * - * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". - */ - "orgs/list-custom-roles": { - parameters: { - path: { - /** @description The unique identifier of the organization. */ - organization_id: string; - }; + "actions/set-actions-cache-usage-policy-for-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes. + @example 10 */ + repo_cache_size_limit_in_gb?: number; + /** @description For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes. + @example 15 */ + max_repo_cache_size_limit_in_gb?: number; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response - list of custom role names */ - 200: { - content: { - "application/json": { - /** - * @description The number of custom roles in this organization - * @example 3 - */ - total_count?: number; - custom_roles?: components["schemas"]["organization-custom-repository-role"][]; - }; - }; - }; - }; - }; - /** - * Get an organization - * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub Enterprise Server plan. See "[Authenticating with GitHub Apps](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub Enterprise Server plan information' below." - */ - "orgs/get": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; + "enterprise-admin/get-allowed-actions-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed: string[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update an organization - * @description **Parameter Deprecation Notice:** GitHub Enterprise Server will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - * - * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. - */ - "orgs/update": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Billing email address. This address is not publicized. */ - billing_email?: string; - /** @description The company name. */ - company?: string; - /** @description The publicly visible email address. */ - email?: string; - /** @description The Twitter username of the company. */ - twitter_username?: string; - /** @description The location. */ - location?: string; - /** @description The shorthand name of the company. */ - name?: string; - /** @description The description of the company. */ - description?: string; - /** @description Whether an organization can use organization projects. */ - has_organization_projects?: boolean; - /** @description Whether repositories that belong to the organization can use repository projects. */ - has_repository_projects?: boolean; - /** - * @description Default permission level members have for organization repositories. - * @default read - * @enum {string} - */ - default_repository_permission?: "read" | "write" | "admin" | "none"; - /** - * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. - * @default true - */ - members_can_create_repositories?: boolean; - /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_internal_repositories?: boolean; - /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_private_repositories?: boolean; - /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_public_repositories?: boolean; - /** - * @description Specifies which types of repositories non-admin organization members can create. - * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. - * @enum {string} - */ - members_allowed_repository_creation_type?: "all" | "private" | "none"; - /** - * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_pages?: boolean; - /** - * @description Whether organization members can fork private organization repositories. - * @default false - */ - members_can_fork_private_repositories?: boolean; - /** - * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. - * @default false - */ - web_commit_signoff_required?: boolean; - /** @example "http://github.blog" */ - blog?: string; - }; - }; + "enterprise-admin/set-allowed-actions-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 409: components["responses"]["conflict"]; - /** @description Validation failed */ - 422: { - content: { - "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; - }; - }; - }; - }; - /** - * Get allowed actions for an organization - * @description Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/get-allowed-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; + "enterprise-admin/get-audit-log": { + parameters: { + query?: { + /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + phrase?: string; + /** @description The event types to include: + + - `web` - returns web (non-Git) events. + - `git` - returns Git events. + - `all` - returns both web and Git events. + + The default is `web`. */ + include?: "web" | "git" | "all"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: string; + /** @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + + The default is `desc`. */ + order?: "desc" | "asc"; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The number of results per page (max 100). */ + per_page?: number; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + "@timestamp"?: number; + /** @description The name of the action that was performed, for example `user.login` or `repo.create`. */ + action?: string; + active?: boolean; + active_was?: boolean; + /** @description The actor who performed the action. */ + actor?: string; + /** @description The id of the actor who performed the action. */ + actor_id?: number; + actor_location?: { + country_name?: string; + }; + data?: { + [key: string]: unknown; + }; + org_id?: number; + /** @description The username of the account being blocked. */ + blocked_user?: string; + business?: string; + config?: Record[]; + config_was?: Record[]; + content_type?: string; + /** @description The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + created_at?: number; + deploy_key_fingerprint?: string; + /** @description A unique identifier for an audit event. */ + _document_id?: string; + emoji?: string; + events?: Record[]; + events_were?: Record[]; + explanation?: string; + fingerprint?: string; + hook_id?: number; + limited_availability?: boolean; + message?: string; + name?: string; + old_user?: string; + openssh_public_key?: string; + org?: string; + previous_visibility?: string; + read_only?: boolean; + /** @description The name of the repository. */ + repo?: string; + /** @description The name of the repository. */ + repository?: string; + repository_public?: boolean; + target_login?: string; + team?: string; + /** @description The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol?: number; + /** @description A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol_name?: string; + /** @description The user that was affected by the action performed (if available). */ + user?: string; + /** @description The repository visibility, for example `public` or `private`. */ + visibility?: string; + }[]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - }; - }; - /** - * Set allowed actions for an organization - * @description Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. - * - * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-allowed-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; + "secret-scanning/list-alerts-for-enterprise": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: "open" | "resolved"; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + for a complete list of secret types. */ + secret_type?: string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: "created" | "updated"; + /** @description The direction to sort the results by. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: string; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The security alert number. */ + readonly number?: number; + /** Format: date-time + @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly created_at?: string; + /** Format: date-time + @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly updated_at?: string | null; + /** Format: uri + @description The REST API URL of the alert resource. */ + readonly url?: string; + /** Format: uri + @description The GitHub URL of the alert resource. */ + readonly html_url?: string; + /** Format: uri + @description The REST API URL of the code locations for this alert. */ + locations_url?: string; + /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + @enum {string} */ + state?: "open" | "resolved"; + /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + @enum {string|null} */ + resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; + /** Format: date-time + @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + resolved_at?: string | null; + /** Simple User + @description Simple User */ + resolved_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description User-friendly name for the detected secret, matching the `secret_type`. + For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** Simple Repository + @description Simple Repository */ + repository?: { + /** @description A unique identifier of the repository. + @example 1296269 */ + id: number; + /** @description The GraphQL identifier of the repository. + @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Hello-World */ + name: string; + /** @description The full, globally unique, name of the repository. + @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private. */ + private: boolean; + /** Format: uri + @description The URL to view the repository on GitHub.com. + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @description The repository description. + @example This your first repo! */ + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** Format: uri + @description The URL to get more information about the repository from the GitHub API. + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @description A template for the API URL to download the repository as an archive. + @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @description A template for the API URL to list the available assignees for issues in the repository. + @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @description A template for the API URL to get information about branches in the repository. + @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @description A template for the API URL to get information about collaborators of the repository. + @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @description A template for the API URL to get information about comments on the repository. + @example https://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @description A template for the API URL to get information about commits on the repository. + @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @description A template for the API URL to compare two commits or refs. + @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @description A template for the API URL to get the contents of the repository. + @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @description A template for the API URL to list the contributors to the repository. + @example https://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @description The API URL to list the deployments of the repository. + @example https://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @description The API URL to list the downloads on the repository. + @example https://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @description The API URL to list the events of the repository. + @example https://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @description The API URL to list the forks of the repository. + @example https://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @description A template for the API URL to get information about Git commits of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @description A template for the API URL to get information about Git refs of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @description A template for the API URL to get information about Git tags of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @description A template for the API URL to get information about issue comments on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @description A template for the API URL to get information about issue events on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @description A template for the API URL to get information about issues on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @description A template for the API URL to get information about deploy keys on the repository. + @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @description A template for the API URL to get information about labels of the repository. + @example https://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @description The API URL to get information about the languages of the repository. + @example https://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @description The API URL to merge branches in the repository. + @example https://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @description A template for the API URL to get information about milestones of the repository. + @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @description A template for the API URL to get information about notifications on the repository. + @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @description A template for the API URL to get information about pull requests on the repository. + @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @description A template for the API URL to get information about releases on the repository. + @example https://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** Format: uri + @description The API URL to list the stargazers on the repository. + @example https://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @description A template for the API URL to get information about statuses of a commit. + @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @description The API URL to list the subscribers on the repository. + @example https://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @description The API URL to subscribe to notifications for this repository. + @example https://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @description The API URL to get information about tags on the repository. + @example https://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @description The API URL to list the teams on the repository. + @example https://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** Format: uri + @description The API URL to list the hooks on the repository. + @example https://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + }; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + /** Simple User + @description Simple User */ + push_protection_bypassed_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time + @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + push_protection_bypassed_at?: string | null; + }[]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Service unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + }; }; - requestBody?: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; + "meta/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example true */ + verifiable_password_authentication: boolean; + /** @example [ + "13.65.0.0/16", + "157.55.204.33/32", + "2a01:111:f403:f90c::/62" + ] */ + packages?: string[]; + /** @example [ + "192.168.7.15/32", + "192.168.7.16/32" + ] */ + dependabot?: string[]; + /** @example 3.6.0 */ + installed_version?: string; + }; + }; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get the audit log for an organization - * @description Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." - * - * To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. - * - * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.6/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." - * - * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#pagination)." - */ - "orgs/get-audit-log": { - parameters: { - query?: { - phrase?: components["parameters"]["audit-log-phrase"]; - include?: components["parameters"]["audit-log-include"]; - after?: components["parameters"]["audit-log-after"]; - before?: components["parameters"]["audit-log-before"]; - order?: components["parameters"]["audit-log-order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; + "orgs/list-custom-roles": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the organization. */ + organization_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response - list of custom role names */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The number of custom roles in this organization + @example 3 */ + total_count?: number; + custom_roles?: { + /** @description The unique identifier of the custom role. */ + id: number; + /** @description The name of the custom role. */ + name: string; + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["audit-log-event"][]; - }; - }; - }; - }; - /** - * Get an external group - * @description Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - "teams/external-idp-group-info-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - group_id: components["parameters"]["group-id"]; - }; + "orgs/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** Format: uri + @example https://api.github.com/orgs/github */ + url: string; + /** Format: uri + @example https://api.github.com/orgs/github/repos */ + repos_url: string; + /** Format: uri + @example https://api.github.com/orgs/github/events */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** Format: uri + @example https://github.com/blog */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** Format: email + @example octocat@github.com */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: date-time + @example 2008-01-14T04:33:35Z */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** Format: email + @example org@example.com */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["external-group"]; - }; - }; - }; - }; - /** - * List external groups in an organization - * @description Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub Enterprise Server generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - "teams/list-external-idp-groups-for-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - /** @description Page token */ - page?: number; - /** @description Limits the list to groups containing the text in the group name */ - display_name?: string; - }; - path: { - org: components["parameters"]["org"]; - }; + "orgs/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Billing email address. This address is not publicized. */ + billing_email?: string; + /** @description The company name. */ + company?: string; + /** @description The publicly visible email address. */ + email?: string; + /** @description The Twitter username of the company. */ + twitter_username?: string; + /** @description The location. */ + location?: string; + /** @description The shorthand name of the company. */ + name?: string; + /** @description The description of the company. */ + description?: string; + /** @description Whether an organization can use organization projects. */ + has_organization_projects?: boolean; + /** @description Whether repositories that belong to the organization can use repository projects. */ + has_repository_projects?: boolean; + /** @description Default permission level members have for organization repositories. + @default read + @enum {string} */ + default_repository_permission: "read" | "write" | "admin" | "none"; + /** @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + @default true */ + members_can_create_repositories: boolean; + /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_internal_repositories?: boolean; + /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_private_repositories?: boolean; + /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_public_repositories?: boolean; + /** @description Specifies which types of repositories non-admin organization members can create. + **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + @enum {string} */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. + @default true */ + members_can_create_pages: boolean; + /** @description Whether organization members can fork private organization repositories. + @default false */ + members_can_fork_private_repositories: boolean; + /** @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. + @default false */ + web_commit_signoff_required: boolean; + /** @example "http://github.blog" */ + blog?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** Format: uri + @example https://api.github.com/orgs/github */ + url: string; + /** Format: uri + @example https://api.github.com/orgs/github/repos */ + repos_url: string; + /** Format: uri + @example https://api.github.com/orgs/github/events */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** Format: uri + @example https://github.com/blog */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** Format: email + @example octocat@github.com */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: date-time + @example 2008-01-14T04:33:35Z */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** Format: email + @example org@example.com */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + }; + }; + }; + /** @description Conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + } | { + message: string; + documentation_url: string; + errors?: string[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["external-groups"]; - }; - }; - }; - }; - /** - * Get an organization installation for the authenticated app - * @description Enables an authenticated GitHub App to find the organization's installation information. - * - * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-org-installation": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; + "actions/get-allowed-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed: string[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - /** - * List app installations for an organization - * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. - */ - "orgs/list-app-installations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; + "actions/set-allowed-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "orgs/get-audit-log": { + parameters: { + query?: { + /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ + phrase?: string; + /** @description The event types to include: + + - `web` - returns web (non-Git) events. + - `git` - returns Git events. + - `all` - returns both web and Git events. + + The default is `web`. */ + include?: "web" | "git" | "all"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ + after?: string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ + before?: string; + /** @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. + + The default is `desc`. */ + order?: "desc" | "asc"; + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; }; - content: { - "application/json": { - total_count: number; - installations: components["schemas"]["installation"][]; - }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + "@timestamp"?: number; + /** @description The name of the action that was performed, for example `user.login` or `repo.create`. */ + action?: string; + active?: boolean; + active_was?: boolean; + /** @description The actor who performed the action. */ + actor?: string; + /** @description The id of the actor who performed the action. */ + actor_id?: number; + actor_location?: { + country_name?: string; + }; + data?: { + [key: string]: unknown; + }; + org_id?: number; + /** @description The username of the account being blocked. */ + blocked_user?: string; + business?: string; + config?: Record[]; + config_was?: Record[]; + content_type?: string; + /** @description The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ + created_at?: number; + deploy_key_fingerprint?: string; + /** @description A unique identifier for an audit event. */ + _document_id?: string; + emoji?: string; + events?: Record[]; + events_were?: Record[]; + explanation?: string; + fingerprint?: string; + hook_id?: number; + limited_availability?: boolean; + message?: string; + name?: string; + old_user?: string; + openssh_public_key?: string; + org?: string; + previous_visibility?: string; + read_only?: boolean; + /** @description The name of the repository. */ + repo?: string; + /** @description The name of the repository. */ + repository?: string; + repository_public?: boolean; + target_login?: string; + team?: string; + /** @description The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol?: number; + /** @description A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ + transport_protocol_name?: string; + /** @description The user that was affected by the action performed (if available). */ + user?: string; + /** @description The repository visibility, for example `public` or `private`. */ + visibility?: string; + }[]; + }; + }; }; - }; }; - }; - /** - * List pre-receive hooks for an organization - * @description List all pre-receive hooks that are enabled or testing for this organization as well as any disabled hooks that can be configured at the organization level. Globally disabled pre-receive hooks that do not allow downstream configuration are not listed. - */ - "enterprise-admin/list-pre-receive-hooks-for-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - direction?: components["parameters"]["direction"]; - /** @description The sort order for the response collection. */ - sort?: "created" | "updated" | "name"; - }; - path: { - org: components["parameters"]["org"]; - }; + "teams/external-idp-group-info-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The unique identifier of the group. */ + group_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The internal ID of the group + @example 1 */ + group_id: number; + /** @description The display name for the group + @example group-azuread-test */ + group_name: string; + /** @description The date when the group was last updated_at + @example 2021-01-03 22:27:15:000 -700 */ + updated_at?: string; + /** @description An array of teams linked to this group + @example [ + { + "team_id": 1, + "team_name": "team-test" + }, + { + "team_id": 2, + "team_name": "team-test2" + } + ] */ + teams: { + /** @description The id for a team + @example 1 */ + team_id: number; + /** @description The name of the team + @example team-test */ + team_name: string; + }[]; + /** @description An array of external members linked to this group + @example [ + { + "member_id": 1, + "member_login": "mona-lisa_eocsaxrs", + "member_name": "Mona Lisa", + "member_email": "mona_lisa@github.com" + }, + { + "member_id": 2, + "member_login": "octo-lisa_eocsaxrs", + "member_name": "Octo Lisa", + "member_email": "octo_lisa@github.com" + } + ] */ + members: { + /** @description The internal user ID of the identity + @example 1 */ + member_id: number; + /** @description The handle/login for the user + @example mona-lisa_eocsaxrs */ + member_login: string; + /** @description The user display name/profile name + @example Mona Lisa */ + member_name: string; + /** @description An email attached to a user + @example mona_lisa@github.com */ + member_email: string; + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-pre-receive-hook"][]; + "teams/list-external-idp-groups-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page token */ + page?: number; + /** @description Limits the list to groups containing the text in the group name */ + display_name?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description An array of external groups available to be mapped to a team + @example [ + { + "group_id": 1, + "group_name": "group-azuread-test", + "updated_at": "2021-01-03 22:27:15:000 -700" + }, + { + "group_id": 2, + "group_name": "group-azuread-test2", + "updated_at": "2021-06-03 22:27:15:000 -700" + } + ] */ + groups?: { + /** @description The internal ID of the group + @example 1 */ + group_id: number; + /** @description The display name of the group + @example group-azuread-test */ + group_name: string; + /** @description The time of the last update for this group + @example 2019-06-03 22:27:15:000 -700 */ + updated_at: string; + }[]; + }; + }; + }; }; - }; }; - }; - /** Get a pre-receive hook for an organization */ - "enterprise-admin/get-pre-receive-hook-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; - }; + "apps/get-org-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The ID of the installation. + @example 1 */ + id: number; + account: ({ + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | { + /** @description A short description of the enterprise. */ + description?: string | null; + /** Format: uri + @example https://github.com/enterprises/octo-business */ + html_url: string; + /** Format: uri + @description The enterprise's website URL. */ + website_url?: string | null; + /** @description Unique identifier of the enterprise + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the enterprise. + @example Octo Business */ + name: string; + /** @description The slug url identifier for the enterprise. + @example octo-business */ + slug: string; + /** Format: date-time + @example 2019-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2019-01-26T19:14:43Z */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }) | null; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** Format: uri + @example https://api.github.com/installations/1/access_tokens */ + access_tokens_url: string; + /** Format: uri + @example https://api.github.com/installation/repositories */ + repositories_url: string; + /** Format: uri + @example https://github.com/organizations/github/settings/installations/1 */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + /** Simple User + @description Simple User */ + suspended_by: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-pre-receive-hook"]; - }; - }; - }; - }; - /** - * Remove pre-receive hook enforcement for an organization - * @description Removes any overrides for this hook at the org level for this org. - */ - "enterprise-admin/remove-pre-receive-hook-enforcement-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; - }; + "orgs/list-app-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + installations: { + /** @description The ID of the installation. + @example 1 */ + id: number; + account: ({ + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | { + /** @description A short description of the enterprise. */ + description?: string | null; + /** Format: uri + @example https://github.com/enterprises/octo-business */ + html_url: string; + /** Format: uri + @description The enterprise's website URL. */ + website_url?: string | null; + /** @description Unique identifier of the enterprise + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the enterprise. + @example Octo Business */ + name: string; + /** @description The slug url identifier for the enterprise. + @example octo-business */ + slug: string; + /** Format: date-time + @example 2019-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2019-01-26T19:14:43Z */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }) | null; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** Format: uri + @example https://api.github.com/installations/1/access_tokens */ + access_tokens_url: string; + /** Format: uri + @example https://api.github.com/installation/repositories */ + repositories_url: string; + /** Format: uri + @example https://github.com/organizations/github/settings/installations/1 */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + /** Simple User + @description Simple User */ + suspended_by: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-pre-receive-hook"]; - }; - }; - }; - }; - /** - * Update pre-receive hook enforcement for an organization - * @description For pre-receive hooks which are allowed to be configured at the org level, you can set `enforcement` and `allow_downstream_configuration` - */ - "enterprise-admin/update-pre-receive-hook-enforcement-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; - }; + "enterprise-admin/list-pre-receive-hooks-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The direction to sort the results by. */ + direction?: "asc" | "desc"; + /** @description The sort order for the response collection. */ + sort?: "created" | "updated" | "name"; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + configuration_url?: string; + allow_downstream_configuration?: boolean; + }[]; + }; + }; + }; }; - requestBody?: { - content: { - "application/json": { - /** @description The state of enforcement for the hook on this repository. */ - enforcement?: string; - /** @description Whether repositories can override enforcement. */ - allow_downstream_configuration?: boolean; + "enterprise-admin/get-pre-receive-hook-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The unique identifier of the pre-receive hook. */ + pre_receive_hook_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + configuration_url?: string; + allow_downstream_configuration?: boolean; + }; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-pre-receive-hook"]; - }; - }; - }; - }; - /** - * List secret scanning alerts for an organization - * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-alerts-for-org": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - }; + "enterprise-admin/remove-pre-receive-hook-enforcement-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The unique identifier of the pre-receive hook. */ + pre_receive_hook_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + configuration_url?: string; + allow_downstream_configuration?: boolean; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-secret-scanning-alert"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Create a team - * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." - * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". - */ - "teams/create": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the team. */ - name: string; - /** @description The description of the team. */ - description?: string; - /** @description List GitHub IDs for organization members who will become team maintainers. */ - maintainers?: string[]; - /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ - repo_names?: string[]; - /** - * @description The level of privacy this team should have. The options are: - * **For a non-nested team:** - * \* `secret` - only visible to organization owners and members of this team. - * \* `closed` - visible to all members of this organization. - * Default: `secret` - * **For a parent or child team:** - * \* `closed` - visible to all members of this organization. - * Default for child team: `closed` - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: number; - /** @description The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. LDAP synchronization must be enabled to map LDAP entries to a team. Use the "[Update LDAP mapping for a team](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#update-ldap-mapping-for-a-team)" endpoint to change the LDAP DN. For more information, see "[Using LDAP](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-ldap#enabling-ldap-sync)." */ - ldap_dn?: string; - }; - }; + "enterprise-admin/update-pre-receive-hook-enforcement-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The unique identifier of the pre-receive hook. */ + pre_receive_hook_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The state of enforcement for the hook on this repository. */ + enforcement?: string; + /** @description Whether repositories can override enforcement. */ + allow_downstream_configuration?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + configuration_url?: string; + allow_downstream_configuration?: boolean; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List a connection between an external group and a team - * @description Lists a connection between a team and an external group. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - "teams/list-linked-external-idp-groups-to-team-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; + "secret-scanning/list-alerts-for-org": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: "open" | "resolved"; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + for a complete list of secret types. */ + secret_type?: string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: "created" | "updated"; + /** @description The direction to sort the results by. */ + direction?: "asc" | "desc"; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The number of results per page (max 100). */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The security alert number. */ + readonly number?: number; + /** Format: date-time + @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly created_at?: string; + /** Format: date-time + @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly updated_at?: string | null; + /** Format: uri + @description The REST API URL of the alert resource. */ + readonly url?: string; + /** Format: uri + @description The GitHub URL of the alert resource. */ + readonly html_url?: string; + /** Format: uri + @description The REST API URL of the code locations for this alert. */ + locations_url?: string; + /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + @enum {string} */ + state?: "open" | "resolved"; + /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + @enum {string|null} */ + resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; + /** Format: date-time + @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + resolved_at?: string | null; + /** Simple User + @description Simple User */ + resolved_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description User-friendly name for the detected secret, matching the `secret_type`. + For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** Simple Repository + @description Simple Repository */ + repository?: { + /** @description A unique identifier of the repository. + @example 1296269 */ + id: number; + /** @description The GraphQL identifier of the repository. + @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Hello-World */ + name: string; + /** @description The full, globally unique, name of the repository. + @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private. */ + private: boolean; + /** Format: uri + @description The URL to view the repository on GitHub.com. + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @description The repository description. + @example This your first repo! */ + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** Format: uri + @description The URL to get more information about the repository from the GitHub API. + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @description A template for the API URL to download the repository as an archive. + @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @description A template for the API URL to list the available assignees for issues in the repository. + @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @description A template for the API URL to get information about branches in the repository. + @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @description A template for the API URL to get information about collaborators of the repository. + @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @description A template for the API URL to get information about comments on the repository. + @example https://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @description A template for the API URL to get information about commits on the repository. + @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @description A template for the API URL to compare two commits or refs. + @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @description A template for the API URL to get the contents of the repository. + @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @description A template for the API URL to list the contributors to the repository. + @example https://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @description The API URL to list the deployments of the repository. + @example https://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @description The API URL to list the downloads on the repository. + @example https://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @description The API URL to list the events of the repository. + @example https://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @description The API URL to list the forks of the repository. + @example https://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @description A template for the API URL to get information about Git commits of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @description A template for the API URL to get information about Git refs of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @description A template for the API URL to get information about Git tags of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @description A template for the API URL to get information about issue comments on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @description A template for the API URL to get information about issue events on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @description A template for the API URL to get information about issues on the repository. + @example https://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @description A template for the API URL to get information about deploy keys on the repository. + @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @description A template for the API URL to get information about labels of the repository. + @example https://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @description The API URL to get information about the languages of the repository. + @example https://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @description The API URL to merge branches in the repository. + @example https://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @description A template for the API URL to get information about milestones of the repository. + @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @description A template for the API URL to get information about notifications on the repository. + @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @description A template for the API URL to get information about pull requests on the repository. + @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @description A template for the API URL to get information about releases on the repository. + @example https://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** Format: uri + @description The API URL to list the stargazers on the repository. + @example https://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @description A template for the API URL to get information about statuses of a commit. + @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @description The API URL to list the subscribers on the repository. + @example https://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @description The API URL to subscribe to notifications for this repository. + @example https://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @description The API URL to get information about tags on the repository. + @example https://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @description The API URL to list the teams on the repository. + @example https://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. + @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** Format: uri + @description The API URL to list the hooks on the repository. + @example https://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + }; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + /** Simple User + @description Simple User */ + push_protection_bypassed_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time + @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + push_protection_bypassed_at?: string | null; + }[]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Service unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["external-groups"]; - }; - }; - }; - }; - /** - * Remove the connection between an external group and a team - * @description Deletes a connection between a team and an external group. - * - * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "teams/unlink-external-idp-group-from-team-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; + "teams/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** @description List GitHub IDs for organization members who will become team maintainers. */ + maintainers?: string[]; + /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ + repo_names?: string[]; + /** @description The level of privacy this team should have. The options are: + **For a non-nested team:** + \* `secret` - only visible to organization owners and members of this team. + \* `closed` - visible to all members of this organization. + Default: `secret` + **For a parent or child team:** + \* `closed` - visible to all members of this organization. + Default for child team: `closed` + @enum {string} */ + privacy?: "secret" | "closed"; + /** @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + @default pull + @enum {string} */ + permission: "pull" | "push"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number; + /** @description The [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. LDAP synchronization must be enabled to map LDAP entries to a team. Use the "[Update LDAP mapping for a team](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#update-ldap-mapping-for-a-team)" endpoint to change the LDAP DN. For more information, see "[Using LDAP](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/authenticating-users-for-your-github-enterprise-server-instance/using-ldap#enabling-ldap-sync)." */ + ldap_dn?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Unique identifier of the team + @example 42 */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** Format: uri + @description URL for the team + @example https://api.github.com/organizations/1/team/1 */ + url: string; + /** Format: uri + @example https://github.com/orgs/rails/teams/core */ + html_url: string; + /** @description Name of the team + @example Developers */ + name: string; + /** @example justice-league */ + slug: string; + /** @example A great team. */ + description: string | null; + /** @description The level of privacy this team should have + @example closed + @enum {string} */ + privacy?: "closed" | "secret"; + /** @description Permission that the team will have for its repositories + @example push */ + permission: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** Format: uri + @example https://api.github.com/organizations/1/team/1/repos */ + repositories_url: string; + /** Team Simple + @description Groups of organization members that gives permissions on specified repositories. */ + parent?: { + /** @description Unique identifier of the team + @example 1 */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** Format: uri + @description URL for the team + @example https://api.github.com/organizations/1/team/1 */ + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; + /** @description Name of the team + @example Justice League */ + name: string; + /** @description Description of the team + @example A great team. */ + description: string | null; + /** @description Permission that the team will have for its repositories + @example admin */ + permission: string; + /** @description The level of privacy this team should have + @example closed */ + privacy?: string; + /** Format: uri + @example https://github.com/orgs/rails/teams/core */ + html_url: string; + /** Format: uri + @example https://api.github.com/organizations/1/team/1/repos */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** @description Distinguished Name (DN) that team maps to within LDAP environment + @example uid=example,ou=users,dc=github,dc=com */ + ldap_dn?: string; + } | null; + /** @example 3 */ + members_count: number; + /** @example 10 */ + repos_count: number; + /** Format: date-time + @example 2017-07-14T16:53:42Z */ + created_at: string; + /** Format: date-time + @example 2017-08-17T12:37:15Z */ + updated_at: string; + /** Team Organization + @description Team Organization */ + organization: { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** Format: uri + @example https://api.github.com/orgs/github */ + url: string; + /** Format: uri + @example https://api.github.com/orgs/github/repos */ + repos_url: string; + /** Format: uri + @example https://api.github.com/orgs/github/events */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ + name?: string; + /** @example GitHub */ + company?: string; + /** Format: uri + @example https://github.com/blog */ + blog?: string; + /** @example San Francisco */ + location?: string; + /** Format: email + @example octocat@github.com */ + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: date-time + @example 2008-01-14T04:33:35Z */ + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** Format: email + @example org@example.com */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + }; + /** @description Distinguished Name (DN) that team maps to within LDAP environment + @example uid=example,ou=users,dc=github,dc=com */ + ldap_dn?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update the connection between an external group and a team - * @description Creates a connection between a team and an external group. Only one external group can be linked to a team. - * - * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. - */ - "teams/link-external-idp-group-to-team-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description External Group Id - * @example 1 - */ - group_id: number; - }; - }; + "teams/list-linked-external-idp-groups-to-team-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The slug of the team name. */ + team_slug: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description An array of external groups available to be mapped to a team + @example [ + { + "group_id": 1, + "group_name": "group-azuread-test", + "updated_at": "2021-01-03 22:27:15:000 -700" + }, + { + "group_id": 2, + "group_name": "group-azuread-test2", + "updated_at": "2021-06-03 22:27:15:000 -700" + } + ] */ + groups?: { + /** @description The internal ID of the group + @example 1 */ + group_id: number; + /** @description The display name of the group + @example group-azuread-test */ + group_name: string; + /** @description The time of the last update for this group + @example 2019-06-03 22:27:15:000 -700 */ + updated_at: string; + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["external-group"]; - }; - }; - }; - }; - /** - * Get rate limit status for the authenticated user - * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. - * - * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. - */ - "rate-limit/get": { - responses: { - /** @description Response */ - 200: { - headers: { - "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; - "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; - "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; - }; - content: { - "application/json": components["schemas"]["rate-limit-overview"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get GitHub Actions cache usage policy for a repository - * @description Gets GitHub Actions cache usage policy for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-actions-cache-usage-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/unlink-external-idp-group-from-team-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The slug of the team name. */ + team_slug: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-cache-usage-policy-for-repository"]; - }; - }; - }; - }; - /** - * Set GitHub Actions cache usage policy for a repository - * @description Sets GitHub Actions cache usage policy for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/set-actions-cache-usage-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/link-external-idp-group-to-team-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The slug of the team name. */ + team_slug: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description External Group Id + @example 1 */ + group_id: number; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The internal ID of the group + @example 1 */ + group_id: number; + /** @description The display name for the group + @example group-azuread-test */ + group_name: string; + /** @description The date when the group was last updated_at + @example 2021-01-03 22:27:15:000 -700 */ + updated_at?: string; + /** @description An array of teams linked to this group + @example [ + { + "team_id": 1, + "team_name": "team-test" + }, + { + "team_id": 2, + "team_name": "team-test2" + } + ] */ + teams: { + /** @description The id for a team + @example 1 */ + team_id: number; + /** @description The name of the team + @example team-test */ + team_name: string; + }[]; + /** @description An array of external members linked to this group + @example [ + { + "member_id": 1, + "member_login": "mona-lisa_eocsaxrs", + "member_name": "Mona Lisa", + "member_email": "mona_lisa@github.com" + }, + { + "member_id": 2, + "member_login": "octo-lisa_eocsaxrs", + "member_name": "Octo Lisa", + "member_email": "octo_lisa@github.com" + } + ] */ + members: { + /** @description The internal user ID of the identity + @example 1 */ + member_id: number; + /** @description The handle/login for the user + @example mona-lisa_eocsaxrs */ + member_login: string; + /** @description The user display name/profile name + @example Mona Lisa */ + member_name: string; + /** @description An email attached to a user + @example mona_lisa@github.com */ + member_email: string; + }[]; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["actions-cache-usage-policy-for-repository"]; - }; + "rate-limit/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example 5000 */ + "X-RateLimit-Limit"?: number; + /** @example 4999 */ + "X-RateLimit-Remaining"?: number; + /** @example 1590701888 */ + "X-RateLimit-Reset"?: number; + [name: string]: unknown; + }; + content: { + "application/json": { + resources: { + /** Rate Limit */ + core: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + graphql?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + search: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + source_import?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + integration_manifest?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + code_scanning_upload?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + actions_runner_registration?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** Rate Limit */ + scim?: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + }; + /** Rate Limit */ + rate: { + limit: number; + remaining: number; + reset: number; + used: number; + }; + }; + }; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get allowed actions for a repository - * @description Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/get-allowed-actions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/get-actions-cache-usage-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The size limit for the sum of all caches, in gigabytes. + @example 14 */ + repo_cache_size_limit_in_gb: number; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - }; - }; - /** - * Set allowed actions for a repository - * @description Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. - * - * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/set-allowed-actions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/set-actions-cache-usage-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The size limit for the sum of all caches, in gigabytes. + @example 14 */ + repo_cache_size_limit_in_gb: number; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody?: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; + "actions/get-allowed-actions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed: string[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List workflow runs for a repository - * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-workflow-runs-for-repo": { - parameters: { - query?: { - actor?: components["parameters"]["actor"]; - branch?: components["parameters"]["workflow-run-branch"]; - event?: components["parameters"]["event"]; - status?: components["parameters"]["workflow-run-status"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - created?: components["parameters"]["created"]; - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/set-allowed-actions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ + patterns_allowed: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "actions/list-workflow-runs-for-repo": { + parameters: { + query?: { + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: string; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: string; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: string; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ + status?: "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting"; + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/enterprise-server@3.6/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: string; + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: boolean; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; }; - content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: { + /** @description The ID of the workflow run. + @example 5 */ + id: number; + /** @description The name of the workflow run. + @example Build */ + name?: string | null; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** @description The ID of the associated check suite. + @example 42 */ + check_suite_id?: number; + /** @description The node ID of the associated check suite. + @example MDEwOkNoZWNrU3VpdGU0Mg== */ + check_suite_node_id?: string; + /** @example master */ + head_branch: string | null; + /** @description The SHA of the head commit that points to the version of the workflow being run. + @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ + head_sha: string; + /** @description The full path of the workflow + @example octocat/octo-repo/.github/workflows/ci.yml@main */ + path: string; + /** @description The auto incrementing run number for the workflow run. + @example 106 */ + run_number: number; + /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. + @example 1 */ + run_attempt?: number; + referenced_workflows?: { + path: string; + sha: string; + ref?: string; + }[] | null; + /** @example push */ + event: string; + /** @example completed */ + status: string | null; + /** @example neutral */ + conclusion: string | null; + /** @description The ID of the parent workflow. + @example 5 */ + workflow_id: number; + /** @description The URL to the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ + url: string; + /** @example https://github.com/github/hello-world/suites/4 */ + html_url: string; + pull_requests: { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + }[] | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + actor?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** Simple User + @description Simple User */ + triggering_actor?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** Format: date-time + @description The start time of the latest run. Resets on re-run. */ + run_started_at?: string; + /** @description The URL to the jobs for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs */ + jobs_url: string; + /** @description The URL to download the logs for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs */ + logs_url: string; + /** @description The URL to the associated check suite. + @example https://api.github.com/repos/github/hello-world/check-suites/12 */ + check_suite_url: string; + /** @description The URL to the artifacts for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts */ + artifacts_url: string; + /** @description The URL to cancel the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel */ + cancel_url: string; + /** @description The URL to rerun the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun */ + rerun_url: string; + /** @description The URL to the previous attempted run of this workflow, if one exists. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 */ + previous_attempt_url?: string | null; + /** @description The URL to the workflow. + @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml */ + workflow_url: string; + /** Simple Commit + @description Simple Commit */ + head_commit: { + id: string; + tree_id: string; + message: string; + /** Format: date-time */ + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + } | null; + /** Minimal Repository + @description Minimal Repository */ + repository: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** Minimal Repository + @description Minimal Repository */ + head_repository: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** @example 5 */ + head_repository_id?: number; + }[]; + }; + }; + }; }; - }; }; - }; - /** - * Get a workflow run - * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow-run": { - parameters: { - query?: { - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; + "actions/get-workflow-run": { + parameters: { + query?: { + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: boolean; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The unique identifier of the workflow run. */ + run_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The ID of the workflow run. + @example 5 */ + id: number; + /** @description The name of the workflow run. + @example Build */ + name?: string | null; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** @description The ID of the associated check suite. + @example 42 */ + check_suite_id?: number; + /** @description The node ID of the associated check suite. + @example MDEwOkNoZWNrU3VpdGU0Mg== */ + check_suite_node_id?: string; + /** @example master */ + head_branch: string | null; + /** @description The SHA of the head commit that points to the version of the workflow being run. + @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ + head_sha: string; + /** @description The full path of the workflow + @example octocat/octo-repo/.github/workflows/ci.yml@main */ + path: string; + /** @description The auto incrementing run number for the workflow run. + @example 106 */ + run_number: number; + /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. + @example 1 */ + run_attempt?: number; + referenced_workflows?: { + path: string; + sha: string; + ref?: string; + }[] | null; + /** @example push */ + event: string; + /** @example completed */ + status: string | null; + /** @example neutral */ + conclusion: string | null; + /** @description The ID of the parent workflow. + @example 5 */ + workflow_id: number; + /** @description The URL to the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ + url: string; + /** @example https://github.com/github/hello-world/suites/4 */ + html_url: string; + pull_requests: { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + }[] | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + actor?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** Simple User + @description Simple User */ + triggering_actor?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** Format: date-time + @description The start time of the latest run. Resets on re-run. */ + run_started_at?: string; + /** @description The URL to the jobs for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs */ + jobs_url: string; + /** @description The URL to download the logs for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs */ + logs_url: string; + /** @description The URL to the associated check suite. + @example https://api.github.com/repos/github/hello-world/check-suites/12 */ + check_suite_url: string; + /** @description The URL to the artifacts for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts */ + artifacts_url: string; + /** @description The URL to cancel the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel */ + cancel_url: string; + /** @description The URL to rerun the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun */ + rerun_url: string; + /** @description The URL to the previous attempted run of this workflow, if one exists. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 */ + previous_attempt_url?: string | null; + /** @description The URL to the workflow. + @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml */ + workflow_url: string; + /** Simple Commit + @description Simple Commit */ + head_commit: { + id: string; + tree_id: string; + message: string; + /** Format: date-time */ + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + } | null; + /** Minimal Repository + @description Minimal Repository */ + repository: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** Minimal Repository + @description Minimal Repository */ + head_repository: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** @example 5 */ + head_repository_id?: number; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run"]; - }; - }; - }; - }; - /** - * Get a workflow run attempt - * @description Gets a specific workflow run attempt. Anyone with read access to the repository - * can use this endpoint. If the repository is private you must use an access token - * with the `repo` scope. GitHub Apps must have the `actions:read` permission to - * use this endpoint. - */ - "actions/get-workflow-run-attempt": { - parameters: { - query?: { - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - attempt_number: components["parameters"]["attempt-number"]; - }; + "actions/get-workflow-run-attempt": { + parameters: { + query?: { + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: boolean; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The unique identifier of the workflow run. */ + run_id: number; + /** @description The attempt number of the workflow run. */ + attempt_number: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The ID of the workflow run. + @example 5 */ + id: number; + /** @description The name of the workflow run. + @example Build */ + name?: string | null; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** @description The ID of the associated check suite. + @example 42 */ + check_suite_id?: number; + /** @description The node ID of the associated check suite. + @example MDEwOkNoZWNrU3VpdGU0Mg== */ + check_suite_node_id?: string; + /** @example master */ + head_branch: string | null; + /** @description The SHA of the head commit that points to the version of the workflow being run. + @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ + head_sha: string; + /** @description The full path of the workflow + @example octocat/octo-repo/.github/workflows/ci.yml@main */ + path: string; + /** @description The auto incrementing run number for the workflow run. + @example 106 */ + run_number: number; + /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. + @example 1 */ + run_attempt?: number; + referenced_workflows?: { + path: string; + sha: string; + ref?: string; + }[] | null; + /** @example push */ + event: string; + /** @example completed */ + status: string | null; + /** @example neutral */ + conclusion: string | null; + /** @description The ID of the parent workflow. + @example 5 */ + workflow_id: number; + /** @description The URL to the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ + url: string; + /** @example https://github.com/github/hello-world/suites/4 */ + html_url: string; + pull_requests: { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + }[] | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + actor?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** Simple User + @description Simple User */ + triggering_actor?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** Format: date-time + @description The start time of the latest run. Resets on re-run. */ + run_started_at?: string; + /** @description The URL to the jobs for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs */ + jobs_url: string; + /** @description The URL to download the logs for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs */ + logs_url: string; + /** @description The URL to the associated check suite. + @example https://api.github.com/repos/github/hello-world/check-suites/12 */ + check_suite_url: string; + /** @description The URL to the artifacts for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts */ + artifacts_url: string; + /** @description The URL to cancel the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel */ + cancel_url: string; + /** @description The URL to rerun the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun */ + rerun_url: string; + /** @description The URL to the previous attempted run of this workflow, if one exists. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 */ + previous_attempt_url?: string | null; + /** @description The URL to the workflow. + @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml */ + workflow_url: string; + /** Simple Commit + @description Simple Commit */ + head_commit: { + id: string; + tree_id: string; + message: string; + /** Format: date-time */ + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + } | null; + /** Minimal Repository + @description Minimal Repository */ + repository: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** Minimal Repository + @description Minimal Repository */ + head_repository: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** @example 5 */ + head_repository_id?: number; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run"]; - }; - }; - }; - }; - /** - * List workflow runs for a workflow - * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - */ - "actions/list-workflow-runs": { - parameters: { - query?: { - actor?: components["parameters"]["actor"]; - branch?: components["parameters"]["workflow-run-branch"]; - event?: components["parameters"]["event"]; - status?: components["parameters"]["workflow-run-status"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - created?: components["parameters"]["created"]; - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; + "actions/list-workflow-runs": { + parameters: { + query?: { + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: string; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: string; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: string; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ + status?: "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting"; + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/enterprise-server@3.6/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: string; + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: boolean; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: number | string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: { + /** @description The ID of the workflow run. + @example 5 */ + id: number; + /** @description The name of the workflow run. + @example Build */ + name?: string | null; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** @description The ID of the associated check suite. + @example 42 */ + check_suite_id?: number; + /** @description The node ID of the associated check suite. + @example MDEwOkNoZWNrU3VpdGU0Mg== */ + check_suite_node_id?: string; + /** @example master */ + head_branch: string | null; + /** @description The SHA of the head commit that points to the version of the workflow being run. + @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ + head_sha: string; + /** @description The full path of the workflow + @example octocat/octo-repo/.github/workflows/ci.yml@main */ + path: string; + /** @description The auto incrementing run number for the workflow run. + @example 106 */ + run_number: number; + /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. + @example 1 */ + run_attempt?: number; + referenced_workflows?: { + path: string; + sha: string; + ref?: string; + }[] | null; + /** @example push */ + event: string; + /** @example completed */ + status: string | null; + /** @example neutral */ + conclusion: string | null; + /** @description The ID of the parent workflow. + @example 5 */ + workflow_id: number; + /** @description The URL to the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ + url: string; + /** @example https://github.com/github/hello-world/suites/4 */ + html_url: string; + pull_requests: { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + }[] | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + actor?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** Simple User + @description Simple User */ + triggering_actor?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** Format: date-time + @description The start time of the latest run. Resets on re-run. */ + run_started_at?: string; + /** @description The URL to the jobs for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs */ + jobs_url: string; + /** @description The URL to download the logs for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs */ + logs_url: string; + /** @description The URL to the associated check suite. + @example https://api.github.com/repos/github/hello-world/check-suites/12 */ + check_suite_url: string; + /** @description The URL to the artifacts for the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts */ + artifacts_url: string; + /** @description The URL to cancel the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel */ + cancel_url: string; + /** @description The URL to rerun the workflow run. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun */ + rerun_url: string; + /** @description The URL to the previous attempted run of this workflow, if one exists. + @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 */ + previous_attempt_url?: string | null; + /** @description The URL to the workflow. + @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml */ + workflow_url: string; + /** Simple Commit + @description Simple Commit */ + head_commit: { + id: string; + tree_id: string; + message: string; + /** Format: date-time */ + timestamp: string; + author: { + name: string; + email: string; + } | null; + committer: { + name: string; + email: string; + } | null; + } | null; + /** Minimal Repository + @description Minimal Repository */ + repository: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** Minimal Repository + @description Minimal Repository */ + head_repository: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; + /** @example 5 */ + head_repository_id?: number; + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "repos/list-autolinks": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example 3 */ + id: number; + /** @description The prefix of a key that is linkified. + @example TICKET- */ + key_prefix: string; + /** @description A template for the target URL that is generated if a key was found. + @example https://example.com/TICKET?query= */ + url_template: string; + }[]; + }; + }; }; - content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; - }; - }; - }; - }; - /** - * List all autolinks of a repository - * @description This returns a list of autolinks configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - "repos/list-autolinks": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["autolink"][]; - }; - }; - }; - }; - /** - * Create an autolink reference for a repository - * @description Users with admin access to the repository can create an autolink. - */ - "repos/create-autolink": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The prefix appended by a number will generate a link any time it is found in an issue, pull request, or commit. */ - key_prefix: string; - /** @description The URL must contain `` for the reference number. */ - url_template: string; - /** - * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. - * @default true - */ - is_alphanumeric?: boolean; - }; - }; + "repos/create-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The prefix appended by a number will generate a link any time it is found in an issue, pull request, or commit. */ + key_prefix: string; + /** @description The URL must contain `` for the reference number. */ + url_template: string; + /** @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. + @default true */ + is_alphanumeric: boolean; + }; + }; + }; + responses: { + /** @description response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example 3 */ + id: number; + /** @description The prefix of a key that is linkified. + @example TICKET- */ + key_prefix: string; + /** @description A template for the target URL that is generated if a key was found. + @example https://example.com/TICKET?query= */ + url_template: string; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + }; }; - responses: { - /** @description response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["autolink"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an autolink reference of a repository - * @description This returns a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - "repos/get-autolink": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - autolink_id: components["parameters"]["autolink-id"]; - }; + "repos/get-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The unique identifier of the autolink. */ + autolink_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example 3 */ + id: number; + /** @description The prefix of a key that is linkified. + @example TICKET- */ + key_prefix: string; + /** @description A template for the target URL that is generated if a key was found. + @example https://example.com/TICKET?query= */ + url_template: string; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["autolink"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List code scanning analyses for a repository - * @description Lists the details of all code scanning analyses for a repository, - * starting with the most recent. - * The response is paginated and you can use the `page` and `per_page` parameters - * to list the analyses you're interested in. - * By default 30 analyses are listed per page. - * - * The `rules_count` field in the response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * **Deprecation notice**: - * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. - */ - "code-scanning/list-recent-analyses": { - parameters: { - query?: { - tool_name?: components["parameters"]["tool-name"]; - tool_guid?: components["parameters"]["tool-guid"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ - ref?: components["schemas"]["code-scanning-ref"]; - /** @description Filter analyses belonging to the same SARIF upload. */ - sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "code-scanning/list-recent-analyses": { + parameters: { + query?: { + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: string; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: string | null; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: string; + /** @description Filter analyses belonging to the same SARIF upload. */ + sarif_id?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The full Git reference, formatted as `refs/heads/`, + `refs/pull//merge`, or `refs/pull//head`. */ + ref: string; + /** @description The SHA of the commit to which the analysis you are uploading relates. */ + commit_sha: string; + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ + environment: string; + /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + category?: string; + /** @example error reading field xyz */ + error: string; + /** Format: date-time + @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly created_at: string; + /** @description The total number of results in the analysis. */ + results_count: number; + /** @description The total number of rules used in the analysis. */ + rules_count: number; + /** @description Unique identifier for this analysis. */ + id: number; + /** Format: uri + @description The REST API URL of the analysis resource. */ + readonly url: string; + /** @description An identifier for the upload. + @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 */ + sarif_id: string; + tool: { + /** @description The name of the tool used to generate the code scanning analysis. */ + name?: string; + /** @description The version of the tool used to generate the code scanning analysis. */ + version?: string | null; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + guid?: string | null; + }; + deletable: boolean; + /** @description Warning generated when processing the analysis + @example 123 results were ignored */ + warning: string; + }[]; + }; + }; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Service unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-analysis"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List repository collaborators - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - "repos/list-collaborators": { - parameters: { - query?: { - /** @description Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ - affiliation?: "outside" | "direct" | "all"; - /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ - permission?: "pull" | "triage" | "push" | "maintain" | "admin"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-collaborators": { + parameters: { + query?: { + /** @description Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ + permission?: "pull" | "triage" | "push" | "maintain" | "admin"; + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name?: string; + }[]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["collaborator"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get repository permissions for a user - * @description Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. - */ - "repos/get-collaborator-permission-level": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; + "repos/get-collaborator-permission-level": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if user has admin permissions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + permission: string; + /** @example admin */ + role_name: string; + /** Collaborator + @description Collaborator */ + user: { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name?: string; + } | null; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description if user has admin permissions */ - 200: { - content: { - "application/json": components["schemas"]["repository-collaborator-permission"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a diff of the dependencies between commits - * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. - */ - "dependency-graph/diff-range": { - parameters: { - query?: { - name?: components["parameters"]["manifest-path"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ - basehead: string; - }; + "dependency-graph/diff-range": { + parameters: { + query?: { + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + name?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ + basehead: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @enum {string} */ + change_type: "added" | "removed"; + /** @example path/to/package-lock.json */ + manifest: string; + /** @example npm */ + ecosystem: string; + /** @example @actions/core */ + name: string; + /** @example 1.0.0 */ + version: string; + /** @example pkg:/npm/%40actions/core@1.1.0 */ + package_url: string | null; + /** @example MIT */ + license: string | null; + /** @example https://github.com/github/actions */ + source_repository_url: string | null; + vulnerabilities: { + /** @example critical */ + severity: string; + /** @example GHSA-rf4j-j272-fj86 */ + advisory_ghsa_id: string; + /** @example A summary of the advisory. */ + advisory_summary: string; + /** @example https://github.com/advisories/GHSA-rf4j-j272-fj86 */ + advisory_url: string; + }[]; + }[]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["dependency-graph-diff"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a fork - * @description Create a fork for the authenticated user. - * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Enterprise Server Support](https://support.github.com/contact?tags=dotcom-rest-api). - */ - "repos/create-fork": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Optional parameter to specify the organization name if forking into an organization. */ - organization?: string; - } | null; - }; + "repos/create-fork": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Optional parameter to specify the organization name if forking into an organization. */ + organization?: string; + } | null; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @example true */ + is_template?: boolean; + /** @example [ + "octocat", + "atom", + "electron", + "API" + ] */ + topics?: string[]; + /** @example true */ + has_issues: boolean; + /** @example true */ + has_projects: boolean; + /** @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @example true */ + has_downloads: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @example public */ + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + /** @example true */ + allow_rebase_merge?: boolean; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string | null; + /** @example true */ + allow_squash_merge?: boolean; + /** @example false */ + allow_auto_merge?: boolean; + /** @example false */ + delete_branch_on_merge?: boolean; + /** @example true */ + allow_merge_commit?: boolean; + /** @example true */ + allow_update_branch?: boolean; + /** @example false */ + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @example PR_TITLE + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @example PR_BODY + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @example PR_TITLE + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @example PR_BODY + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @example true */ + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + /** @example 42 */ + subscribers_count: number; + /** @example 0 */ + network_count: number; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Repository + @description A git repository */ + parent?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** Repository + @description A git repository */ + source?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + forks: number; + master_branch?: string; + open_issues: number; + watchers: number; + /** @description Whether anonymous git access is allowed. + @default true */ + anonymous_access_enabled: boolean; + /** Code Of Conduct Simple + @description Code of Conduct Simple */ + code_of_conduct?: { + /** Format: uri + @example https://api.github.com/repos/github/docs/community/code_of_conduct */ + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; + /** Format: uri + @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md */ + html_url: string | null; + }; + security_and_analysis?: { + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + }; + }; + }; + /** @description Bad Request */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + "application/scim+json": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository installation for the authenticated app - * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. - * - * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-repo-installation": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "apps/get-repo-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The ID of the installation. + @example 1 */ + id: number; + account: ({ + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | { + /** @description A short description of the enterprise. */ + description?: string | null; + /** Format: uri + @example https://github.com/enterprises/octo-business */ + html_url: string; + /** Format: uri + @description The enterprise's website URL. */ + website_url?: string | null; + /** @description Unique identifier of the enterprise + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the enterprise. + @example Octo Business */ + name: string; + /** @description The slug url identifier for the enterprise. + @example octo-business */ + slug: string; + /** Format: date-time + @example 2019-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2019-01-26T19:14:43Z */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }) | null; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** Format: uri + @example https://api.github.com/installations/1/access_tokens */ + access_tokens_url: string; + /** Format: uri + @example https://api.github.com/installation/repositories */ + repositories_url: string; + /** Format: uri + @example https://github.com/organizations/github/settings/installations/1 */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + /** Simple User + @description Simple User */ + suspended_by: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }; + }; + }; + /** @description Moved permanently */ + 301: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - }; - }; - /** List deploy keys */ - "repos/list-deploy-keys": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-deploy-keys": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + }[]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["deploy-key"][]; - }; - }; - }; - }; - /** - * Create a deploy key - * @description You can create a read-only deploy key. - */ - "repos/create-deploy-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A name for the key. */ - title?: string; - /** @description The contents of the key. */ - key: string; - /** - * @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. - * - * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." - */ - read_only?: boolean; - }; - }; + "repos/create-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the key. */ + title?: string; + /** @description The contents of the key. */ + key: string; + /** @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + + Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." */ + read_only?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ - Location?: string; + "repos/get-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The unique identifier of the key. */ + key_id: number; + }; + cookie?: never; }; - content: { - "application/json": components["schemas"]["deploy-key"]; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; }; - }; - 422: components["responses"]["validation_failed"]; }; - }; - /** Get a deploy key */ - "repos/get-deploy-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - key_id: components["parameters"]["key-id"]; - }; + "enterprise-admin/list-pre-receive-hooks-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The direction to sort the results by. */ + direction?: "asc" | "desc"; + sort?: "created" | "updated" | "name"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + configuration_url?: string; + }[]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deploy-key"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List pre-receive hooks for a repository - * @description List all pre-receive hooks that are enabled or testing for this repository as well as any disabled hooks that are allowed to be enabled at the repository level. Pre-receive hooks that are disabled at a higher level and are not configurable will not be listed. - */ - "enterprise-admin/list-pre-receive-hooks-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - direction?: components["parameters"]["direction"]; - sort?: "created" | "updated" | "name"; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "enterprise-admin/get-pre-receive-hook-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The unique identifier of the pre-receive hook. */ + pre_receive_hook_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + configuration_url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-pre-receive-hook"][]; + "enterprise-admin/remove-pre-receive-hook-enforcement-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The unique identifier of the pre-receive hook. */ + pre_receive_hook_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Responds with effective values inherited from owner and/or global level. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + configuration_url?: string; + }; + }; + }; }; - }; }; - }; - /** Get a pre-receive hook for a repository */ - "enterprise-admin/get-pre-receive-hook-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; - }; + "enterprise-admin/update-pre-receive-hook-enforcement-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The unique identifier of the pre-receive hook. */ + pre_receive_hook_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The state of enforcement for the hook on this repository. + @enum {string} */ + enforcement?: "enabled" | "disabled" | "testing"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + id?: number; + name?: string; + enforcement?: string; + configuration_url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-pre-receive-hook"]; - }; - }; - }; - }; - /** - * Remove pre-receive hook enforcement for a repository - * @description Deletes any overridden enforcement on this repository for the specified hook. - * - * Responds with effective values inherited from owner and/or global level. - */ - "enterprise-admin/remove-pre-receive-hook-enforcement-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; - }; + "repos/list-releases": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** @description The name of the tag. + @example v1.0.0 */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. + @example master */ + target_commitish: string; + name: string | null; + body?: string | null; + /** @description true to create a draft (unpublished) release, false to create a published one. + @example false */ + draft: boolean; + /** @description Whether to identify the release as a prerelease or a full release. + @example false */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + /** Simple User + @description Simple User */ + author: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + assets: { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** @description The file name of the asset. + @example Team Environment */ + name: string; + label: string | null; + /** @description State of the release asset. + @enum {string} */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + uploader: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + }[]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** Reaction Rollup */ + reactions?: { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + -1: number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + }[]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Responds with effective values inherited from owner and/or global level. */ - 200: { - content: { - "application/json": components["schemas"]["repository-pre-receive-hook"]; - }; - }; - }; - }; - /** - * Update pre-receive hook enforcement for a repository - * @description For pre-receive hooks which are allowed to be configured at the repo level, you can set `enforcement` - */ - "enterprise-admin/update-pre-receive-hook-enforcement-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The state of enforcement for the hook on this repository. - * @enum {string} - */ - enforcement?: "enabled" | "disabled" | "testing"; - }; - }; + "repos/create-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** @description `true` to create a draft (unpublished) release, `false` to create a published one. + @default false */ + draft: boolean; + /** @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. + @default false */ + prerelease: boolean; + /** @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. + @default false */ + generate_release_notes: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** @description The name of the tag. + @example v1.0.0 */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. + @example master */ + target_commitish: string; + name: string | null; + body?: string | null; + /** @description true to create a draft (unpublished) release, false to create a published one. + @example false */ + draft: boolean; + /** @description Whether to identify the release as a prerelease or a full release. + @example false */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + /** Simple User + @description Simple User */ + author: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + assets: { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** @description The file name of the asset. + @example Team Environment */ + name: string; + label: string | null; + /** @description State of the release asset. + @enum {string} */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + uploader: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + }[]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** Reaction Rollup */ + reactions?: { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + -1: number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + }; + }; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-pre-receive-hook"]; - }; - }; - }; - }; - /** - * List releases - * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/enterprise-server@3.6/rest/reference/repos#list-repository-tags). - * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. - */ - "repos/list-releases": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/get-latest-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** @description The name of the tag. + @example v1.0.0 */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. + @example master */ + target_commitish: string; + name: string | null; + body?: string | null; + /** @description true to create a draft (unpublished) release, false to create a published one. + @example false */ + draft: boolean; + /** @description Whether to identify the release as a prerelease or a full release. + @example false */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + /** Simple User + @description Simple User */ + author: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + assets: { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** @description The file name of the asset. + @example Team Environment */ + name: string; + label: string | null; + /** @description State of the release asset. + @enum {string} */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + uploader: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + }[]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** Reaction Rollup */ + reactions?: { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + -1: number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["release"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a release - * @description Users with push access to the repository can create a release. - * - * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "repos/create-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the tag. */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ - target_commitish?: string; - /** @description The name of the release. */ - name?: string; - /** @description Text describing the contents of the tag. */ - body?: string; - /** - * @description `true` to create a draft (unpublished) release, `false` to create a published one. - * @default false - */ - draft?: boolean; - /** - * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. - * @default false - */ - prerelease?: boolean; - /** - * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. - * @default false - */ - generate_release_notes?: boolean; - }; - }; + "repos/get-release-by-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description tag parameter */ + tag: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** @description The name of the tag. + @example v1.0.0 */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. + @example master */ + target_commitish: string; + name: string | null; + body?: string | null; + /** @description true to create a draft (unpublished) release, false to create a published one. + @example false */ + draft: boolean; + /** @description Whether to identify the release as a prerelease or a full release. + @example false */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + /** Simple User + @description Simple User */ + author: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + assets: { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** @description The file name of the asset. + @example Team Environment */ + name: string; + label: string | null; + /** @description State of the release asset. + @enum {string} */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + uploader: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + }[]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** Reaction Rollup */ + reactions?: { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + -1: number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["release"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get the latest release - * @description View the latest published full release for the repository. - * - * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. - */ - "repos/get-latest-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/get-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The unique identifier of the release. */ + release_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#hypermedia). */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** @description The name of the tag. + @example v1.0.0 */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. + @example master */ + target_commitish: string; + name: string | null; + body?: string | null; + /** @description true to create a draft (unpublished) release, false to create a published one. + @example false */ + draft: boolean; + /** @description Whether to identify the release as a prerelease or a full release. + @example false */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + /** Simple User + @description Simple User */ + author: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + assets: { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** @description The file name of the asset. + @example Team Environment */ + name: string; + label: string | null; + /** @description State of the release asset. + @enum {string} */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + uploader: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + }[]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** Reaction Rollup */ + reactions?: { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + -1: number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - }; - }; - /** - * Get a release by tag name - * @description Get a published release with the specified tag. - */ - "repos/get-release-by-tag": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description tag parameter */ - tag: string; - }; + "repos/update-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The unique identifier of the release. */ + release_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name?: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** @description `true` makes the release a draft, and `false` publishes the release. */ + draft?: boolean; + /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ + prerelease?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + assets_url: string; + upload_url: string; + /** Format: uri */ + tarball_url: string | null; + /** Format: uri */ + zipball_url: string | null; + id: number; + node_id: string; + /** @description The name of the tag. + @example v1.0.0 */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. + @example master */ + target_commitish: string; + name: string | null; + body?: string | null; + /** @description true to create a draft (unpublished) release, false to create a published one. + @example false */ + draft: boolean; + /** @description Whether to identify the release as a prerelease or a full release. + @example false */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + /** Simple User + @description Simple User */ + author: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + assets: { + /** Format: uri */ + url: string; + /** Format: uri */ + browser_download_url: string; + id: number; + node_id: string; + /** @description The file name of the asset. + @example Team Environment */ + name: string; + label: string | null; + /** @description State of the release asset. + @enum {string} */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Simple User + @description Simple User */ + uploader: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + }[]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** Reaction Rollup */ + reactions?: { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + -1: number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a release - * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#hypermedia). - */ - "repos/get-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; + "repos/list-cache-info": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Status information for cache replicas */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + host: string; + location: string; + git: { + /** @enum {string} */ + sync_status: "offline" | "inactive" | "in_sync" | "not_in_sync"; + /** Format: date-time */ + last_sync: string; + }; + }[]; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + }; }; - responses: { - /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#hypermedia). */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a release - * @description Users with push access to the repository can edit a release. - */ - "repos/update-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the tag. */ - tag_name?: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch (usually `master`). */ - target_commitish?: string; - /** @description The name of the release. */ - name?: string; - /** @description Text describing the contents of the tag. */ - body?: string; - /** @description `true` makes the release a draft, and `false` publishes the release. */ - draft?: boolean; - /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ - prerelease?: boolean; - }; - }; + "secret-scanning/list-alerts-for-repo": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: "open" | "resolved"; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + for a complete list of secret types. */ + secret_type?: string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: "created" | "updated"; + /** @description The direction to sort the results by. */ + direction?: "asc" | "desc"; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The number of results per page (max 100). */ + per_page?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The security alert number. */ + readonly number?: number; + /** Format: date-time + @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly created_at?: string; + /** Format: date-time + @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly updated_at?: string; + /** Format: uri + @description The REST API URL of the alert resource. */ + readonly url?: string; + /** Format: uri + @description The GitHub URL of the alert resource. */ + readonly html_url?: string; + /** Format: uri + @description The REST API URL of the code locations for this alert. */ + locations_url?: string; + /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + @enum {string} */ + state?: "open" | "resolved"; + /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + @enum {string|null} */ + resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; + /** Format: date-time + @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + resolved_at?: string | null; + /** Simple User + @description Simple User */ + resolved_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description User-friendly name for the detected secret, matching the `secret_type`. + For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + /** Simple User + @description Simple User */ + push_protection_bypassed_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time + @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + push_protection_bypassed_at?: string | null; + }[]; + }; + }; + /** @description Repository is public or secret scanning is disabled for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Service unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - }; - }; - /** - * List repository cache replication status - * @description Lists the status of each repository cache replica. - */ - "repos/list-cache-info": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "secret-scanning/get-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The security alert number. */ + readonly number?: number; + /** Format: date-time + @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly created_at?: string; + /** Format: date-time + @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly updated_at?: string; + /** Format: uri + @description The REST API URL of the alert resource. */ + readonly url?: string; + /** Format: uri + @description The GitHub URL of the alert resource. */ + readonly html_url?: string; + /** Format: uri + @description The REST API URL of the code locations for this alert. */ + locations_url?: string; + /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + @enum {string} */ + state?: "open" | "resolved"; + /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + @enum {string|null} */ + resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; + /** Format: date-time + @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + resolved_at?: string | null; + /** Simple User + @description Simple User */ + resolved_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description User-friendly name for the detected secret, matching the `secret_type`. + For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + /** Simple User + @description Simple User */ + push_protection_bypassed_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time + @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + push_protection_bypassed_at?: string | null; + }; + }; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Service unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Status information for cache replicas */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": ({ - host: string; - location: string; - git: { - /** @enum {string} */ - sync_status: "offline" | "inactive" | "in_sync" | "not_in_sync"; - /** Format: date-time */ - last_sync: string; - }; - })[]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List secret scanning alerts for a repository - * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-alerts-for-repo": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "secret-scanning/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository. The name is not case sensitive. */ + repo: string; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: number; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + @enum {string} */ + state: "open" | "resolved"; + /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + @enum {string|null} */ + resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The security alert number. */ + readonly number?: number; + /** Format: date-time + @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly created_at?: string; + /** Format: date-time + @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + readonly updated_at?: string; + /** Format: uri + @description The REST API URL of the alert resource. */ + readonly url?: string; + /** Format: uri + @description The GitHub URL of the alert resource. */ + readonly html_url?: string; + /** Format: uri + @description The REST API URL of the code locations for this alert. */ + locations_url?: string; + /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + @enum {string} */ + state?: "open" | "resolved"; + /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + @enum {string|null} */ + resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; + /** Format: date-time + @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + resolved_at?: string | null; + /** Simple User + @description Simple User */ + resolved_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description User-friendly name for the detected secret, matching the `secret_type`. + For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + /** Simple User + @description Simple User */ + push_protection_bypassed_by?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time + @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + push_protection_bypassed_at?: string | null; + }; + }; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description State does not match the resolution */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Service unavailable */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"][]; - }; - }; - /** @description Repository is public or secret scanning is disabled for the repository */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a secret scanning alert - * @description Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/get-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "repos/list-public": { + parameters: { + query?: { + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + since?: number; + /** @description Specifies the types of repositories to return. This endpoint will only list repositories available to all users on the enterprise. */ + visibility?: "all" | "public"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + ssh_url?: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at?: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + /** Repository + @description A git repository */ + template_repository?: { + /** @description Unique identifier of the repository + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the repository. + @example Team Environment */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + /** License Simple + @description License Simple */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** Format: uri + @example https://api.github.com/licenses/mit */ + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; + /** Format: uri */ + html_url?: string; + } | null; + /** Simple User + @description Simple User */ + organization?: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** Simple User + @description Simple User */ + owner: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description Whether the repository is private or public. + @default false */ + private: boolean; + /** Format: uri + @example https://github.com/octocat/Hello-World */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** Format: uri + @example https://api.github.com/repos/octocat/Hello-World */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/contributors */ + contributors_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/deployments */ + deployments_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/downloads */ + downloads_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/events */ + events_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/forks */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/languages */ + languages_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/merges */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + subscribers_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/subscription */ + subscription_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/teams */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** Format: uri + @example git:git.example.com/octocat/Hello-World */ + mirror_url: string | null; + /** Format: uri + @example http://api.github.com/repos/octocat/Hello-World/hooks */ + hooks_url: string; + /** Format: uri + @example https://svn.github.com/octocat/Hello-World */ + svn_url: string; + /** Format: uri + @example https://github.com */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + @example 108 */ + size: number; + /** @description The default branch of the repository. + @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @description Whether this repository acts as a template that can be used to generate new repositories. + @default false + @example true */ + is_template: boolean; + topics?: string[]; + /** @description Whether issues are enabled. + @default true + @example true */ + has_issues: boolean; + /** @description Whether projects are enabled. + @default true + @example true */ + has_projects: boolean; + /** @description Whether the wiki is enabled. + @default true + @example true */ + has_wiki: boolean; + has_pages: boolean; + /** @description Whether downloads are enabled. + @default true + @example true */ + has_downloads: boolean; + /** @description Whether the repository is archived. + @default false */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. + @default public */ + visibility: string; + /** Format: date-time + @example 2011-01-26T19:06:43Z */ + pushed_at: string | null; + /** Format: date-time + @example 2011-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2011-01-26T19:14:43Z */ + updated_at: string | null; + /** @description Whether to allow rebase merges for pull requests. + @default true + @example true */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** @description Whether to allow squash merges for pull requests. + @default true + @example true */ + allow_squash_merge: boolean; + /** @description Whether to allow Auto-merge to be used on pull requests. + @default false + @example false */ + allow_auto_merge: boolean; + /** @description Whether to delete head branches when pull requests are merged + @default false + @example false */ + delete_branch_on_merge: boolean; + /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + @default false + @example false */ + allow_update_branch: boolean; + /** @deprecated + @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + @default false */ + use_squash_pr_title_as_default: boolean; + /** @description The default value for a squash merge commit title: + + - `PR_TITLE` - default to the pull request's title. + - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + @enum {string} */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** @description The default value for a squash merge commit message: + + - `PR_BODY` - default to the pull request's body. + - `COMMIT_MESSAGES` - default to the branch's commit messages. + - `BLANK` - default to a blank commit message. + @enum {string} */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description The default value for a merge commit title. + + - `PR_TITLE` - default to the pull request's title. + - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + @enum {string} */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** @description The default value for a merge commit message. + + - `PR_TITLE` - default to the pull request's title. + - `PR_BODY` - default to the pull request's body. + - `BLANK` - default to a blank commit message. + @enum {string} */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @description Whether to allow merge commits for pull requests. + @default true + @example true */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** @description Whether to require contributors to sign off on web-based commits + @default false */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + /** Code Of Conduct + @description Code Of Conduct */ + code_of_conduct?: { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** Format: uri + @example https://api.github.com/codes_of_conduct/contributor_covenant */ + url: string; + /** @example # Contributor Covenant Code of Conduct + + ## Our Pledge + + In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + + ## Our Standards + + Examples of behavior that contributes to creating a positive environment include: + + * Using welcoming and inclusive language + * Being respectful of differing viewpoints and experiences + * Gracefully accepting constructive criticism + * Focusing on what is best for the community + * Showing empathy towards other community members + + Examples of unacceptable behavior by participants include: + + * The use of sexualized language or imagery and unwelcome sexual attention or advances + * Trolling, insulting/derogatory comments, and personal or political attacks + * Public or private harassment + * Publishing others' private information, such as a physical or electronic address, without explicit permission + * Other conduct which could reasonably be considered inappropriate in a professional setting + + ## Our Responsibilities + + Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + to any instances of unacceptable behavior. + + Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + ## Scope + + This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + + Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + ## Attribution + + This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + + [homepage]: http://contributor-covenant.org + [version]: http://contributor-covenant.org/version/1/4/ + */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }[]; + }; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a secret scanning alert - * @description Updates the status of a secret scanning alert in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. - */ - "secret-scanning/update-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "enterprise-admin/list-provisioned-groups-enterprise": { + parameters: { + query?: { + /** @description Used for pagination: the index of the first result to return. */ + startIndex?: number; + /** @description Used for pagination: the number of results to return. */ + count?: number; + /** @description filter results */ + filter?: string; + /** @description attributes to exclude */ + excludedAttributes?: string; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - state: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + "enterprise-admin/provision-and-invite-enterprise-group": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ + displayName: string; + members?: { + /** @description The SCIM user ID for a user. */ + value: string; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"]; - }; - }; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - content: never; - }; - /** @description State does not match the resolution */ - 422: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List public repositories - * @description Lists all public repositories in the order that they were created. - * - * Note: - * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. - */ - "repos/list-public": { - parameters: { - query?: { - since?: components["parameters"]["since-repo"]; - /** @description Specifies the types of repositories to return. This endpoint will only list repositories available to all users on the enterprise. */ - visibility?: "all" | "public"; - }; + "enterprise-admin/get-provisioning-information-for-enterprise-group": { + parameters: { + query?: { + /** @description Attributes to exclude. */ + excludedAttributes?: string; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List provisioned SCIM groups for an enterprise - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - */ - "enterprise-admin/list-provisioned-groups-enterprise": { - parameters: { - query?: { - startIndex?: components["parameters"]["start-index"]; - count?: components["parameters"]["count"]; - /** @description filter results */ - filter?: string; - /** @description attributes to exclude */ - excludedAttributes?: string; - }; - path: { - enterprise: components["parameters"]["enterprise"]; - }; + "enterprise-admin/set-information-for-provisioned-enterprise-group": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ + displayName: string; + members?: { + /** @description The SCIM user ID for a user. */ + value: string; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-group-list-enterprise"]; - }; - }; - }; - }; - /** - * Provision a SCIM enterprise group and invite users - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. - */ - "enterprise-admin/provision-and-invite-enterprise-group": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ - displayName: string; - members?: { - /** @description The SCIM user ID for a user. */ - value: string; - }[]; + "enterprise-admin/delete-scim-group-from-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["scim-enterprise-group"]; - }; - }; - }; - }; - /** - * Get SCIM provisioning information for an enterprise group - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - */ - "enterprise-admin/get-provisioning-information-for-enterprise-group": { - parameters: { - query?: { - /** @description Attributes to exclude. */ - excludedAttributes?: string; - }; - path: { - enterprise: components["parameters"]["enterprise"]; - scim_group_id: components["parameters"]["scim-group-id"]; - }; + "enterprise-admin/update-attribute-for-enterprise-group": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description Identifier generated by the GitHub SCIM endpoint. */ + scim_group_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + Operations: { + /** @enum {string} */ + op: "add" | "Add" | "remove" | "Remove" | "replace" | "Replace"; + path?: string; + /** @description Can be any value - string, number, array or object. */ + value?: unknown; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + schemas: string[]; + id: string; + externalId?: string | null; + displayName?: string; + members?: { + value?: string; + $ref?: string; + display?: string; + }[]; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-group"]; - }; - }; - }; - }; - /** - * Set SCIM information for a provisioned enterprise group - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. - */ - "enterprise-admin/set-information-for-provisioned-enterprise-group": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - scim_group_id: components["parameters"]["scim-group-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description The name of the SCIM group. This must match the GitHub organization that the group maps to. */ - displayName: string; - members?: { - /** @description The SCIM user ID for a user. */ - value: string; - }[]; + "enterprise-admin/list-provisioned-identities-enterprise": { + parameters: { + query?: { + /** @description Used for pagination: the index of the first result to return. */ + startIndex?: number; + /** @description Used for pagination: the number of results to return. */ + count?: number; + /** @description filter results */ + filter?: string; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + schemas: string[]; + totalResults: number; + itemsPerPage: number; + startIndex: number; + Resources: { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + primary?: boolean; + type?: string; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }[]; + }; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-group"]; - }; - }; - }; - }; - /** - * Delete a SCIM group from an enterprise - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - */ - "enterprise-admin/delete-scim-group-from-enterprise": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - scim_group_id: components["parameters"]["scim-group-id"]; - }; + "enterprise-admin/provision-and-invite-enterprise-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The username for the user. */ + userName: string; + name: { + /** @description The first name of the user. */ + givenName: string; + /** @description The last name of the user. */ + familyName: string; + }; + /** @description List of user emails. */ + emails: { + /** @description The email address. */ + value: string; + /** @description The type of email address. */ + type: string; + /** @description Whether this email address is the primary address. */ + primary: boolean; + }[]; + /** @description List of SCIM group IDs the user is a member of. */ + groups?: { + value?: string; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + type?: string; + primary?: boolean; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update an attribute for a SCIM enterprise group - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - */ - "enterprise-admin/update-attribute-for-enterprise-group": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - scim_group_id: components["parameters"]["scim-group-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ - Operations: ({ - /** @enum {string} */ - op: "add" | "Add" | "remove" | "Remove" | "replace" | "Replace"; - path?: string; - /** @description Can be any value - string, number, array or object. */ - value?: unknown; - })[]; - }; - }; + "enterprise-admin/get-provisioning-information-for-enterprise-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description The unique identifier of the SCIM user. */ + scim_user_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + type?: string; + primary?: boolean; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-group"]; - }; - }; - }; - }; - /** - * List SCIM provisioned identities for an enterprise - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. - * - * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub Enterprise Server. This can happen in certain cases where an external identity associated with an organization will not match an organization member: - * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. - * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). - * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. - * - * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub Enterprise Server account after completing SSO: - * - * 1. The user is granted access by the IdP and is not a member of the GitHub Enterprise Server enterprise. - * - * 1. The user attempts to access the GitHub Enterprise Server enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub Enterprise Server account. - * - * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub Enterprise Server account: - * - If the user signs in, their GitHub Enterprise Server account is linked to this entry. - * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub Enterprise Server enterprise, and the external identity `null` entry remains in place. - */ - "enterprise-admin/list-provisioned-identities-enterprise": { - parameters: { - query?: { - startIndex?: components["parameters"]["start-index"]; - count?: components["parameters"]["count"]; - /** @description filter results */ - filter?: string; - }; - path: { - enterprise: components["parameters"]["enterprise"]; - }; + "enterprise-admin/set-information-for-provisioned-enterprise-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description The unique identifier of the SCIM user. */ + scim_user_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description The username for the user. */ + userName: string; + name: { + /** @description The first name of the user. */ + givenName: string; + /** @description The last name of the user. */ + familyName: string; + }; + /** @description List of user emails. */ + emails: { + /** @description The email address. */ + value: string; + /** @description The type of email address. */ + type: string; + /** @description Whether this email address is the primary address. */ + primary: boolean; + }[]; + /** @description List of SCIM group IDs the user is a member of. */ + groups?: { + value?: string; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + type?: string; + primary?: boolean; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-user-list-enterprise"]; - }; - }; - }; - }; - /** - * Provision and invite a SCIM enterprise user - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Provision enterprise membership for a user, and send organization invitation emails to the email address. - * - * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. - */ - "enterprise-admin/provision-and-invite-enterprise-user": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description The username for the user. */ - userName: string; - name: { - /** @description The first name of the user. */ - givenName: string; - /** @description The last name of the user. */ - familyName: string; - }; - /** @description List of user emails. */ - emails: { - /** @description The email address. */ - value: string; - /** @description The type of email address. */ - type: string; - /** @description Whether this email address is the primary address. */ - primary: boolean; - }[]; - /** @description List of SCIM group IDs the user is a member of. */ - groups?: { - value?: string; - }[]; + "enterprise-admin/delete-user-from-enterprise": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description The unique identifier of the SCIM user. */ + scim_user_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["scim-enterprise-user"]; - }; - }; - }; - }; - /** - * Get SCIM provisioning information for an enterprise user - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - */ - "enterprise-admin/get-provisioning-information-for-enterprise-user": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - scim_user_id: components["parameters"]["scim-user-id"]; - }; + "enterprise-admin/update-attribute-for-enterprise-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description The unique identifier of the SCIM user. */ + scim_user_id: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The SCIM schema URIs. */ + schemas: string[]; + /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + Operations: Record[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + schemas: string[]; + id: string; + externalId?: string; + userName?: string; + name?: { + givenName?: string; + familyName?: string; + }; + emails?: { + value?: string; + type?: string; + primary?: boolean; + }[]; + groups?: { + value?: string; + }[]; + active?: boolean; + meta?: { + resourceType?: string; + created?: string; + lastModified?: string; + location?: string; + }; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-user"]; - }; - }; - }; - }; - /** - * Set SCIM information for a provisioned enterprise user - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. - * - * You must at least provide the required values for the user: `userName`, `name`, and `emails`. - * - * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. - */ - "enterprise-admin/set-information-for-provisioned-enterprise-user": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - scim_user_id: components["parameters"]["scim-user-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description The username for the user. */ - userName: string; - name: { - /** @description The first name of the user. */ - givenName: string; - /** @description The last name of the user. */ - familyName: string; - }; - /** @description List of user emails. */ - emails: { - /** @description The email address. */ - value: string; - /** @description The type of email address. */ - type: string; - /** @description Whether this email address is the primary address. */ - primary: boolean; - }[]; - /** @description List of SCIM group IDs the user is a member of. */ - groups?: { - value?: string; - }[]; + "enterprise-admin/get-configuration-status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status?: string; + progress?: { + status: string; + key: string; + }[]; + }; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-user"]; - }; - }; - }; - }; - /** - * Delete a SCIM user from an enterprise - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - */ - "enterprise-admin/delete-user-from-enterprise": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - scim_user_id: components["parameters"]["scim-user-id"]; - }; + "enterprise-admin/start-configuration-process": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update an attribute for a SCIM enterprise user - * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - * - * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - * - * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. - * - * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. - * - * ``` - * { - * "Operations":[{ - * "op":"replace", - * "value":{ - * "active":false - * } - * }] - * } - * ``` - */ - "enterprise-admin/update-attribute-for-enterprise-user": { - parameters: { - path: { - enterprise: components["parameters"]["enterprise"]; - scim_user_id: components["parameters"]["scim-user-id"]; - }; + "enterprise-admin/get-maintenance-status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status?: string; + scheduled_time?: string; + connection_services?: { + name: string; + number: number; + }[]; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The SCIM schema URIs. */ - schemas: string[]; - /** @description Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ - Operations: Record[]; + "enterprise-admin/enable-or-disable-maintenance-mode": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description A JSON string with the attributes `enabled` and `when`. + + The possible values for `enabled` are `true` and `false`. When it's `false`, the attribute `when` is ignored and the maintenance mode is turned off. `when` defines the time period when the maintenance was enabled. + + The possible values for `when` are `now` or any date parseable by [mojombo/chronic](https://github.com/mojombo/chronic). */ + maintenance: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status?: string; + scheduled_time?: string; + connection_services?: { + name: string; + number: number; + }[]; + }; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["scim-enterprise-user"]; - }; - }; - }; - }; - /** - * Get the configuration status - * @description This endpoint allows you to check the status of the most recent configuration process: - * - * Note that you may need to wait several seconds after you start a process before you can check its status. - * - * The different statuses are: - * - * | Status | Description | - * | ------------- | --------------------------------- | - * | `PENDING` | The job has not started yet | - * | `CONFIGURING` | The job is running | - * | `DONE` | The job has finished correctly | - * | `FAILED` | The job has finished unexpectedly | - */ - "enterprise-admin/get-configuration-status": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["configuration-status"]; - }; - }; - }; - }; - /** - * Start a configuration process - * @description This endpoint allows you to start a configuration process at any time for your updated settings to take effect: - */ - "enterprise-admin/start-configuration-process": { - responses: { - /** @description Response */ - 202: { - content: never; - }; - }; - }; - /** - * Get the maintenance status - * @description Check your installation's maintenance status: - */ - "enterprise-admin/get-maintenance-status": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["maintenance-status"]; - }; - }; - }; - }; - /** - * Enable or disable maintenance mode - * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - */ - "enterprise-admin/enable-or-disable-maintenance-mode": { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * @description A JSON string with the attributes `enabled` and `when`. - * - * The possible values for `enabled` are `true` and `false`. When it's `false`, the attribute `when` is ignored and the maintenance mode is turned off. `when` defines the time period when the maintenance was enabled. - * - * The possible values for `when` are `now` or any date parseable by [mojombo/chronic](https://github.com/mojombo/chronic). - */ - maintenance: string; - }; - }; + "enterprise-admin/get-settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + enterprise?: { + private_mode?: boolean; + public_pages?: boolean; + subdomain_isolation?: boolean; + signup_enabled?: boolean; + github_hostname?: string; + identicons_host?: string; + http_proxy?: string | null; + auth_mode?: string; + expire_sessions?: boolean; + admin_password?: string | null; + configuration_id?: number; + configuration_run_count?: number; + avatar?: { + enabled?: boolean; + uri?: string; + }; + customer?: { + name?: string; + email?: string; + uuid?: string; + secret_key_data?: string; + public_key_data?: string; + }; + license?: { + seats?: number; + evaluation?: boolean; + perpetual?: boolean; + unlimited_seating?: boolean; + support_key?: string; + ssh_allowed?: boolean; + cluster_support?: boolean; + expire_at?: string; + }; + github_ssl?: { + enabled?: boolean; + cert?: string | null; + key?: string | null; + }; + ldap?: { + host?: string | null; + port?: number; + base?: unknown[]; + uid?: string | null; + bind_dn?: string | null; + password?: string | null; + method?: string; + search_strategy?: string; + user_groups?: unknown[]; + admin_group?: string | null; + virtual_attribute_enabled?: boolean; + recursive_group_search?: boolean; + posix_support?: boolean; + user_sync_emails?: boolean; + user_sync_keys?: boolean; + user_sync_interval?: number; + team_sync_interval?: number; + sync_enabled?: boolean; + reconciliation?: { + user?: string | null; + org?: string | null; + }; + profile?: { + uid?: string; + name?: string | null; + mail?: string | null; + key?: string | null; + }; + }; + cas?: { + url?: string | null; + }; + saml?: { + sso_url?: string | null; + certificate?: string | null; + certificate_path?: string | null; + issuer?: string | null; + idp_initiated_sso?: boolean; + disable_admin_demote?: boolean; + }; + github_oauth?: { + client_id?: string; + client_secret?: string; + organization_name?: string; + organization_team?: string; + }; + smtp?: { + enabled?: boolean; + address?: string; + authentication?: string; + port?: string; + domain?: string; + username?: string; + user_name?: string; + enable_starttls_auto?: boolean; + password?: string; + "discard-to-noreply-address"?: boolean; + support_address?: string; + support_address_type?: string; + noreply_address?: string; + }; + ntp?: { + primary_server?: string; + secondary_server?: string; + }; + timezone?: string | null; + snmp?: { + enabled?: boolean; + community?: string; + }; + syslog?: { + enabled?: boolean; + server?: string | null; + protocol_name?: string; + }; + assets?: string | null; + pages?: { + enabled?: boolean; + }; + collectd?: { + enabled?: boolean; + server?: string | null; + port?: number; + encryption?: string | null; + username?: string | null; + password?: string | null; + }; + mapping?: { + enabled?: boolean; + tileserver?: string | null; + basemap?: string; + token?: string | null; + }; + load_balancer?: string | null; + }; + run_list?: string[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["maintenance-status"]; - }; - }; - }; - }; - /** - * Get settings - * @description Gets the settings for your instance. To change settings, see the [Set settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#set-settings). - * - * **Note:** You cannot retrieve the management console password with the Enterprise administration API. - */ - "enterprise-admin/get-settings": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["enterprise-settings"]; - }; - }; - }; - }; - /** - * Set settings - * @description Applies settings on your instance. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#get-settings). - * - * **Notes:** - * - * - The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - * - You cannot set the management console password with the Enterprise administration API. Use the `ghe-set-password` utility to change the management console password. For more information, see "[Command-line utilities](https://docs.github.com/enterprise-server@3.6/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-set-password)." - */ - "enterprise-admin/set-settings": { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description A JSON string with the new settings. Note that you only need to pass the specific settings you want to modify. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#get-settings). */ - settings: string; - }; - }; + "enterprise-admin/set-settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description A JSON string with the new settings. Note that you only need to pass the specific settings you want to modify. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#get-settings). */ + settings: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** Get all authorized SSH keys */ - "enterprise-admin/get-all-authorized-ssh-keys": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["ssh-key"][]; - }; - }; - }; - }; - /** - * Add an authorized SSH key - * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - */ - "enterprise-admin/add-authorized-ssh-key": { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The public SSH key. */ - authorized_key: string; - }; - }; + "enterprise-admin/get-all-authorized-ssh-keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + key?: string; + "pretty-print"?: string; + }[]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["ssh-key"][]; - }; - }; - }; - }; - /** - * Remove an authorized SSH key - * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - */ - "enterprise-admin/remove-authorized-ssh-key": { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The public SSH key. */ - authorized_key: string; - }; - }; + "enterprise-admin/add-authorized-ssh-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The public SSH key. */ + authorized_key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + key?: string; + "pretty-print"?: string; + }[]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["ssh-key"][]; - }; - }; - }; - }; - /** - * Create a GitHub license - * @description When you boot a GitHub instance for the first time, you can use the following endpoint to upload a license. - * - * Note that you need to `POST` to [`/setup/api/configure`](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#start-a-configuration-process) to start the actual configuration process. - * - * When using this endpoint, your GitHub instance must have a password set. This can be accomplished two ways: - * - * 1. If you're working directly with the API before accessing the web interface, you must pass in the password parameter to set your password. - * 2. If you set up your instance via the web interface before accessing the API, your calls to this endpoint do not need the password parameter. - * - * **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - */ - "enterprise-admin/create-enterprise-server-license": { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The content of your _.ghl_ license file. */ - license: string; - /** @description You **must** provide a password _only if_ you are uploading your license for the first time. If you previously set a password through the web interface, you don't need this parameter. */ - password?: string; - /** @description An optional JSON string containing the installation settings. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#get-settings). */ - settings?: string; - }; - }; + "enterprise-admin/remove-authorized-ssh-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The public SSH key. */ + authorized_key: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + key?: string; + "pretty-print"?: string; + }[]; + }; + }; + }; }; - responses: { - /** @description Response */ - 202: { - content: never; - }; - }; - }; - /** - * Upgrade a license - * @description This API upgrades your license and also triggers the configuration process. - * - * **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - */ - "enterprise-admin/upgrade-license": { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The content of your new _.ghl_ license file. */ - license?: string; - }; - }; + "enterprise-admin/create-enterprise-server-license": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The content of your _.ghl_ license file. */ + license: string; + /** @description You **must** provide a password _only if_ you are uploading your license for the first time. If you previously set a password through the web interface, you don't need this parameter. */ + password?: string; + /** @description An optional JSON string containing the installation settings. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#get-settings). */ + settings?: string; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 202: { - content: never; - }; - }; - }; - /** - * List app installations accessible to the user access token - * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * You must use a [user-to-server OAuth access token](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You can find the permissions for the installation under the `permissions` key. - */ - "apps/list-installations-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "enterprise-admin/upgrade-license": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The content of your new _.ghl_ license file. */ + license?: string; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description You can find the permissions for the installation under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; + "apps/list-installations-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description Page number of the results to fetch. */ + page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description You can find the permissions for the installation under the `permissions` key. */ + 200: { + headers: { + /** @example ; rel="next", ; rel="last" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + installations: { + /** @description The ID of the installation. + @example 1 */ + id: number; + account: ({ + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | { + /** @description A short description of the enterprise. */ + description?: string | null; + /** Format: uri + @example https://github.com/enterprises/octo-business */ + html_url: string; + /** Format: uri + @description The enterprise's website URL. */ + website_url?: string | null; + /** @description Unique identifier of the enterprise + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the enterprise. + @example Octo Business */ + name: string; + /** @description The slug url identifier for the enterprise. + @example octo-business */ + slug: string; + /** Format: date-time + @example 2019-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2019-01-26T19:14:43Z */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }) | null; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** Format: uri + @example https://api.github.com/installations/1/access_tokens */ + access_tokens_url: string; + /** Format: uri + @example https://api.github.com/installation/repositories */ + repositories_url: string; + /** Format: uri + @example https://github.com/organizations/github/settings/installations/1 */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + /** Simple User + @description Simple User */ + suspended_by: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }[]; + }; + }; + }; + /** @description Not modified */ + 304: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Requires authentication */ + 401: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + }; + }; }; - content: { - "application/json": { - total_count: number; - installations: components["schemas"]["installation"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a user installation for the authenticated app - * @description Enables an authenticated GitHub App to find the user’s installation information. - * - * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-user-installation": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - /** - * Promote a user to be a site administrator - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "enterprise-admin/promote-user-to-be-site-administrator": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "apps/get-user-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The ID of the installation. + @example 1 */ + id: number; + account: ({ + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | { + /** @description A short description of the enterprise. */ + description?: string | null; + /** Format: uri + @example https://github.com/enterprises/octo-business */ + html_url: string; + /** Format: uri + @description The enterprise's website URL. */ + website_url?: string | null; + /** @description Unique identifier of the enterprise + @example 42 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @description The name of the enterprise. + @example Octo Business */ + name: string; + /** @description The slug url identifier for the enterprise. + @example octo-business */ + slug: string; + /** Format: date-time + @example 2019-01-26T19:01:12Z */ + created_at: string | null; + /** Format: date-time + @example 2019-01-26T19:14:43Z */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }) | null; + /** @description Describe whether all repositories have been selected or there's a selection involved + @enum {string} */ + repository_selection: "all" | "selected"; + /** Format: uri + @example https://api.github.com/installations/1/access_tokens */ + access_tokens_url: string; + /** Format: uri + @example https://api.github.com/installation/repositories */ + repositories_url: string; + /** Format: uri + @example https://github.com/organizations/github/settings/installations/1 */ + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + /** App Permissions + @description The permissions granted to the user-to-server access token. + @example { + "contents": "read", + "issues": "read", + "deployments": "write", + "single_file": "read" + } */ + permissions: { + /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + @enum {string} */ + actions?: "read" | "write"; + /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + @enum {string} */ + administration?: "read" | "write"; + /** @description The level of permission to grant the access token for checks on code. + @enum {string} */ + checks?: "read" | "write"; + /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + @enum {string} */ + contents?: "read" | "write"; + /** @description The level of permission to grant the access token for deployments and deployment statuses. + @enum {string} */ + deployments?: "read" | "write"; + /** @description The level of permission to grant the access token for managing repository environments. + @enum {string} */ + environments?: "read" | "write"; + /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + @enum {string} */ + issues?: "read" | "write"; + /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + @enum {string} */ + metadata?: "read" | "write"; + /** @description The level of permission to grant the access token for packages published to GitHub Packages. + @enum {string} */ + packages?: "read" | "write"; + /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + @enum {string} */ + pages?: "read" | "write"; + /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + @enum {string} */ + pull_requests?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + @enum {string} */ + repository_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. + @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token to view and manage secret scanning alerts. + @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to manage repository secrets. + @enum {string} */ + secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + @enum {string} */ + security_events?: "read" | "write"; + /** @description The level of permission to grant the access token to manage just a single file. + @enum {string} */ + single_file?: "read" | "write"; + /** @description The level of permission to grant the access token for commit statuses. + @enum {string} */ + statuses?: "read" | "write"; + /** @description The level of permission to grant the access token to manage Dependabot alerts. + @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @description The level of permission to grant the access token to update GitHub Actions workflow files. + @enum {string} */ + workflows?: "write"; + /** @description The level of permission to grant the access token for organization teams and members. + @enum {string} */ + members?: "read" | "write"; + /** @description The level of permission to grant the access token to manage access to an organization. + @enum {string} */ + organization_administration?: "read" | "write"; + /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + @enum {string} */ + organization_hooks?: "read" | "write"; + /** @description The level of permission to grant the access token for viewing an organization's plan. + @enum {string} */ + organization_plan?: "read"; + /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. + @enum {string} */ + organization_packages?: "read" | "write"; + /** @description The level of permission to grant the access token to manage organization secrets. + @enum {string} */ + organization_secrets?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @description The level of permission to grant the access token to view and manage users blocked by the organization. + @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @description The level of permission to grant the access token to manage team discussions and related comments. + @enum {string} */ + team_discussions?: "read" | "write"; + }; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + "config.yml", + ".github/issue_TEMPLATE.md" + ] */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + /** Simple User + @description Simple User */ + suspended_by: { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** Format: uri + @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** Format: uri + @example https://api.github.com/users/octocat */ + url: string; + /** Format: uri + @example https://github.com/octocat */ + html_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/followers */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/subscriptions */ + subscriptions_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/orgs */ + organizations_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/repos */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** Format: uri + @example https://api.github.com/users/octocat/received_events */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Demote a site administrator - * @description You can demote any user account except your own. - */ - "enterprise-admin/demote-site-administrator": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "enterprise-admin/promote-user-to-be-site-administrator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Suspend a user - * @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), Active Directory LDAP-authenticated users cannot be suspended through this API. If you attempt to suspend an Active Directory LDAP-authenticated user through this API, it will return a `403` response. - * - * You can suspend any user account except your own. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "enterprise-admin/suspend-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The reason the user is being suspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.6/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to "Suspended via API by _SITE\_ADMINISTRATOR_", where _SITE\_ADMINISTRATOR_ is the person who performed the action. */ - reason?: string; - } | null; - }; + "enterprise-admin/demote-site-administrator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Unsuspend a user - * @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), this API is disabled and will return a `403` response. Active Directory LDAP-authenticated users cannot be unsuspended using the API. - */ - "enterprise-admin/unsuspend-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The reason the user is being unsuspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.6/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to "Unsuspended via API by _SITE\_ADMINISTRATOR_", where _SITE\_ADMINISTRATOR_ is the person who performed the action. */ - reason?: string; - } | null; - }; + "enterprise-admin/suspend-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The reason the user is being suspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.6/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to "Suspended via API by _SITE\_ADMINISTRATOR_", where _SITE\_ADMINISTRATOR_ is the person who performed the action. */ + reason?: string; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; + "enterprise-admin/unsuspend-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The reason the user is being unsuspended. This message will be logged in the [audit log](https://docs.github.com/enterprise-server@3.6/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/about-the-audit-log-for-your-enterprise). If you don't provide a `reason`, it will default to "Unsuspended via API by _SITE\_ADMINISTRATOR_", where _SITE\_ADMINISTRATOR_ is the person who performed the action. */ + reason?: string; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - }; } diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index c6223dcc3..68be4da97 100644 --- a/packages/openapi-typescript/package.json +++ b/packages/openapi-typescript/package.json @@ -1,7 +1,7 @@ { "name": "openapi-typescript", "description": "Convert OpenAPI 3.0 & 3.1 schemas to TypeScript", - "version": "7.0.0", + "version": "7.0.0-next.0", "author": { "name": "Drew Powers", "email": "drew@pow.rs" diff --git a/packages/openapi-typescript/src/lib/ts.ts b/packages/openapi-typescript/src/lib/ts.ts index 5b11a82a9..7ede99595 100644 --- a/packages/openapi-typescript/src/lib/ts.ts +++ b/packages/openapi-typescript/src/lib/ts.ts @@ -27,6 +27,8 @@ export const UNKNOWN = ts.factory.createKeywordTypeNode( ts.SyntaxKind.UnknownKeyword, ); +const LB_RE = /\r?\n/g; + export interface AnnotatedSchemaObject { const?: unknown; // jsdoc without value default?: unknown; // jsdoc with value @@ -61,10 +63,10 @@ export function addJSDocComment( // Not JSDoc tags: [title, format] if (schemaObject.title) { - output.push(schemaObject.title); + output.push(schemaObject.title.replace(LB_RE, "\n * ")); } if (schemaObject.summary) { - output.push(schemaObject.summary); + output.push(schemaObject.summary.replace(LB_RE, "\n * ")); } if (schemaObject.format) { output.push(`Format: ${schemaObject.format}`); @@ -90,7 +92,7 @@ export function addJSDocComment( typeof schemaObject[field] === "object" ? JSON.stringify(schemaObject[field], null, 2) : schemaObject[field]; - output.push(`@${field} ${serialized}`); + output.push(`@${field} ${String(serialized).replace(LB_RE, "\n * ")}`); } // JSDoc 'Constant' without value @@ -111,12 +113,22 @@ export function addJSDocComment( // attach comment if it has content if (output.length) { - ts.addSyntheticLeadingComment( - /* node */ node, - /* kind */ ts.SyntaxKind.MultiLineCommentTrivia, - /* text */ `* ${output.join("\n")} `, - /* hasTrailingNewLine */ true, - ); + if (output.length === 1) { + ts.addSyntheticLeadingComment( + /* node */ node, + /* kind */ ts.SyntaxKind.MultiLineCommentTrivia, // note: MultiLine just refers to a "/* */" comment + /* text */ `* ${output.join("\n")} `, + /* hasTrailingNewLine */ true, + ); + } else { + ts.addSyntheticLeadingComment( + /* node */ node, + /* kind */ ts.SyntaxKind.MultiLineCommentTrivia, + /* text */ `* + * ${output.join("\n * ")}\n `, + /* hasTrailingNewLine */ true, + ); + } } } diff --git a/packages/openapi-typescript/test/lib/ts.test.ts b/packages/openapi-typescript/test/lib/ts.test.ts index e245caaa9..40e136687 100644 --- a/packages/openapi-typescript/test/lib/ts.test.ts +++ b/packages/openapi-typescript/test/lib/ts.test.ts @@ -1,5 +1,6 @@ import ts from "typescript"; import { + addJSDocComment, BOOLEAN, NULL, NUMBER, @@ -13,6 +14,50 @@ import { tsUnion, } from "../../src/lib/ts.js"; +describe("addJSDocComment", () => { + it("single-line comment", () => { + const property = ts.factory.createPropertySignature( + undefined, + "comment", + undefined, + BOOLEAN, + ); + addJSDocComment({ description: "Single-line comment" }, property); + expect(astToString(ts.factory.createTypeLiteralNode([property])).trim()) + .toBe(`{ + /** @description Single-line comment */ + comment: boolean; +}`); + }); + + it("multi-line comment", () => { + const property = ts.factory.createPropertySignature( + undefined, + "comment", + undefined, + BOOLEAN, + ); + addJSDocComment( + { + summary: "This is the summary", + description: "Multi-line comment\nLine 2", + deprecated: true, + }, + property, + ); + expect(astToString(ts.factory.createTypeLiteralNode([property])).trim()) + .toBe(`{ + /** + * This is the summary + * @deprecated + * @description Multi-line comment + * Line 2 + */ + comment: boolean; +}`); + }); +}); + describe("oapiRef", () => { it("single part", () => { expect(astToString(oapiRef("#/components")).trim()).toBe(`components`); diff --git a/packages/openapi-typescript/test/node-api.test.ts b/packages/openapi-typescript/test/node-api.test.ts index 21aa993cc..c2b1216d3 100644 --- a/packages/openapi-typescript/test/node-api.test.ts +++ b/packages/openapi-typescript/test/node-api.test.ts @@ -538,7 +538,7 @@ export type operations = Record;`, given: new URL("./github-api.yaml", EXAMPLES_DIR), want: new URL("./github-api.ts", EXAMPLES_DIR), // options: DEFAULT_OPTIONS, - ci: { skipIf: true, /* TODO */ timeout: 3000 }, + ci: { timeout: 3000 }, }, ], [ @@ -547,7 +547,7 @@ export type operations = Record;`, given: new URL("./github-api-next.yaml", EXAMPLES_DIR), want: new URL("./github-api-next.ts", EXAMPLES_DIR), // options: DEFAULT_OPTIONS, - ci: { skipIf: true, /* TODO */ timeout: 30000 }, + ci: { timeout: 30000 }, }, ], [ @@ -556,7 +556,7 @@ export type operations = Record;`, given: new URL("./octokit-ghes-3.6-diff-to-api.json", EXAMPLES_DIR), want: new URL("./octokit-ghes-3.6-diff-to-api.ts", EXAMPLES_DIR), // options: DEFAULT_OPTIONS, - ci: { skipIf: true, /* TODO */ timeout: 30000 }, + ci: { timeout: 30000 }, }, ], [ @@ -565,7 +565,7 @@ export type operations = Record;`, given: new URL("./stripe-api.yaml", EXAMPLES_DIR), want: new URL("./stripe-api.ts", EXAMPLES_DIR), // options: DEFAULT_OPTIONS, - ci: { skipIf: true, /* TODO */ timeout: 30000 }, + ci: { timeout: 30000 }, }, ], [ @@ -579,8 +579,8 @@ export type operations = Record;`, // options: DEFAULT_OPTIONS, ci: { timeout: 60000, - skipIf: true /* TODO */, - // process.env.CI_ENV === "macos" || process.env.CI_ENV === "windows", // this test runs too slowly on non-Ubuntu GitHub Actions runners + skipIf: + process.env.CI_ENV === "macos" || process.env.CI_ENV === "windows", // this test runs too slowly on non-Ubuntu GitHub Actions runners }, }, ], From c25a567e3fa21252ff4f5d22d9fdd39f5ebc1040 Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Mon, 2 Oct 2023 18:28:13 -0600 Subject: [PATCH 05/10] Update examples --- .changeset/short-llamas-listen.md | 5 + packages/openapi-typescript/bin/cli.js | 16 +- .../examples/digital-ocean-api.ts | 38460 ++- .../resources/databases/models/mysql.yml | 48 + .../resources/databases/models/redis.yml | 18 +- .../kubernetes/kubernetes_get_credentials.yml | 3 +- .../examples/github-api-next.ts | 243763 ++++++++------- .../examples/github-api-next.yaml | 544 +- .../openapi-typescript/examples/github-api.ts | 228007 +++++++------- .../examples/github-api.yaml | 536 +- .../examples/octokit-ghes-3.6-diff-to-api.ts | 34135 +- .../{redocly-oas3.1.ts => simple-example.ts} | 18 +- ...edocly-oas3.1.yaml => simple-example.yaml} | 0 .../openapi-typescript/examples/stripe-api.ts | 98689 +++--- .../examples/stripe-api.yaml | 533 +- packages/openapi-typescript/src/lib/redoc.ts | 7 +- packages/openapi-typescript/src/lib/ts.ts | 60 +- packages/openapi-typescript/src/lib/utils.ts | 4 +- .../src/transform/components-object.ts | 35 +- .../openapi-typescript/src/transform/index.ts | 79 +- .../src/transform/operation-object.ts | 5 +- .../src/transform/paths-object.ts | 24 +- .../src/transform/schema-object.ts | 6 +- packages/openapi-typescript/test/cli.test.ts | 17 + .../test/fixtures/redocly/.gitignore | 1 + .../test/fixtures/redocly/openapi/a.yaml | 351 + .../test/fixtures/redocly/openapi/b.yaml | 351 + .../test/fixtures/redocly/openapi/c.yaml | 351 + .../test/fixtures/redocly/redocly.config.yaml | 16 + .../openapi-typescript/test/index.test.ts | 424 +- .../openapi-typescript/test/lib/ts.test.ts | 7 +- .../openapi-typescript/test/node-api.test.ts | 6 +- .../openapi-typescript/test/redocly.test.ts | 0 33 files changed, 328874 insertions(+), 317645 deletions(-) create mode 100644 .changeset/short-llamas-listen.md rename packages/openapi-typescript/examples/{redocly-oas3.1.ts => simple-example.ts} (97%) rename packages/openapi-typescript/examples/{redocly-oas3.1.yaml => simple-example.yaml} (100%) create mode 100644 packages/openapi-typescript/test/fixtures/redocly/.gitignore create mode 100644 packages/openapi-typescript/test/fixtures/redocly/openapi/a.yaml create mode 100644 packages/openapi-typescript/test/fixtures/redocly/openapi/b.yaml create mode 100644 packages/openapi-typescript/test/fixtures/redocly/openapi/c.yaml create mode 100644 packages/openapi-typescript/test/fixtures/redocly/redocly.config.yaml create mode 100644 packages/openapi-typescript/test/redocly.test.ts diff --git a/.changeset/short-llamas-listen.md b/.changeset/short-llamas-listen.md new file mode 100644 index 000000000..207f839b1 --- /dev/null +++ b/.changeset/short-llamas-listen.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": minor +--- + +✨ **Feature:** allow configuration of schemas via `apis` key in redocly.config.yaml (see https://redocly.com/docs/cli/configuration/) diff --git a/packages/openapi-typescript/bin/cli.js b/packages/openapi-typescript/bin/cli.js index 1f8d6932e..396ba149a 100755 --- a/packages/openapi-typescript/bin/cli.js +++ b/packages/openapi-typescript/bin/cli.js @@ -3,6 +3,7 @@ import { loadConfig } from "@redocly/openapi-core"; import glob from "fast-glob"; import fs from "node:fs"; +import path from "node:path"; import { fileURLToPath } from "node:url"; import parser from "yargs-parser"; import openapiTS, { @@ -130,10 +131,19 @@ async function generateSchema(url) { fs.writeFileSync(outputFilePath, result, "utf8"); + const inputDisplay = + url.protocol === "file:" + ? path.relative(fileURLToPath(CWD), fileURLToPath(url)) + : url.href; + const outputDisplay = path.relative( + fileURLToPath(CWD), + fileURLToPath(outputFilePath), + ); + console.log( - `🚀 ${c.green( - `${fileURLToPath(url)} → ${c.bold(fileURLToPath(outputFilePath))}`, - )} ${c.dim(`[${formatTime(performance.now() - timeStart)}]`)}`, + `🚀 ${c.green(`${inputDisplay} → ${c.bold(outputDisplay)}`)} ${c.dim( + `[${formatTime(performance.now() - timeStart)}]`, + )}`, ); } else { process.stdout.write(result); diff --git a/packages/openapi-typescript/examples/digital-ocean-api.ts b/packages/openapi-typescript/examples/digital-ocean-api.ts index c67299321..77056f06a 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api.ts +++ b/packages/openapi-typescript/examples/digital-ocean-api.ts @@ -3,16443 +3,22705 @@ * Do not make direct changes to the file. */ - -/** WithRequired type helpers */ -type WithRequired = T & { [P in K]-?: T[P] }; - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - export interface paths { - "/v2/1-clicks": { - get: external["resources/1-clicks/oneClicks_list.yml"] - }; - "/v2/1-clicks/kubernetes": { - post: external["resources/1-clicks/oneClicks_install_kubernetes.yml"] - }; - "/v2/account": { - get: external["resources/account/account_get.yml"] - }; - "/v2/account/keys": { - get: external["resources/ssh_keys/sshKeys_list.yml"] - post: external["resources/ssh_keys/sshKeys_create.yml"] - }; - "/v2/account/keys/{ssh_key_identifier}": { - get: external["resources/ssh_keys/sshKeys_get.yml"] - put: external["resources/ssh_keys/sshKeys_update.yml"] - delete: external["resources/ssh_keys/sshKeys_delete.yml"] - }; - "/v2/actions": { - get: external["resources/actions/actions_list.yml"] - }; - "/v2/actions/{action_id}": { - get: external["resources/actions/actions_get.yml"] - }; - "/v2/apps": { - get: external["resources/apps/apps_list.yml"] - post: external["resources/apps/apps_create.yml"] - }; - "/v2/apps/{id}": { - get: external["resources/apps/apps_get.yml"] - put: external["resources/apps/apps_update.yml"] - delete: external["resources/apps/apps_delete.yml"] - }; - "/v2/apps/{app_id}/components/{component_name}/logs": { - get: external["resources/apps/apps_get_logs_active_deployment.yml"] - }; - "/v2/apps/{app_id}/deployments": { - get: external["resources/apps/apps_list_deployments.yml"] - post: external["resources/apps/apps_create_deployment.yml"] - }; - "/v2/apps/{app_id}/deployments/{deployment_id}": { - get: external["resources/apps/apps_get_deployment.yml"] - }; - "/v2/apps/{app_id}/deployments/{deployment_id}/cancel": { - post: external["resources/apps/apps_cancel_deployment.yml"] - }; - "/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs": { - get: external["resources/apps/apps_get_logs.yml"] - }; - "/v2/apps/{app_id}/deployments/{deployment_id}/logs": { - get: external["resources/apps/apps_get_logs_aggregate.yml"] - }; - "/v2/apps/{app_id}/logs": { - get: external["resources/apps/apps_get_logs_active_deployment_aggregate.yml"] - }; - "/v2/apps/tiers": { - get: external["resources/apps/apps_list_tiers.yml"] - }; - "/v2/apps/tiers/{slug}": { - get: external["resources/apps/apps_get_tier.yml"] - }; - "/v2/apps/tiers/instance_sizes": { - get: external["resources/apps/apps_list_instanceSizes.yml"] - }; - "/v2/apps/tiers/instance_sizes/{slug}": { - get: external["resources/apps/apps_get_instanceSize.yml"] - }; - "/v2/apps/regions": { - get: external["resources/apps/apps_list_regions.yml"] - }; - "/v2/apps/propose": { - post: external["resources/apps/apps_validate_appSpec.yml"] - }; - "/v2/apps/{app_id}/alerts": { - get: external["resources/apps/apps_list_alerts.yml"] - }; - "/v2/apps/{app_id}/alerts/{alert_id}/destinations": { - post: external["resources/apps/apps_assign_alertDestinations.yml"] - }; - "/v2/apps/{app_id}/rollback": { - post: external["resources/apps/apps_create_rollback.yml"] - }; - "/v2/apps/{app_id}/rollback/validate": { - post: external["resources/apps/apps_validate_rollback.yml"] - }; - "/v2/apps/{app_id}/rollback/commit": { - post: external["resources/apps/apps_commit_rollback.yml"] - }; - "/v2/apps/{app_id}/rollback/revert": { - post: external["resources/apps/apps_revert_rollback.yml"] - }; - "/v2/apps/{app_id}/metrics/bandwidth_daily": { - get: external["resources/apps/apps_get_metrics_bandwidth_usage.yml"] - }; - "/v2/apps/metrics/bandwidth_daily": { - post: external["resources/apps/apps_list_metrics_bandwidth_usage.yml"] - }; - "/v2/cdn/endpoints": { - get: external["resources/cdn/cdn_list_endpoints.yml"] - post: external["resources/cdn/cdn_create_endpoint.yml"] - }; - "/v2/cdn/endpoints/{cdn_id}": { - get: external["resources/cdn/cdn_get_endpoint.yml"] - put: external["resources/cdn/cdn_update_endpoint.yml"] - delete: external["resources/cdn/cdn_delete_endpoint.yml"] - }; - "/v2/cdn/endpoints/{cdn_id}/cache": { - delete: external["resources/cdn/cdn_purge_cache.yml"] - }; - "/v2/certificates": { - get: external["resources/certificates/certificates_list.yml"] - post: external["resources/certificates/certificates_create.yml"] - }; - "/v2/certificates/{certificate_id}": { - get: external["resources/certificates/certificates_get.yml"] - delete: external["resources/certificates/certificates_delete.yml"] - }; - "/v2/customers/my/balance": { - get: external["resources/billing/balance_get.yml"] - }; - "/v2/customers/my/billing_history": { - get: external["resources/billing/billingHistory_list.yml"] - }; - "/v2/customers/my/invoices": { - get: external["resources/billing/invoices_list.yml"] - }; - "/v2/customers/my/invoices/{invoice_uuid}": { - get: external["resources/billing/invoices_get_byUUID.yml"] - }; - "/v2/customers/my/invoices/{invoice_uuid}/csv": { - get: external["resources/billing/invoices_get_csvByUUID.yml"] - }; - "/v2/customers/my/invoices/{invoice_uuid}/pdf": { - get: external["resources/billing/invoices_get_pdfByUUID.yml"] - }; - "/v2/customers/my/invoices/{invoice_uuid}/summary": { - get: external["resources/billing/invoices_get_summaryByUUID.yml"] - }; - "/v2/databases/options": { - get: external["resources/databases/databases_list_options.yml"] - }; - "/v2/databases": { - get: external["resources/databases/databases_list_clusters.yml"] - post: external["resources/databases/databases_create_cluster.yml"] - }; - "/v2/databases/{database_cluster_uuid}": { - get: external["resources/databases/databases_get_cluster.yml"] - delete: external["resources/databases/databases_destroy_cluster.yml"] - }; - "/v2/databases/{database_cluster_uuid}/config": { - get: external["resources/databases/databases_get_config.yml"] - patch: external["resources/databases/databases_patch_config.yml"] - }; - "/v2/databases/{database_cluster_uuid}/ca": { - get: external["resources/databases/databases_get_ca.yml"] - }; - "/v2/databases/{database_cluster_uuid}/online-migration": { - get: external["resources/databases/databases_get_migrationStatus.yml"] - put: external["resources/databases/databases_update_onlineMigration.yml"] - }; - "/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}": { - delete: external["resources/databases/databases_delete_onlineMigration.yml"] - }; - "/v2/databases/{database_cluster_uuid}/migrate": { - put: external["resources/databases/databases_update_region.yml"] - }; - "/v2/databases/{database_cluster_uuid}/resize": { - put: external["resources/databases/databases_update_clusterSize.yml"] - }; - "/v2/databases/{database_cluster_uuid}/firewall": { - get: external["resources/databases/databases_list_firewall_rules.yml"] - put: external["resources/databases/databases_update_firewall_rules.yml"] - }; - "/v2/databases/{database_cluster_uuid}/maintenance": { - put: external["resources/databases/databases_update_maintenanceWindow.yml"] - }; - "/v2/databases/{database_cluster_uuid}/backups": { - get: external["resources/databases/databases_list_backups.yml"] - }; - "/v2/databases/{database_cluster_uuid}/replicas": { - get: external["resources/databases/databases_list_replicas.yml"] - post: external["resources/databases/databases_create_replica.yml"] - }; - "/v2/databases/{database_cluster_uuid}/replicas/{replica_name}": { - get: external["resources/databases/databases_get_replica.yml"] - delete: external["resources/databases/databases_destroy_replica.yml"] - }; - "/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote": { - put: external["resources/databases/databases_promote_replica.yml"] - }; - "/v2/databases/{database_cluster_uuid}/users": { - get: external["resources/databases/databases_list_users.yml"] - post: external["resources/databases/databases_add_user.yml"] - }; - "/v2/databases/{database_cluster_uuid}/users/{username}": { - get: external["resources/databases/databases_get_user.yml"] - delete: external["resources/databases/databases_delete_user.yml"] - }; - "/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth": { - post: external["resources/databases/databases_reset_auth.yml"] - }; - "/v2/databases/{database_cluster_uuid}/dbs": { - get: external["resources/databases/databases_list.yml"] - post: external["resources/databases/databases_add.yml"] - }; - "/v2/databases/{database_cluster_uuid}/dbs/{database_name}": { - get: external["resources/databases/databases_get.yml"] - delete: external["resources/databases/databases_delete.yml"] - }; - "/v2/databases/{database_cluster_uuid}/pools": { - get: external["resources/databases/databases_list_connectionPools.yml"] - post: external["resources/databases/databases_add_connectionPool.yml"] - }; - "/v2/databases/{database_cluster_uuid}/pools/{pool_name}": { - get: external["resources/databases/databases_get_connectionPool.yml"] - put: external["resources/databases/databases_update_connectionPool.yml"] - delete: external["resources/databases/databases_delete_connectionPool.yml"] - }; - "/v2/databases/{database_cluster_uuid}/eviction_policy": { - get: external["resources/databases/databases_get_evictionPolicy.yml"] - put: external["resources/databases/databases_update_evictionPolicy.yml"] - }; - "/v2/databases/{database_cluster_uuid}/sql_mode": { - get: external["resources/databases/databases_get_sql_mode.yml"] - put: external["resources/databases/databases_update_sql_mode.yml"] - }; - "/v2/databases/{database_cluster_uuid}/upgrade": { - put: external["resources/databases/databases_upgrade_major_version.yml"] - }; - "/v2/domains": { - get: external["resources/domains/domains_list.yml"] - post: external["resources/domains/domains_create.yml"] - }; - "/v2/domains/{domain_name}": { - get: external["resources/domains/domains_get.yml"] - delete: external["resources/domains/domains_delete.yml"] - }; - "/v2/domains/{domain_name}/records": { - get: external["resources/domains/domains_list_records.yml"] - post: external["resources/domains/domains_create_record.yml"] - }; - "/v2/domains/{domain_name}/records/{domain_record_id}": { - get: external["resources/domains/domains_get_record.yml"] - put: external["resources/domains/domains_update_record.yml"] - delete: external["resources/domains/domains_delete_record.yml"] - patch: external["resources/domains/domains_patch_record.yml"] - }; - "/v2/droplets": { - get: external["resources/droplets/droplets_list.yml"] - post: external["resources/droplets/droplets_create.yml"] - delete: external["resources/droplets/droplets_destroy_byTag.yml"] - }; - "/v2/droplets/{droplet_id}": { - get: external["resources/droplets/droplets_get.yml"] - delete: external["resources/droplets/droplets_destroy.yml"] - }; - "/v2/droplets/{droplet_id}/backups": { - get: external["resources/droplets/droplets_list_backups.yml"] - }; - "/v2/droplets/{droplet_id}/snapshots": { - get: external["resources/droplets/droplets_list_snapshots.yml"] - }; - "/v2/droplets/{droplet_id}/actions": { - get: external["resources/droplets/dropletActions_list.yml"] - post: external["resources/droplets/dropletActions_post.yml"] - }; - "/v2/droplets/actions": { - post: external["resources/droplets/dropletActions_post_byTag.yml"] - }; - "/v2/droplets/{droplet_id}/actions/{action_id}": { - get: external["resources/droplets/dropletActions_get.yml"] - }; - "/v2/droplets/{droplet_id}/kernels": { - get: external["resources/droplets/droplets_list_kernels.yml"] - }; - "/v2/droplets/{droplet_id}/firewalls": { - get: external["resources/droplets/droplets_list_firewalls.yml"] - }; - "/v2/droplets/{droplet_id}/neighbors": { - get: external["resources/droplets/droplets_list_neighbors.yml"] - }; - "/v2/droplets/{droplet_id}/destroy_with_associated_resources": { - get: external["resources/droplets/droplets_list_associatedResources.yml"] - }; - "/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective": { - delete: external["resources/droplets/droplets_destroy_withAssociatedResourcesSelective.yml"] - }; - "/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous": { - delete: external["resources/droplets/droplets_destroy_withAssociatedResourcesDangerous.yml"] - }; - "/v2/droplets/{droplet_id}/destroy_with_associated_resources/status": { - get: external["resources/droplets/droplets_get_destroyAssociatedResourcesStatus.yml"] - }; - "/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry": { - post: external["resources/droplets/droplets_destroy_retryWithAssociatedResources.yml"] - }; - "/v2/firewalls": { - get: external["resources/firewalls/firewalls_list.yml"] - post: external["resources/firewalls/firewalls_create.yml"] - }; - "/v2/firewalls/{firewall_id}": { - get: external["resources/firewalls/firewalls_get.yml"] - put: external["resources/firewalls/firewalls_update.yml"] - delete: external["resources/firewalls/firewalls_delete.yml"] - }; - "/v2/firewalls/{firewall_id}/droplets": { - post: external["resources/firewalls/firewalls_assign_droplets.yml"] - delete: external["resources/firewalls/firewalls_delete_droplets.yml"] - }; - "/v2/firewalls/{firewall_id}/tags": { - post: external["resources/firewalls/firewalls_add_tags.yml"] - delete: external["resources/firewalls/firewalls_delete_tags.yml"] - }; - "/v2/firewalls/{firewall_id}/rules": { - post: external["resources/firewalls/firewalls_add_rules.yml"] - delete: external["resources/firewalls/firewalls_delete_rules.yml"] - }; - "/v2/floating_ips": { - get: external["resources/floating_ips/floatingIPs_list.yml"] - post: external["resources/floating_ips/floatingIPs_create.yml"] - }; - "/v2/floating_ips/{floating_ip}": { - get: external["resources/floating_ips/floatingIPs_get.yml"] - delete: external["resources/floating_ips/floatingIPs_delete.yml"] - }; - "/v2/floating_ips/{floating_ip}/actions": { - get: external["resources/floating_ips/floatingIPsAction_list.yml"] - post: external["resources/floating_ips/floatingIPsAction_post.yml"] - }; - "/v2/floating_ips/{floating_ip}/actions/{action_id}": { - get: external["resources/floating_ips/floatingIPsAction_get.yml"] - }; - "/v2/functions/namespaces": { - get: external["resources/functions/functions_list_namespaces.yml"] - post: external["resources/functions/functions_create_namespace.yml"] - }; - "/v2/functions/namespaces/{namespace_id}": { - get: external["resources/functions/functions_get_namespace.yml"] - delete: external["resources/functions/functions_delete_namespace.yml"] - }; - "/v2/functions/namespaces/{namespace_id}/triggers": { - get: external["resources/functions/functions_list_triggers.yml"] - post: external["resources/functions/functions_create_trigger.yml"] - }; - "/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}": { - get: external["resources/functions/functions_get_trigger.yml"] - put: external["resources/functions/functions_update_trigger.yml"] - delete: external["resources/functions/functions_delete_trigger.yml"] - }; - "/v2/images": { - get: external["resources/images/images_list.yml"] - post: external["resources/images/images_create_custom.yml"] - }; - "/v2/images/{image_id}": { - get: external["resources/images/images_get.yml"] - put: external["resources/images/images_update.yml"] - delete: external["resources/images/images_delete.yml"] - }; - "/v2/images/{image_id}/actions": { - get: external["resources/images/imageActions_list.yml"] - post: external["resources/images/imageActions_post.yml"] - }; - "/v2/images/{image_id}/actions/{action_id}": { - get: external["resources/images/imageActions_get.yml"] - }; - "/v2/kubernetes/clusters": { - get: external["resources/kubernetes/kubernetes_list_clusters.yml"] - post: external["resources/kubernetes/kubernetes_create_cluster.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}": { - get: external["resources/kubernetes/kubernetes_get_cluster.yml"] - put: external["resources/kubernetes/kubernetes_update_cluster.yml"] - delete: external["resources/kubernetes/kubernetes_delete_cluster.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources": { - get: external["resources/kubernetes/kubernetes_list_associatedResources.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective": { - delete: external["resources/kubernetes/kubernetes_destroy_associatedResourcesSelective.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous": { - delete: external["resources/kubernetes/kubernetes_destroy_associatedResourcesDangerous.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/kubeconfig": { - get: external["resources/kubernetes/kubernetes_get_kubeconfig.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/credentials": { - get: external["resources/kubernetes/kubernetes_get_credentials.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/upgrades": { - get: external["resources/kubernetes/kubernetes_get_availableUpgrades.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/upgrade": { - post: external["resources/kubernetes/kubernetes_upgrade_cluster.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/node_pools": { - get: external["resources/kubernetes/kubernetes_list_nodePools.yml"] - post: external["resources/kubernetes/kubernetes_add_nodePool.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}": { - get: external["resources/kubernetes/kubernetes_get_nodePool.yml"] - put: external["resources/kubernetes/kubernetes_update_nodePool.yml"] - delete: external["resources/kubernetes/kubernetes_delete_nodePool.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}": { - delete: external["resources/kubernetes/kubernetes_delete_node.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle": { - post: external["resources/kubernetes/kubernetes_recycle_nodePool.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/user": { - get: external["resources/kubernetes/kubernetes_get_clusterUser.yml"] - }; - "/v2/kubernetes/options": { - get: external["resources/kubernetes/kubernetes_list_options.yml"] - }; - "/v2/kubernetes/clusters/{cluster_id}/clusterlint": { - get: external["resources/kubernetes/kubernetes_get_clusterLintResults.yml"] - post: external["resources/kubernetes/kubernetes_run_clusterLint.yml"] - }; - "/v2/kubernetes/registry": { - post: external["resources/kubernetes/kubernetes_add_registry.yml"] - delete: external["resources/kubernetes/kubernetes_remove_registry.yml"] - }; - "/v2/load_balancers": { - get: external["resources/load_balancers/loadBalancers_list.yml"] - post: external["resources/load_balancers/loadBalancers_create.yml"] - }; - "/v2/load_balancers/{lb_id}": { - get: external["resources/load_balancers/loadBalancers_get.yml"] - put: external["resources/load_balancers/loadBalancers_update.yml"] - delete: external["resources/load_balancers/loadBalancers_delete.yml"] - }; - "/v2/load_balancers/{lb_id}/droplets": { - post: external["resources/load_balancers/loadBalancers_add_droplets.yml"] - delete: external["resources/load_balancers/loadBalancers_remove_droplets.yml"] - }; - "/v2/load_balancers/{lb_id}/forwarding_rules": { - post: external["resources/load_balancers/loadBalancers_add_forwardingRules.yml"] - delete: external["resources/load_balancers/loadBalancers_remove_forwardingRules.yml"] - }; - "/v2/monitoring/alerts": { - get: external["resources/monitoring/monitoring_list_alertPolicy.yml"] - post: external["resources/monitoring/monitoring_create_alertPolicy.yml"] - }; - "/v2/monitoring/alerts/{alert_uuid}": { - get: external["resources/monitoring/monitoring_get_alertPolicy.yml"] - put: external["resources/monitoring/monitoring_update_alertPolicy.yml"] - delete: external["resources/monitoring/monitoring_delete_alertPolicy.yml"] - }; - "/v2/monitoring/metrics/droplet/bandwidth": { - get: external["resources/monitoring/monitoring_get_dropletBandwidthMetrics.yml"] - }; - "/v2/monitoring/metrics/droplet/cpu": { - get: external["resources/monitoring/monitoring_get_DropletCpuMetrics.yml"] - }; - "/v2/monitoring/metrics/droplet/filesystem_free": { - get: external["resources/monitoring/monitoring_get_dropletFilesystemFreeMetrics.yml"] - }; - "/v2/monitoring/metrics/droplet/filesystem_size": { - get: external["resources/monitoring/monitoring_get_dropletFilesystemSizeMetrics.yml"] - }; - "/v2/monitoring/metrics/droplet/load_1": { - get: external["resources/monitoring/monitoring_get_dropletLoad1Metrics.yml"] - }; - "/v2/monitoring/metrics/droplet/load_5": { - get: external["resources/monitoring/monitoring_get_dropletLoad5Metrics.yml"] - }; - "/v2/monitoring/metrics/droplet/load_15": { - get: external["resources/monitoring/monitoring_get_dropletLoad15Metrics.yml"] - }; - "/v2/monitoring/metrics/droplet/memory_cached": { - get: external["resources/monitoring/monitoring_get_dropletMemoryCachedMetrics.yml"] - }; - "/v2/monitoring/metrics/droplet/memory_free": { - get: external["resources/monitoring/monitoring_get_dropletMemoryFreeMetrics.yml"] - }; - "/v2/monitoring/metrics/droplet/memory_total": { - get: external["resources/monitoring/monitoring_get_dropletMemoryTotalMetrics.yml"] - }; - "/v2/monitoring/metrics/droplet/memory_available": { - get: external["resources/monitoring/monitoring_get_dropletMemoryAvailableMetrics.yml"] - }; - "/v2/projects": { - get: external["resources/projects/projects_list.yml"] - post: external["resources/projects/projects_create.yml"] - }; - "/v2/projects/default": { - get: external["resources/projects/projects_get_default.yml"] - put: external["resources/projects/projects_update_default.yml"] - patch: external["resources/projects/projects_patch_default.yml"] - }; - "/v2/projects/{project_id}": { - get: external["resources/projects/projects_get.yml"] - put: external["resources/projects/projects_update.yml"] - delete: external["resources/projects/projects_delete.yml"] - patch: external["resources/projects/projects_patch.yml"] - }; - "/v2/projects/{project_id}/resources": { - get: external["resources/projects/projects_list_resources.yml"] - post: external["resources/projects/projects_assign_resources.yml"] - }; - "/v2/projects/default/resources": { - get: external["resources/projects/projects_list_resources_default.yml"] - post: external["resources/projects/projects_assign_resources_default.yml"] - }; - "/v2/regions": { - get: external["resources/regions/regions_list.yml"] - }; - "/v2/registry": { - get: external["resources/registry/registry_get.yml"] - post: external["resources/registry/registry_create.yml"] - delete: external["resources/registry/registry_delete.yml"] - }; - "/v2/registry/subscription": { - get: external["resources/registry/registry_get_subscription.yml"] - post: external["resources/registry/registry_update_subscription.yml"] - }; - "/v2/registry/docker-credentials": { - get: external["resources/registry/registry_get_dockerCredentials.yml"] - }; - "/v2/registry/validate-name": { - post: external["resources/registry/registry_validate_name.yml"] - }; - "/v2/registry/{registry_name}/repositories": { - get: external["resources/registry/registry_list_repositories.yml"] - }; - "/v2/registry/{registry_name}/repositoriesV2": { - get: external["resources/registry/registry_list_repositoriesV2.yml"] - }; - "/v2/registry/{registry_name}/repositories/{repository_name}/tags": { - get: external["resources/registry/registry_list_repositoryTags.yml"] - }; - "/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}": { - delete: external["resources/registry/registry_delete_repositoryTag.yml"] - }; - "/v2/registry/{registry_name}/repositories/{repository_name}/digests": { - get: external["resources/registry/registry_list_repositoryManifests.yml"] - }; - "/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}": { - delete: external["resources/registry/registry_delete_repositoryManifest.yml"] - }; - "/v2/registry/{registry_name}/garbage-collection": { - get: external["resources/registry/registry_get_garbageCollection.yml"] - post: external["resources/registry/registry_run_garbageCollection.yml"] - }; - "/v2/registry/{registry_name}/garbage-collections": { - get: external["resources/registry/registry_list_garbageCollections.yml"] - }; - "/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}": { - put: external["resources/registry/registry_update_garbageCollection.yml"] - }; - "/v2/registry/options": { - get: external["resources/registry/registry_get_options.yml"] - }; - "/v2/reports/droplet_neighbors_ids": { - get: external["resources/droplets/droplets_list_neighborsIds.yml"] - }; - "/v2/reserved_ips": { - get: external["resources/reserved_ips/reservedIPs_list.yml"] - post: external["resources/reserved_ips/reservedIPs_create.yml"] - }; - "/v2/reserved_ips/{reserved_ip}": { - get: external["resources/reserved_ips/reservedIPs_get.yml"] - delete: external["resources/reserved_ips/reservedIPs_delete.yml"] - }; - "/v2/reserved_ips/{reserved_ip}/actions": { - get: external["resources/reserved_ips/reservedIPsActions_list.yml"] - post: external["resources/reserved_ips/reservedIPsActions_post.yml"] - }; - "/v2/reserved_ips/{reserved_ip}/actions/{action_id}": { - get: external["resources/reserved_ips/reservedIPsActions_get.yml"] - }; - "/v2/sizes": { - get: external["resources/sizes/sizes_list.yml"] - }; - "/v2/snapshots": { - get: external["resources/snapshots/snapshots_list.yml"] - }; - "/v2/snapshots/{snapshot_id}": { - get: external["resources/snapshots/snapshots_get.yml"] - delete: external["resources/snapshots/snapshots_delete.yml"] - }; - "/v2/tags": { - get: external["resources/tags/tags_list.yml"] - post: external["resources/tags/tags_create.yml"] - }; - "/v2/tags/{tag_id}": { - get: external["resources/tags/tags_get.yml"] - delete: external["resources/tags/tags_delete.yml"] - }; - "/v2/tags/{tag_id}/resources": { - post: external["resources/tags/tags_assign_resources.yml"] - delete: external["resources/tags/tags_unassign_resources.yml"] - }; - "/v2/volumes": { - get: external["resources/volumes/volumes_list.yml"] - post: external["resources/volumes/volumes_create.yml"] - delete: external["resources/volumes/volumes_delete_byName.yml"] - }; - "/v2/volumes/actions": { - post: external["resources/volumes/volumeActions_post.yml"] - }; - "/v2/volumes/snapshots/{snapshot_id}": { - get: external["resources/volumes/volumeSnapshots_get_byId.yml"] - delete: external["resources/volumes/volumeSnapshots_delete_byId.yml"] - }; - "/v2/volumes/{volume_id}": { - get: external["resources/volumes/volumes_get.yml"] - delete: external["resources/volumes/volumes_delete.yml"] - }; - "/v2/volumes/{volume_id}/actions": { - get: external["resources/volumes/volumeActions_list.yml"] - post: external["resources/volumes/volumeActions_post_byId.yml"] - }; - "/v2/volumes/{volume_id}/actions/{action_id}": { - get: external["resources/volumes/volumeActions_get.yml"] - }; - "/v2/volumes/{volume_id}/snapshots": { - get: external["resources/volumes/volumeSnapshots_list.yml"] - post: external["resources/volumes/volumeSnapshots_create.yml"] - }; - "/v2/vpcs": { - get: external["resources/vpcs/vpcs_list.yml"] - post: external["resources/vpcs/vpcs_create.yml"] - }; - "/v2/vpcs/{vpc_id}": { - get: external["resources/vpcs/vpcs_get.yml"] - put: external["resources/vpcs/vpcs_update.yml"] - delete: external["resources/vpcs/vpcs_delete.yml"] - patch: external["resources/vpcs/vpcs_patch.yml"] - }; - "/v2/vpcs/{vpc_id}/members": { - get: external["resources/vpcs/vpcs_list_members.yml"] - }; - "/v2/uptime/checks": { - get: external["resources/uptime/list_checks.yml"] - post: external["resources/uptime/create_check.yml"] - }; - "/v2/uptime/checks/{check_id}": { - get: external["resources/uptime/get_check.yml"] - put: external["resources/uptime/update_check.yml"] - delete: external["resources/uptime/delete_check.yml"] - }; - "/v2/uptime/checks/{check_id}/state": { - get: external["resources/uptime/get_check_state.yml"] - }; - "/v2/uptime/checks/{check_id}/alerts": { - get: external["resources/uptime/list_alerts.yml"] - post: external["resources/uptime/create_alert.yml"] - }; - "/v2/uptime/checks/{check_id}/alerts/{alert_id}": { - get: external["resources/uptime/get_alert.yml"] - put: external["resources/uptime/update_alert.yml"] - delete: external["resources/uptime/delete_alert.yml"] - }; -} - -export type webhooks = Record; - -export interface components { - schemas: never; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export interface external { - "description.yml": { - paths: Record; - webhooks: Record; - components: Record; - $defs: Record; - }; - "resources/1-clicks/models/oneClicks_create.yml": { - /** - * addon_slugs - * @description An array of 1-Click Application slugs to be installed to the Kubernetes cluster. - * @default [] - * @example [ - * "kube-state-metrics", - * "loki" - * ] - */ - addon_slugs: string[]; - /** - * cluster_uuid - * @description A unique ID for the Kubernetes cluster to which the 1-Click Applications will be installed. - * @example 50a994b6-c303-438f-9495-7e896cfe6b08 - */ - cluster_uuid: string; - }; - "resources/1-clicks/models/oneClicks.yml": { - /** - * slug - * @description The slug identifier for the 1-Click application. - * @example monitoring - */ - slug: string; - /** - * type - * @description The type of the 1-Click application. - * @example kubernetes - */ - type: string; - }; - /** - * Install Kubernetes 1-Click Applications - * @description To install a Kubernetes 1-Click application on a cluster, send a POST request to - * `/v2/1-clicks/kubernetes`. The `addon_slugs` and `cluster_uuid` must be provided as body - * parameter in order to specify which 1-Click application(s) to install. To list all available - * 1-Click Kubernetes applications, send a request to `/v2/1-clicks?type=kubernetes`. - */ - "resources/1-clicks/oneClicks_install_kubernetes.yml": { - requestBody: { - content: { - "application/json": external["resources/1-clicks/models/oneClicks_create.yml"]; - }; - }; - responses: { - 200: external["resources/1-clicks/responses/oneClicks_create.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List 1-Click Applications - * @description To list all available 1-Click applications, send a GET request to `/v2/1-clicks`. The `type` may - * be provided as query paramater in order to restrict results to a certain type of 1-Click, for - * example: `/v2/1-clicks?type=droplet`. Current supported types are `kubernetes` and `droplet`. - * - * The response will be a JSON object with a key called `1_clicks`. This will be set to an array of - * 1-Click application data, each of which will contain the the slug and type for the 1-Click. - */ - "resources/1-clicks/oneClicks_list.yml": { - parameters: { - query?: { - type?: external["resources/1-clicks/parameters.yml"]["oneClicks_type"]; - }; - }; - responses: { - 200: external["resources/1-clicks/responses/oneClicks_all.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/1-clicks/parameters.yml": { - oneClicks_type?: "droplet" | "kubernetes"; - }; - "resources/1-clicks/responses/oneClicks_all.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - "1_clicks"?: external["resources/1-clicks/models/oneClicks.yml"][]; - }; - }; - }; - "resources/1-clicks/responses/oneClicks_create.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { + "/v2/1-clicks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description A message about the result of the request. - * @example Successfully kicked off addon job. + * List 1-Click Applications + * @description To list all available 1-Click applications, send a GET request to `/v2/1-clicks`. The `type` may + * be provided as query paramater in order to restrict results to a certain type of 1-Click, for + * example: `/v2/1-clicks?type=droplet`. Current supported types are `kubernetes` and `droplet`. + * + * The response will be a JSON object with a key called `1_clicks`. This will be set to an array of + * 1-Click application data, each of which will contain the the slug and type for the 1-Click. + * */ - message?: string; - }; - }; - }; - /** - * Get User Information - * @description To show information about the current user account, send a GET request to `/v2/account`. - */ - "resources/account/account_get.yml": { - responses: { - 200: external["resources/account/responses/account.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/account/models/account.yml": { - /** - * @description The total number of Droplets current user or team may have active at one time. - * @example 25 - */ - droplet_limit: number; - /** - * @description The total number of Floating IPs the current user or team may have. - * @example 5 - */ - floating_ip_limit: number; - /** - * @description The email address used by the current user to register for DigitalOcean. - * @example sammy@digitalocean.com - */ - email: string; - /** - * @description The display name for the current user. - * @example Sammy the Shark - */ - name?: string; - /** - * @description The unique universal identifier for the current user. - * @example b6fr89dbf6d9156cace5f3c78dc9851d957381ef - */ - uuid: string; - /** - * @description If true, the user has verified their account via email. False otherwise. - * @default false - * @example true - */ - email_verified: boolean; - /** - * @description This value is one of "active", "warning" or "locked". - * @default active - * @example active - * @enum {string} - */ - status: "active" | "warning" | "locked"; - /** - * @description A human-readable message giving more details about the status of the account. - * @example - */ - status_message: string; - /** @description When authorized in a team context, includes information about the current team. */ - team?: { - /** - * @description The unique universal identifier for the current team. - * @example 5df3e3004a17e242b7c20ca6c9fc25b701a47ece - */ - uuid?: string; - /** - * @description The name for the current team. - * @example My Team - */ - name?: string; - }; - }; - "resources/account/responses/account.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - account?: external["resources/account/models/account.yml"]; - }; - }; - }; - /** - * Retrieve an Existing Action - * @description To retrieve a specific action object, send a GET request to `/v2/actions/$ACTION_ID`. - */ - "resources/actions/actions_get.yml": { - parameters: { - path: { - action_id: external["resources/actions/parameters.yml"]["action_id"]; - }; - }; - responses: { - 200: external["resources/actions/responses/action.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Actions - * @description This will be the entire list of actions taken on your account, so it will be quite large. As with any large collection returned by the API, the results will be paginated with only 20 on each page by default. - */ - "resources/actions/actions_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - }; - responses: { - 200: external["resources/actions/responses/actions.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/actions/models/action.yml": { - /** - * @description A unique numeric ID that can be used to identify and reference an action. - * @example 36804636 - */ - id?: number; - /** - * @description The current status of the action. This can be "in-progress", "completed", or "errored". - * @default in-progress - * @example completed - * @enum {string} - */ - status?: "in-progress" | "completed" | "errored"; - /** - * @description This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. - * @example create - */ - type?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the action was initiated. - * @example "2020-11-14T16:29:21.000Z" - */ - started_at?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the action was completed. - * @example "2020-11-14T16:30:06.000Z" - */ - completed_at?: string | null; - /** - * @description A unique identifier for the resource that the action is associated with. - * @example 3164444 - */ - resource_id?: number | null; - /** - * @description The type of resource that the action is associated with. - * @example droplet - */ - resource_type?: string; - region?: external["resources/regions/models/region.yml"]; - region_slug?: external["resources/regions/models/region.yml"]["slug"] & (string | null); - }; - "resources/actions/parameters.yml": { - action_id: number; - }; - "resources/actions/responses/action.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - action?: external["resources/actions/models/action.yml"]; - }; - }; - }; - "resources/actions/responses/actions.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - actions?: external["resources/actions/models/action.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - /** - * Update destinations for alerts - * @description Updates the emails and slack webhook destinations for app alerts. Emails must be associated to a user with access to the app. - */ - "resources/apps/apps_assign_alertDestinations.yml": { - parameters: { - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - alert_id: external["resources/apps/parameters.yml"]["alert_id"]; - }; - }; - requestBody: { - content: { - "application/json": external["resources/apps/models/apps_assign_app_alert_destinations_request.yml"]; - }; - }; - responses: { - 200: external["resources/apps/responses/assign_alert_destinations.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Cancel a Deployment - * @description Immediately cancel an in-progress deployment. - */ - "resources/apps/apps_cancel_deployment.yml": { - parameters: { - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - deployment_id: external["resources/apps/parameters.yml"]["deployment_id"]; - }; - }; - responses: { - 200: external["resources/apps/responses/cancel_deployment.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Commit App Rollback - * @description Commit an app rollback. This action permanently applies the rollback and unpins the app to resume new deployments. - */ - "resources/apps/apps_commit_rollback.yml": { - parameters: { - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - }; - }; - responses: { - 200: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create an App Deployment - * @description Creating an app deployment will pull the latest changes from your repository and schedule a new deployment for your app. - */ - "resources/apps/apps_create_deployment.yml": { - parameters: { - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - }; - }; - requestBody: { - content: { - "application/json": external["resources/apps/models/apps_create_deployment_request.yml"]; - }; - }; - responses: { - 200: external["resources/apps/responses/new_app_deployment.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Rollback App - * @description Rollback an app to a previous deployment. A new deployment will be created to perform the rollback. - * The app will be pinned to the rollback deployment preventing any new deployments from being created, - * either manually or through Auto Deploy on Push webhooks. To resume deployments, the rollback must be - * either committed or reverted. - * - * It is recommended to use the Validate App Rollback endpoint to double check if the rollback is - * valid and if there are any warnings. - */ - "resources/apps/apps_create_rollback.yml": { - parameters: { - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - }; - }; - requestBody: { - content: { - "application/json": external["resources/apps/models/apps_rollback_app_request.yml"]; - }; - }; - responses: { - 200: external["resources/apps/responses/new_app_deployment.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a New App - * @description Create a new app by submitting an app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/). - */ - "resources/apps/apps_create.yml": { - parameters: { - header?: { - Accept?: external["resources/apps/parameters.yml"]["accept"]; - "Content-Type"?: external["resources/apps/parameters.yml"]["content-type"]; - }; - }; - requestBody: { - content: { - /** - * @example { - * "spec": { - * "name": "web-app", - * "region": "nyc", - * "services": [ - * { - * "name": "api", - * "github": { - * "branch": "main", - * "deploy_on_push": true, - * "repo": "digitalocean/sample-golang" - * }, - * "run_command": "bin/api", - * "environment_slug": "node-js", - * "instance_count": 2, - * "instance_size_slug": "basic-xxs", - * "routes": [ - * { - * "path": "/api" - * } - * ] - * } - * ] - * } - * } + get: operations["oneClicks_list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/1-clicks/kubernetes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Install Kubernetes 1-Click Applications + * @description To install a Kubernetes 1-Click application on a cluster, send a POST request to + * `/v2/1-clicks/kubernetes`. The `addon_slugs` and `cluster_uuid` must be provided as body + * parameter in order to specify which 1-Click application(s) to install. To list all available + * 1-Click Kubernetes applications, send a request to `/v2/1-clicks?type=kubernetes`. + * */ - "application/json": external["resources/apps/models/apps_create_app_request.yml"]; - }; - }; - responses: { - 200: external["resources/apps/responses/new_app.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete an App - * @description Delete an existing app. Once deleted, all active deployments will be permanently shut down and the app deleted. If needed, be sure to back up your app specification so that you may re-create it at a later time. - */ - "resources/apps/apps_delete.yml": { - parameters: { - path: { - id: external["resources/apps/parameters.yml"]["id_app"]; - }; - }; - responses: { - 200: external["resources/apps/responses/delete_app.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an App Deployment - * @description Retrieve information about an app deployment. - */ - "resources/apps/apps_get_deployment.yml": { - parameters: { - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - deployment_id: external["resources/apps/parameters.yml"]["deployment_id"]; - }; - }; - responses: { - 200: external["resources/apps/responses/list_deployment.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Instance Size - * @description Retrieve information about a specific instance size for `service`, `worker`, and `job` components. - */ - "resources/apps/apps_get_instanceSize.yml": { - parameters: { - path: { - slug: external["resources/apps/parameters.yml"]["slug_size"]; - }; - }; - responses: { - 200: external["resources/apps/responses/get_instance.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve Active Deployment Aggregate Logs - * @description Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. - */ - "resources/apps/apps_get_logs_active_deployment_aggregate.yml": { - parameters: { - query: { - follow?: external["resources/apps/parameters.yml"]["live_updates"]; - type: external["resources/apps/parameters.yml"]["log_type"]; - pod_connection_timeout?: external["resources/apps/parameters.yml"]["time_wait"]; - }; - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - }; - }; - responses: { - 200: external["resources/apps/responses/list_logs.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve Active Deployment Logs - * @description Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. - */ - "resources/apps/apps_get_logs_active_deployment.yml": { - parameters: { - query: { - follow?: external["resources/apps/parameters.yml"]["live_updates"]; - type: external["resources/apps/parameters.yml"]["log_type"]; - pod_connection_timeout?: external["resources/apps/parameters.yml"]["time_wait"]; - }; - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - component_name: external["resources/apps/parameters.yml"]["component"]; - }; - }; - responses: { - 200: external["resources/apps/responses/list_logs.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve Aggregate Deployment Logs - * @description Retrieve the logs of a past, in-progress, or active deployment. If a component name is specified, the logs will be limited to only that component. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. - */ - "resources/apps/apps_get_logs_aggregate.yml": { - parameters: { - query: { - follow?: external["resources/apps/parameters.yml"]["live_updates"]; - type: external["resources/apps/parameters.yml"]["log_type"]; - pod_connection_timeout?: external["resources/apps/parameters.yml"]["time_wait"]; - }; - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - deployment_id: external["resources/apps/parameters.yml"]["deployment_id"]; - }; - }; - responses: { - 200: external["resources/apps/responses/list_logs.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve Deployment Logs - * @description Retrieve the logs of a past, in-progress, or active deployment. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. - */ - "resources/apps/apps_get_logs.yml": { - parameters: { - query: { - follow?: external["resources/apps/parameters.yml"]["live_updates"]; - type: external["resources/apps/parameters.yml"]["log_type"]; - pod_connection_timeout?: external["resources/apps/parameters.yml"]["time_wait"]; - }; - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - deployment_id: external["resources/apps/parameters.yml"]["deployment_id"]; - component_name: external["resources/apps/parameters.yml"]["component"]; - }; - }; - responses: { - 200: external["resources/apps/responses/list_logs.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve App Daily Bandwidth Metrics - * @description Retrieve daily bandwidth usage metrics for a single app. - */ - "resources/apps/apps_get_metrics_bandwidth_usage.yml": { - parameters: { - query?: { + post: operations["oneClicks_install_kubernetes"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/account": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description Optional day to query. Only the date component of the timestamp will be considered. Default: yesterday. - * @example "2023-01-17T00:00:00.000Z" + * Get User Information + * @description To show information about the current user account, send a GET request to `/v2/account`. */ - date?: string; - }; - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - }; - }; - responses: { - 200: external["resources/apps/responses/get_metrics_bandwidth_usage.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an App Tier - * @description Retrieve information about a specific app tier. - */ - "resources/apps/apps_get_tier.yml": { - parameters: { - path: { - slug: external["resources/apps/parameters.yml"]["slug_tier"]; - }; - }; - responses: { - 200: external["resources/apps/responses/get_tier.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing App - * @description Retrieve details about an existing app by either its ID or name. To retrieve an app by its name, do not include an ID in the request path. Information about the current active deployment as well as any in progress ones will also be included in the response. - */ - "resources/apps/apps_get.yml": { - parameters: { - query?: { - name?: external["resources/apps/parameters.yml"]["app_name"]; - }; - path: { - id: external["resources/apps/parameters.yml"]["id_app"]; - }; - }; - responses: { - 200: external["resources/apps/responses/apps_get.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List all app alerts - * @description List alerts associated to the app and any components. This includes configuration information about the alerts including emails, slack webhooks, and triggering events or conditions. - */ - "resources/apps/apps_list_alerts.yml": { - parameters: { - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - }; - }; - responses: { - 200: external["resources/apps/responses/list_alerts.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List App Deployments - * @description List all deployments of an app. - */ - "resources/apps/apps_list_deployments.yml": { - parameters: { - query?: { - page?: external["shared/parameters.yml"]["page"]; - per_page?: external["shared/parameters.yml"]["per_page"]; - }; - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - }; - }; - responses: { - 200: external["resources/apps/responses/existing_deployments.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Instance Sizes - * @description List all instance sizes for `service`, `worker`, and `job` components. - */ - "resources/apps/apps_list_instanceSizes.yml": { - responses: { - 200: external["resources/apps/responses/list_instance.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve Multiple Apps' Daily Bandwidth Metrics - * @description Retrieve daily bandwidth usage metrics for multiple apps. - */ - "resources/apps/apps_list_metrics_bandwidth_usage.yml": { - requestBody: { - content: { - /** - * @example { - * "app_ids": [ - * "4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf", - * "c2a93513-8d9b-4223-9d61-5e7272c81cf5" - * ], - * "date": "2023-01-17T00:00:00.000Z" - * } - */ - "application/json": external["resources/apps/models/app_metrics_bandwidth_usage_request.yml"]; - }; - }; - responses: { - 200: external["resources/apps/responses/list_metrics_bandwidth_usage.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List App Regions - * @description List all regions supported by App Platform. - */ - "resources/apps/apps_list_regions.yml": { - responses: { - 200: external["resources/apps/responses/list_regions.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List App Tiers - * @description List all app tiers. - */ - "resources/apps/apps_list_tiers.yml": { - responses: { - 200: external["resources/apps/responses/all_tiers.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Apps - * @description List all apps on your account. Information about the current active deployment as well as any in progress ones will also be included for each app. - */ - "resources/apps/apps_list.yml": { - parameters: { - query?: { - page?: external["shared/parameters.yml"]["page"]; - per_page?: external["shared/parameters.yml"]["per_page"]; - with_projects?: external["resources/apps/parameters.yml"]["with_projects"]; - }; - }; - responses: { - 200: external["resources/apps/responses/list_apps.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Revert App Rollback - * @description Revert an app rollback. This action reverts the active rollback by creating a new deployment from the - * latest app spec prior to the rollback and unpins the app to resume new deployments. - */ - "resources/apps/apps_revert_rollback.yml": { - parameters: { - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - }; - }; - responses: { - 200: external["resources/apps/responses/new_app_deployment.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update an App - * @description Update an existing app by submitting a new app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/). - */ - "resources/apps/apps_update.yml": { - parameters: { - path: { - id: external["resources/apps/parameters.yml"]["id_app"]; - }; - }; - requestBody: { - content: { - "application/json": external["resources/apps/models/apps_update_app_request.yml"]; - }; - }; - responses: { - 200: external["resources/apps/responses/update_app.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Propose an App Spec - * @description To propose and validate a spec for a new or existing app, send a POST request to the `/v2/apps/propose` endpoint. The request returns some information about the proposed app, including app cost and upgrade cost. If an existing app ID is specified, the app spec is treated as a proposed update to the existing app. - */ - "resources/apps/apps_validate_appSpec.yml": { - requestBody: { - content: { - /** - * @example { - * "spec": { - * "name": "web-app", - * "region": "nyc", - * "services": [ - * { - * "name": "api", - * "github": { - * "branch": "main", - * "deploy_on_push": true, - * "repo": "digitalocean/sample-golang" - * }, - * "run_command": "bin/api", - * "environment_slug": "node-js", - * "instance_count": 2, - * "instance_size_slug": "basic-xxs", - * "routes": [ - * { - * "path": "/api" - * } - * ] - * } - * ] - * }, - * "app_id": "b6bdf840-2854-4f87-a36c-5f231c617c84" - * } + get: operations["account_get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/account/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All SSH Keys + * @description To list all of the keys in your account, send a GET request to `/v2/account/keys`. The response will be a JSON object with a key set to `ssh_keys`. The value of this will be an array of ssh_key objects, each of which contains the standard ssh_key attributes. */ - "application/json": external["resources/apps/models/app_propose.yml"]; - }; - }; - responses: { - 200: external["resources/apps/responses/propose_app.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Validate App Rollback - * @description Check whether an app can be rolled back to a specific deployment. This endpoint can also be used - * to check if there are any warnings or validation conditions that will cause the rollback to proceed - * under unideal circumstances. For example, if a component must be rebuilt as part of the rollback - * causing it to take longer than usual. - */ - "resources/apps/apps_validate_rollback.yml": { - parameters: { - path: { - app_id: external["resources/apps/parameters.yml"]["app_id"]; - }; - }; - requestBody: { - content: { - "application/json": external["resources/apps/models/apps_rollback_app_request.yml"]; - }; - }; - responses: { - 200: external["resources/apps/responses/apps_validate_rollback.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/apps/models/app_alert_email.yml": string; - "resources/apps/models/app_alert_phase.yml": "UNKNOWN" | "PENDING" | "CONFIGURING" | "ACTIVE" | "ERROR"; - "resources/apps/models/app_alert_progress_step_reason.yml": { - /** - * The error code - * @example Title of Error - */ - code?: string; - /** - * The error message - * @example This is an error - */ - message?: string; - }; - "resources/apps/models/app_alert_progress_step_status.yml": "UNKNOWN" | "PENDING" | "RUNNING" | "ERROR" | "SUCCESS"; - "resources/apps/models/app_alert_progress_step.yml": { - /** - * The name of this step - * @example example_step - */ - name?: string; - status?: external["resources/apps/models/app_alert_progress_step_status.yml"]; - /** - * The start time of this step - * Format: date-time - * @example "2020-11-19T20:27:18.000Z" - */ - started_at?: string; - /** - * The start time of this step - * Format: date-time - * @example "2020-11-19T20:27:18.000Z" - */ - ended_at?: string; - reason?: external["resources/apps/models/app_alert_progress_step_reason.yml"]; - }; - "resources/apps/models/app_alert_progress.yml": { - /** Steps of an alert's progress. */ - steps?: external["resources/apps/models/app_alert_progress_step.yml"][]; - }; - "resources/apps/models/app_alert_slack_webhook.yml": { - /** - * URL of the Slack webhook - * @example https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX - */ - url?: string; - /** - * Name of the Slack Webhook Channel - * @example Channel Name - */ - channel?: string; - }; - "resources/apps/models/app_alert_spec_operator.yml": "UNSPECIFIED_OPERATOR" | "GREATER_THAN" | "LESS_THAN"; - "resources/apps/models/app_alert_spec_rule.yml": "UNSPECIFIED_RULE" | "CPU_UTILIZATION" | "MEM_UTILIZATION" | "RESTART_COUNT" | "DEPLOYMENT_FAILED" | "DEPLOYMENT_LIVE" | "DOMAIN_FAILED" | "DOMAIN_LIVE" | "FUNCTIONS_ACTIVATION_COUNT" | "FUNCTIONS_AVERAGE_DURATION_MS" | "FUNCTIONS_ERROR_RATE_PER_MINUTE" | "FUNCTIONS_AVERAGE_WAIT_TIME_MS" | "FUNCTIONS_ERROR_COUNT" | "FUNCTIONS_GB_RATE_PER_SECOND"; - "resources/apps/models/app_alert_spec_window.yml": "UNSPECIFIED_WINDOW" | "FIVE_MINUTES" | "TEN_MINUTES" | "THIRTY_MINUTES" | "ONE_HOUR"; - "resources/apps/models/app_alert_spec.yml": { - rule?: external["resources/apps/models/app_alert_spec_rule.yml"]; - /** - * @description Is the alert disabled? - * @example false - */ - disabled?: boolean; - operator?: external["resources/apps/models/app_alert_spec_operator.yml"]; - /** - * Format: float - * @description Threshold value for alert - * @example 2.32 - */ - value?: number; - window?: external["resources/apps/models/app_alert_spec_window.yml"]; - }; - "resources/apps/models/app_alert.yml": { - /** - * The ID of the alert - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - */ - id?: string; - /** - * Name of component the alert belongs to - * @example backend - */ - component_name?: string; - spec?: external["resources/apps/models/app_alert_spec.yml"]; - /** - * Emails for alerts to go to - * @example [ - * "sammy@digitalocean.com" - * ] - */ - emails?: external["resources/apps/models/app_alert_email.yml"][]; - /** Slack Webhooks to send alerts to */ - slack_webhooks?: external["resources/apps/models/app_alert_slack_webhook.yml"][]; - phase?: external["resources/apps/models/app_alert_phase.yml"]; - progress?: external["resources/apps/models/app_alert_progress.yml"]; - }; - "resources/apps/models/app_component_base.yml": { - /** - * @description The name. Must be unique across all components within the same app. - * @example api - */ - name?: string; - git?: external["resources/apps/models/apps_git_source_spec.yml"]; - github?: external["resources/apps/models/apps_github_source_spec.yml"]; - gitlab?: external["resources/apps/models/apps_gitlab_source_spec.yml"]; - image?: external["resources/apps/models/apps_image_source_spec.yml"]; - /** - * @description The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. - * @example path/to/Dockerfile - */ - dockerfile_path?: string; - /** - * @description An optional build command to run while building this component from source. - * @example npm run build - */ - build_command?: string; - /** - * @description An optional run command to override the component's default. - * @example bin/api - */ - run_command?: string; - /** - * @description An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. - * @example path/to/dir - */ - source_dir?: string; - /** @description A list of environment variables made available to the component. */ - envs?: external["resources/apps/models/app_variable_definition.yml"][]; - /** - * @description An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/). - * @example node-js - */ - environment_slug?: string; - log_destinations?: external["resources/apps/models/app_log_destination_definition.yml"]; - }; - "resources/apps/models/app_component_instance_base.yml": { - /** - * Format: int64 - * @description The amount of instances that this component should be scaled to. Default: 1 - * @default 1 - * @example 2 - */ - instance_count?: number; - /** - * @description The instance size to use for this component. Default: `basic-xxs` - * @default basic-xxs - * @example basic-xxs - * @enum {string} - */ - instance_size_slug?: "basic-xxs" | "basic-xs" | "basic-s" | "basic-m" | "professional-xs" | "professional-s" | "professional-m" | "professional-1l" | "professional-l" | "professional-xl"; - }; - "resources/apps/models/app_database_spec.yml": { - /** - * @description The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. - * @example cluster_name - */ - cluster_name?: string; - /** - * @description The name of the MySQL or PostgreSQL database to configure. - * @example my_db - */ - db_name?: string; - /** - * @description The name of the MySQL or PostgreSQL user to configure. - * @example superuser - */ - db_user?: string; - /** - * @description - MYSQL: MySQL - * - PG: PostgreSQL - * - REDIS: Redis - * @default UNSET - * @example PG - * @enum {string} - */ - engine?: "UNSET" | "MYSQL" | "PG" | "REDIS"; - /** - * @description The name. Must be unique across all components within the same app. - * @example prod-db - */ - name: string; - /** - * @description Whether this is a production or dev database. - * @example true - */ - production?: boolean; - /** - * @description The version of the database engine - * @example 12 - */ - version?: string; - }; - "resources/apps/models/app_domain_spec.yml": { - /** - * @description The hostname for the domain - * @example app.example.com - */ - domain: string; - /** - * @description - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app - * - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. - * - ALIAS: A non-primary domain - * @default UNSPECIFIED - * @example DEFAULT - * @enum {string} - */ - type?: "UNSPECIFIED" | "DEFAULT" | "PRIMARY" | "ALIAS"; - /** - * @description Indicates whether the domain includes all sub-domains, in addition to the given domain - * @example true - */ - wildcard?: boolean; - /** - * Format: hostname - * @description Optional. If the domain uses DigitalOcean DNS and you would like App - * Platform to automatically manage it for you, set this to the name of the - * domain on your account. - * - * For example, If the domain you are adding is `app.domain.com`, the zone - * could be `domain.com`. - * @example example.com - */ - zone?: string; - /** - * @description The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`. - * @example 1.3 - * @enum {string} - */ - minimum_tls_version?: "1.2" | "1.3"; - }; - "resources/apps/models/app_domain_validation.yml": { - /** - * TXT record name - * @example _acme-challenge.app.example.com - */ - txt_name?: string; - /** - * TXT record value - * @example lXLOcN6cPv0nproViNcUHcahD9TrIPlNgdwesj0pYpk - */ - txt_value?: string; - }; - "resources/apps/models/app_functions_spec.yml": { - cors?: external["resources/apps/models/apps_cors_policy.yml"]; - /** @description A list of HTTP routes that should be routed to this component. */ - routes?: external["resources/apps/models/app_route_spec.yml"][]; - /** - * @description The name. Must be unique across all components within the same app. - * @example api - */ - name: string; - /** - * @description An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. - * @example path/to/dir - */ - source_dir?: string; - alerts?: external["resources/apps/models/app_alert_spec.yml"][]; - /** @description A list of environment variables made available to the component. */ - envs?: external["resources/apps/models/app_variable_definition.yml"][]; - git?: external["resources/apps/models/apps_git_source_spec.yml"]; - github?: external["resources/apps/models/apps_github_source_spec.yml"]; - gitlab?: external["resources/apps/models/apps_gitlab_source_spec.yml"]; - log_destinations?: external["resources/apps/models/app_log_destination_definition.yml"]; - }; - "resources/apps/models/app_ingress_spec_rule_match.yml": { - path: external["resources/apps/models/app_ingress_spec_rule_string_match.yml"]; - }; - "resources/apps/models/app_ingress_spec_rule_routing_component.yml": { - /** - * @description The name of the component to route to. - * @example web - */ - name: string; - /** - * @description An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`. - * @example true - */ - preserve_path_prefix?: string; - /** - * @description An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`. - * @example /api/v1/ - */ - rewrite?: string; - }; - "resources/apps/models/app_ingress_spec_rule_routing_redirect.yml": { - /** - * @description An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched. - * @example /about - */ - uri?: string; - /** - * @description The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port. - * @example example.com - */ - authority?: string; - /** - * Format: int64 - * @description The port to redirect to. - * @example 443 - */ - port?: number; - /** - * @description The scheme to redirect to. Supported values are `http` or `https`. Default: `https`. - * @example https - */ - scheme?: string; - /** - * Format: int64 - * @description The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. - * @example 302 - */ - redirect_code?: number; - }; - "resources/apps/models/app_ingress_spec_rule_string_match.yml": { - /** - * @description Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. - * @example /api - */ - prefix: string; - }; - "resources/apps/models/app_ingress_spec_rule.yml": { - match?: external["resources/apps/models/app_ingress_spec_rule_match.yml"]; - cors?: external["resources/apps/models/apps_cors_policy.yml"]; - component?: external["resources/apps/models/app_ingress_spec_rule_routing_component.yml"]; - redirect?: external["resources/apps/models/app_ingress_spec_rule_routing_redirect.yml"]; - }; - "resources/apps/models/app_ingress_spec.yml": { - /** @description Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. */ - rules?: external["resources/apps/models/app_ingress_spec_rule.yml"][]; - }; - "resources/apps/models/app_job_spec.yml": external["resources/apps/models/app_component_base.yml"] & external["resources/apps/models/app_component_instance_base.yml"] & ({ - /** - * @description - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. - * - PRE_DEPLOY: Indicates a job that runs before an app deployment. - * - POST_DEPLOY: Indicates a job that runs after an app deployment. - * - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. - * @default UNSPECIFIED - * @example PRE_DEPLOY - * @enum {string} - */ - kind?: "UNSPECIFIED" | "PRE_DEPLOY" | "POST_DEPLOY" | "FAILED_DEPLOY"; - }); - "resources/apps/models/app_log_destination_datadog_spec.yml": { - /** - * @description Datadog HTTP log intake endpoint. - * @example https://mydatadogendpoint.com - */ - endpoint?: string; - /** - * @description Datadog API key. - * @example abcdefghijklmnopqrstuvwxyz0123456789 - */ - api_key: string; - }; - "resources/apps/models/app_log_destination_definition.yml": { - /** @example my_log_destination */ - name: string; - papertrail?: external["resources/apps/models/app_log_destination_papertrail_spec.yml"]; - datadog?: external["resources/apps/models/app_log_destination_datadog_spec.yml"]; - logtail?: external["resources/apps/models/app_log_destination_logtail_spec.yml"]; - }; - "resources/apps/models/app_log_destination_logtail_spec.yml": { - /** - * @description Logtail token. - * @example abcdefghijklmnopqrstuvwxyz0123456789 - */ - token?: string; - }; - "resources/apps/models/app_log_destination_papertrail_spec.yml": { - /** - * @description Papertrail syslog endpoint. - * @example https://mypapertrailendpoint.com - */ - endpoint: string; - }; - "resources/apps/models/app_metrics_bandwidth_usage_details.yml": { - /** - * @description The ID of the app. - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - */ - app_id?: string; - /** - * Format: uint64 - * @description The used bandwidth amount in bytes. - * @example 513668 - */ - bandwidth_bytes?: string; - }; - "resources/apps/models/app_metrics_bandwidth_usage_request.yml": { - /** - * @description A list of app IDs to query bandwidth metrics for. - * @example [ - * "4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf", - * "c2a93513-8d9b-4223-9d61-5e7272c81cf5" - * ] - */ - app_ids: string[]; - /** - * Format: date-time - * @description Optional day to query. Only the date component of the timestamp will be considered. Default: yesterday. - * @example "2023-01-17T00:00:00.000Z" - */ - date?: string; - }; - "resources/apps/models/app_metrics_bandwidth_usage.yml": { - /** @description A list of bandwidth usage details by app. */ - app_bandwidth_usage?: external["resources/apps/models/app_metrics_bandwidth_usage_details.yml"][]; - /** - * Format: date-time - * @description The date for the metrics data. - * @example "2023-01-17T00:00:00.000Z" - */ - date?: string; - }; - "resources/apps/models/app_propose_response.yml": { - /** - * @description Indicates whether the app is a static app. - * @example true - */ - app_is_static?: boolean; - /** - * @description Indicates whether the app name is available. - * @example true - */ - app_name_available?: boolean; - /** - * @description The suggested name if the proposed app name is unavailable. - * @example newName - */ - app_name_suggestion?: string; - /** - * @description The maximum number of free static apps the account can have. We will charge you for any additional static apps. - * @example 2 - */ - existing_static_apps?: string; - spec?: external["resources/apps/models/app_spec.yml"]; - /** - * Format: int32 - * @description The monthly cost of the proposed app in USD using the next pricing plan tier. For example, if you propose an app that uses the Basic tier, the `app_tier_upgrade_cost` field displays the monthly cost of the app if it were to use the Professional tier. If the proposed app already uses the most expensive tier, the field is empty. - * @example 5 - */ - app_cost?: number; - /** - * Format: int32 - * @description The monthly cost of the proposed app in USD using the previous pricing plan tier. For example, if you propose an app that uses the Professional tier, the `app_tier_downgrade_cost` field displays the monthly cost of the app if it were to use the Basic tier. If the proposed app already uses the lest expensive tier, the field is empty. - * @example 17 - */ - app_tier_downgrade_cost?: number; - }; - "resources/apps/models/app_propose.yml": { - spec: external["resources/apps/models/app_spec.yml"]; - /** - * @description An optional ID of an existing app. If set, the spec will be treated as a proposed update to the specified app. The existing app is not modified using this method. - * @example b6bdf840-2854-4f87-a36c-5f231c617c84 - */ - app_id?: string; - }; - "resources/apps/models/app_response.yml": { - app?: external["resources/apps/models/app.yml"]; - }; - "resources/apps/models/app_rollback_validation_condition.yml": { - /** - * @description A code identifier that represents the failing condition. - * - * Failing conditions: - * - `incompatible_phase` - indicates that the deployment's phase is not suitable for rollback. - * - `incompatible_result` - indicates that the deployment's result is not suitable for rollback. - * - `exceeded_revision_limit` - indicates that the app has exceeded the rollback revision limits for its tier. - * - `app_pinned` - indicates that there is already a rollback in progress and the app is pinned. - * - `database_config_conflict` - indicates that the deployment's database config is different than the current config. - * - `region_conflict` - indicates that the deployment's region differs from the current app region. - * - * Warning conditions: - * - `static_site_requires_rebuild` - indicates that the deployment contains at least one static site that will require a rebuild. - * - `image_source_missing_digest` - indicates that the deployment contains at least one component with an image source that is missing a digest. - * - * @example exceeded_revision_limit - * @enum {string} - */ - code?: "incompatible_phase" | "incompatible_result" | "exceeded_revision_limit" | "app_pinned" | "database_config_conflict" | "region_conflict" | "static_site_requires_rebuild" | "image_source_missing_digest"; - /** - * @description A human-readable message describing the failing condition. - * @example the deployment is past the maximum historical revision limit of 0 for the "starter" app tier - */ - message?: string; - /** - * @example [ - * "www" - * ] - */ - components?: string[]; - }; - "resources/apps/models/app_route_spec.yml": { - /** - * @description An HTTP path prefix. Paths must start with / and must be unique across all components within an app. - * @example /api - */ - path?: string; - /** - * @description An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. - * @example true - */ - preserve_path_prefix?: boolean; - }; - "resources/apps/models/app_service_spec_health_check.yml": { - /** - * Format: int32 - * @description The number of failed health checks before considered unhealthy. - * @example 2 - */ - failure_threshold?: number; - /** - * Format: int64 - * @description The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. - * @example 80 - */ - port?: number; - /** - * @description The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. - * @example /health - */ - http_path?: string; - /** - * Format: int32 - * @description The number of seconds to wait before beginning health checks. - * @example 30 - */ - initial_delay_seconds?: number; - /** - * Format: int32 - * @description The number of seconds to wait between health checks. - * @example 60 - */ - period_seconds?: number; - /** - * Format: int32 - * @description The number of successful health checks before considered healthy. - * @example 3 - */ - success_threshold?: number; - /** - * Format: int32 - * @description The number of seconds after which the check times out. - * @example 45 - */ - timeout_seconds?: number; - }; - "resources/apps/models/app_service_spec.yml": external["resources/apps/models/app_component_base.yml"] & external["resources/apps/models/app_component_instance_base.yml"] & { - cors?: external["resources/apps/models/apps_cors_policy.yml"]; - health_check?: external["resources/apps/models/app_service_spec_health_check.yml"]; - /** - * Format: int64 - * @description The internal port on which this service's run command will listen. Default: 8080 - * If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. - * @example 3000 - */ - http_port?: number; - /** - * @description The ports on which this service will listen for internal traffic. - * @example [ - * 80, - * 443 - * ] - */ - internal_ports?: number[]; - /** @description A list of HTTP routes that should be routed to this component. */ - routes?: external["resources/apps/models/app_route_spec.yml"][]; - }; - "resources/apps/models/app_spec.yml": { - /** - * @description The name of the app. Must be unique across all apps in the same account. - * @example web-app-01 - */ - name: string; - /** - * @description The slug form of the geographical origin of the app. Default: `nearest available` - * @example nyc - * @enum {string} - */ - region?: "ams" | "nyc" | "fra" | "sfo" | "sgp" | "blr" | "tor" | "lon" | "syd"; - /** @description A set of hostnames where the application will be available. */ - domains?: external["resources/apps/models/app_domain_spec.yml"][]; - /** @description Workloads which expose publicly-accessible HTTP services. */ - services?: external["resources/apps/models/app_service_spec.yml"][]; - /** @description Content which can be rendered to static web assets. */ - static_sites?: external["resources/apps/models/app_static_site_spec.yml"][]; - /** @description Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. */ - jobs?: external["resources/apps/models/app_job_spec.yml"][]; - /** @description Workloads which do not expose publicly-accessible HTTP services. */ - workers?: external["resources/apps/models/app_worker_spec.yml"][]; - /** @description Workloads which expose publicly-accessible HTTP services via Functions Components. */ - functions?: external["resources/apps/models/app_functions_spec.yml"][]; - /** - * @description Database instances which can provide persistence to workloads within the - * application. - */ - databases?: external["resources/apps/models/app_database_spec.yml"][]; - ingress?: external["resources/apps/models/app_ingress_spec.yml"]; - }; - "resources/apps/models/app_static_site_spec.yml": WithRequired; - "resources/apps/models/app_variable_definition.yml": { - /** - * @description The variable name - * @example BASE_URL - */ - key: string; - /** - * @description - RUN_TIME: Made available only at run-time - * - BUILD_TIME: Made available only at build-time - * - RUN_AND_BUILD_TIME: Made available at both build and run-time - * @default RUN_AND_BUILD_TIME - * @example BUILD_TIME - * @enum {string} - */ - scope?: "UNSET" | "RUN_TIME" | "BUILD_TIME" | "RUN_AND_BUILD_TIME"; - /** - * @description - GENERAL: A plain-text environment variable - * - SECRET: A secret encrypted environment variable - * @default GENERAL - * @example GENERAL - * @enum {string} - */ - type?: "GENERAL" | "SECRET"; - /** - * @description The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. - * @example http://example.com - */ - value?: string; - }; - "resources/apps/models/app_worker_spec.yml": WithRequired; - "resources/apps/models/app.yml": { - active_deployment?: external["resources/apps/models/apps_deployment.yml"]; - /** - * The creation time of the app - * Format: date-time - * @example "2020-11-19T20:27:18.000Z" - */ - created_at?: string; - /** - * The default hostname on which the app is accessible - * @example digitalocean.com - */ - default_ingress?: string; - /** Contains all domains for the app */ - domains?: readonly external["resources/apps/models/apps_domain.yml"][]; - /** - * The ID of the application - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - */ - id?: string; - in_progress_deployment?: external["resources/apps/models/apps_deployment.yml"]; - /** - * The creation time of the last deployment - * Format: date-time - * @example "2020-11-19T20:27:18.000Z" - */ - last_deployment_created_at?: string; - /** - * The live domain of the app - * @example live_domain - */ - live_domain?: string; - /** - * The live URL of the app - * @example google.com - */ - live_url?: string; - /** - * The live URL base of the app, the URL excluding the path - * @example digitalocean.com - */ - live_url_base?: string; - /** - * The ID of the account to which the application belongs - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - */ - owner_uuid?: string; - pending_deployment?: external["resources/apps/models/apps_deployment.yml"]; - /** - * The ID of the project the app is assigned to. This will be empty if there is a lookup failure. - * @example 88b72d1a-b78a-4d9f-9090-b53c4399073f - */ - project_id?: string; - region?: external["resources/apps/models/apps_region.yml"]; - spec: external["resources/apps/models/app_spec.yml"]; - /** - * The current pricing tier slug of the app - * @example basic - */ - tier_slug?: string; - /** - * Time of the app's last configuration update - * Format: date-time - * @example "2020-12-01T00:42:16.000Z" - */ - updated_at?: string; - pinned_deployment?: external["resources/apps/models/apps_deployment.yml"]; - }; - "resources/apps/models/apps_alert_response.yml": { - alert?: external["resources/apps/models/app_alert.yml"]; - }; - "resources/apps/models/apps_assign_app_alert_destinations_request.yml": { - /** - * @example [ - * "sammy@digitalocean.com" - * ] - */ - emails?: external["resources/apps/models/app_alert_email.yml"][]; - slack_webhooks?: external["resources/apps/models/app_alert_slack_webhook.yml"][]; - }; - "resources/apps/models/apps_cors_policy.yml": { - /** - * @description The set of allowed CORS origins. - * @example [ - * { - * "exact": "https://www.example.com" - * }, - * { - * "regex": "^.*example.com" - * } - * ] - */ - allow_origins?: external["resources/apps/models/apps_string_match.yml"][]; - /** - * @description The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. - * @example [ - * "GET", - * "OPTIONS", - * "POST", - * "PUT", - * "PATCH", - * "DELETE" - * ] - */ - allow_methods?: string[]; - /** - * @description The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. - * @example [ - * "Content-Type", - * "X-Custom-Header" - * ] - */ - allow_headers?: string[]; - /** - * @description The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. - * @example [ - * "Content-Encoding", - * "X-Custom-Header" - * ] - */ - expose_headers?: string[]; - /** - * @description An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. - * @example 5h30m - */ - max_age?: string; - /** - * @description Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. - * @example false - */ - allow_credentials?: boolean; - }; - "resources/apps/models/apps_create_app_request.yml": { - spec: external["resources/apps/models/app_spec.yml"]; - /** @description The ID of the project the app should be assigned to. If omitted, it will be assigned to your default project. */ - project_id?: string; - }; - "resources/apps/models/apps_create_deployment_request.yml": { - /** - * Indicates whether to force a build of app from source even if an existing cached build is suitable for re-use - * @example true - */ - force_build?: boolean; - }; - "resources/apps/models/apps_delete_app_response.yml": { - /** - * The ID of the app that was deleted - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - */ - id?: string; - }; - "resources/apps/models/apps_deployment_functions.yml": { - /** - * The name of this functions component - * @example my-functions-component - */ - name?: string; - /** - * @description The commit hash of the repository that was used to build this functions component. - * @example 54d4a727f457231062439895000d45437c7bb405 - */ - source_commit_hash?: string; - /** - * @description The namespace where the functions are deployed. - * @example ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 - */ - namespace?: string; - }; - "resources/apps/models/apps_deployment_job.yml": { - /** - * The name of this job - * @example migrate-db - */ - name?: string; - /** - * The commit hash of the repository that was used to build this job - * @example 54d4a727f457231062439895000d45437c7bb405 - */ - source_commit_hash?: string; - }; - "resources/apps/models/apps_deployment_phase.yml": "UNKNOWN" | "PENDING_BUILD" | "BUILDING" | "PENDING_DEPLOY" | "DEPLOYING" | "ACTIVE" | "SUPERSEDED" | "ERROR" | "CANCELED"; - "resources/apps/models/apps_deployment_progress_step_reason.yml": { - /** - * The error code - * @example Title of Error - */ - code?: string; - /** - * The error message - * @example This is an error - */ - message?: string; - }; - "resources/apps/models/apps_deployment_progress_step_status.yml": "UNKNOWN" | "PENDING" | "RUNNING" | "ERROR" | "SUCCESS"; - "resources/apps/models/apps_deployment_progress_step.yml": { - /** - * The component name that this step is associated with - * @example component - */ - component_name?: string; - /** - * The end time of this step - * Format: date-time - * @example "2020-11-19T20:27:18.000Z" - */ - ended_at?: string; - /** - * @description The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: - * - * `message_base` = "Building service" - * `component_name` = "api" - * @example Building service - */ - message_base?: string; - /** - * The name of this step - * @example example_step - */ - name?: string; - reason?: external["resources/apps/models/apps_deployment_progress_step_reason.yml"]; - /** - * The start time of this step - * Format: date-time - * @example "2020-11-19T20:27:18.000Z" - */ - started_at?: string; - status?: external["resources/apps/models/apps_deployment_progress_step_status.yml"]; - /** Child steps of this step */ - steps?: Record[]; - }; - "resources/apps/models/apps_deployment_progress.yml": { - /** - * Number of unsuccessful steps - * Format: int32 - * @example 3 - */ - error_steps?: number; - /** - * Number of pending steps - * Format: int32 - * @example 2 - */ - pending_steps?: number; - /** - * Number of currently running steps - * Format: int32 - * @example 2 - */ - running_steps?: number; - /** The deployment's steps */ - steps?: external["resources/apps/models/apps_deployment_progress_step.yml"][]; - /** - * Number of successful steps - * Format: int32 - * @example 4 - */ - success_steps?: number; - /** A flattened summary of the steps */ - summary_steps?: external["resources/apps/models/apps_deployment_progress_step.yml"][]; - /** - * Total number of steps - * Format: int32 - * @example 5 - */ - total_steps?: number; - }; - "resources/apps/models/apps_deployment_response.yml": { - deployment?: external["resources/apps/models/apps_deployment.yml"]; - }; - "resources/apps/models/apps_deployment_service.yml": { - /** - * The name of this service - * @example web - */ - name?: string; - /** - * The commit hash of the repository that was used to build this service - * @example 54d4a727f457231062439895000d45437c7bb405 - */ - source_commit_hash?: string; - }; - "resources/apps/models/apps_deployment_static_site.yml": { - /** - * The name of this static site - * @example web - */ - name?: string; - /** - * The commit hash of the repository that was used to build this static site - * @example 54d4a727f457231062439895000d45437c7bb405 - */ - source_commit_hash?: string; - }; - "resources/apps/models/apps_deployment_worker.yml": { - /** - * The name of this worker - * @example queue-runner - */ - name?: string; - /** - * The commit hash of the repository that was used to build this worker - * @example 54d4a727f457231062439895000d45437c7bb405 - */ - source_commit_hash?: string; - }; - "resources/apps/models/apps_deployment.yml": { - /** - * What caused this deployment to be created - * @example commit 9a4df0b pushed to github/digitalocean/sample-golang - */ - cause?: string; - /** - * The ID of a previous deployment that this deployment was cloned from - * @example 3aa4d20e-5527-4c00-b496-601fbd22520a - */ - cloned_from?: string; - /** - * The creation time of the deployment - * Format: date-time - * @example "2020-07-28T18:00:00.000Z" - */ - created_at?: string; - /** - * The ID of the deployment - * @example b6bdf840-2854-4f87-a36c-5f231c617c84 - */ - id?: string; - /** Job components that are part of this deployment */ - jobs?: external["resources/apps/models/apps_deployment_job.yml"][]; - /** Functions components that are part of this deployment */ - functions?: external["resources/apps/models/apps_deployment_functions.yml"][]; - phase?: external["resources/apps/models/apps_deployment_phase.yml"]; - /** - * When the deployment phase was last updated - * Format: date-time - * @example "1901-01-01T00:00:00.000Z" - */ - phase_last_updated_at?: string; - progress?: external["resources/apps/models/apps_deployment_progress.yml"]; - /** Service components that are part of this deployment */ - services?: external["resources/apps/models/apps_deployment_service.yml"][]; - spec?: external["resources/apps/models/app_spec.yml"]; - /** Static Site components that are part of this deployment */ - static_sites?: external["resources/apps/models/apps_deployment_static_site.yml"][]; - /** - * The current pricing tier slug of the deployment - * @example basic - */ - tier_slug?: string; - /** - * When the deployment was last updated - * Format: date-time - * @example "2020-07-28T18:00:00.000Z" - */ - updated_at?: string; - /** Worker components that are part of this deployment */ - workers?: external["resources/apps/models/apps_deployment_worker.yml"][]; - }; - "resources/apps/models/apps_deployments_response.yml": { - /** A list of deployments */ - deployments?: external["resources/apps/models/apps_deployment.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - "resources/apps/models/apps_domain_phase.yml": "UNKNOWN" | "PENDING" | "CONFIGURING" | "ACTIVE" | "ERROR"; - "resources/apps/models/apps_domain_progress.yml": { - /** The steps of the domain's progress */ - steps?: Record[]; - }; - "resources/apps/models/apps_domain.yml": { - /** - * The ID of the domain - * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf - */ - id?: string; - phase?: external["resources/apps/models/apps_domain_phase.yml"]; - progress?: external["resources/apps/models/apps_domain_progress.yml"]; - spec?: external["resources/apps/models/app_domain_spec.yml"]; - /** List of TXT validation records */ - validations?: external["resources/apps/models/app_domain_validation.yml"][]; - /** Validation values have changed and require manual intervention */ - rotate_validation_records?: boolean; - /** - * Current SSL certificate expiration time - * Format: date-time - * @example 2024-01-29T23:59:59Z - */ - certificate_expires_at?: string; - }; - "resources/apps/models/apps_get_instance_size_response.yml": { - instance_size?: external["resources/apps/models/apps_instance_size.yml"]; - }; - "resources/apps/models/apps_get_logs_response.yml": { - /** A list of URLs to archived log files */ - historic_urls?: string[]; - /** - * @description A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available. - * @example ws://logs/build - */ - live_url?: string; - }; - "resources/apps/models/apps_get_tier_response.yml": { - tier?: external["resources/apps/models/apps_tier.yml"]; - }; - "resources/apps/models/apps_git_source_spec.yml": { - /** - * @description The name of the branch to use - * @example main - */ - branch?: string; - /** - * @description The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git` - * @example https://github.com/digitalocean/sample-golang.git - */ - repo_clone_url?: string; - }; - "resources/apps/models/apps_github_source_spec.yml": { - /** - * @description The name of the branch to use - * @example main - */ - branch?: string; - /** - * @description Whether to automatically deploy new commits made to the repo - * @example true - */ - deploy_on_push?: boolean; - /** - * @description The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang` - * @example digitalocean/sample-golang - */ - repo?: string; - }; - "resources/apps/models/apps_gitlab_source_spec.yml": { - /** - * @description The name of the branch to use - * @example main - */ - branch?: string; - /** - * @description Whether to automatically deploy new commits made to the repo - * @example true - */ - deploy_on_push?: boolean; - /** - * @description The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang` - * @example digitalocean/sample-golang - */ - repo?: string; - }; - "resources/apps/models/apps_image_source_spec.yml": { - /** - * @description The registry name. Must be left empty for the `DOCR` registry type. - * @example registry.hub.docker.com - */ - registry?: string; - /** - * @description - DOCKER_HUB: The DockerHub container registry type. - * - DOCR: The DigitalOcean container registry type. - * @example DOCR - * @enum {string} - */ - registry_type?: "DOCKER_HUB" | "DOCR"; - /** - * @description The repository name. - * @example origin/master - */ - repository?: string; - /** - * @description The repository tag. Defaults to `latest` if not provided. - * @default latest - * @example latest - */ - tag?: string; - }; - "resources/apps/models/apps_instance_size.yml": { - cpu_type?: external["resources/apps/models/instance_size_cpu_type.yml"]; - /** - * The number of allotted vCPU cores - * Format: int64 - * @example 3 - */ - cpus?: string; - /** - * The allotted memory in bytes - * Format: int64 - * @example 1048 - */ - memory_bytes?: string; - /** - * A human-readable name of the instance size - * @example name - */ - name?: string; - /** - * The slug of the instance size - * @example basic - */ - slug?: string; - /** - * The slug of the corresponding downgradable instance size on the lower tier - * @example basic - */ - tier_downgrade_to?: string; - /** - * The slug of the tier to which this instance size belongs - * @example basic - */ - tier_slug?: string; - /** - * The slug of the corresponding upgradable instance size on the higher tier - * @example basic - */ - tier_upgrade_to?: string; - /** - * The cost of this instance size in USD per month - * @example 23 - */ - usd_per_month?: string; - /** - * The cost of this instance size in USD per second - * @example 0.00000001232 - */ - usd_per_second?: string; - }; - "resources/apps/models/apps_list_alerts_response.yml": { - alerts?: external["resources/apps/models/app_alert.yml"][]; - }; - "resources/apps/models/apps_list_instance_sizes_response.yml": { - /** - * Format: float - * @example 2.32 - */ - discount_percent?: number; - instance_sizes?: external["resources/apps/models/apps_instance_size.yml"][]; - }; - "resources/apps/models/apps_list_regions_response.yml": { - regions?: external["resources/apps/models/apps_region.yml"][]; - }; - "resources/apps/models/apps_list_tiers_response.yml": { - tiers?: external["resources/apps/models/apps_tier.yml"][]; - }; - "resources/apps/models/apps_region.yml": { - /** - * The continent that this region is in - * @example europe - */ - continent?: string; - /** - * Data centers that are in this region - * @example [ - * "ams" - * ] - */ - data_centers?: readonly string[]; - /** - * @description Whether or not the region is presented as the default. - * @example true - */ - default?: boolean; - /** - * Whether or not the region is open for new apps - * @example true - */ - disabled?: boolean; - /** - * The flag of this region - * @example ams - */ - flag?: string; - /** - * A human-readable name of the region - * @example ams - */ - label?: string; - /** - * Reason that this region is not available - * @example to crowded - */ - reason?: string; - /** - * The slug form of the region name - * @example basic - */ - slug?: string; - }; - "resources/apps/models/apps_response.yml": { - /** A list of apps */ - apps?: external["resources/apps/models/app.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - "resources/apps/models/apps_rollback_app_request.yml": { - /** - * @description The ID of the deployment to rollback to. - * @example 3aa4d20e-5527-4c00-b496-601fbd22520a - */ - deployment_id?: string; - /** - * @description Whether to skip pinning the rollback deployment. If false, the rollback deployment will be pinned and any new deployments including Auto Deploy on Push hooks will be disabled until the rollback is either manually committed or reverted via the CommitAppRollback or RevertAppRollback endpoints respectively. If true, the rollback will be immediately committed and the app will remain unpinned. - * @example false - */ - skip_pin?: boolean; - }; - "resources/apps/models/apps_string_match.yml": { - /** - * @description Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. - * @example https://www.example.com - */ - exact?: string; - /** - * @description Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. - * @example https://www.example.com - */ - prefix?: string; - /** - * @description RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax - * @example ^.*example.com - */ - regex?: string; - }; - "resources/apps/models/apps_tier.yml": { - /** - * The amount of included build time in seconds - * Format: int64 - * @example 233 - */ - build_seconds?: string; - /** - * The amount of included outbound bandwidth in bytes - * Format: int64 - * @example 123 - */ - egress_bandwidth_bytes?: string; - /** - * A human-readable name of the tier - * @example test - */ - name?: string; - /** - * The slug of the tier - * @example test - */ - slug?: string; - /** - * The allotted disk space in bytes - * Format: int64 - * @example 10000000 - */ - storage_bytes?: string; - }; - "resources/apps/models/apps_update_app_request.yml": { - spec: external["resources/apps/models/app_spec.yml"]; - }; - "resources/apps/models/instance_size_cpu_type.yml": "UNSPECIFIED" | "SHARED" | "DEDICATED"; - "resources/apps/parameters.yml": { - accept?: "application/json" | "application/yaml"; - "content-type"?: "application/json" | "application/yaml"; - app_id: string; - deployment_id: string; - app_name?: string; - id_app: string; - slug_size: string; - component: string; - live_updates?: boolean; - with_projects?: boolean; - log_type: "UNSPECIFIED" | "BUILD" | "DEPLOY" | "RUN"; - time_wait?: string; - slug_tier: string; - alert_id: string; - }; - "resources/apps/responses/all_tiers.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_list_tiers_response.yml"]; - }; - }; - "resources/apps/responses/apps_get.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/app_response.yml"]; - }; - }; - "resources/apps/responses/apps_validate_rollback.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - /** @description Indicates whether the app can be rolled back to the specified deployment. */ - valid?: boolean; - error?: external["resources/apps/models/app_rollback_validation_condition.yml"]; - /** @description Contains a list of warnings that may cause the rollback to run under unideal circumstances. */ - warnings?: external["resources/apps/models/app_rollback_validation_condition.yml"][]; - }; - }; - }; - "resources/apps/responses/assign_alert_destinations.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_alert_response.yml"]; - }; - }; - "resources/apps/responses/cancel_deployment.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_deployment_response.yml"]; - }; - }; - "resources/apps/responses/delete_app.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_delete_app_response.yml"]; - }; - }; - "resources/apps/responses/examples.yml": unknown - "resources/apps/responses/existing_deployments.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_deployments_response.yml"]; - }; - }; - "resources/apps/responses/get_instance.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_get_instance_size_response.yml"]; - }; - }; - "resources/apps/responses/get_metrics_bandwidth_usage.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/app_metrics_bandwidth_usage.yml"]; - }; - }; - "resources/apps/responses/get_tier.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_get_tier_response.yml"]; - }; - }; - "resources/apps/responses/list_alerts.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_list_alerts_response.yml"]; - }; - }; - "resources/apps/responses/list_apps.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_response.yml"]; - }; - }; - "resources/apps/responses/list_deployment.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_deployment_response.yml"]; - }; - }; - "resources/apps/responses/list_instance.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_list_instance_sizes_response.yml"]; - }; - }; - "resources/apps/responses/list_logs.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_get_logs_response.yml"]; - }; - }; - "resources/apps/responses/list_metrics_bandwidth_usage.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/app_metrics_bandwidth_usage.yml"]; - }; - }; - "resources/apps/responses/list_regions.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_list_regions_response.yml"]; - }; - }; - "resources/apps/responses/new_app_deployment.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/apps_deployment_response.yml"]; - }; - }; - "resources/apps/responses/new_app.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/app_response.yml"]; - }; - }; - "resources/apps/responses/propose_app.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/app_propose_response.yml"]; - }; - }; - "resources/apps/responses/update_app.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/apps/models/app_response.yml"]; - }; - }; - /** - * Get Customer Balance - * @description To retrieve the balances on a customer's account, send a GET request to `/v2/customers/my/balance`. - */ - "resources/billing/balance_get.yml": { - responses: { - 200: external["resources/billing/responses/balance.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Billing History - * @description To retrieve a list of all billing history entries, send a GET request to `/v2/customers/my/billing_history`. - */ - "resources/billing/billingHistory_list.yml": { - responses: { - 200: external["resources/billing/responses/billing_history.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Invoice by UUID - * @description To retrieve the invoice items for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID`. - */ - "resources/billing/invoices_get_byUUID.yml": { - parameters: { - path: { - invoice_uuid: external["resources/billing/parameters.yml"]["invoice_uuid"]; - }; - }; - responses: { - 200: external["resources/billing/responses/invoice.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Invoice CSV by UUID - * @description To retrieve a CSV for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/csv`. - */ - "resources/billing/invoices_get_csvByUUID.yml": { - parameters: { - path: { - invoice_uuid: external["resources/billing/parameters.yml"]["invoice_uuid"]; - }; - }; - responses: { - 200: external["resources/billing/responses/invoice_csv.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Invoice PDF by UUID - * @description To retrieve a PDF for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/pdf`. - */ - "resources/billing/invoices_get_pdfByUUID.yml": { - parameters: { - path: { - invoice_uuid: external["resources/billing/parameters.yml"]["invoice_uuid"]; - }; - }; - responses: { - 200: external["resources/billing/responses/invoice_pdf.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Invoice Summary by UUID - * @description To retrieve a summary for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/summary`. - */ - "resources/billing/invoices_get_summaryByUUID.yml": { - parameters: { - path: { - invoice_uuid: external["resources/billing/parameters.yml"]["invoice_uuid"]; - }; - }; - responses: { - 200: external["resources/billing/responses/invoice_summary.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Invoices - * @description To retrieve a list of all invoices, send a GET request to `/v2/customers/my/invoices`. - */ - "resources/billing/invoices_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - }; - responses: { - 200: external["resources/billing/responses/invoices.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/billing/models/balance.yml": { - /** - * @description Balance as of the `generated_at` time. This value includes the `account_balance` and `month_to_date_usage`. - * @example 23.44 - */ - month_to_date_balance?: string; - /** - * @description Current balance of the customer's most recent billing activity. Does not reflect `month_to_date_usage`. - * @example 12.23 - */ - account_balance?: string; - /** - * @description Amount used in the current billing period as of the `generated_at` time. - * @example 11.21 - */ - month_to_date_usage?: string; - /** - * Format: date-time - * @description The time at which balances were most recently generated. - * @example "2019-07-09T15:01:12.000Z" - */ - generated_at?: string; - }; - "resources/billing/models/billing_address.yml": { - /** - * @description Street address line 1 - * @example 101 Shark Row - */ - address_line1?: string; - /** - * @description Street address line 2 - * @example - */ - address_line2?: string; - /** - * @description City - * @example Atlantis - */ - city?: string; - /** - * @description Region - * @example OC - */ - region?: string; - /** - * @description Postal code - * @example 12345 - */ - postal_code?: string; - /** - * @description Country (ISO2) code - * @example US - */ - country_iso2_code?: string; - /** - * @description Timestamp billing address was created - * @example "2019-09-03T16:34:46.000Z" - */ - created_at?: string; - /** - * @description Timestamp billing address was updated - * @example "2019-09-03T16:34:46.000Z" - */ - updated_at?: string; - }; - "resources/billing/models/billing_history.yml": { - /** - * @description Description of the billing history entry. - * @example Invoice for May 2018 - */ - description?: string; - /** - * @description Amount of the billing history entry. - * @example 12.34 - */ - amount?: string; - /** - * @description ID of the invoice associated with the billing history entry, if applicable. - * @example 123 - */ - invoice_id?: string; - /** - * @description UUID of the invoice associated with the billing history entry, if applicable. - * @example example-uuid - */ - invoice_uuid?: string; - /** - * Format: date-time - * @description Time the billing history entry occurred. - * @example "2018-06-01T08:44:38.000Z" - */ - date?: string; - /** - * @description Type of billing history entry. - * @example Invoice - * @enum {string} - */ - type?: "ACHFailure" | "Adjustment" | "AttemptFailed" | "Chargeback" | "Credit" | "CreditExpiration" | "Invoice" | "Payment" | "Refund" | "Reversal"; - }; - "resources/billing/models/invoice_item.yml": { - /** - * @description Name of the product being billed in the invoice item. - * @example Kubernetes Clusters - */ - product?: string; - /** - * @description UUID of the resource billing in the invoice item if available. - * @example 711157cb-37c8-4817-b371-44fa3504a39c - */ - resource_uuid?: string; - /** - * @description ID of the resource billing in the invoice item if available. - * @example 2353624 - */ - resource_id?: string; - /** - * @description Description of the invoice item when it is a grouped set of usage, such as DOKS or databases. - * @example my-doks-cluster - */ - group_description?: string; - /** - * @description Description of the invoice item. - * @example a56e086a317d8410c8b4cfd1f4dc9f82 - */ - description?: string; - /** - * @description Billed amount of this invoice item. Billed in USD. - * @example 12.34 - */ - amount?: string; - /** - * @description Duration of time this invoice item was used and subsequently billed. - * @example 744 - */ - duration?: string; - /** - * @description Unit of time for duration. - * @example Hours - */ - duration_unit?: string; - /** - * @description Time the invoice item began to be billed for usage. - * @example "2020-01-01T00:00:00.000Z" - */ - start_time?: string; - /** - * @description Time the invoice item stopped being billed for usage. - * @example "2020-02-01T00:00:00.000Z" - */ - end_time?: string; - /** - * @description Name of the DigitalOcean Project this resource belongs to. - * @example web - */ - project_name?: string; - }; - "resources/billing/models/invoice_preview.yml": { - /** - * @description The UUID of the invoice. The canonical reference for the invoice. - * @example fdabb512-6faf-443c-ba2e-665452332a9e - */ - invoice_uuid?: string; - /** - * @description Total amount of the invoice, in USD. This will reflect month-to-date usage in the invoice preview. - * @example 23.45 - */ - amount?: string; - /** - * @description Billing period of usage for which the invoice is issued, in `YYYY-MM` format. - * @example 2020-01 - */ - invoice_period?: string; - /** - * @description Time the invoice was last updated. This is only included with the invoice preview. - * @example "2020-01-23T06:31:50.000Z" - */ - updated_at?: string; - }; - "resources/billing/models/invoice_summary.yml": { - /** - * @description UUID of the invoice - * @example 22737513-0ea7-4206-8ceb-98a575af7681 - */ - invoice_uuid?: string; - /** - * @description Billing period of usage for which the invoice is issued, in `YYYY-MM` format. - * @example 2020-01 - */ - billing_period?: string; - /** - * @description Total amount of the invoice, in USD. This will reflect month-to-date usage in the invoice preview. - * @example 27.13 - */ - amount?: string; - /** - * @description Name of the DigitalOcean customer being invoiced. - * @example Sammy Shark - */ - user_name?: string; - user_billing_address?: external["resources/billing/models/billing_address.yml"]; - /** - * @description Company of the DigitalOcean customer being invoiced, if set. - * @example DigitalOcean - */ - user_company?: string; - /** - * @description Email of the DigitalOcean customer being invoiced. - * @example sammy@digitalocean.com - */ - user_email?: string; - product_charges?: external["resources/billing/models/product_usage_charges.yml"]; - overages?: external["resources/billing/models/simple_charge.yml"]; - taxes?: external["resources/billing/models/simple_charge.yml"]; - credits_and_adjustments?: external["resources/billing/models/simple_charge.yml"]; - }; - "resources/billing/models/product_charge_item.yml": { - /** - * @description Amount of the charge - * @example 10.00 - */ - amount?: string; - /** - * @description Description of the charge - * @example Spaces Subscription - */ - name?: string; - /** - * @description Number of times the charge was applied - * @example 1 - */ - count?: string; - }; - "resources/billing/models/product_usage_charges.yml": { - /** - * @description Description of usage charges - * @example Product usage charges - */ - name?: string; - /** - * @description Total amount charged - * @example 12.34 - */ - amount?: string; - /** - * @description List of amount, and grouped aggregates by resource type. - * @example [ - * { - * "amount": "10.00", - * "name": "Spaces Subscription", - * "count": "1" - * }, - * { - * "amount": "2.34", - * "name": "Database Clusters", - * "count": "1" - * } - * ] - */ - items?: external["resources/billing/models/product_charge_item.yml"][]; - }; - "resources/billing/models/simple_charge.yml": { - /** - * @description Name of the charge - * @example Overages - */ - name?: string; - /** - * @description Total amount charged in USD - * @example 3.45 - */ - amount?: string; - }; - "resources/billing/parameters.yml": { - invoice_uuid: string; - }; - "resources/billing/responses/balance.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/billing/models/balance.yml"]; - }; - }; - "resources/billing/responses/billing_history.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - billing_history?: external["resources/billing/models/billing_history.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta_optional_total.yml"]; - }; - }; - "resources/billing/responses/invoice_csv.yml": { - headers: { - "content-disposition": external["shared/headers.yml"]["content-disposition"]; - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "text/csv": string; - }; - }; - "resources/billing/responses/invoice_pdf.yml": { - headers: { - "content-disposition": external["shared/headers.yml"]["content-disposition"]; - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/pdf": string; - }; - }; - "resources/billing/responses/invoice_summary.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/billing/models/invoice_summary.yml"]; - }; - }; - "resources/billing/responses/invoice.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - invoice_items?: external["resources/billing/models/invoice_item.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/billing/responses/invoices.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - invoices?: external["resources/billing/models/invoice_preview.yml"][]; - invoice_preview?: external["resources/billing/models/invoice_preview.yml"]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - /** - * Create a New CDN Endpoint - * @description To create a new CDN endpoint, send a POST request to `/v2/cdn/endpoints`. The - * origin attribute must be set to the fully qualified domain name (FQDN) of a - * DigitalOcean Space. Optionally, the TTL may be configured by setting the `ttl` - * attribute. - * - * A custom subdomain may be configured by specifying the `custom_domain` and - * `certificate_id` attributes. - */ - "resources/cdn/cdn_create_endpoint.yml": { - requestBody: { - content: { - "application/json": external["resources/cdn/models/cdn_endpoint.yml"]; - }; - }; - responses: { - 201: external["resources/cdn/responses/existing_endpoint.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a CDN Endpoint - * @description To delete a specific CDN endpoint, send a DELETE request to - * `/v2/cdn/endpoints/$ENDPOINT_ID`. - * - * A status of 204 will be given. This indicates that the request was processed - * successfully, but that no response body is needed. - */ - "resources/cdn/cdn_delete_endpoint.yml": { - parameters: { - path: { - cdn_id: external["resources/cdn/parameters.yml"]["cdn_endpoint_id"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing CDN Endpoint - * @description To show information about an existing CDN endpoint, send a GET request to `/v2/cdn/endpoints/$ENDPOINT_ID`. - */ - "resources/cdn/cdn_get_endpoint.yml": { - parameters: { - path: { - cdn_id: external["resources/cdn/parameters.yml"]["cdn_endpoint_id"]; - }; - }; - responses: { - 200: external["resources/cdn/responses/existing_endpoint.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All CDN Endpoints - * @description To list all of the CDN endpoints available on your account, send a GET request to `/v2/cdn/endpoints`. - */ - "resources/cdn/cdn_list_endpoints.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - }; - responses: { - 200: external["resources/cdn/responses/all_cdn_endpoints.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Purge the Cache for an Existing CDN Endpoint - * @description To purge cached content from a CDN endpoint, send a DELETE request to - * `/v2/cdn/endpoints/$ENDPOINT_ID/cache`. The body of the request should include - * a `files` attribute containing a list of cached file paths to be purged. A - * path may be for a single file or may contain a wildcard (`*`) to recursively - * purge all files under a directory. When only a wildcard is provided, all - * cached files will be purged. There is a rate limit of 50 files per 20 seconds - * that can be purged. - */ - "resources/cdn/cdn_purge_cache.yml": { - parameters: { - path: { - cdn_id: external["resources/cdn/parameters.yml"]["cdn_endpoint_id"]; - }; - }; - requestBody: { - content: { - "application/json": external["resources/cdn/models/purge_cache.yml"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update a CDN Endpoint - * @description To update the TTL, certificate ID, or the FQDN of the custom subdomain for - * an existing CDN endpoint, send a PUT request to - * `/v2/cdn/endpoints/$ENDPOINT_ID`. - */ - "resources/cdn/cdn_update_endpoint.yml": { - parameters: { - path: { - cdn_id: external["resources/cdn/parameters.yml"]["cdn_endpoint_id"]; - }; - }; - requestBody: { - content: { - "application/json": external["resources/cdn/models/update_endpoint.yml"]; - }; - }; - responses: { - 200: external["resources/cdn/responses/existing_endpoint.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/cdn/models/cdn_endpoint.yml": { - /** - * Format: uuid - * @description A unique ID that can be used to identify and reference a CDN endpoint. - * @example 892071a0-bb95-49bc-8021-3afd67a210bf - */ - id?: string; - /** - * Format: hostname - * @description The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space. - * @example static-images.nyc3.digitaloceanspaces.com - */ - origin: string; - /** - * Format: hostname - * @description The fully qualified domain name (FQDN) from which the CDN-backed content is served. - * @example static-images.nyc3.cdn.digitaloceanspaces.com - */ - endpoint?: string; - /** - * @description The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded. - * @default 3600 - * @example 3600 - * @enum {integer} - */ - ttl?: 60 | 600 | 3600 | 86400 | 604800; - /** - * Format: uuid - * @description The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided. - * @example 892071a0-bb95-49bc-8021-3afd67a210bf - */ - certificate_id?: string; - /** - * Format: hostname - * @description The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint. - * @example static.example.com - */ - custom_domain?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created. - * @example 2018-03-21T16:02:37Z - */ - created_at?: string; - }; - "resources/cdn/models/purge_cache.yml": { - /** - * @description An array of strings containing the path to the content to be purged from the CDN cache. - * @example [ - * "path/to/image.png", - * "path/to/css/*" - * ] - */ - files: string[]; - }; - "resources/cdn/models/update_endpoint.yml": { - /** - * @description The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded. - * @default 3600 - * @example 3600 - * @enum {integer} - */ - ttl?: 60 | 600 | 3600 | 86400 | 604800; - /** - * Format: uuid - * @description The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided. - * @example 892071a0-bb95-49bc-8021-3afd67a210bf - */ - certificate_id?: string; - /** - * Format: hostname - * @description The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint. - * @example static.example.com - */ - custom_domain?: string; - }; - "resources/cdn/parameters.yml": { - cdn_endpoint_id: string; - }; - "resources/cdn/responses/all_cdn_endpoints.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - endpoints?: external["resources/cdn/models/cdn_endpoint.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/cdn/responses/existing_endpoint.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - endpoint?: external["resources/cdn/models/cdn_endpoint.yml"]; - }; - }; - }; - /** - * Create a New Certificate - * @description To upload new SSL certificate which you have previously generated, send a POST - * request to `/v2/certificates`. - * - * When uploading a user-generated certificate, the `private_key`, - * `leaf_certificate`, and optionally the `certificate_chain` attributes should - * be provided. The type must be set to `custom`. - * - * When using Let's Encrypt to create a certificate, the `dns_names` attribute - * must be provided, and the type must be set to `lets_encrypt`. - */ - "resources/certificates/certificates_create.yml": { - requestBody: { - content: { - "application/json": external["resources/certificates/models/certificate_create.yml"]["certificate_request_lets_encrypt"] | external["resources/certificates/models/certificate_create.yml"]["certificate_request_custom"]; - }; - }; - responses: { - 201: external["resources/certificates/responses/new_certificate.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Certificate - * @description To delete a specific certificate, send a DELETE request to - * `/v2/certificates/$CERTIFICATE_ID`. - */ - "resources/certificates/certificates_delete.yml": { - parameters: { - path: { - certificate_id: external["resources/certificates/parameters.yml"]["certificate_id"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Certificate - * @description To show information about an existing certificate, send a GET request to `/v2/certificates/$CERTIFICATE_ID`. - */ - "resources/certificates/certificates_get.yml": { - parameters: { - path: { - certificate_id: external["resources/certificates/parameters.yml"]["certificate_id"]; - }; - }; - responses: { - 200: external["resources/certificates/responses/existing_certificate.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Certificates - * @description To list all of the certificates available on your account, send a GET request to `/v2/certificates`. - */ - "resources/certificates/certificates_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - }; - responses: { - 200: external["resources/certificates/responses/all_certificates.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/certificates/models/certificate_create.yml": { - certificate_create_base: { - /** - * @description A unique human-readable name referring to a certificate. - * @example web-cert-01 - */ - name: string; - /** - * @description A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. - * @example lets_encrypt - * @enum {string} - */ - type?: "custom" | "lets_encrypt"; - }; - /** Custom Certificate Request */ - certificate_request_custom: external["resources/certificates/models/certificate_create.yml"]["certificate_create_base"] & { - /** - * @description The contents of a PEM-formatted private-key corresponding to the SSL certificate. - * @example -----BEGIN PRIVATE KEY----- - * MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 - * SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 - * DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X - * wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w - * Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F - * ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX - * fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l - * 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm - * cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt - * eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF - * 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x - * gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh - * GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ - * P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj - * IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 - * W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ - * 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt - * Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx - * pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG - * RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 - * o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E - * sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW - * JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo - * QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ - * AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg - * eTuK2xNR0PIM8OI7pRpgyj1I - * -----END PRIVATE KEY----- - */ - private_key: string; - /** - * @description The contents of a PEM-formatted public SSL certificate. - * @example -----BEGIN CERTIFICATE----- - * MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA - * MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD - * ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x - * NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j - * b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ - * CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb - * 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 - * oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz - * Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna - * k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb - * QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB - * BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 - * MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG - * CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl - * dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s - * ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu - * Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW - * MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB - * BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 - * cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp - * dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl - * bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM - * PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e - * iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD - * D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 - * q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ - * WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu - * UlF1zblDmg2Iaw== - * -----END CERTIFICATE----- - */ - leaf_certificate: string; - /** - * @description The full PEM-formatted trust chain between the certificate authority's certificate and your domain's SSL certificate. - * @example -----BEGIN CERTIFICATE----- - * MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA - * MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD - * ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x - * NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j - * b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz7tnK6V52SVf+ - * CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb - * 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 - * oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz - * Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna - * k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb - * QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB - * BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 - * MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG - * CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl - * dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s - * ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu - * Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgEwgeWECysGAQQBgt8TAQEBMIHW - * MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB - * BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 - * cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp - * dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBsdHRwczovL2xldHNl - * bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM - * PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e - * iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD - * D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL3o+UIY39X0dV3WOboW2Re8nrkFXJ7 - * q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ - * WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu - * UlF1zblDmg2Iaw== - * -----END CERTIFICATE----- - * -----BEGIN CERTIFICATE----- - * MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ - * MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT - * DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow - * SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT - * GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC - * AQ8AMIIBCgKCAQEAnNMM8FrlLsd3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF - * q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 - * SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 - * Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA - * a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj - * /PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIPOIUo4IBfTCCAXkwEgYDVR0T - * AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG - * CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv - * bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k - * c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw - * VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC - * ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz - * MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu - * Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF - * AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo - * uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ - * wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu - * X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG - * PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 - * KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== - * -----END CERTIFICATE----- - */ - certificate_chain?: string; - }; - /** Let's Encrypt Certificate Request */ - certificate_request_lets_encrypt: external["resources/certificates/models/certificate_create.yml"]["certificate_create_base"] & { - /** - * @description An array of fully qualified domain names (FQDNs) for which the certificate was issued. A certificate covering all subdomains can be issued using a wildcard (e.g. `*.example.com`). - * @example [ - * "www.example.com", - * "example.com" - * ] - */ - dns_names: string[]; - }; - }; - "resources/certificates/models/certificate.yml": { - /** - * Format: uuid - * @description A unique ID that can be used to identify and reference a certificate. - * @example 892071a0-bb95-49bc-8021-3afd67a210bf - */ - id?: string; - /** - * @description A unique human-readable name referring to a certificate. - * @example web-cert-01 - */ - name?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents the certificate's expiration date. - * @example "2017-02-22T00:23:00.000Z" - */ - not_after?: string; - /** - * @description A unique identifier generated from the SHA-1 fingerprint of the certificate. - * @example dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 - */ - sha1_fingerprint?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the certificate was created. - * @example "2017-02-08T16:02:37.000Z" - */ - created_at?: string; - /** - * @description An array of fully qualified domain names (FQDNs) for which the certificate was issued. - * @example [ - * "www.example.com", - * "example.com" - * ] - */ - dns_names?: string[]; - /** - * @description A string representing the current state of the certificate. It may be `pending`, `verified`, or `error`. - * @example verified - * @enum {string} - */ - state?: "pending" | "verified" | "error"; - /** - * @description A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. - * @example lets_encrypt - * @enum {string} - */ - type?: "custom" | "lets_encrypt"; - }; - "resources/certificates/parameters.yml": { - certificate_id: string; - }; - "resources/certificates/responses/all_certificates.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - certificates?: external["resources/certificates/models/certificate.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/certificates/responses/examples.yml": unknown - "resources/certificates/responses/existing_certificate.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - certificate?: external["resources/certificates/models/certificate.yml"]; - }; + get: operations["sshKeys_list"]; + put: never; + /** + * Create a New SSH Key + * @description To add a new SSH public key to your DigitalOcean account, send a POST request to `/v2/account/keys`. Set the `name` attribute to the name you wish to use and the `public_key` attribute to the full public key you are adding. + */ + post: operations["sshKeys_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/account/keys/{ssh_key_identifier}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing SSH Key + * @description To get information about a key, send a GET request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`. + * The response will be a JSON object with the key `ssh_key` and value an ssh_key object which contains the standard ssh_key attributes. + */ + get: operations["sshKeys_get"]; + /** + * Update an SSH Key's Name + * @description To update the name of an SSH key, send a PUT request to either `/v2/account/keys/$SSH_KEY_ID` or `/v2/account/keys/$SSH_KEY_FINGERPRINT`. Set the `name` attribute to the new name you want to use. + */ + put: operations["sshKeys_update"]; + post: never; + /** + * Delete an SSH Key + * @description To destroy a public SSH key that you have in your account, send a DELETE request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`. + * A 204 status will be returned, indicating that the action was successful and that the response body is empty. + */ + delete: operations["sshKeys_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Actions + * @description This will be the entire list of actions taken on your account, so it will be quite large. As with any large collection returned by the API, the results will be paginated with only 20 on each page by default. + */ + get: operations["actions_list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/actions/{action_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Action + * @description To retrieve a specific action object, send a GET request to `/v2/actions/$ACTION_ID`. + */ + get: operations["actions_get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Apps + * @description List all apps on your account. Information about the current active deployment as well as any in progress ones will also be included for each app. + */ + get: operations["apps_list"]; + put: never; + /** + * Create a New App + * @description Create a new app by submitting an app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/). + */ + post: operations["apps_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing App + * @description Retrieve details about an existing app by either its ID or name. To retrieve an app by its name, do not include an ID in the request path. Information about the current active deployment as well as any in progress ones will also be included in the response. + */ + get: operations["apps_get"]; + /** + * Update an App + * @description Update an existing app by submitting a new app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/). + */ + put: operations["apps_update"]; + post: never; + /** + * Delete an App + * @description Delete an existing app. Once deleted, all active deployments will be permanently shut down and the app deleted. If needed, be sure to back up your app specification so that you may re-create it at a later time. + */ + delete: operations["apps_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/components/{component_name}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve Active Deployment Logs + * @description Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. + */ + get: operations["apps_get_logs_active_deployment"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/deployments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List App Deployments + * @description List all deployments of an app. + */ + get: operations["apps_list_deployments"]; + put: never; + /** + * Create an App Deployment + * @description Creating an app deployment will pull the latest changes from your repository and schedule a new deployment for your app. + */ + post: operations["apps_create_deployment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/deployments/{deployment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an App Deployment + * @description Retrieve information about an app deployment. + */ + get: operations["apps_get_deployment"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/deployments/{deployment_id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Cancel a Deployment + * @description Immediately cancel an in-progress deployment. + */ + post: operations["apps_cancel_deployment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve Deployment Logs + * @description Retrieve the logs of a past, in-progress, or active deployment. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. + */ + get: operations["apps_get_logs"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/deployments/{deployment_id}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve Aggregate Deployment Logs + * @description Retrieve the logs of a past, in-progress, or active deployment. If a component name is specified, the logs will be limited to only that component. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. + */ + get: operations["apps_get_logs_aggregate"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve Active Deployment Aggregate Logs + * @description Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. + */ + get: operations["apps_get_logs_active_deployment_aggregate"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/tiers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List App Tiers + * @description List all app tiers. + */ + get: operations["apps_list_tiers"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/tiers/{slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an App Tier + * @description Retrieve information about a specific app tier. + */ + get: operations["apps_get_tier"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/tiers/instance_sizes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Instance Sizes + * @description List all instance sizes for `service`, `worker`, and `job` components. + */ + get: operations["apps_list_instanceSizes"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/tiers/instance_sizes/{slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Instance Size + * @description Retrieve information about a specific instance size for `service`, `worker`, and `job` components. + */ + get: operations["apps_get_instanceSize"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/regions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List App Regions + * @description List all regions supported by App Platform. + */ + get: operations["apps_list_regions"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/propose": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Propose an App Spec + * @description To propose and validate a spec for a new or existing app, send a POST request to the `/v2/apps/propose` endpoint. The request returns some information about the proposed app, including app cost and upgrade cost. If an existing app ID is specified, the app spec is treated as a proposed update to the existing app. + */ + post: operations["apps_validate_appSpec"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List all app alerts + * @description List alerts associated to the app and any components. This includes configuration information about the alerts including emails, slack webhooks, and triggering events or conditions. + */ + get: operations["apps_list_alerts"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/alerts/{alert_id}/destinations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Update destinations for alerts + * @description Updates the emails and slack webhook destinations for app alerts. Emails must be associated to a user with access to the app. + */ + post: operations["apps_assign_alertDestinations"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/rollback": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Rollback App + * @description Rollback an app to a previous deployment. A new deployment will be created to perform the rollback. + * The app will be pinned to the rollback deployment preventing any new deployments from being created, + * either manually or through Auto Deploy on Push webhooks. To resume deployments, the rollback must be + * either committed or reverted. + * + * It is recommended to use the Validate App Rollback endpoint to double check if the rollback is + * valid and if there are any warnings. + * + */ + post: operations["apps_create_rollback"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/rollback/validate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Validate App Rollback + * @description Check whether an app can be rolled back to a specific deployment. This endpoint can also be used + * to check if there are any warnings or validation conditions that will cause the rollback to proceed + * under unideal circumstances. For example, if a component must be rebuilt as part of the rollback + * causing it to take longer than usual. + * + */ + post: operations["apps_validate_rollback"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/rollback/commit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Commit App Rollback + * @description Commit an app rollback. This action permanently applies the rollback and unpins the app to resume new deployments. + * + */ + post: operations["apps_commit_rollback"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/rollback/revert": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Revert App Rollback + * @description Revert an app rollback. This action reverts the active rollback by creating a new deployment from the + * latest app spec prior to the rollback and unpins the app to resume new deployments. + * + */ + post: operations["apps_revert_rollback"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/{app_id}/metrics/bandwidth_daily": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve App Daily Bandwidth Metrics + * @description Retrieve daily bandwidth usage metrics for a single app. + */ + get: operations["apps_get_metrics_bandwidth_daily"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/apps/metrics/bandwidth_daily": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Retrieve Multiple Apps' Daily Bandwidth Metrics + * @description Retrieve daily bandwidth usage metrics for multiple apps. + */ + post: operations["apps_list_metrics_bandwidth_daily"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/cdn/endpoints": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All CDN Endpoints + * @description To list all of the CDN endpoints available on your account, send a GET request to `/v2/cdn/endpoints`. + */ + get: operations["cdn_list_endpoints"]; + put: never; + /** + * Create a New CDN Endpoint + * @description To create a new CDN endpoint, send a POST request to `/v2/cdn/endpoints`. The + * origin attribute must be set to the fully qualified domain name (FQDN) of a + * DigitalOcean Space. Optionally, the TTL may be configured by setting the `ttl` + * attribute. + * + * A custom subdomain may be configured by specifying the `custom_domain` and + * `certificate_id` attributes. + * + */ + post: operations["cdn_create_endpoint"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/cdn/endpoints/{cdn_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing CDN Endpoint + * @description To show information about an existing CDN endpoint, send a GET request to `/v2/cdn/endpoints/$ENDPOINT_ID`. + */ + get: operations["cdn_get_endpoint"]; + /** + * Update a CDN Endpoint + * @description To update the TTL, certificate ID, or the FQDN of the custom subdomain for + * an existing CDN endpoint, send a PUT request to + * `/v2/cdn/endpoints/$ENDPOINT_ID`. + * + */ + put: operations["cdn_update_endpoints"]; + post: never; + /** + * Delete a CDN Endpoint + * @description To delete a specific CDN endpoint, send a DELETE request to + * `/v2/cdn/endpoints/$ENDPOINT_ID`. + * + * A status of 204 will be given. This indicates that the request was processed + * successfully, but that no response body is needed. + * + */ + delete: operations["cdn_delete_endpoint"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/cdn/endpoints/{cdn_id}/cache": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Purge the Cache for an Existing CDN Endpoint + * @description To purge cached content from a CDN endpoint, send a DELETE request to + * `/v2/cdn/endpoints/$ENDPOINT_ID/cache`. The body of the request should include + * a `files` attribute containing a list of cached file paths to be purged. A + * path may be for a single file or may contain a wildcard (`*`) to recursively + * purge all files under a directory. When only a wildcard is provided, all + * cached files will be purged. There is a rate limit of 50 files per 20 seconds + * that can be purged. + * + */ + delete: operations["cdn_purge_cache"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/certificates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Certificates + * @description To list all of the certificates available on your account, send a GET request to `/v2/certificates`. + */ + get: operations["certificates_list"]; + put: never; + /** + * Create a New Certificate + * @description To upload new SSL certificate which you have previously generated, send a POST + * request to `/v2/certificates`. + * + * When uploading a user-generated certificate, the `private_key`, + * `leaf_certificate`, and optionally the `certificate_chain` attributes should + * be provided. The type must be set to `custom`. + * + * When using Let's Encrypt to create a certificate, the `dns_names` attribute + * must be provided, and the type must be set to `lets_encrypt`. + * + */ + post: operations["certificates_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/certificates/{certificate_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Certificate + * @description To show information about an existing certificate, send a GET request to `/v2/certificates/$CERTIFICATE_ID`. + */ + get: operations["certificates_get"]; + put: never; + post: never; + /** + * Delete a Certificate + * @description To delete a specific certificate, send a DELETE request to + * `/v2/certificates/$CERTIFICATE_ID`. + * + */ + delete: operations["certificates_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/customers/my/balance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Customer Balance + * @description To retrieve the balances on a customer's account, send a GET request to `/v2/customers/my/balance`. + */ + get: operations["balance_get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/customers/my/billing_history": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Billing History + * @description To retrieve a list of all billing history entries, send a GET request to `/v2/customers/my/billing_history`. + */ + get: operations["billingHistory_list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/customers/my/invoices": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Invoices + * @description To retrieve a list of all invoices, send a GET request to `/v2/customers/my/invoices`. + */ + get: operations["invoices_list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/customers/my/invoices/{invoice_uuid}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Invoice by UUID + * @description To retrieve the invoice items for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID`. + */ + get: operations["invoices_get_byUUID"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/customers/my/invoices/{invoice_uuid}/csv": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Invoice CSV by UUID + * @description To retrieve a CSV for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/csv`. + */ + get: operations["invoices_get_csvByUUID"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/customers/my/invoices/{invoice_uuid}/pdf": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Invoice PDF by UUID + * @description To retrieve a PDF for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/pdf`. + */ + get: operations["invoices_get_pdfByUUID"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/customers/my/invoices/{invoice_uuid}/summary": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Invoice Summary by UUID + * @description To retrieve a summary for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/summary`. + */ + get: operations["invoices_get_summaryByUUID"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/options": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Database Options + * @description To list all of the options available for the offered database engines, send a GET request to `/v2/databases/options`. + * The result will be a JSON object with an `options` key. + */ + get: operations["databases_list_options"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Database Clusters + * @description To list all of the database clusters available on your account, send a GET request to `/v2/databases`. To limit the results to database clusters with a specific tag, include the `tag_name` query parameter set to the name of the tag. For example, `/v2/databases?tag_name=$TAG_NAME`. + * The result will be a JSON object with a `databases` key. This will be set to an array of database objects, each of which will contain the standard database attributes. + * The embedded `connection` and `private_connection` objects will contain the information needed to access the database cluster: + * The embedded `maintenance_window` object will contain information about any scheduled maintenance for the database cluster. + */ + get: operations["databases_list_clusters"]; + put: never; + /** + * Create a New Database Cluster + * @description To create a database cluster, send a POST request to `/v2/databases`. + * The response will be a JSON object with a key called `database`. The value of this will be an object that contains the standard attributes associated with a database cluster. The initial value of the database cluster's `status` attribute will be `creating`. When the cluster is ready to receive traffic, this will transition to `online`. + * The embedded `connection` and `private_connection` objects will contain the information needed to access the database cluster. + * DigitalOcean managed PostgreSQL and MySQL database clusters take automated daily backups. To create a new database cluster based on a backup of an existing cluster, send a POST request to `/v2/databases`. In addition to the standard database cluster attributes, the JSON body must include a key named `backup_restore` with the name of the original database cluster and the timestamp of the backup to be restored. Creating a database from a backup is the same as forking a database in the control panel. + * Note: Backups are not supported for Redis clusters. + */ + post: operations["databases_create_cluster"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Database Cluster + * @description To show information about an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID`. + * The response will be a JSON object with a database key. This will be set to an object containing the standard database cluster attributes. + * The embedded connection and private_connection objects will contain the information needed to access the database cluster. + * The embedded maintenance_window object will contain information about any scheduled maintenance for the database cluster. + */ + get: operations["databases_get_cluster"]; + put: never; + post: never; + /** + * Destroy a Database Cluster + * @description To destroy a specific database, send a DELETE request to `/v2/databases/$DATABASE_ID`. + * A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. + */ + delete: operations["databases_destroy_cluster"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Database Cluster Configuration + * @description Shows configuration parameters for an existing database cluster by sending a GET request to + * `/v2/databases/$DATABASE_ID/config`. + * The response is a JSON object with a `config` key, which is set to an object + * containing any database configuration parameters. + * + */ + get: operations["databases_get_config"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update the Database Configuration for an Existing Database + * @description To update the configuration for an existing database cluster, send a PATCH request to + * `/v2/databases/$DATABASE_ID/config`. + * + */ + patch: operations["databases_patch_config"]; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/ca": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve the Public Certificate + * @description To retrieve the public certificate used to secure the connection to the database cluster send a GET request to + * `/v2/databases/$DATABASE_ID/ca`. + * + * The response will be a JSON object with a `ca` key. This will be set to an object + * containing the base64 encoding of the public key certificate. + * + */ + get: operations["databases_get_ca"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/online-migration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve the Status of an Online Migration + * @description To retrieve the status of the most recent online migration, send a GET request to `/v2/databases/$DATABASE_ID/online-migration`. + */ + get: operations["databases_get_migrationStatus"]; + /** + * Start an Online Migration + * @description To start an online migration, send a PUT request to `/v2/databases/$DATABASE_ID/online-migration` endpoint. Migrating a cluster establishes a connection with an existing cluster and replicates its contents to the target cluster. Online migration is only available for MySQL, PostgreSQL, and Redis clusters. + */ + put: operations["databases_update_onlineMigration"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Stop an Online Migration + * @description To stop an online migration, send a DELETE request to `/v2/databases/$DATABASE_ID/online-migration/$MIGRATION_ID`. + * + * A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. + * + */ + delete: operations["databases_delete_onlineMigration"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/migrate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Migrate a Database Cluster to a New Region + * @description To migrate a database cluster to a new region, send a `PUT` request to + * `/v2/databases/$DATABASE_ID/migrate`. The body of the request must specify a + * `region` attribute. + * + * A successful request will receive a 202 Accepted status code with no body in + * response. Querying the database cluster will show that its `status` attribute + * will now be set to `migrating`. This will transition back to `online` when the + * migration has completed. + * + */ + put: operations["databases_update_region"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/resize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Resize a Database Cluster + * @description To resize a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/resize`. The body of the request must specify both the size and num_nodes attributes. + * A successful request will receive a 202 Accepted status code with no body in response. Querying the database cluster will show that its status attribute will now be set to resizing. This will transition back to online when the resize operation has completed. + */ + put: operations["databases_update_clusterSize"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/firewall": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Firewall Rules (Trusted Sources) for a Database Cluster + * @description To list all of a database cluster's firewall rules (known as "trusted sources" in the control panel), send a GET request to `/v2/databases/$DATABASE_ID/firewall`. + * The result will be a JSON object with a `rules` key. + */ + get: operations["databases_list_firewall_rules"]; + /** + * Update Firewall Rules (Trusted Sources) for a Database + * @description To update a database cluster's firewall rules (known as "trusted sources" in the control panel), send a PUT request to `/v2/databases/$DATABASE_ID/firewall` specifying which resources should be able to open connections to the database. You may limit connections to specific Droplets, Kubernetes clusters, or IP addresses. When a tag is provided, any Droplet or Kubernetes node with that tag applied to it will have access. The firewall is limited to 100 rules (or trusted sources). When possible, we recommend [placing your databases into a VPC network](https://www.digitalocean.com/docs/networking/vpc/) to limit access to them instead of using a firewall. + * A successful + */ + put: operations["databases_update_firewall_rules"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/maintenance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Configure a Database Cluster's Maintenance Window + * @description To configure the window when automatic maintenance should be performed for a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/maintenance`. + * A successful request will receive a 204 No Content status code with no body in response. + */ + put: operations["databases_update_maintenanceWindow"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/backups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Backups for a Database Cluster + * @description To list all of the available backups of a PostgreSQL or MySQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/backups`. + * **Note**: Backups are not supported for Redis clusters. + * The result will be a JSON object with a `backups key`. This will be set to an array of backup objects, each of which will contain the size of the backup and the timestamp at which it was created. + */ + get: operations["databases_list_backups"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/replicas": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Read-only Replicas + * @description To list all of the read-only replicas associated with a database cluster, send a GET request to `/v2/databases/$DATABASE_ID/replicas`. + * + * **Note**: Read-only replicas are not supported for Redis clusters. + * + * The result will be a JSON object with a `replicas` key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes. + */ + get: operations["databases_list_replicas"]; + put: never; + /** + * Create a Read-only Replica + * @description To create a read-only replica for a PostgreSQL or MySQL database cluster, send a POST request to `/v2/databases/$DATABASE_ID/replicas` specifying the name it should be given, the size of the node to be used, and the region where it will be located. + * + * **Note**: Read-only replicas are not supported for Redis clusters. + * + * The response will be a JSON object with a key called `replica`. The value of this will be an object that contains the standard attributes associated with a database replica. The initial value of the read-only replica's `status` attribute will be `forking`. When the replica is ready to receive traffic, this will transition to `active`. + */ + post: operations["databases_create_replica"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/replicas/{replica_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Read-only Replica + * @description To show information about an existing database replica, send a GET request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. + * + * **Note**: Read-only replicas are not supported for Redis clusters. + * + * The response will be a JSON object with a `replica key`. This will be set to an object containing the standard database replica attributes. + */ + get: operations["databases_get_replica"]; + put: never; + post: never; + /** + * Destroy a Read-only Replica + * @description To destroy a specific read-only replica, send a DELETE request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. + * + * **Note**: Read-only replicas are not supported for Redis clusters. + * + * A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. + */ + delete: operations["databases_destroy_replica"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Promote a Read-only Replica to become a Primary Cluster + * @description To promote a specific read-only replica, send a PUT request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME/promote`. + * + * **Note**: Read-only replicas are not supported for Redis clusters. + * + * A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. + */ + put: operations["databases_promote_replica"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List all Database Users + * @description To list all of the users for your database cluster, send a GET request to + * `/v2/databases/$DATABASE_ID/users`. + * + * Note: User management is not supported for Redis clusters. + * + * The result will be a JSON object with a `users` key. This will be set to an array + * of database user objects, each of which will contain the standard database user attributes. + * + * For MySQL clusters, additional options will be contained in the mysql_settings object. + * + */ + get: operations["databases_list_users"]; + put: never; + /** + * Add a Database User + * @description To add a new database user, send a POST request to `/v2/databases/$DATABASE_ID/users` + * with the desired username. + * + * Note: User management is not supported for Redis clusters. + * + * When adding a user to a MySQL cluster, additional options can be configured in the + * `mysql_settings` object. + * + * The response will be a JSON object with a key called `user`. The value of this will be an + * object that contains the standard attributes associated with a database user including + * its randomly generated password. + * + */ + post: operations["databases_add_user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/users/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Database User + * @description To show information about an existing database user, send a GET request to + * `/v2/databases/$DATABASE_ID/users/$USERNAME`. + * + * Note: User management is not supported for Redis clusters. + * + * The response will be a JSON object with a `user` key. This will be set to an object + * containing the standard database user attributes. + * + * For MySQL clusters, additional options will be contained in the mysql_settings + * object. + * + */ + get: operations["databases_get_user"]; + put: never; + post: never; + /** + * Remove a Database User + * @description To remove a specific database user, send a DELETE request to + * `/v2/databases/$DATABASE_ID/users/$USERNAME`. + * + * A status of 204 will be given. This indicates that the request was processed + * successfully, but that no response body is needed. + * + * Note: User management is not supported for Redis clusters. + * + */ + delete: operations["databases_delete_user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Reset a Database User's Password or Authentication Method + * @description To reset the password for a database user, send a POST request to + * `/v2/databases/$DATABASE_ID/users/$USERNAME/reset_auth`. + * + * For `mysql` databases, the authentication method can be specifying by + * including a key in the JSON body called `mysql_settings` with the `auth_plugin` + * value specified. + * + * The response will be a JSON object with a `user` key. This will be set to an + * object containing the standard database user attributes. + * + */ + post: operations["databases_reset_auth"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/dbs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Databases + * @description To list all of the databases in a clusters, send a GET request to + * `/v2/databases/$DATABASE_ID/dbs`. + * + * The result will be a JSON object with a `dbs` key. This will be set to an array + * of database objects, each of which will contain the standard database attributes. + * + * Note: Database management is not supported for Redis clusters. + * + */ + get: operations["databases_list"]; + put: never; + /** + * Add a New Database + * @description To add a new database to an existing cluster, send a POST request to + * `/v2/databases/$DATABASE_ID/dbs`. + * + * Note: Database management is not supported for Redis clusters. + * + * The response will be a JSON object with a key called `db`. The value of this will be + * an object that contains the standard attributes associated with a database. + * + */ + post: operations["databases_add"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/dbs/{database_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Database + * @description To show information about an existing database cluster, send a GET request to + * `/v2/databases/$DATABASE_ID/dbs/$DB_NAME`. + * + * Note: Database management is not supported for Redis clusters. + * + * The response will be a JSON object with a `db` key. This will be set to an object + * containing the standard database attributes. + * + */ + get: operations["databases_get"]; + put: never; + post: never; + /** + * Delete a Database + * @description To delete a specific database, send a DELETE request to + * `/v2/databases/$DATABASE_ID/dbs/$DB_NAME`. + * + * A status of 204 will be given. This indicates that the request was processed + * successfully, but that no response body is needed. + * + * Note: Database management is not supported for Redis clusters. + * + */ + delete: operations["databases_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/pools": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Connection Pools (PostgreSQL) + * @description To list all of the connection pools available to a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools`. + * The result will be a JSON object with a `pools` key. This will be set to an array of connection pool objects. + */ + get: operations["databases_list_connectionPools"]; + put: never; + /** + * Add a New Connection Pool (PostgreSQL) + * @description For PostgreSQL database clusters, connection pools can be used to allow a + * database to share its idle connections. The popular PostgreSQL connection + * pooling utility PgBouncer is used to provide this service. [See here for more information](https://www.digitalocean.com/docs/databases/postgresql/how-to/manage-connection-pools/) + * about how and why to use PgBouncer connection pooling including + * details about the available transaction modes. + * + * To add a new connection pool to a PostgreSQL database cluster, send a POST + * request to `/v2/databases/$DATABASE_ID/pools` specifying a name for the pool, + * the user to connect with, the database to connect to, as well as its desired + * size and transaction mode. + * + */ + post: operations["databases_add_connectionPool"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/pools/{pool_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve Existing Connection Pool (PostgreSQL) + * @description To show information about an existing connection pool for a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. + * The response will be a JSON object with a `pool` key. + */ + get: operations["databases_get_connectionPool"]; + /** + * Update Connection Pools (PostgreSQL) + * @description To update a connection pool for a PostgreSQL database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. + */ + put: operations["databases_update_connectionPool"]; + post: never; + /** + * Delete a Connection Pool (PostgreSQL) + * @description To delete a specific connection pool for a PostgreSQL database cluster, send + * a DELETE request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. + * + * A status of 204 will be given. This indicates that the request was processed + * successfully, but that no response body is needed. + * + */ + delete: operations["databases_delete_connectionPool"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/eviction_policy": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve the Eviction Policy for a Redis Cluster + * @description To retrieve the configured eviction policy for an existing Redis cluster, send a GET request to `/v2/databases/$DATABASE_ID/eviction_policy`. + * The response will be a JSON object with an `eviction_policy` key. This will be set to a string representing the eviction policy. + */ + get: operations["databases_get_evictionPolicy"]; + /** + * Configure the Eviction Policy for a Redis Cluster + * @description To configure an eviction policy for an existing Redis cluster, send a PUT request to `/v2/databases/$DATABASE_ID/eviction_policy` specifying the desired policy. + */ + put: operations["databases_update_evictionPolicy"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/sql_mode": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve the SQL Modes for a MySQL Cluster + * @description To retrieve the configured SQL modes for an existing MySQL cluster, send a GET request to `/v2/databases/$DATABASE_ID/sql_mode`. + * The response will be a JSON object with a `sql_mode` key. This will be set to a string representing the configured SQL modes. + */ + get: operations["databases_get_sql_mode"]; + /** + * Update SQL Mode for a Cluster + * @description To configure the SQL modes for an existing MySQL cluster, send a PUT request to `/v2/databases/$DATABASE_ID/sql_mode` specifying the desired modes. See the official MySQL 8 documentation for a [full list of supported SQL modes](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sql-mode-full). + * A successful request will receive a 204 No Content status code with no body in response. + */ + put: operations["databases_update_sql_mode"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/databases/{database_cluster_uuid}/upgrade": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Upgrade Major Version for a Database + * @description To upgrade the major version of a database, send a PUT request to `/v2/databases/$DATABASE_ID/upgrade`, specifying the target version. + * A successful request will receive a 204 No Content status code with no body in response. + */ + put: operations["databases_update_major_version"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/domains": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Domains + * @description To retrieve a list of all of the domains in your account, send a GET request to `/v2/domains`. + */ + get: operations["domains_list"]; + put: never; + /** + * Create a New Domain + * @description To create a new domain, send a POST request to `/v2/domains`. Set the "name" + * attribute to the domain name you are adding. Optionally, you may set the + * "ip_address" attribute, and an A record will be automatically created pointing + * to the apex domain. + * + */ + post: operations["domains_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/domains/{domain_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Domain + * @description To get details about a specific domain, send a GET request to `/v2/domains/$DOMAIN_NAME`. + */ + get: operations["domains_get"]; + put: never; + post: never; + /** + * Delete a Domain + * @description To delete a domain, send a DELETE request to `/v2/domains/$DOMAIN_NAME`. + * + */ + delete: operations["domains_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/domains/{domain_name}/records": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Domain Records + * @description To get a listing of all records configured for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records`. + * The list of records returned can be filtered by using the `name` and `type` query parameters. For example, to only include A records for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records?type=A`. `name` must be a fully qualified record name. For example, to only include records matching `sub.example.com`, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. Both name and type may be used together. + * + * + */ + get: operations["domains_list_records"]; + put: never; + /** + * Create a New Domain Record + * @description To create a new record to a domain, send a POST request to + * `/v2/domains/$DOMAIN_NAME/records`. + * + * The request must include all of the required fields for the domain record type + * being added. + * + * See the [attribute table](#tag/Domain-Records) for details regarding record + * types and their respective required attributes. + * + */ + post: operations["domains_create_record"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/domains/{domain_name}/records/{domain_record_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Domain Record + * @description To retrieve a specific domain record, send a GET request to `/v2/domains/$DOMAIN_NAME/records/$RECORD_ID`. + */ + get: operations["domains_get_record"]; + /** + * Update a Domain Record + * @description To update an existing record, send a PUT request to + * `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for + * the record type can be set to a new value for the record. + * + * See the [attribute table](#tag/Domain-Records) for details regarding record + * types and their respective attributes. + * + */ + put: operations["domains_update_record"]; + post: never; + /** + * Delete a Domain Record + * @description To delete a record for a domain, send a DELETE request to + * `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. + * + * The record will be deleted and the response status will be a 204. This + * indicates a successful request with no body returned. + * + */ + delete: operations["domains_delete_record"]; + options: never; + head: never; + /** + * Update a Domain Record + * @description To update an existing record, send a PATCH request to + * `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for + * the record type can be set to a new value for the record. + * + * See the [attribute table](#tag/Domain-Records) for details regarding record + * types and their respective attributes. + * + */ + patch: operations["domains_patch_record"]; + trace: never; + }; + "/v2/droplets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Droplets + * @description To list all Droplets in your account, send a GET request to `/v2/droplets`. + * + * The response body will be a JSON object with a key of `droplets`. This will be + * set to an array containing objects each representing a Droplet. These will + * contain the standard Droplet attributes. + * + * ### Filtering Results by Tag + * + * It's possible to request filtered results by including certain query parameters. + * To only list Droplets assigned to a specific tag, include the `tag_name` query + * parameter set to the name of the tag in your GET request. For example, + * `/v2/droplets?tag_name=$TAG_NAME`. + * + */ + get: operations["droplets_list"]; + put: never; + /** + * Create a New Droplet + * @description To create a new Droplet, send a POST request to `/v2/droplets` setting the + * required attributes. + * + * A Droplet will be created using the provided information. The response body + * will contain a JSON object with a key called `droplet`. The value will be an + * object containing the standard attributes for your new Droplet. The response + * code, 202 Accepted, does not indicate the success or failure of the operation, + * just that the request has been accepted for processing. The `actions` returned + * as part of the response's `links` object can be used to check the status + * of the Droplet create event. + * + * ### Create Multiple Droplets + * + * Creating multiple Droplets is very similar to creating a single Droplet. + * Instead of sending `name` as a string, send `names` as an array of strings. A + * Droplet will be created for each name you send using the associated + * information. Up to ten Droplets may be created this way at a time. + * + * Rather than returning a single Droplet, the response body will contain a JSON + * array with a key called `droplets`. This will be set to an array of JSON + * objects, each of which will contain the standard Droplet attributes. The + * response code, 202 Accepted, does not indicate the success or failure of any + * operation, just that the request has been accepted for processing. The array + * of `actions` returned as part of the response's `links` object can be used to + * check the status of each individual Droplet create event. + * + */ + post: operations["droplets_create"]; + /** + * Deleting Droplets by Tag + * @description To delete **all** Droplets assigned to a specific tag, include the `tag_name` + * query parameter set to the name of the tag in your DELETE request. For + * example, `/v2/droplets?tag_name=$TAG_NAME`. + * + * A successful request will receive a 204 status code with no body in response. + * This indicates that the request was processed successfully. + * + */ + delete: operations["droplets_destroy_byTag"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Droplet + * @description To show information about an individual Droplet, send a GET request to + * `/v2/droplets/$DROPLET_ID`. + * + */ + get: operations["droplets_get"]; + put: never; + post: never; + /** + * Delete an Existing Droplet + * @description To delete a Droplet, send a DELETE request to `/v2/droplets/$DROPLET_ID`. + * + * A successful request will receive a 204 status code with no body in response. + * This indicates that the request was processed successfully. + * + */ + delete: operations["droplets_destroy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/backups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Backups for a Droplet + * @description To retrieve any backups associated with a Droplet, send a GET request to + * `/v2/droplets/$DROPLET_ID/backups`. + * + * You will get back a JSON object that has a `backups` key. This will be set to + * an array of backup objects, each of which contain the standard + * Droplet backup attributes. + * + */ + get: operations["droplets_list_backups"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/snapshots": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Snapshots for a Droplet + * @description To retrieve the snapshots that have been created from a Droplet, send a GET + * request to `/v2/droplets/$DROPLET_ID/snapshots`. + * + * You will get back a JSON object that has a `snapshots` key. This will be set + * to an array of snapshot objects, each of which contain the standard Droplet + * snapshot attributes. + * + */ + get: operations["droplets_list_snapshots"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Actions for a Droplet + * @description To retrieve a list of all actions that have been executed for a Droplet, send + * a GET request to `/v2/droplets/$DROPLET_ID/actions`. + * + * The results will be returned as a JSON object with an `actions` key. This will + * be set to an array filled with `action` objects containing the standard + * `action` attributes. + * + */ + get: operations["dropletActions_list"]; + put: never; + /** + * Initiate a Droplet Action + * @description To initiate an action on a Droplet send a POST request to + * `/v2/droplets/$DROPLET_ID/actions`. In the JSON body to the request, + * set the `type` attribute to on of the supported action types: + * + * | Action | Details | + * | ---------------------------------------- | ----------- | + * | `enable_backups` | Enables backups for a Droplet | + * | `disable_backups` | Disables backups for a Droplet | + * | `reboot` | Reboots a Droplet. A `reboot` action is an attempt to reboot the Droplet in a graceful way, similar to using the `reboot` command from the console. | + * | `power_cycle` | Power cycles a Droplet. A `powercycle` action is similar to pushing the reset button on a physical machine, it's similar to booting from scratch. | + * | `shutdown` | Shutsdown a Droplet. A shutdown action is an attempt to shutdown the Droplet in a graceful way, similar to using the `shutdown` command from the console. Since a `shutdown` command can fail, this action guarantees that the command is issued, not that it succeeds. The preferred way to turn off a Droplet is to attempt a shutdown, with a reasonable timeout, followed by a `power_off` action to ensure the Droplet is off. | + * | `power_off` | Powers off a Droplet. A `power_off` event is a hard shutdown and should only be used if the `shutdown` action is not successful. It is similar to cutting the power on a server and could lead to complications. | + * | `power_on` | Powers on a Droplet. | + * | `restore` | Restore a Droplet using a backup image. The image ID that is passed in must be a backup of the current Droplet instance. The operation will leave any embedded SSH keys intact. | + * | `password_reset` | Resets the root password for a Droplet. A new password will be provided via email. It must be changed after first use. | + * | `resize` | Resizes a Droplet. Set the `size` attribute to a size slug. If a permanent resize with disk changes included is desired, set the `disk` attribute to `true`. | + * | `rebuild` | Rebuilds a Droplet from a new base image. Set the `image` attribute to an image ID or slug. | + * | `rename` | Renames a Droplet. | + * | `change_kernel` | Changes a Droplet's kernel. Only applies to Droplets with externally managed kernels. All Droplets created after March 2017 use internal kernels by default. | + * | `enable_ipv6` | Enables IPv6 for a Droplet. | + * | `snapshot` | Takes a snapshot of a Droplet. | + * + */ + post: operations["dropletActions_post"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Acting on Tagged Droplets + * @description Some actions can be performed in bulk on tagged Droplets. The actions can be + * initiated by sending a POST to `/v2/droplets/actions?tag_name=$TAG_NAME` with + * the action arguments. + * + * Only a sub-set of action types are supported: + * + * - `power_cycle` + * - `power_on` + * - `power_off` + * - `shutdown` + * - `enable_ipv6` + * - `enable_backups` + * - `disable_backups` + * - `snapshot` + * + */ + post: operations["dropletActions_post_byTag"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/actions/{action_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve a Droplet Action + * @description To retrieve a Droplet action, send a GET request to + * `/v2/droplets/$DROPLET_ID/actions/$ACTION_ID`. + * + * The response will be a JSON object with a key called `action`. The value will + * be a Droplet action object. + * + */ + get: operations["dropletActions_get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/kernels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Available Kernels for a Droplet + * @description To retrieve a list of all kernels available to a Droplet, send a GET request + * to `/v2/droplets/$DROPLET_ID/kernels` + * + * The response will be a JSON object that has a key called `kernels`. This will + * be set to an array of `kernel` objects, each of which contain the standard + * `kernel` attributes. + * + */ + get: operations["droplets_list_kernels"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/firewalls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List all Firewalls Applied to a Droplet + * @description To retrieve a list of all firewalls available to a Droplet, send a GET request + * to `/v2/droplets/$DROPLET_ID/firewalls` + * + * The response will be a JSON object that has a key called `firewalls`. This will + * be set to an array of `firewall` objects, each of which contain the standard + * `firewall` attributes. + * + */ + get: operations["droplets_list_firewalls"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/neighbors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Neighbors for a Droplet + * @description To retrieve a list of any "neighbors" (i.e. Droplets that are co-located on + * the same physical hardware) for a specific Droplet, send a GET request to + * `/v2/droplets/$DROPLET_ID/neighbors`. + * + * The results will be returned as a JSON object with a key of `droplets`. This + * will be set to an array containing objects representing any other Droplets + * that share the same physical hardware. An empty array indicates that the + * Droplet is not co-located any other Droplets associated with your account. + * + */ + get: operations["droplets_list_neighbors"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/destroy_with_associated_resources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Associated Resources for a Droplet + * @description To list the associated billable resources that can be destroyed along with a + * Droplet, send a GET request to the + * `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources` endpoint. + * + * The response will be a JSON object containing `snapshots`, `volumes`, and + * `volume_snapshots` keys. Each will be set to an array of objects containing + * information about the associated resources. + * + */ + get: operations["droplets_list_associatedResources"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Selectively Destroy a Droplet and its Associated Resources + * @description To destroy a Droplet along with a sub-set of its associated resources, send a + * DELETE request to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/selective` + * endpoint. The JSON body of the request should include `reserved_ips`, `snapshots`, `volumes`, + * or `volume_snapshots` keys each set to an array of IDs for the associated + * resources to be destroyed. The IDs can be found by querying the Droplet's + * associated resources. Any associated resource not included in the request + * will remain and continue to accrue changes on your account. + * + * A successful response will include a 202 response code and no content. Use + * the status endpoint to check on the success or failure of the destruction of + * the individual resources. + * + */ + delete: operations["droplets_destroy_withAssociatedResourcesSelective"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Destroy a Droplet and All of its Associated Resources (Dangerous) + * @description To destroy a Droplet along with all of its associated resources, send a DELETE + * request to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/dangerous` + * endpoint. The headers of this request must include an `X-Dangerous` key set to + * `true`. To preview which resources will be destroyed, first query the + * Droplet's associated resources. This operation _can not_ be reverse and should + * be used with caution. + * + * A successful response will include a 202 response code and no content. Use the + * status endpoint to check on the success or failure of the destruction of the + * individual resources. + * + */ + delete: operations["droplets_destroy_withAssociatedResourcesDangerous"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/destroy_with_associated_resources/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check Status of a Droplet Destroy with Associated Resources Request + * @description To check on the status of a request to destroy a Droplet with its associated + * resources, send a GET request to the + * `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/status` endpoint. + * + */ + get: operations["droplets_get_DestroyAssociatedResourcesStatus"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Retry a Droplet Destroy with Associated Resources Request + * @description If the status of a request to destroy a Droplet with its associated resources + * reported any errors, it can be retried by sending a POST request to the + * `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/retry` endpoint. + * + * Only one destroy can be active at a time per Droplet. If a retry is issued + * while another destroy is in progress for the Droplet a 409 status code will + * be returned. A successful response will include a 202 response code and no + * content. + * + */ + post: operations["droplets_destroy_retryWithAssociatedResources"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/firewalls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Firewalls + * @description To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`. + */ + get: operations["firewalls_list"]; + put: never; + /** + * Create a New Firewall + * @description To create a new firewall, send a POST request to `/v2/firewalls`. The request + * must contain at least one inbound or outbound access rule. + * + */ + post: operations["firewalls_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/firewalls/{firewall_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Firewall + * @description To show information about an existing firewall, send a GET request to `/v2/firewalls/$FIREWALL_ID`. + */ + get: operations["firewalls_get"]; + /** + * Update a Firewall + * @description To update the configuration of an existing firewall, send a PUT request to + * `/v2/firewalls/$FIREWALL_ID`. The request should contain a full representation + * of the firewall including existing attributes. **Note that any attributes that + * are not provided will be reset to their default values.** + * + */ + put: operations["firewalls_update"]; + post: never; + /** + * Delete a Firewall + * @description To delete a firewall send a DELETE request to `/v2/firewalls/$FIREWALL_ID`. + * + * No response body will be sent back, but the response code will indicate + * success. Specifically, the response code will be a 204, which means that the + * action was successful with no returned body data. + * + */ + delete: operations["firewalls_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/firewalls/{firewall_id}/droplets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add Droplets to a Firewall + * @description To assign a Droplet to a firewall, send a POST request to + * `/v2/firewalls/$FIREWALL_ID/droplets`. In the body of the request, there + * should be a `droplet_ids` attribute containing a list of Droplet IDs. + * + * No response body will be sent back, but the response code will indicate + * success. Specifically, the response code will be a 204, which means that the + * action was successful with no returned body data. + * + */ + post: operations["firewalls_assign_droplets"]; + /** + * Remove Droplets from a Firewall + * @description To remove a Droplet from a firewall, send a DELETE request to + * `/v2/firewalls/$FIREWALL_ID/droplets`. In the body of the request, there should + * be a `droplet_ids` attribute containing a list of Droplet IDs. + * + * No response body will be sent back, but the response code will indicate + * success. Specifically, the response code will be a 204, which means that the + * action was successful with no returned body data. + * + */ + delete: operations["firewalls_delete_droplets"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/firewalls/{firewall_id}/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add Tags to a Firewall + * @description To assign a tag representing a group of Droplets to a firewall, send a POST + * request to `/v2/firewalls/$FIREWALL_ID/tags`. In the body of the request, + * there should be a `tags` attribute containing a list of tag names. + * + * No response body will be sent back, but the response code will indicate + * success. Specifically, the response code will be a 204, which means that the + * action was successful with no returned body data. + * + */ + post: operations["firewalls_add_tags"]; + /** + * Remove Tags from a Firewall + * @description To remove a tag representing a group of Droplets from a firewall, send a + * DELETE request to `/v2/firewalls/$FIREWALL_ID/tags`. In the body of the + * request, there should be a `tags` attribute containing a list of tag names. + * + * No response body will be sent back, but the response code will indicate + * success. Specifically, the response code will be a 204, which means that the + * action was successful with no returned body data. + * + */ + delete: operations["firewalls_delete_tags"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/firewalls/{firewall_id}/rules": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add Rules to a Firewall + * @description To add additional access rules to a firewall, send a POST request to + * `/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include an + * inbound_rules and/or outbound_rules attribute containing an array of rules to + * be added. + * + * No response body will be sent back, but the response code will indicate + * success. Specifically, the response code will be a 204, which means that the + * action was successful with no returned body data. + * + */ + post: operations["firewalls_add_rules"]; + /** + * Remove Rules from a Firewall + * @description To remove access rules from a firewall, send a DELETE request to + * `/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include an + * `inbound_rules` and/or `outbound_rules` attribute containing an array of rules + * to be removed. + * + * No response body will be sent back, but the response code will indicate + * success. Specifically, the response code will be a 204, which means that the + * action was successful with no returned body data. + * + */ + delete: operations["firewalls_delete_rules"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/floating_ips": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Floating IPs + * @description To list all of the floating IPs available on your account, send a GET request to `/v2/floating_ips`. + */ + get: operations["floatingIPs_list"]; + put: never; + /** + * Create a New Floating IP + * @description On creation, a floating IP must be either assigned to a Droplet or reserved to a region. + * * To create a new floating IP assigned to a Droplet, send a POST + * request to `/v2/floating_ips` with the `droplet_id` attribute. + * + * * To create a new floating IP reserved to a region, send a POST request to + * `/v2/floating_ips` with the `region` attribute. + * + * **Note**: In addition to the standard rate limiting, only 12 floating IPs may be created per 60 seconds. + */ + post: operations["floatingIPs_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/floating_ips/{floating_ip}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Floating IP + * @description To show information about a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP_ADDR`. + */ + get: operations["floatingIPs_get"]; + put: never; + post: never; + /** + * Delete a Floating IP + * @description To delete a floating IP and remove it from your account, send a DELETE request + * to `/v2/floating_ips/$FLOATING_IP_ADDR`. + * + * A successful request will receive a 204 status code with no body in response. + * This indicates that the request was processed successfully. + * + */ + delete: operations["floatingIPs_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/floating_ips/{floating_ip}/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Actions for a Floating IP + * @description To retrieve all actions that have been executed on a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions`. + */ + get: operations["floatingIPsAction_list"]; + put: never; + /** + * Initiate a Floating IP Action + * @description To initiate an action on a floating IP send a POST request to + * `/v2/floating_ips/$FLOATING_IP/actions`. In the JSON body to the request, + * set the `type` attribute to on of the supported action types: + * + * | Action | Details + * |------------|-------- + * | `assign` | Assigns a floating IP to a Droplet + * | `unassign` | Unassign a floating IP from a Droplet + * + */ + post: operations["floatingIPsAction_post"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/floating_ips/{floating_ip}/actions/{action_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Floating IP Action + * @description To retrieve the status of a floating IP action, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions/$ACTION_ID`. + */ + get: operations["floatingIPsAction_get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/functions/namespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Namespaces + * @description Returns a list of namespaces associated with the current user. To get all namespaces, send a GET request to `/v2/functions/namespaces`. + */ + get: operations["functions_list_namespaces"]; + put: never; + /** + * Create Namespace + * @description Creates a new serverless functions namespace in the desired region and associates it with the provided label. A namespace is a collection of functions and their associated packages, triggers, and project specifications. To create a namespace, send a POST request to `/v2/functions/namespaces` with the `region` and `label` properties. + */ + post: operations["functions_create_namespace"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/functions/namespaces/{namespace_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Namespace + * @description Gets the namespace details for the given namespace UUID. To get namespace details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID` with no parameters. + */ + get: operations["functions_get_namespace"]; + put: never; + post: never; + /** + * Delete Namespace + * @description Deletes the given namespace. When a namespace is deleted all assets, in the namespace are deleted, this includes packages, functions and triggers. Deleting a namespace is a destructive operation and assets in the namespace are not recoverable after deletion. Some metadata is retained, such as activations, or soft deleted for reporting purposes. + * To delete namespace, send a DELETE request to `/v2/functions/namespaces/$NAMESPACE_ID`. + * A successful deletion returns a 204 response. + */ + delete: operations["functions_delete_namespace"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/functions/namespaces/{namespace_id}/triggers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Triggers + * @description Returns a list of triggers associated with the current user and namespace. To get all triggers, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers`. + */ + get: operations["functions_list_triggers"]; + put: never; + /** + * Create Trigger + * @description Creates a new trigger for a given function in a namespace. To create a trigger, send a POST request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers` with the `name`, `function`, `type`, `is_enabled` and `scheduled_details` properties. + */ + post: operations["functions_create_trigger"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Trigger + * @description Gets the trigger details. To get the trigger details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`. + */ + get: operations["functions_get_trigger"]; + /** + * Update Trigger + * @description Updates the details of the given trigger. To update a trigger, send a PUT request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME` with new values for the `is_enabled ` or `scheduled_details` properties. + */ + put: operations["functions_update_trigger"]; + post: never; + /** + * Delete Trigger + * @description Deletes the given trigger. + * To delete trigger, send a DELETE request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`. + * A successful deletion returns a 204 response. + */ + delete: operations["functions_delete_trigger"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/images": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Images + * @description To list all of the images available on your account, send a GET request to /v2/images. + * + * ## Filtering Results + * ----- + * + * It's possible to request filtered results by including certain query parameters. + * + * **Image Type** + * + * Either 1-Click Application or OS Distribution images can be filtered by using the `type` query parameter. + * + * > Important: The `type` query parameter does not directly relate to the `type` attribute. + * + * To retrieve only ***distribution*** images, include the `type` query parameter set to distribution, `/v2/images?type=distribution`. + * + * To retrieve only ***application*** images, include the `type` query parameter set to application, `/v2/images?type=application`. + * + * **User Images** + * + * To retrieve only the private images of a user, include the `private` query parameter set to true, `/v2/images?private=true`. + * + * **Tags** + * + * To list all images assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your GET request. For example, `/v2/images?tag_name=$TAG_NAME`. + * + */ + get: operations["images_list"]; + put: never; + /** + * Create a Custom Image + * @description To create a new custom image, send a POST request to /v2/images. + * The body must contain a url attribute pointing to a Linux virtual machine + * image to be imported into DigitalOcean. + * The image must be in the raw, qcow2, vhdx, vdi, or vmdk format. + * It may be compressed using gzip or bzip2 and must be smaller than 100 GB after + * being decompressed. + * + */ + post: operations["images_create_custom"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/images/{image_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Image + * @description To retrieve information about an image, send a `GET` request to + * `/v2/images/$IDENTIFIER`. + * + */ + get: operations["images_get"]; + /** + * Update an Image + * @description To update an image, send a `PUT` request to `/v2/images/$IMAGE_ID`. + * Set the `name` attribute to the new value you would like to use. + * For custom images, the `description` and `distribution` attributes may also be updated. + * + */ + put: operations["images_update"]; + post: never; + /** + * Delete an Image + * @description To delete a snapshot or custom image, send a `DELETE` request to `/v2/images/$IMAGE_ID`. + * + */ + delete: operations["images_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/images/{image_id}/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Actions for an Image + * @description To retrieve all actions that have been executed on an image, send a GET request to `/v2/images/$IMAGE_ID/actions`. + */ + get: operations["imageActions_list"]; + put: never; + /** + * Initiate an Image Action + * @description The following actions are available on an Image. + * + * ## Convert an Image to a Snapshot + * + * To convert an image, for example, a backup to a snapshot, send a POST request + * to `/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to `convert`. + * + * ## Transfer an Image + * + * To transfer an image to another region, send a POST request to + * `/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to `transfer` and set + * `region` attribute to the slug identifier of the region you wish to transfer + * to. + * + */ + post: operations["imageActions_post"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/images/{image_id}/actions/{action_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Action + * @description To retrieve the status of an image action, send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`. + */ + get: operations["imageActions_get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Kubernetes Clusters + * @description To list all of the Kubernetes clusters on your account, send a GET request + * to `/v2/kubernetes/clusters`. + * + */ + get: operations["kubernetes_list_clusters"]; + put: never; + /** + * Create a New Kubernetes Cluster + * @description To create a new Kubernetes cluster, send a POST request to + * `/v2/kubernetes/clusters`. The request must contain at least one node pool + * with at least one worker. + * + * The request may contain a maintenance window policy describing a time period + * when disruptive maintenance tasks may be carried out. Omitting the policy + * implies that a window will be chosen automatically. See + * [here](https://www.digitalocean.com/docs/kubernetes/how-to/upgrade-cluster/) + * for details. + * + */ + post: operations["kubernetes_create_cluster"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Kubernetes Cluster + * @description To show information about an existing Kubernetes cluster, send a GET request + * to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`. + * + */ + get: operations["kubernetes_get_cluster"]; + /** + * Update a Kubernetes Cluster + * @description To update a Kubernetes cluster, send a PUT request to + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID` and specify one or more of the + * attributes below. + * + */ + put: operations["kubernetes_update_cluster"]; + post: never; + /** + * Delete a Kubernetes Cluster + * @description To delete a Kubernetes cluster and all services deployed to it, send a DELETE + * request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`. + * + * A 204 status code with no body will be returned in response to a successful + * request. + * + */ + delete: operations["kubernetes_delete_cluster"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Associated Resources for Cluster Deletion + * @description To list the associated billable resources that can be destroyed along with a cluster, send a GET request to the `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources` endpoint. + */ + get: operations["kubernetes_list_associatedResources"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Selectively Delete a Cluster and its Associated Resources + * @description To delete a Kubernetes cluster along with a subset of its associated resources, + * send a DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/selective`. + * + * The JSON body of the request should include `load_balancers`, `volumes`, or + * `volume_snapshots` keys each set to an array of IDs for the associated + * resources to be destroyed. + * + * The IDs can be found by querying the cluster's associated resources endpoint. + * Any associated resource not included in the request will remain and continue + * to accrue changes on your account. + * + */ + delete: operations["kubernetes_destroy_associatedResourcesSelective"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a Cluster and All of its Associated Resources (Dangerous) + * @description To delete a Kubernetes cluster with all of its associated resources, send a + * DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/dangerous`. + * A 204 status code with no body will be returned in response to a successful request. + * + */ + delete: operations["kubernetes_destroy_associatedResourcesDangerous"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/kubeconfig": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve the kubeconfig for a Kubernetes Cluster + * @description This endpoint returns a kubeconfig file in YAML format. It can be used to + * connect to and administer the cluster using the Kubernetes command line tool, + * `kubectl`, or other programs supporting kubeconfig files (e.g., client libraries). + * + * The resulting kubeconfig file uses token-based authentication for clusters + * supporting it, and certificate-based authentication otherwise. For a list of + * supported versions and more information, see "[How to Connect to a DigitalOcean + * Kubernetes Cluster with kubectl](https://www.digitalocean.com/docs/kubernetes/how-to/connect-with-kubectl/)". + * + * To retrieve a kubeconfig file for use with a Kubernetes cluster, send a GET + * request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig`. + * + * Clusters supporting token-based authentication may define an expiration by + * passing a duration in seconds as a query parameter to + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig?expiry_seconds=$DURATION_IN_SECONDS`. + * If not set or 0, then the token will have a 7 day expiry. The query parameter + * has no impact in certificate-based authentication. + * + */ + get: operations["kubernetes_get_kubeconfig"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/credentials": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve Credentials for a Kubernetes Cluster + * @description This endpoint returns a JSON object . It can be used to programmatically + * construct Kubernetes clients which cannot parse kubeconfig files. + * + * The resulting JSON object contains token-based authentication for clusters + * supporting it, and certificate-based authentication otherwise. For a list of + * supported versions and more information, see "[How to Connect to a DigitalOcean + * Kubernetes Cluster with kubectl](https://www.digitalocean.com/docs/kubernetes/how-to/connect-with-kubectl/)". + * + * To retrieve credentials for accessing a Kubernetes cluster, send a GET + * request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/credentials`. + * + * Clusters supporting token-based authentication may define an expiration by + * passing a duration in seconds as a query parameter to + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/credentials?expiry_seconds=$DURATION_IN_SECONDS`. + * If not set or 0, then the token will have a 7 day expiry. The query parameter + * has no impact in certificate-based authentication. + * + */ + get: operations["kubernetes_get_credentials"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/upgrades": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve Available Upgrades for an Existing Kubernetes Cluster + * @description To determine whether a cluster can be upgraded, and the versions to which it + * can be upgraded, send a GET request to + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrades`. + * + */ + get: operations["kubernetes_get_availableUpgrades"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/upgrade": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Upgrade a Kubernetes Cluster + * @description To immediately upgrade a Kubernetes cluster to a newer patch release of + * Kubernetes, send a POST request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrade`. + * The body of the request must specify a version attribute. + * + * Available upgrade versions for a cluster can be fetched from + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrades`. + * + */ + post: operations["kubernetes_upgrade_cluster"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/node_pools": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Node Pools in a Kubernetes Clusters + * @description To list all of the node pools in a Kubernetes clusters, send a GET request to + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools`. + * + */ + get: operations["kubernetes_list_nodePools"]; + put: never; + /** + * Add a Node Pool to a Kubernetes Cluster + * @description To add an additional node pool to a Kubernetes clusters, send a POST request + * to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools` with the following + * attributes. + * + */ + post: operations["kubernetes_add_nodePool"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve a Node Pool for a Kubernetes Cluster + * @description To show information about a specific node pool in a Kubernetes cluster, send + * a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`. + * + */ + get: operations["kubernetes_get_nodePool"]; + /** + * Update a Node Pool in a Kubernetes Cluster + * @description To update the name of a node pool, edit the tags applied to it, or adjust its + * number of nodes, send a PUT request to + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID` with the + * following attributes. + * + */ + put: operations["kubernetes_update_nodePool"]; + post: never; + /** + * Delete a Node Pool in a Kubernetes Cluster + * @description To delete a node pool, send a DELETE request to + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`. + * + * A 204 status code with no body will be returned in response to a successful + * request. Nodes in the pool will subsequently be drained and deleted. + * + */ + delete: operations["kubernetes_delete_nodePool"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a Node in a Kubernetes Cluster + * @description To delete a single node in a pool, send a DELETE request to + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID/nodes/$NODE_ID`. + * + * Appending the `skip_drain=1` query parameter to the request causes node + * draining to be skipped. Omitting the query parameter or setting its value to + * `0` carries out draining prior to deletion. + * + * Appending the `replace=1` query parameter to the request causes the node to + * be replaced by a new one after deletion. Omitting the query parameter or + * setting its value to `0` deletes without replacement. + * + */ + delete: operations["kubernetes_delete_node"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Recycle a Kubernetes Node Pool + * @deprecated + * @description The endpoint has been deprecated. Please use the DELETE + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID/nodes/$NODE_ID` + * method instead. + * + */ + post: operations["kubernetes_recycle_node_pool"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve User Information for a Kubernetes Cluster + * @description To show information the user associated with a Kubernetes cluster, send a GET + * request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/user`. + * + */ + get: operations["kubernetes_get_clusterUser"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/options": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Available Regions, Node Sizes, and Versions of Kubernetes + * @description To list the versions of Kubernetes available for use, the regions that support Kubernetes, and the available node sizes, send a GET request to `/v2/kubernetes/options`. + */ + get: operations["kubernetes_list_options"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/clusters/{cluster_id}/clusterlint": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Fetch Clusterlint Diagnostics for a Kubernetes Cluster + * @description To request clusterlint diagnostics for your cluster, send a GET request to + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/clusterlint`. If the `run_id` query + * parameter is provided, then the diagnostics for the specific run is fetched. + * By default, the latest results are shown. + * + * To find out how to address clusterlint feedback, please refer to + * [the clusterlint check documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md). + * + */ + get: operations["kubernetes_get_clusterLintResults"]; + put: never; + /** + * Run Clusterlint Checks on a Kubernetes Cluster + * @description Clusterlint helps operators conform to Kubernetes best practices around + * resources, security and reliability to avoid common problems while operating + * or upgrading the clusters. + * + * To request a clusterlint run on your cluster, send a POST request to + * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/clusterlint`. This will run all + * checks present in the `doks` group by default, if a request body is not + * specified. Optionally specify the below attributes. + * + * For information about the available checks, please refer to + * [the clusterlint check documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md). + * + */ + post: operations["kubernetes_run_clusterLint"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/kubernetes/registry": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add Container Registry to Kubernetes Clusters + * @description To integrate the container registry with Kubernetes clusters, send a POST request to `/v2/kubernetes/registry`. + */ + post: operations["kubernetes_add_registry"]; + /** + * Remove Container Registry from Kubernetes Clusters + * @description To remove the container registry from Kubernetes clusters, send a DELETE request to `/v2/kubernetes/registry`. + */ + delete: operations["kubernetes_remove_registry"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/load_balancers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Load Balancers + * @description To list all of the load balancer instances on your account, send a GET request + * to `/v2/load_balancers`. + * + */ + get: operations["loadBalancers_list"]; + put: never; + /** + * Create a New Load Balancer + * @description To create a new load balancer instance, send a POST request to + * `/v2/load_balancers`. + * + * You can specify the Droplets that will sit behind the load balancer using one + * of two methods: + * + * * Set `droplet_ids` to a list of specific Droplet IDs. + * * Set `tag` to the name of a tag. All Droplets with this tag applied will be + * assigned to the load balancer. Additional Droplets will be automatically + * assigned as they are tagged. + * + * These methods are mutually exclusive. + * + */ + post: operations["loadBalancers_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/load_balancers/{lb_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Load Balancer + * @description To show information about a load balancer instance, send a GET request to + * `/v2/load_balancers/$LOAD_BALANCER_ID`. + * + */ + get: operations["loadBalancers_get"]; + /** + * Update a Load Balancer + * @description To update a load balancer's settings, send a PUT request to + * `/v2/load_balancers/$LOAD_BALANCER_ID`. The request should contain a full + * representation of the load balancer including existing attributes. It may + * contain _one of_ the `droplets_ids` or `tag` attributes as they are mutually + * exclusive. **Note that any attribute that is not provided will be reset to its + * default value.** + * + */ + put: operations["loadBalancers_update"]; + post: never; + /** + * Delete a Load Balancer + * @description To delete a load balancer instance, disassociating any Droplets assigned to it + * and removing it from your account, send a DELETE request to + * `/v2/load_balancers/$LOAD_BALANCER_ID`. + * + * A successful request will receive a 204 status code with no body in response. + * This indicates that the request was processed successfully. + * + */ + delete: operations["loadBalancers_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/load_balancers/{lb_id}/droplets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add Droplets to a Load Balancer + * @description To assign a Droplet to a load balancer instance, send a POST request to + * `/v2/load_balancers/$LOAD_BALANCER_ID/droplets`. In the body of the request, + * there should be a `droplet_ids` attribute containing a list of Droplet IDs. + * Individual Droplets can not be added to a load balancer configured with a + * Droplet tag. Attempting to do so will result in a "422 Unprocessable Entity" + * response from the API. + * + * No response body will be sent back, but the response code will indicate + * success. Specifically, the response code will be a 204, which means that the + * action was successful with no returned body data. + * + */ + post: operations["loadBalancers_add_droplets"]; + /** + * Remove Droplets from a Load Balancer + * @description To remove a Droplet from a load balancer instance, send a DELETE request to + * `/v2/load_balancers/$LOAD_BALANCER_ID/droplets`. In the body of the request, + * there should be a `droplet_ids` attribute containing a list of Droplet IDs. + * + * No response body will be sent back, but the response code will indicate + * success. Specifically, the response code will be a 204, which means that the + * action was successful with no returned body data. + * + */ + delete: operations["loadBalancers_remove_droplets"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/load_balancers/{lb_id}/forwarding_rules": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add Forwarding Rules to a Load Balancer + * @description To add an additional forwarding rule to a load balancer instance, send a POST + * request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In the body + * of the request, there should be a `forwarding_rules` attribute containing an + * array of rules to be added. + * + * No response body will be sent back, but the response code will indicate + * success. Specifically, the response code will be a 204, which means that the + * action was successful with no returned body data. + * + */ + post: operations["loadBalancers_add_forwardingRules"]; + /** + * Remove Forwarding Rules from a Load Balancer + * @description To remove forwarding rules from a load balancer instance, send a DELETE + * request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In the + * body of the request, there should be a `forwarding_rules` attribute containing + * an array of rules to be removed. + * + * No response body will be sent back, but the response code will indicate + * success. Specifically, the response code will be a 204, which means that the + * action was successful with no returned body data. + * + */ + delete: operations["loadBalancers_remove_forwardingRules"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Alert Policies + * @description Returns all alert policies that are configured for the given account. To List all alert policies, send a GET request to `/v2/monitoring/alerts`. + */ + get: operations["monitoring_list_alertPolicy"]; + put: never; + /** + * Create Alert Policy + * @description To create a new alert, send a POST request to `/v2/monitoring/alerts`. + */ + post: operations["monitoring_create_alertPolicy"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/alerts/{alert_uuid}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Alert Policy + * @description To retrieve a given alert policy, send a GET request to `/v2/monitoring/alerts/{alert_uuid}` + */ + get: operations["monitoring_get_alertPolicy"]; + /** + * Update an Alert Policy + * @description To update en existing policy, send a PUT request to `v2/monitoring/alerts/{alert_uuid}`. + */ + put: operations["monitoring_update_alertPolicy"]; + post: never; + /** + * Delete an Alert Policy + * @description To delete an alert policy, send a DELETE request to `/v2/monitoring/alerts/{alert_uuid}` + */ + delete: operations["monitoring_delete_alertPolicy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/metrics/droplet/bandwidth": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Droplet Bandwidth Metrics + * @description To retrieve bandwidth metrics for a given Droplet, send a GET request to `/v2/monitoring/metrics/droplet/bandwidth`. Use the `interface` query parameter to specify if the results should be for the `private` or `public` interface. Use the `direction` query parameter to specify if the results should be for `inbound` or `outbound` traffic. + */ + get: operations["monitoring_get_dropletBandwidthMetrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/metrics/droplet/cpu": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Droplet CPU Metrics + * @description To retrieve CPU metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/cpu`. + */ + get: operations["monitoring_get_DropletCpuMetrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/metrics/droplet/filesystem_free": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Droplet Filesystem Free Metrics + * @description To retrieve filesystem free metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_free`. + */ + get: operations["monitoring_get_dropletFilesystemFreeMetrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/metrics/droplet/filesystem_size": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Droplet Filesystem Size Metrics + * @description To retrieve filesystem size metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_size`. + */ + get: operations["monitoring_get_dropletFilesystemSizeMetrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/metrics/droplet/load_1": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Droplet Load1 Metrics + * @description To retrieve 1 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_1`. + */ + get: operations["monitoring_get_dropletLoad1Metrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/metrics/droplet/load_5": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Droplet Load5 Metrics + * @description To retrieve 5 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_5`. + */ + get: operations["monitoring_get_dropletLoad5Metrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/metrics/droplet/load_15": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Droplet Load15 Metrics + * @description To retrieve 15 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_15`. + */ + get: operations["monitoring_get_dropletLoad15Metrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/metrics/droplet/memory_cached": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Droplet Cached Memory Metrics + * @description To retrieve cached memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_cached`. + */ + get: operations["monitoring_get_dropletMemoryCachedMetrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/metrics/droplet/memory_free": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Droplet Free Memory Metrics + * @description To retrieve free memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_free`. + */ + get: operations["monitoring_get_dropletMemoryFreeMetrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/metrics/droplet/memory_total": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Droplet Total Memory Metrics + * @description To retrieve total memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_total`. + */ + get: operations["monitoring_get_dropletMemoryTotalMetrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/monitoring/metrics/droplet/memory_available": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Droplet Available Memory Metrics + * @description To retrieve available memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_available`. + */ + get: operations["monitoring_get_dropletMemoryAvailableMetrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Projects + * @description To list all your projects, send a GET request to `/v2/projects`. + */ + get: operations["projects_list"]; + put: never; + /** + * Create a Project + * @description To create a project, send a POST request to `/v2/projects`. + */ + post: operations["projects_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/projects/default": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve the Default Project + * @description To get your default project, send a GET request to `/v2/projects/default`. + */ + get: operations["projects_get_default"]; + /** + * Update the Default Project + * @description To update you default project, send a PUT request to `/v2/projects/default`. All of the following attributes must be sent. + */ + put: operations["projects_update_default"]; + post: never; + delete: never; + options: never; + head: never; + /** + * Patch the Default Project + * @description To update only specific attributes of your default project, send a PATCH request to `/v2/projects/default`. At least one of the following attributes needs to be sent. + */ + patch: operations["projects_patch_default"]; + trace: never; + }; + "/v2/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Project + * @description To get a project, send a GET request to `/v2/projects/$PROJECT_ID`. + */ + get: operations["projects_get"]; + /** + * Update a Project + * @description To update a project, send a PUT request to `/v2/projects/$PROJECT_ID`. All of the following attributes must be sent. + */ + put: operations["projects_update"]; + post: never; + /** + * Delete an Existing Project + * @description To delete a project, send a DELETE request to `/v2/projects/$PROJECT_ID`. To + * be deleted, a project must not have any resources assigned to it. Any existing + * resources must first be reassigned or destroyed, or you will receive a 412 error. + * + * A successful request will receive a 204 status code with no body in response. + * This indicates that the request was processed successfully. + * + */ + delete: operations["projects_delete"]; + options: never; + head: never; + /** + * Patch a Project + * @description To update only specific attributes of a project, send a PATCH request to `/v2/projects/$PROJECT_ID`. At least one of the following attributes needs to be sent. + */ + patch: operations["projects_patch"]; + trace: never; + }; + "/v2/projects/{project_id}/resources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Project Resources + * @description To list all your resources in a project, send a GET request to `/v2/projects/$PROJECT_ID/resources`. + */ + get: operations["projects_list_resources"]; + put: never; + /** + * Assign Resources to a Project + * @description To assign resources to a project, send a POST request to `/v2/projects/$PROJECT_ID/resources`. + */ + post: operations["projects_assign_resources"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/projects/default/resources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Default Project Resources + * @description To list all your resources in your default project, send a GET request to `/v2/projects/default/resources`. + */ + get: operations["projects_list_resources_default"]; + put: never; + /** + * Assign Resources to Default Project + * @description To assign resources to your default project, send a POST request to `/v2/projects/default/resources`. + */ + post: operations["projects_assign_resources_default"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/regions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Data Center Regions + * @description To list all of the regions that are available, send a GET request to `/v2/regions`. + * The response will be a JSON object with a key called `regions`. The value of this will be an array of `region` objects, each of which will contain the standard region attributes. + */ + get: operations["regions_list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Container Registry Information + * @description To get information about your container registry, send a GET request to `/v2/registry`. + */ + get: operations["registry_get"]; + put: never; + /** + * Create Container Registry + * @description To create your container registry, send a POST request to `/v2/registry`. + * + * The `name` becomes part of the URL for images stored in the registry. For + * example, if your registry is called `example`, an image in it will have the + * URL `registry.digitalocean.com/example/image:tag`. + * + */ + post: operations["registry_create"]; + /** + * Delete Container Registry + * @description To delete your container registry, destroying all container image data stored in it, send a DELETE request to `/v2/registry`. + */ + delete: operations["registry_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/subscription": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Subscription Information + * @description A subscription is automatically created when you configure your container registry. To get information about your subscription, send a GET request to `/v2/registry/subscription`. + */ + get: operations["registry_get_subscription"]; + put: never; + /** + * Update Subscription Tier + * @description After creating your registry, you can switch to a different subscription tier to better suit your needs. To do this, send a POST request to `/v2/registry/subscription`. + */ + post: operations["registry_update_subscription"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/docker-credentials": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Docker Credentials for Container Registry + * @description In order to access your container registry with the Docker client or from a + * Kubernetes cluster, you will need to configure authentication. The necessary + * JSON configuration can be retrieved by sending a GET request to + * `/v2/registry/docker-credentials`. + * + * The response will be in the format of a Docker `config.json` file. To use the + * config in your Kubernetes cluster, create a Secret with: + * + * kubectl create secret generic docr \ + * --from-file=.dockerconfigjson=config.json \ + * --type=kubernetes.io/dockerconfigjson + * + * By default, the returned credentials have read-only access to your registry + * and cannot be used to push images. This is appropriate for most Kubernetes + * clusters. To retrieve read/write credentials, suitable for use with the Docker + * client or in a CI system, read_write may be provided as query parameter. For + * example: `/v2/registry/docker-credentials?read_write=true` + * + * By default, the returned credentials will not expire. To retrieve credentials + * with an expiry set, expiry_seconds may be provided as a query parameter. For + * example: `/v2/registry/docker-credentials?expiry_seconds=3600` will return + * credentials that expire after one hour. + * + */ + get: operations["registry_get_dockerCredentials"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/validate-name": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Validate a Container Registry Name + * @description To validate that a container registry name is available for use, send a POST + * request to `/v2/registry/validate-name`. + * + * If the name is both formatted correctly and available, the response code will + * be 204 and contain no body. If the name is already in use, the response will + * be a 409 Conflict. + * + */ + post: operations["registry_validate_name"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/{registry_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Container Registry Repositories + * @deprecated + * @description This endpoint has been deprecated in favor of the _List All Container Registry Repositories [V2]_ endpoint. + * + * To list all repositories in your container registry, send a GET + * request to `/v2/registry/$REGISTRY_NAME/repositories`. + * + */ + get: operations["registry_list_repositories"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/{registry_name}/repositoriesV2": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Container Registry Repositories (V2) + * @description To list all repositories in your container registry, send a GET request to `/v2/registry/$REGISTRY_NAME/repositoriesV2`. + */ + get: operations["registry_list_repositoriesV2"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/{registry_name}/repositories/{repository_name}/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Container Registry Repository Tags + * @description To list all tags in your container registry repository, send a GET + * request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags`. + * + * Note that if your repository name contains `/` characters, it must be + * URL-encoded in the request URL. For example, to list tags for + * `registry.digitalocean.com/example/my/repo`, the path would be + * `/v2/registry/example/repositories/my%2Frepo/tags`. + * + */ + get: operations["registry_list_repositoryTags"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete Container Registry Repository Tag + * @description To delete a container repository tag, send a DELETE request to + * `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG`. + * + * Note that if your repository name contains `/` characters, it must be + * URL-encoded in the request URL. For example, to delete + * `registry.digitalocean.com/example/my/repo:mytag`, the path would be + * `/v2/registry/example/repositories/my%2Frepo/tags/mytag`. + * + * A successful request will receive a 204 status code with no body in response. + * This indicates that the request was processed successfully. + * + */ + delete: operations["registry_delete_repositoryTag"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/{registry_name}/repositories/{repository_name}/digests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Container Registry Repository Manifests + * @description To list all manifests in your container registry repository, send a GET + * request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests`. + * + * Note that if your repository name contains `/` characters, it must be + * URL-encoded in the request URL. For example, to list manifests for + * `registry.digitalocean.com/example/my/repo`, the path would be + * `/v2/registry/example/repositories/my%2Frepo/digests`. + * + */ + get: operations["registry_list_repositoryManifests"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete Container Registry Repository Manifest + * @description To delete a container repository manifest by digest, send a DELETE request to + * `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST`. + * + * Note that if your repository name contains `/` characters, it must be + * URL-encoded in the request URL. For example, to delete + * `registry.digitalocean.com/example/my/repo@sha256:abcd`, the path would be + * `/v2/registry/example/repositories/my%2Frepo/digests/sha256:abcd`. + * + * A successful request will receive a 204 status code with no body in response. + * This indicates that the request was processed successfully. + * + */ + delete: operations["registry_delete_repositoryManifest"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/{registry_name}/garbage-collection": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Active Garbage Collection + * @description To get information about the currently-active garbage collection for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collection`. + */ + get: operations["registry_get_garbageCollection"]; + put: never; + /** + * Start Garbage Collection + * @description Garbage collection enables users to clear out unreferenced blobs (layer & + * manifest data) after deleting one or more manifests from a repository. If + * there are no unreferenced blobs resulting from the deletion of one or more + * manifests, garbage collection is effectively a noop. + * [See here for more information](https://www.digitalocean.com/docs/container-registry/how-to/clean-up-container-registry/) + * about how and why you should clean up your container registry periodically. + * + * To request a garbage collection run on your registry, send a POST request to + * `/v2/registry/$REGISTRY_NAME/garbage-collection`. This will initiate the + * following sequence of events on your registry. + * + * * Set the registry to read-only mode, meaning no further write-scoped + * JWTs will be issued to registry clients. Existing write-scoped JWTs will + * continue to work until they expire which can take up to 15 minutes. + * * Wait until all existing write-scoped JWTs have expired. + * * Scan all registry manifests to determine which blobs are unreferenced. + * * Delete all unreferenced blobs from the registry. + * * Record the number of blobs deleted and bytes freed, mark the garbage + * collection status as `success`. + * * Remove the read-only mode restriction from the registry, meaning write-scoped + * JWTs will once again be issued to registry clients. + * + */ + post: operations["registry_run_garbageCollection"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/{registry_name}/garbage-collections": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Garbage Collections + * @description To get information about past garbage collections for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`. + */ + get: operations["registry_list_garbageCollections"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Update Garbage Collection + * @description To cancel the currently-active garbage collection for a registry, send a PUT request to `/v2/registry/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify one or more of the attributes below. + */ + put: operations["registry_update_garbageCollection"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/registry/options": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Registry Options (Subscription Tiers and Available Regions) + * @description This endpoint serves to provide additional information as to which option values are available when creating a container registry. + * There are multiple subscription tiers available for container registry. Each tier allows a different number of image repositories to be created in your registry, and has a different amount of storage and transfer included. + * There are multiple regions available for container registry and controls where your data is stored. + * To list the available options, send a GET request to `/v2/registry/options`. + */ + get: operations["registry_get_options"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/reports/droplet_neighbors_ids": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Droplet Neighbors + * @description To retrieve a list of all Droplets that are co-located on the same physical + * hardware, send a GET request to `/v2/reports/droplet_neighbors_ids`. + * + * The results will be returned as a JSON object with a key of `neighbor_ids`. + * This will be set to an array of arrays. Each array will contain a set of + * Droplet IDs for Droplets that share a physical server. An empty array + * indicates that all Droplets associated with your account are located on + * separate physical hardware. + * + */ + get: operations["droplets_list_neighborsIds"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/reserved_ips": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Reserved IPs + * @description To list all of the reserved IPs available on your account, send a GET request to `/v2/reserved_ips`. + */ + get: operations["reservedIPs_list"]; + put: never; + /** + * Create a New Reserved IP + * @description On creation, a reserved IP must be either assigned to a Droplet or reserved to a region. + * * To create a new reserved IP assigned to a Droplet, send a POST + * request to `/v2/reserved_ips` with the `droplet_id` attribute. + * + * * To create a new reserved IP reserved to a region, send a POST request to + * `/v2/reserved_ips` with the `region` attribute. + * + * **Note**: In addition to the standard rate limiting, only 12 reserved IPs may be created per 60 seconds. + */ + post: operations["reservedIPs_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/reserved_ips/{reserved_ip}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Reserved IP + * @description To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. + */ + get: operations["reservedIPs_get"]; + put: never; + post: never; + /** + * Delete a Reserved IP + * @description To delete a reserved IP and remove it from your account, send a DELETE request + * to `/v2/reserved_ips/$RESERVED_IP_ADDR`. + * + * A successful request will receive a 204 status code with no body in response. + * This indicates that the request was processed successfully. + * + */ + delete: operations["reservedIPs_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/reserved_ips/{reserved_ip}/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Actions for a Reserved IP + * @description To retrieve all actions that have been executed on a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`. + */ + get: operations["reservedIPsActions_list"]; + put: never; + /** + * Initiate a Reserved IP Action + * @description To initiate an action on a reserved IP send a POST request to + * `/v2/reserved_ips/$RESERVED_IP/actions`. In the JSON body to the request, + * set the `type` attribute to on of the supported action types: + * + * | Action | Details + * |------------|-------- + * | `assign` | Assigns a reserved IP to a Droplet + * | `unassign` | Unassign a reserved IP from a Droplet + * + */ + post: operations["reservedIPsActions_post"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/reserved_ips/{reserved_ip}/actions/{action_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Reserved IP Action + * @description To retrieve the status of a reserved IP action, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`. + */ + get: operations["reservedIPsActions_get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/sizes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Droplet Sizes + * @description To list all of available Droplet sizes, send a GET request to `/v2/sizes`. + * The response will be a JSON object with a key called `sizes`. The value of this will be an array of `size` objects each of which contain the standard size attributes. + */ + get: operations["sizes_list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/snapshots": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Snapshots + * @description To list all of the snapshots available on your account, send a GET request to + * `/v2/snapshots`. + * + * The response will be a JSON object with a key called `snapshots`. This will be + * set to an array of `snapshot` objects, each of which will contain the standard + * snapshot attributes. + * + * ### Filtering Results by Resource Type + * + * It's possible to request filtered results by including certain query parameters. + * + * #### List Droplet Snapshots + * + * To retrieve only snapshots based on Droplets, include the `resource_type` + * query parameter set to `droplet`. For example, `/v2/snapshots?resource_type=droplet`. + * + * #### List Volume Snapshots + * + * To retrieve only snapshots based on volumes, include the `resource_type` + * query parameter set to `volume`. For example, `/v2/snapshots?resource_type=volume`. + * + */ + get: operations["snapshots_list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/snapshots/{snapshot_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Snapshot + * @description To retrieve information about a snapshot, send a GET request to + * `/v2/snapshots/$SNAPSHOT_ID`. + * + * The response will be a JSON object with a key called `snapshot`. The value of + * this will be an snapshot object containing the standard snapshot attributes. + * + */ + get: operations["snapshots_get"]; + put: never; + post: never; + /** + * Delete a Snapshot + * @description Both Droplet and volume snapshots are managed through the `/v2/snapshots/` + * endpoint. To delete a snapshot, send a DELETE request to + * `/v2/snapshots/$SNAPSHOT_ID`. + * + * A status of 204 will be given. This indicates that the request was processed + * successfully, but that no response body is needed. + * + */ + delete: operations["snapshots_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Tags + * @description To list all of your tags, you can send a GET request to `/v2/tags`. + */ + get: operations["tags_list"]; + put: never; + /** + * Create a New Tag + * @description To create a tag you can send a POST request to `/v2/tags` with a `name` attribute. + */ + post: operations["tags_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/tags/{tag_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve a Tag + * @description To retrieve an individual tag, you can send a `GET` request to `/v2/tags/$TAG_NAME`. + */ + get: operations["tags_get"]; + put: never; + post: never; + /** + * Delete a Tag + * @description A tag can be deleted by sending a `DELETE` request to `/v2/tags/$TAG_NAME`. Deleting a tag also untags all the resources that have previously been tagged by the Tag + */ + delete: operations["tags_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/tags/{tag_id}/resources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Tag a Resource + * @description Resources can be tagged by sending a POST request to `/v2/tags/$TAG_NAME/resources` with an array of json objects containing `resource_id` and `resource_type` attributes. + * Currently only tagging of Droplets, Databases, Images, Volumes, and Volume Snapshots is supported. `resource_type` is expected to be the string `droplet`, `database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected to be the ID of the resource as a string. + */ + post: operations["tags_assign_resources"]; + /** + * Untag a Resource + * @description Resources can be untagged by sending a DELETE request to `/v2/tags/$TAG_NAME/resources` with an array of json objects containing `resource_id` and `resource_type` attributes. + * Currently only untagging of Droplets, Databases, Images, Volumes, and Volume Snapshots is supported. `resource_type` is expected to be the string `droplet`, `database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected to be the ID of the resource as a string. + */ + delete: operations["tags_unassign_resources"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/volumes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Block Storage Volumes + * @description To list all of the block storage volumes available on your account, send a GET request to `/v2/volumes`. + * ## Filtering Results + * ### By Region + * The `region` may be provided as query parameter in order to restrict results to volumes available in a specific region. For example: `/v2/volumes?region=nyc1` + * ### By Name + * It is also possible to list volumes on your account that match a specified name. To do so, send a GET request with the volume's name as a query parameter to `/v2/volumes?name=$VOLUME_NAME`. + * **Note:** You can only create one volume per region with the same name. + * ### By Name and Region + * It is also possible to retrieve information about a block storage volume by name. To do so, send a GET request with the volume's name and the region slug for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. + * + * + * + */ + get: operations["volumes_list"]; + put: never; + /** + * Create a New Block Storage Volume + * @description To create a new volume, send a POST request to `/v2/volumes`. Optionally, a `filesystem_type` attribute may be provided in order to automatically format the volume's filesystem. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to Droplets without support for auto-mounting is not recommended. + */ + post: operations["volumes_create"]; + /** + * Delete a Block Storage Volume by Name + * @description Block storage volumes may also be deleted by name by sending a DELETE request with the volume's **name** and the **region slug** for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. + * No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. + * + * + */ + delete: operations["volumes_delete_byName"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/volumes/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Initiate A Block Storage Action By Volume Name + * @description To initiate an action on a block storage volume by Name, send a POST request to + * `~/v2/volumes/actions`. The body should contain the appropriate + * attributes for the respective action. + * + * ## Attach a Block Storage Volume to a Droplet + * + * | Attribute | Details | + * | ----------- | ------------------------------------------------------------------- | + * | type | This must be `attach` | + * | volume_name | The name of the block storage volume | + * | droplet_id | Set to the Droplet's ID | + * | region | Set to the slug representing the region where the volume is located | + * + * Each volume may only be attached to a single Droplet. However, up to five + * volumes may be attached to a Droplet at a time. Pre-formatted volumes will be + * automatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS + * Droplets created on or after April 26, 2018 when attached. On older Droplets, + * [additional configuration](https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-digitalocean-block-storage-volumes-in-linux#mounting-the-filesystems) + * is required. + * + * ## Remove a Block Storage Volume from a Droplet + * + * | Attribute | Details | + * | ----------- | ------------------------------------------------------------------- | + * | type | This must be `detach` | + * | volume_name | The name of the block storage volume | + * | droplet_id | Set to the Droplet's ID | + * | region | Set to the slug representing the region where the volume is located | + * + */ + post: operations["volumeActions_post"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/volumes/snapshots/{snapshot_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Volume Snapshot + * @description To retrieve the details of a snapshot that has been created from a volume, send a GET request to `/v2/volumes/snapshots/$SNAPSHOT_ID`. + * + * + */ + get: operations["volumeSnapshots_get_byId"]; + put: never; + post: never; + /** + * Delete a Volume Snapshot + * @description To delete a volume snapshot, send a DELETE request to + * `/v2/snapshots/$SNAPSHOT_ID`. + * + * A status of 204 will be given. This indicates that the request was processed + * successfully, but that no response body is needed. + * + */ + delete: operations["volumeSnapshots_delete_byId"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/volumes/{volume_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Block Storage Volume + * @description To show information about a block storage volume, send a GET request to `/v2/volumes/$VOLUME_ID`. + * + * + */ + get: operations["volumes_get"]; + put: never; + post: never; + /** + * Delete a Block Storage Volume + * @description To delete a block storage volume, destroying all data and removing it from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`. + * No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. + * + * + */ + delete: operations["volumes_delete"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/volumes/{volume_id}/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Actions for a Volume + * @description To retrieve all actions that have been executed on a volume, send a GET request to `/v2/volumes/$VOLUME_ID/actions`. + * + * + */ + get: operations["volumeActions_list"]; + put: never; + /** + * Initiate A Block Storage Action By Volume Id + * @description To initiate an action on a block storage volume by Id, send a POST request to + * `~/v2/volumes/$VOLUME_ID/actions`. The body should contain the appropriate + * attributes for the respective action. + * + * ## Attach a Block Storage Volume to a Droplet + * + * | Attribute | Details | + * | ---------- | ------------------------------------------------------------------- | + * | type | This must be `attach` | + * | droplet_id | Set to the Droplet's ID | + * | region | Set to the slug representing the region where the volume is located | + * + * Each volume may only be attached to a single Droplet. However, up to seven + * volumes may be attached to a Droplet at a time. Pre-formatted volumes will be + * automatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS + * Droplets created on or after April 26, 2018 when attached. On older Droplets, + * [additional configuration](https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-digitalocean-block-storage-volumes-in-linux#mounting-the-filesystems) + * is required. + * + * ## Remove a Block Storage Volume from a Droplet + * + * | Attribute | Details | + * | ---------- | ------------------------------------------------------------------- | + * | type | This must be `detach` | + * | droplet_id | Set to the Droplet's ID | + * | region | Set to the slug representing the region where the volume is located | + * + * ## Resize a Volume + * + * | Attribute | Details | + * | -------------- | ------------------------------------------------------------------- | + * | type | This must be `resize` | + * | size_gigabytes | The new size of the block storage volume in GiB (1024^3) | + * | region | Set to the slug representing the region where the volume is located | + * + * Volumes may only be resized upwards. The maximum size for a volume is 16TiB. + * + */ + post: operations["volumeActions_post_byId"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/volumes/{volume_id}/actions/{action_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Volume Action + * @description To retrieve the status of a volume action, send a GET request to `/v2/volumes/$VOLUME_ID/actions/$ACTION_ID`. + * + * + */ + get: operations["volumeActions_get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/volumes/{volume_id}/snapshots": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Snapshots for a Volume + * @description To retrieve the snapshots that have been created from a volume, send a GET request to `/v2/volumes/$VOLUME_ID/snapshots`. + * + * + */ + get: operations["volumeSnapshots_list"]; + put: never; + /** + * Create Snapshot from a Volume + * @description To create a snapshot from a volume, sent a POST request to `/v2/volumes/$VOLUME_ID/snapshots`. + */ + post: operations["volumeSnapshots_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/vpcs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All VPCs + * @description To list all of the VPCs on your account, send a GET request to `/v2/vpcs`. + */ + get: operations["vpcs_list"]; + put: never; + /** + * Create a New VPC + * @description To create a VPC, send a POST request to `/v2/vpcs` specifying the attributes + * in the table below in the JSON body. + * + * **Note:** If you do not currently have a VPC network in a specific datacenter + * region, the first one that you create will be set as the default for that + * region. The default VPC for a region cannot be changed or deleted. + * + */ + post: operations["vpcs_create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/vpcs/{vpc_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing VPC + * @description To show information about an existing VPC, send a GET request to `/v2/vpcs/$VPC_ID`. + */ + get: operations["vpcs_get"]; + /** + * Update a VPC + * @description To update information about a VPC, send a PUT request to `/v2/vpcs/$VPC_ID`. + * + */ + put: operations["vpcs_update"]; + post: never; + /** + * Delete a VPC + * @description To delete a VPC, send a DELETE request to `/v2/vpcs/$VPC_ID`. A 204 status + * code with no body will be returned in response to a successful request. + * + * The default VPC for a region can not be deleted. Additionally, a VPC can only + * be deleted if it does not contain any member resources. Attempting to delete + * a region's default VPC or a VPC that still has members will result in a + * 403 Forbidden error response. + * + */ + delete: operations["vpcs_delete"]; + options: never; + head: never; + /** + * Partially Update a VPC + * @description To update a subset of information about a VPC, send a PATCH request to + * `/v2/vpcs/$VPC_ID`. + * + */ + patch: operations["vpcs_patch"]; + trace: never; + }; + "/v2/vpcs/{vpc_id}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List the Member Resources of a VPC + * @description To list all of the resources that are members of a VPC, send a GET request to + * `/v2/vpcs/$VPC_ID/members`. + * + * To only list resources of a specific type that are members of the VPC, + * included a `resource_type` query parameter. For example, to only list Droplets + * in the VPC, send a GET request to `/v2/vpcs/$VPC_ID/members?resource_type=droplet`. + * + */ + get: operations["vpcs_list_members"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/uptime/checks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Checks + * @description To list all of the Uptime checks on your account, send a GET request to `/v2/uptime/checks`. + */ + get: operations["uptime_list_checks"]; + put: never; + /** + * Create a New Check + * @description To create an Uptime check, send a POST request to `/v2/uptime/checks` specifying the attributes + * in the table below in the JSON body. + * + */ + post: operations["uptime_create_check"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/uptime/checks/{check_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Check + * @description To show information about an existing check, send a GET request to `/v2/uptime/checks/$CHECK_ID`. + */ + get: operations["uptime_get_check"]; + /** + * Update a Check + * @description To update the settings of an Uptime check, send a PUT request to `/v2/uptime/checks/$CHECK_ID`. + * + */ + put: operations["uptime_update_check"]; + post: never; + /** + * Delete a Check + * @description To delete an Uptime check, send a DELETE request to `/v2/uptime/checks/$CHECK_ID`. A 204 status + * code with no body will be returned in response to a successful request. + * + * + * Deleting a check will also delete alerts associated with the check. + * + */ + delete: operations["uptime_delete_check"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/uptime/checks/{check_id}/state": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve Check State + * @description To show information about an existing check's state, send a GET request to `/v2/uptime/checks/$CHECK_ID/state`. + */ + get: operations["uptime_get_checkState"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/uptime/checks/{check_id}/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List All Alerts + * @description To list all of the alerts for an Uptime check, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`. + */ + get: operations["uptime_list_alerts"]; + put: never; + /** + * Create a New Alert + * @description To create an Uptime alert, send a POST request to `/v2/uptime/checks/$CHECK_ID/alerts` specifying the attributes + * in the table below in the JSON body. + * + */ + post: operations["uptime_create_alert"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v2/uptime/checks/{check_id}/alerts/{alert_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Retrieve an Existing Alert + * @description To show information about an existing alert, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. + */ + get: operations["uptime_get_alert"]; + /** + * Update an Alert + * @description To update the settings of an Uptime alert, send a PUT request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. + * + */ + put: operations["uptime_update_alert"]; + post: never; + /** + * Delete an Alert + * @description To delete an Uptime alert, send a DELETE request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. A 204 status + * code with no body will be returned in response to a successful request. + * + */ + delete: operations["uptime_delete_alert"]; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + error: { + /** + * @description A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." + * @example not_found + */ + id: string; + /** + * @description A message providing additional information about the error, including details to help resolve it when possible. + * @example The resource you were accessing could not be found. + */ + message: string; + /** + * @description Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + * @example 4d9d8375-3c56-4925-a3e7-eb137fed17e9 + */ + request_id?: string; + }; + oneClicks: { + /** + * slug + * @description The slug identifier for the 1-Click application. + * @example monitoring + */ + slug: string; + /** + * type + * @description The type of the 1-Click application. + * @example kubernetes + */ + type: string; + }; + oneClicks_create: { + /** + * addon_slugs + * @description An array of 1-Click Application slugs to be installed to the Kubernetes cluster. + * @default [] + * @example [ + * "kube-state-metrics", + * "loki" + * ] + */ + addon_slugs: string[]; + /** + * cluster_uuid + * @description A unique ID for the Kubernetes cluster to which the 1-Click Applications will be installed. + * @example 50a994b6-c303-438f-9495-7e896cfe6b08 + */ + cluster_uuid: string; + }; + account: { + /** + * @description The total number of Droplets current user or team may have active at one time. + * @example 25 + */ + droplet_limit: number; + /** + * @description The total number of Floating IPs the current user or team may have. + * @example 5 + */ + floating_ip_limit: number; + /** + * @description The email address used by the current user to register for DigitalOcean. + * @example sammy@digitalocean.com + */ + email: string; + /** + * @description The display name for the current user. + * @example Sammy the Shark + */ + name?: string; + /** + * @description The unique universal identifier for the current user. + * @example b6fr89dbf6d9156cace5f3c78dc9851d957381ef + */ + uuid: string; + /** + * @description If true, the user has verified their account via email. False otherwise. + * @default false + * @example true + */ + email_verified: boolean; + /** + * @description This value is one of "active", "warning" or "locked". + * @default active + * @example active + * @enum {string} + */ + status: "active" | "warning" | "locked"; + /** + * @description A human-readable message giving more details about the status of the account. + * @example + */ + status_message: string; + /** @description When authorized in a team context, includes information about the current team. */ + team?: { + /** + * @description The unique universal identifier for the current team. + * @example 5df3e3004a17e242b7c20ca6c9fc25b701a47ece + */ + uuid?: string; + /** + * @description The name for the current team. + * @example My Team + */ + name?: string; + }; + }; + /** + * @description A unique identification number for this key. Can be used to embed a specific SSH key into a Droplet. + * @example 512189 + */ + ssh_key_id: number; + /** + * @description A unique identifier that differentiates this key from other keys using a format that SSH recognizes. The fingerprint is created when the key is added to your account. + * @example 3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa + */ + ssh_key_fingerprint: string; + /** + * @description A human-readable display name for this key, used to easily identify the SSH keys when they are displayed. + * @example My SSH Public Key + */ + ssh_key_name: string; + sshKeys: { + id?: components["schemas"]["ssh_key_id"]; + fingerprint?: components["schemas"]["ssh_key_fingerprint"]; + /** + * @description The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation. + * @example ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example + */ + public_key: string; + name: components["schemas"]["ssh_key_name"]; + }; + link_to_last_page: { + /** + * @description URI of the last page of the results. + * @example https://api.digitalocean.com/v2/images?page=2 + */ + last?: string; + }; + link_to_next_page: { + /** + * @description URI of the next page of the results. + * @example https://api.digitalocean.com/v2/images?page=2 + */ + next?: string; + }; + forward_links: components["schemas"]["link_to_last_page"] & components["schemas"]["link_to_next_page"]; + link_to_first_page: { + /** + * @description URI of the first page of the results. + * @example https://api.digitalocean.com/v2/images?page=1 + */ + first?: string; + }; + link_to_prev_page: { + /** + * @description URI of the previous page of the results. + * @example https://api.digitalocean.com/v2/images?page=1 + */ + prev?: string; + }; + backward_links: components["schemas"]["link_to_first_page"] & components["schemas"]["link_to_prev_page"]; + page_links: { + /** @example { + * "pages": { + * "first": "https://api.digitalocean.com/v2/account/keys?page=1", + * "prev": "https://api.digitalocean.com/v2/account/keys?page=2" + * } + * } */ + pages?: components["schemas"]["forward_links"] | components["schemas"]["backward_links"] | unknown; + }; + pagination: { + links?: components["schemas"]["page_links"]; + }; + /** @description Information about the response itself. */ + meta_properties: { + /** + * @description Number of objects returned by the request. + * @example 1 + */ + total?: number; + }; + meta: { + meta: components["schemas"]["meta_properties"] & unknown; + }; + region: { + /** + * @description The display name of the region. This will be a full name that is used in the control panel and other interfaces. + * @example New York 3 + */ + name: string; + /** + * @description A human-readable string that is used as a unique identifier for each region. + * @example nyc3 + */ + slug: string; + /** + * @description This attribute is set to an array which contains features available in this region + * @example [ + * "private_networking", + * "backups", + * "ipv6", + * "metadata", + * "install_agent", + * "storage", + * "image_transfer" + * ] + */ + features: unknown; + /** + * @description This is a boolean value that represents whether new Droplets can be created in this region. + * @example true + */ + available: boolean; + /** + * @description This attribute is set to an array which contains the identifying slugs for the sizes available in this region. + * @example [ + * "s-1vcpu-1gb", + * "s-1vcpu-2gb", + * "s-1vcpu-3gb", + * "s-2vcpu-2gb", + * "s-3vcpu-1gb", + * "s-2vcpu-4gb", + * "s-4vcpu-8gb", + * "s-6vcpu-16gb", + * "s-8vcpu-32gb", + * "s-12vcpu-48gb", + * "s-16vcpu-64gb", + * "s-20vcpu-96gb", + * "s-24vcpu-128gb", + * "s-32vcpu-192g" + * ] + */ + sizes: unknown; + }; + /** + * @description A human-readable string that is used as a unique identifier for each region. + * @example nyc3 + */ + slug: string; + action: { + /** + * @description A unique numeric ID that can be used to identify and reference an action. + * @example 36804636 + */ + id?: number; + /** + * @description The current status of the action. This can be "in-progress", "completed", or "errored". + * @default in-progress + * @example completed + * @enum {string} + */ + status: "in-progress" | "completed" | "errored"; + /** + * @description This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. + * @example create + */ + type?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the action was initiated. + * @example 2020-11-14T16:29:21Z + */ + started_at?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the action was completed. + * @example 2020-11-14T16:30:06Z + */ + completed_at?: string | null; + /** + * @description A unique identifier for the resource that the action is associated with. + * @example 3164444 + */ + resource_id?: number | null; + /** + * @description The type of resource that the action is associated with. + * @example droplet + */ + resource_type?: string; + region?: components["schemas"]["region"]; + region_slug?: components["schemas"]["slug"] & (string | null); + }; + apps_deployment_job: { + /** + * The name of this job + * @example migrate-db + */ + name?: string; + /** + * The commit hash of the repository that was used to build this job + * @example 54d4a727f457231062439895000d45437c7bb405 + */ + source_commit_hash?: string; + }; + apps_deployment_functions: { + /** + * The name of this functions component + * @example my-functions-component + */ + name?: string; + /** + * @description The commit hash of the repository that was used to build this functions component. + * @example 54d4a727f457231062439895000d45437c7bb405 + */ + source_commit_hash?: string; + /** + * @description The namespace where the functions are deployed. + * @example ap-b2a93513-8d9b-4223-9d61-5e7272c81c32 + */ + namespace?: string; + }; + /** + * @default UNKNOWN + * @example ACTIVE + * @enum {string} + */ + apps_deployment_phase: "UNKNOWN" | "PENDING_BUILD" | "BUILDING" | "PENDING_DEPLOY" | "DEPLOYING" | "ACTIVE" | "SUPERSEDED" | "ERROR" | "CANCELED"; + apps_deployment_progress_step_reason: { + /** + * The error code + * @example Title of Error + */ + code?: string; + /** + * The error message + * @example This is an error + */ + message?: string; + }; + /** + * @default UNKNOWN + * @example SUCCESS + * @enum {string} + */ + apps_deployment_progress_step_status: "UNKNOWN" | "PENDING" | "RUNNING" | "ERROR" | "SUCCESS"; + /** A step that is run as part of the deployment's lifecycle */ + apps_deployment_progress_step: { + /** + * The component name that this step is associated with + * @example component + */ + component_name?: string; + /** + * The end time of this step + * Format: date-time + * @example 2020-11-19T20:27:18Z + */ + ended_at?: string; + /** + * @description The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: + * + * `message_base` = "Building service" + * `component_name` = "api" + * @example Building service + */ + message_base?: string; + /** + * The name of this step + * @example example_step + */ + name?: string; + reason?: components["schemas"]["apps_deployment_progress_step_reason"]; + /** + * The start time of this step + * Format: date-time + * @example 2020-11-19T20:27:18Z + */ + started_at?: string; + status?: components["schemas"]["apps_deployment_progress_step_status"]; + /** Child steps of this step */ + steps?: Record[]; + }; + apps_deployment_progress: { + /** + * Number of unsuccessful steps + * Format: int32 + * @example 3 + */ + error_steps?: number; + /** + * Number of pending steps + * Format: int32 + * @example 2 + */ + pending_steps?: number; + /** + * Number of currently running steps + * Format: int32 + * @example 2 + */ + running_steps?: number; + /** The deployment's steps */ + steps?: components["schemas"]["apps_deployment_progress_step"][]; + /** + * Number of successful steps + * Format: int32 + * @example 4 + */ + success_steps?: number; + /** A flattened summary of the steps */ + summary_steps?: components["schemas"]["apps_deployment_progress_step"][]; + /** + * Total number of steps + * Format: int32 + * @example 5 + */ + total_steps?: number; + }; + apps_deployment_service: { + /** + * The name of this service + * @example web + */ + name?: string; + /** + * The commit hash of the repository that was used to build this service + * @example 54d4a727f457231062439895000d45437c7bb405 + */ + source_commit_hash?: string; + }; + app_domain_spec: { + /** + * @description The hostname for the domain + * @example app.example.com + */ + domain: string; + /** + * @description - DEFAULT: The default `.ondigitalocean.app` domain assigned to this app + * - PRIMARY: The primary domain for this app that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. + * - ALIAS: A non-primary domain + * @default UNSPECIFIED + * @example DEFAULT + * @enum {string} + */ + type: "UNSPECIFIED" | "DEFAULT" | "PRIMARY" | "ALIAS"; + /** + * @description Indicates whether the domain includes all sub-domains, in addition to the given domain + * @example true + */ + wildcard?: boolean; + /** + * Format: hostname + * @description Optional. If the domain uses DigitalOcean DNS and you would like App + * Platform to automatically manage it for you, set this to the name of the + * domain on your account. + * + * For example, If the domain you are adding is `app.domain.com`, the zone + * could be `domain.com`. + * @example example.com + */ + zone?: string; + /** + * @description The minimum version of TLS a client application can use to access resources for the domain. Must be one of the following values wrapped within quotations: `"1.2"` or `"1.3"`. + * @example 1.3 + * @enum {string} + */ + minimum_tls_version?: "1.2" | "1.3"; + }; + apps_git_source_spec: { + /** + * @description The name of the branch to use + * @example main + */ + branch?: string; + /** + * @description The clone URL of the repo. Example: `https://github.com/digitalocean/sample-golang.git` + * @example https://github.com/digitalocean/sample-golang.git + */ + repo_clone_url?: string; + }; + apps_github_source_spec: { + /** + * @description The name of the branch to use + * @example main + */ + branch?: string; + /** + * @description Whether to automatically deploy new commits made to the repo + * @example true + */ + deploy_on_push?: boolean; + /** + * @description The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang` + * @example digitalocean/sample-golang + */ + repo?: string; + }; + apps_gitlab_source_spec: { + /** + * @description The name of the branch to use + * @example main + */ + branch?: string; + /** + * @description Whether to automatically deploy new commits made to the repo + * @example true + */ + deploy_on_push?: boolean; + /** + * @description The name of the repo in the format owner/repo. Example: `digitalocean/sample-golang` + * @example digitalocean/sample-golang + */ + repo?: string; + }; + apps_image_source_spec: { + /** + * @description The registry name. Must be left empty for the `DOCR` registry type. + * @example registry.hub.docker.com + */ + registry?: string; + /** + * @description - DOCKER_HUB: The DockerHub container registry type. + * - DOCR: The DigitalOcean container registry type. + * @example DOCR + * @enum {string} + */ + registry_type?: "DOCKER_HUB" | "DOCR"; + /** + * @description The repository name. + * @example origin/master + */ + repository?: string; + /** + * @description The repository tag. Defaults to `latest` if not provided. + * @default latest + * @example latest + */ + tag: string; + }; + app_variable_definition: { + /** + * @description The variable name + * @example BASE_URL + */ + key: string; + /** + * @description - RUN_TIME: Made available only at run-time + * - BUILD_TIME: Made available only at build-time + * - RUN_AND_BUILD_TIME: Made available at both build and run-time + * @default RUN_AND_BUILD_TIME + * @example BUILD_TIME + * @enum {string} + */ + scope: "UNSET" | "RUN_TIME" | "BUILD_TIME" | "RUN_AND_BUILD_TIME"; + /** + * @description - GENERAL: A plain-text environment variable + * - SECRET: A secret encrypted environment variable + * @default GENERAL + * @example GENERAL + * @enum {string} + */ + type: "GENERAL" | "SECRET"; + /** + * @description The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. + * @example http://example.com + */ + value?: string; + }; + /** @description Papertrail configuration. */ + app_log_destination_papertrail_spec: { + /** + * @description Papertrail syslog endpoint. + * @example https://mypapertrailendpoint.com + */ + endpoint: string; + }; + /** @description DataDog configuration. */ + app_log_destination_datadog_spec: { + /** + * @description Datadog HTTP log intake endpoint. + * @example https://mydatadogendpoint.com + */ + endpoint?: string; + /** + * @description Datadog API key. + * @example abcdefghijklmnopqrstuvwxyz0123456789 + */ + api_key: string; + }; + /** @description Logtail configuration. */ + app_log_destination_logtail_spec: { + /** + * @description Logtail token. + * @example abcdefghijklmnopqrstuvwxyz0123456789 + */ + token?: string; + }; + /** Configurations for external logging. */ + app_log_destination_definition: { + /** @example my_log_destination */ + name: string; + papertrail?: components["schemas"]["app_log_destination_papertrail_spec"]; + datadog?: components["schemas"]["app_log_destination_datadog_spec"]; + logtail?: components["schemas"]["app_log_destination_logtail_spec"]; + }; + app_component_base: { + /** + * @description The name. Must be unique across all components within the same app. + * @example api + */ + name?: string; + git?: components["schemas"]["apps_git_source_spec"]; + github?: components["schemas"]["apps_github_source_spec"]; + gitlab?: components["schemas"]["apps_gitlab_source_spec"]; + image?: components["schemas"]["apps_image_source_spec"]; + /** + * @description The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. + * @example path/to/Dockerfile + */ + dockerfile_path?: string; + /** + * @description An optional build command to run while building this component from source. + * @example npm run build + */ + build_command?: string; + /** + * @description An optional run command to override the component's default. + * @example bin/api + */ + run_command?: string; + /** + * @description An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + * @example path/to/dir + */ + source_dir?: string; + /** @description A list of environment variables made available to the component. */ + envs?: components["schemas"]["app_variable_definition"][]; + /** + * @description An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/). + * @example node-js + */ + environment_slug?: string; + log_destinations?: components["schemas"]["app_log_destination_definition"]; + }; + app_component_instance_base: { + /** + * Format: int64 + * @description The amount of instances that this component should be scaled to. Default: 1 + * @default 1 + * @example 2 + */ + instance_count: number; + /** + * @description The instance size to use for this component. Default: `basic-xxs` + * @default basic-xxs + * @example basic-xxs + * @enum {string} + */ + instance_size_slug: "basic-xxs" | "basic-xs" | "basic-s" | "basic-m" | "professional-xs" | "professional-s" | "professional-m" | "professional-1l" | "professional-l" | "professional-xl"; + }; + apps_string_match: { + /** + * @description Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. + * @example https://www.example.com + */ + exact?: string; + /** + * @description Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. + * @example https://www.example.com + */ + prefix?: string; + /** + * @description RE2 style regex-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. For more information about RE2 syntax, see: https://github.com/google/re2/wiki/Syntax + * @example ^.*example.com + */ + regex?: string; + }; + apps_cors_policy: { + /** + * @description The set of allowed CORS origins. + * @example [ + * { + * "exact": "https://www.example.com" + * }, + * { + * "regex": "^.*example.com" + * } + * ] + */ + allow_origins?: components["schemas"]["apps_string_match"][]; + /** + * @description The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + * @example [ + * "GET", + * "OPTIONS", + * "POST", + * "PUT", + * "PATCH", + * "DELETE" + * ] + */ + allow_methods?: string[]; + /** + * @description The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + * @example [ + * "Content-Type", + * "X-Custom-Header" + * ] + */ + allow_headers?: string[]; + /** + * @description The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + * @example [ + * "Content-Encoding", + * "X-Custom-Header" + * ] + */ + expose_headers?: string[]; + /** + * @description An optional duration specifying how long browsers can cache the results of a preflight request. This configures the `Access-Control-Max-Age` header. + * @example 5h30m + */ + max_age?: string; + /** + * @description Whether browsers should expose the response to the client-side JavaScript code when the request’s credentials mode is include. This configures the `Access-Control-Allow-Credentials` header. + * @example false + */ + allow_credentials?: boolean; + }; + app_service_spec_health_check: { + /** + * Format: int32 + * @description The number of failed health checks before considered unhealthy. + * @example 2 + */ + failure_threshold?: number; + /** + * Format: int64 + * @description The port on which the health check will be performed. If not set, the health check will be performed on the component's http_port. + * @example 80 + */ + port?: number; + /** + * @description The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. + * @example /health + */ + http_path?: string; + /** + * Format: int32 + * @description The number of seconds to wait before beginning health checks. + * @example 30 + */ + initial_delay_seconds?: number; + /** + * Format: int32 + * @description The number of seconds to wait between health checks. + * @example 60 + */ + period_seconds?: number; + /** + * Format: int32 + * @description The number of successful health checks before considered healthy. + * @example 3 + */ + success_threshold?: number; + /** + * Format: int32 + * @description The number of seconds after which the check times out. + * @example 45 + */ + timeout_seconds?: number; + }; + /** A criterion for routing HTTP traffic to a component. */ + app_route_spec: { + /** + * @description An HTTP path prefix. Paths must start with / and must be unique across all components within an app. + * @example /api + */ + path?: string; + /** + * @description An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. + * @example true + */ + preserve_path_prefix?: boolean; + }; + app_service_spec: components["schemas"]["app_component_base"] & components["schemas"]["app_component_instance_base"] & { + cors?: components["schemas"]["apps_cors_policy"]; + health_check?: components["schemas"]["app_service_spec_health_check"]; + /** + * Format: int64 + * @description The internal port on which this service's run command will listen. Default: 8080 + * If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. + * @example 3000 + */ + http_port?: number; + /** + * @description The ports on which this service will listen for internal traffic. + * @example [ + * 80, + * 443 + * ] + */ + internal_ports?: number[]; + /** @description A list of HTTP routes that should be routed to this component. */ + routes?: components["schemas"]["app_route_spec"][]; + }; + app_static_site_spec: WithRequired; + app_job_spec: components["schemas"]["app_component_base"] & components["schemas"]["app_component_instance_base"] & { + /** + * @description - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. + * - PRE_DEPLOY: Indicates a job that runs before an app deployment. + * - POST_DEPLOY: Indicates a job that runs after an app deployment. + * - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy. + * @default UNSPECIFIED + * @example PRE_DEPLOY + * @enum {string} + */ + kind: "UNSPECIFIED" | "PRE_DEPLOY" | "POST_DEPLOY" | "FAILED_DEPLOY"; + }; + app_worker_spec: WithRequired; + /** + * @default UNSPECIFIED_RULE + * @example CPU_UTILIZATION + * @enum {string} + */ + app_alert_spec_rule: "UNSPECIFIED_RULE" | "CPU_UTILIZATION" | "MEM_UTILIZATION" | "RESTART_COUNT" | "DEPLOYMENT_FAILED" | "DEPLOYMENT_LIVE" | "DOMAIN_FAILED" | "DOMAIN_LIVE" | "FUNCTIONS_ACTIVATION_COUNT" | "FUNCTIONS_AVERAGE_DURATION_MS" | "FUNCTIONS_ERROR_RATE_PER_MINUTE" | "FUNCTIONS_AVERAGE_WAIT_TIME_MS" | "FUNCTIONS_ERROR_COUNT" | "FUNCTIONS_GB_RATE_PER_SECOND"; + /** + * @default UNSPECIFIED_OPERATOR + * @example GREATER_THAN + * @enum {string} + */ + app_alert_spec_operator: "UNSPECIFIED_OPERATOR" | "GREATER_THAN" | "LESS_THAN"; + /** + * @default UNSPECIFIED_WINDOW + * @example FIVE_MINUTES + * @enum {string} + */ + app_alert_spec_window: "UNSPECIFIED_WINDOW" | "FIVE_MINUTES" | "TEN_MINUTES" | "THIRTY_MINUTES" | "ONE_HOUR"; + app_alert_spec: { + rule?: components["schemas"]["app_alert_spec_rule"]; + /** + * @description Is the alert disabled? + * @example false + */ + disabled?: boolean; + operator?: components["schemas"]["app_alert_spec_operator"]; + /** + * Format: float + * @description Threshold value for alert + * @example 2.32 + */ + value?: number; + window?: components["schemas"]["app_alert_spec_window"]; + }; + app_functions_spec: { + cors?: components["schemas"]["apps_cors_policy"]; + /** @description A list of HTTP routes that should be routed to this component. */ + routes?: components["schemas"]["app_route_spec"][]; + /** + * @description The name. Must be unique across all components within the same app. + * @example api + */ + name: string; + /** + * @description An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. + * @example path/to/dir + */ + source_dir?: string; + alerts?: components["schemas"]["app_alert_spec"][]; + /** @description A list of environment variables made available to the component. */ + envs?: components["schemas"]["app_variable_definition"][]; + git?: components["schemas"]["apps_git_source_spec"]; + github?: components["schemas"]["apps_github_source_spec"]; + gitlab?: components["schemas"]["apps_gitlab_source_spec"]; + log_destinations?: components["schemas"]["app_log_destination_definition"]; + }; + app_database_spec: { + /** + * @description The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. + * @example cluster_name + */ + cluster_name?: string; + /** + * @description The name of the MySQL or PostgreSQL database to configure. + * @example my_db + */ + db_name?: string; + /** + * @description The name of the MySQL or PostgreSQL user to configure. + * @example superuser + */ + db_user?: string; + /** + * @description - MYSQL: MySQL + * - PG: PostgreSQL + * - REDIS: Redis + * @default UNSET + * @example PG + * @enum {string} + */ + engine: "UNSET" | "MYSQL" | "PG" | "REDIS"; + /** + * @description The name. Must be unique across all components within the same app. + * @example prod-db + */ + name: string; + /** + * @description Whether this is a production or dev database. + * @example true + */ + production?: boolean; + /** + * @description The version of the database engine + * @example 12 + */ + version?: string; + }; + /** @description The path to match on. */ + app_ingress_spec_rule_string_match: { + /** + * @description Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`. + * @example /api + */ + prefix: string; + }; + /** @description The match configuration for the rule. */ + app_ingress_spec_rule_match: { + path: components["schemas"]["app_ingress_spec_rule_string_match"]; + }; + /** @description The component to route to. Only one of `component` or `redirect` may be set. */ + app_ingress_spec_rule_routing_component: { + /** + * @description The name of the component to route to. + * @example web + */ + name: string; + /** + * @description An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`. + * @example true + */ + preserve_path_prefix?: string; + /** + * @description An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`. + * @example /api/v1/ + */ + rewrite?: string; + }; + /** @description The redirect configuration for the rule. Only one of `component` or `redirect` may be set. */ + app_ingress_spec_rule_routing_redirect: { + /** + * @description An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched. + * @example /about + */ + uri?: string; + /** + * @description The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port. + * @example example.com + */ + authority?: string; + /** + * Format: int64 + * @description The port to redirect to. + * @example 443 + */ + port?: number; + /** + * @description The scheme to redirect to. Supported values are `http` or `https`. Default: `https`. + * @example https + */ + scheme?: string; + /** + * Format: int64 + * @description The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308. + * @example 302 + */ + redirect_code?: number; + }; + app_ingress_spec_rule: { + match?: components["schemas"]["app_ingress_spec_rule_match"]; + cors?: components["schemas"]["apps_cors_policy"]; + component?: components["schemas"]["app_ingress_spec_rule_routing_component"]; + redirect?: components["schemas"]["app_ingress_spec_rule_routing_redirect"]; + }; + /** @description Specification for app ingress configurations. */ + app_ingress_spec: { + /** @description Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects. */ + rules?: components["schemas"]["app_ingress_spec_rule"][]; + }; + /** + * AppSpec + * @description The desired configuration of an application. + */ + app_spec: { + /** + * @description The name of the app. Must be unique across all apps in the same account. + * @example web-app-01 + */ + name: string; + /** + * @description The slug form of the geographical origin of the app. Default: `nearest available` + * @example nyc + * @enum {string} + */ + region?: "ams" | "nyc" | "fra" | "sfo" | "sgp" | "blr" | "tor" | "lon" | "syd"; + /** @description A set of hostnames where the application will be available. */ + domains?: components["schemas"]["app_domain_spec"][]; + /** @description Workloads which expose publicly-accessible HTTP services. */ + services?: components["schemas"]["app_service_spec"][]; + /** @description Content which can be rendered to static web assets. */ + static_sites?: components["schemas"]["app_static_site_spec"][]; + /** @description Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. */ + jobs?: components["schemas"]["app_job_spec"][]; + /** @description Workloads which do not expose publicly-accessible HTTP services. */ + workers?: components["schemas"]["app_worker_spec"][]; + /** @description Workloads which expose publicly-accessible HTTP services via Functions Components. */ + functions?: components["schemas"]["app_functions_spec"][]; + /** @description Database instances which can provide persistence to workloads within the + * application. */ + databases?: components["schemas"]["app_database_spec"][]; + ingress?: components["schemas"]["app_ingress_spec"]; + }; + apps_deployment_static_site: { + /** + * The name of this static site + * @example web + */ + name?: string; + /** + * The commit hash of the repository that was used to build this static site + * @example 54d4a727f457231062439895000d45437c7bb405 + */ + source_commit_hash?: string; + }; + apps_deployment_worker: { + /** + * The name of this worker + * @example queue-runner + */ + name?: string; + /** + * The commit hash of the repository that was used to build this worker + * @example 54d4a727f457231062439895000d45437c7bb405 + */ + source_commit_hash?: string; + }; + /** An app deployment */ + apps_deployment: { + /** + * What caused this deployment to be created + * @example commit 9a4df0b pushed to github/digitalocean/sample-golang + */ + cause?: string; + /** + * The ID of a previous deployment that this deployment was cloned from + * @example 3aa4d20e-5527-4c00-b496-601fbd22520a + */ + cloned_from?: string; + /** + * The creation time of the deployment + * Format: date-time + * @example 2020-07-28T18:00:00Z + */ + created_at?: string; + /** + * The ID of the deployment + * @example b6bdf840-2854-4f87-a36c-5f231c617c84 + */ + id?: string; + /** Job components that are part of this deployment */ + jobs?: components["schemas"]["apps_deployment_job"][]; + /** Functions components that are part of this deployment */ + functions?: components["schemas"]["apps_deployment_functions"][]; + phase?: components["schemas"]["apps_deployment_phase"]; + /** + * When the deployment phase was last updated + * Format: date-time + * @example 0001-01-01T00:00:00Z + */ + phase_last_updated_at?: string; + progress?: components["schemas"]["apps_deployment_progress"]; + /** Service components that are part of this deployment */ + services?: components["schemas"]["apps_deployment_service"][]; + spec?: components["schemas"]["app_spec"]; + /** Static Site components that are part of this deployment */ + static_sites?: components["schemas"]["apps_deployment_static_site"][]; + /** + * The current pricing tier slug of the deployment + * @example basic + */ + readonly tier_slug?: string; + /** + * When the deployment was last updated + * Format: date-time + * @example 2020-07-28T18:00:00Z + */ + updated_at?: string; + /** Worker components that are part of this deployment */ + workers?: components["schemas"]["apps_deployment_worker"][]; + }; + /** + * @default UNKNOWN + * @example ACTIVE + * @enum {string} + */ + apps_domain_phase: "UNKNOWN" | "PENDING" | "CONFIGURING" | "ACTIVE" | "ERROR"; + apps_domain_progress: { + /** The steps of the domain's progress */ + steps?: Record[]; + }; + app_domain_validation: { + /** + * TXT record name + * @example _acme-challenge.app.example.com + */ + readonly txt_name?: string; + /** + * TXT record value + * @example lXLOcN6cPv0nproViNcUHcahD9TrIPlNgdwesj0pYpk + */ + readonly txt_value?: string; + }; + apps_domain: { + /** + * The ID of the domain + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + id?: string; + phase?: components["schemas"]["apps_domain_phase"]; + progress?: components["schemas"]["apps_domain_progress"]; + spec?: components["schemas"]["app_domain_spec"]; + /** List of TXT validation records */ + validations?: components["schemas"]["app_domain_validation"][]; + /** Validation values have changed and require manual intervention */ + readonly rotate_validation_records?: boolean; + /** + * Current SSL certificate expiration time + * Format: date-time + * @example 2024-01-29T23:59:59Z + */ + readonly certificate_expires_at?: string; + }; + /** Geographical information about an app origin */ + apps_region: { + /** + * The continent that this region is in + * @example europe + */ + readonly continent?: string; + /** + * Data centers that are in this region + * @example [ + * "ams" + * ] + */ + readonly data_centers?: string[]; + /** + * @description Whether or not the region is presented as the default. + * @example true + */ + readonly default?: boolean; + /** + * Whether or not the region is open for new apps + * @example true + */ + readonly disabled?: boolean; + /** + * The flag of this region + * @example ams + */ + readonly flag?: string; + /** + * A human-readable name of the region + * @example ams + */ + readonly label?: string; + /** + * Reason that this region is not available + * @example to crowded + */ + readonly reason?: string; + /** + * The slug form of the region name + * @example basic + */ + readonly slug?: string; + }; + /** @description An application's configuration and status. */ + app: { + active_deployment?: components["schemas"]["apps_deployment"]; + /** + * The creation time of the app + * Format: date-time + * @example 2020-11-19T20:27:18Z + */ + readonly created_at?: string; + /** + * The default hostname on which the app is accessible + * @example digitalocean.com + */ + readonly default_ingress?: string; + /** Contains all domains for the app */ + readonly domains?: components["schemas"]["apps_domain"][]; + /** + * The ID of the application + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + readonly id?: string; + in_progress_deployment?: components["schemas"]["apps_deployment"]; + /** + * The creation time of the last deployment + * Format: date-time + * @example 2020-11-19T20:27:18Z + */ + readonly last_deployment_created_at?: string; + /** + * The live domain of the app + * @example live_domain + */ + readonly live_domain?: string; + /** + * The live URL of the app + * @example google.com + */ + readonly live_url?: string; + /** + * The live URL base of the app, the URL excluding the path + * @example digitalocean.com + */ + readonly live_url_base?: string; + /** + * The ID of the account to which the application belongs + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + readonly owner_uuid?: string; + pending_deployment?: unknown & components["schemas"]["apps_deployment"]; + /** + * The ID of the project the app is assigned to. This will be empty if there is a lookup failure. + * @example 88b72d1a-b78a-4d9f-9090-b53c4399073f + */ + readonly project_id?: string; + region?: components["schemas"]["apps_region"]; + spec: components["schemas"]["app_spec"]; + /** + * The current pricing tier slug of the app + * @example basic + */ + readonly tier_slug?: string; + /** + * Time of the app's last configuration update + * Format: date-time + * @example 2020-12-01T00:42:16Z + */ + readonly updated_at?: string; + pinned_deployment?: unknown & components["schemas"]["apps_deployment"]; + }; + apps_response: { + /** A list of apps */ + apps?: components["schemas"]["app"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + apps_create_app_request: { + spec: components["schemas"]["app_spec"]; + /** @description The ID of the project the app should be assigned to. If omitted, it will be assigned to your default project. */ + project_id?: string; + }; + app_response: { + app?: components["schemas"]["app"]; + }; + apps_update_app_request: { + spec: components["schemas"]["app_spec"]; + }; + apps_delete_app_response: { + /** + * The ID of the app that was deleted + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + id?: string; + }; + apps_get_logs_response: { + /** A list of URLs to archived log files */ + historic_urls?: string[]; + /** + * @description A URL of the real-time live logs. This URL may use either the `https://` or `wss://` protocols and will keep pushing live logs as they become available. + * @example ws://logs/build + */ + live_url?: string; + }; + apps_deployments_response: { + /** A list of deployments */ + deployments?: components["schemas"]["apps_deployment"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + apps_create_deployment_request: { + /** + * Indicates whether to force a build of app from source even if an existing cached build is suitable for re-use + * @example true + */ + force_build?: boolean; + }; + apps_deployment_response: { + deployment?: components["schemas"]["apps_deployment"]; + }; + apps_tier: { + /** + * The amount of included build time in seconds + * Format: int64 + * @example 233 + */ + build_seconds?: string; + /** + * The amount of included outbound bandwidth in bytes + * Format: int64 + * @example 123 + */ + egress_bandwidth_bytes?: string; + /** + * A human-readable name of the tier + * @example test + */ + name?: string; + /** + * The slug of the tier + * @example test + */ + slug?: string; + /** + * The allotted disk space in bytes + * Format: int64 + * @example 10000000 + */ + storage_bytes?: string; + }; + apps_list_tiers_response: { + tiers?: components["schemas"]["apps_tier"][]; + }; + apps_get_tier_response: { + tier?: components["schemas"]["apps_tier"]; + }; + /** + * - SHARED: Shared vCPU cores + * - DEDICATED: Dedicated vCPU cores + * @default UNSPECIFIED + * @example SHARED + * @enum {string} + */ + instance_size_cpu_type: "UNSPECIFIED" | "SHARED" | "DEDICATED"; + apps_instance_size: { + cpu_type?: components["schemas"]["instance_size_cpu_type"]; + /** + * The number of allotted vCPU cores + * Format: int64 + * @example 3 + */ + cpus?: string; + /** + * The allotted memory in bytes + * Format: int64 + * @example 1048 + */ + memory_bytes?: string; + /** + * A human-readable name of the instance size + * @example name + */ + name?: string; + /** + * The slug of the instance size + * @example basic + */ + slug?: string; + /** + * The slug of the corresponding downgradable instance size on the lower tier + * @example basic + */ + tier_downgrade_to?: string; + /** + * The slug of the tier to which this instance size belongs + * @example basic + */ + tier_slug?: string; + /** + * The slug of the corresponding upgradable instance size on the higher tier + * @example basic + */ + tier_upgrade_to?: string; + /** + * The cost of this instance size in USD per month + * @example 23 + */ + usd_per_month?: string; + /** + * The cost of this instance size in USD per second + * @example 0.00000001232 + */ + usd_per_second?: string; + }; + apps_list_instance_sizes_response: { + /** + * Format: float + * @example 2.32 + */ + discount_percent?: number; + instance_sizes?: components["schemas"]["apps_instance_size"][]; + }; + apps_get_instance_size_response: { + instance_size?: components["schemas"]["apps_instance_size"]; + }; + apps_list_regions_response: { + regions?: components["schemas"]["apps_region"][]; + }; + app_propose: { + spec: components["schemas"]["app_spec"]; + /** + * @description An optional ID of an existing app. If set, the spec will be treated as a proposed update to the specified app. The existing app is not modified using this method. + * @example b6bdf840-2854-4f87-a36c-5f231c617c84 + */ + app_id?: string; + }; + app_propose_response: { + /** + * @description Indicates whether the app is a static app. + * @example true + */ + app_is_static?: boolean; + /** + * @description Indicates whether the app name is available. + * @example true + */ + app_name_available?: boolean; + /** + * @description The suggested name if the proposed app name is unavailable. + * @example newName + */ + app_name_suggestion?: string; + /** + * @description The maximum number of free static apps the account can have. We will charge you for any additional static apps. + * @example 2 + */ + existing_static_apps?: string; + spec?: components["schemas"]["app_spec"]; + /** + * Format: int32 + * @description The monthly cost of the proposed app in USD using the next pricing plan tier. For example, if you propose an app that uses the Basic tier, the `app_tier_upgrade_cost` field displays the monthly cost of the app if it were to use the Professional tier. If the proposed app already uses the most expensive tier, the field is empty. + * @example 5 + */ + app_cost?: number; + /** + * Format: int32 + * @description The monthly cost of the proposed app in USD using the previous pricing plan tier. For example, if you propose an app that uses the Professional tier, the `app_tier_downgrade_cost` field displays the monthly cost of the app if it were to use the Basic tier. If the proposed app already uses the lest expensive tier, the field is empty. + * @example 17 + */ + app_tier_downgrade_cost?: number; + }; + /** + * @default + * @example sammy@digitalocean.com + */ + app_alert_email: string; + app_alert_slack_webhook: { + /** + * URL of the Slack webhook + * @example https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX + */ + url?: string; + /** + * Name of the Slack Webhook Channel + * @example Channel Name + */ + channel?: string; + }; + /** + * @default UNKNOWN + * @example ACTIVE + * @enum {string} + */ + app_alert_phase: "UNKNOWN" | "PENDING" | "CONFIGURING" | "ACTIVE" | "ERROR"; + /** + * @default UNKNOWN + * @example SUCCESS + * @enum {string} + */ + app_alert_progress_step_status: "UNKNOWN" | "PENDING" | "RUNNING" | "ERROR" | "SUCCESS"; + app_alert_progress_step_reason: { + /** + * The error code + * @example Title of Error + */ + code?: string; + /** + * The error message + * @example This is an error + */ + message?: string; + }; + app_alert_progress_step: { + /** + * The name of this step + * @example example_step + */ + name?: string; + status?: components["schemas"]["app_alert_progress_step_status"]; + /** + * The start time of this step + * Format: date-time + * @example 2020-11-19T20:27:18Z + */ + started_at?: string; + /** + * The start time of this step + * Format: date-time + * @example 2020-11-19T20:27:18Z + */ + ended_at?: string; + reason?: components["schemas"]["app_alert_progress_step_reason"]; + }; + app_alert_progress: { + /** Steps of an alert's progress. */ + steps?: components["schemas"]["app_alert_progress_step"][]; + }; + app_alert: { + /** + * The ID of the alert + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + readonly id?: string; + /** + * Name of component the alert belongs to + * @example backend + */ + component_name?: string; + spec?: components["schemas"]["app_alert_spec"]; + /** + * Emails for alerts to go to + * @example [ + * "sammy@digitalocean.com" + * ] + */ + emails?: components["schemas"]["app_alert_email"][]; + /** Slack Webhooks to send alerts to */ + slack_webhooks?: components["schemas"]["app_alert_slack_webhook"][]; + phase?: components["schemas"]["app_alert_phase"]; + progress?: components["schemas"]["app_alert_progress"]; + }; + apps_list_alerts_response: { + alerts?: components["schemas"]["app_alert"][]; + }; + apps_assign_app_alert_destinations_request: { + /** @example [ + * "sammy@digitalocean.com" + * ] */ + emails?: components["schemas"]["app_alert_email"][]; + slack_webhooks?: components["schemas"]["app_alert_slack_webhook"][]; + }; + apps_alert_response: { + alert?: components["schemas"]["app_alert"]; + }; + apps_rollback_app_request: { + /** + * @description The ID of the deployment to rollback to. + * @example 3aa4d20e-5527-4c00-b496-601fbd22520a + */ + deployment_id?: string; + /** + * @description Whether to skip pinning the rollback deployment. If false, the rollback deployment will be pinned and any new deployments including Auto Deploy on Push hooks will be disabled until the rollback is either manually committed or reverted via the CommitAppRollback or RevertAppRollback endpoints respectively. If true, the rollback will be immediately committed and the app will remain unpinned. + * @example false + */ + skip_pin?: boolean; + }; + app_rollback_validation_condition: { + /** + * @description A code identifier that represents the failing condition. + * + * Failing conditions: + * - `incompatible_phase` - indicates that the deployment's phase is not suitable for rollback. + * - `incompatible_result` - indicates that the deployment's result is not suitable for rollback. + * - `exceeded_revision_limit` - indicates that the app has exceeded the rollback revision limits for its tier. + * - `app_pinned` - indicates that there is already a rollback in progress and the app is pinned. + * - `database_config_conflict` - indicates that the deployment's database config is different than the current config. + * - `region_conflict` - indicates that the deployment's region differs from the current app region. + * + * Warning conditions: + * - `static_site_requires_rebuild` - indicates that the deployment contains at least one static site that will require a rebuild. + * - `image_source_missing_digest` - indicates that the deployment contains at least one component with an image source that is missing a digest. + * + * @example exceeded_revision_limit + * @enum {string} + */ + code?: "incompatible_phase" | "incompatible_result" | "exceeded_revision_limit" | "app_pinned" | "database_config_conflict" | "region_conflict" | "static_site_requires_rebuild" | "image_source_missing_digest"; + /** + * @description A human-readable message describing the failing condition. + * @example the deployment is past the maximum historical revision limit of 0 for the "starter" app tier + */ + message?: string; + /** @example [ + * "www" + * ] */ + components?: string[]; + }; + /** @description Bandwidth usage for an app. */ + app_metrics_bandwidth_usage_details: { + /** + * @description The ID of the app. + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id?: string; + /** + * Format: uint64 + * @description The used bandwidth amount in bytes. + * @example 513668 + */ + bandwidth_bytes?: string; + }; + app_metrics_bandwidth_usage: { + /** @description A list of bandwidth usage details by app. */ + app_bandwidth_usage?: components["schemas"]["app_metrics_bandwidth_usage_details"][]; + /** + * Format: date-time + * @description The date for the metrics data. + * @example 2023-01-17T00:00:00Z + */ + date?: string; + }; + app_metrics_bandwidth_usage_request: { + /** + * @description A list of app IDs to query bandwidth metrics for. + * @example [ + * "4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf", + * "c2a93513-8d9b-4223-9d61-5e7272c81cf5" + * ] + */ + app_ids: string[]; + /** + * Format: date-time + * @description Optional day to query. Only the date component of the timestamp will be considered. Default: yesterday. + * @example 2023-01-17T00:00:00Z + */ + date?: string; + }; + cdn_endpoint: { + /** + * Format: uuid + * @description A unique ID that can be used to identify and reference a CDN endpoint. + * @example 892071a0-bb95-49bc-8021-3afd67a210bf + */ + readonly id?: string; + /** + * Format: hostname + * @description The fully qualified domain name (FQDN) for the origin server which provides the content for the CDN. This is currently restricted to a Space. + * @example static-images.nyc3.digitaloceanspaces.com + */ + origin: string; + /** + * Format: hostname + * @description The fully qualified domain name (FQDN) from which the CDN-backed content is served. + * @example static-images.nyc3.cdn.digitaloceanspaces.com + */ + readonly endpoint?: string; + /** + * @description The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded. + * @default 3600 + * @example 3600 + * @enum {integer} + */ + ttl: 60 | 600 | 3600 | 86400 | 604800; + /** + * Format: uuid + * @description The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided. + * @example 892071a0-bb95-49bc-8021-3afd67a210bf + */ + certificate_id?: string; + /** + * Format: hostname + * @description The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint. + * @example static.example.com + */ + custom_domain?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the CDN endpoint was created. + * @example 2018-03-21T16:02:37Z + */ + readonly created_at?: string; + }; + update_endpoint: { + /** + * @description The amount of time the content is cached by the CDN's edge servers in seconds. TTL must be one of 60, 600, 3600, 86400, or 604800. Defaults to 3600 (one hour) when excluded. + * @default 3600 + * @example 3600 + * @enum {integer} + */ + ttl: 60 | 600 | 3600 | 86400 | 604800; + /** + * Format: uuid + * @description The ID of a DigitalOcean managed TLS certificate used for SSL when a custom subdomain is provided. + * @example 892071a0-bb95-49bc-8021-3afd67a210bf + */ + certificate_id?: string; + /** + * Format: hostname + * @description The fully qualified domain name (FQDN) of the custom subdomain used with the CDN endpoint. + * @example static.example.com + */ + custom_domain?: string; + }; + purge_cache: { + /** + * @description An array of strings containing the path to the content to be purged from the CDN cache. + * @example [ + * "path/to/image.png", + * "path/to/css/*" + * ] + */ + files: string[]; + }; + certificate: { + /** + * Format: uuid + * @description A unique ID that can be used to identify and reference a certificate. + * @example 892071a0-bb95-49bc-8021-3afd67a210bf + */ + readonly id?: string; + /** + * @description A unique human-readable name referring to a certificate. + * @example web-cert-01 + */ + name?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents the certificate's expiration date. + * @example 2017-02-22T00:23:00Z + */ + readonly not_after?: string; + /** + * @description A unique identifier generated from the SHA-1 fingerprint of the certificate. + * @example dfcc9f57d86bf58e321c2c6c31c7a971be244ac7 + */ + readonly sha1_fingerprint?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the certificate was created. + * @example 2017-02-08T16:02:37Z + */ + readonly created_at?: string; + /** + * @description An array of fully qualified domain names (FQDNs) for which the certificate was issued. + * @example [ + * "www.example.com", + * "example.com" + * ] + */ + dns_names?: string[]; + /** + * @description A string representing the current state of the certificate. It may be `pending`, `verified`, or `error`. + * @example verified + * @enum {string} + */ + readonly state?: "pending" | "verified" | "error"; + /** + * @description A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. + * @example lets_encrypt + * @enum {string} + */ + type?: "custom" | "lets_encrypt"; + }; + certificate_create_base: { + /** + * @description A unique human-readable name referring to a certificate. + * @example web-cert-01 + */ + name: string; + /** + * @description A string representing the type of the certificate. The value will be `custom` for a user-uploaded certificate or `lets_encrypt` for one automatically generated with Let's Encrypt. + * @example lets_encrypt + * @enum {string} + */ + type?: "custom" | "lets_encrypt"; + }; + /** Let's Encrypt Certificate Request */ + certificate_request_lets_encrypt: components["schemas"]["certificate_create_base"] & { + /** + * @description An array of fully qualified domain names (FQDNs) for which the certificate was issued. A certificate covering all subdomains can be issued using a wildcard (e.g. `*.example.com`). + * @example [ + * "www.example.com", + * "example.com" + * ] + */ + dns_names: string[]; + }; + /** Custom Certificate Request */ + certificate_request_custom: components["schemas"]["certificate_create_base"] & { + /** + * @description The contents of a PEM-formatted private-key corresponding to the SSL certificate. + * @example -----BEGIN PRIVATE KEY----- + * MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBIZMz8pnK6V52 + * SVf+CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1 + * DwGb8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86X + * wrE4oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3w + * Z2mzZ03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1F + * ZRnak/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFX + * fqqbQwuRAgMBAAECggEBAILLmkW0JzOkmLTDNzR0giyRkLoIROqDpfLtjKdwm95l + * 9NUBJcU4vCvXQITKt/NhtnNTexcowg8pInb0ksJpg3UGE+4oMNBXVi2UW5MQZ5cm + * cVkQqgXkBF2YAY8FMaB6EML+0En2+dGR/3gIAr221xsFiXe1kHbB8Nb2c/d5HpFt + * eRpLVJnK+TxSr78PcZA8DDGlSgwvgimdAaFUNO2OqB9/0E9UPyKk2ycdff/Z6ldF + * 0hkCLtdYTTl8Kf/OwjcuTgmA2O3Y8/CoQX/L+oP9Rvt9pWCEfuebiOmHJVPO6Y6x + * gtQVEXwmF1pDHH4Qtz/e6UZTdYeMl9G4aNO2CawwcaYECgYEA57imgSOG4XsJLRh + * GGncV9R/xhy4AbDWLtAMzQRX4ktvKCaHWyQV2XK2we/cu29NLv2Y89WmerTNPOU+ + * P8+pB31uty2ELySVn15QhKpQClVEAlxCnnNjXYrii5LOM80+lVmxvQwxVd8Yz8nj + * IntyioXNBEnYS7V2RxxFGgFun1cCgYEA1V3W+Uyamhq8JS5EY0FhyGcXdHd70K49 + * W1ou7McIpncf9tM9acLS1hkI98rd2T69Zo8mKoV1V2hjFaKUYfNys6tTkYWeZCcJ + * 3rW44j9DTD+FmmjcX6b8DzfybGLehfNbCw6n67/r45DXIV/fk6XZfkx6IEGO4ODt + * Nfnvx4TuI1cCgYBACDiKqwSUvmkUuweOo4IuCxyb5Ee8v98P5JIE/VRDxlCbKbpx + * pxEam6aBBQVcDi+n8o0H3WjjlKc6UqbW/01YMoMrvzotxNBLz8Y0QtQHZvR6KoCG + * RKCKstxTcWflzKuknbqN4RapAhNbKBDJ8PMSWfyDWNyaXzSmBdvaidbF1QKBgDI0 + * o4oD0Xkjg1QIYAUu9FBQmb9JAjRnW36saNBEQS/SZg4RRKknM683MtoDvVIKJk0E + * sAlfX+4SXQZRPDMUMtA+Jyrd0xhj6zmhbwClvDMr20crF3fWdgcqtft1BEFmsuyW + * JUMe5OWmRkjPI2+9ncDPRAllA7a8lnSV/Crph5N/AoGBAIK249temKrGe9pmsmAo + * QbNuYSmwpnMoAqdHTrl70HEmK7ob6SIVmsR8QFAkH7xkYZc4Bxbx4h1bdpozGB+/ + * AangbiaYJcAOD1QyfiFbflvI1RFeHgrk7VIafeSeQv6qu0LLMi2zUbpgVzxt78Wg + * eTuK2xNR0PIM8OI7pRpgyj1I + * -----END PRIVATE KEY----- + */ + private_key: string; + /** + * @description The contents of a PEM-formatted public SSL certificate. + * @example -----BEGIN CERTIFICATE----- + * MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + * MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + * ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + * NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + * b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz8pnK6V52SVf+ + * CYssOfCQHAx5f0Ou5rYbq3xNh8VWHIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + * 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + * oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + * Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + * k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + * QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + * BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + * MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + * CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + * dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + * ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + * Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgWrgeYGCysGAQQBgt8TAQEBMIHW + * MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + * BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + * cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + * dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNl + * bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + * PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + * iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + * D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL9p+UIY39X0dV3WOboW2Re8nrkFXJ7 + * q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + * WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + * UlF1zblDmg2Iaw== + * -----END CERTIFICATE----- + */ + leaf_certificate: string; + /** + * @description The full PEM-formatted trust chain between the certificate authority's certificate and your domain's SSL certificate. + * @example -----BEGIN CERTIFICATE----- + * MIIFFjCCA/6gAwIBAgISA0AznUJmXhu08/89ZuSPC/kRMA0GCSqGSIb3DQEBCwUA + * MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD + * ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNjExMjQwMDIzMDBaFw0x + * NzAyMjIwMDIzMDBaMCQxIjAgBgNVBAMTGWNsb3VkLmFuZHJld3NvbWV0aGluZy5j + * b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBIZMz7tnK6V52SVf+ + * CYssOfCQHAx5f0Ou5rYbq3xNh8VHAIYJCQ1QxQIxKSP6+uODSYrb2KWyurP1DwGb + * 8OYm0J3syEDtCUQik1cpCzpeNlAZ2f8FzXyYQAqPopxdRpsFz8DtZnVvu86XwrE4 + * oFPl9MReICmZfBNWylpV5qgFPoXyJ70ZAsTm3cEe3n+LBXEnY4YrVDRWxA3wZ2mz + * Z03HZ1hHrxK9CMnS829U+8sK+UneZpCO7yLRPuxwhmps0wpK/YuZZfRAKF1FZRna + * k/SIQ28rnWufmdg16YqqHgl5JOgnb3aslKRvL4dI2Gwnkd2IHtpZnTR0gxFXfqqb + * QwuRAgMBAAGjggIaMIICFjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB + * BQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFLsAFcxAhFX1 + * MbCnzr9hEO5rL4jqMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAG + * CCsGAQUFBwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgzLmxl + * dHNlbmNyeXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5s + * ZXRzZW5jcnlwdC5vcmcvMCQGA1UdEQQdMBuCGWNsb3VkLmFuZHJld3NvbWV0aGlu + * Zy5jb20wgf4GA1UdIASB9jCB8zAIBgZngQwBAgEwgeWECysGAQQBgt8TAQEBMIHW + * MCYGCCsGAQUFBwIBFhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYB + * BQUHAgIwgZ4MgZtUaGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1 + * cG9uIGJ5IFJlbHlpbmcgUGFydGllcyBhbmQgb25seSQ2ziBhY2NvcmRhbmNlIHdp + * dGggdGhlIENlcnRpZmljYXRlIFBvbGljeSBmb3VuZCBhdCBsdHRwczovL2xldHNl + * bmNyeXB0Lm9yZy9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAOZVQvrjM + * PKXLARTjB5XsgfyDN3/qwLl7SmwGkPe+B+9FJpfScYG1JzVuCj/SoaPaK34G4x/e + * iXwlwOXtMOtqjQYzNu2Pr2C+I+rVmaxIrCUXFmC205IMuUBEeWXG9Y/HvXQLPabD + * D3Gdl5+Feink9SDRP7G0HaAwq13hI7ARxkL3o+UIY39X0dV3WOboW2Re8nrkFXJ7 + * q9Z6shK5QgpBfsLjtjNsQzaGV3ve1gOg25aTJGearBWOvEjJNA1wGMoKVXOtYwm/ + * WyWoVdCQ8HmconcbJB6xc0UZ1EjvzRr5ZIvSa5uHZD0L3m7/kpPWlAlFJ7hHASPu + * UlF1zblDmg2Iaw== + * -----END CERTIFICATE----- + * -----BEGIN CERTIFICATE----- + * MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ + * MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT + * DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow + * SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT + * GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC + * AQ8AMIIBCgKCAQEAnNMM8FrlLsd3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF + * q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 + * SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 + * Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA + * a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj + * /PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIPOIUo4IBfTCCAXkwEgYDVR0T + * AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG + * CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv + * bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k + * c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw + * VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC + * ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz + * MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu + * Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF + * AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo + * uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ + * wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu + * X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG + * PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 + * KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== + * -----END CERTIFICATE----- + */ + certificate_chain?: string; + }; + balance: { + /** + * @description Balance as of the `generated_at` time. This value includes the `account_balance` and `month_to_date_usage`. + * @example 23.44 + */ + month_to_date_balance?: string; + /** + * @description Current balance of the customer's most recent billing activity. Does not reflect `month_to_date_usage`. + * @example 12.23 + */ + account_balance?: string; + /** + * @description Amount used in the current billing period as of the `generated_at` time. + * @example 11.21 + */ + month_to_date_usage?: string; + /** + * Format: date-time + * @description The time at which balances were most recently generated. + * @example 2019-07-09T15:01:12Z + */ + generated_at?: string; + }; + billing_history: { + /** + * @description Description of the billing history entry. + * @example Invoice for May 2018 + */ + description?: string; + /** + * @description Amount of the billing history entry. + * @example 12.34 + */ + amount?: string; + /** + * @description ID of the invoice associated with the billing history entry, if applicable. + * @example 123 + */ + invoice_id?: string; + /** + * @description UUID of the invoice associated with the billing history entry, if applicable. + * @example example-uuid + */ + invoice_uuid?: string; + /** + * Format: date-time + * @description Time the billing history entry occurred. + * @example 2018-06-01T08:44:38Z + */ + date?: string; + /** + * @description Type of billing history entry. + * @example Invoice + * @enum {string} + */ + type?: "ACHFailure" | "Adjustment" | "AttemptFailed" | "Chargeback" | "Credit" | "CreditExpiration" | "Invoice" | "Payment" | "Refund" | "Reversal"; + }; + meta_optional_total: { + meta: components["schemas"]["meta_properties"]; + }; + /** @description The invoice preview. */ + invoice_preview: { + /** + * @description The UUID of the invoice. The canonical reference for the invoice. + * @example fdabb512-6faf-443c-ba2e-665452332a9e + */ + invoice_uuid?: string; + /** + * @description Total amount of the invoice, in USD. This will reflect month-to-date usage in the invoice preview. + * @example 23.45 + */ + amount?: string; + /** + * @description Billing period of usage for which the invoice is issued, in `YYYY-MM` format. + * @example 2020-01 + */ + invoice_period?: string; + /** + * @description Time the invoice was last updated. This is only included with the invoice preview. + * @example 2020-01-23T06:31:50Z + */ + updated_at?: string; + }; + invoice_item: { + /** + * @description Name of the product being billed in the invoice item. + * @example Kubernetes Clusters + */ + product?: string; + /** + * @description UUID of the resource billing in the invoice item if available. + * @example 711157cb-37c8-4817-b371-44fa3504a39c + */ + resource_uuid?: string; + /** + * @description ID of the resource billing in the invoice item if available. + * @example 2353624 + */ + resource_id?: string; + /** + * @description Description of the invoice item when it is a grouped set of usage, such as DOKS or databases. + * @example my-doks-cluster + */ + group_description?: string; + /** + * @description Description of the invoice item. + * @example a56e086a317d8410c8b4cfd1f4dc9f82 + */ + description?: string; + /** + * @description Billed amount of this invoice item. Billed in USD. + * @example 12.34 + */ + amount?: string; + /** + * @description Duration of time this invoice item was used and subsequently billed. + * @example 744 + */ + duration?: string; + /** + * @description Unit of time for duration. + * @example Hours + */ + duration_unit?: string; + /** + * @description Time the invoice item began to be billed for usage. + * @example 2020-01-01T00:00:00Z + */ + start_time?: string; + /** + * @description Time the invoice item stopped being billed for usage. + * @example 2020-02-01T00:00:00Z + */ + end_time?: string; + /** + * @description Name of the DigitalOcean Project this resource belongs to. + * @example web + */ + project_name?: string; + }; + billing_address: { + /** + * @description Street address line 1 + * @example 101 Shark Row + */ + address_line1?: string; + /** + * @description Street address line 2 + * @example + */ + address_line2?: string; + /** + * @description City + * @example Atlantis + */ + city?: string; + /** + * @description Region + * @example OC + */ + region?: string; + /** + * @description Postal code + * @example 12345 + */ + postal_code?: string; + /** + * @description Country (ISO2) code + * @example US + */ + country_iso2_code?: string; + /** + * @description Timestamp billing address was created + * @example 2019-09-03T16:34:46.000+00:00 + */ + created_at?: string; + /** + * @description Timestamp billing address was updated + * @example 2019-09-03T16:34:46.000+00:00 + */ + updated_at?: string; + }; + product_charge_item: { + /** + * @description Amount of the charge + * @example 10.00 + */ + amount?: string; + /** + * @description Description of the charge + * @example Spaces Subscription + */ + name?: string; + /** + * @description Number of times the charge was applied + * @example 1 + */ + count?: string; + }; + product_usage_charges: { + /** + * @description Description of usage charges + * @example Product usage charges + */ + name?: string; + /** + * @description Total amount charged + * @example 12.34 + */ + amount?: string; + /** + * @description List of amount, and grouped aggregates by resource type. + * @example [ + * { + * "amount": "10.00", + * "name": "Spaces Subscription", + * "count": "1" + * }, + * { + * "amount": "2.34", + * "name": "Database Clusters", + * "count": "1" + * } + * ] + */ + items?: components["schemas"]["product_charge_item"][]; + }; + simple_charge: { + /** + * @description Name of the charge + * @example Overages + */ + name?: string; + /** + * @description Total amount charged in USD + * @example 3.45 + */ + amount?: string; + }; + invoice_summary: { + /** + * @description UUID of the invoice + * @example 22737513-0ea7-4206-8ceb-98a575af7681 + */ + invoice_uuid?: string; + /** + * @description Billing period of usage for which the invoice is issued, in `YYYY-MM` format. + * @example 2020-01 + */ + billing_period?: string; + /** + * @description Total amount of the invoice, in USD. This will reflect month-to-date usage in the invoice preview. + * @example 27.13 + */ + amount?: string; + /** + * @description Name of the DigitalOcean customer being invoiced. + * @example Sammy Shark + */ + user_name?: string; + user_billing_address?: unknown & components["schemas"]["billing_address"]; + /** + * @description Company of the DigitalOcean customer being invoiced, if set. + * @example DigitalOcean + */ + user_company?: string; + /** + * @description Email of the DigitalOcean customer being invoiced. + * @example sammy@digitalocean.com + */ + user_email?: string; + product_charges?: unknown & components["schemas"]["product_usage_charges"]; + overages?: unknown & components["schemas"]["simple_charge"]; + taxes?: unknown & components["schemas"]["simple_charge"]; + credits_and_adjustments?: unknown & components["schemas"]["simple_charge"]; + }; + database_region_options: { + /** + * @description An array of strings containing the names of available regions + * @example [ + * "ams3", + * "blr1" + * ] + */ + readonly regions?: string[]; + }; + database_version_options: { + /** + * @description An array of strings containing the names of available regions + * @example [ + * "4.4", + * "5.0" + * ] + */ + readonly versions?: string[]; + }; + database_layout_option: { + /** @example 1 */ + num_nodes?: number; + /** + * @description An array of objects containing the slugs available with various node counts + * @example [ + * "db-s-1vcpu-1gb", + * "db-s-1vcpu-2gb" + * ] + */ + readonly sizes?: string[]; + }; + database_layout_options: { + /** @description An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). */ + readonly layouts?: components["schemas"]["database_layout_option"][]; + }; + database_version_availability: { + /** + * @description A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + * @example 2023-11-09T00:00:00Z + */ + end_of_life?: string; + /** + * @description A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + * @example 2023-05-09T00:00:00Z + */ + end_of_availability?: string; + /** + * @description The engine version. + * @example 8 + */ + version?: string; + }; + /** @description An array of objects, each indicating the version end-of-life, end-of-availability for various database engines */ + database_version_availabilities: components["schemas"]["database_version_availability"][]; + options: { + options?: { + mongodb?: components["schemas"]["database_region_options"] & components["schemas"]["database_version_options"] & components["schemas"]["database_layout_options"]; + pg?: components["schemas"]["database_region_options"] & components["schemas"]["database_version_options"] & components["schemas"]["database_layout_options"]; + mysql?: components["schemas"]["database_region_options"] & components["schemas"]["database_version_options"] & components["schemas"]["database_layout_options"]; + redis?: components["schemas"]["database_region_options"] & components["schemas"]["database_version_options"] & components["schemas"]["database_layout_options"]; + }; + version_availability?: { + pg?: components["schemas"]["database_version_availabilities"]; + mysql?: components["schemas"]["database_version_availabilities"]; + redis?: components["schemas"]["database_version_availabilities"]; + mongodb?: components["schemas"]["database_version_availabilities"]; + }; + }; + database_connection: { + /** + * @description A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. + * @example postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require + */ + readonly uri?: string; + /** + * @description The name of the default database. + * @example defaultdb + */ + readonly database?: string; + /** + * @description The FQDN pointing to the database cluster's current primary node. + * @example backend-do-user-19081923-0.db.ondigitalocean.com + */ + readonly host?: string; + /** + * @description The port on which the database cluster is listening. + * @example 25060 + */ + readonly port?: number; + /** + * @description The default user for the database. + * @example doadmin + */ + readonly user?: string; + /** + * @description The randomly generated password for the default user. + * @example wv78n3zpz42xezdk + */ + readonly password?: string; + /** + * @description A boolean value indicating if the connection should be made over SSL. + * @example true + */ + readonly ssl?: boolean; + }; + mysql_settings: { + /** + * @description A string specifying the authentication method to be used for connections + * to the MySQL user account. The valid values are `mysql_native_password` + * or `caching_sha2_password`. If excluded when creating a new user, the + * default for the version of MySQL in use will be used. As of MySQL 8.0, the + * default is `caching_sha2_password`. + * + * @example mysql_native_password + * @enum {string} + */ + auth_plugin: "mysql_native_password" | "caching_sha2_password"; + }; + database_user: { + /** + * @description The name of a database user. + * @example app-01 + */ + name: string; + /** + * @description A string representing the database user's role. The value will be either + * "primary" or "normal". + * + * @example normal + * @enum {string} + */ + readonly role?: "primary" | "normal"; + /** + * @description A randomly generated password for the database user. + * @example jge5lfxtzhx42iff + */ + readonly password?: string; + mysql_settings?: components["schemas"]["mysql_settings"]; + }; + database_maintenance_window: { + /** + * @description The day of the week on which to apply maintenance updates. + * @example tuesday + */ + day: string; + /** + * @description The hour in UTC at which maintenance updates will be applied in 24 hour format. + * @example 14:00 + */ + hour: string; + /** + * @description A boolean value indicating whether any maintenance is scheduled to be performed in the next window. + * @example true + */ + readonly pending?: boolean; + /** + * @description A list of strings, each containing information about a pending maintenance update. + * @example [ + * "Update TimescaleDB to version 1.2.1", + * "Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases" + * ] + */ + readonly description?: string[]; + } | null; + firewall_rule: { + /** + * @description A unique ID for the firewall rule itself. + * @example 79f26d28-ea8a-41f2-8ad8-8cfcdd020095 + */ + uuid?: string; + /** + * @description A unique ID for the database cluster to which the rule is applied. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + cluster_uuid?: string; + /** + * @description The type of resource that the firewall rule allows to access the database cluster. + * @example droplet + * @enum {string} + */ + type: "droplet" | "k8s" | "ip_addr" | "tag" | "app"; + /** + * @description The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. + * @example ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 + */ + value: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. + * @example 2019-01-11T18:37:36Z + */ + readonly created_at?: string; + }; + database_cluster: { + /** + * Format: uuid + * @description A unique ID that can be used to identify and reference a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + readonly id?: string; + /** + * @description A unique, human-readable name referring to a database cluster. + * @example backend + */ + name: string; + /** + * @description A slug representing the database engine used for the cluster. The possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" for Redis, and "mongodb" for MongoDB. + * @example mysql + * @enum {string} + */ + engine: "pg" | "mysql" | "redis" | "mongodb"; + /** + * @description A string representing the version of the database engine in use for the cluster. + * @example 8 + */ + version?: string; + /** + * @description A string representing the semantic version of the database engine in use for the cluster. + * @example 8.0.28 + */ + readonly semantic_version?: string; + /** + * @description The number of nodes in the database cluster. + * @example 2 + */ + num_nodes: number; + /** + * @description The slug identifier representing the size of the nodes in the database cluster. + * @example db-s-2vcpu-4gb + */ + size: string; + /** + * @description The slug identifier for the region where the database cluster is located. + * @example nyc3 + */ + region: string; + /** + * @description A string representing the current status of the database cluster. + * @example creating + * @enum {string} + */ + readonly status?: "creating" | "online" | "resizing" | "migrating" | "forking"; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the database cluster was created. + * @example 2019-01-11T18:37:36Z + */ + readonly created_at?: string; + /** + * @description A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region. + * @example d455e75d-4858-4eec-8c95-da2f0a5f93a7 + */ + private_network_uuid?: string; + /** + * @description An array of tags that have been applied to the database cluster. + * @example [ + * "production" + * ] + */ + tags?: string[] | null; + /** + * @description An array of strings containing the names of databases created in the database cluster. + * @example [ + * "doadmin" + * ] + */ + readonly db_names?: string[] | null; + connection?: components["schemas"]["database_connection"] & unknown; + private_connection?: components["schemas"]["database_connection"] & unknown; + readonly users?: components["schemas"]["database_user"][] | null; + maintenance_window?: components["schemas"]["database_maintenance_window"] & unknown; + /** + * Format: uuid + * @description The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + project_id?: string; + rules?: components["schemas"]["firewall_rule"][]; + /** + * @description A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. + * @example 2023-11-09T00:00:00Z + */ + readonly version_end_of_life?: string; + /** + * @description A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. + * @example 2023-05-09T00:00:00Z + */ + readonly version_end_of_availability?: string; + }; + database_backup: { + /** + * @description The name of an existing database cluster from which the backup will be restored. + * @example backend + */ + database_name: string; + /** + * Format: date-time + * @description The timestamp of an existing database cluster backup in ISO8601 combined date and time format. The most recent backup will be used if excluded. + * @example 2019-01-31T19:25:22Z + */ + backup_created_at?: string; + }; + mysql: { + /** + * @description The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. + * @example 3 + */ + backup_hour?: number; + /** + * @description The minute of the backup hour when backup for the service starts. New backup only starts if previous backup has already completed. + * @example 30 + */ + backup_minute?: number; + /** + * @description Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas. + * @example ANSI,TRADITIONAL + */ + sql_mode?: string; + /** + * @description The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake. + * @example 10 + */ + connect_timeout?: number; + /** + * @description Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or 'SYSTEM' to use the MySQL server default. + * @example +03:00 + */ + default_time_zone?: string; + /** + * @description The maximum permitted result length, in bytes, for the GROUP_CONCAT() function. + * @example 1024 + */ + group_concat_max_len?: number; + /** + * @description The time, in seconds, before cached statistics expire. + * @example 86400 + */ + information_schema_stats_expiry?: number; + /** + * @description The minimum length of words that an InnoDB FULLTEXT index stores. + * @example 3 + */ + innodb_ft_min_token_size?: number; + /** + * @description The InnoDB FULLTEXT index stopword list for all InnoDB tables. + * @example db_name/table_name + */ + innodb_ft_server_stopword_table?: string; + /** + * @description The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up. + * @example 50 + */ + innodb_lock_wait_timeout?: number; + /** + * @description The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk. + * @example 16777216 + */ + innodb_log_buffer_size?: number; + /** + * @description The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables. + * @example 134217728 + */ + innodb_online_alter_log_max_size?: number; + /** + * @description When enabled, records information about all deadlocks in InnoDB user transactions in the error log. Disabled by default. + * @example true + */ + innodb_print_all_deadlocks?: boolean; + /** + * @description When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction. + * @example true + */ + innodb_rollback_on_timeout?: boolean; + /** + * @description The time, in seconds, the server waits for activity on an interactive. connection before closing it. + * @example 3600 + */ + interactive_timeout?: number; + /** + * @description The storage engine for in-memory internal temporary tables. + * @example TempTable + * @enum {string} + */ + internal_tmp_mem_storage_engine?: "TempTable" | "MEMORY"; + /** + * @description The time, in seconds, to wait for more data from an existing connection. aborting the read. + * @example 30 + */ + net_read_timeout?: number; + /** + * @description The number of seconds to wait for a block to be written to a connection before aborting the write. + * @example 30 + */ + net_write_timeout?: number; + /** + * @description Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them. + * @example true + */ + sql_require_primary_key?: boolean; + /** + * @description The number of seconds the server waits for activity on a noninteractive connection before closing it. + * @example 28800 + */ + wait_timeout?: number; + /** + * @description The size of the largest message, in bytes, that can be received by the server. Default is 67108864 (64M). + * @example 67108864 + */ + max_allowed_packet?: number; + /** + * @description The maximum size, in bytes, of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M) + * @example 16777216 + */ + max_heap_table_size?: number; + /** + * @description The sort buffer size, in bytes, for ORDER BY optimization. Default is 262144. (256K). + * @example 262144 + */ + sort_buffer_size?: number; + /** + * @description The maximum size, in bytes, of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M). + * @example 16777216 + */ + tmp_table_size?: number; + /** + * @description When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false. + * @example true + */ + slow_query_log?: boolean; + /** + * @description The time, in seconds, for a query to take to execute before being captured by slow_query_logs. Default is 10 seconds. + * @example 10 + */ + long_query_time?: number; + /** + * @description The minimum amount of time, in seconds, to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector. + * @example 600 + */ + binlog_retention_period?: number; + /** + * @description Specifies the maximum size of the InnoDB change buffer as a percentage of the buffer pool. + * @example 25 + */ + innodb_change_buffer_max_size?: number; + /** + * @description Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent. + * - 0 — disables this functionality, dirty pages in the same extent are not flushed. + * - 1 — flushes contiguous dirty pages in the same extent. + * - 2 — flushes dirty pages in the same extent. + * @example 0 + * @enum {integer} + */ + innodb_flush_neighbors?: 0 | 1 | 2; + /** + * @description The number of I/O threads for read operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. + * @example 16 + */ + innodb_read_io_threads?: number; + /** + * @description The number of I/O threads for write operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. + * @example 16 + */ + innodb_write_io_threads?: number; + /** + * @description Defines the maximum number of threads permitted inside of InnoDB. A value of 0 (the default) is interpreted as infinite concurrency (no limit). This variable is intended for performance tuning on high concurrency systems. + * @example 0 + */ + innodb_thread_concurrency?: number; + /** + * @description Start sizes of connection buffer and result buffer, must be multiple of 1024. Changing this parameter will lead to a restart of the MySQL service. + * @example 4096 + */ + net_buffer_length?: number; + }; + /** @description PGBouncer connection pooling settings */ + pgbouncer: { + /** + * @description Run server_reset_query (DISCARD ALL) in all pooling modes. + * @example false + */ + server_reset_query_always?: boolean; + /** + * @description List of parameters to ignore when given in startup packet. + * @example [ + * "extra_float_digits", + * "search_path" + * ] + */ + ignore_startup_parameters?: ("extra_float_digits" | "search_path")[]; + /** + * @description If current server connections are below this number, adds more. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size. + * @example 1 + */ + min_pool_size?: number; + /** + * @description The pooler closes any unused server connection that has been connected longer than this amount of seconds. + * @example 3600 + */ + server_lifetime?: number; + /** + * @description Drops server connections if they have been idle more than this many seconds. If 0, timeout is disabled. + * @example 600 + */ + server_idle_timeout?: number; + /** + * @description If non-zero, automatically creates a pool of that size per user when a pool doesn't exist. + * @example 1 + */ + autodb_pool_size?: number; + /** + * @description PGBouncer pool mode + * @example session + * @enum {string} + */ + autodb_pool_mode?: "session" | "transaction" | "statement"; + /** + * @description Only allows a maximum this many server connections per database (regardless of user). If 0, allows unlimited connections. + * @example 1 + */ + autodb_max_db_connections?: number; + /** + * @description If the automatically-created database pools have been unused this many seconds, they are freed. If 0, timeout is disabled. + * @example 3600 + */ + autodb_idle_timeout?: number; + }; + /** @description TimescaleDB extension configuration values */ + timescaledb: { + /** + * @description The number of background workers for timescaledb operations. Set to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time. + * @example 8 + */ + max_background_workers?: number; + }; + postgres: { + /** + * @description Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted. + * @example 200000000 + */ + autovacuum_freeze_max_age?: number; + /** + * @description Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start. + * @example 5 + */ + autovacuum_max_workers?: number; + /** + * @description Specifies the minimum delay, in seconds, between autovacuum runs on any given database. The default is one minute. + * @example 43200 + */ + autovacuum_naptime?: number; + /** + * @description Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples. + * @example 50 + */ + autovacuum_vacuum_threshold?: number; + /** + * @description Specifies the minimum number of inserted, updated, or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples. + * @example 50 + */ + autovacuum_analyze_threshold?: number; + /** + * @description Specifies a fraction, in a decimal value, of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size). + * @example 0.2 + */ + autovacuum_vacuum_scale_factor?: number; + /** + * @description Specifies a fraction, in a decimal value, of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size). + * @example 0.2 + */ + autovacuum_analyze_scale_factor?: number; + /** + * @description Specifies the cost delay value, in milliseconds, that will be used in automatic VACUUM operations. If -1, uses the regular vacuum_cost_delay value, which is 20 milliseconds. + * @example 20 + */ + autovacuum_vacuum_cost_delay?: number; + /** + * @description Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used. + * @example -1 + */ + autovacuum_vacuum_cost_limit?: number; + /** + * @description The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. + * @example 3 + */ + backup_hour?: number; + /** + * @description The minute of the backup hour when backup for the service starts. New backup is only started if previous backup has already completed. + * @example 30 + */ + backup_minute?: number; + /** + * @description Specifies the delay, in milliseconds, between activity rounds for the background writer. Default is 200 ms. + * @example 200 + */ + bgwriter_delay?: number; + /** + * @description The amount of kilobytes that need to be written by the background writer before attempting to force the OS to issue these writes to underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback. + * @example 512 + */ + bgwriter_flush_after?: number; + /** + * @description The maximum number of buffers that the background writer can write. Setting this to zero disables background writing. Default is 100. + * @example 100 + */ + bgwriter_lru_maxpages?: number; + /** + * @description The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0. + * @example 2 + */ + bgwriter_lru_multiplier?: number; + /** + * @description The amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. + * @example 1000 + */ + deadlock_timeout?: number; + /** + * @description Specifies the default TOAST compression method for values of compressible columns (the default is lz4). + * @example lz4 + * @enum {string} + */ + default_toast_compression?: "lz4" | "pglz"; + /** + * @description Time out sessions with open transactions after this number of milliseconds + * @example 10000 + */ + idle_in_transaction_session_timeout?: number; + /** + * @description Activates, in a boolean, the system-wide use of Just-in-Time Compilation (JIT). + * @example true + */ + jit?: boolean; + /** + * @description Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions. + * @example -1 + */ + log_autovacuum_min_duration?: number; + /** + * @description Controls the amount of detail written in the server log for each message that is logged. + * @example VERBOSE + * @enum {string} + */ + log_error_verbosity?: "TERSE" | "DEFAULT" | "VERBOSE"; + /** + * @description Selects one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze, etc. + * @example pid=%p,user=%u,db=%d,app=%a,client=%h + * @enum {string} + */ + log_line_prefix?: "pid=%p,user=%u,db=%d,app=%a,client=%h" | "%m [%p] %q[user=%u,db=%d,app=%a]" | "%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h"; + /** + * @description Log statements that take more than this number of milliseconds to run. If -1, disables. + * @example -1 + */ + log_min_duration_statement?: number; + /** + * @description PostgreSQL maximum number of files that can be open per process. + * @example 2048 + */ + max_files_per_process?: number; + /** + * @description PostgreSQL maximum prepared transactions. Once increased, this parameter cannot be lowered from its set value. + * @example 20 + */ + max_prepared_transactions?: number; + /** + * @description PostgreSQL maximum predicate locks per transaction. + * @example 128 + */ + max_pred_locks_per_transaction?: number; + /** + * @description PostgreSQL maximum locks per transaction. Once increased, this parameter cannot be lowered from its set value. + * @example 128 + */ + max_locks_per_transaction?: number; + /** + * @description Maximum depth of the stack in bytes. + * @example 2097152 + */ + max_stack_depth?: number; + /** + * @description Max standby archive delay in milliseconds. + * @example 43200 + */ + max_standby_archive_delay?: number; + /** + * @description Max standby streaming delay in milliseconds. + * @example 43200 + */ + max_standby_streaming_delay?: number; + /** + * @description PostgreSQL maximum replication slots. + * @example 16 + */ + max_replication_slots?: number; + /** + * @description PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers). + * @example 16 + */ + max_logical_replication_workers?: number; + /** + * @description Sets the maximum number of workers that the system can support for parallel queries. + * @example 12 + */ + max_parallel_workers?: number; + /** + * @description Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. + * @example 16 + */ + max_parallel_workers_per_gather?: number; + /** + * @description Sets the maximum number of background processes that the system can support. Once increased, this parameter cannot be lowered from its set value. + * @example 16 + */ + max_worker_processes?: number; + /** + * @description Controls which role to use for pg_partman's scheduled background tasks. Must consist of alpha-numeric characters, dots, underscores, or dashes. May not start with dash or dot. Maximum of 64 characters. + * @example myrolename + */ + "pg_partman_bgw.role"?: string; + /** + * @description Sets the time interval to run pg_partman's scheduled tasks. + * @example 3600 + */ + "pg_partman_bgw.interval"?: number; + /** + * @description Controls which statements are counted. Specify 'top' to track top-level statements (those issued directly by clients), 'all' to also track nested statements (such as statements invoked within functions), or 'none' to disable statement statistics collection. The default value is top. + * @example all + * @enum {string} + */ + "pg_stat_statements.track"?: "all" | "top" | "none"; + /** + * @description PostgreSQL temporary file limit in KiB. If -1, sets to unlimited. + * @example 5000000 + */ + temp_file_limit?: number; + /** + * @description PostgreSQL service timezone + * @example Europe/Helsinki + */ + timezone?: string; + /** + * @description Specifies the number of bytes reserved to track the currently executing command for each active session. + * @example 1024 + */ + track_activity_query_size?: number; + /** + * @description Record commit time of transactions. + * @example off + * @enum {string} + */ + track_commit_timestamp?: "off" | "on"; + /** + * @description Enables tracking of function call counts and time used. + * @example all + * @enum {string} + */ + track_functions?: "all" | "pl" | "none"; + /** + * @description Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms. + * @example off + * @enum {string} + */ + track_io_timing?: "off" | "on"; + /** + * @description PostgreSQL maximum WAL senders. Once increased, this parameter cannot be lowered from its set value. + * @example 32 + */ + max_wal_senders?: number; + /** + * @description Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Must be either 0 or between 5000 and 10800000. + * @example 60000 + */ + wal_sender_timeout?: number; + /** + * @description WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance + * @example 50 + */ + wal_writer_delay?: number; + /** + * @description Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value. + * @example 41.5 + */ + shared_buffers_percentage?: number; + pgbouncer?: components["schemas"]["pgbouncer"]; + /** + * @description The maximum amount of memory, in MB, used by a query operation (such as a sort or hash table) before writing to temporary disk files. Default is 1MB + 0.075% of total RAM (up to 32MB). + * @example 4 + */ + work_mem?: number; + timescaledb?: components["schemas"]["timescaledb"]; + /** + * @description Synchronous replication type. Note that the service plan also needs to support synchronous replication. + * @example off + * @enum {string} + */ + synchronous_replication?: "off" | "quorum"; + /** + * @description Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted. When this extension is enabled, pg_stat_statements results for utility commands are unreliable. + * @example false + */ + stat_monitor_enable?: boolean; + }; + /** + * @description A string specifying the desired eviction policy for the Redis cluster. + * + * - `noeviction`: Don't evict any data, returns error when memory limit is reached. + * - `allkeys_lru:` Evict any key, least recently used (LRU) first. + * - `allkeys_random`: Evict keys in a random order. + * - `volatile_lru`: Evict keys with expiration only, least recently used (LRU) first. + * - `volatile_random`: Evict keys with expiration only in a random order. + * - `volatile_ttl`: Evict keys with expiration only, shortest time-to-live (TTL) first. + * @example allkeys_lru + * @enum {string} + */ + eviction_policy_model: "noeviction" | "allkeys_lru" | "allkeys_random" | "volatile_lru" | "volatile_random" | "volatile_ttl"; + redis: { + redis_maxmemory_policy?: components["schemas"]["eviction_policy_model"]; + /** + * @description Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. + * @example 64 + */ + redis_pubsub_client_output_buffer_limit?: number; + /** + * @description Set number of redis databases. Changing this will cause a restart of redis service. + * @example 16 + */ + redis_number_of_databases?: number; + /** + * @description Redis IO thread count + * @example 1 + */ + redis_io_threads?: number; + /** + * @description Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies + * @default 10 + * @example 10 + */ + redis_lfu_log_factor: number; + /** + * @description LFU maxmemory-policy counter decay time in minutes + * @default 1 + * @example 1 + */ + redis_lfu_decay_time: number; + /** + * @description Require SSL to access Redis + * @default true + * @example true + */ + redis_ssl: boolean; + /** + * @description Redis idle connection timeout in seconds + * @default 300 + * @example 300 + */ + redis_timeout: number; + /** + * @description Set notify-keyspace-events option. Requires at least `K` or `E` and accepts any combination of the following options. Setting the parameter to `""` disables notifications. + * - `K` — Keyspace events + * - `E` — Keyevent events + * - `g` — Generic commands (e.g. `DEL`, `EXPIRE`, `RENAME`, ...) + * - `$` — String commands + * - `l` — List commands + * - `s` — Set commands + * - `h` — Hash commands + * - `z` — Sorted set commands + * - `t` — Stream commands + * - `d` — Module key type events + * - `x` — Expired events + * - `e` — Evicted events + * - `m` — Key miss events + * - `n` — New key events + * - `A` — Alias for `"g$lshztxed"` + * @default + * @example K + */ + redis_notify_keyspace_events: string; + /** + * @description When persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked. + * @example rdb + * @enum {string} + */ + redis_persistence?: "off" | "rdb"; + /** + * @description Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default. + * @example allchannels + * @enum {string} + */ + redis_acl_channels_default?: "allchannels" | "resetchannels"; + }; + database_config: { + config?: components["schemas"]["mysql"] | components["schemas"]["postgres"] | components["schemas"]["redis"]; + }; + ca: { + /** + * @description base64 encoding of the certificate used to secure database connections + * @example LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + */ + readonly certificate: string; + }; + online_migration: { + /** + * @description The ID of the most recent migration. + * @example 77b28fc8-19ff-11eb-8c9c-c68e24557488 + */ + id?: string; + /** + * @description The current status of the migration. + * @example running + * @enum {string} + */ + status?: "running" | "canceled" | "error" | "done"; + /** + * @description The time the migration was initiated, in ISO 8601 format. + * @example 2020-10-29T15:57:38Z + */ + created_at?: string; + }; + source_database: { + source?: { + /** + * @description The FQDN pointing to the database cluster's current primary node. + * @example backend-do-user-19081923-0.db.ondigitalocean.com + */ + host?: string; + /** + * @description The port on which the database cluster is listening. + * @example 25060 + */ + port?: number; + /** + * @description The name of the default database. + * @example defaultdb + */ + dbname?: string; + /** + * @description The default user for the database. + * @example doadmin + */ + username?: string; + /** + * @description The randomly generated password for the default user. + * @example wv78n3zpz42xezdk + */ + password?: string; + }; + /** + * @description Enables SSL encryption when connecting to the source database. + * @example false + */ + disable_ssl?: boolean; + }; + database_cluster_resize: { + /** + * @description A slug identifier representing desired the size of the nodes in the database cluster. + * @example db-s-4vcpu-8gb + */ + size: string; + /** + * Format: int32 + * @description The number of nodes in the database cluster. Valid values are are 1-3. In addition to the primary node, up to two standby nodes may be added for highly available configurations. + * @example 3 + */ + num_nodes: number; + }; + backup: { + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format at which the backup was created. + * @example 2019-01-31T19:25:22Z + */ + created_at: string; + /** + * @description The size of the database backup in GBs. + * @example 0.03364864 + */ + size_gigabytes: number; + }; + database_replica: { + /** + * Format: uuid + * @description A unique ID that can be used to identify and reference a database replica. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + readonly id?: string; + /** + * @description The name to give the read-only replicating + * @example read-nyc3-01 + */ + name: string; + /** + * @description A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster. + * @example nyc3 + */ + region?: string; + /** + * @description A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. + * @example db-s-2vcpu-4gb + */ + size?: string; + /** + * @description A string representing the current status of the database cluster. + * @example creating + * @enum {string} + */ + readonly status?: "creating" | "online" | "resizing" | "migrating" | "forking"; + /** + * @description A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags. + * @example [ + * "production" + * ] + */ + tags?: string[]; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the database cluster was created. + * @example 2019-01-11T18:37:36Z + */ + readonly created_at?: string; + /** + * @description A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region. + * @example 9423cbad-9211-442f-820b-ef6915e99b5f + */ + private_network_uuid?: string; + connection?: unknown & components["schemas"]["database_connection"]; + private_connection?: unknown & components["schemas"]["database_connection"]; + }; + database: { + /** + * @description The name of the database. + * @example alpha + */ + name: string; + }; + connection_pool: { + /** + * @description A unique name for the connection pool. Must be between 3 and 60 characters. + * @example backend-pool + */ + name: string; + /** + * @description The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. + * @example transaction + */ + mode: string; + /** + * Format: int32 + * @description The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. + * @example 10 + */ + size: number; + /** + * @description The database for use with the connection pool. + * @example defaultdb + */ + db: string; + /** + * @description The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. + * @example doadmin + */ + user?: string; + connection?: components["schemas"]["database_connection"] & unknown; + private_connection?: components["schemas"]["database_connection"] & unknown; + }; + connection_pools: { + /** @description An array of connection pool objects. */ + readonly pools?: components["schemas"]["connection_pool"][]; + }; + connection_pool_update: { + /** + * @description The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. + * @example transaction + */ + mode: string; + /** + * Format: int32 + * @description The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. + * @example 10 + */ + size: number; + /** + * @description The database for use with the connection pool. + * @example defaultdb + */ + db: string; + /** + * @description The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. + * @example doadmin + */ + user?: string; + }; + sql_mode: { + /** + * @description A string specifying the configured SQL modes for the MySQL cluster. + * @example ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES + */ + sql_mode: string; + }; + /** + * @description A string representing the version of the database engine in use for the cluster. + * @example 8 + */ + version: string; + "version-2": { + version?: components["schemas"]["version"]; + }; + domain: { + /** + * @description The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name. + * @example example.com + */ + name?: string; + /** + * @description This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain. + * @example 192.0.2.1 + */ + ip_address?: string; + /** + * @description This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + * @example 1800 + */ + readonly ttl?: number | null; + /** + * @description This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource. + * @example $ORIGIN example.com. + * $TTL 1800 + * example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800 + * example.com. 1800 IN NS ns1.digitalocean.com. + * example.com. 1800 IN NS ns2.digitalocean.com. + * example.com. 1800 IN NS ns3.digitalocean.com. + * example.com. 1800 IN A 1.2.3.4 + * + */ + readonly zone_file?: string | null; + }; + domain_record: { + /** + * @description A unique identifier for each domain record. + * @example 28448429 + */ + readonly id?: number; + /** + * @description The type of the DNS record. For example: A, CNAME, TXT, ... + * @example NS + */ + type: string; + /** + * @description The host name, alias, or service being defined by the record. + * @example @ + */ + name?: string; + /** + * @description Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. + * @example ns1.digitalocean.com + */ + data?: string; + /** + * @description The priority for SRV and MX records. + * @example null + */ + priority?: number | null; + /** + * @description The port for SRV records. + * @example null + */ + port?: number | null; + /** + * @description This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. + * @example 1800 + */ + ttl?: number; + /** + * @description The weight for SRV records. + * @example null + */ + weight?: number | null; + /** + * @description An unsigned integer between 0-255 used for CAA records. + * @example null + */ + flags?: number | null; + /** + * @description The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" + * @example null + */ + tag?: string | null; + }; + domain_record_a: components["schemas"]["domain_record"] & unknown; + domain_record_aaaa: components["schemas"]["domain_record"] & unknown; + domain_record_caa: components["schemas"]["domain_record"] & unknown; + domain_record_cname: components["schemas"]["domain_record"] & unknown; + domain_record_mx: components["schemas"]["domain_record"] & unknown; + domain_record_ns: components["schemas"]["domain_record"] & unknown; + domain_record_soa: components["schemas"]["domain_record"] & unknown; + domain_record_srv: components["schemas"]["domain_record"] & unknown; + domain_record_txt: components["schemas"]["domain_record"] & unknown; + /** + * @deprecated + * @description **Note**: All Droplets created after March 2017 use internal kernels by default. + * These Droplets will have this attribute set to `null`. + * + * The current [kernel](https://www.digitalocean.com/docs/droplets/how-to/kernel/) + * for Droplets with externally managed kernels. This will initially be set to + * the kernel of the base image when the Droplet is created. + * + */ + kernel: { + /** + * @description A unique number used to identify and reference a specific kernel. + * @example 7515 + */ + id?: number; + /** + * @description The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. + * @example DigitalOcean GrubLoader v0.2 (20160714) + */ + name?: string; + /** + * @description A standard kernel version string representing the version, patch, and release information. + * @example 2016.07.13-DigitalOcean_loader_Ubuntu + */ + version?: string; + } | null; + /** + * @description The display name that has been given to an image. This is what is shown in the control panel and is generally a descriptive title for the image in question. + * @example Nifty New Snapshot + */ + image_name: string; + /** + * @description The name of a custom image's distribution. Currently, the valid values are `Arch Linux`, `CentOS`, `CoreOS`, `Debian`, `Fedora`, `Fedora Atomic`, `FreeBSD`, `Gentoo`, `openSUSE`, `RancherOS`, `Rocky Linux`, `Ubuntu`, and `Unknown`. Any other value will be accepted but ignored, and `Unknown` will be used in its place. + * @example Ubuntu + * @enum {string} + */ + distribution: "Arch Linux" | "CentOS" | "CoreOS" | "Debian" | "Fedora" | "Fedora Atomic" | "FreeBSD" | "Gentoo" | "openSUSE" | "RancherOS" | "Rocky Linux" | "Ubuntu" | "Unknown"; + /** + * @description The slug identifier for the region where the resource will initially be available. + * @example nyc3 + * @enum {string} + */ + region_slug: "ams1" | "ams2" | "ams3" | "blr1" | "fra1" | "lon1" | "nyc1" | "nyc2" | "nyc3" | "sfo1" | "sfo2" | "sfo3" | "sgp1" | "tor1"; + /** + * @description This attribute is an array of the regions that the image is available in. The regions are represented by their identifying slug values. + * @example [ + * "nyc1", + * "nyc2" + * ] + */ + regions_array: components["schemas"]["region_slug"][]; + /** + * @description An optional free-form text field to describe an image. + * @example + */ + image_description: string; + /** + * @description A flat array of tag names as strings to be applied to the resource. Tag names may be for either existing or new tags. + * @example [ + * "base-image", + * "prod" + * ] + */ + tags_array: string[] | null; + image: { + /** + * @description A unique number that can be used to identify and reference a specific image. + * @example 7555620 + */ + readonly id?: number; + name?: components["schemas"]["image_name"]; + /** + * @description Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). + * @example snapshot + * @enum {string} + */ + type?: "base" | "snapshot" | "backup" | "custom" | "admin"; + distribution?: components["schemas"]["distribution"]; + /** + * @description A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. + * @example nifty1 + */ + slug?: string | null; + /** + * @description This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. + * @example true + */ + public?: boolean; + regions?: components["schemas"]["regions_array"]; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the image was created. + * @example 2020-05-04T22:23:02Z + */ + created_at?: string; + /** + * @description The minimum disk size in GB required for a Droplet to use this image. + * @example 20 + */ + min_disk_size?: number | null; + /** + * Format: float + * @description The size of the image in gigabytes. + * @example 2.34 + */ + size_gigabytes?: number | null; + description?: components["schemas"]["image_description"]; + tags?: components["schemas"]["tags_array"]; + /** + * @description A status string indicating the state of a custom image. This may be `NEW`, + * `available`, `pending`, `deleted`, or `retired`. + * @example NEW + * @enum {string} + */ + status?: "NEW" | "available" | "pending" | "deleted" | "retired"; + /** + * @description A string containing information about errors that may occur when importing + * a custom image. + * @example + */ + error_message?: string; + }; + size: { + /** + * @description A human-readable string that is used to uniquely identify each size. + * @example s-1vcpu-1gb + */ + slug: string; + /** + * @description The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. + * @example 1024 + */ + memory: number; + /** + * @description The integer of number CPUs allocated to Droplets of this size. + * @example 1 + */ + vcpus: number; + /** + * @description The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. + * @example 25 + */ + disk: number; + /** + * Format: float + * @description The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. + * @example 1 + */ + transfer: number; + /** + * Format: float + * @description This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. + * @example 5 + */ + price_monthly: number; + /** + * Format: float + * @description This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. + * @example 0.00743999984115362 + */ + price_hourly: number; + /** + * @description An array containing the region slugs where this size is available for Droplet creates. + * @example [ + * "ams2", + * "ams3", + * "blr1", + * "fra1", + * "lon1", + * "nyc1", + * "nyc2", + * "nyc3", + * "sfo1", + * "sfo2", + * "sfo3", + * "sgp1", + * "tor1" + * ] + */ + regions: string[]; + /** + * @description This is a boolean value that represents whether new Droplets can be created with this size. + * @default true + * @example true + */ + available: boolean; + /** + * @description A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized. + * @example Basic + */ + description: string; + }; + network_v4: { + /** + * Format: ipv4 + * @description The IP address of the IPv4 network interface. + * @example 104.236.32.182 + */ + ip_address?: string; + /** + * Format: ipv4 + * @description The netmask of the IPv4 network interface. + * @example 255.255.192.0 + */ + netmask?: string; + /** + * @description The gateway of the specified IPv4 network interface. + * + * For private interfaces, a gateway is not provided. This is denoted by + * returning `nil` as its value. + * + * @example 104.236.0.1 + */ + gateway?: string; + /** + * @description The type of the IPv4 network interface. + * @example public + * @enum {string} + */ + type?: "public" | "private"; + }; + network_v6: { + /** + * Format: ipv6 + * @description The IP address of the IPv6 network interface. + * @example 2604:a880:0:1010::18a:a001 + */ + ip_address?: string; + /** + * @description The netmask of the IPv6 network interface. + * @example 64 + */ + netmask?: number; + /** + * Format: ipv6 + * @description The gateway of the specified IPv6 network interface. + * @example 2604:a880:0:1010::1 + */ + gateway?: string; + /** + * @description The type of the IPv6 network interface. + * + * **Note**: IPv6 private networking is not currently supported. + * + * @example public + * @enum {string} + */ + type?: "public"; + }; + droplet: { + /** + * @description A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. + * @example 3164444 + */ + id: number; + /** + * @description The human-readable name set for the Droplet instance. + * @example example.com + */ + name: string; + /** + * @description Memory of the Droplet in megabytes. + * @example 1024 + */ + memory: number; + /** + * @description The number of virtual CPUs. + * @example 1 + */ + vcpus: number; + /** + * @description The size of the Droplet's disk in gigabytes. + * @example 25 + */ + disk: number; + /** + * @description A boolean value indicating whether the Droplet has been locked, preventing actions by users. + * @example false + */ + locked: boolean; + /** + * @description A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". + * @example active + * @enum {string} + */ + status: "new" | "active" | "off" | "archive"; + kernel?: components["schemas"]["kernel"]; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the Droplet was created. + * @example 2020-07-21T18:37:44Z + */ + created_at: string; + /** + * @description An array of features enabled on this Droplet. + * @example [ + * "backups", + * "private_networking", + * "ipv6" + * ] + */ + features: string[]; + /** + * @description An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. + * @example [ + * 53893572 + * ] + */ + backup_ids: number[]; + /** @description The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. */ + next_backup_window: { + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. + * @example 2019-12-04T00:00:00Z + */ + start?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. + * @example 2019-12-04T23:00:00Z + */ + end?: string; + } | null; + /** + * @description An array of snapshot IDs of any snapshots created from the Droplet instance. + * @example [ + * 67512819 + * ] + */ + snapshot_ids: number[]; + image: components["schemas"]["image"]; + /** + * @description A flat array including the unique identifier for each Block Storage volume attached to the Droplet. + * @example [ + * "506f78a4-e098-11e5-ad9f-000f53306ae1" + * ] + */ + volume_ids: string[]; + size: components["schemas"]["size"]; + /** + * @description The unique slug identifier for the size of this Droplet. + * @example s-1vcpu-1gb + */ + size_slug: string; + /** @description The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. */ + networks: { + v4?: components["schemas"]["network_v4"][]; + v6?: components["schemas"]["network_v6"][]; + }; + region: components["schemas"]["region"]; + /** + * @description An array of Tags the Droplet has been tagged with. + * @example [ + * "web", + * "env:prod" + * ] + */ + tags: string[]; + /** + * @description A string specifying the UUID of the VPC to which the Droplet is assigned. + * @example 760e09ef-dc84-11e8-981e-3cfdfeaae000 + */ + vpc_uuid?: string; + }; + droplet_create: { + /** + * @description The slug identifier for the region that you wish to deploy the Droplet in. If the specific datacenter is not not important, a slug prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the that region's locations (`nyc1`, `nyc2`, or `nyc3`). If the region is omitted from the create request completely, the Droplet may deploy in any region. + * @example nyc3 + */ + region?: string; + /** + * @description The slug identifier for the size that you wish to select for this Droplet. + * @example s-1vcpu-1gb + */ + size: string; + /** + * @description The image ID of a public or private image or the slug identifier for a public image. This image will be the base image for your Droplet. + * @example ubuntu-20-04-x64 + */ + image: string | number; + /** + * @description An array containing the IDs or fingerprints of the SSH keys that you wish to embed in the Droplet's root account upon creation. + * @default [] + * @example [ + * 289794, + * "3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45" + * ] + */ + ssh_keys: (string | number)[]; + /** + * @description A boolean indicating whether automated backups should be enabled for the Droplet. + * @default false + * @example true + */ + backups: boolean; + /** + * @description A boolean indicating whether to enable IPv6 on the Droplet. + * @default false + * @example true + */ + ipv6: boolean; + /** + * @description A boolean indicating whether to install the DigitalOcean agent for monitoring. + * @default false + * @example true + */ + monitoring: boolean; + /** + * @description A flat array of tag names as strings to apply to the Droplet after it is created. Tag names can either be existing or new tags. + * @default [] + * @example [ + * "env:prod", + * "web" + * ] + */ + tags: string[] | null; + /** + * @description A string containing 'user data' which may be used to configure the Droplet on first boot, often a 'cloud-config' file or Bash script. It must be plain text and may not exceed 64 KiB in size. + * @example #cloud-config + * runcmd: + * - touch /test.txt + * + */ + user_data?: string; + /** + * @deprecated + * @description This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. + * @default false + * @example true + */ + private_networking: boolean; + /** + * @description An array of IDs for block storage volumes that will be attached to the Droplet once created. The volumes must not already be attached to an existing Droplet. + * @default [] + * @example [ + * "12e97116-7280-11ed-b3d0-0a58ac146812" + * ] + */ + volumes: string[]; + /** + * @description A string specifying the UUID of the VPC to which the Droplet will be assigned. If excluded, the Droplet will be assigned to your account's default VPC for the region. + * @example 760e09ef-dc84-11e8-981e-3cfdfeaae000 + */ + vpc_uuid?: string; + /** + * @description A boolean indicating whether to install the DigitalOcean agent used for providing access to the Droplet web console in the control panel. By default, the agent is installed on new Droplets but installation errors (i.e. OS not supported) are ignored. To prevent it from being installed, set to `false`. To make installation errors fatal, explicitly set it to `true`. + * @example true + */ + with_droplet_agent?: boolean; + }; + /** Single Droplet Request */ + droplet_single_create: { + /** + * @description The human-readable string you wish to use when displaying the Droplet name. The name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. The name set during creation will also determine the hostname for the Droplet in its internal configuration. + * @example example.com + */ + name: string; + } & components["schemas"]["droplet_create"]; + /** Multiple Droplet Request */ + droplet_multi_create: { + /** + * @description An array of human human-readable strings you wish to use when displaying the Droplet name. Each name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. Each name set during creation will also determine the hostname for the Droplet in its internal configuration. + * @example [ + * "sub-01.example.com", + * "sub-02.example.com" + * ] + */ + names: string[]; + } & components["schemas"]["droplet_create"]; + /** @description The linked actions can be used to check the status of a Droplet's create event. */ + action_link: { + /** + * @description A unique numeric ID that can be used to identify and reference an action. + * @example 7515 + */ + id?: number; + /** + * @description A string specifying the type of the related action. + * @example create + */ + rel?: string; + /** + * Format: uri + * @description A URL that can be used to access the action. + * @example https://api.digitalocean.com/v2/actions/7515 + */ + href?: string; + }; + snapshots_base: { + /** + * @description A human-readable name for the snapshot. + * @example web-01-1595954862243 + */ + name: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the snapshot was created. + * @example 2020-07-28T16:47:44Z + */ + created_at: string; + /** + * @description An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. + * @example [ + * "nyc3", + * "sfo3" + * ] + */ + regions: string[]; + /** + * @description The minimum size in GB required for a volume or Droplet to use this snapshot. + * @example 25 + */ + min_disk_size: number; + /** + * Format: float + * @description The billable size of the snapshot in gigabytes. + * @example 2.34 + */ + size_gigabytes: number; + }; + droplet_snapshot: { + /** + * @description The unique identifier for the snapshot or backup. + * @example 6372321 + */ + id: number; + } & components["schemas"]["snapshots_base"] & { + /** + * @description Describes the kind of image. It may be one of `snapshot` or `backup`. This specifies whether an image is a user-generated Droplet snapshot or automatically created Droplet backup. + * @example snapshot + * @enum {string} + */ + type: "snapshot" | "backup"; + }; + /** @description Specifies the action that will be taken on the Droplet. */ + droplet_action: { + /** + * @description The type of action to initiate for the Droplet. + * @example reboot + * @enum {string} + */ + type: "enable_backups" | "disable_backups" | "reboot" | "power_cycle" | "shutdown" | "power_off" | "power_on" | "restore" | "password_reset" | "resize" | "rebuild" | "rename" | "change_kernel" | "enable_ipv6" | "snapshot"; + }; + droplet_action_restore: components["schemas"]["droplet_action"] & { + /** + * @description The ID of a backup of the current Droplet instance to restore from. + * @example 12389723 + */ + image?: number; + }; + droplet_action_resize: components["schemas"]["droplet_action"] & { + /** + * @description When `true`, the Droplet's disk will be resized in addition to its RAM and CPU. This is a permanent change and cannot be reversed as a Droplet's disk size cannot be decreased. + * @example true + */ + disk?: boolean; + /** + * @description The slug identifier for the size to which you wish to resize the Droplet. + * @example s-2vcpu-2gb + */ + size?: string; + }; + droplet_action_rebuild: components["schemas"]["droplet_action"] & { + /** + * @description The image ID of a public or private image or the slug identifier for a public image. The Droplet will be rebuilt using this image as its base. + * @example ubuntu-20-04-x64 + */ + image?: string | number; + }; + droplet_action_rename: components["schemas"]["droplet_action"] & { + /** + * @description The new name for the Droplet. + * @example nifty-new-name + */ + name?: string; + }; + droplet_action_change_kernel: components["schemas"]["droplet_action"] & { + /** + * @description A unique number used to identify and reference a specific kernel. + * @example 12389723 + */ + kernel?: number; + }; + droplet_action_snapshot: components["schemas"]["droplet_action"] & { + /** + * @description The name to give the new snapshot of the Droplet. + * @example Nifty New Snapshot + */ + name?: string; + }; + firewall_rule_base: { + /** + * @description The type of traffic to be allowed. This may be one of `tcp`, `udp`, or `icmp`. + * @example tcp + * @enum {string} + */ + protocol: "tcp" | "udp" | "icmp"; + /** + * @description The ports on which traffic will be allowed specified as a string containing a single port, a range (e.g. "8000-9000"), or "0" when all ports are open for a protocol. For ICMP rules this parameter will always return "0". + * @example 8000 + */ + ports: string; + }; + firewall_rule_target: { + /** + * @description An array of strings containing the IPv4 addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the firewall will allow traffic. + * @example [ + * "1.2.3.4", + * "18.0.0.0/8" + * ] + */ + addresses?: string[]; + /** + * @description An array containing the IDs of the Droplets to which the firewall will allow traffic. + * @example [ + * 8043964 + * ] + */ + droplet_ids?: number[]; + /** + * @description An array containing the IDs of the load balancers to which the firewall will allow traffic. + * @example [ + * "4de7ac8b-495b-4884-9a69-1050c6793cd6" + * ] + */ + load_balancer_uids?: string[]; + /** + * @description An array containing the IDs of the Kubernetes clusters to which the firewall will allow traffic. + * @example [ + * "41b74c5d-9bd0-5555-5555-a57c495b81a3" + * ] + */ + kubernetes_ids?: string[]; + tags?: components["schemas"]["tags_array"] & unknown; + }; + firewall_rules: { + inbound_rules?: (components["schemas"]["firewall_rule_base"] & { + sources: components["schemas"]["firewall_rule_target"] & unknown; + })[] | null; + outbound_rules?: (components["schemas"]["firewall_rule_base"] & { + destinations: components["schemas"]["firewall_rule_target"] & unknown; + })[] | null; + }; + firewall: { + /** + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c + */ + readonly id?: string; + /** + * @description A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". + * @example waiting + * @enum {string} + */ + readonly status?: "waiting" | "succeeded" | "failed"; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the firewall was created. + * @example 2020-05-23T21:24:00Z + */ + readonly created_at?: string; + /** + * @description An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied. + * @example [ + * { + * "droplet_id": 8043964, + * "removing": false, + * "status": "waiting" + * } + * ] + */ + readonly pending_changes?: { + /** @example 8043964 */ + droplet_id?: number; + /** @example false */ + removing?: boolean; + /** @example waiting */ + status?: string; + }[]; + /** + * @description A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). + * @example firewall + */ + name?: string; + /** + * @description An array containing the IDs of the Droplets assigned to the firewall. + * @example [ + * 8043964 + * ] + */ + droplet_ids?: number[] | null; + tags?: components["schemas"]["tags_array"] & unknown; + } & components["schemas"]["firewall_rules"]; + /** @description An objects containing information about a resource associated with a Droplet. */ + associated_resource: { + /** + * @description The unique identifier for the resource associated with the Droplet. + * @example 61486916 + */ + id?: string; + /** + * @description The name of the resource associated with the Droplet. + * @example ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + */ + name?: string; + /** + * @description The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed. + * @example 0.05 + */ + cost?: string; + }; + /** @description An object containing information about a resource to be scheduled for deletion. */ + selective_destroy_associated_resource: { + /** + * @deprecated + * @description An array of unique identifiers for the floating IPs to be scheduled for deletion. + * @example [ + * "6186916" + * ] + */ + floating_ips?: string[]; + /** + * @description An array of unique identifiers for the reserved IPs to be scheduled for deletion. + * @example [ + * "6186916" + * ] + */ + reserved_ips?: string[]; + /** + * @description An array of unique identifiers for the snapshots to be scheduled for deletion. + * @example [ + * "61486916" + * ] + */ + snapshots?: string[]; + /** + * @description An array of unique identifiers for the volumes to be scheduled for deletion. + * @example [ + * "ba49449a-7435-11ea-b89e-0a58ac14480f" + * ] + */ + volumes?: string[]; + /** + * @description An array of unique identifiers for the volume snapshots to be scheduled for deletion. + * @example [ + * "edb0478d-7436-11ea-86e6-0a58ac144b91" + * ] + */ + volume_snapshots?: string[]; + }; + /** @description An object containing information about a resource scheduled for deletion. */ + destroyed_associated_resource: { + /** + * @description The unique identifier for the resource scheduled for deletion. + * @example 61486916 + */ + id?: string; + /** + * @description The name of the resource scheduled for deletion. + * @example ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 + */ + name?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. + * @example 2020-04-01T18:11:49Z + */ + destroyed_at?: string; + /** + * @description A string indicating that the resource was not successfully destroyed and providing additional information. + * @example + */ + error_message?: string; + }; + /** @description An objects containing information about a resources scheduled for deletion. */ + associated_resource_status: { + droplet?: components["schemas"]["destroyed_associated_resource"]; + /** @description An object containing additional information about resource related to a Droplet requested to be destroyed. */ + resources?: { + reserved_ips?: components["schemas"]["destroyed_associated_resource"][]; + floating_ips?: components["schemas"]["destroyed_associated_resource"][]; + snapshots?: components["schemas"]["destroyed_associated_resource"][]; + volumes?: components["schemas"]["destroyed_associated_resource"][]; + volume_snapshots?: components["schemas"]["destroyed_associated_resource"][]; + }; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format indicating when the requested action was completed. + * @example 2020-04-01T18:11:49Z + */ + completed_at?: string; + /** + * @description A count of the associated resources that failed to be destroyed, if any. + * @example 0 + */ + failures?: number; + }; + floating_ip: { + /** + * Format: ipv4 + * @description The public IP address of the floating IP. It also serves as its identifier. + * @example 45.55.96.47 + */ + ip?: string; + region?: components["schemas"]["region"] & Record; + /** + * @description The Droplet that the floating IP has been assigned to. When you query a floating IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null. + * @example null + */ + droplet?: Record | components["schemas"]["droplet"]; + /** + * @description A boolean value indicating whether or not the floating IP has pending actions preventing new ones from being submitted. + * @example true + */ + locked?: boolean; + /** + * Format: uuid + * @description The UUID of the project to which the reserved IP currently belongs. + * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 + */ + project_id?: string; + }; + floating_ip_create: { + /** + * @description The ID of the Droplet that the floating IP will be assigned to. + * @example 2457247 + */ + droplet_id: number; + } | { + /** + * @description The slug identifier for the region the floating IP will be reserved to. + * @example nyc3 + */ + region: string; + /** + * Format: uuid + * @description The UUID of the project to which the floating IP will be assigned. + * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 + */ + project_id?: string; + }; + floatingIPsAction: { + /** + * @description The type of action to initiate for the floating IP. + * @enum {string} + */ + type: "assign" | "unassign"; + }; + floating_ip_action_assign: components["schemas"]["floatingIPsAction"] & { + /** + * @description The ID of the Droplet that the floating IP will be assigned to. + * @example 758604968 + */ + droplet_id: number; + }; + floating_ip_action_unassign: components["schemas"]["floatingIPsAction"] & Record; + namespace_info: { + /** + * @description The namespace's API hostname. Each function in a namespace is provided an endpoint at the namespace's hostname. + * @example https://api_host.io + */ + api_host?: string; + /** + * @description A unique string format of UUID with a prefix fn-. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + */ + namespace?: string; + /** + * @description UTC time string. + * @example 2022-09-14T04:16:45Z + */ + created_at?: string; + /** + * @description UTC time string. + * @example 2022-09-14T04:16:45Z + */ + updated_at?: string; + /** + * @description The namespace's unique name. + * @example my namespace + */ + label?: string; + /** + * @description The namespace's datacenter region. + * @example nyc1 + */ + region?: string; + /** + * @description The namespace's Universally Unique Identifier. + * @example xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + */ + uuid?: string; + /** + * @description A random alpha numeric string. This key is used in conjunction with the namespace's UUID to authenticate + * a user to use the namespace via `doctl`, DigitalOcean's official CLI. + * @example d1zcd455h01mqjfs4s2eaewyejehi5f2uj4etqq3h7cera8iwkub6xg5of1wdde2 + */ + key?: string; + }; + create_namespace: { + /** + * @description The [datacenter region](https://docs.digitalocean.com/products/platform/availability-matrix/#available-datacenters) in which to create the namespace. + * @example nyc1 + */ + region: string; + /** + * @description The namespace's unique name. + * @example my namespace + */ + label: string; + }; + /** @description Trigger details for SCHEDULED type, where body is optional. + * */ + scheduled_details: { + /** + * @description valid cron expression string which is required for SCHEDULED type triggers. + * @example * * * * * + */ + cron: string; + /** @description Optional data to be sent to function while triggering the function. */ + body?: { + /** @example Welcome to DO! */ + name?: string; + } | null; + }; + trigger_info: { + /** + * @description A unique string format of UUID with a prefix fn-. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + */ + namespace?: string; + /** + * @description The trigger's unique name within the namespace. + * @example my trigger + */ + name?: string; + /** + * @description Name of function(action) that exists in the given namespace. + * @example hello + */ + function?: string; + /** + * @description String which indicates the type of trigger source like SCHEDULED. + * @example SCHEDULED + */ + type?: string; + /** + * @description Indicates weather the trigger is paused or unpaused. + * @example true + */ + is_enabled?: boolean; + /** + * @description UTC time string. + * @example 2022-11-11T04:16:45Z + */ + created_at?: string; + /** + * @description UTC time string. + * @example 2022-11-11T04:16:45Z + */ + updated_at?: string; + scheduled_details?: components["schemas"]["scheduled_details"]; + scheduled_runs?: { + /** + * @description Indicates last run time. null value indicates trigger not run yet. + * @example 2022-11-11T04:16:45Z + */ + last_run_at?: string | null; + /** + * @description Indicates next run time. null value indicates trigger will not run. + * @example 2022-11-11T04:16:45Z + */ + next_run_at?: string | null; + }; + }; + create_trigger: { + /** + * @description The trigger's unique name within the namespace. + * @example my trigger + */ + name: string; + /** + * @description Name of function(action) that exists in the given namespace. + * @example hello + */ + function: string; + /** + * @description One of different type of triggers. Currently only SCHEDULED is supported. + * @example SCHEDULED + */ + type: string; + /** + * @description Indicates weather the trigger is paused or unpaused. + * @example true + */ + is_enabled: boolean; + scheduled_details: components["schemas"]["scheduled_details"]; + }; + update_trigger: { + /** + * @description Indicates weather the trigger is paused or unpaused. + * @example true + */ + is_enabled?: boolean; + scheduled_details?: components["schemas"]["scheduled_details"]; + }; + image_update: { + name?: components["schemas"]["image_name"]; + distribution?: components["schemas"]["distribution"]; + description?: components["schemas"]["image_description"]; + }; + /** @example { + * "name": "ubuntu-18.04-minimal", + * "url": "http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img", + * "distribution": "Ubuntu", + * "region": "nyc3", + * "description": "Cloud-optimized image w/ small footprint", + * "tags": [ + * "base-image", + * "prod" + * ] + * } */ + image_new_custom: WithRequired; + image_action_base: { + /** + * @description The action to be taken on the image. Can be either `convert` or `transfer`. + * @example convert + * @enum {string} + */ + type: "convert" | "transfer"; + }; + image_action_transfer: components["schemas"]["image_action_base"] & { + region: components["schemas"]["region_slug"]; + }; + kubernetes_node_pool_size: { + /** + * @description The slug identifier for the type of Droplet used as workers in the node pool. + * @example s-1vcpu-2gb + */ + size?: string; + }; + kubernetes_node_pool_taint: { + /** + * @description An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + * @example priority + */ + key?: string; + /** + * @description An arbitrary string. The `key` and `value` fields of the `taint` object form a key-value pair. For example, if the value of the `key` field is "special" and the value of the `value` field is "gpu", the key value pair would be `special=gpu`. + * @example high + */ + value?: string; + /** + * @description How the node reacts to pods that it won't tolerate. Available effect values are `NoSchedule`, `PreferNoSchedule`, and `NoExecute`. + * @example NoSchedule + * @enum {string} + */ + effect?: "NoSchedule" | "PreferNoSchedule" | "NoExecute"; + }; + node: { + /** + * Format: uuid + * @description A unique ID that can be used to identify and reference the node. + * @example e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + */ + id?: string; + /** + * @description An automatically generated, human-readable name for the node. + * @example adoring-newton-3niq + */ + name?: string; + /** @description An object containing a `state` attribute whose value is set to a string indicating the current status of the node. */ + status?: { + /** + * @description A string indicating the current status of the node. + * @example provisioning + * @enum {string} + */ + state?: "provisioning" | "running" | "draining" | "deleting"; + }; + /** + * @description The ID of the Droplet used for the worker node. + * @example 205545370 + */ + droplet_id?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the node was created. + * @example 2018-11-15T16:00:11Z + */ + created_at?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the node was last updated. + * @example 2018-11-15T16:00:11Z + */ + updated_at?: string; + }; + kubernetes_node_pool_base: { + /** + * Format: uuid + * @description A unique ID that can be used to identify and reference a specific node pool. + * @example cdda885e-7663-40c8-bc74-3a036c66545d + */ + readonly id?: string; + /** + * @description A human-readable name for the node pool. + * @example frontend-pool + */ + name?: string; + /** + * @description The number of Droplet instances in the node pool. + * @example 3 + */ + count?: number; + /** + * @description An array containing the tags applied to the node pool. All node pools are automatically tagged `k8s`, `k8s-worker`, and `k8s:$K8S_CLUSTER_ID`. + * @example [ + * "k8s", + * "k8s:bd5f5959-5e1e-4205-a714-a914373942af", + * "k8s-worker", + * "production", + * "web-team" + * ] + */ + tags?: string[]; + /** + * @description An object of key/value mappings specifying labels to apply to all nodes in a pool. Labels will automatically be applied to all existing nodes and any subsequent nodes added to the pool. Note that when a label is removed, it is not deleted from the nodes in the pool. + * @example null + */ + labels?: Record; + /** @description An array of taints to apply to all nodes in a pool. Taints will automatically be applied to all existing nodes and any subsequent nodes added to the pool. When a taint is removed, it is deleted from all nodes in the pool. */ + taints?: components["schemas"]["kubernetes_node_pool_taint"][]; + /** + * @description A boolean value indicating whether auto-scaling is enabled for this node pool. + * @example true + */ + auto_scale?: boolean; + /** + * @description The minimum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + * @example 3 + */ + min_nodes?: number; + /** + * @description The maximum number of nodes that this node pool can be auto-scaled to. The value will be `0` if `auto_scale` is set to `false`. + * @example 6 + */ + max_nodes?: number; + /** @description An object specifying the details of a specific worker node in a node pool. */ + readonly nodes?: components["schemas"]["node"][]; + }; + kubernetes_node_pool: WithRequired; + /** @description An object specifying the maintenance window policy for the Kubernetes cluster. */ + maintenance_policy: { + /** + * @description The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). + * @example 12:00 + */ + start_time?: string; + /** + * @description The duration of the maintenance window policy in human-readable format. + * @example 4h0m0s + */ + readonly duration?: string; + /** + * @description The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. + * @example any + * @enum {string} + */ + day?: "any" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; + } | null; + cluster: { + /** + * Format: uuid + * @description A unique ID that can be used to identify and reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + readonly id?: string; + /** + * @description A human-readable name for a Kubernetes cluster. + * @example prod-cluster-01 + */ + name: string; + /** + * @description The slug identifier for the region where the Kubernetes cluster is located. + * @example nyc1 + */ + region: string; + /** + * @description The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. + * @example 1.18.6-do.0 + */ + version: string; + /** + * Format: cidr + * @description The range of IP addresses in the overlay network of the Kubernetes cluster in CIDR notation. + * @example 10.244.0.0/16 + */ + readonly cluster_subnet?: string; + /** + * @description The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. + * @example 10.245.0.0/16 + */ + readonly service_subnet?: string; + /** + * Format: uuid + * @description A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned. + * @example c33931f2-a26a-4e61-b85c-4e95a2ec431b + */ + vpc_uuid?: string; + /** + * @description The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+) + * @example 68.183.121.157 + */ + readonly ipv4?: string; + /** + * @description The base URL of the API server on the Kubernetes master node. + * @example https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + */ + readonly endpoint?: string; + /** + * @description An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. + * @example [ + * "k8s", + * "k8s:bd5f5959-5e1e-4205-a714-a914373942af", + * "production", + * "web-team" + * ] + */ + tags?: string[]; + /** @description An object specifying the details of the worker nodes available to the Kubernetes cluster. */ + node_pools: components["schemas"]["kubernetes_node_pool"][]; + maintenance_policy?: components["schemas"]["maintenance_policy"]; + /** + * @description A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. + * @default false + * @example true + */ + auto_upgrade: boolean; + /** @description An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster. */ + readonly status?: { + /** + * @description A string indicating the current status of the cluster. + * @example provisioning + * @enum {string} + */ + state?: "running" | "provisioning" | "degraded" | "error" | "deleted" | "upgrading" | "deleting"; + /** + * @description An optional message providing additional information about the current cluster state. + * @example provisioning + */ + message?: string; + }; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created. + * @example 2018-11-15T16:00:11Z + */ + readonly created_at?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated. + * @example 2018-11-15T16:00:11Z + */ + readonly updated_at?: string; + /** + * @description A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. + * @default false + * @example true + */ + surge_upgrade: boolean; + /** + * @description A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. + * @default false + * @example true + */ + ha: boolean; + /** + * @description A read-only boolean value indicating if a container registry is integrated with the cluster. + * @example true + */ + readonly registry_enabled?: boolean; + }; + cluster_update: { + /** + * @description A human-readable name for a Kubernetes cluster. + * @example prod-cluster-01 + */ + name: string; + /** + * @description An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. + * @example [ + * "k8s", + * "k8s:bd5f5959-5e1e-4205-a714-a914373942af", + * "production", + * "web-team" + * ] + */ + tags?: string[]; + maintenance_policy?: components["schemas"]["maintenance_policy"]; + /** + * @description A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. + * @default false + * @example true + */ + auto_upgrade: boolean; + /** + * @description A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. + * @default false + * @example true + */ + surge_upgrade: boolean; + /** + * @description A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. + * @default false + * @example true + */ + ha: boolean; + }; + associated_kubernetes_resource: { + /** + * @description The ID of a resource associated with a Kubernetes cluster. + * @example edb0478d-7436-11ea-86e6-0a58ac144b91 + */ + id?: string; + /** + * @description The name of a resource associated with a Kubernetes cluster. + * @example volume-001 + */ + name?: string; + }; + /** @description An object containing the IDs of resources associated with a Kubernetes cluster. */ + associated_kubernetes_resources: { + /** + * @description A list of names and IDs for associated load balancers that can be destroyed along with the cluster. + * @example [ + * { + * "id": "4de7ac8b-495b-4884-9a69-1050c6793cd6", + * "name": "lb-001" + * } + * ] + */ + load_balancers?: components["schemas"]["associated_kubernetes_resource"][]; + /** + * @description A list of names and IDs for associated volumes that can be destroyed along with the cluster. + * @example [ + * { + * "id": "ba49449a-7435-11ea-b89e-0a58ac14480f", + * "name": "volume-001" + * } + * ] + */ + volumes?: components["schemas"]["associated_kubernetes_resource"][]; + /** + * @description A list of names and IDs for associated volume snapshots that can be destroyed along with the cluster. + * @example [ + * { + * "id": "edb0478d-7436-11ea-86e6-0a58ac144b91", + * "name": "snapshot-001" + * } + * ] + */ + volume_snapshots?: components["schemas"]["associated_kubernetes_resource"][]; + }; + /** @description An object containing the IDs of resources to be destroyed along with their associated with a Kubernetes cluster. */ + destroy_associated_kubernetes_resources: { + /** + * @description A list of IDs for associated load balancers to destroy along with the cluster. + * @example [ + * "4de7ac8b-495b-4884-9a69-1050c6793cd6" + * ] + */ + load_balancers?: string[]; + /** + * @description A list of IDs for associated volumes to destroy along with the cluster. + * @example [ + * "ba49449a-7435-11ea-b89e-0a58ac14480f" + * ] + */ + volumes?: string[]; + /** + * @description A list of IDs for associated volume snapshots to destroy along with the cluster. + * @example [ + * "edb0478d-7436-11ea-86e6-0a58ac144b91" + * ] + */ + volume_snapshots?: string[]; + }; + credentials: { + /** + * Format: uri + * @description The URL used to access the cluster API server. + * @example https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com + */ + server?: string; + /** + * Format: byte + * @description A base64 encoding of bytes representing the certificate authority data for accessing the cluster. + * @example LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKekNDQWcrZ0F3SUJBZ0lDQm5Vd0RRWUpLb1pJaHZjTkFRRUxCUUF3TXpFVk1CTUdBMVVFQ2hNTVJHbG4KYVhSaGJFOWpaV0Z1TVJvd0dBWURWUVFERXhGck9ITmhZWE1nUTJ4MWMzUmxjaUJEUVRBZUZ3MHlNREE0TURNeApOVEkxTWpoYUZ3MDBNREE0TURNeE5USTFNamhhTURNeEZUQVRCZ05WQkFvVERFUnBaMmwwWVd4UFkyVmhiakVhCk1CZ0dBMVVFQXhNUmF6aHpZV0Z6SUVOc2RYTjBaWElnUTBFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUIKRHdBd2dnRUtBb0lCQVFDc21oa2JrSEpUcGhZQlN0R05VVE1ORVZTd2N3bmRtajArelQvcUZaNGsrOVNxUnYrSgpBd0lCaGpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1CMEdBMVVkRGdRV0JCUlRzazhhZ1hCUnFyZXdlTXJxClhwa3E1NXg5dVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXB6V2F6bXNqYWxXTEx3ZjVpbWdDblNINDlKcGkKYWkvbzFMdEJvVEpleGdqZzE1ZVppaG5BMUJMc0lWNE9BZGM3UEFsL040L0hlbENrTDVxandjamRnNVdaYnMzYwozcFVUQ0g5bVVwMFg1SVdhT1VKV292Q1hGUlM1R2VKYXlkSDVPUXhqTURzR2N2UlNvZGQrVnQ2MXE3aWdFZ2I1CjBOZ1l5RnRnc2p0MHpJN3hURzZFNnlsOVYvUmFoS3lIQks2eExlM1RnUGU4SXhWa2RwT3QzR0FhSDRaK0pLR3gKYisyMVZia1NnRE1QQTlyR0VKNVZwVXlBV0FEVXZDRVFHV0hmNGpQN2ZGZlc3T050S0JWY3h3YWFjcVBVdUhzWApwRG5DZVR3V1NuUVp6L05xNmQxWUtsMFdtbkwzTEowemJzRVFGbEQ4MkkwL09MY2dZSDVxMklOZHhBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + */ + certificate_authority_data?: string; + /** + * Format: byte + * @deprecated + * @description A base64 encoding of bytes representing the x509 client + * certificate data for access the cluster. This is only returned for clusters + * without support for token-based authentication. + * + * Newly created Kubernetes clusters do not return credentials using + * certificate-based authentication. For additional information, + * [see here](https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/#authenticate). + * + * @example null + */ + client_certificate_data?: string | null; + /** + * Format: byte + * @deprecated + * @description A base64 encoding of bytes representing the x509 client key + * data for access the cluster. This is only returned for clusters without + * support for token-based authentication. + * + * Newly created Kubernetes clusters do not return credentials using + * certificate-based authentication. For additional information, + * [see here](https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/#authenticate). + * + * @example null + */ + client_key_data?: string | null; + /** + * @description An access token used to authenticate with the cluster. This is only returned for clusters with support for token-based authentication. + * @example $DIGITALOCEAN_TOKEN + */ + token?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the access token expires. + * @example 2019-11-09T11:50:28.889080521Z + */ + expires_at?: string; + }; + kubernetes_version: { + /** + * @description The slug identifier for an available version of Kubernetes for use when creating or updating a cluster. The string contains both the upstream version of Kubernetes as well as the DigitalOcean revision. + * @example 1.16.13-do.0 + */ + slug?: string; + /** + * @description The upstream version string for the version of Kubernetes provided by a given slug. + * @example 1.16.13 + */ + kubernetes_version?: string; + /** + * @description The features available with the version of Kubernetes provided by a given slug. + * @example [ + * "cluster-autoscaler", + * "docr-integration", + * "token-authentication" + * ] + */ + supported_features?: string[]; + }; + kubernetes_node_pool_update: WithRequired; + user: { + kubernetes_cluster_user?: { + /** + * Format: email + * @description The username for the cluster admin user. + * @example sammy@digitalocean.com + */ + username?: string; + /** + * @description A list of in-cluster groups that the user belongs to. + * @example [ + * "k8saas:authenticated" + * ] + */ + groups?: string[]; + }; + }; + kubernetes_region: { + /** + * @description A DigitalOcean region where Kubernetes is available. + * @example New York 3 + */ + name?: string; + /** + * @description The identifier for a region for use when creating a new cluster. + * @example nyc3 + */ + slug?: string; + }; + kubernetes_size: { + /** + * @description A Droplet size available for use in a Kubernetes node pool. + * @example s-1vcpu-2gb + */ + name?: string; + /** + * @description The identifier for a size for use when creating a new cluster. + * @example s-1vcpu-2gb + */ + slug?: string; + }; + kubernetes_options: { + options?: { + regions?: components["schemas"]["kubernetes_region"][]; + versions?: components["schemas"]["kubernetes_version"][]; + sizes?: components["schemas"]["kubernetes_size"][]; + }; + }; + clusterlint_results: { + /** + * @description Id of the clusterlint run that can be used later to fetch the diagnostics. + * @example 50c2f44c-011d-493e-aee5-361a4a0d1844 + */ + run_id?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was made. + * @example 2019-10-30T05:34:07Z + */ + requested_at?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was completed. + * @example 2019-10-30T05:34:11Z + */ + completed_at?: string; + /** @description An array of diagnostics reporting potential problems for the given cluster. */ + diagnostics?: { + /** + * @description The clusterlint check that resulted in the diagnostic. + * @example unused-config-map + */ + check_name?: string; + /** + * @description Can be one of error, warning or suggestion. + * @example warning + */ + severity?: string; + /** + * @description Feedback about the object for users to fix. + * @example Unused config map + */ + message?: string; + /** @description Metadata about the Kubernetes API object the diagnostic is reported on. */ + object?: { + /** + * @description Name of the object + * @example foo + */ + name?: string; + /** + * @description The kind of Kubernetes API object + * @example config map + */ + kind?: string; + /** + * @description The namespace the object resides in the cluster. + * @example kube-system + */ + namespace?: string; + }; + }[]; + }; + clusterlint_request: { + /** + * @description An array of check groups that will be run when clusterlint executes checks. + * @example [ + * "basic", + * "doks", + * "security" + * ] + */ + include_groups?: string[]; + /** + * @description An array of checks that will be run when clusterlint executes checks. + * @example [ + * "bare-pods", + * "resource-requirements" + * ] + */ + include_checks?: string[]; + /** + * @description An array of check groups that will be omitted when clusterlint executes checks. + * @example [ + * "workload-health" + * ] + */ + exclude_groups?: string[]; + /** + * @description An array of checks that will be run when clusterlint executes checks. + * @example [ + * "default-namespace" + * ] + */ + exclude_checks?: string[]; + }; + cluster_registries: { + /** + * @description An array containing the UUIDs of Kubernetes clusters. + * @example [ + * "bd5f5959-5e1e-4205-a714-a914373942af", + * "50c2f44c-011d-493e-aee5-361a4a0d1844" + * ] + */ + cluster_uuids?: string[]; + }; + /** @description An object specifying a forwarding rule for a load balancer. */ + forwarding_rule: { + /** + * @description The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + * + * @example https + * @enum {string} + */ + entry_protocol: "http" | "https" | "http2" | "http3" | "tcp" | "udp"; + /** + * @description An integer representing the port on which the load balancer instance will listen. + * @example 443 + */ + entry_port: number; + /** + * @description The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. + * + * @example http + * @enum {string} + */ + target_protocol: "http" | "https" | "http2" | "tcp" | "udp"; + /** + * @description An integer representing the port on the backend Droplets to which the load balancer will send traffic. + * @example 80 + */ + target_port: number; + /** + * @description The ID of the TLS certificate used for SSL termination if enabled. + * @example 892071a0-bb95-49bc-8021-3afd67a210bf + */ + certificate_id?: string; + /** + * @description A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. + * @example false + */ + tls_passthrough?: boolean; + }; + /** @description An object specifying health check settings for the load balancer. */ + health_check: { + /** + * @description The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. + * @default http + * @example http + * @enum {string} + */ + protocol: "http" | "https" | "tcp"; + /** + * @description An integer representing the port on the backend Droplets on which the health check will attempt a connection. + * @default 80 + * @example 80 + */ + port: number; + /** + * @description The path on the backend Droplets to which the load balancer instance will send a request. + * @default / + * @example / + */ + path: string; + /** + * @description The number of seconds between between two consecutive health checks. + * @default 10 + * @example 10 + */ + check_interval_seconds: number; + /** + * @description The number of seconds the load balancer instance will wait for a response until marking a health check as failed. + * @default 5 + * @example 5 + */ + response_timeout_seconds: number; + /** + * @description The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. + * @default 5 + * @example 5 + */ + unhealthy_threshold: number; + /** + * @description The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. + * @default 3 + * @example 3 + */ + healthy_threshold: number; + }; + /** @description An object specifying sticky sessions settings for the load balancer. */ + sticky_sessions: { + /** + * @description An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. + * @default none + * @example cookies + * @enum {string} + */ + type: "cookies" | "none"; + /** + * @description The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. + * @example DO-LB + */ + cookie_name?: string; + /** + * @description The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. + * @example 300 + */ + cookie_ttl_seconds?: number; + }; + /** @description An object specifying allow and deny rules to control traffic to the load balancer. */ + lb_firewall: { + /** + * @description the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + * @default [] + * @example [ + * "ip:1.2.3.4", + * "cidr:2.3.0.0/16" + * ] + */ + deny: string[]; + /** + * @description the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') + * @default [] + * @example [ + * "ip:1.2.3.4", + * "cidr:2.3.0.0/16" + * ] + */ + allow: string[]; + }; + load_balancer_base: { + /** + * Format: uuid + * @description A unique ID that can be used to identify and reference a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + readonly id?: string; + /** + * @description A human-readable name for a load balancer instance. + * @example example-lb-01 + */ + name?: string; + /** + * @description The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + project_id?: string; + /** + * @description An attribute containing the public-facing IP address of the load balancer. + * @example 104.131.186.241 + */ + readonly ip?: string; + /** + * @description How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. + * @default 1 + * @example 3 + */ + size_unit: number; + /** + * @deprecated + * @description This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. + * * `lb-small` = 1 node + * * `lb-medium` = 3 nodes + * * `lb-large` = 6 nodes + * + * You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. + * @default lb-small + * @example lb-small + * @enum {string} + */ + size: "lb-small" | "lb-medium" | "lb-large"; + /** + * @deprecated + * @description This field has been deprecated. You can no longer specify an algorithm for load balancers. + * @default round_robin + * @example round_robin + * @enum {string} + */ + algorithm: "round_robin" | "least_connections"; + /** + * @description A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. + * @example new + * @enum {string} + */ + readonly status?: "new" | "active" | "errored"; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the load balancer was created. + * @example 2017-02-01T22:22:58Z + */ + readonly created_at?: string; + /** @description An array of objects specifying the forwarding rules for a load balancer. */ + forwarding_rules: components["schemas"]["forwarding_rule"][]; + health_check?: components["schemas"]["health_check"]; + sticky_sessions?: components["schemas"]["sticky_sessions"]; + /** + * @description A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. + * @default false + * @example true + */ + redirect_http_to_https: boolean; + /** + * @description A boolean value indicating whether PROXY Protocol is in use. + * @default false + * @example true + */ + enable_proxy_protocol: boolean; + /** + * @description A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. + * @default false + * @example true + */ + enable_backend_keepalive: boolean; + /** + * @description An integer value which configures the idle timeout for HTTP requests to the target droplets. + * @default 60 + * @example 90 + */ + http_idle_timeout_seconds: number; + /** + * Format: uuid + * @description A string specifying the UUID of the VPC to which the load balancer is assigned. + * @example c33931f2-a26a-4e61-b85c-4e95a2ec431b + */ + vpc_uuid?: string; + /** + * @description A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. + * @default false + * @example true + */ + disable_lets_encrypt_dns_records: boolean; + firewall?: components["schemas"]["lb_firewall"]; + }; + load_balancer: components["schemas"]["load_balancer_base"] & { + region?: unknown & components["schemas"]["region"]; + } & { + /** + * @description An array containing the IDs of the Droplets assigned to the load balancer. + * @example [ + * 3164444, + * 3164445 + * ] + */ + droplet_ids?: number[]; + } & { + /** + * @description The name of a Droplet tag corresponding to Droplets assigned to the load balancer. + * @example prod:web + */ + tag?: string; + }; + load_balancer_create: WithRequired<{ + /** + * @description An array containing the IDs of the Droplets assigned to the load balancer. + * @example [ + * 3164444, + * 3164445 + * ] + */ + droplet_ids?: number[]; + } & { + region?: components["schemas"]["region_slug"]; + } & components["schemas"]["load_balancer_base"], "droplet_ids" | "region"> | WithRequired<{ + /** + * @description The name of a Droplet tag corresponding to Droplets assigned to the load balancer. + * @example prod:web + */ + tag?: string; + } & { + region?: components["schemas"]["region_slug"]; + } & components["schemas"]["load_balancer_base"], "tag" | "region">; + slack_details: { + /** + * @description Slack channel to notify of an alert trigger. + * @example Production Alerts + */ + channel: string; + /** + * @description Slack Webhook URL. + * @example https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ + */ + url: string; + }; + alerts: { + /** + * @description An email to notify on an alert trigger. + * @example [ + * "bob@exmaple.com" + * ] + */ + email: string[]; + /** @description Slack integration details. */ + slack: components["schemas"]["slack_details"][]; + }; + alert_policy: { + alerts: components["schemas"]["alerts"]; + /** + * @example GreaterThan + * @enum {string} + */ + compare: "GreaterThan" | "LessThan"; + /** @example CPU Alert */ + description: string; + /** @example true */ + enabled: boolean; + /** @example [ + * "192018292" + * ] */ + entities: string[]; + /** @example [ + * "droplet_tag" + * ] */ + tags: string[]; + /** + * @example v1/insights/droplet/cpu + * @enum {string} + */ + type: "v1/insights/droplet/load_1" | "v1/insights/droplet/load_5" | "v1/insights/droplet/load_15" | "v1/insights/droplet/memory_utilization_percent" | "v1/insights/droplet/disk_utilization_percent" | "v1/insights/droplet/cpu" | "v1/insights/droplet/disk_read" | "v1/insights/droplet/disk_write" | "v1/insights/droplet/public_outbound_bandwidth" | "v1/insights/droplet/public_inbound_bandwidth" | "v1/insights/droplet/private_outbound_bandwidth" | "v1/insights/droplet/private_inbound_bandwidth" | "v1/insights/lbaas/avg_cpu_utilization_percent" | "v1/insights/lbaas/connection_utilization_percent" | "v1/insights/lbaas/droplet_health" | "v1/insights/lbaas/tls_connections_per_second_utilization_percent" | "v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx" | "v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx" | "v1/insights/lbaas/increase_in_http_error_rate_count_5xx" | "v1/insights/lbaas/increase_in_http_error_rate_count_4xx" | "v1/insights/lbaas/high_http_request_response_time" | "v1/insights/lbaas/high_http_request_response_time_50p" | "v1/insights/lbaas/high_http_request_response_time_95p" | "v1/insights/lbaas/high_http_request_response_time_99p" | "v1/dbaas/alerts/load_15_alerts" | "v1/dbaas/alerts/memory_utilization_alerts" | "v1/dbaas/alerts/disk_utilization_alerts" | "v1/dbaas/alerts/cpu_alerts"; + /** @example 78b3da62-27e5-49ba-ac70-5db0b5935c64 */ + uuid: string; + /** + * Format: float + * @example 80 + */ + value: number; + /** + * @example 5m + * @enum {string} + */ + window: "5m" | "10m" | "30m" | "1h"; + }; + list_alert_policy: { + policies: components["schemas"]["alert_policy"][]; + }; + alert_policy_request: { + alerts: components["schemas"]["alerts"]; + /** + * @example GreaterThan + * @enum {string} + */ + compare: "GreaterThan" | "LessThan"; + /** @example CPU Alert */ + description: string; + /** @example true */ + enabled: boolean; + /** @example [ + * "192018292" + * ] */ + entities: string[]; + /** @example [ + * "droplet_tag" + * ] */ + tags: string[]; + /** + * @example v1/insights/droplet/cpu + * @enum {string} + */ + type: "v1/insights/droplet/load_1" | "v1/insights/droplet/load_5" | "v1/insights/droplet/load_15" | "v1/insights/droplet/memory_utilization_percent" | "v1/insights/droplet/disk_utilization_percent" | "v1/insights/droplet/cpu" | "v1/insights/droplet/disk_read" | "v1/insights/droplet/disk_write" | "v1/insights/droplet/public_outbound_bandwidth" | "v1/insights/droplet/public_inbound_bandwidth" | "v1/insights/droplet/private_outbound_bandwidth" | "v1/insights/droplet/private_inbound_bandwidth" | "v1/insights/lbaas/avg_cpu_utilization_percent" | "v1/insights/lbaas/connection_utilization_percent" | "v1/insights/lbaas/droplet_health" | "v1/insights/lbaas/tls_connections_per_second_utilization_percent" | "v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx" | "v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx" | "v1/insights/lbaas/increase_in_http_error_rate_count_5xx" | "v1/insights/lbaas/increase_in_http_error_rate_count_4xx" | "v1/insights/lbaas/high_http_request_response_time" | "v1/insights/lbaas/high_http_request_response_time_50p" | "v1/insights/lbaas/high_http_request_response_time_95p" | "v1/insights/lbaas/high_http_request_response_time_99p" | "v1/dbaas/alerts/load_15_alerts" | "v1/dbaas/alerts/memory_utilization_alerts" | "v1/dbaas/alerts/disk_utilization_alerts" | "v1/dbaas/alerts/cpu_alerts"; + /** + * Format: float + * @example 80 + */ + value: number; + /** + * @example 5m + * @enum {string} + */ + window: "5m" | "10m" | "30m" | "1h"; + }; + metrics_result: { + /** + * @description An object containing the metric labels. + * @example { + * "host_id": "19201920" + * } + */ + metric: { + [key: string]: string; + }; + /** @example [ + * [ + * 1435781430, + * "1" + * ], + * [ + * 1435781445, + * "1" + * ] + * ] */ + values: (number | string)[][]; + }; + metrics_data: { + /** @description Result of query. */ + result: components["schemas"]["metrics_result"][]; + /** + * @example matrix + * @enum {string} + */ + resultType: "matrix"; + }; + metrics: { + data: components["schemas"]["metrics_data"]; + /** + * @example success + * @enum {string} + */ + status: "success" | "error"; + }; + project_base: { + /** + * Format: uuid + * @description The unique universal identifier of this project. + * @example 4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679 + */ + readonly id?: string; + /** + * @description The unique universal identifier of the project owner. + * @example 99525febec065ca37b2ffe4f852fd2b2581895e7 + */ + readonly owner_uuid?: string; + /** + * @description The integer id of the project owner. + * @example 258992 + */ + readonly owner_id?: number; + /** + * @description The human-readable name for the project. The maximum length is 175 characters and the name must be unique. + * @example my-web-api + */ + name?: string; + /** + * @description The description of the project. The maximum length is 255 characters. + * @example My website API + */ + description?: string; + /** + * @description The purpose of the project. The maximum length is 255 characters. It can + * have one of the following values: + * + * - Just trying out DigitalOcean + * - Class project / Educational purposes + * - Website or blog + * - Web Application + * - Service or API + * - Mobile Application + * - Machine learning / AI / Data processing + * - IoT + * - Operational / Developer tooling + * + * If another value for purpose is specified, for example, "your custom purpose", + * your purpose will be stored as `Other: your custom purpose`. + * + * @example Service or API + */ + purpose?: string; + /** + * @description The environment of the project's resources. + * @example Production + * @enum {string} + */ + environment?: "Development" | "Staging" | "Production"; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the project was created. + * @example 2018-09-27T20:10:35Z + */ + readonly created_at?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the project was updated. + * @example 2018-09-27T20:10:35Z + */ + readonly updated_at?: string; + }; + project: components["schemas"]["project_base"] & { + /** + * @description If true, all resources will be added to this project if no project is specified. + * @example false + */ + is_default?: boolean; + }; + /** + * @description The uniform resource name (URN) for the resource in the format do:resource_type:resource_id. + * @example do:droplet:13457723 + */ + urn: string; + resource: { + urn?: components["schemas"]["urn"]; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the project was created. + * @example 2018-09-28T19:26:37Z + */ + assigned_at?: string; + /** @description The links object contains the `self` object, which contains the resource relationship. */ + links?: { + /** + * Format: uri + * @description A URI that can be used to retrieve the resource. + * @example https://api.digitalocean.com/v2/droplets/13457723 + */ + self?: string; + }; + /** + * @description The status of assigning and fetching the resources. + * @example ok + * @enum {string} + */ + status?: "ok" | "not_found" | "assigned" | "already_assigned" | "service_down"; + }; + project_assignment: { + /** + * @description A list of uniform resource names (URNs) to be added to a project. + * @example [ + * "do:droplet:13457723" + * ] + */ + resources?: components["schemas"]["urn"][]; + }; + subscription_tier_base: { + /** + * @description The name of the subscription tier. + * @example Basic + */ + name?: string; + /** + * @description The slug identifier of the subscription tier. + * @example basic + */ + slug?: string; + /** + * @description The number of repositories included in the subscription tier. `0` indicates that the subscription tier includes unlimited repositories. + * @example 5 + */ + included_repositories?: number; + /** + * @description The amount of storage included in the subscription tier in bytes. + * @example 5368709120 + */ + included_storage_bytes?: number; + /** + * @description A boolean indicating whether the subscription tier supports additional storage above what is included in the base plan at an additional cost per GiB used. + * @example true + */ + allow_storage_overage?: boolean; + /** + * @description The amount of outbound data transfer included in the subscription tier in bytes. + * @example 5368709120 + */ + included_bandwidth_bytes?: number; + /** + * @description The monthly cost of the subscription tier in cents. + * @example 500 + */ + monthly_price_in_cents?: number; + /** + * @description The price paid in cents per GiB for additional storage beyond what is included in the subscription plan. + * @example 2 + */ + storage_overage_price_in_cents?: number; + }; + subscription: { + tier?: components["schemas"]["subscription_tier_base"]; + /** + * Format: date-time + * @description The time at which the subscription was created. + * @example 2020-01-23T21:19:12Z + */ + readonly created_at?: string; + /** + * Format: date-time + * @description The time at which the subscription was last updated. + * @example 2020-11-05T15:53:24Z + */ + readonly updated_at?: string; + }; + registry: { + /** + * @description A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. + * @example example + */ + name?: string; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format that represents when the registry was created. + * @example 2020-03-21T16:02:37Z + */ + readonly created_at?: string; + /** + * @description Slug of the region where registry data is stored + * @example fra1 + */ + region?: string; + /** + * @description The amount of storage used in the registry in bytes. + * @example 29393920 + */ + readonly storage_usage_bytes?: number; + /** + * Format: date-time + * @description The time at which the storage usage was updated. Storage usage is calculated asynchronously, and may not immediately reflect pushes to the registry. + * @example 2020-11-04T21:39:49.530562231Z + */ + readonly storage_usage_bytes_updated_at?: string; + subscription?: unknown & components["schemas"]["subscription"]; + }; + registry_create: { + /** + * @description A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. + * @example example + */ + name: string; + /** + * @description The slug of the subscription tier to sign up for. Valid values can be retrieved using the options endpoint. + * @example basic + * @enum {string} + */ + subscription_tier_slug: "starter" | "basic" | "professional"; + /** + * @description Slug of the region where registry data is stored. When not provided, a region will be selected. + * @example fra1 + * @enum {string} + */ + region?: "nyc3" | "sfo3" | "ams3" | "sgp1" | "fra1"; + }; + docker_credentials: { + auths?: { + "registry.digitalocean.com"?: { + /** + * @description A base64 encoded string containing credentials for the container registry. + * @example YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODI6YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODIK + */ + auth?: string; + }; + }; + }; + validate_registry: { + /** + * @description A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. + * @example example + */ + name: string; + }; + repository_tag: { + /** + * @description The name of the container registry. + * @example example + */ + registry_name?: string; + /** + * @description The name of the repository. + * @example repo-1 + */ + repository?: string; + /** + * @description The name of the tag. + * @example latest + */ + tag?: string; + /** + * @description The digest of the manifest associated with the tag. + * @example sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + */ + manifest_digest?: string; + /** + * @description The compressed size of the tag in bytes. + * @example 2803255 + */ + compressed_size_bytes?: number; + /** + * @description The uncompressed size of the tag in bytes (this size is calculated asynchronously so it may not be immediately available). + * @example 5861888 + */ + size_bytes?: number; + /** + * Format: date-time + * @description The time the tag was last updated. + * @example 2020-04-09T23:54:25Z + */ + updated_at?: string; + }; + repository: { + /** + * @description The name of the container registry. + * @example example + */ + registry_name?: string; + /** + * @description The name of the repository. + * @example repo-1 + */ + name?: string; + latest_tag?: components["schemas"]["repository_tag"]; + /** + * @description The number of tags in the repository. + * @example 1 + */ + tag_count?: number; + }; + repository_blob: { + /** + * @description The digest of the blob + * @example sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + */ + digest?: string; + /** + * @description The compressed size of the blob in bytes. + * @example 2803255 + */ + compressed_size_bytes?: number; + }; + repository_manifest: { + /** + * @description The name of the container registry. + * @example example + */ + registry_name?: string; + /** + * @description The name of the repository. + * @example repo-1 + */ + repository?: string; + /** + * @description The manifest digest + * @example sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + */ + digest?: string; + /** + * @description The compressed size of the manifest in bytes. + * @example 2803255 + */ + compressed_size_bytes?: number; + /** + * @description The uncompressed size of the manifest in bytes (this size is calculated asynchronously so it may not be immediately available). + * @example 5861888 + */ + size_bytes?: number; + /** + * Format: date-time + * @description The time the manifest was last updated. + * @example 2020-04-09T23:54:25Z + */ + updated_at?: string; + /** + * @description All tags associated with this manifest + * @example [ + * "latest", + * "v1", + * "v2" + * ] + */ + tags?: string[]; + /** @description All blobs associated with this manifest */ + blobs?: components["schemas"]["repository_blob"][]; + }; + repository_v2: { + /** + * @description The name of the container registry. + * @example example + */ + registry_name?: string; + /** + * @description The name of the repository. + * @example repo-1 + */ + name?: string; + latest_manifest?: components["schemas"]["repository_manifest"]; + /** + * @description The number of tags in the repository. + * @example 1 + */ + tag_count?: number; + /** + * @description The number of manifests in the repository. + * @example 1 + */ + manifest_count?: number; + }; + garbage_collection: { + /** + * @description A string specifying the UUID of the garbage collection. + * @example eff0feee-49c7-4e8f-ba5c-a320c109c8a8 + */ + uuid?: string; + /** + * @description The name of the container registry. + * @example example + */ + registry_name?: string; + /** + * @description The current status of this garbage collection. + * @example requested + * @enum {string} + */ + status?: "requested" | "waiting for write JWTs to expire" | "scanning manifests" | "deleting unreferenced blobs" | "cancelling" | "failed" | "succeeded" | "cancelled"; + /** + * Format: date-time + * @description The time the garbage collection was created. + * @example 2020-10-30T21:03:24Z + */ + created_at?: string; + /** + * Format: date-time + * @description The time the garbage collection was last updated. + * @example 2020-10-30T21:03:44Z + */ + updated_at?: string; + /** + * @description The number of blobs deleted as a result of this garbage collection. + * @example 42 + */ + blobs_deleted?: number; + /** + * @description The number of bytes freed as a result of this garbage collection. + * @example 667 + */ + freed_bytes?: number; + }; + update_registry: { + /** + * @description A boolean value indicating that the garbage collection should be cancelled. + * @example true + */ + cancel?: boolean; + }; + subscription_tier_extended: { + /** + * @description A boolean indicating whether your account it eligible to use a certain subscription tier. + * @example true + */ + eligible?: boolean; + /** + * @description If your account is not eligible to use a certain subscription tier, this will include a list of reasons that prevent you from using the tier. + * @example [ + * "OverRepositoryLimit" + * ] + */ + eligibility_reasons?: ("OverRepositoryLimit" | "OverStorageLimit")[]; + }; + neighbor_ids: { + /** + * @description An array of arrays. Each array will contain a set of Droplet IDs for Droplets that share a physical server. + * @example [ + * [ + * 168671828, + * 168663509, + * 168671815 + * ], + * [ + * 168671883, + * 168671750 + * ] + * ] + */ + neighbor_ids?: number[][]; + }; + reserved_ip: { + /** + * Format: ipv4 + * @description The public IP address of the reserved IP. It also serves as its identifier. + * @example 45.55.96.47 + */ + ip?: string; + region?: components["schemas"]["region"] & Record; + /** + * @description The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null. + * @example null + */ + droplet?: Record | components["schemas"]["droplet"]; + /** + * @description A boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted. + * @example true + */ + locked?: boolean; + /** + * Format: uuid + * @description The UUID of the project to which the reserved IP currently belongs. + * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 + */ + project_id?: string; + }; + reserved_ip_create: { + /** + * @description The ID of the Droplet that the reserved IP will be assigned to. + * @example 2457247 + */ + droplet_id: number; + } | { + /** + * @description The slug identifier for the region the reserved IP will be reserved to. + * @example nyc3 + */ + region: string; + /** + * Format: uuid + * @description The UUID of the project to which the reserved IP will be assigned. + * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 + */ + project_id?: string; + }; + reserved_ip_action_type: { + /** + * @description The type of action to initiate for the reserved IP. + * @enum {string} + */ + type: "assign" | "unassign"; + }; + reserved_ip_action_assign: components["schemas"]["reserved_ip_action_type"] & { + /** + * @description The ID of the Droplet that the reserved IP will be assigned to. + * @example 758604968 + */ + droplet_id: number; + }; + reserved_ip_action_unassign: components["schemas"]["reserved_ip_action_type"] & Record; + snapshots: { + /** + * @description The unique identifier for the snapshot. + * @example 6372321 + */ + id: string; + } & components["schemas"]["snapshots_base"] & { + /** + * @description The unique identifier for the resource that the snapshot originated from. + * @example 200776916 + */ + resource_id: string; + /** + * @description The type of resource that the snapshot originated from. + * @example droplet + * @enum {string} + */ + resource_type: "droplet" | "volume"; + /** + * @description An array of Tags the snapshot has been tagged with. + * @example [ + * "web", + * "env:prod" + * ] + */ + tags: string[] | null; + }; + /** @description Tagged Resource Statistics include metadata regarding the resource type that has been tagged. */ + tags_metadata: { + /** + * @description The number of tagged objects for this type of resource. + * @example 5 + */ + count?: number; + /** + * @description The URI for the last tagged object for this type of resource. + * @example https://api.digitalocean.com/v2/images/7555620 + */ + last_tagged_uri?: string; + }; + /** @description A tag is a label that can be applied to a resource (currently Droplets, Images, Volumes, Volume Snapshots, and Database clusters) in order to better organize or facilitate the lookups and actions on it. + * Tags have two attributes: a user defined `name` attribute and an embedded `resources` attribute with information about resources that have been tagged. */ + tags: { + /** + * @description The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. + * There is a limit of 255 characters per tag. + * + * **Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical. + * + * When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`). + * + * Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD". + * + * @example extra-awesome + */ + name?: string; + /** + * @description An embedded object containing key value pairs of resource type and resource statistics. It also includes a count of the total number of resources tagged with the current tag as well as a `last_tagged_uri` attribute set to the last resource tagged with the current tag. + * @example { + * "count": 5, + * "last_tagged_uri": "https://api.digitalocean.com/v2/images/7555620", + * "droplets": { + * "count": 1, + * "last_tagged_uri": "https://api.digitalocean.com/v2/droplets/3164444" + * }, + * "images": { + * "count": 1, + * "last_tagged_uri": "https://api.digitalocean.com/v2/images/7555620" + * }, + * "volumes": { + * "count": 1, + * "last_tagged_uri": "https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933" + * }, + * "volume_snapshots": { + * "count": 1, + * "last_tagged_uri": "https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519" + * }, + * "databases": { + * "count": 1, + * "last_tagged_uri": "https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976" + * } + * } + */ + readonly resources?: components["schemas"]["tags_metadata"] & { + droplets?: components["schemas"]["tags_metadata"]; + imgages?: components["schemas"]["tags_metadata"]; + volumes?: components["schemas"]["tags_metadata"]; + volume_snapshots?: components["schemas"]["tags_metadata"]; + databases?: components["schemas"]["tags_metadata"]; + }; + }; + error_with_root_causes: { + /** + * @description A message providing information about the error. + * @example not_found + */ + error: string; + /** + * @description A list of error messages. + * @example null + */ + messages?: string[] | null; + /** + * @description A list of underlying causes for the error, including details to help resolve it when possible. + * @example [] + */ + root_causes: string[]; + }; + tags_resource: { + /** + * @description An array of objects containing resource_id and resource_type attributes. + * @example [ + * { + * "resource_id": "9569411", + * "resource_type": "droplet" + * }, + * { + * "resource_id": "7555620", + * "resource_type": "image" + * }, + * { + * "resource_id": "3d80cb72-342b-4aaa-b92e-4e4abb24a933", + * "resource_type": "volume" + * } + * ] + */ + resources: { + /** + * @description The identifier of a resource. + * @example 3d80cb72-342b-4aaa-b92e-4e4abb24a933 + */ + resource_id?: string; + /** + * @description The type of the resource. + * @example volume + * @enum {string} + */ + resource_type?: "droplet" | "image" | "volume" | "volume_snapshot"; + }[]; + }; + volume_base: { + /** + * @description The unique identifier for the block storage volume. + * @example 506f78a4-e098-11e5-ad9f-000f53306ae1 + */ + readonly id?: string; + /** + * @description An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. + * @example [] + */ + readonly droplet_ids?: number[] | null; + /** + * @description A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. + * @example example + */ + name?: string; + /** + * @description An optional free-form text field to describe a block storage volume. + * @example Block store for examples + */ + description?: string; + /** + * @description The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. + * @example 10 + */ + size_gigabytes?: number; + /** + * @description A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. + * @example 2020-03-02T17:00:49Z + */ + readonly created_at?: string; + tags?: components["schemas"]["tags_array"]; + }; + volume_full: components["schemas"]["volume_base"] & { + /** @example { + * "name": "New York 1", + * "slug": "nyc1", + * "sizes": [ + * "s-1vcpu-1gb", + * "s-1vcpu-2gb", + * "s-1vcpu-3gb", + * "s-2vcpu-2gb", + * "s-3vcpu-1gb", + * "s-2vcpu-4gb", + * "s-4vcpu-8gb", + * "s-6vcpu-16gb", + * "s-8vcpu-32gb", + * "s-12vcpu-48gb", + * "s-16vcpu-64gb", + * "s-20vcpu-96gb", + * "s-24vcpu-128gb", + * "s-32vcpu-192gb" + * ], + * "features": [ + * "private_networking", + * "backups", + * "ipv6", + * "metadata" + * ], + * "available": true + * } */ + readonly region?: unknown & components["schemas"]["region"]; + /** + * @description The type of filesystem currently in-use on the volume. + * @example ext4 + */ + filesystem_type?: string; + /** + * @description The label currently applied to the filesystem. + * @example example + */ + filesystem_label?: string; + }; + volume_snapshot_id: { + /** + * @description The unique identifier for the volume snapshot from which to create the volume. + * @example b0798135-fb76-11eb-946a-0a58ac146f33 + */ + snapshot_id?: string; + }; + volume_write_file_system_type: { + /** + * @description The name of the filesystem type to be used on the volume. When provided, the volume will automatically be formatted to the specified filesystem type. Currently, the available options are `ext4` and `xfs`. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to other Droplets is not recommended. + * @example ext4 + */ + filesystem_type?: string; + }; + /** + * @description The label applied to the filesystem. Labels for ext4 type filesystems may contain 16 characters while labels for xfs type filesystems are limited to 12 characters. May only be used in conjunction with filesystem_type. + * @example example + */ + volume_write_file_system_label: string; + volumes_ext4: components["schemas"]["volume_base"] & components["schemas"]["volume_snapshot_id"] & components["schemas"]["volume_write_file_system_type"] & { + region: components["schemas"]["region_slug"]; + filesystem_label?: components["schemas"]["volume_write_file_system_label"] & unknown; + }; + volumes_xfs: components["schemas"]["volume_base"] & components["schemas"]["volume_snapshot_id"] & components["schemas"]["volume_write_file_system_type"] & { + region: components["schemas"]["region_slug"]; + filesystem_label?: components["schemas"]["volume_write_file_system_label"] & unknown; + }; + volume_action_post_base: { + /** + * @description The volume action to initiate. + * @example attach + * @enum {string} + */ + type: "attach" | "detach" | "resize"; + region?: components["schemas"]["region_slug"]; + }; + /** + * @description The unique identifier for the Droplet the volume will be attached or detached from. + * @example 11612190 + */ + volume_action_droplet_id: number; + volume_action_post_attach: components["schemas"]["volume_action_post_base"] & { + droplet_id: components["schemas"]["volume_action_droplet_id"]; + tags?: components["schemas"]["tags_array"]; + }; + volume_action_post_detach: components["schemas"]["volume_action_post_base"] & { + droplet_id: components["schemas"]["volume_action_droplet_id"]; + }; + volumeAction: { + /** + * @description This is the type of action that the object represents. For example, this could be "attach_volume" to represent the state of a volume attach action. + * @example attach_volume + */ + type?: string; + /** @example null */ + resource_id?: number | null; + } & components["schemas"]["action"]; + volume_action_post_resize: components["schemas"]["volume_action_post_base"] & { + /** @description The new size of the block storage volume in GiB (1024^3). */ + size_gigabytes: number; + }; + vpc_updatable: { + /** + * @description The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods. + * @example env.prod-vpc + */ + name?: string; + /** + * @description A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters. + * @example VPC for production environment + */ + description?: string; + }; + vpc_create: { + /** + * @description The slug identifier for the region where the VPC will be created. + * @example nyc1 + */ + region?: string; + /** + * @description The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account. + * @example 10.10.10.0/24 + */ + ip_range?: string; + }; + vpc_default: { + /** + * @description A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined. + * @example true + */ + default?: boolean; + }; + vpc_base: { + /** + * Format: uuid + * @description A unique ID that can be used to identify and reference the VPC. + * @example 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + */ + readonly id?: string; + urn?: components["schemas"]["urn"]; + /** + * Format: date-time + * @description A time value given in ISO8601 combined date and time format. + * @example 2020-03-13T19:20:47.442049222Z + */ + readonly created_at?: string; + }; + vpc: components["schemas"]["vpc_updatable"] & components["schemas"]["vpc_create"] & components["schemas"]["vpc_default"] & components["schemas"]["vpc_base"]; + vpc_member: { + /** + * @description The name of the resource. + * @example nyc1-load-balancer-01 + */ + name?: string; + urn?: components["schemas"]["urn"]; + /** + * @description A time value given in ISO8601 combined date and time format that represents when the resource was created. + * @example 2020-03-13T19:30:48Z + */ + created_at?: string; + }; + check_base: { + /** + * Format: uuid + * @description A unique ID that can be used to identify and reference the check. + * @example 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + */ + readonly id?: string; + }; + check_updatable: { + /** + * @description A human-friendly display name. + * @example Landing page check + */ + name?: string; + /** + * @description The type of health check to perform. + * @example https + * @enum {string} + */ + type?: "ping" | "http" | "https"; + /** + * Format: url + * @description The endpoint to perform healthchecks on. + * @example https://www.landingpage.com + */ + target?: string; + /** + * @description An array containing the selected regions to perform healthchecks from. + * @example [ + * "us_east", + * "eu_west" + * ] + */ + regions?: ("us_east" | "us_west" | "eu_west" | "se_asia")[]; + /** + * @description A boolean value indicating whether the check is enabled/disabled. + * @default true + * @example true + */ + enabled: boolean; + }; + check: components["schemas"]["check_base"] & components["schemas"]["check_updatable"]; + region_state: { + /** + * @example UP + * @enum {string} + */ + status?: "DOWN" | "UP" | "CHECKING"; + /** @example 2022-03-17T22:28:51Z */ + status_changed_at?: string; + /** @example 97.99 */ + thirty_day_uptime_percentage?: number; + }; + /** @description A map of region to regional state */ + regional_state: { + us_east?: components["schemas"]["region_state"]; + eu_west?: components["schemas"]["region_state"]; + }; + previous_outage: { + /** @example us_east */ + region?: string; + /** @example 2022-03-17T18:04:55Z */ + started_at?: string; + /** @example 2022-03-17T18:06:55Z */ + ended_at?: string; + /** @example 120 */ + duration_seconds?: number; + }; + state: { + regions?: components["schemas"]["regional_state"]; + previous_outage?: components["schemas"]["previous_outage"]; + }; + alert_base: { + /** + * Format: uuid + * @description A unique ID that can be used to identify and reference the alert. + * @example 5a4981aa-9653-4bd1-bef5-d6bff52042e4 + */ + readonly id?: string; + }; + /** @description The notification settings for a trigger alert. */ + notification: { + /** + * @description An email to notify on an alert trigger. + * @example [ + * "bob@example.com" + * ] + */ + email: string[]; + /** @description Slack integration details. */ + slack: { + /** + * Format: string + * @description Slack channel to notify of an alert trigger. + * @example Production Alerts + */ + channel: string; + /** + * Format: string + * @description Slack Webhook URL. + * @example https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ + */ + url: string; + }[]; + }; + alert_updatable: { + /** + * @description A human-friendly display name. + * @example Landing page degraded performance + */ + name?: string; + /** + * @description The type of alert. + * @example latency + * @enum {string} + */ + type?: "latency" | "down" | "down_global" | "ssl_expiry"; + /** + * @description The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type. + * @example 300 + */ + threshold?: number; + /** + * @description The comparison operator used against the alert's threshold. + * @example greater_than + * @enum {string} + */ + comparison?: "greater_than" | "less_than"; + notifications?: components["schemas"]["notification"]; + /** + * @description Period of time the threshold must be exceeded to trigger the alert. + * @example 2m + * @enum {string} + */ + period?: "2m" | "3m" | "5m" | "10m" | "15m" | "30m" | "1h"; + }; + alert: components["schemas"]["alert_base"] & components["schemas"]["alert_updatable"]; + }; + responses: { + /** @description Unexpected error */ + unexpected_error: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description A JSON object with a key of `1_clicks`. */ + oneClicks_all: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + "1_clicks"?: components["schemas"]["oneClicks"][]; + }; + }; + }; + /** @description Unauthorized */ + unauthorized: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description API Rate limit exceeded */ + too_many_requests: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description Server error. */ + server_error: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description The response will verify that a job has been successfully created to install a 1-Click. The + * post-installation lifecycle of a 1-Click application can not be managed via the DigitalOcean + * API. For additional details specific to the 1-Click, find and view its + * [DigitalOcean Marketplace](https://marketplace.digitalocean.com) page. + * */ + oneClicks_create: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description A message about the result of the request. + * @example Successfully kicked off addon job. + */ + message?: string; + }; + }; + }; + /** @description A JSON object keyed on account with an excerpt of the current user account data. */ + account: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + account?: components["schemas"]["account"]; + }; + }; + }; + /** @description A JSON object with the key set to `ssh_keys`. The value is an array of `ssh_key` objects, each of which contains the standard `ssh_key` attributes. */ + sshKeys_all: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + ssh_keys?: components["schemas"]["sshKeys"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response body will be a JSON object with a key set to `ssh_key`. */ + sshKeys_new: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + ssh_key?: components["schemas"]["sshKeys"]; + }; + }; + }; + /** @description A JSON object with the key set to `ssh_key`. The value is an `ssh_key` object containing the standard `ssh_key` attributes. */ + sshKeys_existing: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + ssh_key?: components["schemas"]["sshKeys"]; + }; + }; + }; + /** @description The resource was not found. */ + not_found: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description The action was successful and the response body is empty. */ + no_content: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content?: never; + }; + /** @description The results will be returned as a JSON object with an actions key. This will be set to an array filled with action objects containing the standard action attributes */ + actions: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + actions?: components["schemas"]["action"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The result will be a JSON object with an action key. This will be set to an action object containing the standard action attributes. */ + action: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + action?: components["schemas"]["action"]; + }; + }; + }; + /** @description A JSON object with a `apps` key. This is list of object `apps`. */ + list_apps: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_response"]; + }; + }; + /** @description A JSON or YAML of a `spec` object. */ + new_app: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["app_response"]; + }; + }; + /** @description A JSON with key `app` */ + apps_get: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["app_response"]; + }; + }; + /** @description A JSON object of the updated `app` */ + update_app: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["app_response"]; + }; + }; + /** @description the ID of the app deleted. */ + delete_app: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_delete_app_response"]; + }; + }; + /** @description A JSON object with urls that point to archived logs */ + list_logs: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_get_logs_response"]; + }; + }; + /** @description A JSON object with a `deployments` key. This will be a list of all app deployments */ + existing_deployments: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_deployments_response"]; + }; + }; + /** @description A JSON object with a `deployment` key. */ + new_app_deployment: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_deployment_response"]; + }; + }; + /** @description A JSON of the requested deployment */ + list_deployment: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_deployment_response"]; + }; + }; + /** @description A JSON the `deployment` that was just cancelled. */ + cancel_deployment: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_deployment_response"]; + }; + }; + /** @description A JSON object with a `tiers` key. This will be a list of all app tiers */ + all_tiers: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_list_tiers_response"]; + }; + }; + /** @description A JSON with the key `tier` */ + get_tier: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_get_tier_response"]; + }; + }; + /** @description A JSON with key `instance_sizes` */ + list_instance: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_list_instance_sizes_response"]; + }; + }; + /** @description A JSON with key `instance_size` */ + get_instance: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_get_instance_size_response"]; + }; + }; + /** @description A JSON object with key `regions` */ + list_regions: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_list_regions_response"]; + }; + }; + /** @description A JSON object. */ + propose_app: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["app_propose_response"]; + }; + }; + /** @description A JSON object with a `alerts` key. This is list of object `alerts`. */ + list_alerts: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_list_alerts_response"]; + }; + }; + /** @description A JSON object with an `alert` key. This is an object of type `alert`. */ + assign_alert_destinations: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps_alert_response"]; + }; + }; + /** @description A JSON object with the validation results. */ + apps_validate_rollback: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Indicates whether the app can be rolled back to the specified deployment. */ + valid?: boolean; + error?: unknown & components["schemas"]["app_rollback_validation_condition"]; + /** @description Contains a list of warnings that may cause the rollback to run under unideal circumstances. */ + warnings?: components["schemas"]["app_rollback_validation_condition"][]; + }; + }; + }; + /** @description A JSON object with a `app_bandwidth_usage` key */ + get_metrics_bandwidth_usage: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["app_metrics_bandwidth_usage"]; + }; + }; + /** @description A JSON object with a `app_bandwidth_usage` key */ + list_metrics_bandwidth_usage: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["app_metrics_bandwidth_usage"]; + }; + }; + /** @description The result will be a JSON object with an `endpoints` key. This will be set to an array of endpoint objects, each of which will contain the standard CDN endpoint attributes. */ + all_cdn_endpoints: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + endpoints?: components["schemas"]["cdn_endpoint"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with an `endpoint` key. This will be set to an object containing the standard CDN endpoint attributes. */ + existing_endpoint: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + endpoint?: components["schemas"]["cdn_endpoint"]; + }; + }; + }; + /** @description The result will be a JSON object with a `certificates` key. This will be set to an array of certificate objects, each of which will contain the standard certificate attributes. */ + all_certificates: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + certificates?: components["schemas"]["certificate"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `certificate`. The value of this will be an object that contains the standard attributes associated with a certificate. + * When using Let's Encrypt, the initial value of the certificate's `state` attribute will be `pending`. When the certificate has been successfully issued by Let's Encrypt, this will transition to `verified` and be ready for use. */ + new_certificate: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + certificate?: components["schemas"]["certificate"]; + }; + }; + }; + /** @description The response will be a JSON object with a `certificate` key. This will be set to an object containing the standard certificate attributes. */ + existing_certificate: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + certificate?: components["schemas"]["certificate"]; + }; + }; + }; + /** @description The response will be a JSON object that contains the following attributes */ + balance: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["balance"]; + }; + }; + /** @description The response will be a JSON object that contains the following attributes */ + billing_history: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + billing_history?: components["schemas"]["billing_history"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta_optional_total"]; + }; + }; + /** @description The response will be a JSON object contains that contains a list of invoices under the `invoices` key, and the invoice preview under the `invoice_preview` key. + * Each element contains the invoice summary attributes. */ + invoices: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + invoices?: components["schemas"]["invoice_preview"][]; + invoice_preview?: components["schemas"]["invoice_preview"]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `invoice_items`. This will be set to an array of invoice item objects. */ + invoice: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + invoice_items?: components["schemas"]["invoice_item"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a CSV file. */ + invoice_csv: { + headers: { + "content-disposition": components["headers"]["content-disposition"]; + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "text/csv": string; + }; + }; + /** @description The response will be a PDF file. */ + invoice_pdf: { + headers: { + "content-disposition": components["headers"]["content-disposition"]; + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/pdf": string; + }; + }; + /** @description To retrieve a summary for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/summary`. */ + invoice_summary: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoice_summary"]; + }; + }; + /** @description A JSON string with a key of `options`. */ + options: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["options"]; + }; + }; + /** @description A JSON object with a key of `databases`. */ + database_clusters: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + databases?: components["schemas"]["database_cluster"][]; + }; + }; + }; + /** @description A JSON object with a key of `database`. */ + database_cluster: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + database: components["schemas"]["database_cluster"]; + }; + }; + }; + /** @description A JSON object with a key of `config`. */ + database_config: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + config: components["schemas"]["mysql"] | components["schemas"]["postgres"] | components["schemas"]["redis"]; + }; + }; + }; + /** @description A JSON object with a key of `ca`. */ + ca: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + ca: components["schemas"]["ca"]; + }; + }; + }; + /** @description A JSON object. */ + online_migration: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["online_migration"]; + }; + }; + /** @description The does not indicate the success or failure of any operation, just that the request has been accepted for processing. */ + accepted: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content?: never; + }; + /** @description A JSON object with a key of `rules`. */ + firewall_rules: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + rules?: components["schemas"]["firewall_rule"][]; + }; + }; + }; + /** @description A JSON object with a key of `database_backups`. */ + database_backups: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + backups: components["schemas"]["backup"][]; + }; + }; + }; + /** @description A JSON object with a key of `replicas`. */ + database_replicas: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + replicas?: components["schemas"]["database_replica"][]; + }; + }; + }; + /** @description A JSON object with a key of `replica`. */ + database_replica: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + replica?: components["schemas"]["database_replica"]; + }; + }; + }; + /** @description A JSON object with a key of `users`. */ + users: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + users?: components["schemas"]["database_user"][]; + }; + }; + }; + /** @description A JSON object with a key of `user`. */ + user: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + user: components["schemas"]["database_user"]; + }; + }; + }; + /** @description A JSON object with a key of `databases`. */ + databases: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + dbs?: components["schemas"]["database"][]; + }; + }; + }; + /** @description A JSON object with a key of `db`. */ + database: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + db: components["schemas"]["database"]; + }; + }; + }; + /** @description A JSON object with a key of `pools`. */ + connection_pools: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["connection_pools"]; + }; + }; + /** @description A JSON object with a key of `pool`. */ + connection_pool: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + pool: components["schemas"]["connection_pool"]; + }; + }; + }; + /** @description A JSON string with a key of `eviction_policy`. */ + eviction_policy_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + eviction_policy: components["schemas"]["eviction_policy_model"]; + }; + }; + }; + /** @description A JSON string with a key of `sql_mode`. */ + sql_mode: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["sql_mode"]; + }; + }; + /** @description The response will be a JSON object with a key called `domains`. The value of this will be an array of Domain objects, each of which contain the standard domain attributes. */ + all_domains_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Array of volumes. */ + domains: components["schemas"]["domain"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `domain`. The value of this will be an object that contains the standard attributes associated with a domain. */ + create_domain_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + domain?: components["schemas"]["domain"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `domain`. The value of this will be an object that contains the standard attributes defined for a domain. */ + existing_domain: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + domain?: components["schemas"]["domain"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `domain_records`. The value of this will be an array of domain record objects, each of which contains the standard domain record attributes. For attributes that are not used by a specific record type, a value of `null` will be returned. For instance, all records other than SRV will have `null` for the `weight` and `port` attributes. */ + all_domain_records_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + domain_records?: components["schemas"]["domain_record"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response body will be a JSON object with a key called `domain_record`. The value of this will be an object representing the new record. Attributes that are not applicable for the record type will be set to `null`. An `id` attribute is generated for each record as part of the object. */ + created_domain_record: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + domain_record?: components["schemas"]["domain_record"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `domain_record`. The value of this will be a domain record object which contains the standard domain record attributes. */ + domain_record: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + domain_record?: components["schemas"]["domain_record"]; + }; + }; + }; + /** @description A JSON object with a key of `droplets`. */ + all_droplets: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + droplets?: components["schemas"]["droplet"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description Accepted */ + droplet_create: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + droplet: components["schemas"]["droplet"]; + links: { + actions?: components["schemas"]["action_link"][]; + }; + } | { + droplets: components["schemas"]["droplet"][]; + links: { + actions?: components["schemas"]["action_link"][]; + }; + }; + }; + }; + /** @description The action was successful and the response body is empty. This response has content-type set. */ + no_content_with_content_type: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + "content-type": components["headers"]["content-type"]; + [name: string]: unknown; + }; + content?: never; + }; + /** @description The response will be a JSON object with a key called `droplet`. This will be + * set to a JSON object that contains the standard Droplet attributes. + * */ + existing_droplet: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + droplet?: components["schemas"]["droplet"]; + }; + }; + }; + /** @description A JSON object with an `backups` key. */ + all_droplet_backups: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + backups?: components["schemas"]["droplet_snapshot"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description A JSON object with an `snapshots` key. */ + all_droplet_snapshots: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + snapshots?: components["schemas"]["droplet_snapshot"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description A JSON object with an `actions` key. */ + all_droplet_actions: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + actions?: components["schemas"]["action"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `action`. */ + droplet_action: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + action?: components["schemas"]["action"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `actions`. */ + droplet_actions_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + actions?: components["schemas"]["action"][]; + }; + }; + }; + /** @description A JSON object that has a key called `kernels`. */ + all_kernels: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + kernels?: components["schemas"]["kernel"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description A JSON object that has a key called `firewalls`. */ + all_firewalls: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + firewalls?: components["schemas"]["firewall"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description A JSON object with an `droplets` key. */ + neighbor_droplets: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + droplets?: components["schemas"]["droplet"][]; + }; + }; + }; + /** @description A JSON object containing `snapshots`, `volumes`, and `volume_snapshots` keys. */ + associated_resources_list: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + reserved_ips?: components["schemas"]["associated_resource"][]; + floating_ips?: components["schemas"]["associated_resource"][]; + snapshots?: components["schemas"]["associated_resource"][]; + volumes?: components["schemas"]["associated_resource"][]; + volume_snapshots?: components["schemas"]["associated_resource"][]; + }; + }; + }; + /** @description A JSON object containing containing the status of a request to destroy a Droplet and its associated resources. */ + associated_resources_status: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["associated_resource_status"]; + }; + }; + /** @description Conflict */ + conflict: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`. */ + list_firewalls_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + firewalls?: components["schemas"]["firewall"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a firewall key. This will be set to an object containing the standard firewall attributes */ + create_firewall_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + firewall?: components["schemas"]["firewall"]; + }; + }; + }; + /** @description Bad Request */ + bad_request: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description The response will be a JSON object with a firewall key. This will be set to an object containing the standard firewall attributes. */ + get_firewall_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + firewall?: components["schemas"]["firewall"]; + }; + }; + }; + /** @description The response will be a JSON object with a `firewall` key. This will be set to an object containing the standard firewall attributes. */ + put_firewall_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + firewall?: components["schemas"]["firewall"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `floating_ips`. This will be set to an array of floating IP objects, each of which will contain the standard floating IP attributes */ + floating_ip_list: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + floating_ips?: components["schemas"]["floating_ip"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `floating_ip`. The value of this will be an object that contains the standard attributes associated with a floating IP. + * When assigning a floating IP to a Droplet at same time as it created, the response's `links` object will contain links to both the Droplet and the assignment action. The latter can be used to check the status of the action. */ + floating_ip_created: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + floating_ip?: components["schemas"]["floating_ip"]; + links?: { + droplets?: components["schemas"]["action_link"][]; + actions?: components["schemas"]["action_link"][]; + }; + }; + }; + }; + /** @description The response will be a JSON object with a key called `floating_ip`. The value of this will be an object that contains the standard attributes associated with a floating IP. */ + floating_ip: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + floating_ip?: components["schemas"]["floating_ip"]; + }; + }; + }; + /** @description The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard floating IP action attributes. */ + floating_ip_actions: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + actions?: components["schemas"]["action"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be an object with a key called `action`. The value of this will be an object that contains the standard floating IP action attributes. */ + floating_ip_action: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + action?: components["schemas"]["action"] & { + /** + * Format: uuid + * @description The UUID of the project to which the reserved IP currently belongs. + * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 + */ + project_id?: string; + }; + }; + }; + }; + /** @description An array of JSON objects with a key called `namespaces`. Each object represents a namespace and contains + * the properties associated with it. */ + list_namespaces: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + namespaces?: components["schemas"]["namespace_info"][]; + }; + }; + }; + /** @description A JSON response object with a key called `namespace`. The object contains the properties associated + * with the namespace. */ + namespace_created: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + namespace?: components["schemas"]["namespace_info"]; + }; + }; + }; + /** @description Bad Request. */ + namespace_bad_request: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description Limit Reached */ + namespace_limit_reached: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description Not Allowed. */ + namespace_not_allowed: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description Bad Request. */ + namespace_not_found: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description An array of JSON objects with a key called `namespaces`. Each object represents a namespace and contains + * the properties associated with it. */ + list_triggers: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + triggers?: components["schemas"]["trigger_info"][]; + }; + }; + }; + /** @description A JSON response object with a key called `trigger`. The object contains the properties associated + * with the trigger. */ + trigger_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + trigger?: components["schemas"]["trigger_info"]; + }; + }; + }; + /** @description Bad Request. */ + trigger_bad_request: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description Limit Reached */ + trigger_limit_reached: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description Bad Request. */ + trigger_not_found: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description The response will be a JSON object with a key called `images`. This will be set to an array of image objects, each of which will contain the standard image attributes. */ + all_images: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + images: components["schemas"]["image"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key set to `image`. The value of this will be an image object containing a subset of the standard image attributes as listed below, including the image's `id` and `status`. After initial creation, the `status` will be `NEW`. Using the image's id, you may query the image's status by sending a `GET` request to the `/v2/images/$IMAGE_ID` endpoint. When the `status` changes to `available`, the image will be ready for use. */ + new_custom_image: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + image?: components["schemas"]["image"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `image`. The value of this will be an image object containing the standard image attributes. */ + existing_image: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + image: components["schemas"]["image"]; + }; + }; + }; + /** @description The response will be a JSON object with a key set to `image`. The value of this will be an image object containing the standard image attributes. */ + updated_image: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + image: components["schemas"]["image"]; + }; + }; + }; + /** @description The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard action attributes. */ + get_image_actions_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + actions?: components["schemas"]["action"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `action`. The value of this will be an object containing the standard image action attributes. */ + post_image_action_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["action"]; + }; + }; + /** @description The response will be an object with a key called `action`. The value of this will be an object that contains the standard image action attributes. */ + get_image_action_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["action"]; + }; + }; + /** @description The response will be a JSON object with a key called `kubernetes_clusters`. + * This will be set to an array of objects, each of which will contain the + * standard Kubernetes cluster attributes. + * */ + all_clusters: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + kubernetes_clusters?: components["schemas"]["cluster"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `kubernetes_cluster`. The + * value of this will be an object containing the standard attributes of a + * Kubernetes cluster. + * + * The IP address and cluster API server endpoint will not be available until the + * cluster has finished provisioning. The initial value of the cluster's + * `status.state` attribute will be `provisioning`. When the cluster is ready, + * this will transition to `running`. + * */ + cluster_create: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + kubernetes_cluster?: components["schemas"]["cluster"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `kubernetes_cluster`. The + * value of this will be an object containing the standard attributes of a + * Kubernetes cluster. + * */ + existing_cluster: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + kubernetes_cluster?: components["schemas"]["cluster"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `kubernetes_cluster`. The + * value of this will be an object containing the standard attributes of a + * Kubernetes cluster. + * */ + updated_cluster: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + kubernetes_cluster?: components["schemas"]["cluster"]; + }; + }; + }; + /** @description The response will be a JSON object containing `load_balancers`, `volumes`, and `volume_snapshots` keys. Each will be set to an array of objects containing the standard attributes for associated resources. */ + associated_kubernetes_resources_list: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["associated_kubernetes_resources"]; + }; + }; + /** @description A kubeconfig file for the cluster in YAML format. */ + kubeconfig: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/yaml": unknown; + }; + }; + /** @description A JSON object containing credentials for a cluster. */ + credentials: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["credentials"]; + }; + }; + /** @description The response will be a JSON object with a key called + * `available_upgrade_versions`. The value of this will be an array of objects, + * representing the upgrade versions currently available for this cluster. + * + * If the cluster is up-to-date (i.e. there are no upgrades currently available) + * `available_upgrade_versions` will be `null`. + * */ + available_upgrades: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + available_upgrade_versions?: components["schemas"]["kubernetes_version"][] | null; + }; + }; + }; + /** @description The response will be a JSON object with a key called `node_pools`. This will + * be set to an array of objects, each of which will contain the standard node + * pool attributes. + * */ + all_node_pools: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + node_pools?: components["schemas"]["kubernetes_node_pool"][]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `node_pool`. The value of + * this will be an object containing the standard attributes of a node pool. + * */ + node_pool_create: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + node_pool?: components["schemas"]["kubernetes_node_pool"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `node_pool`. The value + * of this will be an object containing the standard attributes of a node pool. + * */ + existing_node_pool: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + node_pool?: components["schemas"]["kubernetes_node_pool"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `node_pool`. The value of + * this will be an object containing the standard attributes of a node pool. + * */ + node_pool_update: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + node_pool?: components["schemas"]["kubernetes_node_pool"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `kubernetes_cluster_user` + * containing the username and in-cluster groups that it belongs to. + * */ + cluster_user: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user"]; + }; + }; + /** @description The response will be a JSON object with a key called `options` which contains + * `regions`, `versions`, and `sizes` objects listing the available options and + * the matching slugs for use when creating a new cluster. + * */ + all_options: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["kubernetes_options"]; + }; + }; + /** @description The response is a JSON object which contains the diagnostics on Kubernetes + * objects in the cluster. Each diagnostic will contain some metadata information + * about the object and feedback for users to act upon. + * */ + clusterlint_results: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["clusterlint_results"]; + }; + }; + /** @description The response is a JSON object with a key called `run_id` that you can later use to fetch the run results. */ + clusterlint_run: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description ID of the clusterlint run that can be used later to fetch the diagnostics. + * @example 50c2f44c-011d-493e-aee5-361a4a0d1844 + */ + run_id?: string; + }; + }; + }; + /** @description A JSON object with a key of `load_balancers`. This will be set to an array of objects, each of which will contain the standard load balancer attributes. */ + all_load_balancers: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + load_balancers?: components["schemas"]["load_balancer"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description Accepted */ + load_balancer_create: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + load_balancer?: components["schemas"]["load_balancer"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `load_balancer`. The + * value of this will be an object that contains the standard attributes + * associated with a load balancer + * */ + existing_load_balancer: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + load_balancer?: components["schemas"]["load_balancer"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `load_balancer`. The + * value of this will be an object containing the standard attributes of a + * load balancer. + * */ + updated_load_balancer: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + load_balancer?: components["schemas"]["load_balancer"]; + }; + }; + }; + /** @description A list of alert policies. */ + list_alert_policy_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["list_alert_policy"] & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description An alert policy. */ + alert_policy_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + policy?: components["schemas"]["alert_policy"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `data` and `status`. */ + droplet_bandwidth_metric_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["metrics"]; + }; + }; + /** @description The response will be a JSON object with a key called `data` and `status`. */ + droplet_cpu_metric_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["metrics"]; + }; + }; + /** @description The response will be a JSON object with a key called `data` and `status`. */ + droplet_filesystem_metric_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["metrics"]; + }; + }; + /** @description The response will be a JSON object with a key called `data` and `status`. */ + metric_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["metrics"]; + }; + }; + /** @description The response will be a JSON object with a key called `projects`. The value of this will be an object with the standard project attributes */ + projects_list: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + projects?: components["schemas"]["project"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes */ + existing_project: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + project?: components["schemas"]["project"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `project`. The value of this will be an object with the standard project attributes */ + default_project: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + project?: components["schemas"]["project"]; + }; + }; + }; + /** @description Only an empty project can be deleted. */ + precondition_failed: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + /** @description The response will be a JSON object with a key called `resources`. The value of this will be an object with the standard resource attributes. */ + resources_list: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + resources?: components["schemas"]["resource"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `resources`. The value of this will be an object with the standard resource attributes. */ + assigned_resources_list: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + resources?: components["schemas"]["resource"][]; + }; + }; + }; + /** @description A JSON object with a key set to `regions`. The value is an array of `region` objects, each of which contain the standard `region` attributes. */ + all_regions: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + regions: components["schemas"]["region"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with the key `registry` containing information about your registry. */ + registry_info: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + registry?: components["schemas"]["registry"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `subscription` containing information about your subscription. */ + subscription_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + subscription?: components["schemas"]["subscription"]; + }; + }; + }; + /** @description A Docker `config.json` file for the container registry. */ + docker_credentials: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["docker_credentials"]; + }; + }; + /** @description The response body will be a JSON object with a key of `repositories`. This will be set to an array containing objects each representing a repository. */ + all_repositories: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + repositories?: components["schemas"]["repository"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response body will be a JSON object with a key of `repositories`. This will be set to an array containing objects each representing a repository. */ + all_repositories_v2: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + repositories?: components["schemas"]["repository_v2"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response body will be a JSON object with a key of `tags`. This will be set to an array containing objects each representing a tag. */ + repository_tags: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + tags?: components["schemas"]["repository_tag"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response body will be a JSON object with a key of `manifests`. This will be set to an array containing objects each representing a manifest. */ + repository_manifests: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + manifests?: components["schemas"]["repository_manifest"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key of `garbage_collection`. This will be a json object with attributes representing the currently-active garbage collection. */ + garbage_collection: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + garbage_collection?: components["schemas"]["garbage_collection"]; + }; + }; + }; + /** @description The response will be a JSON object with a key of `garbage_collections`. This will be set to an array containing objects representing each past garbage collection. Each will contain the standard Garbage Collection attributes. */ + garbage_collections: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + garbage_collections?: components["schemas"]["garbage_collection"][]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `options` which contains a key called `subscription_tiers` listing the available tiers. */ + registry_options_response: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + options?: { + /** @example [ + * "nyc3" + * ] */ + available_regions?: string[]; + subscription_tiers?: (components["schemas"]["subscription_tier_base"] & components["schemas"]["subscription_tier_extended"])[]; + }; + }; + }; + }; + /** @description A JSON object with an `neighbor_ids` key. */ + droplet_neighbors_ids: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["neighbor_ids"]; + }; + }; + /** @description The response will be a JSON object with a key called `reserved_ips`. This will be set to an array of reserved IP objects, each of which will contain the standard reserved IP attributes */ + reserved_ip_list: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + reserved_ips?: components["schemas"]["reserved_ip"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `reserved_ip`. The value of this will be an object that contains the standard attributes associated with a reserved IP. + * When assigning a reserved IP to a Droplet at same time as it created, the response's `links` object will contain links to both the Droplet and the assignment action. The latter can be used to check the status of the action. */ + reserved_ip_created: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + reserved_ip?: components["schemas"]["reserved_ip"]; + links?: { + droplets?: components["schemas"]["action_link"][]; + actions?: components["schemas"]["action_link"][]; + }; + }; + }; + }; + /** @description The response will be a JSON object with a key called `reserved_ip`. The value of this will be an object that contains the standard attributes associated with a reserved IP. */ + reserved_ip: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + reserved_ip?: components["schemas"]["reserved_ip"]; + }; + }; + }; + /** @description The results will be returned as a JSON object with an `actions` key. This will be set to an array filled with action objects containing the standard reserved IP action attributes. */ + reserved_ip_actions: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + actions?: components["schemas"]["action"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be an object with a key called `action`. The value of this will be an object that contains the standard reserved IP action attributes. */ + reserved_ip_action: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + action?: components["schemas"]["action"] & { + /** + * Format: uuid + * @description The UUID of the project to which the reserved IP currently belongs. + * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 + */ + project_id?: string; + }; + }; + }; + }; + /** @description A JSON object with a key called `sizes`. The value of this will be an array of `size` objects each of which contain the standard size attributes. */ + all_sizes: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + sizes: components["schemas"]["size"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description A JSON object with a key of `snapshots`. */ + snapshots: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + snapshots?: components["schemas"]["snapshots"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description A JSON object with a key called `snapshot`. + * */ + snapshots_existing: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + snapshot?: components["schemas"]["snapshots"]; + }; + }; + }; + /** @description To list all of your tags, you can send a `GET` request to `/v2/tags`. */ + tags_all: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + tags?: components["schemas"]["tags"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called tag. The value of this will be a tag object containing the standard tag attributes */ + tags_new: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + tag?: components["schemas"]["tags"]; + }; + }; + }; + /** @description Bad Request */ + tags_bad_request: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + "x-request-id": components["headers"]["x-request-id"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error_with_root_causes"]; + }; + }; + /** @description The response will be a JSON object with a key called `tag`. The value of this will be a tag object containing the standard tag attributes. */ + tags_existing: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + tag?: components["schemas"]["tags"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `volumes`. This will be set to an array of volume objects, each of which will contain the standard volume attributes. */ + volumes: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Array of volumes. */ + volumes: components["schemas"]["volume_full"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `volume`. The value will be an object containing the standard attributes associated with a volume. */ + volume: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + volume?: components["schemas"]["volume_full"]; + }; + }; + }; + /** @description The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes */ + volumeAction: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + action?: components["schemas"]["volumeAction"]; + }; + }; + }; + /** @description You will get back a JSON object that has a `snapshot` key. This will contain the standard snapshot attributes */ + volumeSnapshot: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + snapshot?: components["schemas"]["snapshots"]; + }; + }; + }; + /** @description The response will be an object with a key called `action`. The value of this will be an object that contains the standard volume action attributes. */ + volumeActions: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + actions?: components["schemas"]["volumeAction"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description You will get back a JSON object that has a `snapshots` key. This will be set to an array of snapshot objects, each of which contain the standard snapshot attributes */ + volumeSnapshots: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + snapshots?: components["schemas"]["snapshots"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `vpcs`. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC */ + all_vpcs: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + vpcs?: components["schemas"]["vpc"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `vpc`. The value of this will be an object that contains the standard attributes associated with a VPC. */ + existing_vpc: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + vpc?: components["schemas"]["vpc"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called members. This will be set to an array of objects, each of which will contain the standard attributes associated with a VPC member. */ + vpc_members: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + members?: components["schemas"]["vpc_member"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `checks`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime check */ + all_checks: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + checks?: components["schemas"]["check"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `check`. The value of this will be an object that contains the standard attributes associated with an uptime check. */ + existing_check: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + check?: components["schemas"]["check"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `state`. The value of this will be an object that contains the standard attributes associated with an uptime check's state. */ + existing_check_state: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + state?: components["schemas"]["state"]; + }; + }; + }; + /** @description The response will be a JSON object with a key called `alerts`. This will be set to an array of objects, each of which will contain the standard attributes associated with an uptime alert. */ + all_alerts: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + alerts?: components["schemas"]["alert"][]; + } & components["schemas"]["pagination"] & components["schemas"]["meta"]; + }; + }; + /** @description The response will be a JSON object with a key called `alert`. The value of this will be an object that contains the standard attributes associated with an uptime alert. */ + existing_alert: { + headers: { + "ratelimit-limit": components["headers"]["ratelimit-limit"]; + "ratelimit-remaining": components["headers"]["ratelimit-remaining"]; + "ratelimit-reset": components["headers"]["ratelimit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": { + alert?: components["schemas"]["alert"]; + }; + }; + }; }; - }; - "resources/certificates/responses/new_certificate.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - certificate?: external["resources/certificates/models/certificate.yml"]; - }; - }; - }; - /** - * Add a New Connection Pool (PostgreSQL) - * @description For PostgreSQL database clusters, connection pools can be used to allow a - * database to share its idle connections. The popular PostgreSQL connection - * pooling utility PgBouncer is used to provide this service. [See here for more information](https://www.digitalocean.com/docs/databases/postgresql/how-to/manage-connection-pools/) - * about how and why to use PgBouncer connection pooling including - * details about the available transaction modes. - * - * To add a new connection pool to a PostgreSQL database cluster, send a POST - * request to `/v2/databases/$DATABASE_ID/pools` specifying a name for the pool, - * the user to connect with, the database to connect to, as well as its desired - * size and transaction mode. - */ - "resources/databases/databases_add_connectionPool.yml": { parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { /** - * @example { - * "name": "backend-pool", - * "mode": "transaction", - * "size": 10, - * "db": "defaultdb", - * "user": "doadmin" - * } + * @description Restrict results to a certain type of 1-Click. + * @example kubernetes */ - "application/json": external["resources/databases/models/connection_pool.yml"]; - }; - }; - responses: { - 201: external["resources/databases/responses/connection_pool.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Add a Database User - * @description To add a new database user, send a POST request to `/v2/databases/$DATABASE_ID/users` - * with the desired username. - * - * Note: User management is not supported for Redis clusters. - * - * When adding a user to a MySQL cluster, additional options can be configured in the - * `mysql_settings` object. - * - * The response will be a JSON object with a key called `user`. The value of this will be an - * object that contains the standard attributes associated with a database user including - * its randomly generated password. - */ - "resources/databases/databases_add_user.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { - "application/json": external["resources/databases/models/database_user.yml"] & { - /** - * @description For MongoDB clusters, set to `true` to create a read-only user. - * This option is not currently supported for other database engines. - * - * @example true - */ - readonly?: boolean; - }; - }; - }; - responses: { - 201: external["resources/databases/responses/user.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Add a New Database - * @description To add a new database to an existing cluster, send a POST request to - * `/v2/databases/$DATABASE_ID/dbs`. - * - * Note: Database management is not supported for Redis clusters. - * - * The response will be a JSON object with a key called `db`. The value of this will be - * an object that contains the standard attributes associated with a database. - */ - "resources/databases/databases_add.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { + oneClicks_type: "droplet" | "kubernetes"; /** - * @example { - * "name": "alpha" - * } + * @description Number of items returned per page + * @example 2 */ - "application/json": external["resources/databases/models/database.yml"]; - }; - }; - responses: { - 201: external["resources/databases/responses/database.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a New Database Cluster - * @description To create a database cluster, send a POST request to `/v2/databases`. - * The response will be a JSON object with a key called `database`. The value of this will be an object that contains the standard attributes associated with a database cluster. The initial value of the database cluster's `status` attribute will be `creating`. When the cluster is ready to receive traffic, this will transition to `online`. - * The embedded `connection` and `private_connection` objects will contain the information needed to access the database cluster. - * DigitalOcean managed PostgreSQL and MySQL database clusters take automated daily backups. To create a new database cluster based on a backup of an existing cluster, send a POST request to `/v2/databases`. In addition to the standard database cluster attributes, the JSON body must include a key named `backup_restore` with the name of the original database cluster and the timestamp of the backup to be restored. Creating a database from a backup is the same as forking a database in the control panel. - * Note: Backups are not supported for Redis clusters. - */ - "resources/databases/databases_create_cluster.yml": { - requestBody: { - content: { - "application/json": external["resources/databases/models/database_cluster.yml"] & { - backup_restore?: external["resources/databases/models/database_backup.yml"]; - }; - }; - }; - responses: { - 201: external["resources/databases/responses/database_cluster.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a Read-only Replica - * @description To create a read-only replica for a PostgreSQL or MySQL database cluster, send a POST request to `/v2/databases/$DATABASE_ID/replicas` specifying the name it should be given, the size of the node to be used, and the region where it will be located. - * - * **Note**: Read-only replicas are not supported for Redis clusters. - * - * The response will be a JSON object with a key called `replica`. The value of this will be an object that contains the standard attributes associated with a database replica. The initial value of the read-only replica's `status` attribute will be `forking`. When the replica is ready to receive traffic, this will transition to `active`. - */ - "resources/databases/databases_create_replica.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody?: { - content: { + per_page: number; /** - * @example { - * "name": "read-nyc3-01", - * "region": "nyc3", - * "size": "db-s-2vcpu-4gb" - * } + * @description Which 'page' of paginated results to return. + * @example 1 */ - "application/json": WithRequired; - }; - }; - responses: { - 201: external["resources/databases/responses/database_replica.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Connection Pool (PostgreSQL) - * @description To delete a specific connection pool for a PostgreSQL database cluster, send - * a DELETE request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. - * - * A status of 204 will be given. This indicates that the request was processed - * successfully, but that no response body is needed. - */ - "resources/databases/databases_delete_connectionPool.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - pool_name: external["resources/databases/parameters.yml"]["pool_name"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Stop an Online Migration - * @description To stop an online migration, send a DELETE request to `/v2/databases/$DATABASE_ID/online-migration/$MIGRATION_ID`. - * - * A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. - */ - "resources/databases/databases_delete_onlineMigration.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - migration_id: external["resources/databases/parameters.yml"]["migration_id"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Remove a Database User - * @description To remove a specific database user, send a DELETE request to - * `/v2/databases/$DATABASE_ID/users/$USERNAME`. - * - * A status of 204 will be given. This indicates that the request was processed - * successfully, but that no response body is needed. - * - * Note: User management is not supported for Redis clusters. - */ - "resources/databases/databases_delete_user.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - username: external["resources/databases/parameters.yml"]["username"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Database - * @description To delete a specific database, send a DELETE request to - * `/v2/databases/$DATABASE_ID/dbs/$DB_NAME`. - * - * A status of 204 will be given. This indicates that the request was processed - * successfully, but that no response body is needed. - * - * Note: Database management is not supported for Redis clusters. - */ - "resources/databases/databases_delete.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - database_name: external["resources/databases/parameters.yml"]["database_name"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Destroy a Database Cluster - * @description To destroy a specific database, send a DELETE request to `/v2/databases/$DATABASE_ID`. - * A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. - */ - "resources/databases/databases_destroy_cluster.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Destroy a Read-only Replica - * @description To destroy a specific read-only replica, send a DELETE request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. - * - * **Note**: Read-only replicas are not supported for Redis clusters. - * - * A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. - */ - "resources/databases/databases_destroy_replica.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - replica_name: external["resources/databases/parameters.yml"]["replica_name"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve the Public Certificate - * @description To retrieve the public certificate used to secure the connection to the database cluster send a GET request to - * `/v2/databases/$DATABASE_ID/ca`. - * - * The response will be a JSON object with a `ca` key. This will be set to an object - * containing the base64 encoding of the public key certificate. - */ - "resources/databases/databases_get_ca.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/ca.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Database Cluster - * @description To show information about an existing database cluster, send a GET request to `/v2/databases/$DATABASE_ID`. - * The response will be a JSON object with a database key. This will be set to an object containing the standard database cluster attributes. - * The embedded connection and private_connection objects will contain the information needed to access the database cluster. - * The embedded maintenance_window object will contain information about any scheduled maintenance for the database cluster. - */ - "resources/databases/databases_get_cluster.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/database_cluster.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Database Cluster Configuration - * @description Shows configuration parameters for an existing database cluster by sending a GET request to - * `/v2/databases/$DATABASE_ID/config`. - * The response is a JSON object with a `config` key, which is set to an object - * containing any database configuration parameters. - */ - "resources/databases/databases_get_config.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/database_config.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve Existing Connection Pool (PostgreSQL) - * @description To show information about an existing connection pool for a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. - * The response will be a JSON object with a `pool` key. - */ - "resources/databases/databases_get_connectionPool.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - pool_name: external["resources/databases/parameters.yml"]["pool_name"]; - }; - }; - responses: { - 200: external["resources/databases/responses/connection_pool.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve the Eviction Policy for a Redis Cluster - * @description To retrieve the configured eviction policy for an existing Redis cluster, send a GET request to `/v2/databases/$DATABASE_ID/eviction_policy`. - * The response will be a JSON object with an `eviction_policy` key. This will be set to a string representing the eviction policy. - */ - "resources/databases/databases_get_evictionPolicy.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/eviction_policy_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve the Status of an Online Migration - * @description To retrieve the status of the most recent online migration, send a GET request to `/v2/databases/$DATABASE_ID/online-migration`. - */ - "resources/databases/databases_get_migrationStatus.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/online_migration.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Read-only Replica - * @description To show information about an existing database replica, send a GET request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. - * - * **Note**: Read-only replicas are not supported for Redis clusters. - * - * The response will be a JSON object with a `replica key`. This will be set to an object containing the standard database replica attributes. - */ - "resources/databases/databases_get_replica.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - replica_name: external["resources/databases/parameters.yml"]["replica_name"]; - }; - }; - responses: { - 200: external["resources/databases/responses/database_replica.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve the SQL Modes for a MySQL Cluster - * @description To retrieve the configured SQL modes for an existing MySQL cluster, send a GET request to `/v2/databases/$DATABASE_ID/sql_mode`. - * The response will be a JSON object with a `sql_mode` key. This will be set to a string representing the configured SQL modes. - */ - "resources/databases/databases_get_sql_mode.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/sql_mode.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Database User - * @description To show information about an existing database user, send a GET request to - * `/v2/databases/$DATABASE_ID/users/$USERNAME`. - * - * Note: User management is not supported for Redis clusters. - * - * The response will be a JSON object with a `user` key. This will be set to an object - * containing the standard database user attributes. - * - * For MySQL clusters, additional options will be contained in the mysql_settings - * object. - */ - "resources/databases/databases_get_user.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - username: external["resources/databases/parameters.yml"]["username"]; - }; - }; - responses: { - 200: external["resources/databases/responses/user.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Database - * @description To show information about an existing database cluster, send a GET request to - * `/v2/databases/$DATABASE_ID/dbs/$DB_NAME`. - * - * Note: Database management is not supported for Redis clusters. - * - * The response will be a JSON object with a `db` key. This will be set to an object - * containing the standard database attributes. - */ - "resources/databases/databases_get.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - database_name: external["resources/databases/parameters.yml"]["database_name"]; - }; - }; - responses: { - 200: external["resources/databases/responses/database.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Backups for a Database Cluster - * @description To list all of the available backups of a PostgreSQL or MySQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/backups`. - * **Note**: Backups are not supported for Redis clusters. - * The result will be a JSON object with a `backups key`. This will be set to an array of backup objects, each of which will contain the size of the backup and the timestamp at which it was created. - */ - "resources/databases/databases_list_backups.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/database_backups.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Database Clusters - * @description To list all of the database clusters available on your account, send a GET request to `/v2/databases`. To limit the results to database clusters with a specific tag, include the `tag_name` query parameter set to the name of the tag. For example, `/v2/databases?tag_name=$TAG_NAME`. - * The result will be a JSON object with a `databases` key. This will be set to an array of database objects, each of which will contain the standard database attributes. - * The embedded `connection` and `private_connection` objects will contain the information needed to access the database cluster: - * The embedded `maintenance_window` object will contain information about any scheduled maintenance for the database cluster. - */ - "resources/databases/databases_list_clusters.yml": { - parameters: { - query?: { - tag_name?: external["resources/databases/parameters.yml"]["tag_name"]; - }; - }; - responses: { - 200: external["resources/databases/responses/database_clusters.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Connection Pools (PostgreSQL) - * @description To list all of the connection pools available to a PostgreSQL database cluster, send a GET request to `/v2/databases/$DATABASE_ID/pools`. - * The result will be a JSON object with a `pools` key. This will be set to an array of connection pool objects. - */ - "resources/databases/databases_list_connectionPools.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/connection_pools.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Firewall Rules (Trusted Sources) for a Database Cluster - * @description To list all of a database cluster's firewall rules (known as "trusted sources" in the control panel), send a GET request to `/v2/databases/$DATABASE_ID/firewall`. - * The result will be a JSON object with a `rules` key. - */ - "resources/databases/databases_list_firewall_rules.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/firewall_rules.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Database Options - * @description To list all of the options available for the offered database engines, send a GET request to `/v2/databases/options`. - * The result will be a JSON object with an `options` key. - */ - "resources/databases/databases_list_options.yml": { - responses: { - 200: external["resources/databases/responses/options.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Read-only Replicas - * @description To list all of the read-only replicas associated with a database cluster, send a GET request to `/v2/databases/$DATABASE_ID/replicas`. - * - * **Note**: Read-only replicas are not supported for Redis clusters. - * - * The result will be a JSON object with a `replicas` key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes. - */ - "resources/databases/databases_list_replicas.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/database_replicas.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List all Database Users - * @description To list all of the users for your database cluster, send a GET request to - * `/v2/databases/$DATABASE_ID/users`. - * - * Note: User management is not supported for Redis clusters. - * - * The result will be a JSON object with a `users` key. This will be set to an array - * of database user objects, each of which will contain the standard database user attributes. - * - * For MySQL clusters, additional options will be contained in the mysql_settings object. - */ - "resources/databases/databases_list_users.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/users.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Databases - * @description To list all of the databases in a clusters, send a GET request to - * `/v2/databases/$DATABASE_ID/dbs`. - * - * The result will be a JSON object with a `dbs` key. This will be set to an array - * of database objects, each of which will contain the standard database attributes. - * - * Note: Database management is not supported for Redis clusters. - */ - "resources/databases/databases_list.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - responses: { - 200: external["resources/databases/responses/databases.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update the Database Configuration for an Existing Database - * @description To update the configuration for an existing database cluster, send a PATCH request to - * `/v2/databases/$DATABASE_ID/config`. - */ - "resources/databases/databases_patch_config.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { + page: number; + /** + * @description Either the ID or the fingerprint of an existing SSH key. + * @example 512189 + */ + ssh_key_identifier: components["schemas"]["ssh_key_id"] | components["schemas"]["ssh_key_fingerprint"]; + /** + * @description A unique numeric ID that can be used to identify and reference an action. + * @example 36804636 + */ + action_id: number; + /** + * @description Whether the project_id of listed apps should be fetched and included. + * @example true + */ + with_projects: boolean; + /** + * @description The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. + * @example application/json + */ + accept: "application/json" | "application/yaml"; + /** + * @description The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. + * @example application/json + */ + "content-type": "application/json" | "application/yaml"; + /** + * @description The ID of the app + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + id_app: string; + /** + * @description The name of the app to retrieve. + * @example myApp + */ + app_name: string; + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: string; + /** + * @description An optional component name. If set, logs will be limited to this component only. + * @example component + */ + component: string; + /** + * @description Whether the logs should follow live updates. + * @example true + */ + live_updates: boolean; + /** + * @description The type of logs to retrieve + * - BUILD: Build-time logs + * - DEPLOY: Deploy-time logs + * - RUN: Live run-time logs + * @example BUILD + */ + log_type: "UNSPECIFIED" | "BUILD" | "DEPLOY" | "RUN"; + /** + * @description An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`. + * @example 3m + */ + time_wait: string; + /** + * @description The deployment ID + * @example 3aa4d20e-5527-4c00-b496-601fbd22520a + */ + deployment_id: string; /** - * @example { - * "config": { - * "sql_mode": "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES", - * "sql_require_primary_key": true - * } - * } + * @description The slug of the tier + * @example basic */ - "application/json": external["resources/databases/models/database_config.yml"]; - }; - }; - responses: { - 200: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Promote a Read-only Replica to become a Primary Cluster - * @description To promote a specific read-only replica, send a PUT request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME/promote`. - * - * **Note**: Read-only replicas are not supported for Redis clusters. - * - * A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. - */ - "resources/databases/databases_promote_replica.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - replica_name: external["resources/databases/parameters.yml"]["replica_name"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Reset a Database User's Password or Authentication Method - * @description To reset the password for a database user, send a POST request to - * `/v2/databases/$DATABASE_ID/users/$USERNAME/reset_auth`. - * - * For `mysql` databases, the authentication method can be specifying by - * including a key in the JSON body called `mysql_settings` with the `auth_plugin` - * value specified. - * - * The response will be a JSON object with a `user` key. This will be set to an - * object containing the standard database user attributes. - */ - "resources/databases/databases_reset_auth.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - username: external["resources/databases/parameters.yml"]["username"]; - }; - }; - requestBody: { - content: { + slug_tier: string; /** - * @example { - * "mysql_settings": { - * "auth_plugin": "caching_sha2_password" - * } - * } + * @description The slug of the instance size + * @example basic-xxs */ - "application/json": { - mysql_settings?: external["resources/databases/models/mysql_settings.yml"]; - }; - }; - }; - responses: { - 200: external["resources/databases/responses/user.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Resize a Database Cluster - * @description To resize a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/resize`. The body of the request must specify both the size and num_nodes attributes. - * A successful request will receive a 202 Accepted status code with no body in response. Querying the database cluster will show that its status attribute will now be set to resizing. This will transition back to online when the resize operation has completed. - */ - "resources/databases/databases_update_clusterSize.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { + slug_size: string; /** - * @example { - * "size": "db-s-4vcpu-8gb", - * "num_nodes": 3 - * } + * @description The alert ID + * @example 5a624ab5-dd58-4b39-b7dd-8b7c36e8a91d */ - "application/json": external["resources/databases/models/database_cluster_resize.yml"]; - }; - }; - responses: { - 202: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update Connection Pools (PostgreSQL) - * @description To update a connection pool for a PostgreSQL database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. - */ - "resources/databases/databases_update_connectionPool.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - pool_name: external["resources/databases/parameters.yml"]["pool_name"]; - }; - }; - requestBody: { - content: { + alert_id: string; /** - * @example { - * "mode": "transaction", - * "size": 10, - * "db": "defaultdb", - * "user": "doadmin" - * } + * @description A unique identifier for a CDN endpoint. + * @example 19f06b6a-3ace-4315-b086-499a0e521b76 */ - "application/json": external["resources/databases/models/connection_pool_update.yml"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Configure the Eviction Policy for a Redis Cluster - * @description To configure an eviction policy for an existing Redis cluster, send a PUT request to `/v2/databases/$DATABASE_ID/eviction_policy` specifying the desired policy. - */ - "resources/databases/databases_update_evictionPolicy.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { + cdn_endpoint_id: string; /** - * @example { - * "eviction_policy": "allkeys_lru" - * } + * @description A unique identifier for a certificate. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 */ - "application/json": { - eviction_policy: external["resources/databases/models/eviction_policy_model.yml"]; - }; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update Firewall Rules (Trusted Sources) for a Database - * @description To update a database cluster's firewall rules (known as "trusted sources" in the control panel), send a PUT request to `/v2/databases/$DATABASE_ID/firewall` specifying which resources should be able to open connections to the database. You may limit connections to specific Droplets, Kubernetes clusters, or IP addresses. When a tag is provided, any Droplet or Kubernetes node with that tag applied to it will have access. The firewall is limited to 100 rules (or trusted sources). When possible, we recommend [placing your databases into a VPC network](https://www.digitalocean.com/docs/networking/vpc/) to limit access to them instead of using a firewall. - * A successful - */ - "resources/databases/databases_update_firewall_rules.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { - /** - * @example { - * "rules": [ - * { - * "type": "ip_addr", - * "value": "192.168.1.1" - * }, - * { - * "type": "k8s", - * "value": "ff2a6c52-5a44-4b63-b99c-0e98e7a63d61" - * }, - * { - * "type": "droplet", - * "value": "163973392" - * }, - * { - * "type": "tag", - * "value": "backend" - * } - * ] - * } - */ - "application/json": { - rules?: external["resources/databases/models/firewall_rule.yml"][]; - }; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Configure a Database Cluster's Maintenance Window - * @description To configure the window when automatic maintenance should be performed for a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/maintenance`. - * A successful request will receive a 204 No Content status code with no body in response. - */ - "resources/databases/databases_update_maintenanceWindow.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { + certificate_id: string; /** - * @example { - * "day": "tuesday", - * "hour": "14:00" - * } + * @description UUID of the invoice + * @example 22737513-0ea7-4206-8ceb-98a575af7681 */ - "application/json": external["resources/databases/models/database_maintenance_window.yml"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Start an Online Migration - * @description To start an online migration, send a PUT request to `/v2/databases/$DATABASE_ID/online-migration` endpoint. Migrating a cluster establishes a connection with an existing cluster and replicates its contents to the target cluster. Online migration is only available for MySQL, PostgreSQL, and Redis clusters. - */ - "resources/databases/databases_update_onlineMigration.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { - /** - * @example { - * "source": { - * "host": "source-do-user-6607903-0.b.db.ondigitalocean.com", - * "dbname": "defaultdb", - * "port": 25060, - * "username": "doadmin", - * "password": "paakjnfe10rsrsmf" - * }, - * "disable_ssl": false - * } - */ - "application/json": external["resources/databases/models/source_database.yml"]; - }; - }; - responses: { - 200: external["resources/databases/responses/online_migration.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Migrate a Database Cluster to a New Region - * @description To migrate a database cluster to a new region, send a `PUT` request to - * `/v2/databases/$DATABASE_ID/migrate`. The body of the request must specify a - * `region` attribute. - * - * A successful request will receive a 202 Accepted status code with no body in - * response. Querying the database cluster will show that its `status` attribute - * will now be set to `migrating`. This will transition back to `online` when the - * migration has completed. - */ - "resources/databases/databases_update_region.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description A slug identifier for the region to which the database cluster will be migrated. - * @example lon1 - */ - region: string; - }; - }; - }; - responses: { - 202: external["shared/responses/accepted.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update SQL Mode for a Cluster - * @description To configure the SQL modes for an existing MySQL cluster, send a PUT request to `/v2/databases/$DATABASE_ID/sql_mode` specifying the desired modes. See the official MySQL 8 documentation for a [full list of supported SQL modes](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sql-mode-full). - * A successful request will receive a 204 No Content status code with no body in response. - */ - "resources/databases/databases_update_sql_mode.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { + invoice_uuid: string; /** - * @example { - * "sql_mode": "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE" - * } + * @description Limits the results to database clusters with a specific tag. + * @example production */ - "application/json": external["resources/databases/models/sql_mode.yml"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Upgrade Major Version for a Database - * @description To upgrade the major version of a database, send a PUT request to `/v2/databases/$DATABASE_ID/upgrade`, specifying the target version. - * A successful request will receive a 204 No Content status code with no body in response. - */ - "resources/databases/databases_upgrade_major_version.yml": { - parameters: { - path: { - database_cluster_uuid: external["resources/databases/parameters.yml"]["database_cluster_uuid"]; - }; - }; - requestBody: { - content: { + tag_name: string; /** - * @example { - * "version": "14" - * } + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 */ - "application/json": external["resources/databases/models/version.yml"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/databases/models/backup.yml": { - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format at which the backup was created. - * @example "2019-01-31T19:25:22.000Z" - */ - created_at: string; - /** - * @description The size of the database backup in GBs. - * @example 0.03364864 - */ - size_gigabytes: number; - }; - "resources/databases/models/ca.yml": { - /** - * @description base64 encoding of the certificate used to secure database connections - * @example LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUVRVENDQXFtZ0F3SUJBZ0lVRUZZWTdBWFZQS0Raam9jb1lpMk00Y0dvcU0wd0RRWUpLb1pJaHZjTkFRRU0KQlFBd09qRTRNRFlHQTFVRUF3d3ZOek0zT1RaaE1XRXRaamhrTUMwME9HSmpMV0V4Wm1NdFpqbGhNVFZsWXprdwpORGhsSUZCeWIycGxZM1FnUTBFd0hoY05NakF3TnpFM01UVTFNREEyV2hjTk16QXdOekUxTVRVMU1EQTJXakE2Ck1UZ3dOZ1lEVlFRRERDODNNemM1Tm1FeFlTMW1PR1F3TFRRNFltTXRZVEZtWXkxbU9XRXhOV1ZqT1RBME9HVWcKVUhKdmFtVmpkQ0JEUVRDQ0FhSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBTVdScXhycwpMZnpNdHZyUmxKVEw4MldYMVBLZkhKbitvYjNYcmVBY3FZd1dBUUp2Q3IycmhxSXZieVZzMGlaU0NzOHI4c3RGClljQ0R1bkxJNmUwTy9laERZYTBIT2RrMkFFRzE1ckVOVmNha2NSczcyQWlHVHNrdkNXS2VkUjFTUWswVWt0WCsKQUg4S1ExS3F5bzNtZ2Y2cVV1WUpzc3JNTXFselk3YTN1RVpEb2ZqTjN5Q3MvM21pTVJKcVcyNm1JV0IrUUlEbAo5YzdLRVF5MTZvdCtjeHVnd0lLMm9oZHMzaFY1bjBKMFVBM0I3QWRBdXY5aUl5L3JHaHlTNm5CNTdaWm9JZnAyCnFybXdOY0UrVjlIdXhQSGtRVjFOQjUwOFFudWZ4Z0E5VCtqU2VrdGVUbWFORkxqNjFXL3BtcndrTytOaWFXUTIKaGgzVXBKOEozY1BoNkErbHRnUmpSV2NEb2lsYVNwRVVpU09WemNNYVFvalZKYVJlNk9NbnZYc29NaSs3ZzdneApWcittQ0lUcGcvck9DaXpBWWQ2UFAxLzdYTjk1ZXNmU2tBQnM5c3hJakpjTUFqbDBYTEFzRmtGZVdyeHNIajlVCmJnaDNWYXdtcnpUeXhZT0RQcXV1cS9JcGlwc0RRT3Fpb2ZsUStkWEJJL3NUT0NNbVp6K0pNcG5HYXdJREFRQUIKb3o4d1BUQWRCZ05WSFE0RUZnUVVSekdDRlE3WEtUdHRDN3JzNS8ydFlQcExTZGN3RHdZRFZSMFRCQWd3QmdFQgovd0lCQURBTEJnTlZIUThFQkFNQ0FRWXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnR0JBSWFKQ0dSVVNxUExtcmcvCmk3MW10b0NHUDdzeG1BVXVCek1oOEdrU25uaVdaZnZGMTRwSUtqTlkwbzVkWmpHKzZqK1VjalZtK0RIdGE1RjYKOWJPeEk5S0NFeEI1blBjRXpMWjNZYitNOTcrellxbm9zUm85S21DVFJBb2JrNTZ0WU1FS1h1aVJja2tkMm1yUQo4cGw2N2xxdThjM1V4c0dHZEZVT01wMkk3ZTNpdUdWVm5UR0ZWM3JQZUdaQ0J3WGVyUUQyY0F4UjkzS3BnWVZ2ClhUUzk5dnpSbm1HOHhhUm9EVy9FbEdXZ2xWd0Q5a1JrbXhUUkdoYTdDWVZCcjFQVWY2dVVFVjhmVFIxc1hFZnIKLytMR1JoSVVsSUhWT3l2Yzk3YnZYQURPbWF1MWZDVE5lWGtRdTNyZnZFSlBmaFlLeVIwT0V3eWVvdlhRNzl0LwpTV2ZGTjBreU1Pc1UrNVNIdHJKSEh1eWNWcU0yQlVVK083VjM1UnNwOU9MZGRZMFFVbTZldFpEVEhhSUhYYzRRCnl1Rm1OL1NhSFZtNE0wL3BTVlJQdVd6TmpxMnZyRllvSDRtbGhIZk95TUNJMjc2elE2aWhGNkdDSHlkOUJqajcKUm1UWGEyNHM3NWhmSi9YTDV2bnJSdEtpVHJlVHF6V21EOVhnUmNMQ0gyS1hJaVRtSWc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - */ - certificate: string; - }; - "resources/databases/models/connection_pool_update.yml": { - /** - * @description The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. - * @example transaction - */ - mode: string; - /** - * Format: int32 - * @description The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. - * @example 10 - */ - size: number; - /** - * @description The database for use with the connection pool. - * @example defaultdb - */ - db: string; - /** - * @description The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. - * @example doadmin - */ - user?: string; - }; - "resources/databases/models/connection_pool.yml": { - /** - * @description A unique name for the connection pool. Must be between 3 and 60 characters. - * @example backend-pool - */ - name: string; - /** - * @description The PGBouncer transaction mode for the connection pool. The allowed values are session, transaction, and statement. - * @example transaction - */ - mode: string; - /** - * Format: int32 - * @description The desired size of the PGBouncer connection pool. The maximum allowed size is determined by the size of the cluster's primary node. 25 backend server connections are allowed for every 1GB of RAM. Three are reserved for maintenance. For example, a primary node with 1 GB of RAM allows for a maximum of 22 backend server connections while one with 4 GB would allow for 97. Note that these are shared across all connection pools in a cluster. - * @example 10 - */ - size: number; - /** - * @description The database for use with the connection pool. - * @example defaultdb - */ - db: string; - /** - * @description The name of the user for use with the connection pool. When excluded, all sessions connect to the database as the inbound user. - * @example doadmin - */ - user?: string; - connection?: external["resources/databases/models/database_connection.yml"]; - private_connection?: external["resources/databases/models/database_connection.yml"]; - }; - "resources/databases/models/connection_pools.yml": { - /** @description An array of connection pool objects. */ - pools?: readonly external["resources/databases/models/connection_pool.yml"][]; - }; - "resources/databases/models/database_backup.yml": { - /** - * @description The name of an existing database cluster from which the backup will be restored. - * @example backend - */ - database_name: string; - /** - * Format: date-time - * @description The timestamp of an existing database cluster backup in ISO8601 combined date and time format. The most recent backup will be used if excluded. - * @example "2019-01-31T19:25:22.000Z" - */ - backup_created_at?: string; - }; - "resources/databases/models/database_cluster_resize.yml": { - /** - * @description A slug identifier representing desired the size of the nodes in the database cluster. - * @example db-s-4vcpu-8gb - */ - size: string; - /** - * Format: int32 - * @description The number of nodes in the database cluster. Valid values are are 1-3. In addition to the primary node, up to two standby nodes may be added for highly available configurations. - * @example 3 - */ - num_nodes: number; - }; - "resources/databases/models/database_cluster.yml": { - /** - * Format: uuid - * @description A unique ID that can be used to identify and reference a database cluster. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - */ - id?: string; - /** - * @description A unique, human-readable name referring to a database cluster. - * @example backend - */ - name: string; - /** - * @description A slug representing the database engine used for the cluster. The possible values are: "pg" for PostgreSQL, "mysql" for MySQL, "redis" for Redis, and "mongodb" for MongoDB. - * @example mysql - * @enum {string} - */ - engine: "pg" | "mysql" | "redis" | "mongodb"; - /** - * @description A string representing the version of the database engine in use for the cluster. - * @example 8 - */ - version?: string; - /** - * @description A string representing the semantic version of the database engine in use for the cluster. - * @example 8.0.28 - */ - semantic_version?: string; - /** - * @description The number of nodes in the database cluster. - * @example 2 - */ - num_nodes: number; - /** - * @description The slug identifier representing the size of the nodes in the database cluster. - * @example db-s-2vcpu-4gb - */ - size: string; - /** - * @description The slug identifier for the region where the database cluster is located. - * @example nyc3 - */ - region: string; - /** - * @description A string representing the current status of the database cluster. - * @example creating - * @enum {string} - */ - status?: "creating" | "online" | "resizing" | "migrating" | "forking"; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the database cluster was created. - * @example "2019-01-11T18:37:36.000Z" - */ - created_at?: string; - /** - * @description A string specifying the UUID of the VPC to which the database cluster will be assigned. If excluded, the cluster when creating a new database cluster, it will be assigned to your account's default VPC for the region. - * @example d455e75d-4858-4eec-8c95-da2f0a5f93a7 - */ - private_network_uuid?: string; - /** - * @description An array of tags that have been applied to the database cluster. - * @example [ - * "production" - * ] - */ - tags?: string[] | null; - /** - * @description An array of strings containing the names of databases created in the database cluster. - * @example [ - * "doadmin" - * ] - */ - db_names?: (readonly string[]) | null; - connection?: external["resources/databases/models/database_connection.yml"]; - private_connection?: external["resources/databases/models/database_connection.yml"]; - users?: (readonly external["resources/databases/models/database_user.yml"][]) | null; - maintenance_window?: external["resources/databases/models/database_maintenance_window.yml"]; - /** - * Format: uuid - * @description The ID of the project that the database cluster is assigned to. If excluded when creating a new database cluster, it will be assigned to your default project. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - */ - project_id?: string; - rules?: external["resources/databases/models/firewall_rule.yml"][]; - /** - * @description A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. - * @example 2023-11-09T00:00:00Z - */ - version_end_of_life?: string; - /** - * @description A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. - * @example 2023-05-09T00:00:00Z - */ - version_end_of_availability?: string; - }; - "resources/databases/models/database_config.yml": { - config?: external["resources/databases/models/mysql.yml"] | external["resources/databases/models/postgres.yml"] | external["resources/databases/models/redis.yml"]; - }; - "resources/databases/models/database_connection.yml": { - /** - * @description A connection string in the format accepted by the `psql` command. This is provided as a convenience and should be able to be constructed by the other attributes. - * @example postgres://doadmin:wv78n3zpz42xezdk@backend-do-user-19081923-0.db.ondigitalocean.com:25060/defaultdb?sslmode=require - */ - uri?: string; - /** - * @description The name of the default database. - * @example defaultdb - */ - database?: string; - /** - * @description The FQDN pointing to the database cluster's current primary node. - * @example backend-do-user-19081923-0.db.ondigitalocean.com - */ - host?: string; - /** - * @description The port on which the database cluster is listening. - * @example 25060 - */ - port?: number; - /** - * @description The default user for the database. - * @example doadmin - */ - user?: string; - /** - * @description The randomly generated password for the default user. - * @example wv78n3zpz42xezdk - */ - password?: string; - /** - * @description A boolean value indicating if the connection should be made over SSL. - * @example true - */ - ssl?: boolean; - }; - "resources/databases/models/database_layout_option.yml": { - /** @example 1 */ - num_nodes?: number; - /** - * @description An array of objects containing the slugs available with various node counts - * @example [ - * "db-s-1vcpu-1gb", - * "db-s-1vcpu-2gb" - * ] - */ - sizes?: readonly string[]; - }; - "resources/databases/models/database_layout_options.yml": { - /** @description An array of objects, each indicating the node sizes (otherwise referred to as slugs) that are available with various numbers of nodes in the database cluster. Each slugs denotes the node's identifier, CPU, and RAM (in that order). */ - layouts?: readonly external["resources/databases/models/database_layout_option.yml"][]; - }; - "resources/databases/models/database_maintenance_window.yml": { - /** - * @description The day of the week on which to apply maintenance updates. - * @example tuesday - */ - day: string; - /** - * @description The hour in UTC at which maintenance updates will be applied in 24 hour format. - * @example 14:00 - */ - hour: string; - /** - * @description A boolean value indicating whether any maintenance is scheduled to be performed in the next window. - * @example true - */ - pending?: boolean; - /** - * @description A list of strings, each containing information about a pending maintenance update. - * @example [ - * "Update TimescaleDB to version 1.2.1", - * "Upgrade to PostgreSQL 11.2 and 10.7 bugfix releases" - * ] - */ - description?: readonly string[]; - } | null; - "resources/databases/models/database_region_options.yml": { - /** - * @description An array of strings containing the names of available regions - * @example [ - * "ams3", - * "blr1" - * ] - */ - regions?: readonly string[]; - }; - "resources/databases/models/database_replica.yml": { - /** - * Format: uuid - * @description A unique ID that can be used to identify and reference a database replica. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - */ - id?: string; - /** - * @description The name to give the read-only replicating - * @example read-nyc3-01 - */ - name: string; - /** - * @description A slug identifier for the region where the read-only replica will be located. If excluded, the replica will be placed in the same region as the cluster. - * @example nyc3 - */ - region?: string; - /** - * @description A slug identifier representing the size of the node for the read-only replica. The size of the replica must be at least as large as the node size for the database cluster from which it is replicating. - * @example db-s-2vcpu-4gb - */ - size?: string; - /** - * @description A string representing the current status of the database cluster. - * @example creating - * @enum {string} - */ - status?: "creating" | "online" | "resizing" | "migrating" | "forking"; - /** - * @description A flat array of tag names as strings to apply to the read-only replica after it is created. Tag names can either be existing or new tags. - * @example [ - * "production" - * ] - */ - tags?: string[]; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the database cluster was created. - * @example "2019-01-11T18:37:36.000Z" - */ - created_at?: string; - /** - * @description A string specifying the UUID of the VPC to which the read-only replica will be assigned. If excluded, the replica will be assigned to your account's default VPC for the region. - * @example 9423cbad-9211-442f-820b-ef6915e99b5f - */ - private_network_uuid?: string; - connection?: external["resources/databases/models/database_connection.yml"]; - private_connection?: external["resources/databases/models/database_connection.yml"]; - }; - "resources/databases/models/database_user.yml": { - /** - * @description The name of a database user. - * @example app-01 - */ - name: string; - /** - * @description A string representing the database user's role. The value will be either - * "primary" or "normal". - * - * @example normal - * @enum {string} - */ - role?: "primary" | "normal"; - /** - * @description A randomly generated password for the database user. - * @example jge5lfxtzhx42iff - */ - password?: string; - mysql_settings?: external["resources/databases/models/mysql_settings.yml"]; - }; - "resources/databases/models/database_version_availabilities.yml": external["resources/databases/models/database_version_availability.yml"][]; - "resources/databases/models/database_version_availability.yml": { - /** - * @description A timestamp referring to the date when the particular version will no longer be supported. If null, the version does not have an end of life timeline. - * @example 2023-11-09T00:00:00Z - */ - end_of_life?: string; - /** - * @description A timestamp referring to the date when the particular version will no longer be available for creating new clusters. If null, the version does not have an end of availability timeline. - * @example 2023-05-09T00:00:00Z - */ - end_of_availability?: string; - /** - * @description The engine version. - * @example 8 - */ - version?: string; - }; - "resources/databases/models/database_version_options.yml": { - /** - * @description An array of strings containing the names of available regions - * @example [ - * "4.4", - * "5.0" - * ] - */ - versions?: readonly string[]; - }; - "resources/databases/models/database.yml": { - /** - * @description The name of the database. - * @example alpha - */ - name: string; - }; - "resources/databases/models/eviction_policy_model.yml": "noeviction" | "allkeys_lru" | "allkeys_random" | "volatile_lru" | "volatile_random" | "volatile_ttl"; - "resources/databases/models/firewall_rule.yml": { - /** - * @description A unique ID for the firewall rule itself. - * @example 79f26d28-ea8a-41f2-8ad8-8cfcdd020095 - */ - uuid?: string; - /** - * @description A unique ID for the database cluster to which the rule is applied. - * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 - */ - cluster_uuid?: string; - /** - * @description The type of resource that the firewall rule allows to access the database cluster. - * @example droplet - * @enum {string} - */ - type: "droplet" | "k8s" | "ip_addr" | "tag" | "app"; - /** - * @description The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. - * @example ff2a6c52-5a44-4b63-b99c-0e98e7a63d61 - */ - value: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the firewall rule was created. - * @example "2019-01-11T18:37:36.000Z" - */ - created_at?: string; - }; - "resources/databases/models/mysql_settings.yml": { - /** - * @description A string specifying the authentication method to be used for connections - * to the MySQL user account. The valid values are `mysql_native_password` - * or `caching_sha2_password`. If excluded when creating a new user, the - * default for the version of MySQL in use will be used. As of MySQL 8.0, the - * default is `caching_sha2_password`. - * - * @example mysql_native_password - * @enum {string} - */ - auth_plugin: "mysql_native_password" | "caching_sha2_password"; - }; - "resources/databases/models/mysql.yml": { - /** - * @description The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. - * @example 3 - */ - backup_hour?: number; - /** - * @description The minute of the backup hour when backup for the service starts. New backup only starts if previous backup has already completed. - * @example 30 - */ - backup_minute?: number; - /** - * @description Global SQL mode. If empty, uses MySQL server defaults. Must only include uppercase alphabetic characters, underscores, and commas. - * @example ANSI,TRADITIONAL - */ - sql_mode?: string; - /** - * @description The number of seconds that the mysqld server waits for a connect packet before responding with bad handshake. - * @example 10 - */ - connect_timeout?: number; - /** - * @description Default server time zone, in the form of an offset from UTC (from -12:00 to +12:00), a time zone name (EST), or 'SYSTEM' to use the MySQL server default. - * @example +03:00 - */ - default_time_zone?: string; - /** - * @description The maximum permitted result length, in bytes, for the GROUP_CONCAT() function. - * @example 1024 - */ - group_concat_max_len?: number; - /** - * @description The time, in seconds, before cached statistics expire. - * @example 86400 - */ - information_schema_stats_expiry?: number; - /** - * @description The minimum length of words that an InnoDB FULLTEXT index stores. - * @example 3 - */ - innodb_ft_min_token_size?: number; - /** - * @description The InnoDB FULLTEXT index stopword list for all InnoDB tables. - * @example db_name/table_name - */ - innodb_ft_server_stopword_table?: string; - /** - * @description The time, in seconds, that an InnoDB transaction waits for a row lock. before giving up. - * @example 50 - */ - innodb_lock_wait_timeout?: number; - /** - * @description The size of the buffer, in bytes, that InnoDB uses to write to the log files. on disk. - * @example 16777216 - */ - innodb_log_buffer_size?: number; - /** - * @description The upper limit, in bytes, of the size of the temporary log files used during online DDL operations for InnoDB tables. - * @example 134217728 - */ - innodb_online_alter_log_max_size?: number; - /** - * @description When enabled, records information about all deadlocks in InnoDB user transactions in the error log. Disabled by default. - * @example true - */ - innodb_print_all_deadlocks?: boolean; - /** - * @description When enabled, transaction timeouts cause InnoDB to abort and roll back the entire transaction. - * @example true - */ - innodb_rollback_on_timeout?: boolean; - /** - * @description The time, in seconds, the server waits for activity on an interactive. connection before closing it. - * @example 3600 - */ - interactive_timeout?: number; - /** - * @description The storage engine for in-memory internal temporary tables. - * @example TempTable - * @enum {string} - */ - internal_tmp_mem_storage_engine?: "TempTable" | "MEMORY"; - /** - * @description The time, in seconds, to wait for more data from an existing connection. aborting the read. - * @example 30 - */ - net_read_timeout?: number; - /** - * @description The number of seconds to wait for a block to be written to a connection before aborting the write. - * @example 30 - */ - net_write_timeout?: number; - /** - * @description Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them. - * @example true - */ - sql_require_primary_key?: boolean; - /** - * @description The number of seconds the server waits for activity on a noninteractive connection before closing it. - * @example 28800 - */ - wait_timeout?: number; - /** - * @description The size of the largest message, in bytes, that can be received by the server. Default is 67108864 (64M). - * @example 67108864 - */ - max_allowed_packet?: number; - /** - * @description The maximum size, in bytes, of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M) - * @example 16777216 - */ - max_heap_table_size?: number; - /** - * @description The sort buffer size, in bytes, for ORDER BY optimization. Default is 262144. (256K). - * @example 262144 - */ - sort_buffer_size?: number; - /** - * @description The maximum size, in bytes, of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M). - * @example 16777216 - */ - tmp_table_size?: number; - /** - * @description When enabled, captures slow queries. When disabled, also truncates the mysql.slow_log table. Default is false. - * @example true - */ - slow_query_log?: boolean; - /** - * @description The time, in seconds, for a query to take to execute before being captured by slow_query_logs. Default is 10 seconds. - * @example 10 - */ - long_query_time?: number; - /** - * @description The minimum amount of time, in seconds, to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default, for example if using the MySQL Debezium Kafka connector. - * @example 600 - */ - binlog_retention_period?: number; - }; - "resources/databases/models/online_migration.yml": { - /** - * @description The ID of the most recent migration. - * @example 77b28fc8-19ff-11eb-8c9c-c68e24557488 - */ - id?: string; - /** - * @description The current status of the migration. - * @example running - * @enum {string} - */ - status?: "running" | "canceled" | "error" | "done"; - /** - * @description The time the migration was initiated, in ISO 8601 format. - * @example "2020-10-29T15:57:38.000Z" - */ - created_at?: string; - }; - "resources/databases/models/options.yml": { - options?: { - mongodb?: external["resources/databases/models/database_region_options.yml"] & external["resources/databases/models/database_version_options.yml"] & external["resources/databases/models/database_layout_options.yml"]; - pg?: external["resources/databases/models/database_region_options.yml"] & external["resources/databases/models/database_version_options.yml"] & external["resources/databases/models/database_layout_options.yml"]; - mysql?: external["resources/databases/models/database_region_options.yml"] & external["resources/databases/models/database_version_options.yml"] & external["resources/databases/models/database_layout_options.yml"]; - redis?: external["resources/databases/models/database_region_options.yml"] & external["resources/databases/models/database_version_options.yml"] & external["resources/databases/models/database_layout_options.yml"]; - }; - version_availability?: { - pg?: external["resources/databases/models/database_version_availabilities.yml"]; - mysql?: external["resources/databases/models/database_version_availabilities.yml"]; - redis?: external["resources/databases/models/database_version_availabilities.yml"]; - mongodb?: external["resources/databases/models/database_version_availabilities.yml"]; - }; - }; - "resources/databases/models/pgbouncer.yml": { - /** - * @description Run server_reset_query (DISCARD ALL) in all pooling modes. - * @example false - */ - server_reset_query_always?: boolean; - /** - * @description List of parameters to ignore when given in startup packet. - * @example [ - * "extra_float_digits", - * "search_path" - * ] - */ - ignore_startup_parameters?: ("extra_float_digits" | "search_path")[]; - /** - * @description If current server connections are below this number, adds more. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size. - * @example 1 - */ - min_pool_size?: number; - /** - * @description The pooler closes any unused server connection that has been connected longer than this amount of seconds. - * @example 3600 - */ - server_lifetime?: number; - /** - * @description Drops server connections if they have been idle more than this many seconds. If 0, timeout is disabled. - * @example 600 - */ - server_idle_timeout?: number; - /** - * @description If non-zero, automatically creates a pool of that size per user when a pool doesn't exist. - * @example 1 - */ - autodb_pool_size?: number; - /** - * @description PGBouncer pool mode - * @example session - * @enum {string} - */ - autodb_pool_mode?: "session" | "transaction" | "statement"; - /** - * @description Only allows a maximum this many server connections per database (regardless of user). If 0, allows unlimited connections. - * @example 1 - */ - autodb_max_db_connections?: number; - /** - * @description If the automatically-created database pools have been unused this many seconds, they are freed. If 0, timeout is disabled. - * @example 3600 - */ - autodb_idle_timeout?: number; - }; - "resources/databases/models/postgres.yml": { - /** - * @description Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted. - * @example 200000000 - */ - autovacuum_freeze_max_age?: number; - /** - * @description Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start. - * @example 5 - */ - autovacuum_max_workers?: number; - /** - * @description Specifies the minimum delay, in seconds, between autovacuum runs on any given database. The default is one minute. - * @example 43200 - */ - autovacuum_naptime?: number; - /** - * @description Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples. - * @example 50 - */ - autovacuum_vacuum_threshold?: number; - /** - * @description Specifies the minimum number of inserted, updated, or deleted tuples needed to trigger an ANALYZE in any one table. The default is 50 tuples. - * @example 50 - */ - autovacuum_analyze_threshold?: number; - /** - * @description Specifies a fraction, in a decimal value, of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size). - * @example 0.2 - */ - autovacuum_vacuum_scale_factor?: number; - /** - * @description Specifies a fraction, in a decimal value, of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size). - * @example 0.2 - */ - autovacuum_analyze_scale_factor?: number; - /** - * @description Specifies the cost delay value, in milliseconds, that will be used in automatic VACUUM operations. If -1, uses the regular vacuum_cost_delay value, which is 20 milliseconds. - * @example 20 - */ - autovacuum_vacuum_cost_delay?: number; - /** - * @description Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used. - * @example -1 - */ - autovacuum_vacuum_cost_limit?: number; - /** - * @description The hour of day (in UTC) when backup for the service starts. New backup only starts if previous backup has already completed. - * @example 3 - */ - backup_hour?: number; - /** - * @description The minute of the backup hour when backup for the service starts. New backup is only started if previous backup has already completed. - * @example 30 - */ - backup_minute?: number; - /** - * @description Specifies the delay, in milliseconds, between activity rounds for the background writer. Default is 200 ms. - * @example 200 - */ - bgwriter_delay?: number; - /** - * @description The amount of kilobytes that need to be written by the background writer before attempting to force the OS to issue these writes to underlying storage. Specified in kilobytes, default is 512. Setting of 0 disables forced writeback. - * @example 512 - */ - bgwriter_flush_after?: number; - /** - * @description The maximum number of buffers that the background writer can write. Setting this to zero disables background writing. Default is 100. - * @example 100 - */ - bgwriter_lru_maxpages?: number; - /** - * @description The average recent need for new buffers is multiplied by bgwriter_lru_multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is 2.0. - * @example 2 - */ - bgwriter_lru_multiplier?: number; - /** - * @description The amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. - * @example 1000 - */ - deadlock_timeout?: number; - /** - * @description Specifies the default TOAST compression method for values of compressible columns (the default is lz4). - * @example lz4 - * @enum {string} - */ - default_toast_compression?: "lz4" | "pglz"; - /** - * @description Time out sessions with open transactions after this number of milliseconds - * @example 10000 - */ - idle_in_transaction_session_timeout?: number; - /** - * @description Activates, in a boolean, the system-wide use of Just-in-Time Compilation (JIT). - * @example true - */ - jit?: boolean; - /** - * @description Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions. - * @example -1 - */ - log_autovacuum_min_duration?: number; - /** - * @description Controls the amount of detail written in the server log for each message that is logged. - * @example VERBOSE - * @enum {string} - */ - log_error_verbosity?: "TERSE" | "DEFAULT" | "VERBOSE"; - /** - * @description Selects one of the available log-formats. These can support popular log analyzers like pgbadger, pganalyze, etc. - * @example pid=%p,user=%u,db=%d,app=%a,client=%h - * @enum {string} - */ - log_line_prefix?: "pid=%p,user=%u,db=%d,app=%a,client=%h" | "%m [%p] %q[user=%u,db=%d,app=%a]" | "%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h"; - /** - * @description Log statements that take more than this number of milliseconds to run. If -1, disables. - * @example -1 - */ - log_min_duration_statement?: number; - /** - * @description PostgreSQL maximum number of files that can be open per process. - * @example 2048 - */ - max_files_per_process?: number; - /** - * @description PostgreSQL maximum prepared transactions. Once increased, this parameter cannot be lowered from its set value. - * @example 20 - */ - max_prepared_transactions?: number; - /** - * @description PostgreSQL maximum predicate locks per transaction. - * @example 128 - */ - max_pred_locks_per_transaction?: number; - /** - * @description PostgreSQL maximum locks per transaction. Once increased, this parameter cannot be lowered from its set value. - * @example 128 - */ - max_locks_per_transaction?: number; - /** - * @description Maximum depth of the stack in bytes. - * @example 2097152 - */ - max_stack_depth?: number; - /** - * @description Max standby archive delay in milliseconds. - * @example 43200 - */ - max_standby_archive_delay?: number; - /** - * @description Max standby streaming delay in milliseconds. - * @example 43200 - */ - max_standby_streaming_delay?: number; - /** - * @description PostgreSQL maximum replication slots. - * @example 16 - */ - max_replication_slots?: number; - /** - * @description PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers). - * @example 16 - */ - max_logical_replication_workers?: number; - /** - * @description Sets the maximum number of workers that the system can support for parallel queries. - * @example 12 - */ - max_parallel_workers?: number; - /** - * @description Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. - * @example 16 - */ - max_parallel_workers_per_gather?: number; - /** - * @description Sets the maximum number of background processes that the system can support. Once increased, this parameter cannot be lowered from its set value. - * @example 16 - */ - max_worker_processes?: number; - /** - * @description Controls which role to use for pg_partman's scheduled background tasks. Must consist of alpha-numeric characters, dots, underscores, or dashes. May not start with dash or dot. Maximum of 64 characters. - * @example myrolename - */ - "pg_partman_bgw.role"?: string; - /** - * @description Sets the time interval to run pg_partman's scheduled tasks. - * @example 3600 - */ - "pg_partman_bgw.interval"?: number; - /** - * @description Controls which statements are counted. Specify 'top' to track top-level statements (those issued directly by clients), 'all' to also track nested statements (such as statements invoked within functions), or 'none' to disable statement statistics collection. The default value is top. - * @example all - * @enum {string} - */ - "pg_stat_statements.track"?: "all" | "top" | "none"; - /** - * @description PostgreSQL temporary file limit in KiB. If -1, sets to unlimited. - * @example 5000000 - */ - temp_file_limit?: number; - /** - * @description PostgreSQL service timezone - * @example Europe/Helsinki - */ - timezone?: string; - /** - * @description Specifies the number of bytes reserved to track the currently executing command for each active session. - * @example 1024 - */ - track_activity_query_size?: number; - /** - * @description Record commit time of transactions. - * @example off - * @enum {string} - */ - track_commit_timestamp?: "off" | "on"; - /** - * @description Enables tracking of function call counts and time used. - * @example all - * @enum {string} - */ - track_functions?: "all" | "pl" | "none"; - /** - * @description Enables timing of database I/O calls. This parameter is off by default, because it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms. - * @example off - * @enum {string} - */ - track_io_timing?: "off" | "on"; - /** - * @description PostgreSQL maximum WAL senders. Once increased, this parameter cannot be lowered from its set value. - * @example 32 - */ - max_wal_senders?: number; - /** - * @description Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Must be either 0 or between 5000 and 10800000. - * @example 60000 - */ - wal_sender_timeout?: number; - /** - * @description WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance - * @example 50 - */ - wal_writer_delay?: number; - /** - * @description Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value. - * @example 41.5 - */ - shared_buffers_percentage?: number; - pgbouncer?: external["resources/databases/models/pgbouncer.yml"]; - /** - * @description The maximum amount of memory, in MB, used by a query operation (such as a sort or hash table) before writing to temporary disk files. Default is 1MB + 0.075% of total RAM (up to 32MB). - * @example 4 - */ - work_mem?: number; - timescaledb?: external["resources/databases/models/timescaledb.yml"]; - /** - * @description Synchronous replication type. Note that the service plan also needs to support synchronous replication. - * @example off - * @enum {string} - */ - synchronous_replication?: "off" | "quorum"; - /** - * @description Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted. When this extension is enabled, pg_stat_statements results for utility commands are unreliable. - * @example false - */ - stat_monitor_enable?: boolean; - }; - "resources/databases/models/redis.yml": { - redis_maxmemory_policy?: external["resources/databases/models/eviction_policy_model.yml"]; - /** - * @description Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. - * @example 64 - */ - redis_pubsub_client_output_buffer_limit?: number; - /** - * @description Set number of redis databases. Changing this will cause a restart of redis service. - * @example 16 - */ - redis_number_of_databases?: number; - /** - * @description Redis IO thread count - * @example 1 - */ - redis_io_threads?: number; - /** - * @description Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies - * @default 10 - * @example 10 - */ - redis_lfu_log_factor?: number; - /** - * @description LFU maxmemory-policy counter decay time in minutes - * @default 1 - * @example 1 - */ - redis_lfu_decay_time?: number; - /** - * @description Require SSL to access Redis - * @default true - * @example true - */ - redis_ssl?: boolean; - /** - * @description Redis idle connection timeout in seconds - * @default 300 - * @example 300 - */ - redis_timeout?: number; - /** - * @description Set notify-keyspace-events option - * @default - * @example K - */ - redis_notify_keyspace_events?: string; - /** - * @description When persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked. - * @example rdb - * @enum {string} - */ - redis_persistence?: "off" | "rdb"; - /** - * @description Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default. - * @example allchannels - * @enum {string} - */ - redis_acl_channels_default?: "allchannels" | "resetchannels"; - }; - "resources/databases/models/source_database.yml": { - source?: { - /** - * @description The FQDN pointing to the database cluster's current primary node. - * @example backend-do-user-19081923-0.db.ondigitalocean.com - */ - host?: string; - /** - * @description The port on which the database cluster is listening. - * @example 25060 - */ - port?: number; - /** - * @description The name of the default database. - * @example defaultdb - */ - dbname?: string; - /** - * @description The default user for the database. - * @example doadmin - */ - username?: string; - /** - * @description The randomly generated password for the default user. - * @example wv78n3zpz42xezdk - */ - password?: string; - }; - /** - * @description Enables SSL encryption when connecting to the source database. - * @example false - */ - disable_ssl?: boolean; - }; - "resources/databases/models/sql_mode.yml": { - /** - * @description A string specifying the configured SQL modes for the MySQL cluster. - * @example ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES - */ - sql_mode: string; - }; - "resources/databases/models/timescaledb.yml": { - /** - * @description The number of background workers for timescaledb operations. Set to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time. - * @example 8 - */ - max_background_workers?: number; - }; - "resources/databases/models/version.yml": { - version?: external["resources/databases/models/database_cluster.yml"]["version"]; - }; - "resources/databases/parameters.yml": { - database_cluster_uuid: string; - database_name: string; - replica_name: string; - username: string; - tag_name?: string; - pool_name: string; - migration_id: string; - }; - "resources/databases/responses/ca.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - ca: external["resources/databases/models/ca.yml"]; - }; - }; - }; - "resources/databases/responses/connection_pool.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - pool: external["resources/databases/models/connection_pool.yml"]; - }; - }; - }; - "resources/databases/responses/connection_pools.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/databases/models/connection_pools.yml"]; - }; - }; - "resources/databases/responses/database_backups.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - backups: external["resources/databases/models/backup.yml"][]; - }; - }; - }; - "resources/databases/responses/database_cluster.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - database: external["resources/databases/models/database_cluster.yml"]; - }; - }; - }; - "resources/databases/responses/database_clusters.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - databases?: external["resources/databases/models/database_cluster.yml"][]; - }; - }; - }; - "resources/databases/responses/database_config.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - config: external["resources/databases/models/mysql.yml"] | external["resources/databases/models/postgres.yml"] | external["resources/databases/models/redis.yml"]; - }; - }; - }; - "resources/databases/responses/database_replica.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - replica?: external["resources/databases/models/database_replica.yml"]; - }; - }; - }; - "resources/databases/responses/database_replicas.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - replicas?: external["resources/databases/models/database_replica.yml"][]; - }; - }; - }; - "resources/databases/responses/database.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - db: external["resources/databases/models/database.yml"]; - }; - }; - }; - "resources/databases/responses/databases.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - dbs?: external["resources/databases/models/database.yml"][]; - }; - }; - }; - "resources/databases/responses/eviction_policy_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - eviction_policy: external["resources/databases/models/eviction_policy_model.yml"]; - }; - }; - }; - "resources/databases/responses/firewall_rules.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - rules?: external["resources/databases/models/firewall_rule.yml"][]; - }; - }; - }; - "resources/databases/responses/online_migration.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/databases/models/online_migration.yml"]; - }; - }; - "resources/databases/responses/options.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/databases/models/options.yml"]; - }; - }; - "resources/databases/responses/sql_mode.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/databases/models/sql_mode.yml"]; - }; - }; - "resources/databases/responses/user.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - user: external["resources/databases/models/database_user.yml"]; - }; - }; - }; - "resources/databases/responses/users.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - users?: external["resources/databases/models/database_user.yml"][]; - }; - }; - }; - /** - * Create a New Domain Record - * @description To create a new record to a domain, send a POST request to - * `/v2/domains/$DOMAIN_NAME/records`. - * - * The request must include all of the required fields for the domain record type - * being added. - * - * See the [attribute table](#tag/Domain-Records) for details regarding record - * types and their respective required attributes. - */ - "resources/domains/domains_create_record.yml": { - parameters: { - path: { - domain_name: external["resources/domains/parameters.yml"]["domain_name"]; - }; - }; - requestBody?: { - content: { - /** - * @example { - * "type": "A", - * "name": "www", - * "data": "162.10.66.0", - * "priority": null, - * "port": null, - * "ttl": 1800, - * "weight": null, - * "flags": null, - * "tag": null - * } - */ - "application/json": external["resources/domains/models/domain_record_types.yml"]["domain_record_a"] | external["resources/domains/models/domain_record_types.yml"]["domain_record_aaaa"] | external["resources/domains/models/domain_record_types.yml"]["domain_record_caa"] | external["resources/domains/models/domain_record_types.yml"]["domain_record_cname"] | external["resources/domains/models/domain_record_types.yml"]["domain_record_mx"] | external["resources/domains/models/domain_record_types.yml"]["domain_record_ns"] | external["resources/domains/models/domain_record_types.yml"]["domain_record_soa"] | external["resources/domains/models/domain_record_types.yml"]["domain_record_srv"] | external["resources/domains/models/domain_record_types.yml"]["domain_record_txt"]; - }; - }; - responses: { - 201: external["resources/domains/responses/created_domain_record.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a New Domain - * @description To create a new domain, send a POST request to `/v2/domains`. Set the "name" - * attribute to the domain name you are adding. Optionally, you may set the - * "ip_address" attribute, and an A record will be automatically created pointing - * to the apex domain. - */ - "resources/domains/domains_create.yml": { - requestBody?: { - content: { - /** - * @example { - * "name": "example.com" - * } - */ - "application/json": external["resources/domains/models/domain.yml"]; - }; - }; - responses: { - 201: external["resources/domains/responses/create_domain_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Domain Record - * @description To delete a record for a domain, send a DELETE request to - * `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. - * - * The record will be deleted and the response status will be a 204. This - * indicates a successful request with no body returned. - */ - "resources/domains/domains_delete_record.yml": { - parameters: { - path: { - domain_name: external["resources/domains/parameters.yml"]["domain_name"]; - domain_record_id: external["resources/domains/parameters.yml"]["domain_record_id"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Domain - * @description To delete a domain, send a DELETE request to `/v2/domains/$DOMAIN_NAME`. - */ - "resources/domains/domains_delete.yml": { - parameters: { - path: { - domain_name: external["resources/domains/parameters.yml"]["domain_name"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Domain Record - * @description To retrieve a specific domain record, send a GET request to `/v2/domains/$DOMAIN_NAME/records/$RECORD_ID`. - */ - "resources/domains/domains_get_record.yml": { - parameters: { - path: { - domain_name: external["resources/domains/parameters.yml"]["domain_name"]; - domain_record_id: external["resources/domains/parameters.yml"]["domain_record_id"]; - }; - }; - responses: { - 200: external["resources/domains/responses/domain_record.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Domain - * @description To get details about a specific domain, send a GET request to `/v2/domains/$DOMAIN_NAME`. - */ - "resources/domains/domains_get.yml": { - parameters: { - path: { - domain_name: external["resources/domains/parameters.yml"]["domain_name"]; - }; - }; - responses: { - 200: external["resources/domains/responses/existing_domain.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Domain Records - * @description To get a listing of all records configured for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records`. - * The list of records returned can be filtered by using the `name` and `type` query parameters. For example, to only include A records for a domain, send a GET request to `/v2/domains/$DOMAIN_NAME/records?type=A`. `name` must be a fully qualified record name. For example, to only include records matching `sub.example.com`, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. Both name and type may be used together. - */ - "resources/domains/domains_list_records.yml": { - parameters: { - query?: { - name?: external["resources/domains/parameters.yml"]["domain_name_query"]; - type?: external["resources/domains/parameters.yml"]["domain_type_query"]; - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - domain_name: external["resources/domains/parameters.yml"]["domain_name"]; - }; - }; - responses: { - 200: external["resources/domains/responses/all_domain_records_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Domains - * @description To retrieve a list of all of the domains in your account, send a GET request to `/v2/domains`. - */ - "resources/domains/domains_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - }; - responses: { - 200: external["resources/domains/responses/all_domains_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update a Domain Record - * @description To update an existing record, send a PATCH request to - * `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for - * the record type can be set to a new value for the record. - * - * See the [attribute table](#tag/Domain-Records) for details regarding record - * types and their respective attributes. - */ - "resources/domains/domains_patch_record.yml": { - parameters: { - path: { - domain_name: external["resources/domains/parameters.yml"]["domain_name"]; - domain_record_id: external["resources/domains/parameters.yml"]["domain_record_id"]; - }; - }; - requestBody?: { - content: { + database_cluster_uuid: string; /** - * @example { - * "name": "blog", - * "type": "A" - * } + * @description A unique identifier assigned to the online migration. + * @example 77b28fc8-19ff-11eb-8c9c-c68e24557488 */ - "application/json": external["resources/domains/models/domain_record.yml"]; - }; - }; - responses: { - 200: external["resources/domains/responses/domain_record.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update a Domain Record - * @description To update an existing record, send a PUT request to - * `/v2/domains/$DOMAIN_NAME/records/$DOMAIN_RECORD_ID`. Any attribute valid for - * the record type can be set to a new value for the record. - * - * See the [attribute table](#tag/Domain-Records) for details regarding record - * types and their respective attributes. - */ - "resources/domains/domains_update_record.yml": { - parameters: { - path: { - domain_name: external["resources/domains/parameters.yml"]["domain_name"]; - domain_record_id: external["resources/domains/parameters.yml"]["domain_record_id"]; - }; - }; - requestBody?: { - content: { + migration_id: string; /** - * @example { - * "name": "blog", - * "type": "CNAME" - * } + * @description The name of the database replica. + * @example read-nyc3-01 */ - "application/json": external["resources/domains/models/domain_record.yml"]; - }; - }; - responses: { - 200: external["resources/domains/responses/domain_record.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/domains/examples.yml": unknown - "resources/domains/models/domain_record_types.yml": { - domain_record_a: external["resources/domains/models/domain_record.yml"]; - domain_record_aaaa: external["resources/domains/models/domain_record.yml"]; - domain_record_caa: external["resources/domains/models/domain_record.yml"]; - domain_record_cname: external["resources/domains/models/domain_record.yml"]; - domain_record_mx: external["resources/domains/models/domain_record.yml"]; - domain_record_ns: external["resources/domains/models/domain_record.yml"]; - domain_record_soa: external["resources/domains/models/domain_record.yml"]; - domain_record_srv: external["resources/domains/models/domain_record.yml"]; - domain_record_txt: external["resources/domains/models/domain_record.yml"]; - }; - "resources/domains/models/domain_record.yml": { - /** - * @description A unique identifier for each domain record. - * @example 28448429 - */ - id?: number; - /** - * @description The type of the DNS record. For example: A, CNAME, TXT, ... - * @example NS - */ - type: string; - /** - * @description The host name, alias, or service being defined by the record. - * @example @ - */ - name?: string; - /** - * @description Variable data depending on record type. For example, the "data" value for an A record would be the IPv4 address to which the domain will be mapped. For a CAA record, it would contain the domain name of the CA being granted permission to issue certificates. - * @example ns1.digitalocean.com - */ - data?: string; - /** - * @description The priority for SRV and MX records. - * @example null - */ - priority?: number | null; - /** - * @description The port for SRV records. - * @example null - */ - port?: number | null; - /** - * @description This value is the time to live for the record, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. - * @example 1800 - */ - ttl?: number; - /** - * @description The weight for SRV records. - * @example null - */ - weight?: number | null; - /** - * @description An unsigned integer between 0-255 used for CAA records. - * @example null - */ - flags?: number | null; - /** - * @description The parameter tag for CAA records. Valid values are "issue", "issuewild", or "iodef" - * @example null - */ - tag?: string | null; - }; - "resources/domains/models/domain.yml": { - /** - * @description The name of the domain itself. This should follow the standard domain format of domain.TLD. For instance, `example.com` is a valid domain name. - * @example example.com - */ - name?: string; - /** - * @description This optional attribute may contain an IP address. When provided, an A record will be automatically created pointing to the apex domain. - * @example 192.0.2.1 - */ - ip_address?: string; - /** - * @description This value is the time to live for the records on this domain, in seconds. This defines the time frame that clients can cache queried information before a refresh should be requested. - * @example 1800 - */ - ttl?: number | null; - /** - * @description This attribute contains the complete contents of the zone file for the selected domain. Individual domain record resources should be used to get more granular control over records. However, this attribute can also be used to get information about the SOA record, which is created automatically and is not accessible as an individual record resource. - * @example $ORIGIN example.com. - * $TTL 1800 - * example.com. IN SOA ns1.digitalocean.com. hostmaster.example.com. 1415982609 10800 3600 604800 1800 - * example.com. 1800 IN NS ns1.digitalocean.com. - * example.com. 1800 IN NS ns2.digitalocean.com. - * example.com. 1800 IN NS ns3.digitalocean.com. - * example.com. 1800 IN A 1.2.3.4 - */ - zone_file?: string | null; - }; - "resources/domains/parameters.yml": { - domain_name: string; - domain_record_id: number; - domain_name_query?: string; - domain_type_query?: "A" | "AAAA" | "CAA" | "CNAME" | "MX" | "NS" | "SOA" | "SRV" | "TXT"; - }; - "resources/domains/responses/all_domain_records_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - domain_records?: external["resources/domains/models/domain_record.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/domains/responses/all_domains_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - /** @description Array of volumes. */ - domains: external["resources/domains/models/domain.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/domains/responses/create_domain_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - domain?: external["resources/domains/models/domain.yml"]; - }; - }; - }; - "resources/domains/responses/created_domain_record.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - domain_record?: external["resources/domains/models/domain_record.yml"]; - }; - }; - }; - "resources/domains/responses/domain_record.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - domain_record?: external["resources/domains/models/domain_record.yml"]; - }; - }; - }; - "resources/domains/responses/existing_domain.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - domain?: external["resources/domains/models/domain.yml"]; - }; - }; - }; - /** - * Retrieve a Droplet Action - * @description To retrieve a Droplet action, send a GET request to - * `/v2/droplets/$DROPLET_ID/actions/$ACTION_ID`. - * - * The response will be a JSON object with a key called `action`. The value will - * be a Droplet action object. - */ - "resources/droplets/dropletActions_get.yml": { - parameters: { - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - action_id: external["resources/actions/parameters.yml"]["action_id"]; - }; - }; - responses: { - 200: external["resources/actions/responses/action.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Actions for a Droplet - * @description To retrieve a list of all actions that have been executed for a Droplet, send - * a GET request to `/v2/droplets/$DROPLET_ID/actions`. - * - * The results will be returned as a JSON object with an `actions` key. This will - * be set to an array filled with `action` objects containing the standard - * `action` attributes. - */ - "resources/droplets/dropletActions_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 200: external["resources/droplets/responses/all_droplet_actions.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Acting on Tagged Droplets - * @description Some actions can be performed in bulk on tagged Droplets. The actions can be - * initiated by sending a POST to `/v2/droplets/actions?tag_name=$TAG_NAME` with - * the action arguments. - * - * Only a sub-set of action types are supported: - * - * - `power_cycle` - * - `power_on` - * - `power_off` - * - `shutdown` - * - `enable_ipv6` - * - `enable_backups` - * - `disable_backups` - * - `snapshot` - */ - "resources/droplets/dropletActions_post_byTag.yml": { - parameters: { - query?: { - tag_name?: external["resources/droplets/parameters.yml"]["droplet_tag_name"]; - }; - }; - /** - * @description The `type` attribute set in the request body will specify the action that - * will be taken on the Droplet. Some actions will require additional - * attributes to be set as well. - */ - requestBody?: { - content: { - "application/json": external["resources/droplets/models/droplet_actions.yml"]["droplet_action"] | external["resources/droplets/models/droplet_actions.yml"]["droplet_action_snapshot"]; - }; - }; - responses: { - 201: external["resources/droplets/responses/droplet_actions_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Initiate a Droplet Action - * @description To initiate an action on a Droplet send a POST request to - * `/v2/droplets/$DROPLET_ID/actions`. In the JSON body to the request, - * set the `type` attribute to on of the supported action types: - * - * | Action | Details | - * | ---------------------------------------- | ----------- | - * | `enable_backups` | Enables backups for a Droplet | - * | `disable_backups` | Disables backups for a Droplet | - * | `reboot` | Reboots a Droplet. A `reboot` action is an attempt to reboot the Droplet in a graceful way, similar to using the `reboot` command from the console. | - * | `power_cycle` | Power cycles a Droplet. A `powercycle` action is similar to pushing the reset button on a physical machine, it's similar to booting from scratch. | - * | `shutdown` | Shutsdown a Droplet. A shutdown action is an attempt to shutdown the Droplet in a graceful way, similar to using the `shutdown` command from the console. Since a `shutdown` command can fail, this action guarantees that the command is issued, not that it succeeds. The preferred way to turn off a Droplet is to attempt a shutdown, with a reasonable timeout, followed by a `power_off` action to ensure the Droplet is off. | - * | `power_off` | Powers off a Droplet. A `power_off` event is a hard shutdown and should only be used if the `shutdown` action is not successful. It is similar to cutting the power on a server and could lead to complications. | - * | `power_on` | Powers on a Droplet. | - * | `restore` | Restore a Droplet using a backup image. The image ID that is passed in must be a backup of the current Droplet instance. The operation will leave any embedded SSH keys intact. | - * | `password_reset` | Resets the root password for a Droplet. A new password will be provided via email. It must be changed after first use. | - * | `resize` | Resizes a Droplet. Set the `size` attribute to a size slug. If a permanent resize with disk changes included is desired, set the `disk` attribute to `true`. | - * | `rebuild` | Rebuilds a Droplet from a new base image. Set the `image` attribute to an image ID or slug. | - * | `rename` | Renames a Droplet. | - * | `change_kernel` | Changes a Droplet's kernel. Only applies to Droplets with externally managed kernels. All Droplets created after March 2017 use internal kernels by default. | - * | `enable_ipv6` | Enables IPv6 for a Droplet. | - * | `snapshot` | Takes a snapshot of a Droplet. | - */ - "resources/droplets/dropletActions_post.yml": { - parameters: { - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - /** - * @description The `type` attribute set in the request body will specify the action that - * will be taken on the Droplet. Some actions will require additional - * attributes to be set as well. - */ - requestBody?: { - content: { - "application/json": external["resources/droplets/models/droplet_actions.yml"]["droplet_action"] | external["resources/droplets/models/droplet_actions.yml"]["droplet_action_restore"] | external["resources/droplets/models/droplet_actions.yml"]["droplet_action_resize"] | external["resources/droplets/models/droplet_actions.yml"]["droplet_action_rebuild"] | external["resources/droplets/models/droplet_actions.yml"]["droplet_action_rename"] | external["resources/droplets/models/droplet_actions.yml"]["droplet_action_change_kernel"] | external["resources/droplets/models/droplet_actions.yml"]["droplet_action_snapshot"]; - }; - }; - responses: { - 201: external["resources/droplets/responses/droplet_action.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a New Droplet - * @description To create a new Droplet, send a POST request to `/v2/droplets` setting the - * required attributes. - * - * A Droplet will be created using the provided information. The response body - * will contain a JSON object with a key called `droplet`. The value will be an - * object containing the standard attributes for your new Droplet. The response - * code, 202 Accepted, does not indicate the success or failure of the operation, - * just that the request has been accepted for processing. The `actions` returned - * as part of the response's `links` object can be used to check the status - * of the Droplet create event. - * - * ### Create Multiple Droplets - * - * Creating multiple Droplets is very similar to creating a single Droplet. - * Instead of sending `name` as a string, send `names` as an array of strings. A - * Droplet will be created for each name you send using the associated - * information. Up to ten Droplets may be created this way at a time. - * - * Rather than returning a single Droplet, the response body will contain a JSON - * array with a key called `droplets`. This will be set to an array of JSON - * objects, each of which will contain the standard Droplet attributes. The - * response code, 202 Accepted, does not indicate the success or failure of any - * operation, just that the request has been accepted for processing. The array - * of `actions` returned as part of the response's `links` object can be used to - * check the status of each individual Droplet create event. - */ - "resources/droplets/droplets_create.yml": { - requestBody?: { - content: { - "application/json": external["resources/droplets/models/droplet_single_create.yml"] | external["resources/droplets/models/droplet_multi_create.yml"]; - }; - }; - responses: { - 202: external["resources/droplets/responses/droplet_create.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Deleting Droplets by Tag - * @description To delete **all** Droplets assigned to a specific tag, include the `tag_name` - * query parameter set to the name of the tag in your DELETE request. For - * example, `/v2/droplets?tag_name=$TAG_NAME`. - * - * A successful request will receive a 204 status code with no body in response. - * This indicates that the request was processed successfully. - */ - "resources/droplets/droplets_destroy_byTag.yml": { - parameters: { - query: { - tag_name: external["resources/droplets/parameters.yml"]["droplet_delete_tag_name"]; - }; - }; - responses: { - 204: external["shared/responses/no_content_with_content_type.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retry a Droplet Destroy with Associated Resources Request - * @description If the status of a request to destroy a Droplet with its associated resources - * reported any errors, it can be retried by sending a POST request to the - * `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/retry` endpoint. - * - * Only one destroy can be active at a time per Droplet. If a retry is issued - * while another destroy is in progress for the Droplet a 409 status code will - * be returned. A successful response will include a 202 response code and no - * content. - */ - "resources/droplets/droplets_destroy_retryWithAssociatedResources.yml": { - parameters: { - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 202: external["shared/responses/accepted.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 409: external["shared/responses/conflict.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Destroy a Droplet and All of its Associated Resources (Dangerous) - * @description To destroy a Droplet along with all of its associated resources, send a DELETE - * request to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/dangerous` - * endpoint. The headers of this request must include an `X-Dangerous` key set to - * `true`. To preview which resources will be destroyed, first query the - * Droplet's associated resources. This operation _can not_ be reverse and should - * be used with caution. - * - * A successful response will include a 202 response code and no content. Use the - * status endpoint to check on the success or failure of the destruction of the - * individual resources. - */ - "resources/droplets/droplets_destroy_withAssociatedResourcesDangerous.yml": { - parameters: { - header: { - "X-Dangerous": external["resources/droplets/parameters.yml"]["x_dangerous"]; - }; - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 202: external["shared/responses/accepted.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Selectively Destroy a Droplet and its Associated Resources - * @description To destroy a Droplet along with a sub-set of its associated resources, send a - * DELETE request to the `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/selective` - * endpoint. The JSON body of the request should include `reserved_ips`, `snapshots`, `volumes`, - * or `volume_snapshots` keys each set to an array of IDs for the associated - * resources to be destroyed. The IDs can be found by querying the Droplet's - * associated resources. Any associated resource not included in the request - * will remain and continue to accrue changes on your account. - * - * A successful response will include a 202 response code and no content. Use - * the status endpoint to check on the success or failure of the destruction of - * the individual resources. - */ - "resources/droplets/droplets_destroy_withAssociatedResourcesSelective.yml": { - parameters: { - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - requestBody?: { - content: { - "application/json": external["resources/droplets/models/selective_destroy_associated_resource.yml"]; - }; - }; - responses: { - 202: external["shared/responses/accepted.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete an Existing Droplet - * @description To delete a Droplet, send a DELETE request to `/v2/droplets/$DROPLET_ID`. - * - * A successful request will receive a 204 status code with no body in response. - * This indicates that the request was processed successfully. - */ - "resources/droplets/droplets_destroy.yml": { - parameters: { - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 204: external["shared/responses/no_content_with_content_type.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Check Status of a Droplet Destroy with Associated Resources Request - * @description To check on the status of a request to destroy a Droplet with its associated - * resources, send a GET request to the - * `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources/status` endpoint. - */ - "resources/droplets/droplets_get_destroyAssociatedResourcesStatus.yml": { - parameters: { - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 200: external["resources/droplets/responses/associated_resources_status.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Droplet - * @description To show information about an individual Droplet, send a GET request to - * `/v2/droplets/$DROPLET_ID`. - */ - "resources/droplets/droplets_get.yml": { - parameters: { - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 200: external["resources/droplets/responses/existing_droplet.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Associated Resources for a Droplet - * @description To list the associated billable resources that can be destroyed along with a - * Droplet, send a GET request to the - * `/v2/droplets/$DROPLET_ID/destroy_with_associated_resources` endpoint. - * - * The response will be a JSON object containing `snapshots`, `volumes`, and - * `volume_snapshots` keys. Each will be set to an array of objects containing - * information about the associated resources. - */ - "resources/droplets/droplets_list_associatedResources.yml": { - parameters: { - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 200: external["resources/droplets/responses/associated_resources_list.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Backups for a Droplet - * @description To retrieve any backups associated with a Droplet, send a GET request to - * `/v2/droplets/$DROPLET_ID/backups`. - * - * You will get back a JSON object that has a `backups` key. This will be set to - * an array of backup objects, each of which contain the standard - * Droplet backup attributes. - */ - "resources/droplets/droplets_list_backups.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 200: external["resources/droplets/responses/all_droplet_backups.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List all Firewalls Applied to a Droplet - * @description To retrieve a list of all firewalls available to a Droplet, send a GET request - * to `/v2/droplets/$DROPLET_ID/firewalls` - * - * The response will be a JSON object that has a key called `firewalls`. This will - * be set to an array of `firewall` objects, each of which contain the standard - * `firewall` attributes. - */ - "resources/droplets/droplets_list_firewalls.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 200: external["resources/droplets/responses/all_firewalls.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Available Kernels for a Droplet - * @description To retrieve a list of all kernels available to a Droplet, send a GET request - * to `/v2/droplets/$DROPLET_ID/kernels` - * - * The response will be a JSON object that has a key called `kernels`. This will - * be set to an array of `kernel` objects, each of which contain the standard - * `kernel` attributes. - */ - "resources/droplets/droplets_list_kernels.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 200: external["resources/droplets/responses/all_kernels.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Neighbors for a Droplet - * @description To retrieve a list of any "neighbors" (i.e. Droplets that are co-located on - * the same physical hardware) for a specific Droplet, send a GET request to - * `/v2/droplets/$DROPLET_ID/neighbors`. - * - * The results will be returned as a JSON object with a key of `droplets`. This - * will be set to an array containing objects representing any other Droplets - * that share the same physical hardware. An empty array indicates that the - * Droplet is not co-located any other Droplets associated with your account. - */ - "resources/droplets/droplets_list_neighbors.yml": { - parameters: { - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 200: external["resources/droplets/responses/neighbor_droplets.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Droplet Neighbors - * @description To retrieve a list of all Droplets that are co-located on the same physical - * hardware, send a GET request to `/v2/reports/droplet_neighbors_ids`. - * - * The results will be returned as a JSON object with a key of `neighbor_ids`. - * This will be set to an array of arrays. Each array will contain a set of - * Droplet IDs for Droplets that share a physical server. An empty array - * indicates that all Droplets associated with your account are located on - * separate physical hardware. - */ - "resources/droplets/droplets_list_neighborsIds.yml": { - responses: { - 200: external["resources/droplets/responses/droplet_neighbors_ids.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Snapshots for a Droplet - * @description To retrieve the snapshots that have been created from a Droplet, send a GET - * request to `/v2/droplets/$DROPLET_ID/snapshots`. - * - * You will get back a JSON object that has a `snapshots` key. This will be set - * to an array of snapshot objects, each of which contain the standard Droplet - * snapshot attributes. - */ - "resources/droplets/droplets_list_snapshots.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - droplet_id: external["resources/droplets/parameters.yml"]["droplet_id"]; - }; - }; - responses: { - 200: external["resources/droplets/responses/all_droplet_snapshots.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Droplets - * @description To list all Droplets in your account, send a GET request to `/v2/droplets`. - * - * The response body will be a JSON object with a key of `droplets`. This will be - * set to an array containing objects each representing a Droplet. These will - * contain the standard Droplet attributes. - * - * ### Filtering Results by Tag - * - * It's possible to request filtered results by including certain query parameters. - * To only list Droplets assigned to a specific tag, include the `tag_name` query - * parameter set to the name of the tag in your GET request. For example, - * `/v2/droplets?tag_name=$TAG_NAME`. - */ - "resources/droplets/droplets_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - tag_name?: external["resources/droplets/parameters.yml"]["droplet_tag_name"]; - name?: external["resources/droplets/parameters.yml"]["droplet_name"]; - }; - }; - responses: { - 200: external["resources/droplets/responses/all_droplets.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/droplets/examples.yml": unknown - "resources/droplets/models/associated_resource_status.yml": { - droplet?: external["resources/droplets/models/destroyed_associated_resource.yml"]; - /** @description An object containing additional information about resource related to a Droplet requested to be destroyed. */ - resources?: { - reserved_ips?: external["resources/droplets/models/destroyed_associated_resource.yml"][]; - floating_ips?: external["resources/droplets/models/destroyed_associated_resource.yml"][]; - snapshots?: external["resources/droplets/models/destroyed_associated_resource.yml"][]; - volumes?: external["resources/droplets/models/destroyed_associated_resource.yml"][]; - volume_snapshots?: external["resources/droplets/models/destroyed_associated_resource.yml"][]; - }; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format indicating when the requested action was completed. - * @example "2020-04-01T18:11:49.000Z" - */ - completed_at?: string; - /** - * @description A count of the associated resources that failed to be destroyed, if any. - * @example 0 - */ - failures?: number; - }; - "resources/droplets/models/associated_resource.yml": { - /** - * @description The unique identifier for the resource associated with the Droplet. - * @example 61486916 - */ - id?: string; - /** - * @description The name of the resource associated with the Droplet. - * @example ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 - */ - name?: string; - /** - * @description The cost of the resource in USD per month if the resource is retained after the Droplet is destroyed. - * @example 0.05 - */ - cost?: string; - }; - "resources/droplets/models/destroyed_associated_resource.yml": { - /** - * @description The unique identifier for the resource scheduled for deletion. - * @example 61486916 - */ - id?: string; - /** - * @description The name of the resource scheduled for deletion. - * @example ubuntu-s-1vcpu-1gb-nyc1-01-1585758823330 - */ - name?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format indicating when the resource was destroyed if the request was successful. - * @example "2020-04-01T18:11:49.000Z" - */ - destroyed_at?: string; - /** - * @description A string indicating that the resource was not successfully destroyed and providing additional information. - * @example - */ - error_message?: string; - }; - "resources/droplets/models/droplet_actions.yml": { - /** @description Specifies the action that will be taken on the Droplet. */ - droplet_action: { - /** - * @description The type of action to initiate for the Droplet. - * @example reboot - * @enum {string} - */ - type: "enable_backups" | "disable_backups" | "reboot" | "power_cycle" | "shutdown" | "power_off" | "power_on" | "restore" | "password_reset" | "resize" | "rebuild" | "rename" | "change_kernel" | "enable_ipv6" | "snapshot"; - }; - droplet_action_restore: external["resources/droplets/models/droplet_actions.yml"]["droplet_action"] & { - /** - * @description The ID of a backup of the current Droplet instance to restore from. - * @example 12389723 - */ - image?: number; - }; - droplet_action_resize: external["resources/droplets/models/droplet_actions.yml"]["droplet_action"] & { - /** - * @description When `true`, the Droplet's disk will be resized in addition to its RAM and CPU. This is a permanent change and cannot be reversed as a Droplet's disk size cannot be decreased. - * @example true - */ - disk?: boolean; - /** - * @description The slug identifier for the size to which you wish to resize the Droplet. - * @example s-2vcpu-2gb - */ - size?: string; - }; - droplet_action_rebuild: external["resources/droplets/models/droplet_actions.yml"]["droplet_action"] & ({ - /** - * @description The image ID of a public or private image or the slug identifier for a public image. The Droplet will be rebuilt using this image as its base. - * @example ubuntu-20-04-x64 - */ - image?: string | number; - }); - droplet_action_rename: external["resources/droplets/models/droplet_actions.yml"]["droplet_action"] & { - /** - * @description The new name for the Droplet. - * @example nifty-new-name - */ - name?: string; - }; - droplet_action_change_kernel: external["resources/droplets/models/droplet_actions.yml"]["droplet_action"] & { - /** - * @description A unique number used to identify and reference a specific kernel. - * @example 12389723 - */ - kernel?: number; - }; - droplet_action_snapshot: external["resources/droplets/models/droplet_actions.yml"]["droplet_action"] & { - /** - * @description The name to give the new snapshot of the Droplet. - * @example Nifty New Snapshot - */ - name?: string; - }; - }; - "resources/droplets/models/droplet_create.yml": { - /** - * @description The slug identifier for the region that you wish to deploy the Droplet in. If the specific datacenter is not not important, a slug prefix (e.g. `nyc`) can be used to deploy the Droplet in any of the that region's locations (`nyc1`, `nyc2`, or `nyc3`). If the region is omitted from the create request completely, the Droplet may deploy in any region. - * @example nyc3 - */ - region?: string; - /** - * @description The slug identifier for the size that you wish to select for this Droplet. - * @example s-1vcpu-1gb - */ - size: string; - /** - * @description The image ID of a public or private image or the slug identifier for a public image. This image will be the base image for your Droplet. - * @example ubuntu-20-04-x64 - */ - image: string | number; - /** - * @description An array containing the IDs or fingerprints of the SSH keys that you wish to embed in the Droplet's root account upon creation. - * @default [] - * @example [ - * 289794, - * "3b:16:e4:bf:8b:00:8b:b8:59:8c:a9:d3:f0:19:fa:45" - * ] - */ - ssh_keys?: (string | number)[]; - /** - * @description A boolean indicating whether automated backups should be enabled for the Droplet. - * @default false - * @example true - */ - backups?: boolean; - /** - * @description A boolean indicating whether to enable IPv6 on the Droplet. - * @default false - * @example true - */ - ipv6?: boolean; - /** - * @description A boolean indicating whether to install the DigitalOcean agent for monitoring. - * @default false - * @example true - */ - monitoring?: boolean; - /** - * @description A flat array of tag names as strings to apply to the Droplet after it is created. Tag names can either be existing or new tags. - * @default [] - * @example [ - * "env:prod", - * "web" - * ] - */ - tags?: string[] | null; - /** - * @description A string containing 'user data' which may be used to configure the Droplet on first boot, often a 'cloud-config' file or Bash script. It must be plain text and may not exceed 64 KiB in size. - * @example #cloud-config - * runcmd: - * - touch /test.txt - */ - user_data?: string; - /** - * @deprecated - * @description This parameter has been deprecated. Use `vpc_uuid` instead to specify a VPC network for the Droplet. If no `vpc_uuid` is provided, the Droplet will be placed in your account's default VPC for the region. - * @default false - * @example true - */ - private_networking?: boolean; - /** - * @description An array of IDs for block storage volumes that will be attached to the Droplet once created. The volumes must not already be attached to an existing Droplet. - * @default [] - * @example [ - * "12e97116-7280-11ed-b3d0-0a58ac146812" - * ] - */ - volumes?: string[]; - /** - * @description A string specifying the UUID of the VPC to which the Droplet will be assigned. If excluded, the Droplet will be assigned to your account's default VPC for the region. - * @example 760e09ef-dc84-11e8-981e-3cfdfeaae000 - */ - vpc_uuid?: string; - /** - * @description A boolean indicating whether to install the DigitalOcean agent used for providing access to the Droplet web console in the control panel. By default, the agent is installed on new Droplets but installation errors (i.e. OS not supported) are ignored. To prevent it from being installed, set to `false`. To make installation errors fatal, explicitly set it to `true`. - * @example true - */ - with_droplet_agent?: boolean; - }; - "resources/droplets/models/droplet_multi_create.yml": { - /** - * @description An array of human human-readable strings you wish to use when displaying the Droplet name. Each name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. Each name set during creation will also determine the hostname for the Droplet in its internal configuration. - * @example [ - * "sub-01.example.com", - * "sub-02.example.com" - * ] - */ - names: string[]; - } & external["resources/droplets/models/droplet_create.yml"]; - "resources/droplets/models/droplet_single_create.yml": { - /** - * @description The human-readable string you wish to use when displaying the Droplet name. The name, if set to a domain name managed in the DigitalOcean DNS management system, will configure a PTR record for the Droplet. The name set during creation will also determine the hostname for the Droplet in its internal configuration. - * @example example.com - */ - name: string; - } & external["resources/droplets/models/droplet_create.yml"]; - "resources/droplets/models/droplet_snapshot.yml": { - /** - * @description The unique identifier for the snapshot or backup. - * @example 6372321 - */ - id: number; - } & external["resources/snapshots/models/snapshots_base.yml"] & ({ - /** - * @description Describes the kind of image. It may be one of `snapshot` or `backup`. This specifies whether an image is a user-generated Droplet snapshot or automatically created Droplet backup. - * @example snapshot - * @enum {string} - */ - type: "snapshot" | "backup"; - }); - "resources/droplets/models/droplet.yml": { - /** - * @description A unique identifier for each Droplet instance. This is automatically generated upon Droplet creation. - * @example 3164444 - */ - id: number; - /** - * @description The human-readable name set for the Droplet instance. - * @example example.com - */ - name: string; - /** - * @description Memory of the Droplet in megabytes. - * @example 1024 - */ - memory: number; - /** - * @description The number of virtual CPUs. - * @example 1 - */ - vcpus: number; - /** - * @description The size of the Droplet's disk in gigabytes. - * @example 25 - */ - disk: number; - /** - * @description A boolean value indicating whether the Droplet has been locked, preventing actions by users. - * @example false - */ - locked: boolean; - /** - * @description A status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". - * @example active - * @enum {string} - */ - status: "new" | "active" | "off" | "archive"; - kernel?: external["resources/droplets/models/kernel.yml"]; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the Droplet was created. - * @example 2020-07-21T18:37:44Z - */ - created_at: string; - /** - * @description An array of features enabled on this Droplet. - * @example [ - * "backups", - * "private_networking", - * "ipv6" - * ] - */ - features: string[]; - /** - * @description An array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation. - * @example [ - * 53893572 - * ] - */ - backup_ids: number[]; - /** @description The details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start. */ - next_backup_window: { - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format specifying the start of the Droplet's backup window. - * @example 2019-12-04T00:00:00Z - */ - start?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format specifying the end of the Droplet's backup window. - * @example 2019-12-04T23:00:00Z - */ - end?: string; - } | null; - /** - * @description An array of snapshot IDs of any snapshots created from the Droplet instance. - * @example [ - * 67512819 - * ] - */ - snapshot_ids: number[]; - image: external["resources/images/models/image.yml"]; - /** - * @description A flat array including the unique identifier for each Block Storage volume attached to the Droplet. - * @example [ - * "506f78a4-e098-11e5-ad9f-000f53306ae1" - * ] - */ - volume_ids: string[]; - size: external["resources/sizes/models/size.yml"]; - /** - * @description The unique slug identifier for the size of this Droplet. - * @example s-1vcpu-1gb - */ - size_slug: string; - /** @description The details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is. */ - networks: { - v4?: external["resources/droplets/models/network_v4.yml"][]; - v6?: external["resources/droplets/models/network_v6.yml"][]; - }; - region: external["resources/regions/models/region.yml"]; - /** - * @description An array of Tags the Droplet has been tagged with. - * @example [ - * "web", - * "env:prod" - * ] - */ - tags: string[]; - /** - * @description A string specifying the UUID of the VPC to which the Droplet is assigned. - * @example 760e09ef-dc84-11e8-981e-3cfdfeaae000 - */ - vpc_uuid?: string; - }; - "resources/droplets/models/kernel.yml": { - /** - * @description A unique number used to identify and reference a specific kernel. - * @example 7515 - */ - id?: number; - /** - * @description The display name of the kernel. This is shown in the web UI and is generally a descriptive title for the kernel in question. - * @example DigitalOcean GrubLoader v0.2 (20160714) - */ - name?: string; - /** - * @description A standard kernel version string representing the version, patch, and release information. - * @example 2016.07.13-DigitalOcean_loader_Ubuntu - */ - version?: string; - } | null; - "resources/droplets/models/neighbor_ids.yml": { - /** - * @description An array of arrays. Each array will contain a set of Droplet IDs for Droplets that share a physical server. - * @example [ - * [ - * 168671828, - * 168663509, - * 168671815 - * ], - * [ - * 168671883, - * 168671750 - * ] - * ] - */ - neighbor_ids?: number[][]; - }; - "resources/droplets/models/network_v4.yml": { - /** - * Format: ipv4 - * @description The IP address of the IPv4 network interface. - * @example 104.236.32.182 - */ - ip_address?: string; - /** - * Format: ipv4 - * @description The netmask of the IPv4 network interface. - * @example 255.255.192.0 - */ - netmask?: string; - /** - * @description The gateway of the specified IPv4 network interface. - * - * For private interfaces, a gateway is not provided. This is denoted by - * returning `nil` as its value. - * - * @example 104.236.0.1 - */ - gateway?: string; - /** - * @description The type of the IPv4 network interface. - * @example public - * @enum {string} - */ - type?: "public" | "private"; - }; - "resources/droplets/models/network_v6.yml": { - /** - * Format: ipv6 - * @description The IP address of the IPv6 network interface. - * @example 2604:a880:0:1010::18a:a001 - */ - ip_address?: string; - /** - * @description The netmask of the IPv6 network interface. - * @example 64 - */ - netmask?: number; - /** - * Format: ipv6 - * @description The gateway of the specified IPv6 network interface. - * @example 2604:a880:0:1010::1 - */ - gateway?: string; - /** - * @description The type of the IPv6 network interface. - * - * **Note**: IPv6 private networking is not currently supported. - * - * @example public - * @enum {string} - */ - type?: "public"; - }; - "resources/droplets/models/selective_destroy_associated_resource.yml": { - /** - * @deprecated - * @description An array of unique identifiers for the floating IPs to be scheduled for deletion. - * @example [ - * "6186916" - * ] - */ - floating_ips?: string[]; - /** - * @description An array of unique identifiers for the reserved IPs to be scheduled for deletion. - * @example [ - * "6186916" - * ] - */ - reserved_ips?: string[]; - /** - * @description An array of unique identifiers for the snapshots to be scheduled for deletion. - * @example [ - * "61486916" - * ] - */ - snapshots?: string[]; - /** - * @description An array of unique identifiers for the volumes to be scheduled for deletion. - * @example [ - * "ba49449a-7435-11ea-b89e-0a58ac14480f" - * ] - */ - volumes?: string[]; - /** - * @description An array of unique identifiers for the volume snapshots to be scheduled for deletion. - * @example [ - * "edb0478d-7436-11ea-86e6-0a58ac144b91" - * ] - */ - volume_snapshots?: string[]; - }; - "resources/droplets/parameters.yml": { - droplet_id: number; - droplet_tag_name?: string; - droplet_delete_tag_name: string; - droplet_name?: string; - x_dangerous: boolean; - }; - "resources/droplets/responses/all_droplet_actions.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - actions?: external["resources/actions/models/action.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/droplets/responses/all_droplet_backups.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - backups?: external["resources/droplets/models/droplet_snapshot.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/droplets/responses/all_droplet_snapshots.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - snapshots?: external["resources/droplets/models/droplet_snapshot.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/droplets/responses/all_droplets.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - droplets?: external["resources/droplets/models/droplet.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/droplets/responses/all_firewalls.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - firewalls?: external["resources/firewalls/models/firewall.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/droplets/responses/all_kernels.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - kernels?: external["resources/droplets/models/kernel.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/droplets/responses/associated_resources_list.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - reserved_ips?: external["resources/droplets/models/associated_resource.yml"][]; - floating_ips?: external["resources/droplets/models/associated_resource.yml"][]; - snapshots?: external["resources/droplets/models/associated_resource.yml"][]; - volumes?: external["resources/droplets/models/associated_resource.yml"][]; - volume_snapshots?: external["resources/droplets/models/associated_resource.yml"][]; - }; - }; - }; - "resources/droplets/responses/associated_resources_status.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/droplets/models/associated_resource_status.yml"]; - }; - }; - "resources/droplets/responses/droplet_action.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - action?: external["resources/actions/models/action.yml"]; - }; - }; - }; - "resources/droplets/responses/droplet_actions_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - actions?: external["resources/actions/models/action.yml"][]; - }; - }; - }; - "resources/droplets/responses/droplet_create.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": OneOf<[{ - droplet: external["resources/droplets/models/droplet.yml"]; - links: { - actions?: external["shared/models/action_link.yml"][]; - }; - }, { - droplets: external["resources/droplets/models/droplet.yml"][]; - links: { - actions?: external["shared/models/action_link.yml"][]; - }; - }]>; - }; - }; - "resources/droplets/responses/droplet_neighbors_ids.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/droplets/models/neighbor_ids.yml"]; - }; - }; - "resources/droplets/responses/examples.yml": unknown - "resources/droplets/responses/existing_droplet.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - droplet?: external["resources/droplets/models/droplet.yml"]; - }; - }; - }; - "resources/droplets/responses/neighbor_droplets.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - droplets?: external["resources/droplets/models/droplet.yml"][]; - }; - }; - }; - /** - * Add Rules to a Firewall - * @description To add additional access rules to a firewall, send a POST request to - * `/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include an - * inbound_rules and/or outbound_rules attribute containing an array of rules to - * be added. - * - * No response body will be sent back, but the response code will indicate - * success. Specifically, the response code will be a 204, which means that the - * action was successful with no returned body data. - */ - "resources/firewalls/firewalls_add_rules.yml": { - parameters: { - path: { - firewall_id: external["resources/firewalls/parameters.yml"]["firewall_id"]; - }; - }; - requestBody?: { - content: { - /** - * @example { - * "inbound_rules": [ - * { - * "protocol": "tcp", - * "ports": "3306", - * "sources": { - * "droplet_ids": [ - * 49696269 - * ] - * } - * } - * ], - * "outbound_rules": [ - * { - * "protocol": "tcp", - * "ports": "3306", - * "destinations": { - * "droplet_ids": [ - * 49696269 - * ] - * } - * } - * ] - * } - */ - "application/json": external["resources/firewalls/models/firewall_rule.yml"]["firewall_rules"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 400: external["shared/responses/bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Add Tags to a Firewall - * @description To assign a tag representing a group of Droplets to a firewall, send a POST - * request to `/v2/firewalls/$FIREWALL_ID/tags`. In the body of the request, - * there should be a `tags` attribute containing a list of tag names. - * - * No response body will be sent back, but the response code will indicate - * success. Specifically, the response code will be a 204, which means that the - * action was successful with no returned body data. - */ - "resources/firewalls/firewalls_add_tags.yml": { - parameters: { - path: { - firewall_id: external["resources/firewalls/parameters.yml"]["firewall_id"]; - }; - }; - requestBody?: { - content: { + replica_name: string; + /** + * @description The name of the database user. + * @example app-01 + */ + username: string; + /** + * @description The name of the database. + * @example alpha + */ + database_name: string; + /** + * @description The name used to identify the connection pool. + * @example backend-pool + */ + pool_name: string; + /** + * @description The name of the domain itself. + * @example example.com + */ + domain_name: string; + /** + * @description A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. + * @example sub.example.com + */ + domain_name_query: string; /** - * @example { - * "tags": [ - * "frontend" - * ] - * } + * @description The type of the DNS record. For example: A, CNAME, TXT, ... + * @example A */ - "application/json": { - tags: external["shared/attributes/tags_array.yml"]; - }; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 400: external["shared/responses/bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Add Droplets to a Firewall - * @description To assign a Droplet to a firewall, send a POST request to - * `/v2/firewalls/$FIREWALL_ID/droplets`. In the body of the request, there - * should be a `droplet_ids` attribute containing a list of Droplet IDs. - * - * No response body will be sent back, but the response code will indicate - * success. Specifically, the response code will be a 204, which means that the - * action was successful with no returned body data. - */ - "resources/firewalls/firewalls_assign_droplets.yml": { - parameters: { - path: { - firewall_id: external["resources/firewalls/parameters.yml"]["firewall_id"]; - }; - }; - requestBody?: { - content: { - /** - * @example { - * "droplet_ids": [ - * 49696269 - * ] - * } - */ - "application/json": { - /** - * @description An array containing the IDs of the Droplets to be assigned to the firewall. - * @example [ - * 49696269 - * ] - */ - droplet_ids: number[]; - }; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 400: external["shared/responses/bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a New Firewall - * @description To create a new firewall, send a POST request to `/v2/firewalls`. The request - * must contain at least one inbound or outbound access rule. - */ - "resources/firewalls/firewalls_create.yml": { - requestBody?: { - content: { - /** - * @example { - * "name": "firewall", - * "inbound_rules": [ - * { - * "protocol": "tcp", - * "ports": "80", - * "sources": { - * "load_balancer_uids": [ - * "4de7ac8b-495b-4884-9a69-1050c6793cd6" - * ] - * } - * }, - * { - * "protocol": "tcp", - * "ports": "22", - * "sources": { - * "tags": [ - * "gateway" - * ], - * "addresses": [ - * "18.0.0.0/8" - * ] - * } - * } - * ], - * "outbound_rules": [ - * { - * "protocol": "tcp", - * "ports": "80", - * "destinations": { - * "addresses": [ - * "0.0.0.0/0", - * "::/0" - * ] - * } - * } - * ], - * "droplet_ids": [ - * 8043964 - * ] - * } - */ - "application/json": external["resources/firewalls/models/firewall.yml"]; - }; - }; - responses: { - 202: external["resources/firewalls/responses/create_firewall_response.yml"]; - 400: external["shared/responses/bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Remove Droplets from a Firewall - * @description To remove a Droplet from a firewall, send a DELETE request to - * `/v2/firewalls/$FIREWALL_ID/droplets`. In the body of the request, there should - * be a `droplet_ids` attribute containing a list of Droplet IDs. - * - * No response body will be sent back, but the response code will indicate - * success. Specifically, the response code will be a 204, which means that the - * action was successful with no returned body data. - */ - "resources/firewalls/firewalls_delete_droplets.yml": { - parameters: { - path: { - firewall_id: external["resources/firewalls/parameters.yml"]["firewall_id"]; - }; - }; - requestBody?: { - content: { - /** - * @example { - * "droplet_ids": [ - * 49696269 - * ] - * } - */ - "application/json": { - /** - * @description An array containing the IDs of the Droplets to be removed from the firewall. - * @example [ - * 49696269 - * ] - */ - droplet_ids: number[]; - }; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 400: external["shared/responses/bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Remove Rules from a Firewall - * @description To remove access rules from a firewall, send a DELETE request to - * `/v2/firewalls/$FIREWALL_ID/rules`. The body of the request may include an - * `inbound_rules` and/or `outbound_rules` attribute containing an array of rules - * to be removed. - * - * No response body will be sent back, but the response code will indicate - * success. Specifically, the response code will be a 204, which means that the - * action was successful with no returned body data. - */ - "resources/firewalls/firewalls_delete_rules.yml": { - parameters: { - path: { - firewall_id: external["resources/firewalls/parameters.yml"]["firewall_id"]; - }; - }; - requestBody?: { - content: { - /** - * @example { - * "inbound_rules": [ - * { - * "protocol": "tcp", - * "ports": "3306", - * "sources": { - * "droplet_ids": [ - * 49696269 - * ] - * } - * } - * ], - * "outbound_rules": [ - * { - * "protocol": "tcp", - * "ports": "3306", - * "destinations": { - * "droplet_ids": [ - * 49696269 - * ] - * } - * } - * ] - * } - */ - "application/json": external["resources/firewalls/models/firewall_rule.yml"]["firewall_rules"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 400: external["shared/responses/bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Remove Tags from a Firewall - * @description To remove a tag representing a group of Droplets from a firewall, send a - * DELETE request to `/v2/firewalls/$FIREWALL_ID/tags`. In the body of the - * request, there should be a `tags` attribute containing a list of tag names. - * - * No response body will be sent back, but the response code will indicate - * success. Specifically, the response code will be a 204, which means that the - * action was successful with no returned body data. - */ - "resources/firewalls/firewalls_delete_tags.yml": { - parameters: { - path: { - firewall_id: external["resources/firewalls/parameters.yml"]["firewall_id"]; - }; - }; - requestBody?: { - content: { + domain_type_query: "A" | "AAAA" | "CAA" | "CNAME" | "MX" | "NS" | "SOA" | "SRV" | "TXT"; /** - * @example { - * "tags": [ - * "frontend" - * ] - * } + * @description The unique identifier of the domain record. + * @example 3352896 */ - "application/json": { - tags: external["shared/attributes/tags_array.yml"]; - }; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 400: external["shared/responses/bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Firewall - * @description To delete a firewall send a DELETE request to `/v2/firewalls/$FIREWALL_ID`. - * - * No response body will be sent back, but the response code will indicate - * success. Specifically, the response code will be a 204, which means that the - * action was successful with no returned body data. - */ - "resources/firewalls/firewalls_delete.yml": { - parameters: { - path: { - firewall_id: external["resources/firewalls/parameters.yml"]["firewall_id"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Firewall - * @description To show information about an existing firewall, send a GET request to `/v2/firewalls/$FIREWALL_ID`. - */ - "resources/firewalls/firewalls_get.yml": { - parameters: { - path: { - firewall_id: external["resources/firewalls/parameters.yml"]["firewall_id"]; - }; - }; - responses: { - 200: external["resources/firewalls/responses/get_firewall_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Firewalls - * @description To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`. - */ - "resources/firewalls/firewalls_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - }; - responses: { - 200: external["resources/firewalls/responses/list_firewalls_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update a Firewall - * @description To update the configuration of an existing firewall, send a PUT request to - * `/v2/firewalls/$FIREWALL_ID`. The request should contain a full representation - * of the firewall including existing attributes. **Note that any attributes that - * are not provided will be reset to their default values.** - */ - "resources/firewalls/firewalls_update.yml": { - parameters: { - path: { - firewall_id: external["resources/firewalls/parameters.yml"]["firewall_id"]; - }; - }; - requestBody?: { - content: { - /** - * @example { - * "name": "frontend-firewall", - * "inbound_rules": [ - * { - * "protocol": "tcp", - * "ports": "8080", - * "sources": { - * "load_balancer_uids": [ - * "4de7ac8b-495b-4884-9a69-1050c6793cd6" - * ] - * } - * }, - * { - * "protocol": "tcp", - * "ports": "22", - * "sources": { - * "tags": [ - * "gateway" - * ], - * "addresses": [ - * "18.0.0.0/8" - * ] - * } - * } - * ], - * "outbound_rules": [ - * { - * "protocol": "tcp", - * "ports": "8080", - * "destinations": { - * "addresses": [ - * "0.0.0.0/0", - * "::/0" - * ] - * } - * } - * ], - * "droplet_ids": [ - * 8043964 - * ], - * "tags": [ - * "frontend" - * ] - * } - */ - "application/json": WithRequired; - }; - }; - responses: { - 200: external["resources/firewalls/responses/put_firewall_response.yml"]; - 400: external["shared/responses/bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/firewalls/models/firewall_rule.yml": unknown; - "resources/firewalls/models/firewall.yml": ({ - /** - * @description A unique ID that can be used to identify and reference a firewall. - * @example bb4b2611-3d72-467b-8602-280330ecd65c - */ - id?: string; - /** - * @description A status string indicating the current state of the firewall. This can be "waiting", "succeeded", or "failed". - * @example waiting - * @enum {string} - */ - status?: "waiting" | "succeeded" | "failed"; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the firewall was created. - * @example 2020-05-23T21:24:00Z - */ - created_at?: string; - /** - * @description An array of objects each containing the fields "droplet_id", "removing", and "status". It is provided to detail exactly which Droplets are having their security policies updated. When empty, all changes have been successfully applied. - * @example [ - * { - * "droplet_id": 8043964, - * "removing": false, - * "status": "waiting" - * } - * ] - */ - pending_changes?: readonly { - /** @example 8043964 */ - droplet_id?: number; - /** @example false */ - removing?: boolean; - /** @example waiting */ - status?: string; - }[]; - /** - * @description A human-readable name for a firewall. The name must begin with an alphanumeric character. Subsequent characters must either be alphanumeric characters, a period (.), or a dash (-). - * @example firewall - */ - name?: string; - /** - * @description An array containing the IDs of the Droplets assigned to the firewall. - * @example [ - * 8043964 - * ] - */ - droplet_ids?: number[] | null; - tags?: external["shared/attributes/tags_array.yml"]; - }) & external["resources/firewalls/models/firewall_rule.yml"]["firewall_rules"]; - "resources/firewalls/parameters.yml": { - firewall_id: string; - }; - "resources/firewalls/responses/create_firewall_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - firewall?: external["resources/firewalls/models/firewall.yml"]; - }; - }; - }; - "resources/firewalls/responses/get_firewall_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - firewall?: external["resources/firewalls/models/firewall.yml"]; - }; - }; - }; - "resources/firewalls/responses/list_firewalls_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - firewalls?: external["resources/firewalls/models/firewall.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/firewalls/responses/put_firewall_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - firewall?: external["resources/firewalls/models/firewall.yml"]; - }; - }; - }; - /** - * Create a New Floating IP - * @description On creation, a floating IP must be either assigned to a Droplet or reserved to a region. - * * To create a new floating IP assigned to a Droplet, send a POST - * request to `/v2/floating_ips` with the `droplet_id` attribute. - * - * * To create a new floating IP reserved to a region, send a POST request to - * `/v2/floating_ips` with the `region` attribute. - * - * **Note**: In addition to the standard rate limiting, only 12 floating IPs may be created per 60 seconds. - */ - "resources/floating_ips/floatingIPs_create.yml": { - requestBody: { - content: { - "application/json": external["resources/floating_ips/models/floating_ip_create.yml"]; - }; - }; - responses: { - 202: external["resources/floating_ips/responses/floating_ip_created.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Floating IP - * @description To delete a floating IP and remove it from your account, send a DELETE request - * to `/v2/floating_ips/$FLOATING_IP_ADDR`. - * - * A successful request will receive a 204 status code with no body in response. - * This indicates that the request was processed successfully. - */ - "resources/floating_ips/floatingIPs_delete.yml": { - parameters: { - path: { - floating_ip: external["resources/floating_ips/parameters.yml"]["floating_ip"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Floating IP - * @description To show information about a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP_ADDR`. - */ - "resources/floating_ips/floatingIPs_get.yml": { - parameters: { - path: { - floating_ip: external["resources/floating_ips/parameters.yml"]["floating_ip"]; - }; - }; - responses: { - 200: external["resources/floating_ips/responses/floating_ip.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Floating IPs - * @description To list all of the floating IPs available on your account, send a GET request to `/v2/floating_ips`. - */ - "resources/floating_ips/floatingIPs_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - }; - responses: { - 200: external["resources/floating_ips/responses/floating_ip_list.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Floating IP Action - * @description To retrieve the status of a floating IP action, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions/$ACTION_ID`. - */ - "resources/floating_ips/floatingIPsAction_get.yml": { - parameters: { - path: { - floating_ip: external["resources/floating_ips/parameters.yml"]["floating_ip"]; - action_id: external["resources/actions/parameters.yml"]["action_id"]; - }; - }; - responses: { - 200: external["resources/floating_ips/responses/floating_ip_action.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Actions for a Floating IP - * @description To retrieve all actions that have been executed on a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions`. - */ - "resources/floating_ips/floatingIPsAction_list.yml": { - parameters: { - path: { - floating_ip: external["resources/floating_ips/parameters.yml"]["floating_ip"]; - }; - }; - responses: { - 200: external["resources/floating_ips/responses/floating_ip_actions.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Initiate a Floating IP Action - * @description To initiate an action on a floating IP send a POST request to - * `/v2/floating_ips/$FLOATING_IP/actions`. In the JSON body to the request, - * set the `type` attribute to on of the supported action types: - * - * | Action | Details - * |------------|-------- - * | `assign` | Assigns a floating IP to a Droplet - * | `unassign` | Unassign a floating IP from a Droplet - */ - "resources/floating_ips/floatingIPsAction_post.yml": { - parameters: { - path: { - floating_ip: external["resources/floating_ips/parameters.yml"]["floating_ip"]; - }; - }; - /** - * @description The `type` attribute set in the request body will specify the action that - * will be taken on the floating IP. - */ - requestBody?: { - content: { - "application/json": external["resources/floating_ips/models/floating_ip_actions.yml"]["floating_ip_action_unassign"] | external["resources/floating_ips/models/floating_ip_actions.yml"]["floating_ip_action_assign"]; - }; - }; - responses: { - 201: external["resources/floating_ips/responses/floating_ip_action.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/floating_ips/models/floating_ip_actions.yml": { - floatingIPsAction: { - /** - * @description The type of action to initiate for the floating IP. - * @enum {string} - */ - type: "assign" | "unassign"; - }; - floating_ip_action_unassign: { - type: undefined; - } & Omit & Record; - floating_ip_action_assign: { - type: undefined; - } & Omit & { - /** - * @description The ID of the Droplet that the floating IP will be assigned to. - * @example 758604968 - */ - droplet_id: number; - }; - }; - "resources/floating_ips/models/floating_ip_create.yml": OneOf<[{ - /** - * @description The ID of the Droplet that the floating IP will be assigned to. - * @example 2457247 - */ - droplet_id: number; - }, { - /** - * @description The slug identifier for the region the floating IP will be reserved to. - * @example nyc3 - */ - region: string; - /** - * Format: uuid - * @description The UUID of the project to which the floating IP will be assigned. - * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 - */ - project_id?: string; - }]>; - "resources/floating_ips/models/floating_ip.yml": { - /** - * Format: ipv4 - * @description The public IP address of the floating IP. It also serves as its identifier. - * @example 45.55.96.47 - */ - ip?: string; - region?: external["resources/regions/models/region.yml"] & Record; - /** - * @description The Droplet that the floating IP has been assigned to. When you query a floating IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null. - * @example null - */ - droplet?: (Record | null) | external["resources/droplets/models/droplet.yml"]; - /** - * @description A boolean value indicating whether or not the floating IP has pending actions preventing new ones from being submitted. - * @example true - */ - locked?: boolean; - /** - * Format: uuid - * @description The UUID of the project to which the reserved IP currently belongs. - * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 - */ - project_id?: string; - }; - "resources/floating_ips/parameters.yml": { - floating_ip: string; - }; - "resources/floating_ips/responses/examples.yml": unknown - "resources/floating_ips/responses/floating_ip_action.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - action?: external["resources/actions/models/action.yml"] & { - /** - * Format: uuid - * @description The UUID of the project to which the reserved IP currently belongs. - * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 - */ - project_id?: string; - }; - }; - }; - }; - "resources/floating_ips/responses/floating_ip_actions.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - actions?: external["resources/actions/models/action.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/floating_ips/responses/floating_ip_created.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - floating_ip?: external["resources/floating_ips/models/floating_ip.yml"]; - links?: { - droplets?: external["shared/models/action_link.yml"][]; - actions?: external["shared/models/action_link.yml"][]; - }; - }; - }; - }; - "resources/floating_ips/responses/floating_ip_list.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - floating_ips?: external["resources/floating_ips/models/floating_ip.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/floating_ips/responses/floating_ip.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - floating_ip?: external["resources/floating_ips/models/floating_ip.yml"]; - }; - }; - }; - /** - * Create Namespace - * @description Creates a new serverless functions namespace in the desired region and associates it with the provided label. A namespace is a collection of functions and their associated packages, triggers, and project specifications. To create a namespace, send a POST request to `/v2/functions/namespaces` with the `region` and `label` properties. - */ - "resources/functions/functions_create_namespace.yml": { - requestBody: { - content: { - "application/json": external["resources/functions/models/create_namespace.yml"]; - }; - }; - responses: { - 200: external["resources/functions/responses/namespace_created.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["resources/functions/responses/namespace_bad_request.yml"]; - 422: external["resources/functions/responses/namespace_limit_reached.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create Trigger - * @description Creates a new trigger for a given function in a namespace. To create a trigger, send a POST request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers` with the `name`, `function`, `type`, `is_enabled` and `scheduled_details` properties. - */ - "resources/functions/functions_create_trigger.yml": { - parameters: { - path: { - namespace_id: external["resources/functions/parameters.yml"]["namespace_id"]; - }; - }; - requestBody: { - content: { - "application/json": external["resources/functions/models/create_trigger.yml"]; - }; - }; - responses: { - 200: external["resources/functions/responses/trigger_response.yml"]; - 400: external["resources/functions/responses/trigger_bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["resources/functions/responses/namespace_not_found.yml"]; - 422: external["resources/functions/responses/trigger_limit_reached.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete Namespace - * @description Deletes the given namespace. When a namespace is deleted all assets, in the namespace are deleted, this includes packages, functions and triggers. Deleting a namespace is a destructive operation and assets in the namespace are not recoverable after deletion. Some metadata is retained, such as activations, or soft deleted for reporting purposes. - * To delete namespace, send a DELETE request to `/v2/functions/namespaces/$NAMESPACE_ID`. - * A successful deletion returns a 204 response. - */ - "resources/functions/functions_delete_namespace.yml": { - parameters: { - path: { - namespace_id: external["resources/functions/parameters.yml"]["namespace_id"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["resources/functions/responses/namespace_not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete Trigger - * @description Deletes the given trigger. - * To delete trigger, send a DELETE request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`. - * A successful deletion returns a 204 response. - */ - "resources/functions/functions_delete_trigger.yml": { - parameters: { - path: { - namespace_id: external["resources/functions/parameters.yml"]["namespace_id"]; - trigger_name: external["resources/functions/parameters.yml"]["trigger_name"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["resources/functions/responses/trigger_not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Namespace - * @description Gets the namespace details for the given namespace UUID. To get namespace details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID` with no parameters. - */ - "resources/functions/functions_get_namespace.yml": { - parameters: { - path: { - namespace_id: external["resources/functions/parameters.yml"]["namespace_id"]; - }; - }; - responses: { - 200: external["resources/functions/responses/namespace_created.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 403: external["resources/functions/responses/namespace_not_allowed.yml"]; - 404: external["resources/functions/responses/namespace_not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Trigger - * @description Gets the trigger details. To get the trigger details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME`. - */ - "resources/functions/functions_get_trigger.yml": { - parameters: { - path: { - namespace_id: external["resources/functions/parameters.yml"]["namespace_id"]; - trigger_name: external["resources/functions/parameters.yml"]["trigger_name"]; - }; - }; - responses: { - 200: external["resources/functions/responses/trigger_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["resources/functions/responses/trigger_not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Namespaces - * @description Returns a list of namespaces associated with the current user. To get all namespaces, send a GET request to `/v2/functions/namespaces`. - */ - "resources/functions/functions_list_namespaces.yml": { - responses: { - 200: external["resources/functions/responses/list_namespaces.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Triggers - * @description Returns a list of triggers associated with the current user and namespace. To get all triggers, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers`. - */ - "resources/functions/functions_list_triggers.yml": { - parameters: { - path: { - namespace_id: external["resources/functions/parameters.yml"]["namespace_id"]; - }; - }; - responses: { - 200: external["resources/functions/responses/list_triggers.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["resources/functions/responses/namespace_not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update Trigger - * @description Updates the details of the given trigger. To update a trigger, send a PUT request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME` with new values for the `is_enabled ` or `scheduled_details` properties. - */ - "resources/functions/functions_update_trigger.yml": { - parameters: { - path: { - namespace_id: external["resources/functions/parameters.yml"]["namespace_id"]; - trigger_name: external["resources/functions/parameters.yml"]["trigger_name"]; - }; - }; - requestBody: { - content: { - "application/json": external["resources/functions/models/update_trigger.yml"]; - }; - }; - responses: { - 200: external["resources/functions/responses/trigger_response.yml"]; - 400: external["resources/functions/responses/trigger_bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["resources/functions/responses/trigger_not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/functions/models/create_namespace.yml": { - /** - * @description The [datacenter region](https://docs.digitalocean.com/products/platform/availability-matrix/#available-datacenters) in which to create the namespace. - * @example nyc1 - */ - region: string; - /** - * @description The namespace's unique name. - * @example my namespace - */ - label: string; - }; - "resources/functions/models/create_trigger.yml": { - /** - * @description The trigger's unique name within the namespace. - * @example my trigger - */ - name: string; - /** - * @description Name of function(action) that exists in the given namespace. - * @example hello - */ - function: string; - /** - * @description One of different type of triggers. Currently only SCHEDULED is supported. - * @example SCHEDULED - */ - type: string; - /** - * @description Indicates weather the trigger is paused or unpaused. - * @example true - */ - is_enabled: boolean; - scheduled_details: external["resources/functions/models/scheduled_details.yml"]; - }; - "resources/functions/models/namespace_info.yml": { - /** - * @description The namespace's API hostname. Each function in a namespace is provided an endpoint at the namespace's hostname. - * @example https://api_host.io - */ - api_host?: string; - /** - * @description A unique string format of UUID with a prefix fn-. - * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - */ - namespace?: string; - /** - * @description UTC time string. - * @example "2022-09-14T04:16:45.000Z" - */ - created_at?: string; - /** - * @description UTC time string. - * @example "2022-09-14T04:16:45.000Z" - */ - updated_at?: string; - /** - * @description The namespace's unique name. - * @example my namespace - */ - label?: string; - /** - * @description The namespace's datacenter region. - * @example nyc1 - */ - region?: string; - /** - * @description The namespace's Universally Unique Identifier. - * @example xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - */ - uuid?: string; - /** - * @description A random alpha numeric string. This key is used in conjunction with the namespace's UUID to authenticate - * a user to use the namespace via `doctl`, DigitalOcean's official CLI. - * @example d1zcd455h01mqjfs4s2eaewyejehi5f2uj4etqq3h7cera8iwkub6xg5of1wdde2 - */ - key?: string; - }; - "resources/functions/models/scheduled_details.yml": { - /** - * @description valid cron expression string which is required for SCHEDULED type triggers. - * @example * * * * * - */ - cron: string; - /** @description Optional data to be sent to function while triggering the function. */ - body?: { - /** @example Welcome to DO! */ - name?: string; - } | null; - }; - "resources/functions/models/trigger_info.yml": { - /** - * @description A unique string format of UUID with a prefix fn-. - * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - */ - namespace?: string; - /** - * @description The trigger's unique name within the namespace. - * @example my trigger - */ - name?: string; - /** - * @description Name of function(action) that exists in the given namespace. - * @example hello - */ - function?: string; - /** - * @description String which indicates the type of trigger source like SCHEDULED. - * @example SCHEDULED - */ - type?: string; - /** - * @description Indicates weather the trigger is paused or unpaused. - * @example true - */ - is_enabled?: boolean; - /** - * @description UTC time string. - * @example "2022-11-11T04:16:45.000Z" - */ - created_at?: string; - /** - * @description UTC time string. - * @example "2022-11-11T04:16:45.000Z" - */ - updated_at?: string; - scheduled_details?: external["resources/functions/models/scheduled_details.yml"]; - scheduled_runs?: { - /** - * @description Indicates last run time. null value indicates trigger not run yet. - * @example "2022-11-11T04:16:45.000Z" - */ - last_run_at?: string | null; - /** - * @description Indicates next run time. null value indicates trigger will not run. - * @example "2022-11-11T04:16:45.000Z" - */ - next_run_at?: string | null; - }; - }; - "resources/functions/models/update_trigger.yml": { - /** - * @description Indicates weather the trigger is paused or unpaused. - * @example true - */ - is_enabled?: boolean; - scheduled_details?: external["resources/functions/models/scheduled_details.yml"]; - }; - "resources/functions/parameters.yml": { - namespace_id: string; - trigger_name: string; - }; - "resources/functions/responses/list_namespaces.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - namespaces?: external["resources/functions/models/namespace_info.yml"][]; - }; - }; - }; - "resources/functions/responses/list_triggers.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - triggers?: external["resources/functions/models/trigger_info.yml"][]; - }; - }; - }; - "resources/functions/responses/namespace_bad_request.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["shared/models/error.yml"]; - }; - }; - "resources/functions/responses/namespace_created.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - namespace?: external["resources/functions/models/namespace_info.yml"]; - }; - }; - }; - "resources/functions/responses/namespace_limit_reached.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["shared/models/error.yml"]; - }; - }; - "resources/functions/responses/namespace_not_allowed.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["shared/models/error.yml"]; - }; - }; - "resources/functions/responses/namespace_not_found.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["shared/models/error.yml"]; - }; - }; - "resources/functions/responses/trigger_bad_request.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["shared/models/error.yml"]; - }; - }; - "resources/functions/responses/trigger_limit_reached.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["shared/models/error.yml"]; - }; - }; - "resources/functions/responses/trigger_not_found.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["shared/models/error.yml"]; + domain_record_id: number; + /** + * @description Used to filter Droplets by a specific tag. Can not be combined with `name`. + * @example env:prod + */ + droplet_tag_name: string; + /** + * @description Used to filter list response by Droplet name returning only exact matches. It is case-insensitive and can not be combined with `tag_name`. + * @example web-01 + */ + droplet_name: string; + /** + * @description Specifies Droplets to be deleted by tag. + * @example env:test + */ + droplet_delete_tag_name: string; + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: number; + /** + * @description Acknowledge this action will destroy the Droplet and all associated resources and _can not_ be reversed. + * @example true + */ + x_dangerous: boolean; + /** + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c + */ + firewall_id: string; + /** + * @description A floating IP address. + * @example 45.55.96.47 + */ + floating_ip: string; + /** + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + */ + namespace_id: string; + /** + * @description The name of the trigger to be managed. + * @example my trigger + */ + trigger_name: string; + /** + * @description Filters results based on image type which can be either `application` or `distribution`. + * @example distribution + */ + type: "application" | "distribution"; + /** + * @description Used to filter only user images. + * @example true + */ + private: boolean; + /** + * @description Used to filter images by a specific tag. + * @example base-image + */ + tag: string; + /** + * @description A unique number that can be used to identify and reference a specific image. + * @example 62137902 + */ + image_id: number; + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + kubernetes_cluster_id: string; + /** + * @description The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. + * @example 300 + */ + kubernetes_expiry_seconds: number; + /** + * @description A unique ID that can be used to reference a Kubernetes node pool. + * @example cdda885e-7663-40c8-bc74-3a036c66545d + */ + kubernetes_node_pool_id: string; + /** + * @description A unique ID that can be used to reference a node in a Kubernetes node pool. + * @example 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + */ + kubernetes_node_id: string; + /** + * @description Specifies whether or not to drain workloads from a node before it is deleted. Setting it to `1` causes node draining to be skipped. Omitting the query parameter or setting its value to `0` carries out draining prior to deletion. + * @example 1 + */ + kubernetes_node_skip_drain: number; + /** + * @description Specifies whether or not to replace a node after it has been deleted. Setting it to `1` causes the node to be replaced by a new one after deletion. Omitting the query parameter or setting its value to `0` deletes without replacement. + * @example 1 + */ + kubernetes_node_replace: number; + /** + * @description Specifies the clusterlint run whose results will be retrieved. + * @example 50c2f44c-011d-493e-aee5-361a4a0d1844 + */ + clusterlint_run_id: string; + /** + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + load_balancer_id: string; + /** + * @description A unique identifier for an alert policy. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + alert_uuid: string; + /** + * @description The droplet ID. + * @example 17209102 + */ + parameters_droplet_id: string; + /** + * @description The network interface. + * @example private + */ + network_interface: "private" | "public"; + /** + * @description The traffic direction. + * @example inbound + */ + network_direction: "inbound" | "outbound"; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + metric_timestamp_start: string; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + metric_timestamp_end: string; + /** + * @description A unique identifier for a project. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + project_id: string; + /** + * @description The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. + * @example 3600 + */ + registry_expiry_seconds: number; + /** + * @description By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. + * @example true + */ + registry_read_write: boolean; + /** + * @description The name of a container registry. + * @example example + */ + registry_name: string; + /** + * @description Which 'page' of paginated results to return. Ignored when 'page_token' is provided. + * @example 1 + */ + token_pagination_page: number; + /** + * @description Token to retrieve of the next or previous set of results more quickly than using 'page'. + * @example eyJUb2tlbiI6IkNnZGpiMjlz + */ + token_pagination_page_token: string; + /** + * @description The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. + * @example repo-1 + */ + registry_repository_name: string; + /** + * @description The name of a container registry repository tag. + * @example 06a447a + */ + registry_repository_tag: string; + /** + * @description The manifest digest of a container registry repository tag. + * @example sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + */ + registry_manifest_digest: string; + /** + * @description The UUID of a garbage collection run. + * @example eff0feee-49c7-4e8f-ba5c-a320c109c8a8 + */ + garbage_collection_uuid: string; + /** + * @description A reserved IP address. + * @example 45.55.96.47 + */ + reserved_ip: string; + /** + * @description Used to filter snapshots by a resource type. + * @example droplet + */ + snapshot_resource_type: "droplet" | "volume"; + /** + * @description Either the ID of an existing snapshot. This will be an integer for a Droplet snapshot or a string for a volume snapshot. + * @example 6372321 + */ + snapshot_id: number | string; + /** + * @description The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. + * @example awesome + */ + tag_id: string; + /** + * @description The block storage volume's name. + * @example example + */ + volume_name: string; + /** + * @description The slug identifier for the region where the resource is available. + * @example nyc3 + */ + region: components["schemas"]["region_slug"]; + /** + * @description The ID of the block storage volume. + * @example 7724db7c-e098-11e5-b522-000f53304e51 + */ + volume_id: string; + /** + * @description A unique identifier for a VPC. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + vpc_id: string; + /** + * @description Used to filter VPC members by a resource type. + * @example droplet + */ + vpc_resource_type: string; + /** + * @description A unique identifier for a check. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + check_id: string; + /** + * @description A unique identifier for an alert. + * @example 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 + */ + parameters_alert_id: string; }; - }; - "resources/functions/responses/trigger_response.yml": { + requestBodies: never; headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - trigger?: external["resources/functions/models/trigger_info.yml"]; - }; - }; - }; - "resources/images/attributes.yml": unknown; - /** - * Retrieve an Existing Action - * @description To retrieve the status of an image action, send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`. - */ - "resources/images/imageActions_get.yml": { - parameters: { - path: { - image_id: external["resources/images/parameters.yml"]["image_id"]; - action_id: external["resources/actions/parameters.yml"]["action_id"]; - }; - }; - responses: { - 200: external["resources/images/responses/get_image_action_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Actions for an Image - * @description To retrieve all actions that have been executed on an image, send a GET request to `/v2/images/$IMAGE_ID/actions`. - */ - "resources/images/imageActions_list.yml": { - parameters: { - path: { - image_id: external["resources/images/parameters.yml"]["image_id"]; - }; - }; - responses: { - 200: external["resources/images/responses/get_image_actions_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Initiate an Image Action - * @description The following actions are available on an Image. - * - * ## Convert an Image to a Snapshot - * - * To convert an image, for example, a backup to a snapshot, send a POST request - * to `/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to `convert`. - * - * ## Transfer an Image - * - * To transfer an image to another region, send a POST request to - * `/v2/images/$IMAGE_ID/actions`. Set the `type` attribute to `transfer` and set - * `region` attribute to the slug identifier of the region you wish to transfer - * to. - */ - "resources/images/imageActions_post.yml": { - parameters: { - path: { - image_id: external["resources/images/parameters.yml"]["image_id"]; - }; - }; - requestBody?: { - content: { - "application/json": external["resources/images/models/image_action.yml"]["image_action_base"] | external["resources/images/models/image_action.yml"]["image_action_transfer"]; - }; - }; - responses: { - 201: external["resources/images/responses/post_image_action_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a Custom Image - * @description To create a new custom image, send a POST request to /v2/images. - * The body must contain a url attribute pointing to a Linux virtual machine - * image to be imported into DigitalOcean. - * The image must be in the raw, qcow2, vhdx, vdi, or vmdk format. - * It may be compressed using gzip or bzip2 and must be smaller than 100 GB after - * being decompressed. - */ - "resources/images/images_create_custom.yml": { - requestBody: { - content: { - "application/json": external["resources/images/models/image_new_custom.yml"]; - }; - }; - responses: { - 202: external["resources/images/responses/new_custom_image.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete an Image - * @description To delete a snapshot or custom image, send a `DELETE` request to `/v2/images/$IMAGE_ID`. - */ - "resources/images/images_delete.yml": { - parameters: { - path: { - image_id: external["resources/images/parameters.yml"]["image_id"]; - }; - }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Image - * @description To retrieve information about an image, send a `GET` request to - * `/v2/images/$IDENTIFIER`. - */ - "resources/images/images_get.yml": { - parameters: { - path: { /** - * @description A unique number (id) or string (slug) used to identify and reference a - * specific image. - * - * **Public** images can be identified by image `id` or `slug`. - * - * **Private** images *must* be identified by image `id`. + * @description The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. + * @example 5000 + */ + "ratelimit-limit": number; + /** + * @description The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + * @example 4816 + */ + "ratelimit-remaining": number; + /** + * @description The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. + * @example 1444931833 + */ + "ratelimit-reset": number; + /** + * @description Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. + * @example attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" + */ + "content-disposition": string; + /** + * @description The type of data that is returned from a request. + * @example application/json; charset=utf-8 + */ + "content-type": string; + /** + * @description Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. + * @example 515850a0-a812-50bf-aa3c-d0d21d287e40 */ - image_id: number | string; - }; + "x-request-id": string; + }; + pathItems: never; +} +export type $defs = Record; +export interface operations { + oneClicks_list: { + parameters: { + query?: { + /** + * @description Restrict results to a certain type of 1-Click. + * @example kubernetes + */ + type?: components["parameters"]["oneClicks_type"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["oneClicks_all"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/images/responses/existing_image.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Images - * @description To list all of the images available on your account, send a GET request to /v2/images. - * - * ## Filtering Results - * ----- - * - * It's possible to request filtered results by including certain query parameters. - * - * **Image Type** - * - * Either 1-Click Application or OS Distribution images can be filtered by using the `type` query parameter. - * - * > Important: The `type` query parameter does not directly relate to the `type` attribute. - * - * To retrieve only ***distribution*** images, include the `type` query parameter set to distribution, `/v2/images?type=distribution`. - * - * To retrieve only ***application*** images, include the `type` query parameter set to application, `/v2/images?type=application`. - * - * **User Images** - * - * To retrieve only the private images of a user, include the `private` query parameter set to true, `/v2/images?private=true`. - * - * **Tags** - * - * To list all images assigned to a specific tag, include the `tag_name` query parameter set to the name of the tag in your GET request. For example, `/v2/images?tag_name=$TAG_NAME`. - */ - "resources/images/images_list.yml": { - parameters: { - query?: { - type?: external["resources/images/parameters.yml"]["type"]; - private?: external["resources/images/parameters.yml"]["private"]; - tag_name?: external["resources/images/parameters.yml"]["tag"]; - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + oneClicks_install_kubernetes: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["oneClicks_create"]; + }; + }; + responses: { + 200: components["responses"]["oneClicks_create"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/images/responses/all_images.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update an Image - * @description To update an image, send a `PUT` request to `/v2/images/$IMAGE_ID`. - * Set the `name` attribute to the new value you would like to use. - * For custom images, the `description` and `distribution` attributes may also be updated. - */ - "resources/images/images_update.yml": { - parameters: { - path: { - image_id: external["resources/images/parameters.yml"]["image_id"]; - }; + account_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["account"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/images/models/image_update.yml"]; - }; + sshKeys_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["sshKeys_all"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/images/responses/updated_image.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/images/models/image_action.yml": { - image_action_base: { - /** - * @description The action to be taken on the image. Can be either `convert` or `transfer`. - * @example convert - * @enum {string} - */ - type: "convert" | "transfer"; - }; - image_action_transfer: external["resources/images/models/image_action.yml"]["image_action_base"] & { - region: external["shared/attributes/region_slug.yml"]; - }; - }; - "resources/images/models/image_new_custom.yml": WithRequired; - "resources/images/models/image_update.yml": { - name?: external["resources/images/attributes.yml"]["image_name"]; - distribution?: external["shared/attributes/distribution.yml"]; - description?: external["resources/images/attributes.yml"]["image_description"]; - }; - "resources/images/models/image.yml": { - /** - * @description A unique number that can be used to identify and reference a specific image. - * @example 7555620 - */ - id?: number; - name?: external["resources/images/attributes.yml"]["image_name"]; - /** - * @description Describes the kind of image. It may be one of `base`, `snapshot`, `backup`, `custom`, or `admin`. Respectively, this specifies whether an image is a DigitalOcean base OS image, user-generated Droplet snapshot, automatically created Droplet backup, user-provided virtual machine image, or an image used for DigitalOcean managed resources (e.g. DOKS worker nodes). - * @example snapshot - * @enum {string} - */ - type?: "base" | "snapshot" | "backup" | "custom" | "admin"; - distribution?: external["shared/attributes/distribution.yml"]; - /** - * @description A uniquely identifying string that is associated with each of the DigitalOcean-provided public images. These can be used to reference a public image as an alternative to the numeric id. - * @example nifty1 - */ - slug?: string | null; - /** - * @description This is a boolean value that indicates whether the image in question is public or not. An image that is public is available to all accounts. A non-public image is only accessible from your account. - * @example true - */ - public?: boolean; - regions?: external["shared/attributes/regions_array.yml"]; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the image was created. - * @example "2020-05-04T22:23:02.000Z" - */ - created_at?: string; - /** - * @description The minimum disk size in GB required for a Droplet to use this image. - * @example 20 - */ - min_disk_size?: number | null; - /** - * Format: float - * @description The size of the image in gigabytes. - * @example 2.34 - */ - size_gigabytes?: number | null; - description?: external["resources/images/attributes.yml"]["image_description"]; - tags?: external["shared/attributes/tags_array.yml"]; - /** - * @description A status string indicating the state of a custom image. This may be `NEW`, - * `available`, `pending`, `deleted`, or `retired`. - * @example NEW - * @enum {string} - */ - status?: "NEW" | "available" | "pending" | "deleted" | "retired"; - /** - * @description A string containing information about errors that may occur when importing - * a custom image. - * @example - */ - error_message?: string; - }; - "resources/images/parameters.yml": Record - "resources/images/responses/all_images.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - images: external["resources/images/models/image.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/images/responses/examples.yml": unknown - "resources/images/responses/existing_image.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + sshKeys_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["sshKeys"]; + }; + }; + responses: { + 201: components["responses"]["sshKeys_new"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - image: external["resources/images/models/image.yml"]; - }; + sshKeys_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Either the ID or the fingerprint of an existing SSH key. + * @example 512189 + */ + ssh_key_identifier: components["parameters"]["ssh_key_identifier"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["sshKeys_existing"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/images/responses/get_image_action_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + sshKeys_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Either the ID or the fingerprint of an existing SSH key. + * @example 512189 + */ + ssh_key_identifier: components["parameters"]["ssh_key_identifier"]; + }; + cookie?: never; + }; + /** @description Set the `name` attribute to the new name you want to use. */ + requestBody: { + content: { + "application/json": { + name?: components["schemas"]["ssh_key_name"]; + }; + }; + }; + responses: { + 200: components["responses"]["sshKeys_existing"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/actions/models/action.yml"]; + sshKeys_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Either the ID or the fingerprint of an existing SSH key. + * @example 512189 + */ + ssh_key_identifier: components["parameters"]["ssh_key_identifier"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/images/responses/get_image_actions_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + actions_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - actions?: external["resources/actions/models/action.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + actions_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique numeric ID that can be used to identify and reference an action. + * @example 36804636 + */ + action_id: components["parameters"]["action_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["action"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/images/responses/new_custom_image.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + apps_list: { + parameters: { + query?: { + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Whether the project_id of listed apps should be fetched and included. + * @example true + */ + with_projects?: components["parameters"]["with_projects"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_apps"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - image?: external["resources/images/models/image.yml"]; - }; + apps_create: { + parameters: { + query?: never; + header?: { + /** + * @description The content-type that should be used by the response. By default, the response will be `application/json`. `application/yaml` is also supported. + * @example application/json + */ + Accept?: components["parameters"]["accept"]; + /** + * @description The content-type used for the request. By default, the requests are assumed to use `application/json`. `application/yaml` is also supported. + * @example application/json + */ + "Content-Type"?: components["parameters"]["content-type"]; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "spec": { + * "name": "web-app", + * "region": "nyc", + * "services": [ + * { + * "name": "api", + * "github": { + * "branch": "main", + * "deploy_on_push": true, + * "repo": "digitalocean/sample-golang" + * }, + * "run_command": "bin/api", + * "environment_slug": "node-js", + * "instance_count": 2, + * "instance_size_slug": "basic-xxs", + * "routes": [ + * { + * "path": "/api" + * } + * ] + * } + * ] + * } + * } */ + "application/json": components["schemas"]["apps_create_app_request"]; + }; + }; + responses: { + 200: components["responses"]["new_app"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/images/responses/post_image_action_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + apps_get: { + parameters: { + query?: { + /** + * @description The name of the app to retrieve. + * @example myApp + */ + name?: components["parameters"]["app_name"]; + }; + header?: never; + path: { + /** + * @description The ID of the app + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + id: components["parameters"]["id_app"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["apps_get"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/actions/models/action.yml"]; + apps_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the app + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + id: components["parameters"]["id_app"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["apps_update_app_request"]; + }; + }; + responses: { + 200: components["responses"]["update_app"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/images/responses/updated_image.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - image: external["resources/images/models/image.yml"]; - }; - }; - }; - "resources/kubernetes/examples.yml": unknown - /** - * Add a Node Pool to a Kubernetes Cluster - * @description To add an additional node pool to a Kubernetes clusters, send a POST request - * to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools` with the following - * attributes. - */ - "resources/kubernetes/kubernetes_add_nodePool.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; - }; - requestBody: { - content: { - /** - * @example { - * "size": "s-1vcpu-2gb", - * "count": 3, - * "name": "new-pool", - * "tags": [ - * "frontend" - * ], - * "auto_scale": true, - * "min_nodes": 3, - * "max_nodes": 6 - * } - */ - "application/json": external["resources/kubernetes/models/node_pool.yml"]["kubernetes_node_pool"]; - }; + apps_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the app + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + id: components["parameters"]["id_app"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["delete_app"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/kubernetes/responses/node_pool_create.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Add Container Registry to Kubernetes Clusters - * @description To integrate the container registry with Kubernetes clusters, send a POST request to `/v2/kubernetes/registry`. - */ - "resources/kubernetes/kubernetes_add_registry.yml": { - requestBody?: { - content: { - "application/json": external["resources/kubernetes/models/cluster_registries.yml"]; - }; + apps_get_logs_active_deployment: { + parameters: { + query: { + /** + * @description Whether the logs should follow live updates. + * @example true + */ + follow?: components["parameters"]["live_updates"]; + /** + * @description The type of logs to retrieve + * - BUILD: Build-time logs + * - DEPLOY: Deploy-time logs + * - RUN: Live run-time logs + * @example BUILD + */ + type: components["parameters"]["log_type"]; + /** + * @description An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`. + * @example 3m + */ + pod_connection_timeout?: components["parameters"]["time_wait"]; + }; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + /** + * @description An optional component name. If set, logs will be limited to this component only. + * @example component + */ + component_name: components["parameters"]["component"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_logs"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a New Kubernetes Cluster - * @description To create a new Kubernetes cluster, send a POST request to - * `/v2/kubernetes/clusters`. The request must contain at least one node pool - * with at least one worker. - * - * The request may contain a maintenance window policy describing a time period - * when disruptive maintenance tasks may be carried out. Omitting the policy - * implies that a window will be chosen automatically. See - * [here](https://www.digitalocean.com/docs/kubernetes/how-to/upgrade-cluster/) - * for details. - */ - "resources/kubernetes/kubernetes_create_cluster.yml": { - requestBody: { - content: { - "application/json": external["resources/kubernetes/models/cluster.yml"]; - }; + apps_list_deployments: { + parameters: { + query?: { + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + }; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_deployments"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/kubernetes/responses/cluster_create.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Kubernetes Cluster - * @description To delete a Kubernetes cluster and all services deployed to it, send a DELETE - * request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`. - * - * A 204 status code with no body will be returned in response to a successful - * request. - */ - "resources/kubernetes/kubernetes_delete_cluster.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_create_deployment: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["apps_create_deployment_request"]; + }; + }; + responses: { + 200: components["responses"]["new_app_deployment"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Node in a Kubernetes Cluster - * @description To delete a single node in a pool, send a DELETE request to - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID/nodes/$NODE_ID`. - * - * Appending the `skip_drain=1` query parameter to the request causes node - * draining to be skipped. Omitting the query parameter or setting its value to - * `0` carries out draining prior to deletion. - * - * Appending the `replace=1` query parameter to the request causes the node to - * be replaced by a new one after deletion. Omitting the query parameter or - * setting its value to `0` deletes without replacement. - */ - "resources/kubernetes/kubernetes_delete_node.yml": { - parameters: { - query?: { - skip_drain?: external["resources/kubernetes/parameters.yml"]["kubernetes_node_skip_drain"]; - replace?: external["resources/kubernetes/parameters.yml"]["kubernetes_node_replace"]; - }; - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - node_pool_id: external["resources/kubernetes/parameters.yml"]["kubernetes_node_pool_id"]; - node_id: external["resources/kubernetes/parameters.yml"]["kubernetes_node_id"]; - }; + apps_get_deployment: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + /** + * @description The deployment ID + * @example 3aa4d20e-5527-4c00-b496-601fbd22520a + */ + deployment_id: components["parameters"]["deployment_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_deployment"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 202: external["shared/responses/accepted.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Node Pool in a Kubernetes Cluster - * @description To delete a node pool, send a DELETE request to - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`. - * - * A 204 status code with no body will be returned in response to a successful - * request. Nodes in the pool will subsequently be drained and deleted. - */ - "resources/kubernetes/kubernetes_delete_nodePool.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - node_pool_id: external["resources/kubernetes/parameters.yml"]["kubernetes_node_pool_id"]; - }; + apps_cancel_deployment: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + /** + * @description The deployment ID + * @example 3aa4d20e-5527-4c00-b496-601fbd22520a + */ + deployment_id: components["parameters"]["deployment_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["cancel_deployment"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Cluster and All of its Associated Resources (Dangerous) - * @description To delete a Kubernetes cluster with all of its associated resources, send a - * DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/dangerous`. - * A 204 status code with no body will be returned in response to a successful request. - */ - "resources/kubernetes/kubernetes_destroy_associatedResourcesDangerous.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_get_logs: { + parameters: { + query: { + /** + * @description Whether the logs should follow live updates. + * @example true + */ + follow?: components["parameters"]["live_updates"]; + /** + * @description The type of logs to retrieve + * - BUILD: Build-time logs + * - DEPLOY: Deploy-time logs + * - RUN: Live run-time logs + * @example BUILD + */ + type: components["parameters"]["log_type"]; + /** + * @description An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`. + * @example 3m + */ + pod_connection_timeout?: components["parameters"]["time_wait"]; + }; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + /** + * @description The deployment ID + * @example 3aa4d20e-5527-4c00-b496-601fbd22520a + */ + deployment_id: components["parameters"]["deployment_id"]; + /** + * @description An optional component name. If set, logs will be limited to this component only. + * @example component + */ + component_name: components["parameters"]["component"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_logs"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Selectively Delete a Cluster and its Associated Resources - * @description To delete a Kubernetes cluster along with a subset of its associated resources, - * send a DELETE request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources/selective`. - * - * The JSON body of the request should include `load_balancers`, `volumes`, or - * `volume_snapshots` keys each set to an array of IDs for the associated - * resources to be destroyed. - * - * The IDs can be found by querying the cluster's associated resources endpoint. - * Any associated resource not included in the request will remain and continue - * to accrue changes on your account. - */ - "resources/kubernetes/kubernetes_destroy_associatedResourcesSelective.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_get_logs_aggregate: { + parameters: { + query: { + /** + * @description Whether the logs should follow live updates. + * @example true + */ + follow?: components["parameters"]["live_updates"]; + /** + * @description The type of logs to retrieve + * - BUILD: Build-time logs + * - DEPLOY: Deploy-time logs + * - RUN: Live run-time logs + * @example BUILD + */ + type: components["parameters"]["log_type"]; + /** + * @description An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`. + * @example 3m + */ + pod_connection_timeout?: components["parameters"]["time_wait"]; + }; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + /** + * @description The deployment ID + * @example 3aa4d20e-5527-4c00-b496-601fbd22520a + */ + deployment_id: components["parameters"]["deployment_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_logs"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/kubernetes/models/associated_kubernetes_resources.yml"]["destroy_associated_kubernetes_resources"]; - }; + apps_get_logs_active_deployment_aggregate: { + parameters: { + query: { + /** + * @description Whether the logs should follow live updates. + * @example true + */ + follow?: components["parameters"]["live_updates"]; + /** + * @description The type of logs to retrieve + * - BUILD: Build-time logs + * - DEPLOY: Deploy-time logs + * - RUN: Live run-time logs + * @example BUILD + */ + type: components["parameters"]["log_type"]; + /** + * @description An optional time duration to wait if the underlying component instance is not immediately available. Default: `3m`. + * @example 3m + */ + pod_connection_timeout?: components["parameters"]["time_wait"]; + }; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_logs"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve Available Upgrades for an Existing Kubernetes Cluster - * @description To determine whether a cluster can be upgraded, and the versions to which it - * can be upgraded, send a GET request to - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrades`. - */ - "resources/kubernetes/kubernetes_get_availableUpgrades.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_list_tiers: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_tiers"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/kubernetes/responses/available_upgrades.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Kubernetes Cluster - * @description To show information about an existing Kubernetes cluster, send a GET request - * to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID`. - */ - "resources/kubernetes/kubernetes_get_cluster.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_get_tier: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The slug of the tier + * @example basic + */ + slug: components["parameters"]["slug_tier"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["get_tier"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/kubernetes/responses/existing_cluster.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Fetch Clusterlint Diagnostics for a Kubernetes Cluster - * @description To request clusterlint diagnostics for your cluster, send a GET request to - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/clusterlint`. If the `run_id` query - * parameter is provided, then the diagnostics for the specific run is fetched. - * By default, the latest results are shown. - * - * To find out how to address clusterlint feedback, please refer to - * [the clusterlint check documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md). - */ - "resources/kubernetes/kubernetes_get_clusterLintResults.yml": { - parameters: { - query?: { - run_id?: external["resources/kubernetes/parameters.yml"]["clusterlint_run_id"]; - }; - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_list_instanceSizes: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_instance"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/kubernetes/responses/clusterlint_results.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve User Information for a Kubernetes Cluster - * @description To show information the user associated with a Kubernetes cluster, send a GET - * request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/user`. - */ - "resources/kubernetes/kubernetes_get_clusterUser.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_get_instanceSize: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The slug of the instance size + * @example basic-xxs + */ + slug: components["parameters"]["slug_size"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["get_instance"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/kubernetes/responses/cluster_user.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve Credentials for a Kubernetes Cluster - * @description This endpoint returns a JSON object . It can be used to programmatically - * construct Kubernetes clients which cannot parse kubeconfig files. - * - * The resulting JSON object contains token-based authentication for clusters - * supporting it, and certificate-based authentication otherwise. For a list of - * supported versions and more information, see "[How to Connect to a DigitalOcean - * Kubernetes Cluster with kubectl](https://www.digitalocean.com/docs/kubernetes/how-to/connect-with-kubectl/)". - * - * To retrieve credentials for accessing a Kubernetes cluster, send a GET - * request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/credentials`. - * - * Clusters supporting token-based authentication may define an expiration by - * passing a duration in seconds as a query parameter to - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig?expiry_seconds=$DURATION_IN_SECONDS`. - * If not set or 0, then the token will have a 7 day expiry. The query parameter - * has no impact in certificate-based authentication. - */ - "resources/kubernetes/kubernetes_get_credentials.yml": { - parameters: { - query?: { - expiry_seconds?: external["resources/kubernetes/parameters.yml"]["kubernetes_expiry_seconds"]; - }; - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_list_regions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_regions"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/kubernetes/responses/credentials.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve the kubeconfig for a Kubernetes Cluster - * @description This endpoint returns a kubeconfig file in YAML format. It can be used to - * connect to and administer the cluster using the Kubernetes command line tool, - * `kubectl`, or other programs supporting kubeconfig files (e.g., client libraries). - * - * The resulting kubeconfig file uses token-based authentication for clusters - * supporting it, and certificate-based authentication otherwise. For a list of - * supported versions and more information, see "[How to Connect to a DigitalOcean - * Kubernetes Cluster with kubectl](https://www.digitalocean.com/docs/kubernetes/how-to/connect-with-kubectl/)". - * - * To retrieve a kubeconfig file for use with a Kubernetes cluster, send a GET - * request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig`. - * - * Clusters supporting token-based authentication may define an expiration by - * passing a duration in seconds as a query parameter to - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig?expiry_seconds=$DURATION_IN_SECONDS`. - * If not set or 0, then the token will have a 7 day expiry. The query parameter - * has no impact in certificate-based authentication. - */ - "resources/kubernetes/kubernetes_get_kubeconfig.yml": { - parameters: { - query?: { - expiry_seconds?: external["resources/kubernetes/parameters.yml"]["kubernetes_expiry_seconds"]; - }; - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_validate_appSpec: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "spec": { + * "name": "web-app", + * "region": "nyc", + * "services": [ + * { + * "name": "api", + * "github": { + * "branch": "main", + * "deploy_on_push": true, + * "repo": "digitalocean/sample-golang" + * }, + * "run_command": "bin/api", + * "environment_slug": "node-js", + * "instance_count": 2, + * "instance_size_slug": "basic-xxs", + * "routes": [ + * { + * "path": "/api" + * } + * ] + * } + * ] + * }, + * "app_id": "b6bdf840-2854-4f87-a36c-5f231c617c84" + * } */ + "application/json": components["schemas"]["app_propose"]; + }; + }; + responses: { + 200: components["responses"]["propose_app"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/kubernetes/responses/kubeconfig.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve a Node Pool for a Kubernetes Cluster - * @description To show information about a specific node pool in a Kubernetes cluster, send - * a GET request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID`. - */ - "resources/kubernetes/kubernetes_get_nodePool.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - node_pool_id: external["resources/kubernetes/parameters.yml"]["kubernetes_node_pool_id"]; - }; + apps_list_alerts: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_alerts"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/kubernetes/responses/existing_node_pool.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Associated Resources for Cluster Deletion - * @description To list the associated billable resources that can be destroyed along with a cluster, send a GET request to the `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources` endpoint. - */ - "resources/kubernetes/kubernetes_list_associatedResources.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_assign_alertDestinations: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + /** + * @description The alert ID + * @example 5a624ab5-dd58-4b39-b7dd-8b7c36e8a91d + */ + alert_id: components["parameters"]["alert_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["apps_assign_app_alert_destinations_request"]; + }; + }; + responses: { + 200: components["responses"]["assign_alert_destinations"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/kubernetes/responses/associated_kubernetes_resources_list.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Kubernetes Clusters - * @description To list all of the Kubernetes clusters on your account, send a GET request - * to `/v2/kubernetes/clusters`. - */ - "resources/kubernetes/kubernetes_list_clusters.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + apps_create_rollback: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["apps_rollback_app_request"]; + }; + }; + responses: { + 200: components["responses"]["new_app_deployment"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/kubernetes/responses/all_clusters.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Node Pools in a Kubernetes Clusters - * @description To list all of the node pools in a Kubernetes clusters, send a GET request to - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools`. - */ - "resources/kubernetes/kubernetes_list_nodePools.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_validate_rollback: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["apps_rollback_app_request"]; + }; + }; + responses: { + 200: components["responses"]["apps_validate_rollback"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/kubernetes/responses/all_node_pools.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Available Regions, Node Sizes, and Versions of Kubernetes - * @description To list the versions of Kubernetes available for use, the regions that support Kubernetes, and the available node sizes, send a GET request to `/v2/kubernetes/options`. - */ - "resources/kubernetes/kubernetes_list_options.yml": { - responses: { - 200: external["resources/kubernetes/responses/all_options.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Recycle a Kubernetes Node Pool - * @deprecated - * @description The endpoint has been deprecated. Please use the DELETE - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID/nodes/$NODE_ID` - * method instead. - */ - "resources/kubernetes/kubernetes_recycle_nodePool.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - node_pool_id: external["resources/kubernetes/parameters.yml"]["kubernetes_node_pool_id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @example [ - * "d8db5e1a-6103-43b5-a7b3-8a948210a9fc" - * ] - */ - nodes?: string[]; - }; - }; + apps_commit_rollback: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 202: external["shared/responses/accepted.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Remove Container Registry from Kubernetes Clusters - * @description To remove the container registry from Kubernetes clusters, send a DELETE request to `/v2/kubernetes/registry`. - */ - "resources/kubernetes/kubernetes_remove_registry.yml": { - requestBody?: { - content: { - "application/json": external["resources/kubernetes/models/cluster_registries.yml"]; - }; + apps_revert_rollback: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["new_app_deployment"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Run Clusterlint Checks on a Kubernetes Cluster - * @description Clusterlint helps operators conform to Kubernetes best practices around - * resources, security and reliability to avoid common problems while operating - * or upgrading the clusters. - * - * To request a clusterlint run on your cluster, send a POST request to - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/clusterlint`. This will run all - * checks present in the `doks` group by default, if a request body is not - * specified. Optionally specify the below attributes. - * - * For information about the available checks, please refer to - * [the clusterlint check documentation](https://github.com/digitalocean/clusterlint/blob/master/checks.md). - */ - "resources/kubernetes/kubernetes_run_clusterLint.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + apps_get_metrics_bandwidth_daily: { + parameters: { + query?: { + /** + * @description Optional day to query. Only the date component of the timestamp will be considered. Default: yesterday. + * @example 2023-01-17T00:00:00Z + */ + date?: string; + }; + header?: never; + path: { + /** + * @description The app ID + * @example 4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf + */ + app_id: components["parameters"]["app_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["get_metrics_bandwidth_usage"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody?: { - content: { - "application/json": external["resources/kubernetes/models/clusterlint_request.yml"]; - }; + apps_list_metrics_bandwidth_daily: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "app_ids": [ + * "4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf", + * "c2a93513-8d9b-4223-9d61-5e7272c81cf5" + * ], + * "date": "2023-01-17T00:00:00Z" + * } */ + "application/json": components["schemas"]["app_metrics_bandwidth_usage_request"]; + }; + }; + responses: { + 200: components["responses"]["list_metrics_bandwidth_usage"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 202: external["resources/kubernetes/responses/clusterlint_run.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update a Kubernetes Cluster - * @description To update a Kubernetes cluster, send a PUT request to - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID` and specify one or more of the - * attributes below. - */ - "resources/kubernetes/kubernetes_update_cluster.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + cdn_list_endpoints: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_cdn_endpoints"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/kubernetes/models/cluster_update.yml"]; - }; + cdn_create_endpoint: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["cdn_endpoint"]; + }; + }; + responses: { + 201: components["responses"]["existing_endpoint"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 202: external["resources/kubernetes/responses/updated_cluster.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update a Node Pool in a Kubernetes Cluster - * @description To update the name of a node pool, edit the tags applied to it, or adjust its - * number of nodes, send a PUT request to - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/node_pools/$NODE_POOL_ID` with the - * following attributes. - */ - "resources/kubernetes/kubernetes_update_nodePool.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - node_pool_id: external["resources/kubernetes/parameters.yml"]["kubernetes_node_pool_id"]; - }; + cdn_get_endpoint: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a CDN endpoint. + * @example 19f06b6a-3ace-4315-b086-499a0e521b76 + */ + cdn_id: components["parameters"]["cdn_endpoint_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_endpoint"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/kubernetes/models/node_pool.yml"]["kubernetes_node_pool_update"]; - }; + cdn_update_endpoints: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a CDN endpoint. + * @example 19f06b6a-3ace-4315-b086-499a0e521b76 + */ + cdn_id: components["parameters"]["cdn_endpoint_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["update_endpoint"]; + }; + }; + responses: { + 200: components["responses"]["existing_endpoint"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 202: external["resources/kubernetes/responses/node_pool_update.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Upgrade a Kubernetes Cluster - * @description To immediately upgrade a Kubernetes cluster to a newer patch release of - * Kubernetes, send a POST request to `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrade`. - * The body of the request must specify a version attribute. - * - * Available upgrade versions for a cluster can be fetched from - * `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/upgrades`. - */ - "resources/kubernetes/kubernetes_upgrade_cluster.yml": { - parameters: { - path: { - cluster_id: external["resources/kubernetes/parameters.yml"]["kubernetes_cluster_id"]; - }; + cdn_delete_endpoint: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a CDN endpoint. + * @example 19f06b6a-3ace-4315-b086-499a0e521b76 + */ + cdn_id: components["parameters"]["cdn_endpoint_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": { - /** - * @description The slug identifier for the version of Kubernetes that the cluster will be upgraded to. - * @example 1.16.13-do.0 - */ - version?: string; + cdn_purge_cache: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a CDN endpoint. + * @example 19f06b6a-3ace-4315-b086-499a0e521b76 + */ + cdn_id: components["parameters"]["cdn_endpoint_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["purge_cache"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; }; - }; }; - responses: { - 202: external["shared/responses/accepted.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/kubernetes/models/associated_kubernetes_resources.yml": { - /** @description An object containing the IDs of resources associated with a Kubernetes cluster. */ - associated_kubernetes_resources: { - /** - * @description A list of names and IDs for associated load balancers that can be destroyed along with the cluster. - * @example [ - * { - * "id": "4de7ac8b-495b-4884-9a69-1050c6793cd6", - * "name": "lb-001" - * } - * ] - */ - load_balancers?: external["resources/kubernetes/models/associated_kubernetes_resources.yml"]["associated_kubernetes_resource"][]; - /** - * @description A list of names and IDs for associated volumes that can be destroyed along with the cluster. - * @example [ - * { - * "id": "ba49449a-7435-11ea-b89e-0a58ac14480f", - * "name": "volume-001" - * } - * ] - */ - volumes?: external["resources/kubernetes/models/associated_kubernetes_resources.yml"]["associated_kubernetes_resource"][]; - /** - * @description A list of names and IDs for associated volume snapshots that can be destroyed along with the cluster. - * @example [ - * { - * "id": "edb0478d-7436-11ea-86e6-0a58ac144b91", - * "name": "snapshot-001" - * } - * ] - */ - volume_snapshots?: external["resources/kubernetes/models/associated_kubernetes_resources.yml"]["associated_kubernetes_resource"][]; - }; - associated_kubernetes_resource: { - /** - * @description The ID of a resource associated with a Kubernetes cluster. - * @example edb0478d-7436-11ea-86e6-0a58ac144b91 - */ - id?: string; - /** - * @description The name of a resource associated with a Kubernetes cluster. - * @example volume-001 - */ - name?: string; - }; - /** @description An object containing the IDs of resources to be destroyed along with their associated with a Kubernetes cluster. */ - destroy_associated_kubernetes_resources: { - /** - * @description A list of IDs for associated load balancers to destroy along with the cluster. - * @example [ - * "4de7ac8b-495b-4884-9a69-1050c6793cd6" - * ] - */ - load_balancers?: string[]; - /** - * @description A list of IDs for associated volumes to destroy along with the cluster. - * @example [ - * "ba49449a-7435-11ea-b89e-0a58ac14480f" - * ] - */ - volumes?: string[]; - /** - * @description A list of IDs for associated volume snapshots to destroy along with the cluster. - * @example [ - * "edb0478d-7436-11ea-86e6-0a58ac144b91" - * ] - */ - volume_snapshots?: string[]; - }; - }; - "resources/kubernetes/models/cluster_registries.yml": { - /** - * @description An array containing the UUIDs of Kubernetes clusters. - * @example [ - * "bd5f5959-5e1e-4205-a714-a914373942af", - * "50c2f44c-011d-493e-aee5-361a4a0d1844" - * ] - */ - cluster_uuids?: string[]; - }; - "resources/kubernetes/models/cluster_update.yml": { - /** - * @description A human-readable name for a Kubernetes cluster. - * @example prod-cluster-01 - */ - name: string; - /** - * @description An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. - * @example [ - * "k8s", - * "k8s:bd5f5959-5e1e-4205-a714-a914373942af", - * "production", - * "web-team" - * ] - */ - tags?: string[]; - maintenance_policy?: external["resources/kubernetes/models/maintenance_policy.yml"]; - /** - * @description A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. - * @default false - * @example true - */ - auto_upgrade?: boolean; - /** - * @description A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. - * @default false - * @example true - */ - surge_upgrade?: boolean; - /** - * @description A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. - * @default false - * @example true - */ - ha?: boolean; - }; - "resources/kubernetes/models/cluster.yml": { - /** - * Format: uuid - * @description A unique ID that can be used to identify and reference a Kubernetes cluster. - * @example bd5f5959-5e1e-4205-a714-a914373942af - */ - id?: string; - /** - * @description A human-readable name for a Kubernetes cluster. - * @example prod-cluster-01 - */ - name: string; - /** - * @description The slug identifier for the region where the Kubernetes cluster is located. - * @example nyc1 - */ - region: string; - /** - * @description The slug identifier for the version of Kubernetes used for the cluster. If set to a minor version (e.g. "1.14"), the latest version within it will be used (e.g. "1.14.6-do.1"); if set to "latest", the latest published version will be used. See the `/v2/kubernetes/options` endpoint to find all currently available versions. - * @example 1.18.6-do.0 - */ - version: string; - /** - * Format: cidr - * @description The range of IP addresses in the overlay network of the Kubernetes cluster in CIDR notation. - * @example 10.244.0.0/16 - */ - cluster_subnet?: string; - /** - * @description The range of assignable IP addresses for services running in the Kubernetes cluster in CIDR notation. - * @example 10.245.0.0/16 - */ - service_subnet?: string; - /** - * Format: uuid - * @description A string specifying the UUID of the VPC to which the Kubernetes cluster is assigned. - * @example c33931f2-a26a-4e61-b85c-4e95a2ec431b - */ - vpc_uuid?: string; - /** - * @description The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+) - * @example 68.183.121.157 - */ - ipv4?: string; - /** - * @description The base URL of the API server on the Kubernetes master node. - * @example https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com - */ - endpoint?: string; - /** - * @description An array of tags applied to the Kubernetes cluster. All clusters are automatically tagged `k8s` and `k8s:$K8S_CLUSTER_ID`. - * @example [ - * "k8s", - * "k8s:bd5f5959-5e1e-4205-a714-a914373942af", - * "production", - * "web-team" - * ] - */ - tags?: string[]; - /** @description An object specifying the details of the worker nodes available to the Kubernetes cluster. */ - node_pools: external["resources/kubernetes/models/node_pool.yml"]["kubernetes_node_pool"][]; - maintenance_policy?: external["resources/kubernetes/models/maintenance_policy.yml"]; - /** - * @description A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window. - * @default false - * @example true - */ - auto_upgrade?: boolean; - /** @description An object containing a `state` attribute whose value is set to a string indicating the current status of the cluster. */ - status?: { - /** - * @description A string indicating the current status of the cluster. - * @example provisioning - * @enum {string} - */ - readonly state?: "running" | "provisioning" | "degraded" | "error" | "deleted" | "upgrading" | "deleting"; - /** - * @description An optional message providing additional information about the current cluster state. - * @example provisioning - */ - readonly message?: string; - }; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was created. - * @example 2018-11-15T16:00:11Z - */ - created_at?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the Kubernetes cluster was last updated. - * @example 2018-11-15T16:00:11Z - */ - updated_at?: string; - /** - * @description A boolean value indicating whether surge upgrade is enabled/disabled for the cluster. Surge upgrade makes cluster upgrades fast and reliable by bringing up new nodes before destroying the outdated nodes. - * @default false - * @example true - */ - surge_upgrade?: boolean; - /** - * @description A boolean value indicating whether the control plane is run in a highly available configuration in the cluster. Highly available control planes incur less downtime. The property cannot be disabled. - * @default false - * @example true - */ - ha?: boolean; - /** - * @description A read-only boolean value indicating if a container registry is integrated with the cluster. - * @example true - */ - registry_enabled?: boolean; - }; - "resources/kubernetes/models/clusterlint_request.yml": { - /** - * @description An array of check groups that will be run when clusterlint executes checks. - * @example [ - * "basic", - * "doks", - * "security" - * ] - */ - include_groups?: string[]; - /** - * @description An array of checks that will be run when clusterlint executes checks. - * @example [ - * "bare-pods", - * "resource-requirements" - * ] - */ - include_checks?: string[]; - /** - * @description An array of check groups that will be omitted when clusterlint executes checks. - * @example [ - * "workload-health" - * ] - */ - exclude_groups?: string[]; - /** - * @description An array of checks that will be run when clusterlint executes checks. - * @example [ - * "default-namespace" - * ] - */ - exclude_checks?: string[]; - }; - "resources/kubernetes/models/clusterlint_results.yml": { - /** - * @description Id of the clusterlint run that can be used later to fetch the diagnostics. - * @example 50c2f44c-011d-493e-aee5-361a4a0d1844 - */ - run_id?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was made. - * @example 2019-10-30T05:34:07Z - */ - requested_at?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the schedule clusterlint run request was completed. - * @example 2019-10-30T05:34:11Z - */ - completed_at?: string; - /** @description An array of diagnostics reporting potential problems for the given cluster. */ - diagnostics?: { - /** - * @description The clusterlint check that resulted in the diagnostic. - * @example unused-config-map - */ - check_name?: string; - /** - * @description Can be one of error, warning or suggestion. - * @example warning - */ - severity?: string; - /** - * @description Feedback about the object for users to fix. - * @example Unused config map - */ - message?: string; - /** @description Metadata about the Kubernetes API object the diagnostic is reported on. */ - object?: { - /** - * @description Name of the object - * @example foo - */ - name?: string; - /** - * @description The kind of Kubernetes API object - * @example config map - */ - kind?: string; - /** - * @description The namespace the object resides in the cluster. - * @example kube-system - */ - namespace?: string; - }; - }[]; - }; - "resources/kubernetes/models/credentials.yml": { - /** - * Format: uri - * @description The URL used to access the cluster API server. - * @example https://bd5f5959-5e1e-4205-a714-a914373942af.k8s.ondigitalocean.com - */ - server?: string; - /** - * Format: byte - * @description A base64 encoding of bytes representing the certificate authority data for accessing the cluster. - * @example LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURKekNDQWcrZ0F3SUJBZ0lDQm5Vd0RRWUpLb1pJaHZjTkFRRUxCUUF3TXpFVk1CTUdBMVVFQ2hNTVJHbG4KYVhSaGJFOWpaV0Z1TVJvd0dBWURWUVFERXhGck9ITmhZWE1nUTJ4MWMzUmxjaUJEUVRBZUZ3MHlNREE0TURNeApOVEkxTWpoYUZ3MDBNREE0TURNeE5USTFNamhhTURNeEZUQVRCZ05WQkFvVERFUnBaMmwwWVd4UFkyVmhiakVhCk1CZ0dBMVVFQXhNUmF6aHpZV0Z6SUVOc2RYTjBaWElnUTBFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUIKRHdBd2dnRUtBb0lCQVFDc21oa2JrSEpUcGhZQlN0R05VVE1ORVZTd2N3bmRtajArelQvcUZaNGsrOVNxUnYrSgpBd0lCaGpBU0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdFQU1CMEdBMVVkRGdRV0JCUlRzazhhZ1hCUnFyZXdlTXJxClhwa3E1NXg5dVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXB6V2F6bXNqYWxXTEx3ZjVpbWdDblNINDlKcGkKYWkvbzFMdEJvVEpleGdqZzE1ZVppaG5BMUJMc0lWNE9BZGM3UEFsL040L0hlbENrTDVxandjamRnNVdaYnMzYwozcFVUQ0g5bVVwMFg1SVdhT1VKV292Q1hGUlM1R2VKYXlkSDVPUXhqTURzR2N2UlNvZGQrVnQ2MXE3aWdFZ2I1CjBOZ1l5RnRnc2p0MHpJN3hURzZFNnlsOVYvUmFoS3lIQks2eExlM1RnUGU4SXhWa2RwT3QzR0FhSDRaK0pLR3gKYisyMVZia1NnRE1QQTlyR0VKNVZwVXlBV0FEVXZDRVFHV0hmNGpQN2ZGZlc3T050S0JWY3h3YWFjcVBVdUhzWApwRG5DZVR3V1NuUVp6L05xNmQxWUtsMFdtbkwzTEowemJzRVFGbEQ4MkkwL09MY2dZSDVxMklOZHhBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= - */ - certificate_authority_data?: string; - /** - * Format: byte - * @deprecated - * @description A base64 encoding of bytes representing the x509 client - * certificate data for access the cluster. This is only returned for clusters - * without support for token-based authentication. - * - * Newly created Kubernetes clusters do not return credentials using - * certificate-based authentication. For additional information, - * [see here](https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/#authenticate). - * - * @example null - */ - client_certificate_data?: string | null; - /** - * Format: byte - * @deprecated - * @description A base64 encoding of bytes representing the x509 client key - * data for access the cluster. This is only returned for clusters without - * support for token-based authentication. - * - * Newly created Kubernetes clusters do not return credentials using - * certificate-based authentication. For additional information, - * [see here](https://www.digitalocean.com/docs/kubernetes/how-to/connect-to-cluster/#authenticate). - * - * @example null - */ - client_key_data?: string | null; - /** - * @description An access token used to authenticate with the cluster. This is only returned for clusters with support for token-based authentication. - * @example $DIGITALOCEAN_TOKEN - */ - token?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the access token expires. - * @example "2019-11-09T11:50:28.889Z" - */ - expires_at?: string; - }; - "resources/kubernetes/models/maintenance_policy.yml": ({ - /** - * @description The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., `15:00`). - * @example 12:00 - */ - start_time?: string; - /** - * @description The duration of the maintenance window policy in human-readable format. - * @example 4h0m0s - */ - duration?: string; - /** - * @description The day of the maintenance window policy. May be one of `monday` through `sunday`, or `any` to indicate an arbitrary week day. - * @example any - * @enum {string} - */ - day?: "any" | "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; - }) | null; - "resources/kubernetes/models/node_pool.yml": unknown; - "resources/kubernetes/models/node.yml": { - /** - * Format: uuid - * @description A unique ID that can be used to identify and reference the node. - * @example e78247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f - */ - id?: string; - /** - * @description An automatically generated, human-readable name for the node. - * @example adoring-newton-3niq - */ - name?: string; - /** @description An object containing a `state` attribute whose value is set to a string indicating the current status of the node. */ - status?: { - /** - * @description A string indicating the current status of the node. - * @example provisioning - * @enum {string} - */ - state?: "provisioning" | "running" | "draining" | "deleting"; - }; - /** - * @description The ID of the Droplet used for the worker node. - * @example 205545370 - */ - droplet_id?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the node was created. - * @example 2018-11-15T16:00:11Z - */ - created_at?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the node was last updated. - * @example 2018-11-15T16:00:11Z - */ - updated_at?: string; - }; - "resources/kubernetes/models/options.yml": { - kubernetes_options: { - options?: { - regions?: external["resources/kubernetes/models/options.yml"]["kubernetes_region"][]; - versions?: external["resources/kubernetes/models/options.yml"]["kubernetes_version"][]; - sizes?: external["resources/kubernetes/models/options.yml"]["kubernetes_size"][]; - }; - }; - kubernetes_version: { - /** - * @description The slug identifier for an available version of Kubernetes for use when creating or updating a cluster. The string contains both the upstream version of Kubernetes as well as the DigitalOcean revision. - * @example 1.16.13-do.0 - */ - slug?: string; - /** - * @description The upstream version string for the version of Kubernetes provided by a given slug. - * @example 1.16.13 - */ - kubernetes_version?: string; - /** - * @description The features available with the version of Kubernetes provided by a given slug. - * @example [ - * "cluster-autoscaler", - * "docr-integration", - * "token-authentication" - * ] - */ - supported_features?: string[]; - }; - kubernetes_region: { - /** - * @description A DigitalOcean region where Kubernetes is available. - * @example New York 3 - */ - name?: string; - /** - * @description The identifier for a region for use when creating a new cluster. - * @example nyc3 - */ - slug?: string; - }; - kubernetes_size: { - /** - * @description A Droplet size available for use in a Kubernetes node pool. - * @example s-1vcpu-2gb - */ - name?: string; - /** - * @description The identifier for a size for use when creating a new cluster. - * @example s-1vcpu-2gb - */ - slug?: string; - }; - }; - "resources/kubernetes/models/user.yml": { - kubernetes_cluster_user?: { - /** - * Format: email - * @description The username for the cluster admin user. - * @example sammy@digitalocean.com - */ - username?: string; - /** - * @description A list of in-cluster groups that the user belongs to. - * @example [ - * "k8saas:authenticated" - * ] - */ - groups?: string[]; - }; - }; - "resources/kubernetes/parameters.yml": { - kubernetes_cluster_id: string; - kubernetes_node_pool_id: string; - kubernetes_node_id: string; - kubernetes_expiry_seconds?: number; - clusterlint_run_id?: string; - kubernetes_node_skip_drain?: number; - kubernetes_node_replace?: number; - }; - "resources/kubernetes/responses/all_clusters.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + certificates_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_certificates"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - kubernetes_clusters?: external["resources/kubernetes/models/cluster.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + certificates_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["certificate_request_lets_encrypt"] | components["schemas"]["certificate_request_custom"]; + }; + }; + responses: { + 201: components["responses"]["new_certificate"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/all_node_pools.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + certificates_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a certificate. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + certificate_id: components["parameters"]["certificate_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_certificate"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - node_pools?: external["resources/kubernetes/models/node_pool.yml"]["kubernetes_node_pool"][]; - }; + certificates_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a certificate. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + certificate_id: components["parameters"]["certificate_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/all_options.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + balance_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["balance"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/kubernetes/models/options.yml"]["kubernetes_options"]; + billingHistory_list: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["billing_history"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/associated_kubernetes_resources_list.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + invoices_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["invoices"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/kubernetes/models/associated_kubernetes_resources.yml"]["associated_kubernetes_resources"]; + invoices_get_byUUID: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description UUID of the invoice + * @example 22737513-0ea7-4206-8ceb-98a575af7681 + */ + invoice_uuid: components["parameters"]["invoice_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["invoice"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/available_upgrades.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + invoices_get_csvByUUID: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description UUID of the invoice + * @example 22737513-0ea7-4206-8ceb-98a575af7681 + */ + invoice_uuid: components["parameters"]["invoice_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["invoice_csv"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - available_upgrade_versions?: external["resources/kubernetes/models/options.yml"]["kubernetes_version"][] | null; - }; + invoices_get_pdfByUUID: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description UUID of the invoice + * @example 22737513-0ea7-4206-8ceb-98a575af7681 + */ + invoice_uuid: components["parameters"]["invoice_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["invoice_pdf"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/cluster_create.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + invoices_get_summaryByUUID: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description UUID of the invoice + * @example 22737513-0ea7-4206-8ceb-98a575af7681 + */ + invoice_uuid: components["parameters"]["invoice_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["invoice_summary"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; + }; + databases_list_options: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["options"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - kubernetes_cluster?: external["resources/kubernetes/models/cluster.yml"]; - }; + databases_list_clusters: { + parameters: { + query?: { + /** + * @description Limits the results to database clusters with a specific tag. + * @example production + */ + tag_name?: components["parameters"]["tag_name"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["database_clusters"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/cluster_user.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + databases_create_cluster: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["database_cluster"] & { + backup_restore?: components["schemas"]["database_backup"]; + }; + }; + }; + responses: { + 201: components["responses"]["database_cluster"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/kubernetes/models/user.yml"]; + databases_get_cluster: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["database_cluster"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/clusterlint_results.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + databases_destroy_cluster: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/kubernetes/models/clusterlint_results.yml"]; + databases_get_config: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["database_config"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/clusterlint_run.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + databases_patch_config: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "config": { + * "sql_mode": "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_ALL_TABLES", + * "sql_require_primary_key": true + * } + * } */ + "application/json": components["schemas"]["database_config"]; + }; + }; + responses: { + 200: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - /** - * @description ID of the clusterlint run that can be used later to fetch the diagnostics. - * @example 50c2f44c-011d-493e-aee5-361a4a0d1844 - */ - run_id?: string; - }; + databases_get_ca: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["ca"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/credentials.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + databases_get_migrationStatus: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["online_migration"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/kubernetes/models/credentials.yml"]; + databases_update_onlineMigration: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "source": { + * "host": "source-do-user-6607903-0.b.db.ondigitalocean.com", + * "dbname": "defaultdb", + * "port": 25060, + * "username": "doadmin", + * "password": "paakjnfe10rsrsmf" + * }, + * "disable_ssl": false + * } */ + "application/json": components["schemas"]["source_database"]; + }; + }; + responses: { + 200: components["responses"]["online_migration"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/examples.yml": unknown - "resources/kubernetes/responses/existing_cluster.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + databases_delete_onlineMigration: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description A unique identifier assigned to the online migration. + * @example 77b28fc8-19ff-11eb-8c9c-c68e24557488 + */ + migration_id: components["parameters"]["migration_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - kubernetes_cluster?: external["resources/kubernetes/models/cluster.yml"]; - }; + databases_update_region: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A slug identifier for the region to which the database cluster will be migrated. + * @example lon1 + */ + region: string; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/existing_node_pool.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + databases_update_clusterSize: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "size": "db-s-4vcpu-8gb", + * "num_nodes": 3 + * } */ + "application/json": components["schemas"]["database_cluster_resize"]; + }; + }; + responses: { + 202: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - node_pool?: external["resources/kubernetes/models/node_pool.yml"]["kubernetes_node_pool"]; - }; + databases_list_firewall_rules: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["firewall_rules"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/kubeconfig.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + databases_update_firewall_rules: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "rules": [ + * { + * "type": "ip_addr", + * "value": "192.168.1.1" + * }, + * { + * "type": "k8s", + * "value": "ff2a6c52-5a44-4b63-b99c-0e98e7a63d61" + * }, + * { + * "type": "droplet", + * "value": "163973392" + * }, + * { + * "type": "tag", + * "value": "backend" + * } + * ] + * } */ + "application/json": { + rules?: components["schemas"]["firewall_rule"][]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/yaml": unknown; + databases_update_maintenanceWindow: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "day": "tuesday", + * "hour": "14:00" + * } */ + "application/json": components["schemas"]["database_maintenance_window"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/node_pool_create.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + databases_list_backups: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["database_backups"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - node_pool?: external["resources/kubernetes/models/node_pool.yml"]["kubernetes_node_pool"]; - }; + databases_list_replicas: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["database_replicas"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/node_pool_update.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + databases_create_replica: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "name": "read-nyc3-01", + * "region": "nyc3", + * "size": "db-s-2vcpu-4gb" + * } */ + "application/json": WithRequired; + }; + }; + responses: { + 201: components["responses"]["database_replica"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - node_pool?: external["resources/kubernetes/models/node_pool.yml"]["kubernetes_node_pool"]; - }; + databases_get_replica: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name of the database replica. + * @example read-nyc3-01 + */ + replica_name: components["parameters"]["replica_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["database_replica"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/kubernetes/responses/updated_cluster.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - kubernetes_cluster?: external["resources/kubernetes/models/cluster.yml"]; - }; - }; - }; - "resources/load_balancers/examples.yml": unknown - /** - * Add Droplets to a Load Balancer - * @description To assign a Droplet to a load balancer instance, send a POST request to - * `/v2/load_balancers/$LOAD_BALANCER_ID/droplets`. In the body of the request, - * there should be a `droplet_ids` attribute containing a list of Droplet IDs. - * Individual Droplets can not be added to a load balancer configured with a - * Droplet tag. Attempting to do so will result in a "422 Unprocessable Entity" - * response from the API. - * - * No response body will be sent back, but the response code will indicate - * success. Specifically, the response code will be a 204, which means that the - * action was successful with no returned body data. - */ - "resources/load_balancers/loadBalancers_add_droplets.yml": { - parameters: { - path: { - lb_id: external["resources/load_balancers/parameters.yml"]["load_balancer_id"]; - }; + databases_destroy_replica: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name of the database replica. + * @example read-nyc3-01 + */ + replica_name: components["parameters"]["replica_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": { - $ref?: external["resources/load_balancers/models/attributes.yml"]["load_balancer_droplet_ids"]; + databases_promote_replica: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name of the database replica. + * @example read-nyc3-01 + */ + replica_name: components["parameters"]["replica_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; }; - }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Add Forwarding Rules to a Load Balancer - * @description To add an additional forwarding rule to a load balancer instance, send a POST - * request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In the body - * of the request, there should be a `forwarding_rules` attribute containing an - * array of rules to be added. - * - * No response body will be sent back, but the response code will indicate - * success. Specifically, the response code will be a 204, which means that the - * action was successful with no returned body data. - */ - "resources/load_balancers/loadBalancers_add_forwardingRules.yml": { - parameters: { - path: { - lb_id: external["resources/load_balancers/parameters.yml"]["load_balancer_id"]; - }; + databases_list_users: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["users"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": { - forwarding_rules: external["resources/load_balancers/models/forwarding_rule.yml"][]; + databases_add_user: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["database_user"] & { + /** + * @description For MongoDB clusters, set to `true` to create a read-only user. + * This option is not currently supported for other database engines. + * + * @example true + */ + readonly?: boolean; + }; + }; + }; + responses: { + 201: components["responses"]["user"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; }; - }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a New Load Balancer - * @description To create a new load balancer instance, send a POST request to - * `/v2/load_balancers`. - * - * You can specify the Droplets that will sit behind the load balancer using one - * of two methods: - * - * * Set `droplet_ids` to a list of specific Droplet IDs. - * * Set `tag` to the name of a tag. All Droplets with this tag applied will be - * assigned to the load balancer. Additional Droplets will be automatically - * assigned as they are tagged. - * - * These methods are mutually exclusive. - */ - "resources/load_balancers/loadBalancers_create.yml": { - requestBody: { - content: { - "application/json": external["resources/load_balancers/models/load_balancer_create.yml"]; - }; + databases_get_user: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name of the database user. + * @example app-01 + */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["user"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 202: external["resources/load_balancers/responses/load_balancer_create.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Load Balancer - * @description To delete a load balancer instance, disassociating any Droplets assigned to it - * and removing it from your account, send a DELETE request to - * `/v2/load_balancers/$LOAD_BALANCER_ID`. - * - * A successful request will receive a 204 status code with no body in response. - * This indicates that the request was processed successfully. - */ - "resources/load_balancers/loadBalancers_delete.yml": { - parameters: { - path: { - lb_id: external["resources/load_balancers/parameters.yml"]["load_balancer_id"]; - }; + databases_delete_user: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name of the database user. + * @example app-01 + */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Load Balancer - * @description To show information about a load balancer instance, send a GET request to - * `/v2/load_balancers/$LOAD_BALANCER_ID`. - */ - "resources/load_balancers/loadBalancers_get.yml": { - parameters: { - path: { - lb_id: external["resources/load_balancers/parameters.yml"]["load_balancer_id"]; - }; + databases_reset_auth: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name of the database user. + * @example app-01 + */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "mysql_settings": { + * "auth_plugin": "caching_sha2_password" + * } + * } */ + "application/json": { + mysql_settings?: components["schemas"]["mysql_settings"]; + }; + }; + }; + responses: { + 200: components["responses"]["user"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/load_balancers/responses/existing_load_balancer.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Load Balancers - * @description To list all of the load balancer instances on your account, send a GET request - * to `/v2/load_balancers`. - */ - "resources/load_balancers/loadBalancers_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + databases_list: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["databases"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/load_balancers/responses/all_load_balancers.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Remove Droplets from a Load Balancer - * @description To remove a Droplet from a load balancer instance, send a DELETE request to - * `/v2/load_balancers/$LOAD_BALANCER_ID/droplets`. In the body of the request, - * there should be a `droplet_ids` attribute containing a list of Droplet IDs. - * - * No response body will be sent back, but the response code will indicate - * success. Specifically, the response code will be a 204, which means that the - * action was successful with no returned body data. - */ - "resources/load_balancers/loadBalancers_remove_droplets.yml": { - parameters: { - path: { - lb_id: external["resources/load_balancers/parameters.yml"]["load_balancer_id"]; - }; + databases_add: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "name": "alpha" + * } */ + "application/json": components["schemas"]["database"]; + }; + }; + responses: { + 201: components["responses"]["database"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": { - $ref?: external["resources/load_balancers/models/attributes.yml"]["load_balancer_droplet_ids"]; + databases_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name of the database. + * @example alpha + */ + database_name: components["parameters"]["database_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["database"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; }; - }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Remove Forwarding Rules from a Load Balancer - * @description To remove forwarding rules from a load balancer instance, send a DELETE - * request to `/v2/load_balancers/$LOAD_BALANCER_ID/forwarding_rules`. In the - * body of the request, there should be a `forwarding_rules` attribute containing - * an array of rules to be removed. - * - * No response body will be sent back, but the response code will indicate - * success. Specifically, the response code will be a 204, which means that the - * action was successful with no returned body data. - */ - "resources/load_balancers/loadBalancers_remove_forwardingRules.yml": { - parameters: { - path: { - lb_id: external["resources/load_balancers/parameters.yml"]["load_balancer_id"]; - }; + databases_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name of the database. + * @example alpha + */ + database_name: components["parameters"]["database_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": { - forwarding_rules: external["resources/load_balancers/models/forwarding_rule.yml"][]; + databases_list_connectionPools: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["connection_pools"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; }; - }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update a Load Balancer - * @description To update a load balancer's settings, send a PUT request to - * `/v2/load_balancers/$LOAD_BALANCER_ID`. The request should contain a full - * representation of the load balancer including existing attributes. It may - * contain _one of_ the `droplets_ids` or `tag` attributes as they are mutually - * exclusive. **Note that any attribute that is not provided will be reset to its - * default value.** - */ - "resources/load_balancers/loadBalancers_update.yml": { - parameters: { - path: { - lb_id: external["resources/load_balancers/parameters.yml"]["load_balancer_id"]; - }; + databases_add_connectionPool: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "name": "backend-pool", + * "mode": "transaction", + * "size": 10, + * "db": "defaultdb", + * "user": "doadmin" + * } */ + "application/json": components["schemas"]["connection_pool"]; + }; + }; + responses: { + 201: components["responses"]["connection_pool"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/load_balancers/models/load_balancer_create.yml"]; - }; + databases_get_connectionPool: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name used to identify the connection pool. + * @example backend-pool + */ + pool_name: components["parameters"]["pool_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["connection_pool"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/load_balancers/responses/updated_load_balancer.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/load_balancers/models/attributes.yml": unknown; - "resources/load_balancers/models/forwarding_rule.yml": { - /** - * @description The protocol used for traffic to the load balancer. The possible values are: `http`, `https`, `http2`, `http3`, `tcp`, or `udp`. If you set the `entry_protocol` to `udp`, the `target_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. - * - * @example https - * @enum {string} - */ - entry_protocol: "http" | "https" | "http2" | "http3" | "tcp" | "udp"; - /** - * @description An integer representing the port on which the load balancer instance will listen. - * @example 443 - */ - entry_port: number; - /** - * @description The protocol used for traffic from the load balancer to the backend Droplets. The possible values are: `http`, `https`, `http2`, `tcp`, or `udp`. If you set the `target_protocol` to `udp`, the `entry_protocol` must be set to `udp`. When using UDP, the load balancer requires that you set up a health check with a port that uses TCP, HTTP, or HTTPS to work properly. - * - * @example http - * @enum {string} - */ - target_protocol: "http" | "https" | "http2" | "tcp" | "udp"; - /** - * @description An integer representing the port on the backend Droplets to which the load balancer will send traffic. - * @example 80 - */ - target_port: number; - /** - * @description The ID of the TLS certificate used for SSL termination if enabled. - * @example 892071a0-bb95-49bc-8021-3afd67a210bf - */ - certificate_id?: string; - /** - * @description A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. - * @example false - */ - tls_passthrough?: boolean; - }; - "resources/load_balancers/models/health_check.yml": { - /** - * @description The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https`, or `tcp`. - * @default http - * @example http - * @enum {string} - */ - protocol?: "http" | "https" | "tcp"; - /** - * @description An integer representing the port on the backend Droplets on which the health check will attempt a connection. - * @default 80 - * @example 80 - */ - port?: number; - /** - * @description The path on the backend Droplets to which the load balancer instance will send a request. - * @default / - * @example / - */ - path?: string; - /** - * @description The number of seconds between between two consecutive health checks. - * @default 10 - * @example 10 - */ - check_interval_seconds?: number; - /** - * @description The number of seconds the load balancer instance will wait for a response until marking a health check as failed. - * @default 5 - * @example 5 - */ - response_timeout_seconds?: number; - /** - * @description The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. - * @default 5 - * @example 5 - */ - unhealthy_threshold?: number; - /** - * @description The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. - * @default 3 - * @example 3 - */ - healthy_threshold?: number; - }; - "resources/load_balancers/models/lb_firewall.yml": { - /** - * @description the rules for denying traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') - * @default [] - * @example [ - * "ip:1.2.3.4", - * "cidr:2.3.0.0/16" - * ] - */ - deny?: string[]; - /** - * @description the rules for allowing traffic to the load balancer (in the form 'ip:1.2.3.4' or 'cidr:1.2.0.0/16') - * @default [] - * @example [ - * "ip:1.2.3.4", - * "cidr:2.3.0.0/16" - * ] - */ - allow?: string[]; - }; - "resources/load_balancers/models/load_balancer_base.yml": { - /** - * Format: uuid - * @description A unique ID that can be used to identify and reference a load balancer. - * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 - */ - id?: string; - /** - * @description A human-readable name for a load balancer instance. - * @example example-lb-01 - */ - name?: string; - /** - * @description The ID of the project that the load balancer is associated with. If no ID is provided at creation, the load balancer associates with the user's default project. If an invalid project ID is provided, the load balancer will not be created. - * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 - */ - project_id?: string; - /** - * @description An attribute containing the public-facing IP address of the load balancer. - * @example 104.131.186.241 - */ - ip?: string; - /** - * @description How many nodes the load balancer contains. Each additional node increases the load balancer's ability to manage more connections. Load balancers can be scaled up or down, and you can change the number of nodes after creation up to once per hour. This field is currently not available in the AMS2, NYC2, or SFO1 regions. Use the `size` field to scale load balancers that reside in these regions. - * @default 1 - * @example 3 - */ - size_unit?: number; - /** - * @deprecated - * @description This field has been replaced by the `size_unit` field for all regions except in AMS2, NYC2, and SFO1. Each available load balancer size now equates to the load balancer having a set number of nodes. - * * `lb-small` = 1 node - * * `lb-medium` = 3 nodes - * * `lb-large` = 6 nodes - * - * You can resize load balancers after creation up to once per hour. You cannot resize a load balancer within the first hour of its creation. - * @default lb-small - * @example lb-small - * @enum {string} - */ - size?: "lb-small" | "lb-medium" | "lb-large"; - /** - * @deprecated - * @description This field has been deprecated. You can no longer specify an algorithm for load balancers. - * @default round_robin - * @example round_robin - * @enum {string} - */ - algorithm?: "round_robin" | "least_connections"; - /** - * @description A status string indicating the current state of the load balancer. This can be `new`, `active`, or `errored`. - * @example new - * @enum {string} - */ - status?: "new" | "active" | "errored"; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the load balancer was created. - * @example 2017-02-01T22:22:58Z - */ - created_at?: string; - /** @description An array of objects specifying the forwarding rules for a load balancer. */ - forwarding_rules: external["resources/load_balancers/models/forwarding_rule.yml"][]; - health_check?: external["resources/load_balancers/models/health_check.yml"]; - sticky_sessions?: external["resources/load_balancers/models/sticky_sessions.yml"]; - /** - * @description A boolean value indicating whether HTTP requests to the load balancer on port 80 will be redirected to HTTPS on port 443. - * @default false - * @example true - */ - redirect_http_to_https?: boolean; - /** - * @description A boolean value indicating whether PROXY Protocol is in use. - * @default false - * @example true - */ - enable_proxy_protocol?: boolean; - /** - * @description A boolean value indicating whether HTTP keepalive connections are maintained to target Droplets. - * @default false - * @example true - */ - enable_backend_keepalive?: boolean; - /** - * @description An integer value which configures the idle timeout for HTTP requests to the target droplets. - * @default 60 - * @example 90 - */ - http_idle_timeout_seconds?: number; - /** - * Format: uuid - * @description A string specifying the UUID of the VPC to which the load balancer is assigned. - * @example c33931f2-a26a-4e61-b85c-4e95a2ec431b - */ - vpc_uuid?: string; - /** - * @description A boolean value indicating whether to disable automatic DNS record creation for Let's Encrypt certificates that are added to the load balancer. - * @default false - * @example true - */ - disable_lets_encrypt_dns_records?: boolean; - firewall?: external["resources/load_balancers/models/lb_firewall.yml"]; - }; - "resources/load_balancers/models/load_balancer_create.yml": OneOf<[WithRequired<{ - $ref?: external["resources/load_balancers/models/attributes.yml"]["load_balancer_droplet_ids"]; - } & { - region?: external["shared/attributes/region_slug.yml"]; - } & external["resources/load_balancers/models/load_balancer_base.yml"], "droplet_ids" | "region">, WithRequired<{ - $ref?: external["resources/load_balancers/models/attributes.yml"]["load_balancer_droplet_tag"]; - } & { - region?: external["shared/attributes/region_slug.yml"]; - } & external["resources/load_balancers/models/load_balancer_base.yml"], "tag" | "region">]>; - "resources/load_balancers/models/load_balancer.yml": external["resources/load_balancers/models/load_balancer_base.yml"] & { - region?: external["resources/regions/models/region.yml"]; - } & { - $ref?: external["resources/load_balancers/models/attributes.yml"]["load_balancer_droplet_ids"]; - } & { - $ref?: external["resources/load_balancers/models/attributes.yml"]["load_balancer_droplet_tag"]; - }; - "resources/load_balancers/models/sticky_sessions.yml": { - /** - * @description An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. - * @default none - * @example cookies - * @enum {string} - */ - type?: "cookies" | "none"; - /** - * @description The name of the cookie sent to the client. This attribute is only returned when using `cookies` for the sticky sessions type. - * @example DO-LB - */ - cookie_name?: string; - /** - * @description The number of seconds until the cookie set by the load balancer expires. This attribute is only returned when using `cookies` for the sticky sessions type. - * @example 300 - */ - cookie_ttl_seconds?: number; - }; - "resources/load_balancers/parameters.yml": { - load_balancer_id: string; - }; - "resources/load_balancers/responses/all_load_balancers.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - load_balancers?: external["resources/load_balancers/models/load_balancer.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/load_balancers/responses/examples.yml": unknown - "resources/load_balancers/responses/existing_load_balancer.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + databases_update_connectionPool: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name used to identify the connection pool. + * @example backend-pool + */ + pool_name: components["parameters"]["pool_name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "mode": "transaction", + * "size": 10, + * "db": "defaultdb", + * "user": "doadmin" + * } */ + "application/json": components["schemas"]["connection_pool_update"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - load_balancer?: external["resources/load_balancers/models/load_balancer.yml"]; - }; + databases_delete_connectionPool: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + /** + * @description The name used to identify the connection pool. + * @example backend-pool + */ + pool_name: components["parameters"]["pool_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/load_balancers/responses/load_balancer_create.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + databases_get_evictionPolicy: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["eviction_policy_response"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - load_balancer?: external["resources/load_balancers/models/load_balancer.yml"]; - }; + databases_update_evictionPolicy: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "eviction_policy": "allkeys_lru" + * } */ + "application/json": { + eviction_policy: components["schemas"]["eviction_policy_model"]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/load_balancers/responses/updated_load_balancer.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - load_balancer?: external["resources/load_balancers/models/load_balancer.yml"]; - }; - }; - }; - "resources/monitoring/models/alert_policy_request.yml": { - alerts: external["resources/monitoring/models/alerts.yml"]; - /** - * @example GreaterThan - * @enum {string} - */ - compare: "GreaterThan" | "LessThan"; - /** @example CPU Alert */ - description: string; - /** @example true */ - enabled: boolean; - /** - * @example [ - * "192018292" - * ] - */ - entities: string[]; - /** - * @example [ - * "droplet_tag" - * ] - */ - tags: string[]; - /** - * @example v1/insights/droplet/cpu - * @enum {string} - */ - type: "v1/insights/droplet/load_1" | "v1/insights/droplet/load_5" | "v1/insights/droplet/load_15" | "v1/insights/droplet/memory_utilization_percent" | "v1/insights/droplet/disk_utilization_percent" | "v1/insights/droplet/cpu" | "v1/insights/droplet/disk_read" | "v1/insights/droplet/disk_write" | "v1/insights/droplet/public_outbound_bandwidth" | "v1/insights/droplet/public_inbound_bandwidth" | "v1/insights/droplet/private_outbound_bandwidth" | "v1/insights/droplet/private_inbound_bandwidth" | "v1/insights/lbaas/avg_cpu_utilization_percent" | "v1/insights/lbaas/connection_utilization_percent" | "v1/insights/lbaas/droplet_health" | "v1/insights/lbaas/tls_connections_per_second_utilization_percent" | "v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx" | "v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx" | "v1/insights/lbaas/increase_in_http_error_rate_count_5xx" | "v1/insights/lbaas/increase_in_http_error_rate_count_4xx" | "v1/insights/lbaas/high_http_request_response_time" | "v1/insights/lbaas/high_http_request_response_time_50p" | "v1/insights/lbaas/high_http_request_response_time_95p" | "v1/insights/lbaas/high_http_request_response_time_99p" | "v1/dbaas/alerts/load_15_alerts" | "v1/dbaas/alerts/memory_utilization_alerts" | "v1/dbaas/alerts/disk_utilization_alerts" | "v1/dbaas/alerts/cpu_alerts"; - /** - * Format: float - * @example 80 - */ - value: number; - /** - * @example 5m - * @enum {string} - */ - window: "5m" | "10m" | "30m" | "1h"; - }; - "resources/monitoring/models/alert_policy.yml": { - alerts: external["resources/monitoring/models/alerts.yml"]; - /** - * @example GreaterThan - * @enum {string} - */ - compare: "GreaterThan" | "LessThan"; - /** @example CPU Alert */ - description: string; - /** @example true */ - enabled: boolean; - /** - * @example [ - * "192018292" - * ] - */ - entities: string[]; - /** - * @example [ - * "droplet_tag" - * ] - */ - tags: string[]; - /** - * @example v1/insights/droplet/cpu - * @enum {string} - */ - type: "v1/insights/droplet/load_1" | "v1/insights/droplet/load_5" | "v1/insights/droplet/load_15" | "v1/insights/droplet/memory_utilization_percent" | "v1/insights/droplet/disk_utilization_percent" | "v1/insights/droplet/cpu" | "v1/insights/droplet/disk_read" | "v1/insights/droplet/disk_write" | "v1/insights/droplet/public_outbound_bandwidth" | "v1/insights/droplet/public_inbound_bandwidth" | "v1/insights/droplet/private_outbound_bandwidth" | "v1/insights/droplet/private_inbound_bandwidth" | "v1/insights/lbaas/avg_cpu_utilization_percent" | "v1/insights/lbaas/connection_utilization_percent" | "v1/insights/lbaas/droplet_health" | "v1/insights/lbaas/tls_connections_per_second_utilization_percent" | "v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx" | "v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx" | "v1/insights/lbaas/increase_in_http_error_rate_count_5xx" | "v1/insights/lbaas/increase_in_http_error_rate_count_4xx" | "v1/insights/lbaas/high_http_request_response_time" | "v1/insights/lbaas/high_http_request_response_time_50p" | "v1/insights/lbaas/high_http_request_response_time_95p" | "v1/insights/lbaas/high_http_request_response_time_99p" | "v1/dbaas/alerts/load_15_alerts" | "v1/dbaas/alerts/memory_utilization_alerts" | "v1/dbaas/alerts/disk_utilization_alerts" | "v1/dbaas/alerts/cpu_alerts"; - /** @example 78b3da62-27e5-49ba-ac70-5db0b5935c64 */ - uuid: string; - /** - * Format: float - * @example 80 - */ - value: number; - /** - * @example 5m - * @enum {string} - */ - window: "5m" | "10m" | "30m" | "1h"; - }; - "resources/monitoring/models/alerts.yml": { - /** - * @description An email to notify on an alert trigger. - * @example [ - * "bob@exmaple.com" - * ] - */ - email: string[]; - /** @description Slack integration details. */ - slack: external["resources/monitoring/models/slack_details.yml"][]; - }; - "resources/monitoring/models/list_alert_policy.yml": { - policies: external["resources/monitoring/models/alert_policy.yml"][]; - }; - "resources/monitoring/models/metrics_data.yml": { - /** @description Result of query. */ - result: external["resources/monitoring/models/metrics_result.yml"][]; - /** - * @example matrix - * @enum {string} - */ - resultType: "matrix"; - }; - "resources/monitoring/models/metrics_result.yml": { - /** - * @description An object containing the metric labels. - * @example { - * "host_id": "19201920" - * } - */ - metric: { - [key: string]: string; - }; - /** - * @example [ - * [ - * 1435781430, - * "1" - * ], - * [ - * 1435781445, - * "1" - * ] - * ] - */ - values: ((number | string)[])[]; - }; - "resources/monitoring/models/metrics.yml": { - data: external["resources/monitoring/models/metrics_data.yml"]; - /** - * @example success - * @enum {string} - */ - status: "success" | "error"; - }; - "resources/monitoring/models/slack_details.yml": { - /** - * @description Slack channel to notify of an alert trigger. - * @example Production Alerts - */ - channel: string; - /** - * @description Slack Webhook URL. - * @example https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ - */ - url: string; - }; - /** - * Create Alert Policy - * @description To create a new alert, send a POST request to `/v2/monitoring/alerts`. - */ - "resources/monitoring/monitoring_create_alertPolicy.yml": { - /** - * @description The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy: - * - * Type | Description | Valid Entity Type - * -----|-------------|-------------------- - * `v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID - * `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID - * `v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID - * `v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID - * `v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID - * `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID - * `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID - * `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID - * `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID - * `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID - * `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID - * `v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID - * `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID - * `v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID - * `v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID - * `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization|load balancer ID - * `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID - * `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID - * `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID - * `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID - * `v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID - * `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID - * `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID - * `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID - * `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID - * `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID - * `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID - * `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID - */ - requestBody: { - content: { - "application/json": external["resources/monitoring/models/alert_policy_request.yml"]; - }; + databases_get_sql_mode: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["sql_mode"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/alert_policy_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete an Alert Policy - * @description To delete an alert policy, send a DELETE request to `/v2/monitoring/alerts/{alert_uuid}` - */ - "resources/monitoring/monitoring_delete_alertPolicy.yml": { - parameters: { - path: { - alert_uuid: external["resources/monitoring/parameters.yml"]["alert_uuid"]; - }; + databases_update_sql_mode: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "sql_mode": "ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE" + * } */ + "application/json": components["schemas"]["sql_mode"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Alert Policy - * @description To retrieve a given alert policy, send a GET request to `/v2/monitoring/alerts/{alert_uuid}` - */ - "resources/monitoring/monitoring_get_alertPolicy.yml": { - parameters: { - path: { - alert_uuid: external["resources/monitoring/parameters.yml"]["alert_uuid"]; - }; + databases_update_major_version: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a database cluster. + * @example 9cc10173-e9ea-4176-9dbc-a4cee4c4ff30 + */ + database_cluster_uuid: components["parameters"]["database_cluster_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "version": "14" + * } */ + "application/json": components["schemas"]["version-2"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/alert_policy_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Droplet Bandwidth Metrics - * @description To retrieve bandwidth metrics for a given Droplet, send a GET request to `/v2/monitoring/metrics/droplet/bandwidth`. Use the `interface` query parameter to specify if the results should be for the `private` or `public` interface. Use the `direction` query parameter to specify if the results should be for `inbound` or `outbound` traffic. - */ - "resources/monitoring/monitoring_get_dropletBandwidthMetrics.yml": { - parameters: { - query: { - host_id: external["resources/monitoring/parameters.yml"]["droplet_id"]; - interface: external["resources/monitoring/parameters.yml"]["network_interface"]; - direction: external["resources/monitoring/parameters.yml"]["network_direction"]; - start: external["resources/monitoring/parameters.yml"]["metric_timestamp_start"]; - end: external["resources/monitoring/parameters.yml"]["metric_timestamp_end"]; - }; + domains_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_domains_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/droplet_bandwidth_metric_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Droplet CPU Metrics - * @description To retrieve CPU metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/cpu`. - */ - "resources/monitoring/monitoring_get_DropletCpuMetrics.yml": { - parameters: { - query: { - host_id: external["resources/monitoring/parameters.yml"]["droplet_id"]; - start: external["resources/monitoring/parameters.yml"]["metric_timestamp_start"]; - end: external["resources/monitoring/parameters.yml"]["metric_timestamp_end"]; - }; + domains_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "name": "example.com" + * } */ + "application/json": components["schemas"]["domain"]; + }; + }; + responses: { + 201: components["responses"]["create_domain_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/droplet_cpu_metric_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Droplet Filesystem Free Metrics - * @description To retrieve filesystem free metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_free`. - */ - "resources/monitoring/monitoring_get_dropletFilesystemFreeMetrics.yml": { - parameters: { - query: { - host_id: external["resources/monitoring/parameters.yml"]["droplet_id"]; - start: external["resources/monitoring/parameters.yml"]["metric_timestamp_start"]; - end: external["resources/monitoring/parameters.yml"]["metric_timestamp_end"]; - }; + domains_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of the domain itself. + * @example example.com + */ + domain_name: components["parameters"]["domain_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_domain"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/droplet_filesystem_metric_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Droplet Filesystem Size Metrics - * @description To retrieve filesystem size metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_size`. - */ - "resources/monitoring/monitoring_get_dropletFilesystemSizeMetrics.yml": { - parameters: { - query: { - host_id: external["resources/monitoring/parameters.yml"]["droplet_id"]; - start: external["resources/monitoring/parameters.yml"]["metric_timestamp_start"]; - end: external["resources/monitoring/parameters.yml"]["metric_timestamp_end"]; - }; + domains_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of the domain itself. + * @example example.com + */ + domain_name: components["parameters"]["domain_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/droplet_filesystem_metric_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Droplet Load1 Metrics - * @description To retrieve 1 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_1`. - */ - "resources/monitoring/monitoring_get_dropletLoad1Metrics.yml": { - parameters: { - query: { - host_id: external["resources/monitoring/parameters.yml"]["droplet_id"]; - start: external["resources/monitoring/parameters.yml"]["metric_timestamp_start"]; - end: external["resources/monitoring/parameters.yml"]["metric_timestamp_end"]; - }; + domains_list_records: { + parameters: { + query?: { + /** + * @description A fully qualified record name. For example, to only include records matching sub.example.com, send a GET request to `/v2/domains/$DOMAIN_NAME/records?name=sub.example.com`. + * @example sub.example.com + */ + name?: components["parameters"]["domain_name_query"]; + /** + * @description The type of the DNS record. For example: A, CNAME, TXT, ... + * @example A + */ + type?: components["parameters"]["domain_type_query"]; + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description The name of the domain itself. + * @example example.com + */ + domain_name: components["parameters"]["domain_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_domain_records_response"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/metric_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Droplet Load5 Metrics - * @description To retrieve 5 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_5`. - */ - "resources/monitoring/monitoring_get_dropletLoad5Metrics.yml": { - parameters: { - query: { - host_id: external["resources/monitoring/parameters.yml"]["droplet_id"]; - start: external["resources/monitoring/parameters.yml"]["metric_timestamp_start"]; - end: external["resources/monitoring/parameters.yml"]["metric_timestamp_end"]; - }; + domains_create_record: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of the domain itself. + * @example example.com + */ + domain_name: components["parameters"]["domain_name"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "type": "A", + * "name": "www", + * "data": "162.10.66.0", + * "priority": null, + * "port": null, + * "ttl": 1800, + * "weight": null, + * "flags": null, + * "tag": null + * } */ + "application/json": components["schemas"]["domain_record_a"] | components["schemas"]["domain_record_aaaa"] | components["schemas"]["domain_record_caa"] | components["schemas"]["domain_record_cname"] | components["schemas"]["domain_record_mx"] | components["schemas"]["domain_record_ns"] | components["schemas"]["domain_record_soa"] | components["schemas"]["domain_record_srv"] | components["schemas"]["domain_record_txt"]; + }; + }; + responses: { + 201: components["responses"]["created_domain_record"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/metric_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Droplet Load15 Metrics - * @description To retrieve 15 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_15`. - */ - "resources/monitoring/monitoring_get_dropletLoad15Metrics.yml": { - parameters: { - query: { - host_id: external["resources/monitoring/parameters.yml"]["droplet_id"]; - start: external["resources/monitoring/parameters.yml"]["metric_timestamp_start"]; - end: external["resources/monitoring/parameters.yml"]["metric_timestamp_end"]; - }; + domains_get_record: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of the domain itself. + * @example example.com + */ + domain_name: components["parameters"]["domain_name"]; + /** + * @description The unique identifier of the domain record. + * @example 3352896 + */ + domain_record_id: components["parameters"]["domain_record_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["domain_record"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/metric_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Droplet Available Memory Metrics - * @description To retrieve available memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_available`. - */ - "resources/monitoring/monitoring_get_dropletMemoryAvailableMetrics.yml": { - parameters: { - query: { - host_id: external["resources/monitoring/parameters.yml"]["droplet_id"]; - start: external["resources/monitoring/parameters.yml"]["metric_timestamp_start"]; - end: external["resources/monitoring/parameters.yml"]["metric_timestamp_end"]; - }; + domains_update_record: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of the domain itself. + * @example example.com + */ + domain_name: components["parameters"]["domain_name"]; + /** + * @description The unique identifier of the domain record. + * @example 3352896 + */ + domain_record_id: components["parameters"]["domain_record_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "name": "blog", + * "type": "CNAME" + * } */ + "application/json": components["schemas"]["domain_record"]; + }; + }; + responses: { + 200: components["responses"]["domain_record"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/metric_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Droplet Cached Memory Metrics - * @description To retrieve cached memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_cached`. - */ - "resources/monitoring/monitoring_get_dropletMemoryCachedMetrics.yml": { - parameters: { - query: { - host_id: external["resources/monitoring/parameters.yml"]["droplet_id"]; - start: external["resources/monitoring/parameters.yml"]["metric_timestamp_start"]; - end: external["resources/monitoring/parameters.yml"]["metric_timestamp_end"]; - }; + domains_delete_record: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of the domain itself. + * @example example.com + */ + domain_name: components["parameters"]["domain_name"]; + /** + * @description The unique identifier of the domain record. + * @example 3352896 + */ + domain_record_id: components["parameters"]["domain_record_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/metric_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Droplet Free Memory Metrics - * @description To retrieve free memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_free`. - */ - "resources/monitoring/monitoring_get_dropletMemoryFreeMetrics.yml": { - parameters: { - query: { - host_id: external["resources/monitoring/parameters.yml"]["droplet_id"]; - start: external["resources/monitoring/parameters.yml"]["metric_timestamp_start"]; - end: external["resources/monitoring/parameters.yml"]["metric_timestamp_end"]; - }; + domains_patch_record: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of the domain itself. + * @example example.com + */ + domain_name: components["parameters"]["domain_name"]; + /** + * @description The unique identifier of the domain record. + * @example 3352896 + */ + domain_record_id: components["parameters"]["domain_record_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "name": "blog", + * "type": "A" + * } */ + "application/json": components["schemas"]["domain_record"]; + }; + }; + responses: { + 200: components["responses"]["domain_record"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/metric_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Droplet Total Memory Metrics - * @description To retrieve total memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_total`. - */ - "resources/monitoring/monitoring_get_dropletMemoryTotalMetrics.yml": { - parameters: { - query: { - host_id: external["resources/monitoring/parameters.yml"]["droplet_id"]; - start: external["resources/monitoring/parameters.yml"]["metric_timestamp_start"]; - end: external["resources/monitoring/parameters.yml"]["metric_timestamp_end"]; - }; + droplets_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + /** + * @description Used to filter Droplets by a specific tag. Can not be combined with `name`. + * @example env:prod + */ + tag_name?: components["parameters"]["droplet_tag_name"]; + /** + * @description Used to filter list response by Droplet name returning only exact matches. It is case-insensitive and can not be combined with `tag_name`. + * @example web-01 + */ + name?: components["parameters"]["droplet_name"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_droplets"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/metric_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Alert Policies - * @description Returns all alert policies that are configured for the given account. To List all alert policies, send a GET request to `/v2/monitoring/alerts`. - */ - "resources/monitoring/monitoring_list_alertPolicy.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + droplets_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["droplet_single_create"] | components["schemas"]["droplet_multi_create"]; + }; + }; + responses: { + 202: components["responses"]["droplet_create"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/list_alert_policy_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update an Alert Policy - * @description To update en existing policy, send a PUT request to `v2/monitoring/alerts/{alert_uuid}`. - */ - "resources/monitoring/monitoring_update_alertPolicy.yml": { - parameters: { - path: { - alert_uuid: external["resources/monitoring/parameters.yml"]["alert_uuid"]; - }; - }; - /** - * @description The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy: - * - * Type | Description | Valid Entity Type - * -----|-------------|-------------------- - * `v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID - * `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID - * `v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID - * `v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID - * `v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID - * `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID - * `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID - * `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID - * `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID - * `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID - * `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID - * `v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID - * `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID - * `v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID - * `v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID - * `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization|load balancer ID - * `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID - * `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID - * `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID - * `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID - * `v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID - * `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID - * `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID - * `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID - * `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID - * `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID - * `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID - * `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID - */ - requestBody: { - content: { - "application/json": external["resources/monitoring/models/alert_policy_request.yml"]; - }; + droplets_destroy_byTag: { + parameters: { + query: { + /** + * @description Specifies Droplets to be deleted by tag. + * @example env:test + */ + tag_name: components["parameters"]["droplet_delete_tag_name"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content_with_content_type"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/monitoring/responses/alert_policy_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/monitoring/parameters.yml": { - droplet_id: string; - network_interface: "private" | "public"; - network_direction: "inbound" | "outbound"; - metric_timestamp_start: string; - metric_timestamp_end: string; - alert_uuid: string; - }; - "resources/monitoring/responses/alert_policy_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + droplets_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_droplet"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - policy?: external["resources/monitoring/models/alert_policy.yml"]; - }; + droplets_destroy: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content_with_content_type"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/monitoring/responses/droplet_bandwidth_metric_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + droplets_list_backups: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_droplet_backups"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/monitoring/models/metrics.yml"]; + droplets_list_snapshots: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_droplet_snapshots"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/monitoring/responses/droplet_cpu_metric_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + dropletActions_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_droplet_actions"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/monitoring/models/metrics.yml"]; + dropletActions_post: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + /** @description The `type` attribute set in the request body will specify the action that + * will be taken on the Droplet. Some actions will require additional + * attributes to be set as well. + * */ + requestBody?: { + content: { + "application/json": components["schemas"]["droplet_action"] | components["schemas"]["droplet_action_restore"] | components["schemas"]["droplet_action_resize"] | components["schemas"]["droplet_action_rebuild"] | components["schemas"]["droplet_action_rename"] | components["schemas"]["droplet_action_change_kernel"] | components["schemas"]["droplet_action_snapshot"]; + }; + }; + responses: { + 201: components["responses"]["droplet_action"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/monitoring/responses/droplet_filesystem_metric_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + dropletActions_post_byTag: { + parameters: { + query?: { + /** + * @description Used to filter Droplets by a specific tag. Can not be combined with `name`. + * @example env:prod + */ + tag_name?: components["parameters"]["droplet_tag_name"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The `type` attribute set in the request body will specify the action that + * will be taken on the Droplet. Some actions will require additional + * attributes to be set as well. + * */ + requestBody?: { + content: { + "application/json": components["schemas"]["droplet_action"] | components["schemas"]["droplet_action_snapshot"]; + }; + }; + responses: { + 201: components["responses"]["droplet_actions_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/monitoring/models/metrics.yml"]; + dropletActions_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + /** + * @description A unique numeric ID that can be used to identify and reference an action. + * @example 36804636 + */ + action_id: components["parameters"]["action_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["action"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/monitoring/responses/examples.yml": unknown - "resources/monitoring/responses/list_alert_policy_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + droplets_list_kernels: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_kernels"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/monitoring/models/list_alert_policy.yml"] & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + droplets_list_firewalls: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_firewalls"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/monitoring/responses/metric_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": external["resources/monitoring/models/metrics.yml"]; - }; - }; - "resources/projects/models/project_assignment.yml": { - /** - * @description A list of uniform resource names (URNs) to be added to a project. - * @example [ - * "do:droplet:13457723" - * ] - */ - resources?: external["shared/attributes/urn.yml"][]; - }; - "resources/projects/models/project.yml": { - project_base: { - /** - * Format: uuid - * @description The unique universal identifier of this project. - * @example 4e1bfbc3-dc3e-41f2-a18f-1b4d7ba71679 - */ - id?: string; - /** - * @description The unique universal identifier of the project owner. - * @example 99525febec065ca37b2ffe4f852fd2b2581895e7 - */ - owner_uuid?: string; - /** - * @description The integer id of the project owner. - * @example 258992 - */ - owner_id?: number; - /** - * @description The human-readable name for the project. The maximum length is 175 characters and the name must be unique. - * @example my-web-api - */ - name?: string; - /** - * @description The description of the project. The maximum length is 255 characters. - * @example My website API - */ - description?: string; - /** - * @description The purpose of the project. The maximum length is 255 characters. It can - * have one of the following values: - * - * - Just trying out DigitalOcean - * - Class project / Educational purposes - * - Website or blog - * - Web Application - * - Service or API - * - Mobile Application - * - Machine learning / AI / Data processing - * - IoT - * - Operational / Developer tooling - * - * If another value for purpose is specified, for example, "your custom purpose", - * your purpose will be stored as `Other: your custom purpose`. - * - * @example Service or API - */ - purpose?: string; - /** - * @description The environment of the project's resources. - * @example Production - * @enum {string} - */ - environment?: "Development" | "Staging" | "Production"; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the project was created. - * @example 2018-09-27T20:10:35Z - */ - created_at?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the project was updated. - * @example 2018-09-27T20:10:35Z - */ - updated_at?: string; - }; - project: external["resources/projects/models/project.yml"]["project_base"] & { - /** - * @description If true, all resources will be added to this project if no project is specified. - * @example false - */ - is_default?: boolean; - }; - }; - "resources/projects/models/resource.yml": { - urn?: external["shared/attributes/urn.yml"]; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the project was created. - * @example 2018-09-28T19:26:37Z - */ - assigned_at?: string; - /** @description The links object contains the `self` object, which contains the resource relationship. */ - links?: { - /** - * Format: uri - * @description A URI that can be used to retrieve the resource. - * @example https://api.digitalocean.com/v2/droplets/13457723 - */ - self?: string; - }; - /** - * @description The status of assigning and fetching the resources. - * @example ok - * @enum {string} - */ - status?: "ok" | "not_found" | "assigned" | "already_assigned" | "service_down"; - }; - "resources/projects/parameters.yml": { - project_id: string; - }; - /** - * Assign Resources to Default Project - * @description To assign resources to your default project, send a POST request to `/v2/projects/default/resources`. - */ - "resources/projects/projects_assign_resources_default.yml": { - requestBody: { - content: { - "application/json": external["resources/projects/models/project_assignment.yml"]; - }; + droplets_list_neighbors: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["neighbor_droplets"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/projects/responses/assigned_resources_list.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Assign Resources to a Project - * @description To assign resources to a project, send a POST request to `/v2/projects/$PROJECT_ID/resources`. - */ - "resources/projects/projects_assign_resources.yml": { - parameters: { - path: { - project_id: external["resources/projects/parameters.yml"]["project_id"]; - }; + droplets_list_associatedResources: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["associated_resources_list"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/projects/models/project_assignment.yml"]; - }; + droplets_destroy_withAssociatedResourcesSelective: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selective_destroy_associated_resource"]; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/projects/responses/assigned_resources_list.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a Project - * @description To create a project, send a POST request to `/v2/projects`. - */ - "resources/projects/projects_create.yml": { - requestBody: { - content: { - "application/json": WithRequired; - }; + droplets_destroy_withAssociatedResourcesDangerous: { + parameters: { + query?: never; + header: { + /** + * @description Acknowledge this action will destroy the Droplet and all associated resources and _can not_ be reversed. + * @example true + */ + "X-Dangerous": components["parameters"]["x_dangerous"]; + }; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/projects/responses/existing_project.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete an Existing Project - * @description To delete a project, send a DELETE request to `/v2/projects/$PROJECT_ID`. To - * be deleted, a project must not have any resources assigned to it. Any existing - * resources must first be reassigned or destroyed, or you will receive a 412 error. - * - * A successful request will receive a 204 status code with no body in response. - * This indicates that the request was processed successfully. - */ - "resources/projects/projects_delete.yml": { - parameters: { - path: { - project_id: external["resources/projects/parameters.yml"]["project_id"]; - }; + droplets_get_DestroyAssociatedResourcesStatus: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["associated_resources_status"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 412: external["resources/projects/responses/precondition_failed.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve the Default Project - * @description To get your default project, send a GET request to `/v2/projects/default`. - */ - "resources/projects/projects_get_default.yml": { - responses: { - 200: external["resources/projects/responses/default_project.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Project - * @description To get a project, send a GET request to `/v2/projects/$PROJECT_ID`. - */ - "resources/projects/projects_get.yml": { - parameters: { - path: { - project_id: external["resources/projects/parameters.yml"]["project_id"]; - }; + droplets_destroy_retryWithAssociatedResources: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a Droplet instance. + * @example 3164444 + */ + droplet_id: components["parameters"]["droplet_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/projects/responses/existing_project.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Default Project Resources - * @description To list all your resources in your default project, send a GET request to `/v2/projects/default/resources`. - */ - "resources/projects/projects_list_resources_default.yml": { - responses: { - 200: external["resources/projects/responses/resources_list.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Project Resources - * @description To list all your resources in a project, send a GET request to `/v2/projects/$PROJECT_ID/resources`. - */ - "resources/projects/projects_list_resources.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - project_id: external["resources/projects/parameters.yml"]["project_id"]; - }; + firewalls_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_firewalls_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/projects/responses/resources_list.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Projects - * @description To list all your projects, send a GET request to `/v2/projects`. - */ - "resources/projects/projects_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + firewalls_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "name": "firewall", + * "inbound_rules": [ + * { + * "protocol": "tcp", + * "ports": "80", + * "sources": { + * "load_balancer_uids": [ + * "4de7ac8b-495b-4884-9a69-1050c6793cd6" + * ] + * } + * }, + * { + * "protocol": "tcp", + * "ports": "22", + * "sources": { + * "tags": [ + * "gateway" + * ], + * "addresses": [ + * "18.0.0.0/8" + * ] + * } + * } + * ], + * "outbound_rules": [ + * { + * "protocol": "tcp", + * "ports": "80", + * "destinations": { + * "addresses": [ + * "0.0.0.0/0", + * "::/0" + * ] + * } + * } + * ], + * "droplet_ids": [ + * 8043964 + * ] + * } */ + "application/json": components["schemas"]["firewall"] & unknown & (unknown | unknown); + }; + }; + responses: { + 202: components["responses"]["create_firewall_response"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/projects/responses/projects_list.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Patch the Default Project - * @description To update only specific attributes of your default project, send a PATCH request to `/v2/projects/default`. At least one of the following attributes needs to be sent. - */ - "resources/projects/projects_patch_default.yml": { - requestBody: { - content: { - /** - * @example { - * "name": "my-web-api" - * } - */ - "application/json": external["resources/projects/models/project.yml"]["project"]; - }; + firewalls_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c + */ + firewall_id: components["parameters"]["firewall_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["get_firewall_response"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/projects/responses/existing_project.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Patch a Project - * @description To update only specific attributes of a project, send a PATCH request to `/v2/projects/$PROJECT_ID`. At least one of the following attributes needs to be sent. - */ - "resources/projects/projects_patch.yml": { - parameters: { - path: { - project_id: external["resources/projects/parameters.yml"]["project_id"]; - }; + firewalls_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c + */ + firewall_id: components["parameters"]["firewall_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "name": "frontend-firewall", + * "inbound_rules": [ + * { + * "protocol": "tcp", + * "ports": "8080", + * "sources": { + * "load_balancer_uids": [ + * "4de7ac8b-495b-4884-9a69-1050c6793cd6" + * ] + * } + * }, + * { + * "protocol": "tcp", + * "ports": "22", + * "sources": { + * "tags": [ + * "gateway" + * ], + * "addresses": [ + * "18.0.0.0/8" + * ] + * } + * } + * ], + * "outbound_rules": [ + * { + * "protocol": "tcp", + * "ports": "8080", + * "destinations": { + * "addresses": [ + * "0.0.0.0/0", + * "::/0" + * ] + * } + * } + * ], + * "droplet_ids": [ + * 8043964 + * ], + * "tags": [ + * "frontend" + * ] + * } */ + "application/json": WithRequired; + }; + }; + responses: { + 200: components["responses"]["put_firewall_response"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - /** - * @example { - * "name": "my-web-api" - * } - */ - "application/json": external["resources/projects/models/project.yml"]["project"]; - }; + firewalls_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c + */ + firewall_id: components["parameters"]["firewall_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/projects/responses/existing_project.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update the Default Project - * @description To update you default project, send a PUT request to `/v2/projects/default`. All of the following attributes must be sent. - */ - "resources/projects/projects_update_default.yml": { - requestBody: { - content: { - "application/json": WithRequired; - }; + firewalls_assign_droplets: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c + */ + firewall_id: components["parameters"]["firewall_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "droplet_ids": [ + * 49696269 + * ] + * } */ + "application/json": { + /** + * @description An array containing the IDs of the Droplets to be assigned to the firewall. + * @example [ + * 49696269 + * ] + */ + droplet_ids: number[]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/projects/responses/existing_project.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update a Project - * @description To update a project, send a PUT request to `/v2/projects/$PROJECT_ID`. All of the following attributes must be sent. - */ - "resources/projects/projects_update.yml": { - parameters: { - path: { - project_id: external["resources/projects/parameters.yml"]["project_id"]; - }; + firewalls_delete_droplets: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c + */ + firewall_id: components["parameters"]["firewall_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "droplet_ids": [ + * 49696269 + * ] + * } */ + "application/json": { + /** + * @description An array containing the IDs of the Droplets to be removed from the firewall. + * @example [ + * 49696269 + * ] + */ + droplet_ids: number[]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": WithRequired; - }; + firewalls_add_tags: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c + */ + firewall_id: components["parameters"]["firewall_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "tags": [ + * "frontend" + * ] + * } */ + "application/json": { + tags: components["schemas"]["tags_array"] & unknown; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/projects/responses/existing_project.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/projects/responses/assigned_resources_list.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + firewalls_delete_tags: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c + */ + firewall_id: components["parameters"]["firewall_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "tags": [ + * "frontend" + * ] + * } */ + "application/json": { + tags: components["schemas"]["tags_array"] & unknown; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - resources?: external["resources/projects/models/resource.yml"][]; - }; + firewalls_add_rules: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c + */ + firewall_id: components["parameters"]["firewall_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "inbound_rules": [ + * { + * "protocol": "tcp", + * "ports": "3306", + * "sources": { + * "droplet_ids": [ + * 49696269 + * ] + * } + * } + * ], + * "outbound_rules": [ + * { + * "protocol": "tcp", + * "ports": "3306", + * "destinations": { + * "droplet_ids": [ + * 49696269 + * ] + * } + * } + * ] + * } */ + "application/json": components["schemas"]["firewall_rules"] & (unknown | unknown); + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/projects/responses/default_project.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + firewalls_delete_rules: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to identify and reference a firewall. + * @example bb4b2611-3d72-467b-8602-280330ecd65c + */ + firewall_id: components["parameters"]["firewall_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + /** @example { + * "inbound_rules": [ + * { + * "protocol": "tcp", + * "ports": "3306", + * "sources": { + * "droplet_ids": [ + * 49696269 + * ] + * } + * } + * ], + * "outbound_rules": [ + * { + * "protocol": "tcp", + * "ports": "3306", + * "destinations": { + * "droplet_ids": [ + * 49696269 + * ] + * } + * } + * ] + * } */ + "application/json": components["schemas"]["firewall_rules"] & (unknown | unknown); + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - project?: external["resources/projects/models/project.yml"]["project"]; - }; + floatingIPs_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["floating_ip_list"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/projects/responses/existing_project.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + floatingIPs_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["floating_ip_create"]; + }; + }; + responses: { + 202: components["responses"]["floating_ip_created"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - project?: external["resources/projects/models/project.yml"]["project"]; - }; + floatingIPs_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A floating IP address. + * @example 45.55.96.47 + */ + floating_ip: components["parameters"]["floating_ip"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["floating_ip"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/projects/responses/precondition_failed.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + floatingIPs_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A floating IP address. + * @example 45.55.96.47 + */ + floating_ip: components["parameters"]["floating_ip"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["shared/models/error.yml"]; + floatingIPsAction_list: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A floating IP address. + * @example 45.55.96.47 + */ + floating_ip: components["parameters"]["floating_ip"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["floating_ip_actions"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/projects/responses/projects_list.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + floatingIPsAction_post: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A floating IP address. + * @example 45.55.96.47 + */ + floating_ip: components["parameters"]["floating_ip"]; + }; + cookie?: never; + }; + /** @description The `type` attribute set in the request body will specify the action that + * will be taken on the floating IP. + * */ + requestBody?: { + content: { + "application/json": components["schemas"]["floating_ip_action_unassign"] | components["schemas"]["floating_ip_action_assign"]; + }; + }; + responses: { + 201: components["responses"]["floating_ip_action"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - projects?: external["resources/projects/models/project.yml"]["project"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + floatingIPsAction_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A floating IP address. + * @example 45.55.96.47 + */ + floating_ip: components["parameters"]["floating_ip"]; + /** + * @description A unique numeric ID that can be used to identify and reference an action. + * @example 36804636 + */ + action_id: components["parameters"]["action_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["floating_ip_action"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/projects/responses/resources_list.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - resources?: external["resources/projects/models/resource.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/regions/models/region.yml": { - /** - * @description The display name of the region. This will be a full name that is used in the control panel and other interfaces. - * @example New York 3 - */ - name: string; - /** - * @description A human-readable string that is used as a unique identifier for each region. - * @example nyc3 - */ - slug: string; - /** - * @description This attribute is set to an array which contains features available in this region - * @example [ - * "private_networking", - * "backups", - * "ipv6", - * "metadata", - * "install_agent", - * "storage", - * "image_transfer" - * ] - */ - features: unknown; - /** - * @description This is a boolean value that represents whether new Droplets can be created in this region. - * @example true - */ - available: boolean; - /** - * @description This attribute is set to an array which contains the identifying slugs for the sizes available in this region. - * @example [ - * "s-1vcpu-1gb", - * "s-1vcpu-2gb", - * "s-1vcpu-3gb", - * "s-2vcpu-2gb", - * "s-3vcpu-1gb", - * "s-2vcpu-4gb", - * "s-4vcpu-8gb", - * "s-6vcpu-16gb", - * "s-8vcpu-32gb", - * "s-12vcpu-48gb", - * "s-16vcpu-64gb", - * "s-20vcpu-96gb", - * "s-24vcpu-128gb", - * "s-32vcpu-192g" - * ] - */ - sizes: unknown; - }; - /** - * List All Data Center Regions - * @description To list all of the regions that are available, send a GET request to `/v2/regions`. - * The response will be a JSON object with a key called `regions`. The value of this will be an array of `region` objects, each of which will contain the standard region attributes. - */ - "resources/regions/regions_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + functions_list_namespaces: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_namespaces"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/regions/responses/all_regions.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/regions/responses/all_regions.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - regions: external["resources/regions/models/region.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/registry/models/docker_credentials.yml": { - auths?: { - "registry.digitalocean.com"?: { - /** - * @description A base64 encoded string containing credentials for the container registry. - * @example YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODI6YjdkMDNhNjk0N2IyMTdlZmI2ZjNlYzNiZDM1MDQ1ODIK - */ - auth?: string; - }; - }; - }; - "resources/registry/models/garbage_collection.yml": { - /** - * @description A string specifying the UUID of the garbage collection. - * @example eff0feee-49c7-4e8f-ba5c-a320c109c8a8 - */ - uuid?: string; - /** - * @description The name of the container registry. - * @example example - */ - registry_name?: string; - /** - * @description The current status of this garbage collection. - * @example requested - * @enum {string} - */ - status?: "requested" | "waiting for write JWTs to expire" | "scanning manifests" | "deleting unreferenced blobs" | "cancelling" | "failed" | "succeeded" | "cancelled"; - /** - * Format: date-time - * @description The time the garbage collection was created. - * @example "2020-10-30T21:03:24.000Z" - */ - created_at?: string; - /** - * Format: date-time - * @description The time the garbage collection was last updated. - * @example "2020-10-30T21:03:44.000Z" - */ - updated_at?: string; - /** - * @description The number of blobs deleted as a result of this garbage collection. - * @example 42 - */ - blobs_deleted?: number; - /** - * @description The number of bytes freed as a result of this garbage collection. - * @example 667 - */ - freed_bytes?: number; - }; - "resources/registry/models/registry_create.yml": { - /** - * @description A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. - * @example example - */ - name: string; - /** - * @description The slug of the subscription tier to sign up for. Valid values can be retrieved using the options endpoint. - * @example basic - * @enum {string} - */ - subscription_tier_slug: "starter" | "basic" | "professional"; - /** - * @description Slug of the region where registry data is stored. When not provided, a region will be selected. - * @example fra1 - * @enum {string} - */ - region?: "nyc3" | "sfo3" | "ams3" | "sgp1" | "fra1"; - }; - "resources/registry/models/registry.yml": { - /** - * @description A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. - * @example example - */ - name?: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the registry was created. - * @example 2020-03-21T16:02:37Z - */ - created_at?: string; - /** - * @description Slug of the region where registry data is stored - * @example fra1 - */ - region?: string; - /** - * @description The amount of storage used in the registry in bytes. - * @example 29393920 - */ - storage_usage_bytes?: number; - /** - * Format: date-time - * @description The time at which the storage usage was updated. Storage usage is calculated asynchronously, and may not immediately reflect pushes to the registry. - * @example 2020-11-04T21:39:49.530562231Z - */ - storage_usage_bytes_updated_at?: string; - subscription?: external["resources/registry/models/subscription.yml"]; - }; - "resources/registry/models/repository_blob.yml": { - /** - * @description The digest of the blob - * @example sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 - */ - digest?: string; - /** - * @description The compressed size of the blob in bytes. - * @example 2803255 - */ - compressed_size_bytes?: number; - }; - "resources/registry/models/repository_manifest.yml": { - /** - * @description The name of the container registry. - * @example example - */ - registry_name?: string; - /** - * @description The name of the repository. - * @example repo-1 - */ - repository?: string; - /** - * @description The manifest digest - * @example sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 - */ - digest?: string; - /** - * @description The compressed size of the manifest in bytes. - * @example 2803255 - */ - compressed_size_bytes?: number; - /** - * @description The uncompressed size of the manifest in bytes (this size is calculated asynchronously so it may not be immediately available). - * @example 5861888 - */ - size_bytes?: number; - /** - * Format: date-time - * @description The time the manifest was last updated. - * @example 2020-04-09T23:54:25Z - */ - updated_at?: string; - /** - * @description All tags associated with this manifest - * @example [ - * "latest", - * "v1", - * "v2" - * ] - */ - tags?: string[]; - /** @description All blobs associated with this manifest */ - blobs?: external["resources/registry/models/repository_blob.yml"][]; - }; - "resources/registry/models/repository_tag.yml": { - /** - * @description The name of the container registry. - * @example example - */ - registry_name?: string; - /** - * @description The name of the repository. - * @example repo-1 - */ - repository?: string; - /** - * @description The name of the tag. - * @example latest - */ - tag?: string; - /** - * @description The digest of the manifest associated with the tag. - * @example sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 - */ - manifest_digest?: string; - /** - * @description The compressed size of the tag in bytes. - * @example 2803255 - */ - compressed_size_bytes?: number; - /** - * @description The uncompressed size of the tag in bytes (this size is calculated asynchronously so it may not be immediately available). - * @example 5861888 - */ - size_bytes?: number; - /** - * Format: date-time - * @description The time the tag was last updated. - * @example 2020-04-09T23:54:25Z - */ - updated_at?: string; - }; - "resources/registry/models/repository_v2.yml": { - /** - * @description The name of the container registry. - * @example example - */ - registry_name?: string; - /** - * @description The name of the repository. - * @example repo-1 - */ - name?: string; - latest_manifest?: external["resources/registry/models/repository_manifest.yml"]; - /** - * @description The number of tags in the repository. - * @example 1 - */ - tag_count?: number; - /** - * @description The number of manifests in the repository. - * @example 1 - */ - manifest_count?: number; - }; - "resources/registry/models/repository.yml": { - /** - * @description The name of the container registry. - * @example example - */ - registry_name?: string; - /** - * @description The name of the repository. - * @example repo-1 - */ - name?: string; - latest_tag?: external["resources/registry/models/repository_tag.yml"]; - /** - * @description The number of tags in the repository. - * @example 1 - */ - tag_count?: number; - }; - "resources/registry/models/subscription_tier.yml": unknown; - "resources/registry/models/subscription.yml": { - tier?: external["resources/registry/models/subscription_tier.yml"]["subscription_tier_base"]; - /** - * Format: date-time - * @description The time at which the subscription was created. - * @example 2020-01-23T21:19:12Z - */ - created_at?: string; - /** - * Format: date-time - * @description The time at which the subscription was last updated. - * @example 2020-11-05T15:53:24Z - */ - updated_at?: string; - }; - "resources/registry/models/update_registry.yml": { - /** - * @description A boolean value indicating that the garbage collection should be cancelled. - * @example true - */ - cancel?: boolean; - }; - "resources/registry/models/validate_registry.yml": { - /** - * @description A globally unique name for the container registry. Must be lowercase and be composed only of numbers, letters and `-`, up to a limit of 63 characters. - * @example example - */ - name: string; - }; - "resources/registry/parameters.yml": { - registry_expiry_seconds?: number; - registry_read_write?: boolean; - registry_name: string; - registry_repository_name: string; - registry_repository_tag: string; - registry_manifest_digest: string; - garbage_collection_uuid: string; - token_pagination_page?: number; - token_pagination_page_token?: string; - }; - /** - * Create Container Registry - * @description To create your container registry, send a POST request to `/v2/registry`. - * - * The `name` becomes part of the URL for images stored in the registry. For - * example, if your registry is called `example`, an image in it will have the - * URL `registry.digitalocean.com/example/image:tag`. - */ - "resources/registry/registry_create.yml": { - requestBody: { - content: { - "application/json": external["resources/registry/models/registry_create.yml"]; - }; + functions_create_namespace: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["create_namespace"]; + }; + }; + responses: { + 200: components["responses"]["namespace_created"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["namespace_bad_request"]; + 422: components["responses"]["namespace_limit_reached"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/registry/responses/registry_info.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete Container Registry Repository Manifest - * @description To delete a container repository manifest by digest, send a DELETE request to - * `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests/$MANIFEST_DIGEST`. - * - * Note that if your repository name contains `/` characters, it must be - * URL-encoded in the request URL. For example, to delete - * `registry.digitalocean.com/example/my/repo@sha256:abcd`, the path would be - * `/v2/registry/example/repositories/my%2Frepo/digests/sha256:abcd`. - * - * A successful request will receive a 204 status code with no body in response. - * This indicates that the request was processed successfully. - */ - "resources/registry/registry_delete_repositoryManifest.yml": { - parameters: { - path: { - registry_name: external["resources/registry/parameters.yml"]["registry_name"]; - repository_name: external["resources/registry/parameters.yml"]["registry_repository_name"]; - manifest_digest: external["resources/registry/parameters.yml"]["registry_manifest_digest"]; - }; + functions_get_namespace: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + */ + namespace_id: components["parameters"]["namespace_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["namespace_created"]; + 401: components["responses"]["unauthorized"]; + 403: components["responses"]["namespace_not_allowed"]; + 404: components["responses"]["namespace_not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete Container Registry Repository Tag - * @description To delete a container repository tag, send a DELETE request to - * `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags/$TAG`. - * - * Note that if your repository name contains `/` characters, it must be - * URL-encoded in the request URL. For example, to delete - * `registry.digitalocean.com/example/my/repo:mytag`, the path would be - * `/v2/registry/example/repositories/my%2Frepo/tags/mytag`. - * - * A successful request will receive a 204 status code with no body in response. - * This indicates that the request was processed successfully. - */ - "resources/registry/registry_delete_repositoryTag.yml": { - parameters: { - path: { - registry_name: external["resources/registry/parameters.yml"]["registry_name"]; - repository_name: external["resources/registry/parameters.yml"]["registry_repository_name"]; - repository_tag: external["resources/registry/parameters.yml"]["registry_repository_tag"]; - }; + functions_delete_namespace: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + */ + namespace_id: components["parameters"]["namespace_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["namespace_not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete Container Registry - * @description To delete your container registry, destroying all container image data stored in it, send a DELETE request to `/v2/registry`. - */ - "resources/registry/registry_delete.yml": { - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Docker Credentials for Container Registry - * @description In order to access your container registry with the Docker client or from a - * Kubernetes cluster, you will need to configure authentication. The necessary - * JSON configuration can be retrieved by sending a GET request to - * `/v2/registry/docker-credentials`. - * - * The response will be in the format of a Docker `config.json` file. To use the - * config in your Kubernetes cluster, create a Secret with: - * - * kubectl create secret generic docr \ - * --from-file=.dockerconfigjson=config.json \ - * --type=kubernetes.io/dockerconfigjson - * - * By default, the returned credentials have read-only access to your registry - * and cannot be used to push images. This is appropriate for most Kubernetes - * clusters. To retrieve read/write credentials, suitable for use with the Docker - * client or in a CI system, read_write may be provided as query parameter. For - * example: `/v2/registry/docker-credentials?read_write=true` - * - * By default, the returned credentials will not expire. To retrieve credentials - * with an expiry set, expiry_seconds may be provided as a query parameter. For - * example: `/v2/registry/docker-credentials?expiry_seconds=3600` will return - * credentials that expire after one hour. - */ - "resources/registry/registry_get_dockerCredentials.yml": { - parameters: { - query?: { - expiry_seconds?: external["resources/registry/parameters.yml"]["registry_expiry_seconds"]; - read_write?: external["resources/registry/parameters.yml"]["registry_read_write"]; - }; + functions_list_triggers: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + */ + namespace_id: components["parameters"]["namespace_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_triggers"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["namespace_not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/registry/responses/docker_credentials.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Active Garbage Collection - * @description To get information about the currently-active garbage collection for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collection`. - */ - "resources/registry/registry_get_garbageCollection.yml": { - parameters: { - path: { - registry_name: external["resources/registry/parameters.yml"]["registry_name"]; - }; + functions_create_trigger: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + */ + namespace_id: components["parameters"]["namespace_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["create_trigger"]; + }; + }; + responses: { + 200: components["responses"]["trigger_response"]; + 400: components["responses"]["trigger_bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["namespace_not_found"]; + 422: components["responses"]["trigger_limit_reached"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/registry/responses/garbage_collection.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Registry Options (Subscription Tiers and Available Regions) - * @description This endpoint serves to provide additional information as to which option values are available when creating a container registry. - * There are multiple subscription tiers available for container registry. Each tier allows a different number of image repositories to be created in your registry, and has a different amount of storage and transfer included. - * There are multiple regions available for container registry and controls where your data is stored. - * To list the available options, send a GET request to `/v2/registry/options`. - */ - "resources/registry/registry_get_options.yml": { - responses: { - 200: external["resources/registry/responses/registry_options_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Subscription Information - * @description A subscription is automatically created when you configure your container registry. To get information about your subscription, send a GET request to `/v2/registry/subscription`. - */ - "resources/registry/registry_get_subscription.yml": { - responses: { - 200: external["resources/registry/responses/subscription_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Get Container Registry Information - * @description To get information about your container registry, send a GET request to `/v2/registry`. - */ - "resources/registry/registry_get.yml": { - responses: { - 200: external["resources/registry/responses/registry_info.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Garbage Collections - * @description To get information about past garbage collections for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`. - */ - "resources/registry/registry_list_garbageCollections.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - registry_name: external["resources/registry/parameters.yml"]["registry_name"]; - }; + functions_get_trigger: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + */ + namespace_id: components["parameters"]["namespace_id"]; + /** + * @description The name of the trigger to be managed. + * @example my trigger + */ + trigger_name: components["parameters"]["trigger_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["trigger_response"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["trigger_not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/registry/responses/garbage_collections.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Container Registry Repositories - * @deprecated - * @description This endpoint has been deprecated in favor of the _List All Container Registry Repositories [V2]_ endpoint. - * - * To list all repositories in your container registry, send a GET - * request to `/v2/registry/$REGISTRY_NAME/repositories`. - */ - "resources/registry/registry_list_repositories.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - registry_name: external["resources/registry/parameters.yml"]["registry_name"]; - }; + functions_update_trigger: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + */ + namespace_id: components["parameters"]["namespace_id"]; + /** + * @description The name of the trigger to be managed. + * @example my trigger + */ + trigger_name: components["parameters"]["trigger_name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["update_trigger"]; + }; + }; + responses: { + 200: components["responses"]["trigger_response"]; + 400: components["responses"]["trigger_bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["trigger_not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/registry/responses/all_repositories.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Container Registry Repositories (V2) - * @description To list all repositories in your container registry, send a GET request to `/v2/registry/$REGISTRY_NAME/repositoriesV2`. - */ - "resources/registry/registry_list_repositoriesV2.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["resources/registry/parameters.yml"]["token_pagination_page"]; - page_token?: external["resources/registry/parameters.yml"]["token_pagination_page_token"]; - }; - path: { - registry_name: external["resources/registry/parameters.yml"]["registry_name"]; - }; + functions_delete_trigger: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the namespace to be managed. + * @example fn-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + */ + namespace_id: components["parameters"]["namespace_id"]; + /** + * @description The name of the trigger to be managed. + * @example my trigger + */ + trigger_name: components["parameters"]["trigger_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["trigger_not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/registry/responses/all_repositories_v2.yml"]; - 400: external["shared/responses/bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Container Registry Repository Manifests - * @description To list all manifests in your container registry repository, send a GET - * request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/digests`. - * - * Note that if your repository name contains `/` characters, it must be - * URL-encoded in the request URL. For example, to list manifests for - * `registry.digitalocean.com/example/my/repo`, the path would be - * `/v2/registry/example/repositories/my%2Frepo/digests`. - */ - "resources/registry/registry_list_repositoryManifests.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - registry_name: external["resources/registry/parameters.yml"]["registry_name"]; - repository_name: external["resources/registry/parameters.yml"]["registry_repository_name"]; - }; + images_list: { + parameters: { + query?: { + /** + * @description Filters results based on image type which can be either `application` or `distribution`. + * @example distribution + */ + type?: components["parameters"]["type"]; + /** + * @description Used to filter only user images. + * @example true + */ + private?: components["parameters"]["private"]; + /** + * @description Used to filter images by a specific tag. + * @example base-image + */ + tag_name?: components["parameters"]["tag"]; + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_images"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/registry/responses/repository_manifests.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Container Registry Repository Tags - * @description To list all tags in your container registry repository, send a GET - * request to `/v2/registry/$REGISTRY_NAME/repositories/$REPOSITORY_NAME/tags`. - * - * Note that if your repository name contains `/` characters, it must be - * URL-encoded in the request URL. For example, to list tags for - * `registry.digitalocean.com/example/my/repo`, the path would be - * `/v2/registry/example/repositories/my%2Frepo/tags`. - */ - "resources/registry/registry_list_repositoryTags.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - registry_name: external["resources/registry/parameters.yml"]["registry_name"]; - repository_name: external["resources/registry/parameters.yml"]["registry_repository_name"]; - }; + images_create_custom: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["image_new_custom"]; + }; + }; + responses: { + 202: components["responses"]["new_custom_image"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/registry/responses/repository_tags.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Start Garbage Collection - * @description Garbage collection enables users to clear out unreferenced blobs (layer & - * manifest data) after deleting one or more manifests from a repository. If - * there are no unreferenced blobs resulting from the deletion of one or more - * manifests, garbage collection is effectively a noop. - * [See here for more information](https://www.digitalocean.com/docs/container-registry/how-to/clean-up-container-registry/) - * about how and why you should clean up your container registry periodically. - * - * To request a garbage collection run on your registry, send a POST request to - * `/v2/registry/$REGISTRY_NAME/garbage-collection`. This will initiate the - * following sequence of events on your registry. - * - * * Set the registry to read-only mode, meaning no further write-scoped - * JWTs will be issued to registry clients. Existing write-scoped JWTs will - * continue to work until they expire which can take up to 15 minutes. - * * Wait until all existing write-scoped JWTs have expired. - * * Scan all registry manifests to determine which blobs are unreferenced. - * * Delete all unreferenced blobs from the registry. - * * Record the number of blobs deleted and bytes freed, mark the garbage - * collection status as `success`. - * * Remove the read-only mode restriction from the registry, meaning write-scoped - * JWTs will once again be issued to registry clients. - */ - "resources/registry/registry_run_garbageCollection.yml": { - parameters: { - path: { - registry_name: external["resources/registry/parameters.yml"]["registry_name"]; - }; + images_get: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A unique number (id) or string (slug) used to identify and reference a + * specific image. + * + * **Public** images can be identified by image `id` or `slug`. + * + * **Private** images *must* be identified by image `id`. + * */ + image_id: number | string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_image"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/registry/responses/garbage_collection.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update Garbage Collection - * @description To cancel the currently-active garbage collection for a registry, send a PUT request to `/v2/registry/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify one or more of the attributes below. - */ - "resources/registry/registry_update_garbageCollection.yml": { - parameters: { - path: { - registry_name: external["resources/registry/parameters.yml"]["registry_name"]; - garbage_collection_uuid: external["resources/registry/parameters.yml"]["garbage_collection_uuid"]; - }; + images_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique number that can be used to identify and reference a specific image. + * @example 62137902 + */ + image_id: components["parameters"]["image_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["image_update"]; + }; + }; + responses: { + 200: components["responses"]["updated_image"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/registry/models/update_registry.yml"]; - }; + images_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique number that can be used to identify and reference a specific image. + * @example 62137902 + */ + image_id: components["parameters"]["image_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/registry/responses/garbage_collection.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update Subscription Tier - * @description After creating your registry, you can switch to a different subscription tier to better suit your needs. To do this, send a POST request to `/v2/registry/subscription`. - */ - "resources/registry/registry_update_subscription.yml": { - requestBody?: { - content: { - "application/json": { - /** - * @description The slug of the subscription tier to sign up for. - * @example basic - * @enum {string} - */ - tier_slug?: "starter" | "basic" | "professional"; - }; - }; + imageActions_list: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique number that can be used to identify and reference a specific image. + * @example 62137902 + */ + image_id: components["parameters"]["image_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["get_image_actions_response"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/registry/responses/subscription_response.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Validate a Container Registry Name - * @description To validate that a container registry name is available for use, send a POST - * request to `/v2/registry/validate-name`. - * - * If the name is both formatted correctly and available, the response code will - * be 204 and contain no body. If the name is already in use, the response will - * be a 409 Conflict. - */ - "resources/registry/registry_validate_name.yml": { - requestBody: { - content: { - "application/json": external["resources/registry/models/validate_registry.yml"]; - }; + imageActions_post: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique number that can be used to identify and reference a specific image. + * @example 62137902 + */ + image_id: components["parameters"]["image_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["image_action_base"] | components["schemas"]["image_action_transfer"]; + }; + }; + responses: { + 201: components["responses"]["post_image_action_response"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 409: external["shared/responses/conflict.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/registry/responses/all_repositories_v2.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + imageActions_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique number that can be used to identify and reference a specific image. + * @example 62137902 + */ + image_id: components["parameters"]["image_id"]; + /** + * @description A unique numeric ID that can be used to identify and reference an action. + * @example 36804636 + */ + action_id: components["parameters"]["action_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["get_image_action_response"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - repositories?: external["resources/registry/models/repository_v2.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + kubernetes_list_clusters: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_clusters"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/registry/responses/all_repositories.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + kubernetes_create_cluster: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["cluster"]; + }; + }; + responses: { + 201: components["responses"]["cluster_create"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - repositories?: external["resources/registry/models/repository.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + kubernetes_get_cluster: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_cluster"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/registry/responses/docker_credentials.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + kubernetes_update_cluster: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["cluster_update"]; + }; + }; + responses: { + 202: components["responses"]["updated_cluster"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["resources/registry/models/docker_credentials.yml"]; + kubernetes_delete_cluster: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/registry/responses/garbage_collection.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + kubernetes_list_associatedResources: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["associated_kubernetes_resources_list"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - garbage_collection?: external["resources/registry/models/garbage_collection.yml"]; - }; + kubernetes_destroy_associatedResourcesSelective: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["destroy_associated_kubernetes_resources"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/registry/responses/garbage_collections.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + kubernetes_destroy_associatedResourcesDangerous: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - garbage_collections?: external["resources/registry/models/garbage_collection.yml"][]; - }; + kubernetes_get_kubeconfig: { + parameters: { + query?: { + /** + * @description The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. + * @example 300 + */ + expiry_seconds?: components["parameters"]["kubernetes_expiry_seconds"]; + }; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["kubeconfig"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/registry/responses/registry_info.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + kubernetes_get_credentials: { + parameters: { + query?: { + /** + * @description The duration in seconds that the returned Kubernetes credentials will be valid. If not set or 0, the credentials will have a 7 day expiry. + * @example 300 + */ + expiry_seconds?: components["parameters"]["kubernetes_expiry_seconds"]; + }; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["credentials"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - registry?: external["resources/registry/models/registry.yml"]; - }; + kubernetes_get_availableUpgrades: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["available_upgrades"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/registry/responses/registry_options_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - options?: { - /** - * @example [ - * "nyc3" - * ] - */ - available_regions?: string[]; - subscription_tiers?: (external["resources/registry/models/subscription_tier.yml"]["subscription_tier_base"] & external["resources/registry/models/subscription_tier.yml"]["subscription_tier_extended"])[]; - }; - }; - }; - }; - "resources/registry/responses/repository_manifests.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + kubernetes_upgrade_cluster: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The slug identifier for the version of Kubernetes that the cluster will be upgraded to. + * @example 1.16.13-do.0 + */ + version?: string; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - manifests?: external["resources/registry/models/repository_manifest.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + kubernetes_list_nodePools: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_node_pools"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/registry/responses/repository_tags.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + kubernetes_add_nodePool: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "size": "s-1vcpu-2gb", + * "count": 3, + * "name": "new-pool", + * "tags": [ + * "frontend" + * ], + * "auto_scale": true, + * "min_nodes": 3, + * "max_nodes": 6 + * } */ + "application/json": components["schemas"]["kubernetes_node_pool"]; + }; + }; + responses: { + 201: components["responses"]["node_pool_create"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - tags?: external["resources/registry/models/repository_tag.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + kubernetes_get_nodePool: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + /** + * @description A unique ID that can be used to reference a Kubernetes node pool. + * @example cdda885e-7663-40c8-bc74-3a036c66545d + */ + node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_node_pool"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/registry/responses/subscription_response.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - subscription?: external["resources/registry/models/subscription.yml"]; - }; - }; - }; - "resources/reserved_ips/models/reserved_ip_actions.yml": { - reserved_ip_action_type: { - /** - * @description The type of action to initiate for the reserved IP. - * @enum {string} - */ - type: "assign" | "unassign"; - }; - reserved_ip_action_unassign: { - type: undefined; - } & Omit & Record; - reserved_ip_action_assign: { - type: undefined; - } & Omit & { - /** - * @description The ID of the Droplet that the reserved IP will be assigned to. - * @example 758604968 - */ - droplet_id: number; - }; - }; - "resources/reserved_ips/models/reserved_ip_create.yml": OneOf<[{ - /** - * @description The ID of the Droplet that the reserved IP will be assigned to. - * @example 2457247 - */ - droplet_id: number; - }, { - /** - * @description The slug identifier for the region the reserved IP will be reserved to. - * @example nyc3 - */ - region: string; - /** - * Format: uuid - * @description The UUID of the project to which the reserved IP will be assigned. - * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 - */ - project_id?: string; - }]>; - "resources/reserved_ips/models/reserved_ip.yml": { - /** - * Format: ipv4 - * @description The public IP address of the reserved IP. It also serves as its identifier. - * @example 45.55.96.47 - */ - ip?: string; - region?: external["resources/regions/models/region.yml"] & Record; - /** - * @description The Droplet that the reserved IP has been assigned to. When you query a reserved IP, if it is assigned to a Droplet, the entire Droplet object will be returned. If it is not assigned, the value will be null. - * @example null - */ - droplet?: (Record | null) | external["resources/droplets/models/droplet.yml"]; - /** - * @description A boolean value indicating whether or not the reserved IP has pending actions preventing new ones from being submitted. - * @example true - */ - locked?: boolean; - /** - * Format: uuid - * @description The UUID of the project to which the reserved IP currently belongs. - * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 - */ - project_id?: string; - }; - "resources/reserved_ips/parameters.yml": { - reserved_ip: string; - }; - /** - * Create a New Reserved IP - * @description On creation, a reserved IP must be either assigned to a Droplet or reserved to a region. - * * To create a new reserved IP assigned to a Droplet, send a POST - * request to `/v2/reserved_ips` with the `droplet_id` attribute. - * - * * To create a new reserved IP reserved to a region, send a POST request to - * `/v2/reserved_ips` with the `region` attribute. - * - * **Note**: In addition to the standard rate limiting, only 12 reserved IPs may be created per 60 seconds. - */ - "resources/reserved_ips/reservedIPs_create.yml": { - requestBody: { - content: { - "application/json": external["resources/reserved_ips/models/reserved_ip_create.yml"]; - }; + kubernetes_update_nodePool: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + /** + * @description A unique ID that can be used to reference a Kubernetes node pool. + * @example cdda885e-7663-40c8-bc74-3a036c66545d + */ + node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["kubernetes_node_pool_update"]; + }; + }; + responses: { + 202: components["responses"]["node_pool_update"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 202: external["resources/reserved_ips/responses/reserved_ip_created.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Reserved IP - * @description To delete a reserved IP and remove it from your account, send a DELETE request - * to `/v2/reserved_ips/$RESERVED_IP_ADDR`. - * - * A successful request will receive a 204 status code with no body in response. - * This indicates that the request was processed successfully. - */ - "resources/reserved_ips/reservedIPs_delete.yml": { - parameters: { - path: { - reserved_ip: external["resources/reserved_ips/parameters.yml"]["reserved_ip"]; - }; + kubernetes_delete_nodePool: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + /** + * @description A unique ID that can be used to reference a Kubernetes node pool. + * @example cdda885e-7663-40c8-bc74-3a036c66545d + */ + node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Reserved IP - * @description To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. - */ - "resources/reserved_ips/reservedIPs_get.yml": { - parameters: { - path: { - reserved_ip: external["resources/reserved_ips/parameters.yml"]["reserved_ip"]; - }; + kubernetes_delete_node: { + parameters: { + query?: { + /** + * @description Specifies whether or not to drain workloads from a node before it is deleted. Setting it to `1` causes node draining to be skipped. Omitting the query parameter or setting its value to `0` carries out draining prior to deletion. + * @example 1 + */ + skip_drain?: components["parameters"]["kubernetes_node_skip_drain"]; + /** + * @description Specifies whether or not to replace a node after it has been deleted. Setting it to `1` causes the node to be replaced by a new one after deletion. Omitting the query parameter or setting its value to `0` deletes without replacement. + * @example 1 + */ + replace?: components["parameters"]["kubernetes_node_replace"]; + }; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + /** + * @description A unique ID that can be used to reference a Kubernetes node pool. + * @example cdda885e-7663-40c8-bc74-3a036c66545d + */ + node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; + /** + * @description A unique ID that can be used to reference a node in a Kubernetes node pool. + * @example 478247f8-b1bb-4f7a-8db9-2a5f8d4b8f8f + */ + node_id: components["parameters"]["kubernetes_node_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/reserved_ips/responses/reserved_ip.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Reserved IPs - * @description To list all of the reserved IPs available on your account, send a GET request to `/v2/reserved_ips`. - */ - "resources/reserved_ips/reservedIPs_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + kubernetes_recycle_node_pool: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + /** + * @description A unique ID that can be used to reference a Kubernetes node pool. + * @example cdda885e-7663-40c8-bc74-3a036c66545d + */ + node_pool_id: components["parameters"]["kubernetes_node_pool_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @example [ + * "d8db5e1a-6103-43b5-a7b3-8a948210a9fc" + * ] */ + nodes?: string[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/reserved_ips/responses/reserved_ip_list.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Reserved IP Action - * @description To retrieve the status of a reserved IP action, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`. - */ - "resources/reserved_ips/reservedIPsActions_get.yml": { - parameters: { - path: { - reserved_ip: external["resources/reserved_ips/parameters.yml"]["reserved_ip"]; - action_id: external["resources/actions/parameters.yml"]["action_id"]; - }; + kubernetes_get_clusterUser: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["cluster_user"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/reserved_ips/responses/reserved_ip_action.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Actions for a Reserved IP - * @description To retrieve all actions that have been executed on a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`. - */ - "resources/reserved_ips/reservedIPsActions_list.yml": { - parameters: { - path: { - reserved_ip: external["resources/reserved_ips/parameters.yml"]["reserved_ip"]; - }; + kubernetes_list_options: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_options"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/reserved_ips/responses/reserved_ip_actions.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Initiate a Reserved IP Action - * @description To initiate an action on a reserved IP send a POST request to - * `/v2/reserved_ips/$RESERVED_IP/actions`. In the JSON body to the request, - * set the `type` attribute to on of the supported action types: - * - * | Action | Details - * |------------|-------- - * | `assign` | Assigns a reserved IP to a Droplet - * | `unassign` | Unassign a reserved IP from a Droplet - */ - "resources/reserved_ips/reservedIPsActions_post.yml": { - parameters: { - path: { - reserved_ip: external["resources/reserved_ips/parameters.yml"]["reserved_ip"]; - }; - }; - /** - * @description The `type` attribute set in the request body will specify the action that - * will be taken on the reserved IP. - */ - requestBody?: { - content: { - "application/json": external["resources/reserved_ips/models/reserved_ip_actions.yml"]["reserved_ip_action_unassign"] | external["resources/reserved_ips/models/reserved_ip_actions.yml"]["reserved_ip_action_assign"]; - }; + kubernetes_get_clusterLintResults: { + parameters: { + query?: { + /** + * @description Specifies the clusterlint run whose results will be retrieved. + * @example 50c2f44c-011d-493e-aee5-361a4a0d1844 + */ + run_id?: components["parameters"]["clusterlint_run_id"]; + }; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["clusterlint_results"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/reserved_ips/responses/reserved_ip_action.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/reserved_ips/responses/examples.yml": unknown - "resources/reserved_ips/responses/reserved_ip_action.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - action?: external["resources/actions/models/action.yml"] & { - /** - * Format: uuid - * @description The UUID of the project to which the reserved IP currently belongs. - * @example 746c6152-2fa2-11ed-92d3-27aaa54e4988 - */ - project_id?: string; - }; - }; - }; - }; - "resources/reserved_ips/responses/reserved_ip_actions.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + kubernetes_run_clusterLint: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique ID that can be used to reference a Kubernetes cluster. + * @example bd5f5959-5e1e-4205-a714-a914373942af + */ + cluster_id: components["parameters"]["kubernetes_cluster_id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["clusterlint_request"]; + }; + }; + responses: { + 202: components["responses"]["clusterlint_run"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - actions?: external["resources/actions/models/action.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + kubernetes_add_registry: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["cluster_registries"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/reserved_ips/responses/reserved_ip_created.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + kubernetes_remove_registry: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["cluster_registries"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - reserved_ip?: external["resources/reserved_ips/models/reserved_ip.yml"]; - links?: { - droplets?: external["shared/models/action_link.yml"][]; - actions?: external["shared/models/action_link.yml"][]; + loadBalancers_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_load_balancers"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; }; - }; }; - }; - "resources/reserved_ips/responses/reserved_ip_list.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + loadBalancers_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["load_balancer_create"]; + }; + }; + responses: { + 202: components["responses"]["load_balancer_create"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - reserved_ips?: external["resources/reserved_ips/models/reserved_ip.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + loadBalancers_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + lb_id: components["parameters"]["load_balancer_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_load_balancer"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/reserved_ips/responses/reserved_ip.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - reserved_ip?: external["resources/reserved_ips/models/reserved_ip.yml"]; - }; - }; - }; - "resources/sizes/models/size.yml": { - /** - * @description A human-readable string that is used to uniquely identify each size. - * @example s-1vcpu-1gb - */ - slug: string; - /** - * @description The amount of RAM allocated to Droplets created of this size. The value is represented in megabytes. - * @example 1024 - */ - memory: number; - /** - * @description The integer of number CPUs allocated to Droplets of this size. - * @example 1 - */ - vcpus: number; - /** - * @description The amount of disk space set aside for Droplets of this size. The value is represented in gigabytes. - * @example 25 - */ - disk: number; - /** - * Format: float - * @description The amount of transfer bandwidth that is available for Droplets created in this size. This only counts traffic on the public interface. The value is given in terabytes. - * @example 1 - */ - transfer: number; - /** - * Format: float - * @description This attribute describes the monthly cost of this Droplet size if the Droplet is kept for an entire month. The value is measured in US dollars. - * @example 5 - */ - price_monthly: number; - /** - * Format: float - * @description This describes the price of the Droplet size as measured hourly. The value is measured in US dollars. - * @example 0.00743999984115362 - */ - price_hourly: number; - /** - * @description An array containing the region slugs where this size is available for Droplet creates. - * @example [ - * "ams2", - * "ams3", - * "blr1", - * "fra1", - * "lon1", - * "nyc1", - * "nyc2", - * "nyc3", - * "sfo1", - * "sfo2", - * "sfo3", - * "sgp1", - * "tor1" - * ] - */ - regions: string[]; - /** - * @description This is a boolean value that represents whether new Droplets can be created with this size. - * @default true - * @example true - */ - available: boolean; - /** - * @description A string describing the class of Droplets created from this size. For example: Basic, General Purpose, CPU-Optimized, Memory-Optimized, or Storage-Optimized. - * @example Basic - */ - description: string; - }; - "resources/sizes/responses/all_sizes.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - sizes: external["resources/sizes/models/size.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - /** - * List All Droplet Sizes - * @description To list all of available Droplet sizes, send a GET request to `/v2/sizes`. - * The response will be a JSON object with a key called `sizes`. The value of this will be an array of `size` objects each of which contain the standard size attributes. - */ - "resources/sizes/sizes_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + loadBalancers_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + lb_id: components["parameters"]["load_balancer_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["load_balancer_create"]; + }; + }; + responses: { + 200: components["responses"]["updated_load_balancer"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/sizes/responses/all_sizes.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/snapshots/models/snapshots_base.yml": { - /** - * @description A human-readable name for the snapshot. - * @example web-01-1595954862243 - */ - name: string; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format that represents when the snapshot was created. - * @example 2020-07-28T16:47:44Z - */ - created_at: string; - /** - * @description An array of the regions that the snapshot is available in. The regions are represented by their identifying slug values. - * @example [ - * "nyc3", - * "sfo3" - * ] - */ - regions: string[]; - /** - * @description The minimum size in GB required for a volume or Droplet to use this snapshot. - * @example 25 - */ - min_disk_size: number; - /** - * Format: float - * @description The billable size of the snapshot in gigabytes. - * @example 2.34 - */ - size_gigabytes: number; - }; - "resources/snapshots/models/snapshots.yml": { - /** - * @description The unique identifier for the snapshot. - * @example 6372321 - */ - id: string; - } & external["resources/snapshots/models/snapshots_base.yml"] & ({ - /** - * @description The unique identifier for the resource that the snapshot originated from. - * @example 200776916 - */ - resource_id: string; - /** - * @description The type of resource that the snapshot originated from. - * @example droplet - * @enum {string} - */ - resource_type: "droplet" | "volume"; - /** - * @description An array of Tags the snapshot has been tagged with. - * @example [ - * "web", - * "env:prod" - * ] - */ - tags: string[] | null; - }); - "resources/snapshots/parameters.yml": { - snapshot_resource_type?: "droplet" | "volume"; - snapshot_id: number | string; - }; - "resources/snapshots/responses/examples.yml": unknown - "resources/snapshots/responses/snapshots_existing.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + loadBalancers_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + lb_id: components["parameters"]["load_balancer_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - snapshot?: external["resources/snapshots/models/snapshots.yml"]; - }; + loadBalancers_add_droplets: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + lb_id: components["parameters"]["load_balancer_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description An array containing the IDs of the Droplets assigned to the load balancer. + * @example [ + * 3164444, + * 3164445 + * ] + */ + droplet_ids: number[]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/snapshots/responses/snapshots.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - snapshots?: external["resources/snapshots/models/snapshots.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - /** - * Delete a Snapshot - * @description Both Droplet and volume snapshots are managed through the `/v2/snapshots/` - * endpoint. To delete a snapshot, send a DELETE request to - * `/v2/snapshots/$SNAPSHOT_ID`. - * - * A status of 204 will be given. This indicates that the request was processed - * successfully, but that no response body is needed. - */ - "resources/snapshots/snapshots_delete.yml": { - parameters: { - path: { - snapshot_id: external["resources/snapshots/parameters.yml"]["snapshot_id"]; - }; + loadBalancers_remove_droplets: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + lb_id: components["parameters"]["load_balancer_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description An array containing the IDs of the Droplets assigned to the load balancer. + * @example [ + * 3164444, + * 3164445 + * ] + */ + droplet_ids: number[]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Snapshot - * @description To retrieve information about a snapshot, send a GET request to - * `/v2/snapshots/$SNAPSHOT_ID`. - * - * The response will be a JSON object with a key called `snapshot`. The value of - * this will be an snapshot object containing the standard snapshot attributes. - */ - "resources/snapshots/snapshots_get.yml": { - parameters: { - path: { - snapshot_id: external["resources/snapshots/parameters.yml"]["snapshot_id"]; - }; + loadBalancers_add_forwardingRules: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + lb_id: components["parameters"]["load_balancer_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + forwarding_rules: components["schemas"]["forwarding_rule"][]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/snapshots/responses/snapshots_existing.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Snapshots - * @description To list all of the snapshots available on your account, send a GET request to - * `/v2/snapshots`. - * - * The response will be a JSON object with a key called `snapshots`. This will be - * set to an array of `snapshot` objects, each of which will contain the standard - * snapshot attributes. - * - * ### Filtering Results by Resource Type - * - * It's possible to request filtered results by including certain query parameters. - * - * #### List Droplet Snapshots - * - * To retrieve only snapshots based on Droplets, include the `resource_type` - * query parameter set to `droplet`. For example, `/v2/snapshots?resource_type=droplet`. - * - * #### List Volume Snapshots - * - * To retrieve only snapshots based on volumes, include the `resource_type` - * query parameter set to `volume`. For example, `/v2/snapshots?resource_type=volume`. - */ - "resources/snapshots/snapshots_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - resource_type?: external["resources/snapshots/parameters.yml"]["snapshot_resource_type"]; - }; + loadBalancers_remove_forwardingRules: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a load balancer. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + lb_id: components["parameters"]["load_balancer_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + forwarding_rules: components["schemas"]["forwarding_rule"][]; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/snapshots/responses/snapshots.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/ssh_keys/attributes/ssh_key_fingerprint.yml": string; - "resources/ssh_keys/attributes/ssh_key_id.yml": number; - "resources/ssh_keys/attributes/ssh_key_name.yml": string; - "resources/ssh_keys/links/sshKeys_delete_by_fingerprint.yml": { - content: never; - }; - "resources/ssh_keys/links/sshKeys_delete_by_id.yml": { - content: never; - }; - "resources/ssh_keys/links/sshKeys_get_by_fingerprint.yml": { - content: never; - }; - "resources/ssh_keys/links/sshKeys_get_by_id.yml": { - content: never; - }; - "resources/ssh_keys/models/sshKeys.yml": { - id?: external["resources/ssh_keys/attributes/ssh_key_id.yml"]; - fingerprint?: external["resources/ssh_keys/attributes/ssh_key_fingerprint.yml"]; - /** - * @description The entire public key string that was uploaded. Embedded into the root user's `authorized_keys` file if you include this key during Droplet creation. - * @example ssh-rsa AEXAMPLEaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example - */ - public_key: string; - name: external["resources/ssh_keys/attributes/ssh_key_name.yml"]; - }; - "resources/ssh_keys/parameters/ssh_key_identifier.yml": unknown - "resources/ssh_keys/responses/sshKeys_all.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + monitoring_list_alertPolicy: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["list_alert_policy_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - ssh_keys?: external["resources/ssh_keys/models/sshKeys.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + monitoring_create_alertPolicy: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy: + * + * Type | Description | Valid Entity Type + * -----|-------------|-------------------- + * `v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID + * `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID + * `v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID + * `v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID + * `v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID + * `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID + * `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID + * `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID + * `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID + * `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID + * `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID + * `v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID + * `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID + * `v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID + * `v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID + * `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization|load balancer ID + * `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID + * `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID + * `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID + * `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID + * `v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID + * `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID + * `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID + * `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID + * `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID + * `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID + * `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID + * `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID + * */ + requestBody: { + content: { + "application/json": components["schemas"]["alert_policy_request"]; + }; + }; + responses: { + 200: components["responses"]["alert_policy_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/ssh_keys/responses/sshKeys_existing.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + monitoring_get_alertPolicy: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for an alert policy. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + alert_uuid: components["parameters"]["alert_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["alert_policy_response"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - ssh_key?: external["resources/ssh_keys/models/sshKeys.yml"]; - }; + monitoring_update_alertPolicy: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for an alert policy. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + alert_uuid: components["parameters"]["alert_uuid"]; + }; + cookie?: never; + }; + /** @description The `type` field dictates what type of entity that the alert policy applies to and hence what type of entity is passed in the `entities` array. If both the `tags` array and `entities` array are empty the alert policy applies to all entities of the relevant type that are owned by the user account. Otherwise the following table shows the valid entity types for each type of alert policy: + * + * Type | Description | Valid Entity Type + * -----|-------------|-------------------- + * `v1/insights/droplet/memory_utilization_percent` | alert on the percent of memory utilization | Droplet ID + * `v1/insights/droplet/disk_read` | alert on the rate of disk read I/O in MBps | Droplet ID + * `v1/insights/droplet/load_5` | alert on the 5 minute load average | Droplet ID + * `v1/insights/droplet/load_15` | alert on the 15 minute load average | Droplet ID + * `v1/insights/droplet/disk_utilization_percent` | alert on the percent of disk utilization | Droplet ID + * `v1/insights/droplet/cpu` | alert on the percent of CPU utilization | Droplet ID + * `v1/insights/droplet/disk_write` | alert on the rate of disk write I/O in MBps | Droplet ID + * `v1/insights/droplet/public_outbound_bandwidth` | alert on the rate of public outbound bandwidth in Mbps | Droplet ID + * `v1/insights/droplet/public_inbound_bandwidth` | alert on the rate of public inbound bandwidth in Mbps | Droplet ID + * `v1/insights/droplet/private_outbound_bandwidth` | alert on the rate of private outbound bandwidth in Mbps | Droplet ID + * `v1/insights/droplet/private_inbound_bandwidth` | alert on the rate of private inbound bandwidth in Mbps | Droplet ID + * `v1/insights/droplet/load_1` | alert on the 1 minute load average | Droplet ID + * `v1/insights/lbaas/avg_cpu_utilization_percent`|alert on the percent of CPU utilization|load balancer ID + * `v1/insights/lbaas/connection_utilization_percent`|alert on the percent of connection utilization|load balancer ID + * `v1/insights/lbaas/droplet_health`|alert on Droplet health status changes|load balancer ID + * `v1/insights/lbaas/tls_connections_per_second_utilization_percent`|alert on the percent of TLS connections per second utilization|load balancer ID + * `v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx`|alert on the percent increase of 5xx level http errors over 5m|load balancer ID + * `v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx`|alert on the percent increase of 4xx level http errors over 5m|load balancer ID + * `v1/insights/lbaas/increase_in_http_error_rate_count_5xx`|alert on the count of 5xx level http errors over 5m|load balancer ID + * `v1/insights/lbaas/increase_in_http_error_rate_count_4xx`|alert on the count of 4xx level http errors over 5m|load balancer ID + * `v1/insights/lbaas/high_http_request_response_time`|alert on high average http response time|load balancer ID + * `v1/insights/lbaas/high_http_request_response_time_50p`|alert on high 50th percentile http response time|load balancer ID + * `v1/insights/lbaas/high_http_request_response_time_95p`|alert on high 95th percentile http response time|load balancer ID + * `v1/insights/lbaas/high_http_request_response_time_99p`|alert on high 99th percentile http response time|load balancer ID + * `v1/dbaas/alerts/load_15_alerts` | alert on 15 minute load average across the database cluster | database cluster UUID + * `v1/dbaas/alerts/memory_utilization_alerts` | alert on the percent memory utilization average across the database cluster | database cluster UUID + * `v1/dbaas/alerts/disk_utilization_alerts` | alert on the percent disk utilization average across the database cluster | database cluster UUID + * `v1/dbaas/alerts/cpu_alerts` | alert on the percent CPU usage average across the database cluster | database cluster UUID + * */ + requestBody: { + content: { + "application/json": components["schemas"]["alert_policy_request"]; + }; + }; + responses: { + 200: components["responses"]["alert_policy_response"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/ssh_keys/responses/sshKeys_new.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - ssh_key?: external["resources/ssh_keys/models/sshKeys.yml"]; - }; - }; - }; - /** - * Create a New SSH Key - * @description To add a new SSH public key to your DigitalOcean account, send a POST request to `/v2/account/keys`. Set the `name` attribute to the name you wish to use and the `public_key` attribute to the full public key you are adding. - */ - "resources/ssh_keys/sshKeys_create.yml": { - requestBody: { - content: { - "application/json": external["resources/ssh_keys/models/sshKeys.yml"]; - }; + monitoring_delete_alertPolicy: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for an alert policy. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + alert_uuid: components["parameters"]["alert_uuid"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/ssh_keys/responses/sshKeys_new.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete an SSH Key - * @description To destroy a public SSH key that you have in your account, send a DELETE request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`. - * A 204 status will be returned, indicating that the action was successful and that the response body is empty. - */ - "resources/ssh_keys/sshKeys_delete.yml": { - parameters: { - path: { - ssh_key_identifier: external["resources/ssh_keys/parameters/ssh_key_identifier.yml"]; - }; + monitoring_get_dropletBandwidthMetrics: { + parameters: { + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description The network interface. + * @example private + */ + interface: components["parameters"]["network_interface"]; + /** + * @description The traffic direction. + * @example inbound + */ + direction: components["parameters"]["network_direction"]; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["droplet_bandwidth_metric_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing SSH Key - * @description To get information about a key, send a GET request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`. - * The response will be a JSON object with the key `ssh_key` and value an ssh_key object which contains the standard ssh_key attributes. - */ - "resources/ssh_keys/sshKeys_get.yml": { - parameters: { - path: { - ssh_key_identifier: external["resources/ssh_keys/parameters/ssh_key_identifier.yml"]; - }; + monitoring_get_DropletCpuMetrics: { + parameters: { + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["droplet_cpu_metric_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/ssh_keys/responses/sshKeys_existing.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All SSH Keys - * @description To list all of the keys in your account, send a GET request to `/v2/account/keys`. The response will be a JSON object with a key set to `ssh_keys`. The value of this will be an array of ssh_key objects, each of which contains the standard ssh_key attributes. - */ - "resources/ssh_keys/sshKeys_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + monitoring_get_dropletFilesystemFreeMetrics: { + parameters: { + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["droplet_filesystem_metric_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/ssh_keys/responses/sshKeys_all.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update an SSH Key's Name - * @description To update the name of an SSH key, send a PUT request to either `/v2/account/keys/$SSH_KEY_ID` or `/v2/account/keys/$SSH_KEY_FINGERPRINT`. Set the `name` attribute to the new name you want to use. - */ - "resources/ssh_keys/sshKeys_update.yml": { - parameters: { - path: { - ssh_key_identifier: external["resources/ssh_keys/parameters/ssh_key_identifier.yml"]; - }; + monitoring_get_dropletFilesystemSizeMetrics: { + parameters: { + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["droplet_filesystem_metric_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - /** @description Set the `name` attribute to the new name you want to use. */ - requestBody: { - content: { - "application/json": { - name?: external["resources/ssh_keys/attributes/ssh_key_name.yml"]; + monitoring_get_dropletLoad1Metrics: { + parameters: { + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["metric_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; }; - }; }; - responses: { - 200: external["resources/ssh_keys/responses/sshKeys_existing.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/tags/models/tags_metadata.yml": { - /** - * @description The number of tagged objects for this type of resource. - * @example 5 - */ - count?: number; - /** - * @description The URI for the last tagged object for this type of resource. - * @example https://api.digitalocean.com/v2/images/7555620 - */ - last_tagged_uri?: string; - }; - "resources/tags/models/tags_resource.yml": { - /** - * @description An array of objects containing resource_id and resource_type attributes. - * @example [ - * { - * "resource_id": "9569411", - * "resource_type": "droplet" - * }, - * { - * "resource_id": "7555620", - * "resource_type": "image" - * }, - * { - * "resource_id": "3d80cb72-342b-4aaa-b92e-4e4abb24a933", - * "resource_type": "volume" - * } - * ] - */ - resources: ({ - /** - * @description The identifier of a resource. - * @example 3d80cb72-342b-4aaa-b92e-4e4abb24a933 - */ - resource_id?: string; - /** - * @description The type of the resource. - * @example volume - * @enum {string} - */ - resource_type?: "droplet" | "image" | "volume" | "volume_snapshot"; - })[]; - }; - "resources/tags/models/tags.yml": { - /** - * @description The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. - * There is a limit of 255 characters per tag. - * - * **Note:** Tag names are case stable, which means the capitalization you use when you first create a tag is canonical. - * - * When working with tags in the API, you must use the tag's canonical capitalization. For example, if you create a tag named "PROD", the URL to add that tag to a resource would be `https://api.digitalocean.com/v2/tags/PROD/resources` (not `/v2/tags/prod/resources`). - * - * Tagged resources in the control panel will always display the canonical capitalization. For example, if you create a tag named "PROD", you can tag resources in the control panel by entering "prod". The tag will still display with its canonical capitalization, "PROD". - * - * @example extra-awesome - */ - name?: string; - /** - * @description An embedded object containing key value pairs of resource type and resource statistics. It also includes a count of the total number of resources tagged with the current tag as well as a `last_tagged_uri` attribute set to the last resource tagged with the current tag. - * @example { - * "count": 5, - * "last_tagged_uri": "https://api.digitalocean.com/v2/images/7555620", - * "droplets": { - * "count": 1, - * "last_tagged_uri": "https://api.digitalocean.com/v2/droplets/3164444" - * }, - * "images": { - * "count": 1, - * "last_tagged_uri": "https://api.digitalocean.com/v2/images/7555620" - * }, - * "volumes": { - * "count": 1, - * "last_tagged_uri": "https://api.digitalocean.com/v2/volumes/3d80cb72-342b-4aaa-b92e-4e4abb24a933" - * }, - * "volume_snapshots": { - * "count": 1, - * "last_tagged_uri": "https://api.digitalocean.com/v2/snapshots/1f6f46e8-6b60-11e9-be4e-0a58ac144519" - * }, - * "databases": { - * "count": 1, - * "last_tagged_uri": "https://api.digitalocean.com/v2/databases/b92438f6-ba03-416c-b642-e9236db91976" - * } - * } - */ - resources?: external["resources/tags/models/tags_metadata.yml"] & { - droplets?: external["resources/tags/models/tags_metadata.yml"]; - imgages?: external["resources/tags/models/tags_metadata.yml"]; - volumes?: external["resources/tags/models/tags_metadata.yml"]; - volume_snapshots?: external["resources/tags/models/tags_metadata.yml"]; - databases?: external["resources/tags/models/tags_metadata.yml"]; - }; - }; - "resources/tags/parameters.yml": { - tag_id: string; - }; - "resources/tags/responses/tags_all.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + monitoring_get_dropletLoad5Metrics: { + parameters: { + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["metric_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - tags?: external["resources/tags/models/tags.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + monitoring_get_dropletLoad15Metrics: { + parameters: { + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["metric_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/tags/responses/tags_bad_request.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - "x-request-id"?: unknown; + monitoring_get_dropletMemoryCachedMetrics: { + parameters: { + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["metric_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["shared/models/error_with_root_causes.yml"]; + monitoring_get_dropletMemoryFreeMetrics: { + parameters: { + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["metric_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/tags/responses/tags_existing.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + monitoring_get_dropletMemoryTotalMetrics: { + parameters: { + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["metric_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - tag?: external["resources/tags/models/tags.yml"]; - }; + monitoring_get_dropletMemoryAvailableMetrics: { + parameters: { + query: { + /** + * @description The droplet ID. + * @example 17209102 + */ + host_id: components["parameters"]["parameters_droplet_id"]; + /** + * @description Timestamp to start metric window. + * @example 1620683817 + */ + start: components["parameters"]["metric_timestamp_start"]; + /** + * @description Timestamp to end metric window. + * @example 1620705417 + */ + end: components["parameters"]["metric_timestamp_end"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["metric_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/tags/responses/tags_new.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - tag?: external["resources/tags/models/tags.yml"]; - }; - }; - }; - /** - * Tag a Resource - * @description Resources can be tagged by sending a POST request to `/v2/tags/$TAG_NAME/resources` with an array of json objects containing `resource_id` and `resource_type` attributes. - * Currently only tagging of Droplets, Databases, Images, Volumes, and Volume Snapshots is supported. `resource_type` is expected to be the string `droplet`, `database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected to be the ID of the resource as a string. - */ - "resources/tags/tags_assign_resources.yml": { - parameters: { - path: { - tag_id: external["resources/tags/parameters.yml"]["tag_id"]; - }; + projects_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["projects_list"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/tags/models/tags_resource.yml"]; - }; + projects_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": WithRequired; + }; + }; + responses: { + 201: components["responses"]["existing_project"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a New Tag - * @description To create a tag you can send a POST request to `/v2/tags` with a `name` attribute. - */ - "resources/tags/tags_create.yml": { - requestBody: { - content: { - "application/json": external["resources/tags/models/tags.yml"]; - }; + projects_get_default: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["default_project"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/tags/responses/tags_new.yml"]; - 400: external["resources/tags/responses/tags_bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Tag - * @description A tag can be deleted by sending a `DELETE` request to `/v2/tags/$TAG_NAME`. Deleting a tag also untags all the resources that have previously been tagged by the Tag - */ - "resources/tags/tags_delete.yml": { - parameters: { - path: { - tag_id: external["resources/tags/parameters.yml"]["tag_id"]; - }; + projects_update_default: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": WithRequired; + }; + }; + responses: { + 200: components["responses"]["existing_project"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve a Tag - * @description To retrieve an individual tag, you can send a `GET` request to `/v2/tags/$TAG_NAME`. - */ - "resources/tags/tags_get.yml": { - parameters: { - path: { - tag_id: external["resources/tags/parameters.yml"]["tag_id"]; - }; + projects_patch_default: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "name": "my-web-api" + * } */ + "application/json": components["schemas"]["project"]; + }; + }; + responses: { + 200: components["responses"]["existing_project"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/tags/responses/tags_existing.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Tags - * @description To list all of your tags, you can send a GET request to `/v2/tags`. - */ - "resources/tags/tags_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + projects_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a project. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + project_id: components["parameters"]["project_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_project"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/tags/responses/tags_all.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Untag a Resource - * @description Resources can be untagged by sending a DELETE request to `/v2/tags/$TAG_NAME/resources` with an array of json objects containing `resource_id` and `resource_type` attributes. - * Currently only untagging of Droplets, Databases, Images, Volumes, and Volume Snapshots is supported. `resource_type` is expected to be the string `droplet`, `database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected to be the ID of the resource as a string. - */ - "resources/tags/tags_unassign_resources.yml": { - parameters: { - path: { - tag_id: external["resources/tags/parameters.yml"]["tag_id"]; - }; + projects_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a project. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + project_id: components["parameters"]["project_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": WithRequired; + }; + }; + responses: { + 200: components["responses"]["existing_project"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/tags/models/tags_resource.yml"]; - }; + projects_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a project. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + project_id: components["parameters"]["project_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 412: components["responses"]["precondition_failed"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a New Alert - * @description To create an Uptime alert, send a POST request to `/v2/uptime/checks/$CHECK_ID/alerts` specifying the attributes - * in the table below in the JSON body. - */ - "resources/uptime/create_alert.yml": { - parameters: { - path: { - check_id: external["resources/uptime/parameters.yml"]["check_id"]; - }; - }; - /** - * @description The ''type'' field dictates the type of alert, and hence what type of value to pass into the threshold property. - * Type | Description | Threshold Value - * -----|-------------|-------------------- - * `latency` | alerts on the response latency | milliseconds - * `down` | alerts on a target registering as down in any region | N/A (Not required) - * `down_global` | alerts on a target registering as down globally | N/A (Not required) - * `ssl_expiry` | alerts on a SSL certificate expiring within $threshold days | days - */ - requestBody: { - content: { - "application/json": WithRequired; - }; + projects_patch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a project. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + project_id: components["parameters"]["project_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "name": "my-web-api" + * } */ + "application/json": components["schemas"]["project"]; + }; + }; + responses: { + 200: components["responses"]["existing_project"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/uptime/responses/existing_alert.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a New Check - * @description To create an Uptime check, send a POST request to `/v2/uptime/checks` specifying the attributes - * in the table below in the JSON body. - */ - "resources/uptime/create_check.yml": { - requestBody: { - content: { - "application/json": WithRequired; - }; + projects_list_resources: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description A unique identifier for a project. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + project_id: components["parameters"]["project_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["resources_list"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/uptime/responses/existing_check.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete an Alert - * @description To delete an Uptime alert, send a DELETE request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. A 204 status - * code with no body will be returned in response to a successful request. - */ - "resources/uptime/delete_alert.yml": { - parameters: { - path: { - check_id: external["resources/uptime/parameters.yml"]["check_id"]; - alert_id: external["resources/uptime/parameters.yml"]["alert_id"]; - }; + projects_assign_resources: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a project. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + project_id: components["parameters"]["project_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["project_assignment"]; + }; + }; + responses: { + 200: components["responses"]["assigned_resources_list"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Check - * @description To delete an Uptime check, send a DELETE request to `/v2/uptime/checks/$CHECK_ID`. A 204 status - * code with no body will be returned in response to a successful request. - * - * - * Deleting a check will also delete alerts associated with the check. - */ - "resources/uptime/delete_check.yml": { - parameters: { - path: { - check_id: external["resources/uptime/parameters.yml"]["check_id"]; - }; + projects_list_resources_default: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["resources_list"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Alert - * @description To show information about an existing alert, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. - */ - "resources/uptime/get_alert.yml": { - parameters: { - path: { - check_id: external["resources/uptime/parameters.yml"]["check_id"]; - alert_id: external["resources/uptime/parameters.yml"]["alert_id"]; - }; + projects_assign_resources_default: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["project_assignment"]; + }; + }; + responses: { + 200: components["responses"]["assigned_resources_list"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/uptime/responses/existing_alert.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve Check State - * @description To show information about an existing check's state, send a GET request to `/v2/uptime/checks/$CHECK_ID/state`. - */ - "resources/uptime/get_check_state.yml": { - parameters: { - path: { - check_id: external["resources/uptime/parameters.yml"]["check_id"]; - }; + regions_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_regions"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/uptime/responses/existing_check_state.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Check - * @description To show information about an existing check, send a GET request to `/v2/uptime/checks/$CHECK_ID`. - */ - "resources/uptime/get_check.yml": { - parameters: { - path: { - check_id: external["resources/uptime/parameters.yml"]["check_id"]; - }; + registry_get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["registry_info"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/uptime/responses/existing_check.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Alerts - * @description To list all of the alerts for an Uptime check, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`. - */ - "resources/uptime/list_alerts.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - check_id: external["resources/uptime/parameters.yml"]["check_id"]; - }; + registry_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["registry_create"]; + }; + }; + responses: { + 201: components["responses"]["registry_info"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/uptime/responses/all_alerts.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Checks - * @description To list all of the Uptime checks on your account, send a GET request to `/v2/uptime/checks`. - */ - "resources/uptime/list_checks.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + registry_delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/uptime/responses/all_checks.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/uptime/models/alert.yml": { - alert: external["resources/uptime/models/alert.yml"]["alert_base"] & external["resources/uptime/models/alert.yml"]["alert_updatable"]; - alert_base: { - /** - * Format: uuid - * @description A unique ID that can be used to identify and reference the alert. - * @example 5a4981aa-9653-4bd1-bef5-d6bff52042e4 - */ - id?: string; - }; - alert_updatable: { - /** - * @description A human-friendly display name. - * @example Landing page degraded performance - */ - name?: string; - /** - * @description The type of alert. - * @example latency - * @enum {string} - */ - type?: "latency" | "down" | "down_global" | "ssl_expiry"; - /** - * @description The threshold at which the alert will enter a trigger state. The specific threshold is dependent on the alert type. - * @example 300 - */ - threshold?: number; - /** - * @description The comparison operator used against the alert's threshold. - * @example greater_than - * @enum {string} - */ - comparison?: "greater_than" | "less_than"; - notifications?: external["resources/uptime/models/notification.yml"]; - /** - * @description Period of time the threshold must be exceeded to trigger the alert. - * @example 2m - * @enum {string} - */ - period?: "2m" | "3m" | "5m" | "10m" | "15m" | "30m" | "1h"; - }; - }; - "resources/uptime/models/check.yml": { - check: external["resources/uptime/models/check.yml"]["check_base"] & external["resources/uptime/models/check.yml"]["check_updatable"]; - check_base: { - /** - * Format: uuid - * @description A unique ID that can be used to identify and reference the check. - * @example 5a4981aa-9653-4bd1-bef5-d6bff52042e4 - */ - id?: string; - }; - check_updatable: { - /** - * @description A human-friendly display name. - * @example Landing page check - */ - name?: string; - /** - * @description The type of health check to perform. - * @example https - * @enum {string} - */ - type?: "ping" | "http" | "https"; - /** - * Format: url - * @description The endpoint to perform healthchecks on. - * @example https://www.landingpage.com - */ - target?: string; - /** - * @description An array containing the selected regions to perform healthchecks from. - * @example [ - * "us_east", - * "eu_west" - * ] - */ - regions?: ("us_east" | "us_west" | "eu_west" | "se_asia")[]; - /** - * @description A boolean value indicating whether the check is enabled/disabled. - * @default true - * @example true - */ - enabled?: boolean; - }; - }; - "resources/uptime/models/notification.yml": { - /** - * @description An email to notify on an alert trigger. - * @example [ - * "bob@example.com" - * ] - */ - email: string[]; - /** @description Slack integration details. */ - slack: { - /** - * Format: string - * @description Slack channel to notify of an alert trigger. - * @example Production Alerts - */ - channel: string; - /** - * Format: string - * @description Slack Webhook URL. - * @example https://hooks.slack.com/services/T1234567/AAAAAAAA/ZZZZZZ - */ - url: string; - }[]; - }; - "resources/uptime/models/state.yml": { - state: { - regions?: external["resources/uptime/models/state.yml"]["regional_state"]; - previous_outage?: external["resources/uptime/models/state.yml"]["previous_outage"]; - }; - /** @description A map of region to regional state */ - regional_state: { - us_east?: external["resources/uptime/models/state.yml"]["region_state"]; - eu_west?: external["resources/uptime/models/state.yml"]["region_state"]; - }; - region_state: { - /** - * @example UP - * @enum {string} - */ - status?: "DOWN" | "UP" | "CHECKING"; - /** @example 2022-03-17T22:28:51Z */ - status_changed_at?: string; - /** @example 97.99 */ - thirty_day_uptime_percentage?: number; - }; - previous_outage: { - /** @example us_east */ - region?: string; - /** @example 2022-03-17T18:04:55Z */ - started_at?: string; - /** @example 2022-03-17T18:06:55Z */ - ended_at?: string; - /** @example 120 */ - duration_seconds?: number; - }; - }; - "resources/uptime/parameters.yml": { - check_id: string; - alert_id: string; - }; - "resources/uptime/responses/all_alerts.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + registry_get_subscription: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["subscription_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - alerts?: external["resources/uptime/models/alert.yml"]["alert"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + registry_update_subscription: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The slug of the subscription tier to sign up for. + * @example basic + * @enum {string} + */ + tier_slug?: "starter" | "basic" | "professional"; + }; + }; + }; + responses: { + 200: components["responses"]["subscription_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/uptime/responses/all_checks.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + registry_get_dockerCredentials: { + parameters: { + query?: { + /** + * @description The duration in seconds that the returned registry credentials will be valid. If not set or 0, the credentials will not expire. + * @example 3600 + */ + expiry_seconds?: components["parameters"]["registry_expiry_seconds"]; + /** + * @description By default, the registry credentials allow for read-only access. Set this query parameter to `true` to obtain read-write credentials. + * @example true + */ + read_write?: components["parameters"]["registry_read_write"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["docker_credentials"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - checks?: external["resources/uptime/models/check.yml"]["check"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + registry_validate_name: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["validate_registry"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 409: components["responses"]["conflict"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/uptime/responses/existing_alert.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + registry_list_repositories: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description The name of a container registry. + * @example example + */ + registry_name: components["parameters"]["registry_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_repositories"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - alert?: external["resources/uptime/models/alert.yml"]["alert"]; - }; + registry_list_repositoriesV2: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. Ignored when 'page_token' is provided. + * @example 1 + */ + page?: components["parameters"]["token_pagination_page"]; + /** + * @description Token to retrieve of the next or previous set of results more quickly than using 'page'. + * @example eyJUb2tlbiI6IkNnZGpiMjlz + */ + page_token?: components["parameters"]["token_pagination_page_token"]; + }; + header?: never; + path: { + /** + * @description The name of a container registry. + * @example example + */ + registry_name: components["parameters"]["registry_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_repositories_v2"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/uptime/responses/existing_check_state.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + registry_list_repositoryTags: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description The name of a container registry. + * @example example + */ + registry_name: components["parameters"]["registry_name"]; + /** + * @description The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. + * @example repo-1 + */ + repository_name: components["parameters"]["registry_repository_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["repository_tags"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - state?: external["resources/uptime/models/state.yml"]["state"]; - }; + registry_delete_repositoryTag: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of a container registry. + * @example example + */ + registry_name: components["parameters"]["registry_name"]; + /** + * @description The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. + * @example repo-1 + */ + repository_name: components["parameters"]["registry_repository_name"]; + /** + * @description The name of a container registry repository tag. + * @example 06a447a + */ + repository_tag: components["parameters"]["registry_repository_tag"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/uptime/responses/existing_check.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - check?: external["resources/uptime/models/check.yml"]["check"]; - }; - }; - }; - /** - * Update an Alert - * @description To update the settings of an Uptime alert, send a PUT request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. - */ - "resources/uptime/update_alert.yml": { - parameters: { - path: { - check_id: external["resources/uptime/parameters.yml"]["check_id"]; - alert_id: external["resources/uptime/parameters.yml"]["alert_id"]; - }; + registry_list_repositoryManifests: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description The name of a container registry. + * @example example + */ + registry_name: components["parameters"]["registry_name"]; + /** + * @description The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. + * @example repo-1 + */ + repository_name: components["parameters"]["registry_repository_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["repository_manifests"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/uptime/models/alert.yml"]["alert_updatable"]; - }; + registry_delete_repositoryManifest: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of a container registry. + * @example example + */ + registry_name: components["parameters"]["registry_name"]; + /** + * @description The name of a container registry repository. If the name contains `/` characters, they must be URL-encoded, e.g. `%2F`. + * @example repo-1 + */ + repository_name: components["parameters"]["registry_repository_name"]; + /** + * @description The manifest digest of a container registry repository tag. + * @example sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 + */ + manifest_digest: components["parameters"]["registry_manifest_digest"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/uptime/responses/existing_alert.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update a Check - * @description To update the settings of an Uptime check, send a PUT request to `/v2/uptime/checks/$CHECK_ID`. - */ - "resources/uptime/update_check.yml": { - parameters: { - path: { - check_id: external["resources/uptime/parameters.yml"]["check_id"]; - }; + registry_get_garbageCollection: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of a container registry. + * @example example + */ + registry_name: components["parameters"]["registry_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["garbage_collection"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/uptime/models/check.yml"]["check_updatable"]; - }; + registry_run_garbageCollection: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of a container registry. + * @example example + */ + registry_name: components["parameters"]["registry_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 201: components["responses"]["garbage_collection"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/uptime/responses/existing_check.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/volumes/examples.yml": unknown - "resources/volumes/models/attributes.yml": unknown; - "resources/volumes/models/volume_action_post_attach.yml": external["resources/volumes/models/volume_action_post_base.yml"] & { - droplet_id: external["resources/volumes/models/attributes.yml"]["volume_action_droplet_id"]; - tags?: external["shared/attributes/tags_array.yml"]; - }; - "resources/volumes/models/volume_action_post_base.yml": { - /** - * @description The volume action to initiate. - * @example attach - * @enum {string} - */ - type: "attach" | "detach" | "resize"; - region?: external["shared/attributes/region_slug.yml"]; - }; - "resources/volumes/models/volume_action_post_detach.yml": external["resources/volumes/models/volume_action_post_base.yml"] & { - droplet_id: external["resources/volumes/models/attributes.yml"]["volume_action_droplet_id"]; - }; - "resources/volumes/models/volume_action_post_resize.yml": external["resources/volumes/models/volume_action_post_base.yml"] & { - /** @description The new size of the block storage volume in GiB (1024^3). */ - size_gigabytes: number; - }; - "resources/volumes/models/volume_base.yml": { - /** - * @description The unique identifier for the block storage volume. - * @example 506f78a4-e098-11e5-ad9f-000f53306ae1 - */ - id?: string; - /** - * @description An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. - * @example [] - */ - droplet_ids?: (readonly number[]) | null; - /** - * @description A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. - * @example example - */ - name?: string; - /** - * @description An optional free-form text field to describe a block storage volume. - * @example Block store for examples - */ - description?: string; - /** - * @description The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. - * @example 10 - */ - size_gigabytes?: number; - /** - * @description A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. - * @example "2020-03-02T17:00:49.000Z" - */ - created_at?: string; - tags?: external["shared/attributes/tags_array.yml"]; - }; - "resources/volumes/models/volume_full.yml": external["resources/volumes/models/volume_base.yml"] & { - /** - * @example { - * "name": "New York 1", - * "slug": "nyc1", - * "sizes": [ - * "s-1vcpu-1gb", - * "s-1vcpu-2gb", - * "s-1vcpu-3gb", - * "s-2vcpu-2gb", - * "s-3vcpu-1gb", - * "s-2vcpu-4gb", - * "s-4vcpu-8gb", - * "s-6vcpu-16gb", - * "s-8vcpu-32gb", - * "s-12vcpu-48gb", - * "s-16vcpu-64gb", - * "s-20vcpu-96gb", - * "s-24vcpu-128gb", - * "s-32vcpu-192gb" - * ], - * "features": [ - * "private_networking", - * "backups", - * "ipv6", - * "metadata" - * ], - * "available": true - * } - */ - region?: external["resources/regions/models/region.yml"]; - /** - * @description The type of filesystem currently in-use on the volume. - * @example ext4 - */ - filesystem_type?: string; - /** - * @description The label currently applied to the filesystem. - * @example example - */ - filesystem_label?: string; - }; - "resources/volumes/models/volumeAction.yml": ({ - /** - * @description This is the type of action that the object represents. For example, this could be "attach_volume" to represent the state of a volume attach action. - * @example attach_volume - */ - type?: string; - /** @example null */ - resource_id?: number | null; - }) & external["resources/actions/models/action.yml"]; - "resources/volumes/models/volumes_ext4.yml": external["resources/volumes/models/volume_base.yml"] & external["resources/volumes/models/attributes.yml"]["volume_snapshot_id"] & external["resources/volumes/models/attributes.yml"]["volume_write_file_system_type"] & { - region: external["shared/attributes/region_slug.yml"]; - filesystem_label?: external["resources/volumes/models/attributes.yml"]["volume_write_file_system_label"]; - }; - "resources/volumes/models/volumes_xfs.yml": external["resources/volumes/models/volume_base.yml"] & external["resources/volumes/models/attributes.yml"]["volume_snapshot_id"] & external["resources/volumes/models/attributes.yml"]["volume_write_file_system_type"] & { - region: external["shared/attributes/region_slug.yml"]; - filesystem_label?: external["resources/volumes/models/attributes.yml"]["volume_write_file_system_label"]; - }; - "resources/volumes/parameters.yml": { - volume_id: string; - volume_name?: string; - volume_snapshot_id: string; - }; - "resources/volumes/responses/volume.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + registry_list_garbageCollections: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description The name of a container registry. + * @example example + */ + registry_name: components["parameters"]["registry_name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["garbage_collections"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - volume?: external["resources/volumes/models/volume_full.yml"]; - }; + registry_update_garbageCollection: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of a container registry. + * @example example + */ + registry_name: components["parameters"]["registry_name"]; + /** + * @description The UUID of a garbage collection run. + * @example eff0feee-49c7-4e8f-ba5c-a320c109c8a8 + */ + garbage_collection_uuid: components["parameters"]["garbage_collection_uuid"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["update_registry"]; + }; + }; + responses: { + 200: components["responses"]["garbage_collection"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/volumes/responses/volumeAction.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + registry_get_options: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["registry_options_response"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - action?: external["resources/volumes/models/volumeAction.yml"]; - }; + droplets_list_neighborsIds: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["droplet_neighbors_ids"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/volumes/responses/volumeActions.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + reservedIPs_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["reserved_ip_list"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - actions?: external["resources/volumes/models/volumeAction.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + reservedIPs_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["reserved_ip_create"]; + }; + }; + responses: { + 202: components["responses"]["reserved_ip_created"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/volumes/responses/volumes.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - /** @description Array of volumes. */ - volumes: external["resources/volumes/models/volume_full.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - "resources/volumes/responses/volumeSnapshot.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + reservedIPs_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A reserved IP address. + * @example 45.55.96.47 + */ + reserved_ip: components["parameters"]["reserved_ip"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["reserved_ip"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - snapshot?: external["resources/snapshots/models/snapshots.yml"]; - }; + reservedIPs_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A reserved IP address. + * @example 45.55.96.47 + */ + reserved_ip: components["parameters"]["reserved_ip"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/volumes/responses/volumeSnapshots.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - snapshots?: external["resources/snapshots/models/snapshots.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - /** - * Retrieve an Existing Volume Action - * @description To retrieve the status of a volume action, send a GET request to `/v2/volumes/$VOLUME_ID/actions/$ACTION_ID`. - */ - "resources/volumes/volumeActions_get.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - volume_id: external["resources/volumes/parameters.yml"]["volume_id"]; - action_id: external["resources/actions/parameters.yml"]["action_id"]; - }; + reservedIPsActions_list: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A reserved IP address. + * @example 45.55.96.47 + */ + reserved_ip: components["parameters"]["reserved_ip"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["reserved_ip_actions"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/volumes/responses/volumeAction.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Actions for a Volume - * @description To retrieve all actions that have been executed on a volume, send a GET request to `/v2/volumes/$VOLUME_ID/actions`. - */ - "resources/volumes/volumeActions_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - volume_id: external["resources/volumes/parameters.yml"]["volume_id"]; - }; + reservedIPsActions_post: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A reserved IP address. + * @example 45.55.96.47 + */ + reserved_ip: components["parameters"]["reserved_ip"]; + }; + cookie?: never; + }; + /** @description The `type` attribute set in the request body will specify the action that + * will be taken on the reserved IP. + * */ + requestBody?: { + content: { + "application/json": components["schemas"]["reserved_ip_action_unassign"] | components["schemas"]["reserved_ip_action_assign"]; + }; + }; + responses: { + 201: components["responses"]["reserved_ip_action"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/volumes/responses/volumeActions.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Initiate A Block Storage Action By Volume Id - * @description To initiate an action on a block storage volume by Id, send a POST request to - * `~/v2/volumes/$VOLUME_ID/actions`. The body should contain the appropriate - * attributes for the respective action. - * - * ## Attach a Block Storage Volume to a Droplet - * - * | Attribute | Details | - * | ---------- | ------------------------------------------------------------------- | - * | type | This must be `attach` | - * | droplet_id | Set to the Droplet's ID | - * | region | Set to the slug representing the region where the volume is located | - * - * Each volume may only be attached to a single Droplet. However, up to seven - * volumes may be attached to a Droplet at a time. Pre-formatted volumes will be - * automatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS - * Droplets created on or after April 26, 2018 when attached. On older Droplets, - * [additional configuration](https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-digitalocean-block-storage-volumes-in-linux#mounting-the-filesystems) - * is required. - * - * ## Remove a Block Storage Volume from a Droplet - * - * | Attribute | Details | - * | ---------- | ------------------------------------------------------------------- | - * | type | This must be `detach` | - * | droplet_id | Set to the Droplet's ID | - * | region | Set to the slug representing the region where the volume is located | - * - * ## Resize a Volume - * - * | Attribute | Details | - * | -------------- | ------------------------------------------------------------------- | - * | type | This must be `resize` | - * | size_gigabytes | The new size of the block storage volume in GiB (1024^3) | - * | region | Set to the slug representing the region where the volume is located | - * - * Volumes may only be resized upwards. The maximum size for a volume is 16TiB. - */ - "resources/volumes/volumeActions_post_byId.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - volume_id: external["resources/volumes/parameters.yml"]["volume_id"]; - }; - }; - requestBody: { - content: { - "application/json": external["resources/volumes/models/volume_action_post_attach.yml"] | external["resources/volumes/models/volume_action_post_detach.yml"] | external["resources/volumes/models/volume_action_post_resize.yml"]; - }; + reservedIPsActions_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A reserved IP address. + * @example 45.55.96.47 + */ + reserved_ip: components["parameters"]["reserved_ip"]; + /** + * @description A unique numeric ID that can be used to identify and reference an action. + * @example 36804636 + */ + action_id: components["parameters"]["action_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["reserved_ip_action"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 202: external["resources/volumes/responses/volumeAction.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Initiate A Block Storage Action By Volume Name - * @description To initiate an action on a block storage volume by Name, send a POST request to - * `~/v2/volumes/actions`. The body should contain the appropriate - * attributes for the respective action. - * - * ## Attach a Block Storage Volume to a Droplet - * - * | Attribute | Details | - * | ----------- | ------------------------------------------------------------------- | - * | type | This must be `attach` | - * | volume_name | The name of the block storage volume | - * | droplet_id | Set to the Droplet's ID | - * | region | Set to the slug representing the region where the volume is located | - * - * Each volume may only be attached to a single Droplet. However, up to five - * volumes may be attached to a Droplet at a time. Pre-formatted volumes will be - * automatically mounted to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS - * Droplets created on or after April 26, 2018 when attached. On older Droplets, - * [additional configuration](https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-digitalocean-block-storage-volumes-in-linux#mounting-the-filesystems) - * is required. - * - * ## Remove a Block Storage Volume from a Droplet - * - * | Attribute | Details | - * | ----------- | ------------------------------------------------------------------- | - * | type | This must be `detach` | - * | volume_name | The name of the block storage volume | - * | droplet_id | Set to the Droplet's ID | - * | region | Set to the slug representing the region where the volume is located | - */ - "resources/volumes/volumeActions_post.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + sizes_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_sizes"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/volumes/models/volume_action_post_attach.yml"] | external["resources/volumes/models/volume_action_post_detach.yml"]; - }; + snapshots_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + /** + * @description Used to filter snapshots by a resource type. + * @example droplet + */ + resource_type?: components["parameters"]["snapshot_resource_type"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["snapshots"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 202: external["resources/volumes/responses/volumeAction.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create a New Block Storage Volume - * @description To create a new volume, send a POST request to `/v2/volumes`. Optionally, a `filesystem_type` attribute may be provided in order to automatically format the volume's filesystem. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to Droplets without support for auto-mounting is not recommended. - */ - "resources/volumes/volumes_create.yml": { - requestBody: { - content: { - "application/json": external["resources/volumes/models/volumes_ext4.yml"] | external["resources/volumes/models/volumes_xfs.yml"]; - }; + snapshots_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Either the ID of an existing snapshot. This will be an integer for a Droplet snapshot or a string for a volume snapshot. + * @example 6372321 + */ + snapshot_id: components["parameters"]["snapshot_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["snapshots_existing"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/volumes/responses/volume.yml"]; - 400: external["shared/responses/bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Block Storage Volume by Name - * @description Block storage volumes may also be deleted by name by sending a DELETE request with the volume's **name** and the **region slug** for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. - * No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. - */ - "resources/volumes/volumes_delete_byName.yml": { - parameters: { - query?: { - name?: external["resources/volumes/parameters.yml"]["volume_name"]; - region?: external["shared/parameters.yml"]["region"]; - }; + snapshots_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Either the ID of an existing snapshot. This will be an integer for a Droplet snapshot or a string for a volume snapshot. + * @example 6372321 + */ + snapshot_id: components["parameters"]["snapshot_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Block Storage Volume - * @description To delete a block storage volume, destroying all data and removing it from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`. - * No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. - */ - "resources/volumes/volumes_delete.yml": { - parameters: { - path: { - volume_id: external["resources/volumes/parameters.yml"]["volume_id"]; - }; + tags_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["tags_all"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Block Storage Volume - * @description To show information about a block storage volume, send a GET request to `/v2/volumes/$VOLUME_ID`. - */ - "resources/volumes/volumes_get.yml": { - parameters: { - path: { - volume_id: external["resources/volumes/parameters.yml"]["volume_id"]; - }; + tags_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["tags"]; + }; + }; + responses: { + 201: components["responses"]["tags_new"]; + 400: components["responses"]["tags_bad_request"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/volumes/responses/volume.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All Block Storage Volumes - * @description To list all of the block storage volumes available on your account, send a GET request to `/v2/volumes`. - * ## Filtering Results - * ### By Region - * The `region` may be provided as query parameter in order to restrict results to volumes available in a specific region. For example: `/v2/volumes?region=nyc1` - * ### By Name - * It is also possible to list volumes on your account that match a specified name. To do so, send a GET request with the volume's name as a query parameter to `/v2/volumes?name=$VOLUME_NAME`. - * **Note:** You can only create one volume per region with the same name. - * ### By Name and Region - * It is also possible to retrieve information about a block storage volume by name. To do so, send a GET request with the volume's name and the region slug for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. - */ - "resources/volumes/volumes_list.yml": { - parameters: { - query?: { - name?: external["resources/volumes/parameters.yml"]["volume_name"]; - region?: external["shared/parameters.yml"]["region"]; - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + tags_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. + * @example awesome + */ + tag_id: components["parameters"]["tag_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["tags_existing"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/volumes/responses/volumes.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Create Snapshot from a Volume - * @description To create a snapshot from a volume, sent a POST request to `/v2/volumes/$VOLUME_ID/snapshots`. - */ - "resources/volumes/volumeSnapshots_create.yml": { - parameters: { - path: { - volume_id: external["resources/volumes/parameters.yml"]["volume_id"]; - }; + tags_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. + * @example awesome + */ + tag_id: components["parameters"]["tag_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - /** - * @example { - * "name": "big-data-snapshot1475261774" - * } - */ - "application/json": { - /** - * @description A human-readable name for the volume snapshot. - * @example big-data-snapshot1475261774 - */ - name: string; - tags?: external["shared/attributes/tags_array.yml"]; + tags_assign_resources: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. + * @example awesome + */ + tag_id: components["parameters"]["tag_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["tags_resource"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; }; - }; }; - responses: { - 201: external["resources/volumes/responses/volumeSnapshot.yml"]; - 400: external["shared/responses/bad_request.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a Volume Snapshot - * @description To delete a volume snapshot, send a DELETE request to - * `/v2/snapshots/$SNAPSHOT_ID`. - * - * A status of 204 will be given. This indicates that the request was processed - * successfully, but that no response body is needed. - */ - "resources/volumes/volumeSnapshots_delete_byId.yml": { - parameters: { - path: { - snapshot_id: external["resources/snapshots/parameters.yml"]["snapshot_id"]; - }; + tags_unassign_resources: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The name of the tag. Tags may contain letters, numbers, colons, dashes, and underscores. There is a limit of 255 characters per tag. + * @example awesome + */ + tag_id: components["parameters"]["tag_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["tags_resource"]; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing Volume Snapshot - * @description To retrieve the details of a snapshot that has been created from a volume, send a GET request to `/v2/volumes/snapshots/$SNAPSHOT_ID`. - */ - "resources/volumes/volumeSnapshots_get_byId.yml": { - parameters: { - path: { - snapshot_id: external["resources/snapshots/parameters.yml"]["snapshot_id"]; - }; + volumes_list: { + parameters: { + query?: { + /** + * @description The block storage volume's name. + * @example example + */ + name?: components["parameters"]["volume_name"]; + /** + * @description The slug identifier for the region where the resource is available. + * @example nyc3 + */ + region?: components["parameters"]["region"]; + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["volumes"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/volumes/responses/volumeSnapshot.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List Snapshots for a Volume - * @description To retrieve the snapshots that have been created from a volume, send a GET request to `/v2/volumes/$VOLUME_ID/snapshots`. - */ - "resources/volumes/volumeSnapshots_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - volume_id: external["resources/volumes/parameters.yml"]["volume_id"]; - }; + volumes_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["volumes_ext4"] | components["schemas"]["volumes_xfs"]; + }; + }; + responses: { + 201: components["responses"]["volume"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/volumes/responses/volumeSnapshots.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "resources/vpcs/models/vpc_member.yml": { - /** - * @description The name of the resource. - * @example nyc1-load-balancer-01 - */ - name?: string; - urn?: external["shared/attributes/urn.yml"]; - /** - * @description A time value given in ISO8601 combined date and time format that represents when the resource was created. - * @example 2020-03-13T19:30:48Z - */ - created_at?: string; - }; - "resources/vpcs/models/vpc.yml": { - vpc: external["resources/vpcs/models/vpc.yml"]["vpc_updatable"] & external["resources/vpcs/models/vpc.yml"]["vpc_create"] & external["resources/vpcs/models/vpc.yml"]["vpc_default"] & external["resources/vpcs/models/vpc.yml"]["vpc_base"]; - vpc_base: { - /** - * Format: uuid - * @description A unique ID that can be used to identify and reference the VPC. - * @example 5a4981aa-9653-4bd1-bef5-d6bff52042e4 - */ - id?: string; - urn?: external["shared/attributes/urn.yml"]; - /** - * Format: date-time - * @description A time value given in ISO8601 combined date and time format. - * @example 2020-03-13T19:20:47.442049222Z - */ - created_at?: string; - }; - vpc_updatable: { - /** - * @description The name of the VPC. Must be unique and may only contain alphanumeric characters, dashes, and periods. - * @example env.prod-vpc - */ - name?: string; - /** - * @description A free-form text field for describing the VPC's purpose. It may be a maximum of 255 characters. - * @example VPC for production environment - */ - description?: string; - }; - vpc_default: { - /** - * @description A boolean value indicating whether or not the VPC is the default network for the region. All applicable resources are placed into the default VPC network unless otherwise specified during their creation. The `default` field cannot be unset from `true`. If you want to set a new default VPC network, update the `default` field of another VPC network in the same region. The previous network's `default` field will be set to `false` when a new default VPC has been defined. - * @example true - */ - default?: boolean; - }; - vpc_create: { - /** - * @description The slug identifier for the region where the VPC will be created. - * @example nyc1 - */ - region?: string; - /** - * @description The range of IP addresses in the VPC in CIDR notation. Network ranges cannot overlap with other networks in the same account and must be in range of private addresses as defined in RFC1918. It may not be smaller than `/28` nor larger than `/16`. If no IP range is specified, a `/20` network range is generated that won't conflict with other VPC networks in your account. - * @example 10.10.10.0/24 - */ - ip_range?: string; - }; - }; - "resources/vpcs/parameters.yml": { - vpc_id: string; - vpc_resource_type?: string; - }; - "resources/vpcs/responses/all_vpcs.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + volumes_delete_byName: { + parameters: { + query?: { + /** + * @description The block storage volume's name. + * @example example + */ + name?: components["parameters"]["volume_name"]; + /** + * @description The slug identifier for the region where the resource is available. + * @example nyc3 + */ + region?: components["parameters"]["region"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - vpcs?: external["resources/vpcs/models/vpc.yml"]["vpc"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; + volumeActions_post: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["volume_action_post_attach"] | components["schemas"]["volume_action_post_detach"]; + }; + }; + responses: { + 202: components["responses"]["volumeAction"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/vpcs/responses/existing_vpc.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + volumeSnapshots_get_byId: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Either the ID of an existing snapshot. This will be an integer for a Droplet snapshot or a string for a volume snapshot. + * @example 6372321 + */ + snapshot_id: components["parameters"]["snapshot_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["volumeSnapshot"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": { - vpc?: external["resources/vpcs/models/vpc.yml"]["vpc"]; - }; + volumeSnapshots_delete_byId: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description Either the ID of an existing snapshot. This will be an integer for a Droplet snapshot or a string for a volume snapshot. + * @example 6372321 + */ + snapshot_id: components["parameters"]["snapshot_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "resources/vpcs/responses/vpc_members.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - }; - content: { - "application/json": { - members?: external["resources/vpcs/models/vpc_member.yml"][]; - } & external["shared/pages.yml"]["pagination"] & external["shared/meta.yml"]; - }; - }; - /** - * Create a New VPC - * @description To create a VPC, send a POST request to `/v2/vpcs` specifying the attributes - * in the table below in the JSON body. - * - * **Note:** If you do not currently have a VPC network in a specific datacenter - * region, the first one that you create will be set as the default for that - * region. The default VPC for a region cannot be changed or deleted. - */ - "resources/vpcs/vpcs_create.yml": { - requestBody: { - content: { - "application/json": WithRequired; - }; + volumes_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the block storage volume. + * @example 7724db7c-e098-11e5-b522-000f53304e51 + */ + volume_id: components["parameters"]["volume_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["volume"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 201: external["resources/vpcs/responses/existing_vpc.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Delete a VPC - * @description To delete a VPC, send a DELETE request to `/v2/vpcs/$VPC_ID`. A 204 status - * code with no body will be returned in response to a successful request. - * - * The default VPC for a region can not be deleted. Additionally, a VPC can only - * be deleted if it does not contain any member resources. Attempting to delete - * a region's default VPC or a VPC that still has members will result in a - * 403 Forbidden error response. - */ - "resources/vpcs/vpcs_delete.yml": { - parameters: { - path: { - vpc_id: external["resources/vpcs/parameters.yml"]["vpc_id"]; - }; + volumes_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the block storage volume. + * @example 7724db7c-e098-11e5-b522-000f53304e51 + */ + volume_id: components["parameters"]["volume_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 204: external["shared/responses/no_content.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Retrieve an Existing VPC - * @description To show information about an existing VPC, send a GET request to `/v2/vpcs/$VPC_ID`. - */ - "resources/vpcs/vpcs_get.yml": { - parameters: { - path: { - vpc_id: external["resources/vpcs/parameters.yml"]["vpc_id"]; - }; + volumeActions_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description The ID of the block storage volume. + * @example 7724db7c-e098-11e5-b522-000f53304e51 + */ + volume_id: components["parameters"]["volume_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["volumeActions"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/vpcs/responses/existing_vpc.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List the Member Resources of a VPC - * @description To list all of the resources that are members of a VPC, send a GET request to - * `/v2/vpcs/$VPC_ID/members`. - * - * To only list resources of a specific type that are members of the VPC, - * included a `resource_type` query parameter. For example, to only list Droplets - * in the VPC, send a GET request to `/v2/vpcs/$VPC_ID/members?resource_type=droplet`. - */ - "resources/vpcs/vpcs_list_members.yml": { - parameters: { - query?: { - resource_type?: external["resources/vpcs/parameters.yml"]["vpc_resource_type"]; - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; - path: { - vpc_id: external["resources/vpcs/parameters.yml"]["vpc_id"]; - }; + volumeActions_post_byId: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description The ID of the block storage volume. + * @example 7724db7c-e098-11e5-b522-000f53304e51 + */ + volume_id: components["parameters"]["volume_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["volume_action_post_attach"] | components["schemas"]["volume_action_post_detach"] | components["schemas"]["volume_action_post_resize"]; + }; + }; + responses: { + 202: components["responses"]["volumeAction"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/vpcs/responses/vpc_members.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * List All VPCs - * @description To list all of the VPCs on your account, send a GET request to `/v2/vpcs`. - */ - "resources/vpcs/vpcs_list.yml": { - parameters: { - query?: { - per_page?: external["shared/parameters.yml"]["per_page"]; - page?: external["shared/parameters.yml"]["page"]; - }; + volumeActions_get: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description The ID of the block storage volume. + * @example 7724db7c-e098-11e5-b522-000f53304e51 + */ + volume_id: components["parameters"]["volume_id"]; + /** + * @description A unique numeric ID that can be used to identify and reference an action. + * @example 36804636 + */ + action_id: components["parameters"]["action_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["volumeAction"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/vpcs/responses/all_vpcs.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Partially Update a VPC - * @description To update a subset of information about a VPC, send a PATCH request to - * `/v2/vpcs/$VPC_ID`. - */ - "resources/vpcs/vpcs_patch.yml": { - parameters: { - path: { - vpc_id: external["resources/vpcs/parameters.yml"]["vpc_id"]; - }; + volumeSnapshots_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description The ID of the block storage volume. + * @example 7724db7c-e098-11e5-b522-000f53304e51 + */ + volume_id: components["parameters"]["volume_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["volumeSnapshots"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": external["resources/vpcs/models/vpc.yml"]["vpc_updatable"] & external["resources/vpcs/models/vpc.yml"]["vpc_default"]; - }; + volumeSnapshots_create: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description The ID of the block storage volume. + * @example 7724db7c-e098-11e5-b522-000f53304e51 + */ + volume_id: components["parameters"]["volume_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + /** @example { + * "name": "big-data-snapshot1475261774" + * } */ + "application/json": { + /** + * @description A human-readable name for the volume snapshot. + * @example big-data-snapshot1475261774 + */ + name: string; + tags?: components["schemas"]["tags_array"]; + }; + }; + }; + responses: { + 201: components["responses"]["volumeSnapshot"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/vpcs/responses/existing_vpc.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - /** - * Update a VPC - * @description To update information about a VPC, send a PUT request to `/v2/vpcs/$VPC_ID`. - */ - "resources/vpcs/vpcs_update.yml": { - parameters: { - path: { - vpc_id: external["resources/vpcs/parameters.yml"]["vpc_id"]; - }; + vpcs_list: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_vpcs"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - requestBody: { - content: { - "application/json": WithRequired; - }; + vpcs_create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": WithRequired; + }; + }; + responses: { + 201: components["responses"]["existing_vpc"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - responses: { - 200: external["resources/vpcs/responses/existing_vpc.yml"]; - 401: external["shared/responses/unauthorized.yml"]; - 404: external["shared/responses/not_found.yml"]; - 429: external["shared/responses/too_many_requests.yml"]; - 500: external["shared/responses/server_error.yml"]; - default: external["shared/responses/unexpected_error.yml"]; - }; - } - "shared/attributes/distribution.yml": "Arch Linux" | "CentOS" | "CoreOS" | "Debian" | "Fedora" | "Fedora Atomic" | "FreeBSD" | "Gentoo" | "openSUSE" | "RancherOS" | "Rocky Linux" | "Ubuntu" | "Unknown"; - "shared/attributes/region_slug.yml": "ams1" | "ams2" | "ams3" | "blr1" | "fra1" | "lon1" | "nyc1" | "nyc2" | "nyc3" | "sfo1" | "sfo2" | "sfo3" | "sgp1" | "tor1" - "shared/attributes/regions_array.yml": external["shared/attributes/region_slug.yml"][]; - "shared/attributes/tags_array.yml": string[] | null; - "shared/attributes/urn.yml": string; - "shared/headers.yml": { - /** - * @description Indicates if the content is expected to be displayed *inline* in the browser, that is, as a Web page or as part of a Web page, or as an *attachment*, that is downloaded and saved locally. - * @example attachment; filename="DigitalOcean Invoice 2020 Jul (6173678-418071234).csv" - */ - "content-disposition": unknown; - /** - * @description The default limit on number of requests that can be made per hour and per minute. Current rate limits are 5000 requests per hour and 250 requests per minute. - * @example 5000 - */ - "ratelimit-limit": unknown; - /** - * @description The number of requests in your hourly quota that remain before you hit your request limit. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. - * @example 4816 - */ - "ratelimit-remaining": unknown; - /** - * @description The time when the oldest request will expire. The value is given in Unix epoch time. See https://developers.digitalocean.com/documentation/v2/#rate-limit for information about how requests expire. - * @example 1444931833 - */ - "ratelimit-reset": unknown; - /** - * @description Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. - * @example 515850a0-a812-50bf-aa3c-d0d21d287e40 - */ - "x-request-id": unknown; - /** - * @description The type of data that is returned from a request. - * @example application/json; charset=utf-8 - */ - "content-type": unknown; - }; - "shared/meta_optional_total.yml": { - meta: external["shared/models/meta_properties.yml"]; - }; - "shared/meta.yml": { - meta: external["shared/models/meta_properties.yml"]; - }; - "shared/models/action_link.yml": { - /** - * @description A unique numeric ID that can be used to identify and reference an action. - * @example 7515 - */ - id?: number; - /** - * @description A string specifying the type of the related action. - * @example create - */ - rel?: string; - /** - * Format: uri - * @description A URL that can be used to access the action. - * @example https://api.digitalocean.com/v2/actions/7515 - */ - href?: string; - }; - "shared/models/error_with_root_causes.yml": { - /** - * @description A message providing information about the error. - * @example not_found - */ - error: string; - /** - * @description A list of error messages. - * @example null - */ - messages?: string[] | null; - /** - * @description A list of underlying causes for the error, including details to help resolve it when possible. - * @example [] - */ - root_causes: string[]; - }; - "shared/models/error.yml": { - /** - * @description A short identifier corresponding to the HTTP status code returned. For example, the ID for a response returning a 404 status code would be "not_found." - * @example not_found - */ - id: string; - /** - * @description A message providing additional information about the error, including details to help resolve it when possible. - * @example The resource you were accessing could not be found. - */ - message: string; - /** - * @description Optionally, some endpoints may include a request ID that should be provided when reporting bugs or opening support tickets to help identify the issue. - * @example 4d9d8375-3c56-4925-a3e7-eb137fed17e9 - */ - request_id?: string; - }; - "shared/models/meta_properties.yml": { - /** - * @description Number of objects returned by the request. - * @example 1 - */ - total?: number; - }; - "shared/pages.yml": { - pagination: { - links?: external["shared/pages.yml"]["page_links"]; - }; - page_links: { - /** - * @example { - * "pages": { - * "first": "https://api.digitalocean.com/v2/account/keys?page=1", - * "prev": "https://api.digitalocean.com/v2/account/keys?page=2" - * } - * } - */ - pages?: unknown; - }; - backward_links: external["shared/pages.yml"]["link_to_first_page"] & external["shared/pages.yml"]["link_to_prev_page"]; - forward_links: external["shared/pages.yml"]["link_to_last_page"] & external["shared/pages.yml"]["link_to_next_page"]; - link_to_first_page: { - /** - * @description URI of the first page of the results. - * @example https://api.digitalocean.com/v2/images?page=1 - */ - first?: string; - }; - link_to_prev_page: { - /** - * @description URI of the previous page of the results. - * @example https://api.digitalocean.com/v2/images?page=1 - */ - prev?: string; - }; - link_to_next_page: { - /** - * @description URI of the next page of the results. - * @example https://api.digitalocean.com/v2/images?page=2 - */ - next?: string; - }; - link_to_last_page: { - /** - * @description URI of the last page of the results. - * @example https://api.digitalocean.com/v2/images?page=2 - */ - last?: string; - }; - }; - "shared/parameters.yml": { - per_page?: number; - page?: number; - region?: external["shared/attributes/region_slug.yml"]; - }; - "shared/responses/accepted.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + vpcs_get: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a VPC. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + vpc_id: components["parameters"]["vpc_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_vpc"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: never; - }; - "shared/responses/bad_request.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + vpcs_update: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a VPC. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + vpc_id: components["parameters"]["vpc_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": WithRequired; + }; + }; + responses: { + 200: components["responses"]["existing_vpc"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["shared/models/error.yml"]; + vpcs_delete: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a VPC. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + vpc_id: components["parameters"]["vpc_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "shared/responses/conflict.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + vpcs_patch: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a VPC. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + vpc_id: components["parameters"]["vpc_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["vpc_updatable"] & components["schemas"]["vpc_default"]; + }; + }; + responses: { + 200: components["responses"]["existing_vpc"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["shared/models/error.yml"]; + vpcs_list_members: { + parameters: { + query?: { + /** + * @description Used to filter VPC members by a resource type. + * @example droplet + */ + resource_type?: components["parameters"]["vpc_resource_type"]; + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description A unique identifier for a VPC. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + vpc_id: components["parameters"]["vpc_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["vpc_members"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "shared/responses/no_content_with_content_type.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; - "content-type": external["shared/headers.yml"]["content-type"]; - }; - content: never; - }; - "shared/responses/no_content.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + uptime_list_checks: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_checks"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: never; - }; - "shared/responses/not_found.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + uptime_create_check: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": WithRequired; + }; + }; + responses: { + 201: components["responses"]["existing_check"]; + 401: components["responses"]["unauthorized"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["shared/models/error.yml"]; + uptime_get_check: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a check. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + check_id: components["parameters"]["check_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_check"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "shared/responses/server_error.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + uptime_update_check: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a check. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + check_id: components["parameters"]["check_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["check_updatable"]; + }; + }; + responses: { + 200: components["responses"]["existing_check"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["shared/models/error.yml"]; + uptime_delete_check: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a check. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + check_id: components["parameters"]["check_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "shared/responses/too_many_requests.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + uptime_get_checkState: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a check. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + check_id: components["parameters"]["check_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_check_state"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["shared/models/error.yml"]; + uptime_list_alerts: { + parameters: { + query?: { + /** + * @description Number of items returned per page + * @example 2 + */ + per_page?: components["parameters"]["per_page"]; + /** + * @description Which 'page' of paginated results to return. + * @example 1 + */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** + * @description A unique identifier for a check. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + check_id: components["parameters"]["check_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["all_alerts"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "shared/responses/unauthorized.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + uptime_create_alert: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a check. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + check_id: components["parameters"]["check_id"]; + }; + cookie?: never; + }; + /** @description The ''type'' field dictates the type of alert, and hence what type of value to pass into the threshold property. + * Type | Description | Threshold Value + * -----|-------------|-------------------- + * `latency` | alerts on the response latency | milliseconds + * `down` | alerts on a target registering as down in any region | N/A (Not required) + * `down_global` | alerts on a target registering as down globally | N/A (Not required) + * `ssl_expiry` | alerts on a SSL certificate expiring within $threshold days | days + * */ + requestBody: { + content: { + "application/json": WithRequired; + }; + }; + responses: { + 201: components["responses"]["existing_alert"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["shared/models/error.yml"]; + uptime_get_alert: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a check. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + check_id: components["parameters"]["check_id"]; + /** + * @description A unique identifier for an alert. + * @example 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 + */ + alert_id: components["parameters"]["parameters_alert_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["existing_alert"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; - "shared/responses/unexpected_error.yml": { - headers: { - "ratelimit-limit": external["shared/headers.yml"]["ratelimit-limit"]; - "ratelimit-remaining": external["shared/headers.yml"]["ratelimit-remaining"]; - "ratelimit-reset": external["shared/headers.yml"]["ratelimit-reset"]; + uptime_update_alert: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a check. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + check_id: components["parameters"]["check_id"]; + /** + * @description A unique identifier for an alert. + * @example 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 + */ + alert_id: components["parameters"]["parameters_alert_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["alert_updatable"]; + }; + }; + responses: { + 200: components["responses"]["existing_alert"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - content: { - "application/json": external["shared/models/error.yml"]; + uptime_delete_alert: { + parameters: { + query?: never; + header?: never; + path: { + /** + * @description A unique identifier for a check. + * @example 4de7ac8b-495b-4884-9a69-1050c6793cd6 + */ + check_id: components["parameters"]["check_id"]; + /** + * @description A unique identifier for an alert. + * @example 17f0f0ae-b7e5-4ef6-86e3-aa569db58284 + */ + alert_id: components["parameters"]["parameters_alert_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 401: components["responses"]["unauthorized"]; + 404: components["responses"]["not_found"]; + 429: components["responses"]["too_many_requests"]; + 500: components["responses"]["server_error"]; + default: components["responses"]["unexpected_error"]; + }; }; - }; } - -export type operations = Record; +type WithRequired = T & { + [P in K]-?: T[P]; +}; diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/mysql.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/mysql.yml index f88520357..5b3c776f6 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/mysql.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/mysql.yml @@ -206,3 +206,51 @@ properties: minimum: 600 maximum: 86400 example: 600 + innodb_change_buffer_max_size: + description: >- + Specifies the maximum size of the InnoDB change buffer as a percentage of the buffer pool. + type: integer + minimum: 0 + maximum: 50 + example: 25 + innodb_flush_neighbors: + description: >- + Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent. + - 0 — disables this functionality, dirty pages in the same extent are not flushed. + - 1 — flushes contiguous dirty pages in the same extent. + - 2 — flushes dirty pages in the same extent. + type: integer + enum: + - 0 + - 1 + - 2 + example: 0 + innodb_read_io_threads: + description: >- + The number of I/O threads for read operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1 + maximum: 64 + example: 16 + innodb_write_io_threads: + description: >- + The number of I/O threads for write operations in InnoDB. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1 + maximum: 64 + example: 16 + innodb_thread_concurrency: + description: >- + Defines the maximum number of threads permitted inside of InnoDB. A value of 0 (the default) is interpreted as infinite concurrency (no limit). This variable is intended for performance + tuning on high concurrency systems. + type: integer + minimum: 0 + maximum: 1000 + example: 0 + net_buffer_length: + description: >- + Start sizes of connection buffer and result buffer, must be multiple of 1024. Changing this parameter will lead to a restart of the MySQL service. + type: integer + minimum: 1024 + maximum: 1048576 + example: 4096 diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/redis.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/redis.yml index 9045d19ee..fb80af11a 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/redis.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/databases/models/redis.yml @@ -55,7 +55,23 @@ properties: default: 300 example: 300 redis_notify_keyspace_events: - description: Set notify-keyspace-events option + description: |2- + Set notify-keyspace-events option. Requires at least `K` or `E` and accepts any combination of the following options. Setting the parameter to `""` disables notifications. + - `K` — Keyspace events + - `E` — Keyevent events + - `g` — Generic commands (e.g. `DEL`, `EXPIRE`, `RENAME`, ...) + - `$` — String commands + - `l` — List commands + - `s` — Set commands + - `h` — Hash commands + - `z` — Sorted set commands + - `t` — Stream commands + - `d` — Module key type events + - `x` — Expired events + - `e` — Evicted events + - `m` — Key miss events + - `n` — New key events + - `A` — Alias for `"g$lshztxed"` type: string pattern: ^[KEg\$lshzxeA]*$ default: '' diff --git a/packages/openapi-typescript/examples/digital-ocean-api/resources/kubernetes/kubernetes_get_credentials.yml b/packages/openapi-typescript/examples/digital-ocean-api/resources/kubernetes/kubernetes_get_credentials.yml index 9337f1732..7ba3f27bd 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api/resources/kubernetes/kubernetes_get_credentials.yml +++ b/packages/openapi-typescript/examples/digital-ocean-api/resources/kubernetes/kubernetes_get_credentials.yml @@ -16,7 +16,7 @@ description: | Clusters supporting token-based authentication may define an expiration by passing a duration in seconds as a query parameter to - `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/kubeconfig?expiry_seconds=$DURATION_IN_SECONDS`. + `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/credentials?expiry_seconds=$DURATION_IN_SECONDS`. If not set or 0, then the token will have a 7 day expiry. The query parameter has no impact in certificate-based authentication. @@ -55,4 +55,3 @@ x-codeSamples: security: - bearer_auth: - 'read' - diff --git a/packages/openapi-typescript/examples/github-api-next.ts b/packages/openapi-typescript/examples/github-api-next.ts index 8d3313ac4..c14ff5411 100644 --- a/packages/openapi-typescript/examples/github-api-next.ts +++ b/packages/openapi-typescript/examples/github-api-next.ts @@ -3,71339 +3,31554 @@ * Do not make direct changes to the file. */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - export interface paths { - "/": { - /** - * GitHub API Root - * @description Get Hypermedia links to resources accessible in GitHub's REST API - */ - get: operations["meta/root"]; - }; - "/advisories": { - /** - * List global security advisories - * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. - * - * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." - */ - get: operations["security-advisories/list-global-advisories"]; - }; - "/advisories/{ghsa_id}": { - /** - * Get a global security advisory - * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. - */ - get: operations["security-advisories/get-global-advisory"]; - }; - "/app": { - /** - * Get the authenticated app - * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-authenticated"]; - }; - "/app-manifests/{code}/conversions": { - /** - * Create a GitHub App from a manifest - * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. - */ - post: operations["apps/create-from-manifest"]; - }; - "/app/hook/config": { - /** - * Get a webhook configuration for an app - * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-webhook-config-for-app"]; - /** - * Update a webhook configuration for an app - * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - patch: operations["apps/update-webhook-config-for-app"]; - }; - "/app/hook/deliveries": { - /** - * List deliveries for an app webhook - * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/list-webhook-deliveries"]; - }; - "/app/hook/deliveries/{delivery_id}": { - /** - * Get a delivery for an app webhook - * @description Returns a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-webhook-delivery"]; - }; - "/app/hook/deliveries/{delivery_id}/attempts": { - /** - * Redeliver a delivery for an app webhook - * @description Redeliver a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - post: operations["apps/redeliver-webhook-delivery"]; - }; - "/app/installation-requests": { - /** - * List installation requests for the authenticated app - * @description Lists all the pending installation requests for the authenticated GitHub App. - */ - get: operations["apps/list-installation-requests-for-authenticated-app"]; - }; - "/app/installations": { - /** - * List installations for the authenticated app - * @description You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - * - * The permissions the installation has are included under the `permissions` key. - */ - get: operations["apps/list-installations"]; - }; - "/app/installations/{installation_id}": { - /** - * Get an installation for the authenticated app - * @description Enables an authenticated GitHub App to find an installation's information using the installation id. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-installation"]; - /** - * Delete an installation for the authenticated app - * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - delete: operations["apps/delete-installation"]; - }; - "/app/installations/{installation_id}/access_tokens": { - /** - * Create an installation access token for an app - * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - post: operations["apps/create-installation-access-token"]; - }; - "/app/installations/{installation_id}/suspended": { - /** - * Suspend an app installation - * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - put: operations["apps/suspend-installation"]; - /** - * Unsuspend an app installation - * @description Removes a GitHub App installation suspension. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - delete: operations["apps/unsuspend-installation"]; - }; - "/applications/{client_id}/grant": { - /** - * Delete an app authorization - * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. - * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). - */ - delete: operations["apps/delete-authorization"]; - }; - "/applications/{client_id}/token": { - /** - * Check a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. - */ - post: operations["apps/check-token"]; - /** - * Delete an app token - * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. - */ - delete: operations["apps/delete-token"]; - /** - * Reset a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - patch: operations["apps/reset-token"]; - }; - "/applications/{client_id}/token/scoped": { - /** - * Create a scoped access token - * @description Use a non-scoped user access token to create a repository scoped and/or permission scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - post: operations["apps/scope-token"]; - }; - "/apps/{app_slug}": { - /** - * Get an app - * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). - * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - get: operations["apps/get-by-slug"]; - }; - "/assignments/{assignment_id}": { - /** - * Get an assignment - * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/get-an-assignment"]; - }; - "/assignments/{assignment_id}/accepted_assignments": { - /** - * List accepted assignments for an assignment - * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/list-accepted-assigments-for-an-assignment"]; - }; - "/assignments/{assignment_id}/grades": { - /** - * Get assignment grades - * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/get-assignment-grades"]; - }; - "/classrooms": { - /** - * List classrooms - * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. - */ - get: operations["classroom/list-classrooms"]; - }; - "/classrooms/{classroom_id}": { - /** - * Get a classroom - * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. - */ - get: operations["classroom/get-a-classroom"]; - }; - "/classrooms/{classroom_id}/assignments": { - /** - * List assignments for a classroom - * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. - */ - get: operations["classroom/list-assignments-for-a-classroom"]; - }; - "/codes_of_conduct": { - /** - * Get all codes of conduct - * @description Returns array of all GitHub's codes of conduct. - */ - get: operations["codes-of-conduct/get-all-codes-of-conduct"]; - }; - "/codes_of_conduct/{key}": { - /** - * Get a code of conduct - * @description Returns information about the specified GitHub code of conduct. - */ - get: operations["codes-of-conduct/get-conduct-code"]; - }; - "/emojis": { - /** - * Get emojis - * @description Lists all the emojis available to use on GitHub. - */ - get: operations["emojis/get"]; - }; - "/enterprises/{enterprise}/dependabot/alerts": { - /** - * List Dependabot alerts for an enterprise - * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. - * To use this endpoint, you must be a member of the enterprise, and you must use an - * access token with the `repo` scope or `security_events` scope. - * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - get: operations["dependabot/list-alerts-for-enterprise"]; - }; - "/enterprises/{enterprise}/secret-scanning/alerts": { - /** - * List secret scanning alerts for an enterprise - * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). - */ - get: operations["secret-scanning/list-alerts-for-enterprise"]; - }; - "/events": { - /** - * List public events - * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. - */ - get: operations["activity/list-public-events"]; - }; - "/feeds": { - /** - * Get feeds - * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: - * - * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) - * * **Current user public**: The public timeline for the authenticated user - * * **Current user**: The private timeline for the authenticated user - * * **Current user actor**: The private timeline for activity created by the authenticated user - * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. - * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. - * - * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. - */ - get: operations["activity/get-feeds"]; - }; - "/gists": { - /** - * List gists for the authenticated user - * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: - */ - get: operations["gists/list"]; - /** - * Create a gist - * @description Allows you to add a new gist with one or more files. - * - * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. - */ - post: operations["gists/create"]; - }; - "/gists/public": { - /** - * List public gists - * @description List public gists sorted by most recently updated to least recently updated. - * - * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. - */ - get: operations["gists/list-public"]; - }; - "/gists/starred": { - /** - * List starred gists - * @description List the authenticated user's starred gists: - */ - get: operations["gists/list-starred"]; - }; - "/gists/{gist_id}": { - /** Get a gist */ - get: operations["gists/get"]; - /** Delete a gist */ - delete: operations["gists/delete"]; - /** - * Update a gist - * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. - * At least one of `description` or `files` is required. - */ - patch: operations["gists/update"]; - }; - "/gists/{gist_id}/comments": { - /** List gist comments */ - get: operations["gists/list-comments"]; - /** Create a gist comment */ - post: operations["gists/create-comment"]; - }; - "/gists/{gist_id}/comments/{comment_id}": { - /** Get a gist comment */ - get: operations["gists/get-comment"]; - /** Delete a gist comment */ - delete: operations["gists/delete-comment"]; - /** Update a gist comment */ - patch: operations["gists/update-comment"]; - }; - "/gists/{gist_id}/commits": { - /** List gist commits */ - get: operations["gists/list-commits"]; - }; - "/gists/{gist_id}/forks": { - /** List gist forks */ - get: operations["gists/list-forks"]; - /** Fork a gist */ - post: operations["gists/fork"]; - }; - "/gists/{gist_id}/star": { - /** Check if a gist is starred */ - get: operations["gists/check-is-starred"]; - /** - * Star a gist - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["gists/star"]; - /** Unstar a gist */ - delete: operations["gists/unstar"]; - }; - "/gists/{gist_id}/{sha}": { - /** Get a gist revision */ - get: operations["gists/get-revision"]; - }; - "/gitignore/templates": { - /** - * Get all gitignore templates - * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). - */ - get: operations["gitignore/get-all-templates"]; - }; - "/gitignore/templates/{name}": { - /** - * Get a gitignore template - * @description The API also allows fetching the source of a single template. - * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. - */ - get: operations["gitignore/get-template"]; - }; - "/installation/repositories": { - /** - * List repositories accessible to the app installation - * @description List repositories that an app installation can access. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - get: operations["apps/list-repos-accessible-to-installation"]; - }; - "/installation/token": { - /** - * Revoke an installation access token - * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. - * - * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - delete: operations["apps/revoke-installation-access-token"]; - }; - "/issues": { - /** - * List issues assigned to the authenticated user - * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member - * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not - * necessarily assigned to you. - * - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list"]; - }; - "/licenses": { - /** - * Get all commonly used licenses - * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - get: operations["licenses/get-all-commonly-used"]; - }; - "/licenses/{license}": { - /** - * Get a license - * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - get: operations["licenses/get"]; - }; - "/markdown": { - /** Render a Markdown document */ - post: operations["markdown/render"]; - }; - "/markdown/raw": { - /** - * Render a Markdown document in raw mode - * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. - */ - post: operations["markdown/render-raw"]; - }; - "/marketplace_listing/accounts/{account_id}": { - /** - * Get a subscription plan for an account - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/get-subscription-plan-for-account"]; - }; - "/marketplace_listing/plans": { - /** - * List plans - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-plans"]; - }; - "/marketplace_listing/plans/{plan_id}/accounts": { - /** - * List accounts for a plan - * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-accounts-for-plan"]; - }; - "/marketplace_listing/stubbed/accounts/{account_id}": { - /** - * Get a subscription plan for an account (stubbed) - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/get-subscription-plan-for-account-stubbed"]; - }; - "/marketplace_listing/stubbed/plans": { - /** - * List plans (stubbed) - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-plans-stubbed"]; - }; - "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { - /** - * List accounts for a plan (stubbed) - * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-accounts-for-plan-stubbed"]; - }; - "/meta": { - /** - * Get GitHub meta information - * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." - * - * The API's response also includes a list of GitHub's domain names. - * - * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. - * - * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. - */ - get: operations["meta/get"]; - }; - "/networks/{owner}/{repo}/events": { - /** List public events for a network of repositories */ - get: operations["activity/list-public-events-for-repo-network"]; - }; - "/notifications": { - /** - * List notifications for the authenticated user - * @description List all notifications for the current user, sorted by most recently updated. - */ - get: operations["activity/list-notifications-for-authenticated-user"]; - /** - * Mark notifications as read - * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - put: operations["activity/mark-notifications-as-read"]; - }; - "/notifications/threads/{thread_id}": { - /** - * Get a thread - * @description Gets information about a notification thread. - */ - get: operations["activity/get-thread"]; - /** - * Mark a thread as read - * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. - */ - patch: operations["activity/mark-thread-as-read"]; - }; - "/notifications/threads/{thread_id}/subscription": { - /** - * Get a thread subscription for the authenticated user - * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). - * - * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. - */ - get: operations["activity/get-thread-subscription-for-authenticated-user"]; - /** - * Set a thread subscription - * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. - * - * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. - * - * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. - */ - put: operations["activity/set-thread-subscription"]; - /** - * Delete a thread subscription - * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. - */ - delete: operations["activity/delete-thread-subscription"]; - }; - "/octocat": { - /** - * Get Octocat - * @description Get the octocat as ASCII art - */ - get: operations["meta/get-octocat"]; - }; - "/organizations": { - /** - * List organizations - * @description Lists all organizations, in the order that they were created on GitHub. - * - * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. - */ - get: operations["orgs/list"]; - }; - "/orgs/{org}": { - /** - * Get an organization - * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." - */ - get: operations["orgs/get"]; - /** - * Delete an organization - * @description Deletes an organization and all its repositories. - * - * The organization login will be unavailable for 90 days after deletion. - * - * Please review the Terms of Service regarding account deletion before using this endpoint: - * - * https://docs.github.com/site-policy/github-terms/github-terms-of-service - */ - delete: operations["orgs/delete"]; - /** - * Update an organization - * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - * - * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. - */ - patch: operations["orgs/update"]; - }; - "/orgs/{org}/actions/cache/usage": { - /** - * Get GitHub Actions cache usage for an organization - * @description Gets the total GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage-for-org"]; - }; - "/orgs/{org}/actions/cache/usage-by-repository": { - /** - * List repositories with GitHub Actions cache usage for an organization - * @description Lists repositories and their GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; - }; - "/orgs/{org}/actions/oidc/customization/sub": { - /** - * Get the customization template for an OIDC subject claim for an organization - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - */ - get: operations["oidc/get-oidc-custom-sub-template-for-org"]; - /** - * Set the customization template for an OIDC subject claim for an organization - * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `write:org` scope to use this endpoint. - * GitHub Apps must have the `admin:org` permission to use this endpoint. - */ - put: operations["oidc/update-oidc-custom-sub-template-for-org"]; - }; - "/orgs/{org}/actions/permissions": { - /** - * Get GitHub Actions permissions for an organization - * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/get-github-actions-permissions-organization"]; - /** - * Set GitHub Actions permissions for an organization - * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-github-actions-permissions-organization"]; - }; - "/orgs/{org}/actions/permissions/repositories": { - /** - * List selected repositories enabled for GitHub Actions in an organization - * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; - /** - * Set selected repositories enabled for GitHub Actions in an organization - * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; - }; - "/orgs/{org}/actions/permissions/repositories/{repository_id}": { - /** - * Enable a selected repository for GitHub Actions in an organization - * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/enable-selected-repository-github-actions-organization"]; - /** - * Disable a selected repository for GitHub Actions in an organization - * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - delete: operations["actions/disable-selected-repository-github-actions-organization"]; - }; - "/orgs/{org}/actions/permissions/selected-actions": { - /** - * Get allowed actions and reusable workflows for an organization - * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/get-allowed-actions-organization"]; - /** - * Set allowed actions and reusable workflows for an organization - * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-allowed-actions-organization"]; - }; - "/orgs/{org}/actions/permissions/workflow": { - /** - * Get default workflow permissions for an organization - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, - * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; - /** - * Set default workflow permissions for an organization - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions - * can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; - }; - "/orgs/{org}/actions/runners": { - /** - * List self-hosted runners for an organization - * @description Lists all self-hosted runners configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-self-hosted-runners-for-org"]; - }; - "/orgs/{org}/actions/runners/downloads": { - /** - * List runner applications for an organization - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-runner-applications-for-org"]; - }; - "/orgs/{org}/actions/runners/generate-jitconfig": { - /** - * Create configuration for a just-in-time runner for an organization - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/generate-runner-jitconfig-for-org"]; - }; - "/orgs/{org}/actions/runners/registration-token": { - /** - * Create a registration token for an organization - * @description Returns a token that you can pass to the `config` script. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. - * - * ``` - * ./config.sh --url https://github.com/octo-org --token TOKEN - * ``` - */ - post: operations["actions/create-registration-token-for-org"]; - }; - "/orgs/{org}/actions/runners/remove-token": { - /** - * Create a remove token for an organization - * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this - * endpoint. - * - * ``` - * ./config.sh remove --token TOKEN - * ``` - */ - post: operations["actions/create-remove-token-for-org"]; - }; - "/orgs/{org}/actions/runners/{runner_id}": { - /** - * Get a self-hosted runner for an organization - * @description Gets a specific self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/get-self-hosted-runner-for-org"]; - /** - * Delete a self-hosted runner from an organization - * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/delete-self-hosted-runner-from-org"]; - }; - "/orgs/{org}/actions/runners/{runner_id}/labels": { - /** - * List labels for a self-hosted runner for an organization - * @description Lists all labels for a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; - /** - * Set custom labels for a self-hosted runner for an organization - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; - /** - * Add custom labels to a self-hosted runner for an organization - * @description Add custom labels to a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/add-custom-labels-to-self-hosted-runner-for-org"]; - /** - * Remove all custom labels from a self-hosted runner for an organization - * @description Remove all custom labels from a self-hosted runner configured in an - * organization. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; - }; - "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { - /** - * Remove a custom label from a self-hosted runner for an organization - * @description Remove a custom label from a self-hosted runner configured - * in an organization. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; - }; - "/orgs/{org}/actions/secrets": { - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-org-secrets"]; - }; - "/orgs/{org}/actions/secrets/public-key": { - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-org-public-key"]; - }; - "/orgs/{org}/actions/secrets/{secret_name}": { - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/create-or-update-org-secret"]; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/delete-org-secret"]; - }; - "/orgs/{org}/actions/secrets/{secret_name}/repositories": { - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` - * for repository access to a secret is set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-selected-repos-for-org-secret"]; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/set-selected-repos-for-org-secret"]; - }; - "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for - * repository access is set to `selected`. The visibility is set when you [Create or - * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/add-selected-repo-to-org-secret"]; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/remove-selected-repo-from-org-secret"]; - }; - "/orgs/{org}/actions/variables": { - /** - * List organization variables - * @description Lists all organization variables. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-org-variables"]; - /** - * Create an organization variable - * @description Creates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - post: operations["actions/create-org-variable"]; - }; - "/orgs/{org}/actions/variables/{name}": { - /** - * Get an organization variable - * @description Gets a specific variable in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/get-org-variable"]; - /** - * Delete an organization variable - * @description Deletes an organization variable using the variable name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/delete-org-variable"]; - /** - * Update an organization variable - * @description Updates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - patch: operations["actions/update-org-variable"]; - }; - "/orgs/{org}/actions/variables/{name}/repositories": { - /** - * List selected repositories for an organization variable - * @description Lists all repositories that can access an organization variable - * that is available to selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-selected-repos-for-org-variable"]; - /** - * Set selected repositories for an organization variable - * @description Replaces all repositories for an organization variable that is available - * to selected repositories. Organization variables that are available to selected - * repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this - * endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - put: operations["actions/set-selected-repos-for-org-variable"]; - }; - "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization variable - * @description Adds a repository to an organization variable that is available to selected repositories. - * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - put: operations["actions/add-selected-repo-to-org-variable"]; - /** - * Remove selected repository from an organization variable - * @description Removes a repository from an organization variable that is - * available to selected repositories. Organization variables that are available to - * selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/remove-selected-repo-from-org-variable"]; - }; - "/orgs/{org}/blocks": { - /** - * List users blocked by an organization - * @description List the users blocked by an organization. - */ - get: operations["orgs/list-blocked-users"]; - }; - "/orgs/{org}/blocks/{username}": { - /** - * Check if a user is blocked by an organization - * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. - */ - get: operations["orgs/check-blocked-user"]; - /** - * Block a user from an organization - * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. - */ - put: operations["orgs/block-user"]; - /** - * Unblock a user from an organization - * @description Unblocks the given user on behalf of the specified organization. - */ - delete: operations["orgs/unblock-user"]; - }; - "/orgs/{org}/code-scanning/alerts": { - /** - * List code scanning alerts for an organization - * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/list-alerts-for-org"]; - }; - "/orgs/{org}/codespaces": { - /** - * List codespaces for the organization - * @description Lists the codespaces associated to a specified organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-in-organization"]; - }; - "/orgs/{org}/codespaces/access": { - /** - * Manage access control for organization codespaces - * @deprecated - * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/set-codespaces-access"]; - }; - "/orgs/{org}/codespaces/access/selected_users": { - /** - * Add users to Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - post: operations["codespaces/set-codespaces-access-users"]; - /** - * Remove users from Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will no longer be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-codespaces-access-users"]; - }; - "/orgs/{org}/codespaces/secrets": { - /** - * List organization secrets - * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-org-secrets"]; - }; - "/orgs/{org}/codespaces/secrets/public-key": { - /** - * Get an organization public key - * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-org-public-key"]; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}": { - /** - * Get an organization secret - * @description Gets an organization secret without revealing its encrypted value. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/create-or-update-org-secret"]; - /** - * Delete an organization secret - * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-org-secret"]; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-selected-repos-for-org-secret"]; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/set-selected-repos-for-org-secret"]; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/add-selected-repo-to-org-secret"]; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/remove-selected-repo-from-org-secret"]; - }; - "/orgs/{org}/copilot/billing": { - /** - * Get Copilot for Business seat information and settings for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets information about an organization's Copilot for Business subscription, including seat breakdown - * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. - * For more information, see "[Configuring GitHub Copilot settings in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - get: operations["copilot/get-copilot-organization-details"]; - }; - "/orgs/{org}/copilot/billing/seats": { - /** - * List all Copilot for Business seat assignments for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Lists all Copilot for Business seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - get: operations["copilot/list-copilot-seats"]; - }; - "/orgs/{org}/copilot/billing/selected_teams": { - /** - * Add teams to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for all users within each specified team. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - post: operations["copilot/add-copilot-for-business-seats-for-teams"]; - /** - * Remove teams from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for all members of each team specified. - * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; - }; - "/orgs/{org}/copilot/billing/selected_users": { - /** - * Add users to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for each user specified. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - post: operations["copilot/add-copilot-for-business-seats-for-users"]; - /** - * Remove users from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for each user specified. - * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)" - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; - }; - "/orgs/{org}/dependabot/alerts": { - /** - * List Dependabot alerts for an organization - * @description Lists Dependabot alerts for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - get: operations["dependabot/list-alerts-for-org"]; - }; - "/orgs/{org}/dependabot/secrets": { - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/list-org-secrets"]; - }; - "/orgs/{org}/dependabot/secrets/public-key": { - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/get-org-public-key"]; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}": { - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization - * permission to use this endpoint. - */ - put: operations["dependabot/create-or-update-org-secret"]; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - delete: operations["dependabot/delete-org-secret"]; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/list-selected-repos-for-org-secret"]; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - put: operations["dependabot/set-selected-repos-for-org-secret"]; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - put: operations["dependabot/add-selected-repo-to-org-secret"]; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - delete: operations["dependabot/remove-selected-repo-from-org-secret"]; - }; - "/orgs/{org}/docker/conflicts": { - /** - * Get list of conflicting packages during Docker migration for organization - * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; - }; - "/orgs/{org}/events": { - /** List public organization events */ - get: operations["activity/list-public-org-events"]; - }; - "/orgs/{org}/failed_invitations": { - /** - * List failed organization invitations - * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. - */ - get: operations["orgs/list-failed-invitations"]; - }; - "/orgs/{org}/hooks": { - /** List organization webhooks */ - get: operations["orgs/list-webhooks"]; - /** - * Create an organization webhook - * @description Here's how you can create a hook that posts payloads in JSON format: - */ - post: operations["orgs/create-webhook"]; - }; - "/orgs/{org}/hooks/{hook_id}": { - /** - * Get an organization webhook - * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." - */ - get: operations["orgs/get-webhook"]; - /** Delete an organization webhook */ - delete: operations["orgs/delete-webhook"]; - /** - * Update an organization webhook - * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." - */ - patch: operations["orgs/update-webhook"]; - }; - "/orgs/{org}/hooks/{hook_id}/config": { - /** - * Get a webhook configuration for an organization - * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. - */ - get: operations["orgs/get-webhook-config-for-org"]; - /** - * Update a webhook configuration for an organization - * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. - */ - patch: operations["orgs/update-webhook-config-for-org"]; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries": { - /** - * List deliveries for an organization webhook - * @description Returns a list of webhook deliveries for a webhook configured in an organization. - */ - get: operations["orgs/list-webhook-deliveries"]; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { - /** - * Get a webhook delivery for an organization webhook - * @description Returns a delivery for a webhook configured in an organization. - */ - get: operations["orgs/get-webhook-delivery"]; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - /** - * Redeliver a delivery for an organization webhook - * @description Redeliver a delivery for a webhook configured in an organization. - */ - post: operations["orgs/redeliver-webhook-delivery"]; - }; - "/orgs/{org}/hooks/{hook_id}/pings": { - /** - * Ping an organization webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - post: operations["orgs/ping-webhook"]; - }; - "/orgs/{org}/installation": { - /** - * Get an organization installation for the authenticated app - * @description Enables an authenticated GitHub App to find the organization's installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-org-installation"]; - }; - "/orgs/{org}/installations": { - /** - * List app installations for an organization - * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. - */ - get: operations["orgs/list-app-installations"]; - }; - "/orgs/{org}/interaction-limits": { - /** - * Get interaction restrictions for an organization - * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. - */ - get: operations["interactions/get-restrictions-for-org"]; - /** - * Set interaction restrictions for an organization - * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. - */ - put: operations["interactions/set-restrictions-for-org"]; - /** - * Remove interaction restrictions for an organization - * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. - */ - delete: operations["interactions/remove-restrictions-for-org"]; - }; - "/orgs/{org}/invitations": { - /** - * List pending organization invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - get: operations["orgs/list-pending-invitations"]; - /** - * Create an organization invitation - * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["orgs/create-invitation"]; - }; - "/orgs/{org}/invitations/{invitation_id}": { - /** - * Cancel an organization invitation - * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - */ - delete: operations["orgs/cancel-invitation"]; - }; - "/orgs/{org}/invitations/{invitation_id}/teams": { - /** - * List organization invitation teams - * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. - */ - get: operations["orgs/list-invitation-teams"]; - }; - "/orgs/{org}/issues": { - /** - * List organization issues assigned to the authenticated user - * @description List issues in an organization assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list-for-org"]; - }; - "/orgs/{org}/members": { - /** - * List organization members - * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. - */ - get: operations["orgs/list-members"]; - }; - "/orgs/{org}/members/{username}": { - /** - * Check organization membership for a user - * @description Check if a user is, publicly or privately, a member of the organization. - */ - get: operations["orgs/check-membership-for-user"]; - /** - * Remove an organization member - * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. - */ - delete: operations["orgs/remove-member"]; - }; - "/orgs/{org}/members/{username}/codespaces": { - /** - * List codespaces for a user in organization - * @description Lists the codespaces that a member of an organization has for repositories in that organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-codespaces-for-user-in-org"]; - }; - "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { - /** - * Delete a codespace from the organization - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-from-organization"]; - }; - "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { - /** - * Stop a codespace for an organization user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - post: operations["codespaces/stop-in-organization"]; - }; - "/orgs/{org}/members/{username}/copilot": { - /** - * Get Copilot for Business seat assignment details for a user - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets the GitHub Copilot for Business seat assignment details for a member of an organization who currently has access to GitHub Copilot. - * - * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - get: operations["copilot/get-copilot-seat-assignment-details-for-user"]; - }; - "/orgs/{org}/memberships/{username}": { - /** - * Get organization membership for a user - * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. - */ - get: operations["orgs/get-membership-for-user"]; - /** - * Set organization membership for a user - * @description Only authenticated organization owners can add a member to the organization or update the member's role. - * - * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. - * - * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. - * - * **Rate limits** - * - * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. - */ - put: operations["orgs/set-membership-for-user"]; - /** - * Remove organization membership for a user - * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. - * - * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. - */ - delete: operations["orgs/remove-membership-for-user"]; - }; - "/orgs/{org}/migrations": { - /** - * List organization migrations - * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). - * - * A list of `repositories` is only returned for export migrations. - */ - get: operations["migrations/list-for-org"]; - /** - * Start an organization migration - * @description Initiates the generation of a migration archive. - */ - post: operations["migrations/start-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}": { - /** - * Get an organization migration status - * @description Fetches the status of a migration. - * - * The `state` of a migration can be one of the following values: - * - * * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ - get: operations["migrations/get-status-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}/archive": { - /** - * Download an organization migration archive - * @description Fetches the URL to a migration archive. - */ - get: operations["migrations/download-archive-for-org"]; - /** - * Delete an organization migration archive - * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. - */ - delete: operations["migrations/delete-archive-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { - /** - * Unlock an organization repository - * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. - */ - delete: operations["migrations/unlock-repo-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}/repositories": { - /** - * List repositories in an organization migration - * @description List all the repositories for this organization migration. - */ - get: operations["migrations/list-repos-for-org"]; - }; - "/orgs/{org}/outside_collaborators": { - /** - * List outside collaborators for an organization - * @description List all users who are outside collaborators of an organization. - */ - get: operations["orgs/list-outside-collaborators"]; - }; - "/orgs/{org}/outside_collaborators/{username}": { - /** - * Convert an organization member to outside collaborator - * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - */ - put: operations["orgs/convert-member-to-outside-collaborator"]; - /** - * Remove outside collaborator from an organization - * @description Removing a user from this list will remove them from all the organization's repositories. - */ - delete: operations["orgs/remove-outside-collaborator"]; - }; - "/orgs/{org}/packages": { - /** - * List packages for an organization - * @description Lists packages in an organization readable by the user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-organization"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}": { - /** - * Get a package for an organization - * @description Gets a specific package in an organization. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-organization"]; - /** - * Delete a package for an organization - * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-for-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/restore": { - /** - * Restore a package for an organization - * @description Restores an entire package in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-for-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions": { - /** - * List package versions for a package owned by an organization - * @description Lists package versions for a package owned by an organization. - * - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { - /** - * Get a package version for an organization - * @description Gets a specific package version in an organization. - * - * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-organization"]; - /** - * Delete package version for an organization - * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - /** - * Restore package version for an organization - * @description Restores a specific package version in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-org"]; - }; - "/orgs/{org}/personal-access-token-requests": { - /** - * List requests to access organization resources with fine-grained personal access tokens - * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-requests"]; - /** - * Review requests to access organization resources with fine-grained personal access tokens - * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/review-pat-grant-requests-in-bulk"]; - }; - "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { - /** - * Review a request to access organization resources with a fine-grained personal access token - * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/review-pat-grant-request"]; - }; - "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { - /** - * List repositories requested to be accessed by a fine-grained personal access token - * @description Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-request-repositories"]; - }; - "/orgs/{org}/personal-access-tokens": { - /** - * List fine-grained personal access tokens with access to organization resources - * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grants"]; - /** - * Update the access to organization resources via fine-grained personal access tokens - * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/update-pat-accesses"]; - }; - "/orgs/{org}/personal-access-tokens/{pat_id}": { - /** - * Update the access a fine-grained personal access token has to organization resources - * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/update-pat-access"]; - }; - "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { - /** - * List repositories a fine-grained personal access token has access to - * @description Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-repositories"]; - }; - "/orgs/{org}/projects": { - /** - * List organization projects - * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - get: operations["projects/list-for-org"]; - /** - * Create an organization project - * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - post: operations["projects/create-for-org"]; - }; - "/orgs/{org}/public_members": { - /** - * List public organization members - * @description Members of an organization can choose to have their membership publicized or not. - */ - get: operations["orgs/list-public-members"]; - }; - "/orgs/{org}/public_members/{username}": { - /** - * Check public organization membership for a user - * @description Check if the provided user is a public member of the organization. - */ - get: operations["orgs/check-public-membership-for-user"]; - /** - * Set public organization membership for the authenticated user - * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["orgs/set-public-membership-for-authenticated-user"]; - /** - * Remove public organization membership for the authenticated user - * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. - */ - delete: operations["orgs/remove-public-membership-for-authenticated-user"]; - }; - "/orgs/{org}/repos": { - /** - * List organization repositories - * @description Lists repositories for the specified organization. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - get: operations["repos/list-for-org"]; - /** - * Create an organization repository - * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - post: operations["repos/create-in-org"]; - }; - "/orgs/{org}/rulesets": { - /** - * Get all organization repository rulesets - * @description Get all the repository rulesets for an organization. - */ - get: operations["repos/get-org-rulesets"]; - /** - * Create an organization repository ruleset - * @description Create a repository ruleset for an organization. - */ - post: operations["repos/create-org-ruleset"]; - }; - "/orgs/{org}/rulesets/{ruleset_id}": { - /** - * Get an organization repository ruleset - * @description Get a repository ruleset for an organization. - */ - get: operations["repos/get-org-ruleset"]; - /** - * Update an organization repository ruleset - * @description Update a ruleset for an organization. - */ - put: operations["repos/update-org-ruleset"]; - /** - * Delete an organization repository ruleset - * @description Delete a ruleset for an organization. - */ - delete: operations["repos/delete-org-ruleset"]; - }; - "/orgs/{org}/secret-scanning/alerts": { - /** - * List secret scanning alerts for an organization - * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/list-alerts-for-org"]; - }; - "/orgs/{org}/security-advisories": { - /** - * List repository security advisories for an organization - * @description Lists repository security advisories for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission. - */ - get: operations["security-advisories/list-org-repository-advisories"]; - }; - "/orgs/{org}/security-managers": { - /** - * List security manager teams - * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. - * - * GitHub Apps must have the `administration` organization read permission to use this endpoint. - */ - get: operations["orgs/list-security-manager-teams"]; - }; - "/orgs/{org}/security-managers/teams/{team_slug}": { - /** - * Add a security manager team - * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - put: operations["orgs/add-security-manager-team"]; - /** - * Remove a security manager team - * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - delete: operations["orgs/remove-security-manager-team"]; - }; - "/orgs/{org}/settings/billing/actions": { - /** - * Get GitHub Actions billing for an organization - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - get: operations["billing/get-github-actions-billing-org"]; - }; - "/orgs/{org}/settings/billing/packages": { - /** - * Get GitHub Packages billing for an organization - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - get: operations["billing/get-github-packages-billing-org"]; - }; - "/orgs/{org}/settings/billing/shared-storage": { - /** - * Get shared storage billing for an organization - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - get: operations["billing/get-shared-storage-billing-org"]; - }; - "/orgs/{org}/teams": { - /** - * List teams - * @description Lists all teams in an organization that are visible to the authenticated user. - */ - get: operations["teams/list"]; - /** - * Create a team - * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." - * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". - */ - post: operations["teams/create"]; - }; - "/orgs/{org}/teams/{team_slug}": { - /** - * Get a team by name - * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. - */ - get: operations["teams/get-by-name"]; - /** - * Delete a team - * @description To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. - */ - delete: operations["teams/delete-in-org"]; - /** - * Update a team - * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. - */ - patch: operations["teams/update-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions": { - /** - * List discussions - * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. - */ - get: operations["teams/list-discussions-in-org"]; - /** - * Create a discussion - * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. - */ - post: operations["teams/create-discussion-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { - /** - * Get a discussion - * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - get: operations["teams/get-discussion-in-org"]; - /** - * Delete a discussion - * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - delete: operations["teams/delete-discussion-in-org"]; - /** - * Update a discussion - * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - patch: operations["teams/update-discussion-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { - /** - * List discussion comments - * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - get: operations["teams/list-discussion-comments-in-org"]; - /** - * Create a discussion comment - * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - post: operations["teams/create-discussion-comment-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { - /** - * Get a discussion comment - * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - get: operations["teams/get-discussion-comment-in-org"]; - /** - * Delete a discussion comment - * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - delete: operations["teams/delete-discussion-comment-in-org"]; - /** - * Update a discussion comment - * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - patch: operations["teams/update-discussion-comment-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - /** - * List reactions for a team discussion comment - * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - get: operations["reactions/list-for-team-discussion-comment-in-org"]; - /** - * Create reaction for a team discussion comment - * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - post: operations["reactions/create-for-team-discussion-comment-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { - /** - * Delete team discussion comment reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["reactions/delete-for-team-discussion-comment"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { - /** - * List reactions for a team discussion - * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - get: operations["reactions/list-for-team-discussion-in-org"]; - /** - * Create reaction for a team discussion - * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - post: operations["reactions/create-for-team-discussion-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { - /** - * Delete team discussion reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["reactions/delete-for-team-discussion"]; - }; - "/orgs/{org}/teams/{team_slug}/invitations": { - /** - * List pending team invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. - */ - get: operations["teams/list-pending-invitations-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/members": { - /** - * List team members - * @description Team members will include the members of child teams. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - get: operations["teams/list-members-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/memberships/{username}": { - /** - * Get team membership for a user - * @description Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - get: operations["teams/get-membership-for-user-in-org"]; - /** - * Add or update team membership for a user - * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - put: operations["teams/add-or-update-membership-for-user-in-org"]; - /** - * Remove team membership for a user - * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - delete: operations["teams/remove-membership-for-user-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/projects": { - /** - * List team projects - * @description Lists the organization projects for a team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. - */ - get: operations["teams/list-projects-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { - /** - * Check team permissions for a project - * @description Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - get: operations["teams/check-permissions-for-project-in-org"]; - /** - * Add or update team project permissions - * @description Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - put: operations["teams/add-or-update-project-permissions-in-org"]; - /** - * Remove a project from a team - * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - delete: operations["teams/remove-project-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/repos": { - /** - * List team repositories - * @description Lists a team's repositories visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. - */ - get: operations["teams/list-repos-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { - /** - * Check team permissions for a repository - * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. - * - * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - get: operations["teams/check-permissions-for-repo-in-org"]; - /** - * Add or update team repository permissions - * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - * - * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". - */ - put: operations["teams/add-or-update-repo-permissions-in-org"]; - /** - * Remove a repository from a team - * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - delete: operations["teams/remove-repo-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/teams": { - /** - * List child teams - * @description Lists the child teams of the team specified by `{team_slug}`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. - */ - get: operations["teams/list-child-in-org"]; - }; - "/orgs/{org}/{security_product}/{enablement}": { - /** - * Enable or disable a security feature for an organization - * @description Enables or disables the specified security feature for all eligible repositories in an organization. - * - * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. - * A token with the 'write:org' scope is also required. - * - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - * - * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; - }; - "/projects/columns/cards/{card_id}": { - /** - * Get a project card - * @description Gets information about a project card. - */ - get: operations["projects/get-card"]; - /** - * Delete a project card - * @description Deletes a project card - */ - delete: operations["projects/delete-card"]; - /** Update an existing project card */ - patch: operations["projects/update-card"]; - }; - "/projects/columns/cards/{card_id}/moves": { - /** Move a project card */ - post: operations["projects/move-card"]; - }; - "/projects/columns/{column_id}": { - /** - * Get a project column - * @description Gets information about a project column. - */ - get: operations["projects/get-column"]; - /** - * Delete a project column - * @description Deletes a project column. - */ - delete: operations["projects/delete-column"]; - /** Update an existing project column */ - patch: operations["projects/update-column"]; - }; - "/projects/columns/{column_id}/cards": { - /** - * List project cards - * @description Lists the project cards in a project. - */ - get: operations["projects/list-cards"]; - /** Create a project card */ - post: operations["projects/create-card"]; - }; - "/projects/columns/{column_id}/moves": { - /** Move a project column */ - post: operations["projects/move-column"]; - }; - "/projects/{project_id}": { - /** - * Get a project - * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - get: operations["projects/get"]; - /** - * Delete a project - * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. - */ - delete: operations["projects/delete"]; - /** - * Update a project - * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - patch: operations["projects/update"]; - }; - "/projects/{project_id}/collaborators": { - /** - * List project collaborators - * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. - */ - get: operations["projects/list-collaborators"]; - }; - "/projects/{project_id}/collaborators/{username}": { - /** - * Add project collaborator - * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. - */ - put: operations["projects/add-collaborator"]; - /** - * Remove user as a collaborator - * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. - */ - delete: operations["projects/remove-collaborator"]; - }; - "/projects/{project_id}/collaborators/{username}/permission": { - /** - * Get project permission for a user - * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. - */ - get: operations["projects/get-permission-for-user"]; - }; - "/projects/{project_id}/columns": { - /** - * List project columns - * @description Lists the project columns in a project. - */ - get: operations["projects/list-columns"]; - /** - * Create a project column - * @description Creates a new project column. - */ - post: operations["projects/create-column"]; - }; - "/rate_limit": { - /** - * Get rate limit status for the authenticated user - * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. - * - * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: - * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. - * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search)." - * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." - * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." - * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." - * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." - * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." - * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." - * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." - * - * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. - */ - get: operations["rate-limit/get"]; - }; - "/repos/{owner}/{repo}": { - /** - * Get a repository - * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - get: operations["repos/get"]; - /** - * Delete a repository - * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. - * - * If an organization owner has configured the organization to prevent members from deleting organization-owned - * repositories, you will get a `403 Forbidden` response. - */ - delete: operations["repos/delete"]; - /** - * Update a repository - * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. - */ - patch: operations["repos/update"]; - }; - "/repos/{owner}/{repo}/actions/artifacts": { - /** - * List artifacts for a repository - * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-artifacts-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { - /** - * Get an artifact - * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-artifact"]; - /** - * Delete an artifact - * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-artifact"]; - }; - "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { - /** - * Download an artifact - * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in - * the response header to find the URL for the download. The `:archive_format` must be `zip`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-artifact"]; - }; - "/repos/{owner}/{repo}/actions/cache/usage": { - /** - * Get GitHub Actions cache usage for a repository - * @description Gets GitHub Actions cache usage for a repository. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage"]; - }; - "/repos/{owner}/{repo}/actions/caches": { - /** - * List GitHub Actions caches for a repository - * @description Lists the GitHub Actions caches for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-list"]; - /** - * Delete GitHub Actions caches for a repository (using a cache key) - * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-actions-cache-by-key"]; - }; - "/repos/{owner}/{repo}/actions/caches/{cache_id}": { - /** - * Delete a GitHub Actions cache for a repository (using a cache ID) - * @description Deletes a GitHub Actions cache for a repository, using a cache ID. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-actions-cache-by-id"]; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}": { - /** - * Get a job for a workflow run - * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-job-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { - /** - * Download job logs for a workflow run - * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look - * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can - * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must - * have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-job-logs-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { - /** - * Re-run a job from a workflow run - * @description Re-run a job and its dependent jobs in a workflow run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/re-run-job-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/oidc/customization/sub": { - /** - * Get the customization template for an OIDC subject claim for a repository - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. - */ - get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; - /** - * Set the customization template for an OIDC subject claim for a repository - * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/organization-secrets": { - /** - * List repository organization secrets - * @description Lists all organization secrets shared with a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-repo-organization-secrets"]; - }; - "/repos/{owner}/{repo}/actions/organization-variables": { - /** - * List repository organization variables - * @description Lists all organiation variables shared with a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-repo-organization-variables"]; - }; - "/repos/{owner}/{repo}/actions/permissions": { - /** - * Get GitHub Actions permissions for a repository - * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - get: operations["actions/get-github-actions-permissions-repository"]; - /** - * Set GitHub Actions permissions for a repository - * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - put: operations["actions/set-github-actions-permissions-repository"]; - }; - "/repos/{owner}/{repo}/actions/permissions/access": { - /** - * Get the level of access for workflows outside of the repository - * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - get: operations["actions/get-workflow-access-to-repository"]; - /** - * Set the level of access for workflows outside of the repository - * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - put: operations["actions/set-workflow-access-to-repository"]; - }; - "/repos/{owner}/{repo}/actions/permissions/selected-actions": { - /** - * Get allowed actions and reusable workflows for a repository - * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - get: operations["actions/get-allowed-actions-repository"]; - /** - * Set allowed actions and reusable workflows for a repository - * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - put: operations["actions/set-allowed-actions-repository"]; - }; - "/repos/{owner}/{repo}/actions/permissions/workflow": { - /** - * Get default workflow permissions for a repository - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, - * as well as if GitHub Actions can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; - /** - * Set default workflow permissions for a repository - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions - * can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; - }; - "/repos/{owner}/{repo}/actions/runners": { - /** - * List self-hosted runners for a repository - * @description Lists all self-hosted runners configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-self-hosted-runners-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/downloads": { - /** - * List runner applications for a repository - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-runner-applications-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { - /** - * Create configuration for a just-in-time runner for a repository - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/generate-runner-jitconfig-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/registration-token": { - /** - * Create a registration token for a repository - * @description Returns a token that you can pass to the `config` script. The token - * expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided - * by this endpoint. - * - * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN``` - */ - post: operations["actions/create-registration-token-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/remove-token": { - /** - * Create a remove token for a repository - * @description Returns a token that you can pass to remove a self-hosted runner from - * a repository. The token expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from a repository, replace TOKEN with - * the remove token provided by this endpoint. - * - * ```config.sh remove --token TOKEN``` - */ - post: operations["actions/create-remove-token-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}": { - /** - * Get a self-hosted runner for a repository - * @description Gets a specific self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/get-self-hosted-runner-for-repo"]; - /** - * Delete a self-hosted runner from a repository - * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/delete-self-hosted-runner-from-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { - /** - * List labels for a self-hosted runner for a repository - * @description Lists all labels for a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; - /** - * Set custom labels for a self-hosted runner for a repository - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; - /** - * Add custom labels to a self-hosted runner for a repository - * @description Add custom labels to a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/add-custom-labels-to-self-hosted-runner-for-repo"]; - /** - * Remove all custom labels from a self-hosted runner for a repository - * @description Remove all custom labels from a self-hosted runner configured in a - * repository. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { - /** - * Remove a custom label from a self-hosted runner for a repository - * @description Remove a custom label from a self-hosted runner configured - * in a repository. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runs": { - /** - * List workflow runs for a repository - * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-workflow-runs-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}": { - /** - * Get a workflow run - * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow-run"]; - /** - * Delete a workflow run - * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is - * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use - * this endpoint. - */ - delete: operations["actions/delete-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { - /** - * Get the review history for a workflow run - * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-reviews-for-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { - /** - * Approve a workflow run for a fork pull request - * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/approve-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { - /** - * List workflow run artifacts - * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-workflow-run-artifacts"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { - /** - * Get a workflow run attempt - * @description Gets a specific workflow run attempt. Anyone with read access to the repository - * can use this endpoint. If the repository is private you must use an access token - * with the `repo` scope. GitHub Apps must have the `actions:read` permission to - * use this endpoint. - */ - get: operations["actions/get-workflow-run-attempt"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { - /** - * List jobs for a workflow run attempt - * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - get: operations["actions/list-jobs-for-workflow-run-attempt"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { - /** - * Download workflow run attempt logs - * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after - * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-workflow-run-attempt-logs"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { - /** - * Cancel a workflow run - * @description Cancels a workflow run using its `id`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/cancel-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { - /** - * Review custom deployment protection rules for a workflow run - * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * **Note:** GitHub Apps can only review their own custom deployment protection rules. - * To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). - * - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. - */ - post: operations["actions/review-custom-gates-for-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": { - /** - * Force cancel a workflow run - * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. - * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/force-cancel-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { - /** - * List jobs for a workflow run - * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - get: operations["actions/list-jobs-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { - /** - * Download workflow run logs - * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for - * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use - * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have - * the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-workflow-run-logs"]; - /** - * Delete workflow run logs - * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-workflow-run-logs"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { - /** - * Get pending deployments for a workflow run - * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-pending-deployments-for-run"]; - /** - * Review pending deployments for a workflow run - * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. - * - * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. - */ - post: operations["actions/review-pending-deployments-for-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { - /** - * Re-run a workflow - * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/re-run-workflow"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { - /** - * Re-run failed jobs from a workflow run - * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. - */ - post: operations["actions/re-run-workflow-failed-jobs"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { - /** - * Get workflow run usage - * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow-run-usage"]; - }; - "/repos/{owner}/{repo}/actions/secrets": { - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-repo-secrets"]; - }; - "/repos/{owner}/{repo}/actions/secrets/public-key": { - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-repo-public-key"]; - }; - "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/create-or-update-repo-secret"]; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/delete-repo-secret"]; - }; - "/repos/{owner}/{repo}/actions/variables": { - /** - * List repository variables - * @description Lists all repository variables. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-repo-variables"]; - /** - * Create a repository variable - * @description Creates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - post: operations["actions/create-repo-variable"]; - }; - "/repos/{owner}/{repo}/actions/variables/{name}": { - /** - * Get a repository variable - * @description Gets a specific variable in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/get-repo-variable"]; - /** - * Delete a repository variable - * @description Deletes a repository variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/delete-repo-variable"]; - /** - * Update a repository variable - * @description Updates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - patch: operations["actions/update-repo-variable"]; - }; - "/repos/{owner}/{repo}/actions/workflows": { - /** - * List repository workflows - * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-repo-workflows"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { - /** - * Get a workflow - * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { - /** - * Disable a workflow - * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - put: operations["actions/disable-workflow"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { - /** - * Create a workflow dispatch event - * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." - */ - post: operations["actions/create-workflow-dispatch"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { - /** - * Enable a workflow - * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - put: operations["actions/enable-workflow"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { - /** - * List workflow runs for a workflow - * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - */ - get: operations["actions/list-workflow-runs"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { - /** - * Get workflow usage - * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow-usage"]; - }; - "/repos/{owner}/{repo}/activity": { - /** - * List repository activities - * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. - * - * For more information about viewing repository activity, - * see "[Viewing repository activity](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/viewing-repository-activity)." - */ - get: operations["repos/list-activities"]; - }; - "/repos/{owner}/{repo}/assignees": { - /** - * List assignees - * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. - */ - get: operations["issues/list-assignees"]; - }; - "/repos/{owner}/{repo}/assignees/{assignee}": { - /** - * Check if a user can be assigned - * @description Checks if a user has permission to be assigned to an issue in this repository. - * - * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - get: operations["issues/check-user-can-be-assigned"]; - }; - "/repos/{owner}/{repo}/autolinks": { - /** - * List all autolinks of a repository - * @description This returns a list of autolinks configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - get: operations["repos/list-autolinks"]; - /** - * Create an autolink reference for a repository - * @description Users with admin access to the repository can create an autolink. - */ - post: operations["repos/create-autolink"]; - }; - "/repos/{owner}/{repo}/autolinks/{autolink_id}": { - /** - * Get an autolink reference of a repository - * @description This returns a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - get: operations["repos/get-autolink"]; - /** - * Delete an autolink reference from a repository - * @description This deletes a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - delete: operations["repos/delete-autolink"]; - }; - "/repos/{owner}/{repo}/automated-security-fixes": { - /** - * Check if automated security fixes are enabled for a repository - * @description Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - get: operations["repos/check-automated-security-fixes"]; - /** - * Enable automated security fixes - * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - put: operations["repos/enable-automated-security-fixes"]; - /** - * Disable automated security fixes - * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - delete: operations["repos/disable-automated-security-fixes"]; - }; - "/repos/{owner}/{repo}/branches": { - /** List branches */ - get: operations["repos/list-branches"]; - }; - "/repos/{owner}/{repo}/branches/{branch}": { - /** Get a branch */ - get: operations["repos/get-branch"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection": { - /** - * Get branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-branch-protection"]; - /** - * Update branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Protecting a branch requires admin or owner permissions to the repository. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - * - * **Note**: The list of users, apps, and teams in total is limited to 100 items. - */ - put: operations["repos/update-branch-protection"]; - /** - * Delete branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/delete-branch-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { - /** - * Get admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-admin-branch-protection"]; - /** - * Set admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - post: operations["repos/set-admin-branch-protection"]; - /** - * Delete admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - delete: operations["repos/delete-admin-branch-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { - /** - * Get pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-pull-request-review-protection"]; - /** - * Delete pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/delete-pull-request-review-protection"]; - /** - * Update pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - */ - patch: operations["repos/update-pull-request-review-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { - /** - * Get commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. - * - * **Note**: You must enable branch protection to require signed commits. - */ - get: operations["repos/get-commit-signature-protection"]; - /** - * Create commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. - */ - post: operations["repos/create-commit-signature-protection"]; - /** - * Delete commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. - */ - delete: operations["repos/delete-commit-signature-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { - /** - * Get status checks protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-status-checks-protection"]; - /** - * Remove status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/remove-status-check-protection"]; - /** - * Update status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. - */ - patch: operations["repos/update-status-check-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { - /** - * Get all status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-all-status-check-contexts"]; - /** - * Set status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - put: operations["repos/set-status-check-contexts"]; - /** - * Add status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - post: operations["repos/add-status-check-contexts"]; - /** - * Remove status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/remove-status-check-contexts"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { - /** - * Get access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists who has access to this protected branch. - * - * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. - */ - get: operations["repos/get-access-restrictions"]; - /** - * Delete access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Disables the ability to restrict who can push to this branch. - */ - delete: operations["repos/delete-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { - /** - * Get apps with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - get: operations["repos/get-apps-with-access-to-protected-branch"]; - /** - * Set app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - put: operations["repos/set-app-access-restrictions"]; - /** - * Add app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - post: operations["repos/add-app-access-restrictions"]; - /** - * Remove app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - delete: operations["repos/remove-app-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { - /** - * Get teams with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the teams who have push access to this branch. The list includes child teams. - */ - get: operations["repos/get-teams-with-access-to-protected-branch"]; - /** - * Set team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. - */ - put: operations["repos/set-team-access-restrictions"]; - /** - * Add team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified teams push access for this branch. You can also give push access to child teams. - */ - post: operations["repos/add-team-access-restrictions"]; - /** - * Remove team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a team to push to this branch. You can also remove push access for child teams. - */ - delete: operations["repos/remove-team-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { - /** - * Get users with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the people who have push access to this branch. - */ - get: operations["repos/get-users-with-access-to-protected-branch"]; - /** - * Set user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - put: operations["repos/set-user-access-restrictions"]; - /** - * Add user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified people push access for this branch. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - post: operations["repos/add-user-access-restrictions"]; - /** - * Remove user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a user to push to this branch. - * - * | Type | Description | - * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - delete: operations["repos/remove-user-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/rename": { - /** - * Rename a branch - * @description Renames a branch in a repository. - * - * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". - * - * The permissions required to use this endpoint depends on whether you are renaming the default branch. - * - * To rename a non-default branch: - * - * * Users must have push access. - * * GitHub Apps must have the `contents:write` repository permission. - * - * To rename the default branch: - * - * * Users must have admin or owner permissions. - * * GitHub Apps must have the `administration:write` repository permission. - */ - post: operations["repos/rename-branch"]; - }; - "/repos/{owner}/{repo}/check-runs": { - /** - * Create a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. - * - * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. - */ - post: operations["checks/create"]; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}": { - /** - * Get a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - get: operations["checks/get"]; - /** - * Update a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. - */ - patch: operations["checks/update"]; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { - /** - * List check run annotations - * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. - */ - get: operations["checks/list-annotations"]; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { - /** - * Rerequest a check run - * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. - * - * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". - */ - post: operations["checks/rerequest-run"]; - }; - "/repos/{owner}/{repo}/check-suites": { - /** - * Create a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. - */ - post: operations["checks/create-suite"]; - }; - "/repos/{owner}/{repo}/check-suites/preferences": { - /** - * Update repository preferences for check suites - * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. - */ - patch: operations["checks/set-suites-preferences"]; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { - /** - * Get a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - get: operations["checks/get-suite"]; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { - /** - * List check runs in a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - get: operations["checks/list-for-suite"]; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { - /** - * Rerequest a check suite - * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository. - */ - post: operations["checks/rerequest-suite"]; - }; - "/repos/{owner}/{repo}/code-scanning/alerts": { - /** - * List code scanning alerts for a repository - * @description Lists code scanning alerts. - * - * To use this endpoint, you must use an access token with the `security_events` scope or, for alerts from public repositories only, an access token with the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read - * permission to use this endpoint. - * - * The response includes a `most_recent_instance` object. - * This provides details of the most recent instance of this alert - * for the default branch (or for the specified Git reference if you used `ref` in the request). - */ - get: operations["code-scanning/list-alerts-for-repo"]; - }; - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { - /** - * Get a code scanning alert - * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/get-alert"]; - /** - * Update a code scanning alert - * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. - */ - patch: operations["code-scanning/update-alert"]; - }; - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { - /** - * List instances of a code scanning alert - * @description Lists all instances of the specified code scanning alert. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/list-alert-instances"]; - }; - "/repos/{owner}/{repo}/code-scanning/analyses": { - /** - * List code scanning analyses for a repository - * @description Lists the details of all code scanning analyses for a repository, - * starting with the most recent. - * The response is paginated and you can use the `page` and `per_page` parameters - * to list the analyses you're interested in. - * By default 30 analyses are listed per page. - * - * The `rules_count` field in the response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * **Deprecation notice**: - * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. - */ - get: operations["code-scanning/list-recent-analyses"]; - }; - "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { - /** - * Get a code scanning analysis for a repository - * @description Gets a specified code scanning analysis for a repository. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * The default JSON response contains fields that describe the analysis. - * This includes the Git reference and commit SHA to which the analysis relates, - * the datetime of the analysis, the name of the code scanning tool, - * and the number of alerts. - * - * The `rules_count` field in the default response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * If you use the Accept header `application/sarif+json`, - * the response contains the analysis data that was uploaded. - * This is formatted as - * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). - */ - get: operations["code-scanning/get-analysis"]; - /** - * Delete a code scanning analysis from a repository - * @description Deletes a specified code scanning analysis from a repository. For - * private repositories, you must use an access token with the `repo` scope. For public repositories, - * you must use an access token with `public_repo` scope. - * GitHub Apps must have the `security_events` write permission to use this endpoint. - * - * You can delete one analysis at a time. - * To delete a series of analyses, start with the most recent analysis and work backwards. - * Conceptually, the process is similar to the undo function in a text editor. - * - * When you list the analyses for a repository, - * one or more will be identified as deletable in the response: - * - * ``` - * "deletable": true - * ``` - * - * An analysis is deletable when it's the most recent in a set of analyses. - * Typically, a repository will have multiple sets of analyses - * for each enabled code scanning tool, - * where a set is determined by a unique combination of analysis values: - * - * * `ref` - * * `tool` - * * `category` - * - * If you attempt to delete an analysis that is not the most recent in a set, - * you'll get a 400 response with the message: - * - * ``` - * Analysis specified is not deletable. - * ``` - * - * The response from a successful `DELETE` operation provides you with - * two alternative URLs for deleting the next analysis in the set: - * `next_analysis_url` and `confirm_delete_url`. - * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis - * in a set. This is a useful option if you want to preserve at least one analysis - * for the specified tool in your repository. - * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. - * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` - * in the 200 response is `null`. - * - * As an example of the deletion process, - * let's imagine that you added a workflow that configured a particular code scanning tool - * to analyze the code in a repository. This tool has added 15 analyses: - * 10 on the default branch, and another 5 on a topic branch. - * You therefore have two separate sets of analyses for this tool. - * You've now decided that you want to remove all of the analyses for the tool. - * To do this you must make 15 separate deletion requests. - * To start, you must find an analysis that's identified as deletable. - * Each set of analyses always has one that's identified as deletable. - * Having found the deletable analysis for one of the two sets, - * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. - * Then repeat the process for the second set. - * The procedure therefore consists of a nested loop: - * - * **Outer loop**: - * * List the analyses for the repository, filtered by tool. - * * Parse this list to find a deletable analysis. If found: - * - * **Inner loop**: - * * Delete the identified analysis. - * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. - * - * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. - */ - delete: operations["code-scanning/delete-analysis"]; - }; - "/repos/{owner}/{repo}/code-scanning/codeql/databases": { - /** - * List CodeQL databases for a repository - * @description Lists the CodeQL databases that are available in a repository. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - get: operations["code-scanning/list-codeql-databases"]; - }; - "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { - /** - * Get a CodeQL database for a repository - * @description Gets a CodeQL database for a language in a repository. - * - * By default this endpoint returns JSON metadata about the CodeQL database. To - * download the CodeQL database binary content, set the `Accept` header of the request - * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure - * your HTTP client is configured to follow redirects or use the `Location` header - * to make a second request to get the redirect URL. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - get: operations["code-scanning/get-codeql-database"]; - }; - "/repos/{owner}/{repo}/code-scanning/default-setup": { - /** - * Get a code scanning default setup configuration - * @description Gets a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - get: operations["code-scanning/get-default-setup"]; - /** - * Update a code scanning default setup configuration - * @description Updates a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - patch: operations["code-scanning/update-default-setup"]; - }; - "/repos/{owner}/{repo}/code-scanning/sarifs": { - /** - * Upload an analysis as SARIF data - * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." - * - * There are two places where you can upload code scanning results. - * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." - * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." - * - * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: - * - * ``` - * gzip -c analysis-data.sarif | base64 -w0 - * ``` - *
- * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. - * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." - * - * - * | **SARIF data** | **Maximum values** | **Additional limits** | - * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| - * | Runs per file | 20 | | - * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | - * | Rules per run | 25,000 | | - * | Tool extensions per run | 100 | | - * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | - * | Location per result | 1,000 | Only 100 locations will be included. | - * | Tags per rule | 20 | Only 10 tags will be included. | - * - * - * The `202 Accepted` response includes an `id` value. - * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. - * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." - */ - post: operations["code-scanning/upload-sarif"]; - }; - "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { - /** - * Get information about a SARIF upload - * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/get-sarif"]; - }; - "/repos/{owner}/{repo}/codeowners/errors": { - /** - * List CODEOWNERS errors - * @description List any syntax errors that are detected in the CODEOWNERS - * file. - * - * For more information about the correct CODEOWNERS syntax, - * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." - */ - get: operations["repos/codeowners-errors"]; - }; - "/repos/{owner}/{repo}/codespaces": { - /** - * List codespaces in a repository for the authenticated user - * @description Lists the codespaces associated to a specified repository and the authenticated user. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/list-in-repository-for-authenticated-user"]; - /** - * Create a codespace in a repository - * @description Creates a codespace owned by the authenticated user in the specified repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/create-with-repo-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/devcontainers": { - /** - * List devcontainer configurations in a repository for the authenticated user - * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files - * specify launchpoint configurations for codespaces created within the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/machines": { - /** - * List available machine types for a repository - * @description List the machine types available for a given repository based on its configuration. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. - */ - get: operations["codespaces/repo-machines-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/new": { - /** - * Get default attributes for a codespace - * @description Gets the default attributes for codespaces created by the user with the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/secrets": { - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - get: operations["codespaces/list-repo-secrets"]; - }; - "/repos/{owner}/{repo}/codespaces/secrets/public-key": { - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - get: operations["codespaces/get-repo-public-key"]; - }; - "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - get: operations["codespaces/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` - * repository permission to use this endpoint. - */ - put: operations["codespaces/create-or-update-repo-secret"]; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - delete: operations["codespaces/delete-repo-secret"]; - }; - "/repos/{owner}/{repo}/collaborators": { - /** - * List repository collaborators - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - get: operations["repos/list-collaborators"]; - }; - "/repos/{owner}/{repo}/collaborators/{username}": { - /** - * Check if a user is a repository collaborator - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - get: operations["repos/check-collaborator"]; - /** - * Add a repository collaborator - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - * - * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: - * - * ``` - * Cannot assign {member} permission of {role name} - * ``` - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). - * - * **Updating an existing collaborator's permission level** - * - * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. - * - * **Rate limits** - * - * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. - */ - put: operations["repos/add-collaborator"]; - /** - * Remove a repository collaborator - * @description Removes a collaborator from a repository. - * - * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. - * - * This endpoint also: - * - Cancels any outstanding invitations - * - Unasigns the user from any issues - * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. - * - Unstars the repository - * - Updates access permissions to packages - * - * Removing a user as a collaborator has the following effects on forks: - * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. - * - If the user had their own fork of the repository, the fork will be deleted. - * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. - * - * **Note**: A user can still have access to the repository through organization permissions like base repository permissions. - * - * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. - * - * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". - */ - delete: operations["repos/remove-collaborator"]; - }; - "/repos/{owner}/{repo}/collaborators/{username}/permission": { - /** - * Get repository permissions for a user - * @description Checks the repository permission of a collaborator. The possible repository - * permissions are `admin`, `write`, `read`, and `none`. - * - * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the - * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the - * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The - * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. - */ - get: operations["repos/get-collaborator-permission-level"]; - }; - "/repos/{owner}/{repo}/comments": { - /** - * List commit comments for a repository - * @description Commit Comments use [these custom media types](https://docs.github.com/rest/overview/media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). - * - * Comments are ordered by ascending ID. - */ - get: operations["repos/list-commit-comments-for-repo"]; - }; - "/repos/{owner}/{repo}/comments/{comment_id}": { - /** Get a commit comment */ - get: operations["repos/get-commit-comment"]; - /** Delete a commit comment */ - delete: operations["repos/delete-commit-comment"]; - /** Update a commit comment */ - patch: operations["repos/update-commit-comment"]; - }; - "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { - /** - * List reactions for a commit comment - * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - get: operations["reactions/list-for-commit-comment"]; - /** - * Create reaction for a commit comment - * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. - */ - post: operations["reactions/create-for-commit-comment"]; - }; - "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { - /** - * Delete a commit comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - delete: operations["reactions/delete-for-commit-comment"]; - }; - "/repos/{owner}/{repo}/commits": { - /** - * List commits - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["repos/list-commits"]; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { - /** - * List branches for HEAD commit - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. - */ - get: operations["repos/list-branches-for-head-commit"]; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { - /** - * List commit comments - * @description Use the `:commit_sha` to specify the commit that will have its comments listed. - */ - get: operations["repos/list-comments-for-commit"]; - /** - * Create a commit comment - * @description Create a comment for a commit using its `:commit_sha`. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["repos/create-commit-comment"]; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { - /** - * List pull requests associated with a commit - * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. - * - * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. - */ - get: operations["repos/list-pull-requests-associated-with-commit"]; - }; - "/repos/{owner}/{repo}/commits/{ref}": { - /** - * Get a commit - * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. - * - * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. - * - * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. - * - * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["repos/get-commit"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/check-runs": { - /** - * List check runs for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - get: operations["checks/list-for-ref"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/check-suites": { - /** - * List check suites for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - get: operations["checks/list-suites-for-ref"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/status": { - /** - * Get the combined status for a specific reference - * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. - * - * - * Additionally, a combined `state` is returned. The `state` is one of: - * - * * **failure** if any of the contexts report as `error` or `failure` - * * **pending** if there are no statuses or a context is `pending` - * * **success** if the latest status for all contexts is `success` - */ - get: operations["repos/get-combined-status-for-ref"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/statuses": { - /** - * List commit statuses for a reference - * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. - * - * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. - */ - get: operations["repos/list-commit-statuses-for-ref"]; - }; - "/repos/{owner}/{repo}/community/profile": { - /** - * Get community profile metrics - * @description Returns all community profile metrics for a repository. The repository cannot be a fork. - * - * The returned metrics include an overall health score, the repository description, the presence of documentation, the - * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, - * README, and CONTRIBUTING files. - * - * The `health_percentage` score is defined as a percentage of how many of - * the recommended community health files are present. For more information, see - * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." - * - * `content_reports_enabled` is only returned for organization-owned repositories. - */ - get: operations["repos/get-community-profile-metrics"]; - }; - "/repos/{owner}/{repo}/compare/{basehead}": { - /** - * Compare two commits - * @description Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." - * - * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: - * - * - The list of changed files is only shown on the first page of results, but it includes all changed files for the entire comparison. - * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. - * - * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["repos/compare-commits"]; - }; - "/repos/{owner}/{repo}/contents/{path}": { - /** - * Get repository content - * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit - * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. - * - * Files and symlinks support [a custom media type](https://docs.github.com/rest/overview/media-types) for - * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media - * type](https://docs.github.com/rest/overview/media-types) to ensure the content is returned in a consistent - * object format. - * - * **Notes**: - * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). - * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees - * API](https://docs.github.com/rest/git/trees#get-a-tree). - * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - * Size limits: - * If the requested file's size is: - * * 1 MB or smaller: All features of this endpoint are supported. - * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. - * * Greater than 100 MB: This endpoint is not supported. - * - * If the content is a directory: - * The response will be an array of objects, one object for each item in the directory. - * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value - * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). - * In the next major version of the API, the type will be returned as "submodule". - * - * If the content is a symlink: - * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the - * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object - * describing the symlink itself. - * - * If the content is a submodule: - * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific - * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out - * the submodule at that specific commit. - * - * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the - * github.com URLs (`html_url` and `_links["html"]`) will have null values. - */ - get: operations["repos/get-content"]; - /** - * Create or update file contents - * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. If you want to modify files in the `.github/workflows` directory, you must authenticate using an access token with the `workflow` scope. - * - * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - put: operations["repos/create-or-update-file-contents"]; - /** - * Delete a file - * @description Deletes a file in a repository. - * - * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. - * - * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. - * - * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. - * - * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - delete: operations["repos/delete-file"]; - }; - "/repos/{owner}/{repo}/contributors": { - /** - * List repository contributors - * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. - * - * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. - */ - get: operations["repos/list-contributors"]; - }; - "/repos/{owner}/{repo}/dependabot/alerts": { - /** - * List Dependabot alerts for a repository - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - get: operations["dependabot/list-alerts-for-repo"]; - }; - "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { - /** - * Get a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - get: operations["dependabot/get-alert"]; - /** - * Update a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. - * - * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." - */ - patch: operations["dependabot/update-alert"]; - }; - "/repos/{owner}/{repo}/dependabot/secrets": { - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - get: operations["dependabot/list-repo-secrets"]; - }; - "/repos/{owner}/{repo}/dependabot/secrets/public-key": { - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - get: operations["dependabot/get-repo-public-key"]; - }; - "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - get: operations["dependabot/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository - * permission to use this endpoint. - */ - put: operations["dependabot/create-or-update-repo-secret"]; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - delete: operations["dependabot/delete-repo-secret"]; - }; - "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { - /** - * Get a diff of the dependencies between commits - * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. - */ - get: operations["dependency-graph/diff-range"]; - }; - "/repos/{owner}/{repo}/dependency-graph/sbom": { - /** - * Export a software bill of materials (SBOM) for a repository. - * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. - */ - get: operations["dependency-graph/export-sbom"]; - }; - "/repos/{owner}/{repo}/dependency-graph/snapshots": { - /** - * Create a snapshot of dependencies for a repository - * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. - */ - post: operations["dependency-graph/create-repository-snapshot"]; - }; - "/repos/{owner}/{repo}/deployments": { - /** - * List deployments - * @description Simple filtering of deployments is available via query parameters: - */ - get: operations["repos/list-deployments"]; - /** - * Create a deployment - * @description Deployments offer a few configurable parameters with certain defaults. - * - * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them - * before we merge a pull request. - * - * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have - * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter - * makes it easier to track which environments have requested deployments. The default environment is `production`. - * - * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If - * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, - * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will - * return a failure response. - * - * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` - * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to - * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do - * not require any contexts or create any commit statuses, the deployment will always succeed. - * - * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text - * field that will be passed on when a deployment event is dispatched. - * - * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might - * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an - * application with debugging enabled. - * - * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. - * - * Merged branch response: - * - * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating - * a deployment. This auto-merge happens when: - * * Auto-merge option is enabled in the repository - * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example - * * There are no merge conflicts - * - * If there are no new commits in the base branch, a new request to create a deployment should give a successful - * response. - * - * Merge conflict response: - * - * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't - * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. - * - * Failed commit status checks: - * - * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` - * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. - */ - post: operations["repos/create-deployment"]; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}": { - /** Get a deployment */ - get: operations["repos/get-deployment"]; - /** - * Delete a deployment - * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. - * - * To set a deployment as inactive, you must: - * - * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. - * * Mark the active deployment as inactive by adding any non-successful deployment status. - * - * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." - */ - delete: operations["repos/delete-deployment"]; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { - /** - * List deployment statuses - * @description Users with pull access can view deployment statuses for a deployment: - */ - get: operations["repos/list-deployment-statuses"]; - /** - * Create a deployment status - * @description Users with `push` access can create deployment statuses for a given deployment. - * - * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope. - */ - post: operations["repos/create-deployment-status"]; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { - /** - * Get a deployment status - * @description Users with pull access can view a deployment status for a deployment: - */ - get: operations["repos/get-deployment-status"]; - }; - "/repos/{owner}/{repo}/dispatches": { - /** - * Create a repository dispatch event - * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." - * - * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. - * - * This endpoint requires write access to the repository by providing either: - * - * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. - * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. - * - * This input example shows how you can use the `client_payload` as a test to debug your workflow. - */ - post: operations["repos/create-dispatch-event"]; - }; - "/repos/{owner}/{repo}/environments": { - /** - * List environments - * @description Lists the environments for a repository. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/get-all-environments"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}": { - /** - * Get an environment - * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." - * - * Anyone with read access to the repository can use this endpoint. If the - * repository is private, you must use an access token with the `repo` scope. GitHub - * Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/get-environment"]; - /** - * Create or update an environment - * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." - * - * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." - * - * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - put: operations["repos/create-or-update-environment"]; - /** - * Delete an environment - * @description You must authenticate using an access token with the repo scope to use this endpoint. - */ - delete: operations["repos/delete-an-environment"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { - /** - * List deployment branch policies - * @description Lists the deployment branch policies for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/list-deployment-branch-policies"]; - /** - * Create a deployment branch policy - * @description Creates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - post: operations["repos/create-deployment-branch-policy"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { - /** - * Get a deployment branch policy - * @description Gets a deployment branch policy for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/get-deployment-branch-policy"]; - /** - * Update a deployment branch policy - * @description Updates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - put: operations["repos/update-deployment-branch-policy"]; - /** - * Delete a deployment branch policy - * @description Deletes a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - delete: operations["repos/delete-deployment-branch-policy"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { - /** - * Get all deployment protection rules for an environment - * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - get: operations["repos/get-all-deployment-protection-rules"]; - /** - * Create a custom deployment protection rule on an environment - * @description Enable a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - post: operations["repos/create-deployment-protection-rule"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { - /** - * List custom deployment rule integrations available for an environment - * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. - * - * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - get: operations["repos/list-custom-deployment-rule-integrations"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { - /** - * Get a custom deployment protection rule - * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). - */ - get: operations["repos/get-custom-deployment-protection-rule"]; - /** - * Disable a custom protection rule for an environment - * @description Disables a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - delete: operations["repos/disable-deployment-protection-rule"]; - }; - "/repos/{owner}/{repo}/events": { - /** - * List repository events - * @description **Note**: This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-repo-events"]; - }; - "/repos/{owner}/{repo}/forks": { - /** List forks */ - get: operations["repos/list-forks"]; - /** - * Create a fork - * @description Create a fork for the authenticated user. - * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * - * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. - */ - post: operations["repos/create-fork"]; - }; - "/repos/{owner}/{repo}/git/blobs": { - /** Create a blob */ - post: operations["git/create-blob"]; - }; - "/repos/{owner}/{repo}/git/blobs/{file_sha}": { - /** - * Get a blob - * @description The `content` in the response will always be Base64 encoded. - * - * _Note_: This API supports blobs up to 100 megabytes in size. - */ - get: operations["git/get-blob"]; - }; - "/repos/{owner}/{repo}/git/commits": { - /** - * Create a commit - * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - post: operations["git/create-commit"]; - }; - "/repos/{owner}/{repo}/git/commits/{commit_sha}": { - /** - * Get a commit object - * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["git/get-commit"]; - }; - "/repos/{owner}/{repo}/git/matching-refs/{ref}": { - /** - * List matching references - * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. - * - * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. - */ - get: operations["git/list-matching-refs"]; - }; - "/repos/{owner}/{repo}/git/ref/{ref}": { - /** - * Get a reference - * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - */ - get: operations["git/get-ref"]; - }; - "/repos/{owner}/{repo}/git/refs": { - /** - * Create a reference - * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. - */ - post: operations["git/create-ref"]; - }; - "/repos/{owner}/{repo}/git/refs/{ref}": { - /** Delete a reference */ - delete: operations["git/delete-ref"]; - /** Update a reference */ - patch: operations["git/update-ref"]; - }; - "/repos/{owner}/{repo}/git/tags": { - /** - * Create a tag object - * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - post: operations["git/create-tag"]; - }; - "/repos/{owner}/{repo}/git/tags/{tag_sha}": { - /** - * Get a tag - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["git/get-tag"]; - }; - "/repos/{owner}/{repo}/git/trees": { - /** - * Create a tree - * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. - * - * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." - * - * Returns an error if you try to delete a file that does not exist. - */ - post: operations["git/create-tree"]; - }; - "/repos/{owner}/{repo}/git/trees/{tree_sha}": { - /** - * Get a tree - * @description Returns a single tree using the SHA1 value or ref name for that tree. - * - * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. - * - * - * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. - */ - get: operations["git/get-tree"]; - }; - "/repos/{owner}/{repo}/hooks": { - /** - * List repository webhooks - * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. - */ - get: operations["repos/list-webhooks"]; - /** - * Create a repository webhook - * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can - * share the same `config` as long as those webhooks do not have any `events` that overlap. - */ - post: operations["repos/create-webhook"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}": { - /** - * Get a repository webhook - * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." - */ - get: operations["repos/get-webhook"]; - /** Delete a repository webhook */ - delete: operations["repos/delete-webhook"]; - /** - * Update a repository webhook - * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." - */ - patch: operations["repos/update-webhook"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/config": { - /** - * Get a webhook configuration for a repository - * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." - * - * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. - */ - get: operations["repos/get-webhook-config-for-repo"]; - /** - * Update a webhook configuration for a repository - * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." - * - * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. - */ - patch: operations["repos/update-webhook-config-for-repo"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { - /** - * List deliveries for a repository webhook - * @description Returns a list of webhook deliveries for a webhook configured in a repository. - */ - get: operations["repos/list-webhook-deliveries"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { - /** - * Get a delivery for a repository webhook - * @description Returns a delivery for a webhook configured in a repository. - */ - get: operations["repos/get-webhook-delivery"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - /** - * Redeliver a delivery for a repository webhook - * @description Redeliver a webhook delivery for a webhook configured in a repository. - */ - post: operations["repos/redeliver-webhook-delivery"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { - /** - * Ping a repository webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - post: operations["repos/ping-webhook"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { - /** - * Test the push repository webhook - * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. - * - * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` - */ - post: operations["repos/test-push-webhook"]; - }; - "/repos/{owner}/{repo}/import": { - /** - * Get an import status - * @description View the progress of an import. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - * - * **Import status** - * - * This section includes details about the possible values of the `status` field of the Import Progress response. - * - * An import that does not have errors will progress through these steps: - * - * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. - * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). - * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. - * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". - * * `complete` - the import is complete, and the repository is ready on GitHub. - * - * If there are problems, you will see one of these in the `status` field: - * - * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. - * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. - * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * - * **The project_choices field** - * - * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. - * - * **Git LFS related fields** - * - * This section includes details about Git LFS related fields that may be present in the Import Progress response. - * - * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. - * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. - * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. - * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. - */ - get: operations["migrations/get-import-status"]; - /** - * Start an import - * @description Start a source import to a GitHub repository using GitHub Importer. Importing into a GitHub repository with GitHub Actions enabled is not supported and will return a status `422 Unprocessable Entity` response. - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - put: operations["migrations/start-import"]; - /** - * Cancel an import - * @description Stop an import for a repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - delete: operations["migrations/cancel-import"]; - /** - * Update an import - * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API - * request. If no parameters are provided, the import will be restarted. - * - * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will - * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. - * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - patch: operations["migrations/update-import"]; - }; - "/repos/{owner}/{repo}/import/authors": { - /** - * Get commit authors - * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. - * - * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - get: operations["migrations/get-commit-authors"]; - }; - "/repos/{owner}/{repo}/import/authors/{author_id}": { - /** - * Map a commit author - * @description Update an author's identity for the import. Your application can continue updating authors any time before you push - * new commits to the repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - patch: operations["migrations/map-commit-author"]; - }; - "/repos/{owner}/{repo}/import/large_files": { - /** - * Get large files - * @description List files larger than 100MB found during the import - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - get: operations["migrations/get-large-files"]; - }; - "/repos/{owner}/{repo}/import/lfs": { - /** - * Update Git LFS preference - * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability - * is powered by [Git LFS](https://git-lfs.com). - * - * You can learn more about our LFS feature and working with large files [on our help - * site](https://docs.github.com/repositories/working-with-files/managing-large-files). - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - patch: operations["migrations/set-lfs-preference"]; - }; - "/repos/{owner}/{repo}/installation": { - /** - * Get a repository installation for the authenticated app - * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-repo-installation"]; - }; - "/repos/{owner}/{repo}/interaction-limits": { - /** - * Get interaction restrictions for a repository - * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. - */ - get: operations["interactions/get-restrictions-for-repo"]; - /** - * Set interaction restrictions for a repository - * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - put: operations["interactions/set-restrictions-for-repo"]; - /** - * Remove interaction restrictions for a repository - * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - delete: operations["interactions/remove-restrictions-for-repo"]; - }; - "/repos/{owner}/{repo}/invitations": { - /** - * List repository invitations - * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. - */ - get: operations["repos/list-invitations"]; - }; - "/repos/{owner}/{repo}/invitations/{invitation_id}": { - /** Delete a repository invitation */ - delete: operations["repos/delete-invitation"]; - /** Update a repository invitation */ - patch: operations["repos/update-invitation"]; - }; - "/repos/{owner}/{repo}/issues": { - /** - * List repository issues - * @description List issues in a repository. Only open issues will be listed. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list-for-repo"]; - /** - * Create an issue - * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["issues/create"]; - }; - "/repos/{owner}/{repo}/issues/comments": { - /** - * List issue comments for a repository - * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. - * - * By default, issue comments are ordered by ascending ID. - */ - get: operations["issues/list-comments-for-repo"]; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}": { - /** - * Get an issue comment - * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - get: operations["issues/get-comment"]; - /** - * Delete an issue comment - * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - delete: operations["issues/delete-comment"]; - /** - * Update an issue comment - * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - patch: operations["issues/update-comment"]; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { - /** - * List reactions for an issue comment - * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - get: operations["reactions/list-for-issue-comment"]; - /** - * Create reaction for an issue comment - * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. - */ - post: operations["reactions/create-for-issue-comment"]; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { - /** - * Delete an issue comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - delete: operations["reactions/delete-for-issue-comment"]; - }; - "/repos/{owner}/{repo}/issues/events": { - /** - * List issue events for a repository - * @description Lists events for a repository. - */ - get: operations["issues/list-events-for-repo"]; - }; - "/repos/{owner}/{repo}/issues/events/{event_id}": { - /** - * Get an issue event - * @description Gets a single event by the event id. - */ - get: operations["issues/get-event"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}": { - /** - * Get an issue - * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was - * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If - * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API - * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read - * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe - * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/get"]; - /** - * Update an issue - * @description Issue owners and users with push access can edit an issue. - */ - patch: operations["issues/update"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { - /** - * Add assignees to an issue - * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. - */ - post: operations["issues/add-assignees"]; - /** - * Remove assignees from an issue - * @description Removes one or more assignees from an issue. - */ - delete: operations["issues/remove-assignees"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { - /** - * Check if a user can be assigned to a issue - * @description Checks if a user has permission to be assigned to a specific issue. - * - * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - get: operations["issues/check-user-can-be-assigned-to-issue"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/comments": { - /** - * List issue comments - * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * Issue comments are ordered by ascending ID. - */ - get: operations["issues/list-comments"]; - /** - * Create an issue comment - * @description - * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - * Creating content too quickly using this endpoint may result in secondary rate limiting. - * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" - * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" - * for details. - */ - post: operations["issues/create-comment"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/events": { - /** - * List issue events - * @description Lists all events for an issue. - */ - get: operations["issues/list-events"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/labels": { - /** - * List labels for an issue - * @description Lists all labels for an issue. - */ - get: operations["issues/list-labels-on-issue"]; - /** - * Set labels for an issue - * @description Removes any previous labels and sets the new labels for an issue. - */ - put: operations["issues/set-labels"]; - /** - * Add labels to an issue - * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. - */ - post: operations["issues/add-labels"]; - /** - * Remove all labels from an issue - * @description Removes all labels from an issue. - */ - delete: operations["issues/remove-all-labels"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { - /** - * Remove a label from an issue - * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. - */ - delete: operations["issues/remove-label"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/lock": { - /** - * Lock an issue - * @description Users with push access can lock an issue or pull request's conversation. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["issues/lock"]; - /** - * Unlock an issue - * @description Users with push access can unlock an issue's conversation. - */ - delete: operations["issues/unlock"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { - /** - * List reactions for an issue - * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - get: operations["reactions/list-for-issue"]; - /** - * Create reaction for an issue - * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. - */ - post: operations["reactions/create-for-issue"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { - /** - * Delete an issue reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. - * - * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - delete: operations["reactions/delete-for-issue"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { - /** - * List timeline events for an issue - * @description List all timeline events for an issue. - */ - get: operations["issues/list-events-for-timeline"]; - }; - "/repos/{owner}/{repo}/keys": { - /** List deploy keys */ - get: operations["repos/list-deploy-keys"]; - /** - * Create a deploy key - * @description You can create a read-only deploy key. - */ - post: operations["repos/create-deploy-key"]; - }; - "/repos/{owner}/{repo}/keys/{key_id}": { - /** Get a deploy key */ - get: operations["repos/get-deploy-key"]; - /** - * Delete a deploy key - * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. - */ - delete: operations["repos/delete-deploy-key"]; - }; - "/repos/{owner}/{repo}/labels": { - /** - * List labels for a repository - * @description Lists all labels for a repository. - */ - get: operations["issues/list-labels-for-repo"]; - /** - * Create a label - * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). - */ - post: operations["issues/create-label"]; - }; - "/repos/{owner}/{repo}/labels/{name}": { - /** - * Get a label - * @description Gets a label using the given name. - */ - get: operations["issues/get-label"]; - /** - * Delete a label - * @description Deletes a label using the given label name. - */ - delete: operations["issues/delete-label"]; - /** - * Update a label - * @description Updates a label using the given label name. - */ - patch: operations["issues/update-label"]; - }; - "/repos/{owner}/{repo}/languages": { - /** - * List repository languages - * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. - */ - get: operations["repos/list-languages"]; - }; - "/repos/{owner}/{repo}/license": { - /** - * Get the license for a repository - * @description This method returns the contents of the repository's license file, if one is detected. - * - * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. - */ - get: operations["licenses/get-for-repo"]; - }; - "/repos/{owner}/{repo}/merge-upstream": { - /** - * Sync a fork branch with the upstream repository - * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. - */ - post: operations["repos/merge-upstream"]; - }; - "/repos/{owner}/{repo}/merges": { - /** Merge a branch */ - post: operations["repos/merge"]; - }; - "/repos/{owner}/{repo}/milestones": { - /** - * List milestones - * @description Lists milestones for a repository. - */ - get: operations["issues/list-milestones"]; - /** - * Create a milestone - * @description Creates a milestone. - */ - post: operations["issues/create-milestone"]; - }; - "/repos/{owner}/{repo}/milestones/{milestone_number}": { - /** - * Get a milestone - * @description Gets a milestone using the given milestone number. - */ - get: operations["issues/get-milestone"]; - /** - * Delete a milestone - * @description Deletes a milestone using the given milestone number. - */ - delete: operations["issues/delete-milestone"]; - /** Update a milestone */ - patch: operations["issues/update-milestone"]; - }; - "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { - /** - * List labels for issues in a milestone - * @description Lists labels for issues in a milestone. - */ - get: operations["issues/list-labels-for-milestone"]; - }; - "/repos/{owner}/{repo}/notifications": { - /** - * List repository notifications for the authenticated user - * @description Lists all notifications for the current user in the specified repository. - */ - get: operations["activity/list-repo-notifications-for-authenticated-user"]; - /** - * Mark repository notifications as read - * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - put: operations["activity/mark-repo-notifications-as-read"]; - }; - "/repos/{owner}/{repo}/pages": { - /** - * Get a GitHub Pages site - * @description Gets information about a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/get-pages"]; - /** - * Update information about a GitHub Pages site - * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - put: operations["repos/update-information-about-pages-site"]; - /** - * Create a GitHub Pages site - * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - post: operations["repos/create-pages-site"]; - /** - * Delete a GitHub Pages site - * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - delete: operations["repos/delete-pages-site"]; - }; - "/repos/{owner}/{repo}/pages/builds": { - /** - * List GitHub Pages builds - * @description Lists builts of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/list-pages-builds"]; - /** - * Request a GitHub Pages build - * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. - * - * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. - */ - post: operations["repos/request-pages-build"]; - }; - "/repos/{owner}/{repo}/pages/builds/latest": { - /** - * Get latest Pages build - * @description Gets information about the single most recent build of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/get-latest-pages-build"]; - }; - "/repos/{owner}/{repo}/pages/builds/{build_id}": { - /** - * Get GitHub Pages build - * @description Gets information about a GitHub Pages build. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/get-pages-build"]; - }; - "/repos/{owner}/{repo}/pages/deployment": { - /** - * Create a GitHub Pages deployment - * @description Create a GitHub Pages deployment for a repository. - * - * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. - */ - post: operations["repos/create-pages-deployment"]; - }; - "/repos/{owner}/{repo}/pages/health": { - /** - * Get a DNS health check for GitHub Pages - * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. - * - * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. - */ - get: operations["repos/get-pages-health-check"]; - }; - "/repos/{owner}/{repo}/private-vulnerability-reporting": { - /** - * Enable private vulnerability reporting for a repository - * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." - */ - put: operations["repos/enable-private-vulnerability-reporting"]; - /** - * Disable private vulnerability reporting for a repository - * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". - */ - delete: operations["repos/disable-private-vulnerability-reporting"]; - }; - "/repos/{owner}/{repo}/projects": { - /** - * List repository projects - * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - get: operations["projects/list-for-repo"]; - /** - * Create a repository project - * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - post: operations["projects/create-for-repo"]; - }; - "/repos/{owner}/{repo}/pulls": { - /** - * List pull requests - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["pulls/list"]; - /** - * Create a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. - */ - post: operations["pulls/create"]; - }; - "/repos/{owner}/{repo}/pulls/comments": { - /** - * List review comments in a repository - * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. - */ - get: operations["pulls/list-review-comments-for-repo"]; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { - /** - * Get a review comment for a pull request - * @description Provides details for a review comment. - */ - get: operations["pulls/get-review-comment"]; - /** - * Delete a review comment for a pull request - * @description Deletes a review comment. - */ - delete: operations["pulls/delete-review-comment"]; - /** - * Update a review comment for a pull request - * @description Enables you to edit a review comment. - */ - patch: operations["pulls/update-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { - /** - * List reactions for a pull request review comment - * @description List the reactions to a [pull request review comment](https://docs.github.com/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - get: operations["reactions/list-for-pull-request-review-comment"]; - /** - * Create reaction for a pull request review comment - * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. - */ - post: operations["reactions/create-for-pull-request-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { - /** - * Delete a pull request comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` - * - * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - delete: operations["reactions/delete-for-pull-request-comment"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}": { - /** - * Get a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists details of a pull request by providing its number. - * - * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. - * - * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: - * - * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. - * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. - * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. - * - * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - */ - get: operations["pulls/get"]; - /** - * Update a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - */ - patch: operations["pulls/update"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { - /** - * Create a codespace from a pull request - * @description Creates a codespace owned by the authenticated user for the specified pull request. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/create-with-pr-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { - /** - * List review comments on a pull request - * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. - */ - get: operations["pulls/list-review-comments"]; - /** - * Create a review comment for a pull request - * @description - * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. - * - * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. - * - * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["pulls/create-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { - /** - * Create a reply for a review comment - * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["pulls/create-reply-for-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { - /** - * List commits on a pull request - * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. - */ - get: operations["pulls/list-commits"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/files": { - /** - * List pull requests files - * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. - */ - get: operations["pulls/list-files"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { - /** - * Check if a pull request has been merged - * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. - */ - get: operations["pulls/check-if-merged"]; - /** - * Merge a pull request - * @description Merges a pull request into the base branch. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - put: operations["pulls/merge"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { - /** - * Get all requested reviewers for a pull request - * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. - */ - get: operations["pulls/list-requested-reviewers"]; - /** - * Request reviewers for a pull request - * @description Requests reviews for a pull request from a given set of users and/or teams. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["pulls/request-reviewers"]; - /** - * Remove requested reviewers from a pull request - * @description Removes review requests from a pull request for a given set of users and/or teams. - */ - delete: operations["pulls/remove-requested-reviewers"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { - /** - * List reviews for a pull request - * @description The list of reviews returns in chronological order. - */ - get: operations["pulls/list-reviews"]; - /** - * Create a review for a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." - * - * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. - * - * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - */ - post: operations["pulls/create-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { - /** - * Get a review for a pull request - * @description Retrieves a pull request review by its ID. - */ - get: operations["pulls/get-review"]; - /** - * Update a review for a pull request - * @description Update the review summary comment with new text. - */ - put: operations["pulls/update-review"]; - /** - * Delete a pending review for a pull request - * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. - */ - delete: operations["pulls/delete-pending-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { - /** - * List comments for a pull request review - * @description List comments for a specific pull request review. - */ - get: operations["pulls/list-comments-for-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { - /** - * Dismiss a review for a pull request - * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. - */ - put: operations["pulls/dismiss-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { - /** - * Submit a review for a pull request - * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." - */ - post: operations["pulls/submit-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { - /** - * Update a pull request branch - * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. - */ - put: operations["pulls/update-branch"]; - }; - "/repos/{owner}/{repo}/readme": { - /** - * Get a repository README - * @description Gets the preferred README for a repository. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - get: operations["repos/get-readme"]; - }; - "/repos/{owner}/{repo}/readme/{dir}": { - /** - * Get a repository README for a directory - * @description Gets the README from a repository directory. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - get: operations["repos/get-readme-in-directory"]; - }; - "/repos/{owner}/{repo}/releases": { - /** - * List releases - * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). - * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. - */ - get: operations["repos/list-releases"]; - /** - * Create a release - * @description Users with push access to the repository can create a release. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["repos/create-release"]; - }; - "/repos/{owner}/{repo}/releases/assets/{asset_id}": { - /** - * Get a release asset - * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. - */ - get: operations["repos/get-release-asset"]; - /** Delete a release asset */ - delete: operations["repos/delete-release-asset"]; - /** - * Update a release asset - * @description Users with push access to the repository can edit a release asset. - */ - patch: operations["repos/update-release-asset"]; - }; - "/repos/{owner}/{repo}/releases/generate-notes": { - /** - * Generate release notes content for a release - * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. - */ - post: operations["repos/generate-release-notes"]; - }; - "/repos/{owner}/{repo}/releases/latest": { - /** - * Get the latest release - * @description View the latest published full release for the repository. - * - * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. - */ - get: operations["repos/get-latest-release"]; - }; - "/repos/{owner}/{repo}/releases/tags/{tag}": { - /** - * Get a release by tag name - * @description Get a published release with the specified tag. - */ - get: operations["repos/get-release-by-tag"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}": { - /** - * Get a release - * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). - */ - get: operations["repos/get-release"]; - /** - * Delete a release - * @description Users with push access to the repository can delete a release. - */ - delete: operations["repos/delete-release"]; - /** - * Update a release - * @description Users with push access to the repository can edit a release. - */ - patch: operations["repos/update-release"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}/assets": { - /** List release assets */ - get: operations["repos/list-release-assets"]; - /** - * Upload a release asset - * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in - * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. - * - * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. - * - * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: - * - * `application/zip` - * - * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, - * you'll still need to pass your authentication to be able to upload an asset. - * - * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. - * - * **Notes:** - * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" - * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). - * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. - */ - post: operations["repos/upload-release-asset"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}/reactions": { - /** - * List reactions for a release - * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - get: operations["reactions/list-for-release"]; - /** - * Create reaction for a release - * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. - */ - post: operations["reactions/create-for-release"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { - /** - * Delete a release reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. - * - * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - delete: operations["reactions/delete-for-release"]; - }; - "/repos/{owner}/{repo}/rules/branches/{branch}": { - /** - * Get rules for a branch - * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply - * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level - * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" - * enforcement statuses are not returned. - */ - get: operations["repos/get-branch-rules"]; - }; - "/repos/{owner}/{repo}/rulesets": { - /** - * Get all repository rulesets - * @description Get all the rulesets for a repository. - */ - get: operations["repos/get-repo-rulesets"]; - /** - * Create a repository ruleset - * @description Create a ruleset for a repository. - */ - post: operations["repos/create-repo-ruleset"]; - }; - "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { - /** - * Get a repository ruleset - * @description Get a ruleset for a repository. - */ - get: operations["repos/get-repo-ruleset"]; - /** - * Update a repository ruleset - * @description Update a ruleset for a repository. - */ - put: operations["repos/update-repo-ruleset"]; - /** - * Delete a repository ruleset - * @description Delete a ruleset for a repository. - */ - delete: operations["repos/delete-repo-ruleset"]; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts": { - /** - * List secret scanning alerts for a repository - * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/list-alerts-for-repo"]; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { - /** - * Get a secret scanning alert - * @description Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/get-alert"]; - /** - * Update a secret scanning alert - * @description Updates the status of a secret scanning alert in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. - */ - patch: operations["secret-scanning/update-alert"]; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { - /** - * List locations for a secret scanning alert - * @description Lists all locations for a given secret scanning alert for an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/list-locations-for-alert"]; - }; - "/repos/{owner}/{repo}/security-advisories": { - /** - * List repository security advisories - * @description Lists security advisories in a repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to. - * - * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. - */ - get: operations["security-advisories/list-repository-advisories"]; - /** - * Create a repository security advisory - * @description Creates a new repository security advisory. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. - */ - post: operations["security-advisories/create-repository-advisory"]; - }; - "/repos/{owner}/{repo}/security-advisories/reports": { - /** - * Privately report a security vulnerability - * @description Report a security vulnerability to the maintainers of the repository. - * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. - */ - post: operations["security-advisories/create-private-vulnerability-report"]; - }; - "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { - /** - * Get a repository security advisory - * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You can access any published security advisory on a public repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to. - * - * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a - * collaborator on the security advisory. - */ - get: operations["security-advisories/get-repository-advisory"]; - /** - * Update a repository security advisory - * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to update any security advisory, you must be a security manager or administrator of that repository, - * or a collaborator on the repository security advisory. - */ - patch: operations["security-advisories/update-repository-advisory"]; - }; - "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { - /** - * Request a CVE for a repository security advisory - * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." - * - * You may request a CVE for public repositories, but cannot do so for private repositories. - * - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository. - */ - post: operations["security-advisories/create-repository-advisory-cve-request"]; - }; - "/repos/{owner}/{repo}/stargazers": { - /** - * List stargazers - * @description Lists the people that have starred the repository. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - get: operations["activity/list-stargazers-for-repo"]; - }; - "/repos/{owner}/{repo}/stats/code_frequency": { - /** - * Get the weekly commit activity - * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. - */ - get: operations["repos/get-code-frequency-stats"]; - }; - "/repos/{owner}/{repo}/stats/commit_activity": { - /** - * Get the last year of commit activity - * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. - */ - get: operations["repos/get-commit-activity-stats"]; - }; - "/repos/{owner}/{repo}/stats/contributors": { - /** - * Get all contributor commit activity - * @description - * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: - * - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). - * * `a` - Number of additions - * * `d` - Number of deletions - * * `c` - Number of commits - */ - get: operations["repos/get-contributors-stats"]; - }; - "/repos/{owner}/{repo}/stats/participation": { - /** - * Get the weekly commit count - * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. - * - * The array order is oldest week (index 0) to most recent week. - * - * The most recent week is seven days ago at UTC midnight to today at UTC midnight. - */ - get: operations["repos/get-participation-stats"]; - }; - "/repos/{owner}/{repo}/stats/punch_card": { - /** - * Get the hourly commit count for each day - * @description Each array contains the day number, hour number, and number of commits: - * - * * `0-6`: Sunday - Saturday - * * `0-23`: Hour of day - * * Number of commits - * - * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. - */ - get: operations["repos/get-punch-card-stats"]; - }; - "/repos/{owner}/{repo}/statuses/{sha}": { - /** - * Create a commit status - * @description Users with push access in a repository can create commit statuses for a given SHA. - * - * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. - */ - post: operations["repos/create-commit-status"]; - }; - "/repos/{owner}/{repo}/subscribers": { - /** - * List watchers - * @description Lists the people watching the specified repository. - */ - get: operations["activity/list-watchers-for-repo"]; - }; - "/repos/{owner}/{repo}/subscription": { - /** - * Get a repository subscription - * @description Gets information about whether the authenticated user is subscribed to the repository. - */ - get: operations["activity/get-repo-subscription"]; - /** - * Set a repository subscription - * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. - */ - put: operations["activity/set-repo-subscription"]; - /** - * Delete a repository subscription - * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). - */ - delete: operations["activity/delete-repo-subscription"]; - }; - "/repos/{owner}/{repo}/tags": { - /** List repository tags */ - get: operations["repos/list-tags"]; - }; - "/repos/{owner}/{repo}/tags/protection": { - /** - * List tag protection states for a repository - * @description This returns the tag protection states of a repository. - * - * This information is only available to repository administrators. - */ - get: operations["repos/list-tag-protection"]; - /** - * Create a tag protection state for a repository - * @description This creates a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - post: operations["repos/create-tag-protection"]; - }; - "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { - /** - * Delete a tag protection state for a repository - * @description This deletes a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - delete: operations["repos/delete-tag-protection"]; - }; - "/repos/{owner}/{repo}/tarball/{ref}": { - /** - * Download a repository archive (tar) - * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * **Note**: For private repositories, these links are temporary and expire after five minutes. - */ - get: operations["repos/download-tarball-archive"]; - }; - "/repos/{owner}/{repo}/teams": { - /** - * List repository teams - * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. - * - * For a public repository, a team is listed only if that team added the public repository explicitly. - * - * Personal access tokens require the following scopes: - * * `public_repo` to call this endpoint on a public repository - * * `repo` to call this endpoint on a private repository (this scope also includes public repositories) - * - * This endpoint is not compatible with fine-grained personal access tokens. - */ - get: operations["repos/list-teams"]; - }; - "/repos/{owner}/{repo}/topics": { - /** Get all repository topics */ - get: operations["repos/get-all-topics"]; - /** Replace all repository topics */ - put: operations["repos/replace-all-topics"]; - }; - "/repos/{owner}/{repo}/traffic/clones": { - /** - * Get repository clones - * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - get: operations["repos/get-clones"]; - }; - "/repos/{owner}/{repo}/traffic/popular/paths": { - /** - * Get top referral paths - * @description Get the top 10 popular contents over the last 14 days. - */ - get: operations["repos/get-top-paths"]; - }; - "/repos/{owner}/{repo}/traffic/popular/referrers": { - /** - * Get top referral sources - * @description Get the top 10 referrers over the last 14 days. - */ - get: operations["repos/get-top-referrers"]; - }; - "/repos/{owner}/{repo}/traffic/views": { - /** - * Get page views - * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - get: operations["repos/get-views"]; - }; - "/repos/{owner}/{repo}/transfer": { - /** - * Transfer a repository - * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). - * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account. - */ - post: operations["repos/transfer"]; - }; - "/repos/{owner}/{repo}/vulnerability-alerts": { - /** - * Check if vulnerability alerts are enabled for a repository - * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - get: operations["repos/check-vulnerability-alerts"]; - /** - * Enable vulnerability alerts - * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - put: operations["repos/enable-vulnerability-alerts"]; - /** - * Disable vulnerability alerts - * @description Disables dependency alerts and the dependency graph for a repository. - * The authenticated user must have admin access to the repository. For more information, - * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - delete: operations["repos/disable-vulnerability-alerts"]; - }; - "/repos/{owner}/{repo}/zipball/{ref}": { - /** - * Download a repository archive (zip) - * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * - * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. - */ - get: operations["repos/download-zipball-archive"]; - }; - "/repos/{template_owner}/{template_repo}/generate": { - /** - * Create a repository using a template - * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - post: operations["repos/create-using-template"]; - }; - "/repositories": { - /** - * List public repositories - * @description Lists all public repositories in the order that they were created. - * - * Note: - * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. - */ - get: operations["repos/list-public"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/secrets": { - /** - * List environment secrets - * @description Lists all secrets available in an environment without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-environment-secrets"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { - /** - * Get an environment public key - * @description Get the public key for an environment, which you need to encrypt environment - * secrets. You need to encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-environment-public-key"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { - /** - * Get an environment secret - * @description Gets a single environment secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-environment-secret"]; - /** - * Create or update an environment secret - * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/create-or-update-environment-secret"]; - /** - * Delete an environment secret - * @description Deletes a secret in an environment using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/delete-environment-secret"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/variables": { - /** - * List environment variables - * @description Lists all environment variables. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-environment-variables"]; - /** - * Create an environment variable - * @description Create an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - post: operations["actions/create-environment-variable"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/variables/{name}": { - /** - * Get an environment variable - * @description Gets a specific variable in an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/get-environment-variable"]; - /** - * Delete an environment variable - * @description Deletes an environment variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/delete-environment-variable"]; - /** - * Update an environment variable - * @description Updates an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - patch: operations["actions/update-environment-variable"]; - }; - "/search/code": { - /** - * Search code - * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: - * - * `q=addClass+in:file+language:js+repo:jquery/jquery` - * - * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. - * - * Considerations for code search: - * - * Due to the complexity of searching code, there are a few restrictions on how searches are performed: - * - * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. - * * Only files smaller than 384 KB are searchable. - * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing - * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. - * - * This endpoint requires you to authenticate and limits you to 10 requests per minute. - */ - get: operations["search/code"]; - }; - "/search/commits": { - /** - * Search commits - * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match - * metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: - * - * `q=repo:octocat/Spoon-Knife+css` - */ - get: operations["search/commits"]; - }; - "/search/issues": { - /** - * Search issues and pull requests - * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted - * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. - * - * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` - * - * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. - * - * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." - */ - get: operations["search/issues-and-pull-requests"]; - }; - "/search/labels": { - /** - * Search labels - * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: - * - * `q=bug+defect+enhancement&repository_id=64778136` - * - * The labels that best match the query appear first in the search results. - */ - get: operations["search/labels"]; - }; - "/search/repositories": { - /** - * Search repositories - * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: - * - * `q=tetris+language:assembly&sort=stars&order=desc` - * - * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. - */ - get: operations["search/repos"]; - }; - "/search/topics": { - /** - * Search topics - * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. - * - * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: - * - * `q=ruby+is:featured` - * - * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. - */ - get: operations["search/topics"]; - }; - "/search/users": { - /** - * Search users - * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you're looking for a list of popular users, you might try this query: - * - * `q=tom+repos:%3E42+followers:%3E1000` - * - * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. - * - * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." - */ - get: operations["search/users"]; - }; - "/teams/{team_id}": { - /** - * Get a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. - */ - get: operations["teams/get-legacy"]; - /** - * Delete a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. - * - * To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - */ - delete: operations["teams/delete-legacy"]; - /** - * Update a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. - * - * To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. - */ - patch: operations["teams/update-legacy"]; - }; - "/teams/{team_id}/discussions": { - /** - * List discussions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. - * - * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/list-discussions-legacy"]; - /** - * Create a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. - * - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["teams/create-discussion-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}": { - /** - * Get a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. - * - * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/get-discussion-legacy"]; - /** - * Delete a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. - * - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["teams/delete-discussion-legacy"]; - /** - * Update a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. - * - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - patch: operations["teams/update-discussion-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments": { - /** - * List discussion comments (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. - * - * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/list-discussion-comments-legacy"]; - /** - * Create a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. - * - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["teams/create-discussion-comment-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { - /** - * Get a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. - * - * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/get-discussion-comment-legacy"]; - /** - * Delete a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. - * - * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["teams/delete-discussion-comment-legacy"]; - /** - * Update a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. - * - * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - patch: operations["teams/update-discussion-comment-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - /** - * List reactions for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. - * - * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["reactions/list-for-team-discussion-comment-legacy"]; - /** - * Create reaction for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. - * - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - */ - post: operations["reactions/create-for-team-discussion-comment-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/reactions": { - /** - * List reactions for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. - * - * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["reactions/list-for-team-discussion-legacy"]; - /** - * Create reaction for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. - * - * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - */ - post: operations["reactions/create-for-team-discussion-legacy"]; - }; - "/teams/{team_id}/invitations": { - /** - * List pending team invitations (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. - * - * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - get: operations["teams/list-pending-invitations-legacy"]; - }; - "/teams/{team_id}/members": { - /** - * List team members (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. - * - * Team members will include the members of child teams. - */ - get: operations["teams/list-members-legacy"]; - }; - "/teams/{team_id}/members/{username}": { - /** - * Get team member (Legacy) - * @deprecated - * @description The "Get team member" endpoint (described below) is deprecated. - * - * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - get: operations["teams/get-member-legacy"]; - /** - * Add team member (Legacy) - * @deprecated - * @description The "Add team member" endpoint (described below) is deprecated. - * - * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["teams/add-member-legacy"]; - /** - * Remove team member (Legacy) - * @deprecated - * @description The "Remove team member" endpoint (described below) is deprecated. - * - * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - delete: operations["teams/remove-member-legacy"]; - }; - "/teams/{team_id}/memberships/{username}": { - /** - * Get team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. - * - * Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - get: operations["teams/get-membership-for-user-legacy"]; - /** - * Add or update team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - */ - put: operations["teams/add-or-update-membership-for-user-legacy"]; - /** - * Remove team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - delete: operations["teams/remove-membership-for-user-legacy"]; - }; - "/teams/{team_id}/projects": { - /** - * List team projects (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/teams/teams#list-team-projects) endpoint. - * - * Lists the organization projects for a team. - */ - get: operations["teams/list-projects-legacy"]; - }; - "/teams/{team_id}/projects/{project_id}": { - /** - * Check team permissions for a project (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project) endpoint. - * - * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - */ - get: operations["teams/check-permissions-for-project-legacy"]; - /** - * Add or update team project permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions) endpoint. - * - * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - */ - put: operations["teams/add-or-update-project-permissions-legacy"]; - /** - * Remove a project from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team) endpoint. - * - * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. - */ - delete: operations["teams/remove-project-legacy"]; - }; - "/teams/{team_id}/repos": { - /** - * List team repositories (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. - */ - get: operations["teams/list-repos-legacy"]; - }; - "/teams/{team_id}/repos/{owner}/{repo}": { - /** - * Check team permissions for a repository (Legacy) - * @deprecated - * @description **Note**: Repositories inherited through a parent team will also be checked. - * - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: - */ - get: operations["teams/check-permissions-for-repo-legacy"]; - /** - * Add or update team repository permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. - * - * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["teams/add-or-update-repo-permissions-legacy"]; - /** - * Remove a repository from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. - * - * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. - */ - delete: operations["teams/remove-repo-legacy"]; - }; - "/teams/{team_id}/teams": { - /** - * List child teams (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. - */ - get: operations["teams/list-child-legacy"]; - }; - "/user": { - /** - * Get the authenticated user - * @description If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information. - * - * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. - */ - get: operations["users/get-authenticated"]; - /** - * Update the authenticated user - * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. - */ - patch: operations["users/update-authenticated"]; - }; - "/user/blocks": { - /** - * List users blocked by the authenticated user - * @description List the users you've blocked on your personal account. - */ - get: operations["users/list-blocked-by-authenticated-user"]; - }; - "/user/blocks/{username}": { - /** - * Check if a user is blocked by the authenticated user - * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. - */ - get: operations["users/check-blocked"]; - /** - * Block a user - * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. - */ - put: operations["users/block"]; - /** - * Unblock a user - * @description Unblocks the given user and returns a 204. - */ - delete: operations["users/unblock"]; - }; - "/user/codespaces": { - /** - * List codespaces for the authenticated user - * @description Lists the authenticated user's codespaces. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/list-for-authenticated-user"]; - /** - * Create a codespace for the authenticated user - * @description Creates a new codespace, owned by the authenticated user. - * - * This endpoint requires either a `repository_id` OR a `pull_request` but not both. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/create-for-authenticated-user"]; - }; - "/user/codespaces/secrets": { - /** - * List secrets for the authenticated user - * @description Lists all secrets available for a user's Codespaces without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - get: operations["codespaces/list-secrets-for-authenticated-user"]; - }; - "/user/codespaces/secrets/public-key": { - /** - * Get public key for the authenticated user - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - get: operations["codespaces/get-public-key-for-authenticated-user"]; - }; - "/user/codespaces/secrets/{secret_name}": { - /** - * Get a secret for the authenticated user - * @description Gets a secret available to a user's codespaces without revealing its encrypted value. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - get: operations["codespaces/get-secret-for-authenticated-user"]; - /** - * Create or update a secret for the authenticated user - * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; - /** - * Delete a secret for the authenticated user - * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - delete: operations["codespaces/delete-secret-for-authenticated-user"]; - }; - "/user/codespaces/secrets/{secret_name}/repositories": { - /** - * List selected repositories for a user secret - * @description List the repositories that have been granted the ability to use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; - /** - * Set selected repositories for a user secret - * @description Select the repositories that will use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; - }; - "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add a selected repository to a user secret - * @description Adds a repository to the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. - */ - put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; - /** - * Remove a selected repository from a user secret - * @description Removes a repository from the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}": { - /** - * Get a codespace for the authenticated user - * @description Gets information about a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/get-for-authenticated-user"]; - /** - * Delete a codespace for the authenticated user - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - delete: operations["codespaces/delete-for-authenticated-user"]; - /** - * Update a codespace for the authenticated user - * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. - * - * If you specify a new machine type it will be applied the next time your codespace is started. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - patch: operations["codespaces/update-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/exports": { - /** - * Export a codespace for the authenticated user - * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. - * - * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - post: operations["codespaces/export-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/exports/{export_id}": { - /** - * Get details about a codespace export - * @description Gets information about an export of a codespace. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - get: operations["codespaces/get-export-details-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/machines": { - /** - * List machine types for a codespace - * @description List the machine types a codespace can transition to use. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - get: operations["codespaces/codespace-machines-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/publish": { - /** - * Create a repository from an unpublished codespace - * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. - * - * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. - * - * This will fail for a codespace that is already published, meaning it has an associated repository. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/publish-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/start": { - /** - * Start a codespace for the authenticated user - * @description Starts a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - post: operations["codespaces/start-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/stop": { - /** - * Stop a codespace for the authenticated user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - post: operations["codespaces/stop-for-authenticated-user"]; - }; - "/user/docker/conflicts": { - /** - * Get list of conflicting packages during Docker migration for authenticated-user - * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; - }; - "/user/email/visibility": { - /** - * Set primary email visibility for the authenticated user - * @description Sets the visibility for your primary email addresses. - */ - patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; - }; - "/user/emails": { - /** - * List email addresses for the authenticated user - * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. - */ - get: operations["users/list-emails-for-authenticated-user"]; - /** - * Add an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - post: operations["users/add-email-for-authenticated-user"]; - /** - * Delete an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - delete: operations["users/delete-email-for-authenticated-user"]; - }; - "/user/followers": { - /** - * List followers of the authenticated user - * @description Lists the people following the authenticated user. - */ - get: operations["users/list-followers-for-authenticated-user"]; - }; - "/user/following": { - /** - * List the people the authenticated user follows - * @description Lists the people who the authenticated user follows. - */ - get: operations["users/list-followed-by-authenticated-user"]; - }; - "/user/following/{username}": { - /** Check if a person is followed by the authenticated user */ - get: operations["users/check-person-is-followed-by-authenticated"]; - /** - * Follow a user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - put: operations["users/follow"]; - /** - * Unfollow a user - * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - delete: operations["users/unfollow"]; - }; - "/user/gpg_keys": { - /** - * List GPG keys for the authenticated user - * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/list-gpg-keys-for-authenticated-user"]; - /** - * Create a GPG key for the authenticated user - * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - post: operations["users/create-gpg-key-for-authenticated-user"]; - }; - "/user/gpg_keys/{gpg_key_id}": { - /** - * Get a GPG key for the authenticated user - * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/get-gpg-key-for-authenticated-user"]; - /** - * Delete a GPG key for the authenticated user - * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["users/delete-gpg-key-for-authenticated-user"]; - }; - "/user/installations": { - /** - * List app installations accessible to the user access token - * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You can find the permissions for the installation under the `permissions` key. - */ - get: operations["apps/list-installations-for-authenticated-user"]; - }; - "/user/installations/{installation_id}/repositories": { - /** - * List repositories accessible to the user access token - * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The access the user has to each repository is included in the hash under the `permissions` key. - */ - get: operations["apps/list-installation-repos-for-authenticated-user"]; - }; - "/user/installations/{installation_id}/repositories/{repository_id}": { - /** - * Add a repository to an app installation - * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - put: operations["apps/add-repo-to-installation-for-authenticated-user"]; - /** - * Remove a repository from an app installation - * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; - }; - "/user/interaction-limits": { - /** - * Get interaction restrictions for your public repositories - * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. - */ - get: operations["interactions/get-restrictions-for-authenticated-user"]; - /** - * Set interaction restrictions for your public repositories - * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. - */ - put: operations["interactions/set-restrictions-for-authenticated-user"]; - /** - * Remove interaction restrictions from your public repositories - * @description Removes any interaction restrictions from your public repositories. - */ - delete: operations["interactions/remove-restrictions-for-authenticated-user"]; - }; - "/user/issues": { - /** - * List user account issues assigned to the authenticated user - * @description List issues across owned and member repositories assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list-for-authenticated-user"]; - }; - "/user/keys": { - /** - * List public SSH keys for the authenticated user - * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/list-public-ssh-keys-for-authenticated-user"]; - /** - * Create a public SSH key for the authenticated user - * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - post: operations["users/create-public-ssh-key-for-authenticated-user"]; - }; - "/user/keys/{key_id}": { - /** - * Get a public SSH key for the authenticated user - * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/get-public-ssh-key-for-authenticated-user"]; - /** - * Delete a public SSH key for the authenticated user - * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; - }; - "/user/marketplace_purchases": { - /** - * List subscriptions for the authenticated user - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - get: operations["apps/list-subscriptions-for-authenticated-user"]; - }; - "/user/marketplace_purchases/stubbed": { - /** - * List subscriptions for the authenticated user (stubbed) - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; - }; - "/user/memberships/orgs": { - /** - * List organization memberships for the authenticated user - * @description Lists all of the authenticated user's organization memberships. - */ - get: operations["orgs/list-memberships-for-authenticated-user"]; - }; - "/user/memberships/orgs/{org}": { - /** - * Get an organization membership for the authenticated user - * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. - */ - get: operations["orgs/get-membership-for-authenticated-user"]; - /** - * Update an organization membership for the authenticated user - * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. - */ - patch: operations["orgs/update-membership-for-authenticated-user"]; - }; - "/user/migrations": { - /** - * List user migrations - * @description Lists all migrations a user has started. - */ - get: operations["migrations/list-for-authenticated-user"]; - /** - * Start a user migration - * @description Initiates the generation of a user migration archive. - */ - post: operations["migrations/start-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}": { - /** - * Get a user migration status - * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: - * - * * `pending` - the migration hasn't started yet. - * * `exporting` - the migration is in progress. - * * `exported` - the migration finished successfully. - * * `failed` - the migration failed. - * - * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). - */ - get: operations["migrations/get-status-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/archive": { - /** - * Download a user migration archive - * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: - * - * * attachments - * * bases - * * commit\_comments - * * issue\_comments - * * issue\_events - * * issues - * * milestones - * * organizations - * * projects - * * protected\_branches - * * pull\_request\_reviews - * * pull\_requests - * * releases - * * repositories - * * review\_comments - * * schema - * * users - * - * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. - */ - get: operations["migrations/get-archive-for-authenticated-user"]; - /** - * Delete a user migration archive - * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. - */ - delete: operations["migrations/delete-archive-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/repos/{repo_name}/lock": { - /** - * Unlock a user repository - * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. - */ - delete: operations["migrations/unlock-repo-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/repositories": { - /** - * List repositories for a user migration - * @description Lists all the repositories for this user migration. - */ - get: operations["migrations/list-repos-for-authenticated-user"]; - }; - "/user/orgs": { - /** - * List organizations for the authenticated user - * @description List organizations for the authenticated user. - * - * **OAuth scope requirements** - * - * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. - */ - get: operations["orgs/list-for-authenticated-user"]; - }; - "/user/packages": { - /** - * List packages for the authenticated user's namespace - * @description Lists packages owned by the authenticated user within the user's namespace. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}": { - /** - * Get a package for the authenticated user - * @description Gets a specific package for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-authenticated-user"]; - /** - * Delete a package for the authenticated user - * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/restore": { - /** - * Restore a package for the authenticated user - * @description Restores a package owned by the authenticated user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/versions": { - /** - * List package versions for a package owned by the authenticated user - * @description Lists package versions for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { - /** - * Get a package version for the authenticated user - * @description Gets a specific package version for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-authenticated-user"]; - /** - * Delete a package version for the authenticated user - * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - /** - * Restore a package version for the authenticated user - * @description Restores a package version owned by the authenticated user. - * - * You can restore a deleted package version under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-authenticated-user"]; - }; - "/user/projects": { - /** - * Create a user project - * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - post: operations["projects/create-for-authenticated-user"]; - }; - "/user/public_emails": { - /** - * List public email addresses for the authenticated user - * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. - */ - get: operations["users/list-public-emails-for-authenticated-user"]; - }; - "/user/repos": { - /** - * List repositories for the authenticated user - * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - */ - get: operations["repos/list-for-authenticated-user"]; - /** - * Create a repository for the authenticated user - * @description Creates a new repository for the authenticated user. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository. - */ - post: operations["repos/create-for-authenticated-user"]; - }; - "/user/repository_invitations": { - /** - * List repository invitations for the authenticated user - * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. - */ - get: operations["repos/list-invitations-for-authenticated-user"]; - }; - "/user/repository_invitations/{invitation_id}": { - /** Decline a repository invitation */ - delete: operations["repos/decline-invitation-for-authenticated-user"]; - /** Accept a repository invitation */ - patch: operations["repos/accept-invitation-for-authenticated-user"]; - }; - "/user/social_accounts": { - /** - * List social accounts for the authenticated user - * @description Lists all of your social accounts. - */ - get: operations["users/list-social-accounts-for-authenticated-user"]; - /** - * Add social accounts for the authenticated user - * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - post: operations["users/add-social-account-for-authenticated-user"]; - /** - * Delete social accounts for the authenticated user - * @description Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - delete: operations["users/delete-social-account-for-authenticated-user"]; - }; - "/user/ssh_signing_keys": { - /** - * List SSH signing keys for the authenticated user - * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; - /** - * Create a SSH signing key for the authenticated user - * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - post: operations["users/create-ssh-signing-key-for-authenticated-user"]; - }; - "/user/ssh_signing_keys/{ssh_signing_key_id}": { - /** - * Get an SSH signing key for the authenticated user - * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - get: operations["users/get-ssh-signing-key-for-authenticated-user"]; - /** - * Delete an SSH signing key for the authenticated user - * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; - }; - "/user/starred": { - /** - * List repositories starred by the authenticated user - * @description Lists repositories the authenticated user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - get: operations["activity/list-repos-starred-by-authenticated-user"]; - }; - "/user/starred/{owner}/{repo}": { - /** - * Check if a repository is starred by the authenticated user - * @description Whether the authenticated user has starred the repository. - */ - get: operations["activity/check-repo-is-starred-by-authenticated-user"]; - /** - * Star a repository for the authenticated user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["activity/star-repo-for-authenticated-user"]; - /** - * Unstar a repository for the authenticated user - * @description Unstar a repository that the authenticated user has previously starred. - */ - delete: operations["activity/unstar-repo-for-authenticated-user"]; - }; - "/user/subscriptions": { - /** - * List repositories watched by the authenticated user - * @description Lists repositories the authenticated user is watching. - */ - get: operations["activity/list-watched-repos-for-authenticated-user"]; - }; - "/user/teams": { - /** - * List teams for the authenticated user - * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. - */ - get: operations["teams/list-for-authenticated-user"]; - }; - "/users": { - /** - * List users - * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. - * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. - */ - get: operations["users/list"]; - }; - "/users/{username}": { - /** - * Get a user - * @description Provides publicly available information about someone with a GitHub account. - * - * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" - * - * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). - * - * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". - */ - get: operations["users/get-by-username"]; - }; - "/users/{username}/docker/conflicts": { - /** - * Get list of conflicting packages during Docker migration for user - * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; - }; - "/users/{username}/events": { - /** - * List events for the authenticated user - * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. - */ - get: operations["activity/list-events-for-authenticated-user"]; - }; - "/users/{username}/events/orgs/{org}": { - /** - * List organization events for the authenticated user - * @description This is the user's organization dashboard. You must be authenticated as the user to view this. - */ - get: operations["activity/list-org-events-for-authenticated-user"]; - }; - "/users/{username}/events/public": { - /** List public events for a user */ - get: operations["activity/list-public-events-for-user"]; - }; - "/users/{username}/followers": { - /** - * List followers of a user - * @description Lists the people following the specified user. - */ - get: operations["users/list-followers-for-user"]; - }; - "/users/{username}/following": { - /** - * List the people a user follows - * @description Lists the people who the specified user follows. - */ - get: operations["users/list-following-for-user"]; - }; - "/users/{username}/following/{target_user}": { - /** Check if a user follows another user */ - get: operations["users/check-following-for-user"]; - }; - "/users/{username}/gists": { - /** - * List gists for a user - * @description Lists public gists for the specified user: - */ - get: operations["gists/list-for-user"]; - }; - "/users/{username}/gpg_keys": { - /** - * List GPG keys for a user - * @description Lists the GPG keys for a user. This information is accessible by anyone. - */ - get: operations["users/list-gpg-keys-for-user"]; - }; - "/users/{username}/hovercard": { - /** - * Get contextual information for a user - * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. - * - * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: - * - * ```shell - * curl -u username:token - * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 - * ``` - */ - get: operations["users/get-context-for-user"]; - }; - "/users/{username}/installation": { - /** - * Get a user installation for the authenticated app - * @description Enables an authenticated GitHub App to find the user’s installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-user-installation"]; - }; - "/users/{username}/keys": { - /** - * List public keys for a user - * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. - */ - get: operations["users/list-public-keys-for-user"]; - }; - "/users/{username}/orgs": { - /** - * List organizations for a user - * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. - * - * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. - */ - get: operations["orgs/list-for-user"]; - }; - "/users/{username}/packages": { - /** - * List packages for a user - * @description Lists all packages in a user's namespace for which the requesting user has access. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}": { - /** - * Get a package for a user - * @description Gets a specific package metadata for a public package owned by a user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-user"]; - /** - * Delete a package for a user - * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/restore": { - /** - * Restore a package for a user - * @description Restores an entire package for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions": { - /** - * List package versions for a package owned by a user - * @description Lists package versions for a public package owned by a specified user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { - /** - * Get a package version for a user - * @description Gets a specific package version for a public package owned by a specified user. - * - * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-user"]; - /** - * Delete package version for a user - * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - /** - * Restore package version for a user - * @description Restores a specific package version for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-user"]; - }; - "/users/{username}/projects": { - /** - * List user projects - * @description Lists projects for a user. - */ - get: operations["projects/list-for-user"]; - }; - "/users/{username}/received_events": { - /** - * List events received by the authenticated user - * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. - */ - get: operations["activity/list-received-events-for-user"]; - }; - "/users/{username}/received_events/public": { - /** List public events received by a user */ - get: operations["activity/list-received-public-events-for-user"]; - }; - "/users/{username}/repos": { - /** - * List repositories for a user - * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. - */ - get: operations["repos/list-for-user"]; - }; - "/users/{username}/settings/billing/actions": { - /** - * Get GitHub Actions billing for a user - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `user` scope. - */ - get: operations["billing/get-github-actions-billing-user"]; - }; - "/users/{username}/settings/billing/packages": { - /** - * Get GitHub Packages billing for a user - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - get: operations["billing/get-github-packages-billing-user"]; - }; - "/users/{username}/settings/billing/shared-storage": { - /** - * Get shared storage billing for a user - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - get: operations["billing/get-shared-storage-billing-user"]; - }; - "/users/{username}/social_accounts": { - /** - * List social accounts for a user - * @description Lists social media accounts for a user. This endpoint is accessible by anyone. - */ - get: operations["users/list-social-accounts-for-user"]; - }; - "/users/{username}/ssh_signing_keys": { - /** - * List SSH signing keys for a user - * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. - */ - get: operations["users/list-ssh-signing-keys-for-user"]; - }; - "/users/{username}/starred": { - /** - * List repositories starred by a user - * @description Lists repositories a user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - get: operations["activity/list-repos-starred-by-user"]; - }; - "/users/{username}/subscriptions": { - /** - * List repositories watched by a user - * @description Lists repositories a user is watching. - */ - get: operations["activity/list-repos-watched-by-user"]; - }; - "/versions": { - /** - * Get all API versions - * @description Get all supported GitHub API versions. - */ - get: operations["meta/get-all-versions"]; - }; - "/zen": { - /** - * Get the Zen of GitHub - * @description Get a random sentence from the Zen of GitHub - */ - get: operations["meta/get-zen"]; - }; -} - -export interface webhooks { - "branch-protection-configuration-disabled": { - /** - * This event occurs when there is a change to branch protection configurations for a repository. - * For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." - * For information about using the APIs to manage branch protection rules, see "[Branch protection rule](https://docs.github.com/graphql/reference/objects#branchprotectionrule)" in the GraphQL documentation or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description All branch protections were disabled for a repository. - */ - post: operations["branch-protection-configuration/disabled"]; - }; - "branch-protection-configuration-enabled": { - /** - * This event occurs when there is a change to branch protection configurations for a repository. - * For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." - * For information about using the APIs to manage branch protection rules, see "[Branch protection rule](https://docs.github.com/graphql/reference/objects#branchprotectionrule)" in the GraphQL documentation or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description All branch protections were enabled for a repository. - */ - post: operations["branch-protection-configuration/enabled"]; - }; - "branch-protection-rule-created": { - /** - * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A branch protection rule was created. - */ - post: operations["branch-protection-rule/created"]; - }; - "branch-protection-rule-deleted": { - /** - * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A branch protection rule was deleted. - */ - post: operations["branch-protection-rule/deleted"]; - }; - "branch-protection-rule-edited": { - /** - * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A branch protection rule was edited. - */ - post: operations["branch-protection-rule/edited"]; - }; - "check-run-completed": { - /** - * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. - * - * For activity relating to check suites, use the `check-suite` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description A check run was completed, and a conclusion is available. - */ - post: operations["check-run/completed"]; - }; - "check-run-created": { - /** - * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. - * - * For activity relating to check suites, use the `check-suite` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description A new check run was created. - */ - post: operations["check-run/created"]; - }; - "check-run-requested-action": { - /** - * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. - * - * For activity relating to check suites, use the `check-suite` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description A check run completed, and someone requested a followup action that your app provides. Only the GitHub App someone requests to perform an action will receive the `requested_action` payload. For more information, see "[Creating CI tests with the Checks API](https://docs.github.com/developers/apps/guides/creating-ci-tests-with-the-checks-api)." - */ - post: operations["check-run/requested-action"]; - }; - "check-run-rerequested": { - /** - * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. - * - * For activity relating to check suites, use the `check-suite` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description Someone requested to re-run a check run. Only the GitHub App that someone requests to re-run the check will receive the `rerequested` payload. - */ - post: operations["check-run/rerequested"]; - }; - "check-suite-completed": { - /** - * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. - * - * For activity relating to check runs, use the `check_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" permission. To receive the `requested` and `rerequested` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check suite was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description All check runs in a check suite have completed, and a conclusion is available. - */ - post: operations["check-suite/completed"]; - }; - "check-suite-requested": { - /** - * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. - * - * For activity relating to check runs, use the `check_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" permission. To receive the `requested` and `rerequested` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check suite was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description Someone requested to run a check suite. By default, check suites are automatically created when you create a check run. For more information, see [the GraphQL API documentation for creating a check run](https://docs.github.com/graphql/reference/mutations#createcheckrun) or "[Create a check run](https://docs.github.com/rest/checks/runs#create-a-check-run)" in the REST API documentation. - */ - post: operations["check-suite/requested"]; - }; - "check-suite-rerequested": { - /** - * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. - * - * For activity relating to check runs, use the `check_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" permission. To receive the `requested` and `rerequested` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check suite was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description Someone requested to re-run the check runs in a check suite. For more information, see [the GraphQL API documentation for creating a check suite](https://docs.github.com/graphql/reference/mutations#createchecksuite) or "[Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite)" in the REST API documentation. - */ - post: operations["check-suite/rerequested"]; - }; - "code-scanning-alert-appeared-in-branch": { - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description A previously created code scanning alert appeared in another branch. This can happen when a branch is merged into or created from a branch with a pre-existing code scanning alert. - */ - post: operations["code-scanning-alert/appeared-in-branch"]; - }; - "code-scanning-alert-closed-by-user": { - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description Someone closed a code scanning alert. - */ - post: operations["code-scanning-alert/closed-by-user"]; - }; - "code-scanning-alert-created": { - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description A code scanning alert was created in a repository. - */ - post: operations["code-scanning-alert/created"]; - }; - "code-scanning-alert-fixed": { - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description A code scanning alert was fixed in a branch by a commit. - */ - post: operations["code-scanning-alert/fixed"]; - }; - "code-scanning-alert-reopened": { - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description A previously fixed code scanning alert reappeared in a branch. - */ - post: operations["code-scanning-alert/reopened"]; - }; - "code-scanning-alert-reopened-by-user": { - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description Someone reopened a code scanning alert. - */ - post: operations["code-scanning-alert/reopened-by-user"]; - }; - "commit-comment-created": { - /** - * This event occurs when there is activity relating to commit comments. For more information about commit comments, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request)." For information about the APIs to manage commit comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#commitcomment) or "[Commit comments](https://docs.github.com/rest/commits/comments)" in the REST API documentation. - * - * For activity relating to comments on pull request reviews, use the `pull_request_review_comment` event. For activity relating to issue comments, use the `issue_comment` event. For activity relating to discussion comments, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description Someone commented on a commit. - */ - post: operations["commit-comment/created"]; - }; - "create": { - /** - * This event occurs when a Git branch or tag is created. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * - * **Notes**: - * - This event will not occur when more than three tags are created at once. - * - Payloads are capped at 25 MB. If an event generates a larger payload, GitHub will not deliver a payload for that webhook event. This may happen, for example, if many branches or tags are pushed at once. We suggest monitoring your payload size to ensure delivery. - */ - post: operations["create"]; - }; - "delete": { - /** - * This event occurs when a Git branch or tag is deleted. To subscribe to all pushes to a repository, including - * branch and tag deletions, use the [`push`](#push) webhook event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * - * **Note**: This event will not occur when more than three tags are deleted at once. - */ - post: operations["delete"]; - }; - "dependabot-alert-auto-dismissed": { - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A Dependabot alert was automatically closed. - */ - post: operations["dependabot-alert/auto-dismissed"]; - }; - "dependabot-alert-auto-reopened": { - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A Dependabot alert was automatically reopened. - */ - post: operations["dependabot-alert/auto-reopened"]; - }; - "dependabot-alert-created": { - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A manifest file change introduced a vulnerable dependency, or a GitHub Security Advisory was published and an existing dependency was found to be vulnerable. - */ - post: operations["dependabot-alert/created"]; - }; - "dependabot-alert-dismissed": { - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A Dependabot alert was manually closed. - */ - post: operations["dependabot-alert/dismissed"]; - }; - "dependabot-alert-fixed": { - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A manifest file change removed a vulnerability. - */ - post: operations["dependabot-alert/fixed"]; - }; - "dependabot-alert-reintroduced": { - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A manifest file change introduced a vulnerable dependency that had previously been fixed. - */ - post: operations["dependabot-alert/reintroduced"]; - }; - "dependabot-alert-reopened": { - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A Dependabot alert was manually reopened. - */ - post: operations["dependabot-alert/reopened"]; - }; - "deploy-key-created": { - /** - * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deploykey) or "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deploy key was created. - */ - post: operations["deploy-key/created"]; - }; - "deploy-key-deleted": { - /** - * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deploykey) or "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deploy key was deleted. - */ - post: operations["deploy-key/deleted"]; - }; - "deployment-created": { - /** - * This event occurs when there is activity relating to deployments. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. - * - * For activity relating to deployment status, use the `deployment_status` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deployment was created. - */ - post: operations["deployment/created"]; - }; - "deployment-protection-rule-requested": { - /** - * This event occurs when there is activity relating to deployment protection rules. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-protection-rules)." For information about the API to manage deployment protection rules, see [the REST API documentation](https://docs.github.com/rest/deployments/environments). - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deployment protection rule was requested for an environment. - */ - post: operations["deployment-protection-rule/requested"]; - }; - "deployment-review-approved": { - /** - * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. - * - * For activity relating to deployment creation or deployment status, use the `deployment` or `deployment_status` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deployment review was approved. - */ - post: operations["deployment-review/approved"]; - }; - "deployment-review-rejected": { - /** - * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. - * - * For activity relating to deployment creation or deployment status, use the `deployment` or `deployment_status` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deployment review was rejected. - */ - post: operations["deployment-review/rejected"]; - }; - "deployment-review-requested": { - /** - * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. - * - * For activity relating to deployment creation or deployment status, use the `deployment` or `deployment_status` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deployment review was requested. - */ - post: operations["deployment-review/requested"]; - }; - "deployment-status-created": { - /** - * This event occurs when there is activity relating to deployment statuses. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. - * - * For activity relating to deployment creation, use the `deployment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A new deployment status was created. - */ - post: operations["deployment-status/created"]; - }; - "discussion-answered": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A comment on the discussion was marked as the answer. - */ - post: operations["discussion/answered"]; - }; - "discussion-category-changed": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description The category of a discussion was changed. - */ - post: operations["discussion/category-changed"]; - }; - "discussion-closed": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was closed. - */ - post: operations["discussion/closed"]; - }; - "discussion-comment-created": { - /** - * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a discussion as opposed to comments on a discussion, use the `discussion` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A comment on a discussion was created. - */ - post: operations["discussion-comment/created"]; - }; - "discussion-comment-deleted": { - /** - * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a discussion as opposed to comments on a discussion, use the `discussion` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A comment on a discussion was deleted. - */ - post: operations["discussion-comment/deleted"]; - }; - "discussion-comment-edited": { - /** - * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a discussion as opposed to comments on a discussion, use the `discussion` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A comment on a discussion was edited. - */ - post: operations["discussion-comment/edited"]; - }; - "discussion-created": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was created. - */ - post: operations["discussion/created"]; - }; - "discussion-deleted": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was deleted. - */ - post: operations["discussion/deleted"]; - }; - "discussion-edited": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description The title or body on a discussion was edited, or the category of the discussion was changed. - */ - post: operations["discussion/edited"]; - }; - "discussion-labeled": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A label was added to a discussion. - */ - post: operations["discussion/labeled"]; - }; - "discussion-locked": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was locked. - */ - post: operations["discussion/locked"]; - }; - "discussion-pinned": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was pinned. - */ - post: operations["discussion/pinned"]; - }; - "discussion-reopened": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was reopened. - */ - post: operations["discussion/reopened"]; - }; - "discussion-transferred": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was transferred to another repository. - */ - post: operations["discussion/transferred"]; - }; - "discussion-unanswered": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A comment on the discussion was unmarked as the answer. - */ - post: operations["discussion/unanswered"]; - }; - "discussion-unlabeled": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A label was removed from a discussion. - */ - post: operations["discussion/unlabeled"]; - }; - "discussion-unlocked": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was unlocked. - */ - post: operations["discussion/unlocked"]; - }; - "discussion-unpinned": { - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was unpinned. - */ - post: operations["discussion/unpinned"]; - }; - "fork": { - /** - * This event occurs when someone forks a repository. For more information, see "[Fork a repo](https://docs.github.com/get-started/quickstart/fork-a-repo)." For information about the API to manage forks, see "[Forks](https://docs.github.com/rest/repos/forks)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - */ - post: operations["fork"]; - }; - "github-app-authorization-revoked": { - /** - * This event occurs when a user revokes their authorization of a GitHub App. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the API to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * - * A GitHub App receives this webhook by default and cannot unsubscribe from this event. - * - * Anyone can revoke their authorization of a GitHub App from their [GitHub account settings page](https://github.com/settings/apps/authorizations). Revoking the authorization of a GitHub App does not uninstall the GitHub App. You should program your GitHub App so that when it receives this webhook, it stops calling the API on behalf of the person who revoked the token. If your GitHub App continues to use a revoked access token, it will receive the `401 Bad Credentials` error. For details about requests with a user access token, which require GitHub App authorization, see "[Authenticating with a GitHub App on behalf of a user](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user)." - * @description Someone revoked their authorization of a GitHub App. - */ - post: operations["github-app-authorization/revoked"]; - }; - "gollum": { - /** - * This event occurs when someone creates or updates a wiki page. For more information, see "[About wikis](https://docs.github.com/communities/documenting-your-project-with-wikis/about-wikis)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - */ - post: operations["gollum"]; - }; - "installation-created": { - /** - * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Someone installed a GitHub App on a user or organization account. - */ - post: operations["installation/created"]; - }; - "installation-deleted": { - /** - * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Someone uninstalled a GitHub App from their user or organization account. - */ - post: operations["installation/deleted"]; - }; - "installation-new-permissions-accepted": { - /** - * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Someone granted new permissions to a GitHub App. - */ - post: operations["installation/new-permissions-accepted"]; - }; - "installation-repositories-added": { - /** - * This event occurs when there is activity relating to which repositories a GitHub App installation can access. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description A GitHub App installation was granted access to one or more repositories. - */ - post: operations["installation-repositories/added"]; - }; - "installation-repositories-removed": { - /** - * This event occurs when there is activity relating to which repositories a GitHub App installation can access. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Access to one or more repositories was revoked for a GitHub App installation. - */ - post: operations["installation-repositories/removed"]; - }; - "installation-suspend": { - /** - * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Someone blocked access by a GitHub App to their user or organization account. - */ - post: operations["installation/suspend"]; - }; - "installation-target-renamed": { - /** - * This event occurs when there is activity relating to the user or organization account that a GitHub App is installed on. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Somebody renamed the user or organization account that a GitHub App is installed on. - */ - post: operations["installation-target/renamed"]; - }; - "installation-unsuspend": { - /** - * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description A GitHub App that was blocked from accessing a user or organization account was given access the account again. - */ - post: operations["installation/unsuspend"]; - }; - "issue-comment-created": { - /** - * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. - * - * For activity relating to an issue as opposed to comments on an issue, use the `issue` event. For activity related to pull request reviews or pull request review comments, use the `pull_request_review` or `pull_request_review_comment` events. For more information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A comment on an issue or pull request was created. - */ - post: operations["issue-comment/created"]; - }; - "issue-comment-deleted": { - /** - * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. - * - * For activity relating to an issue as opposed to comments on an issue, use the `issue` event. For activity related to pull request reviews or pull request review comments, use the `pull_request_review` or `pull_request_review_comment` events. For more information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A comment on an issue or pull request was deleted. - */ - post: operations["issue-comment/deleted"]; - }; - "issue-comment-edited": { - /** - * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. - * - * For activity relating to an issue as opposed to comments on an issue, use the `issue` event. For activity related to pull request reviews or pull request review comments, use the `pull_request_review` or `pull_request_review_comment` events. For more information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A comment on an issue or pull request was edited. - */ - post: operations["issue-comment/edited"]; - }; - "issues-assigned": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was assigned to a user. - */ - post: operations["issues/assigned"]; - }; - "issues-closed": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was closed. - */ - post: operations["issues/closed"]; - }; - "issues-deleted": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was deleted. - */ - post: operations["issues/deleted"]; - }; - "issues-demilestoned": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was removed from a milestone. - */ - post: operations["issues/demilestoned"]; - }; - "issues-edited": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description The title or body on an issue was edited. - */ - post: operations["issues/edited"]; - }; - "issues-labeled": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A label was added to an issue. - */ - post: operations["issues/labeled"]; - }; - "issues-locked": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." - */ - post: operations["issues/locked"]; - }; - "issues-milestoned": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was added to a milestone. - */ - post: operations["issues/milestoned"]; - }; - "issues-opened": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was created. When a closed issue is reopened, the action will be `reopened` instead. - */ - post: operations["issues/opened"]; - }; - "issues-pinned": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was pinned to a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." - */ - post: operations["issues/pinned"]; - }; - "issues-reopened": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A closed issue was reopened. - */ - post: operations["issues/reopened"]; - }; - "issues-transferred": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was transferred to another repository. For more information, see "[Transferring an issue to another repository](https://docs.github.com/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository)." - */ - post: operations["issues/transferred"]; - }; - "issues-unassigned": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A user was unassigned from an issue. - */ - post: operations["issues/unassigned"]; - }; - "issues-unlabeled": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A label was removed from an issue. - */ - post: operations["issues/unlabeled"]; - }; - "issues-unlocked": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." - */ - post: operations["issues/unlocked"]; - }; - "issues-unpinned": { - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was unpinned from a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." - */ - post: operations["issues/unpinned"]; - }; - "label-created": { - /** - * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. - * - * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A label was created. - */ - post: operations["label/created"]; - }; - "label-deleted": { - /** - * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. - * - * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A label was deleted. - */ - post: operations["label/deleted"]; - }; - "label-edited": { - /** - * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. - * - * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A label's name, description, or color was changed. - */ - post: operations["label/edited"]; - }; - "marketplace-purchase-cancelled": { - /** - * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. - * @description Someone cancelled a GitHub Marketplace plan, and the last billing cycle has ended. The change will take effect on the account immediately. - */ - post: operations["marketplace-purchase/cancelled"]; - }; - "marketplace-purchase-changed": { - /** - * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. - * @description Someone upgraded or downgraded a GitHub Marketplace plan, and the last billing cycle has ended. The change will take effect on the account immediately. - */ - post: operations["marketplace-purchase/changed"]; - }; - "marketplace-purchase-pending-change": { - /** - * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. - * @description Someone downgraded or cancelled a GitHub Marketplace plan. The new plan or cancellation will take effect at the end of the current billing cycle. When the change takes effect, the `changed` or `cancelled` event will be sent. - */ - post: operations["marketplace-purchase/pending-change"]; - }; - "marketplace-purchase-pending-change-cancelled": { - /** - * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. - * @description Someone cancelled a pending change to a GitHub Marketplace plan. Pending changes include plan cancellations and downgrades that will take effect at the end of a billing cycle. - */ - post: operations["marketplace-purchase/pending-change-cancelled"]; - }; - "marketplace-purchase-purchased": { - /** - * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. - * @description Someone purchased a GitHub Marketplace plan. The change will take effect on the account immediately. - */ - post: operations["marketplace-purchase/purchased"]; - }; - "member-added": { - /** - * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A GitHub user accepted an invitation to a repository. - */ - post: operations["member/added"]; - }; - "member-edited": { - /** - * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description Permissions were changed for a collaborator on a repository. - */ - post: operations["member/edited"]; - }; - "member-removed": { - /** - * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A collaborator was removed from a repository. - */ - post: operations["member/removed"]; - }; - "membership-added": { - /** - * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the APIs to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description An organization member was added to a team. - */ - post: operations["membership/added"]; - }; - "membership-removed": { - /** - * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the APIs to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description An organization member was removed from a team. - */ - post: operations["membership/removed"]; - }; - "merge-group-checks-requested": { - /** - * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission. - * @description Status checks were requested for a merge group. This happens when a merge group is created or added to by the merge queue because a pull request was queued. - * - * When you receive this event, you should perform checks on the head SHA and report status back using check runs or commit statuses. - */ - post: operations["merge-group/checks-requested"]; - }; - "merge-group-destroyed": { - /** - * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission. - * @description The merge queue groups pull requests together to be merged. This event indicates that one of those merge groups was destroyed. This happens when a pull request is removed from the queue: any group containing that pull request is also destroyed. - * - * When you receive this event, you may want to cancel any checks that are running on the head SHA to avoid wasting computing resources on a merge group that will not be used. - */ - post: operations["merge-group/destroyed"]; - }; - "meta-deleted": { - /** - * This event occurs when there is activity relating to a webhook itself. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Meta" app permission. - * @description The webhook was deleted. - */ - post: operations["meta/deleted"]; - }; - "milestone-closed": { - /** - * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. - * - * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. - * @description A milestone was closed. - */ - post: operations["milestone/closed"]; - }; - "milestone-created": { - /** - * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. - * - * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. - * @description A milestone was created. - */ - post: operations["milestone/created"]; - }; - "milestone-deleted": { - /** - * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. - * - * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. - * @description A milestone was deleted. - */ - post: operations["milestone/deleted"]; - }; - "milestone-edited": { - /** - * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. - * - * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. - * @description A milestone was edited. - */ - post: operations["milestone/edited"]; - }; - "milestone-opened": { - /** - * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. - * - * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. - * @description A milestone was opened. - */ - post: operations["milestone/opened"]; - }; - "org-block-blocked": { - /** - * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the APIs to manage blocked users, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) or "[Blocking users](https://docs.github.com/rest/orgs/blocking)" in the REST API documentation. - * - * If you want to receive an event when members are added or removed from an organization, use the `organization` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" organization permission. - * @description A user was blocked from the organization. - */ - post: operations["org-block/blocked"]; - }; - "org-block-unblocked": { - /** - * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the APIs to manage blocked users, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) or "[Blocking users](https://docs.github.com/rest/orgs/blocking)" in the REST API documentation. - * - * If you want to receive an event when members are added or removed from an organization, use the `organization` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" organization permission. - * @description A previously blocked user was unblocked from the organization. - */ - post: operations["org-block/unblocked"]; - }; - "organization-deleted": { - /** - * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. - * - * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description An organization was deleted. - */ - post: operations["organization/deleted"]; - }; - "organization-member-added": { - /** - * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. - * - * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A member accepted an invitation to join an organization. - */ - post: operations["organization/member-added"]; - }; - "organization-member-invited": { - /** - * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. - * - * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A member was invited to join the organization. - */ - post: operations["organization/member-invited"]; - }; - "organization-member-removed": { - /** - * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. - * - * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A member was removed from the organization. - */ - post: operations["organization/member-removed"]; - }; - "organization-renamed": { - /** - * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. - * - * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description The name of an organization was changed. - */ - post: operations["organization/renamed"]; - }; - "package-published": { - /** - * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. - * - * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. - * @description A package was published to a registry. - */ - post: operations["package/published"]; - }; - "package-updated": { - /** - * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. - * - * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. - * @description A previously published package was updated. - */ - post: operations["package/updated"]; - }; - "page-build": { - /** - * This event occurs when there is an attempted build of a GitHub Pages site. This event occurs regardless of whether the build is successful. For more information, see "[Configuring a publishing source for your GitHub Pages site](https://docs.github.com/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." For information about the API to manage GitHub Pages, see "[Pages](https://docs.github.com/rest/pages)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pages" repository permission. - */ - post: operations["page-build"]; - }; - "personal-access-token-request-approved": { - /** - * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - * @description A fine-grained personal access token request was approved. - */ - post: operations["personal-access-token-request/approved"]; - }; - "personal-access-token-request-cancelled": { - /** - * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - * @description A fine-grained personal access token request was cancelled by the requester. - */ - post: operations["personal-access-token-request/cancelled"]; - }; - "personal-access-token-request-created": { - /** - * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - * @description A fine-grained personal access token request was created. - */ - post: operations["personal-access-token-request/created"]; - }; - "personal-access-token-request-denied": { - /** - * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - * @description A fine-grained personal access token request was denied. - */ - post: operations["personal-access-token-request/denied"]; - }; - "ping": { - /** This event occurs when you create a new webhook. The ping event is a confirmation from GitHub that you configured the webhook correctly. */ - post: operations["ping"]; - }; - "project-card-converted": { - /** - * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A note in a classic project was converted to an issue. - */ - post: operations["project-card/converted"]; - }; - "project-card-created": { - /** - * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A card was added to a classic project. - */ - post: operations["project-card/created"]; - }; - "project-card-deleted": { - /** - * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A card on a classic project was deleted. - */ - post: operations["project-card/deleted"]; - }; - "project-card-edited": { - /** - * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A note on a classic project was edited. - */ - post: operations["project-card/edited"]; - }; - "project-card-moved": { - /** - * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A card on a classic project was moved to another column or to another position in its column. - */ - post: operations["project-card/moved"]; - }; - "project-closed": { - /** - * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A classic project was closed. - */ - post: operations["project/closed"]; - }; - "project-column-created": { - /** - * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A column was added to a classic project. - */ - post: operations["project-column/created"]; - }; - "project-column-deleted": { - /** - * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A column was deleted from a classic project. - */ - post: operations["project-column/deleted"]; - }; - "project-column-edited": { - /** - * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description The name of a column on a classic project was changed. - */ - post: operations["project-column/edited"]; - }; - "project-column-moved": { - /** - * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A column was moved to a new position on a classic project. - */ - post: operations["project-column/moved"]; - }; - "project-created": { - /** - * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A classic project was created. - */ - post: operations["project/created"]; - }; - "project-deleted": { - /** - * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A classic project was deleted. - */ - post: operations["project/deleted"]; - }; - "project-edited": { - /** - * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description The name or description of a classic project was changed. - */ - post: operations["project/edited"]; - }; - "project-reopened": { - /** - * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A classic project was closed. - */ - post: operations["project/reopened"]; - }; - "projects-v2-closed": { - /** - * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). - * - * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description A project in the organization was closed. - */ - post: operations["projects-v2/closed"]; - }; - "projects-v2-created": { - /** - * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). - * - * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description A project in the organization was created. - */ - post: operations["projects-v2/created"]; - }; - "projects-v2-deleted": { - /** - * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). - * - * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description A project in the organization was deleted. - */ - post: operations["projects-v2/deleted"]; - }; - "projects-v2-edited": { - /** - * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). - * - * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description The title, description, or README of a project in the organization was changed. - */ - post: operations["projects-v2/edited"]; - }; - "projects-v2-item-archived": { - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description An item on an organization project was archived. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." - */ - post: operations["projects-v2-item/archived"]; - }; - "projects-v2-item-converted": { - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description A draft issue in an organization project was converted to an issue. - */ - post: operations["projects-v2-item/converted"]; - }; - "projects-v2-item-created": { - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description An item was added to a project in the organization. - */ - post: operations["projects-v2-item/created"]; - }; - "projects-v2-item-deleted": { - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description An item was deleted from a project in the organization. - */ - post: operations["projects-v2-item/deleted"]; - }; - "projects-v2-item-edited": { - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description The values or state of an item in an organization project were changed. For example, the value of a field was updated, the body of a draft issue was changed, or a draft issue was converted to an issue. - */ - post: operations["projects-v2-item/edited"]; - }; - "projects-v2-item-reordered": { - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description The position of an item in an organization project was changed. For example, an item was moved above or below another item in the table or board layout. - */ - post: operations["projects-v2-item/reordered"]; - }; - "projects-v2-item-restored": { - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description An archived item on an organization project was restored from the archive. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." - */ - post: operations["projects-v2-item/restored"]; - }; - "projects-v2-reopened": { - /** - * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). - * - * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description A project in the organization was reopened. - */ - post: operations["projects-v2/reopened"]; - }; - "public": { - /** - * This event occurs when repository visibility changes from private to public. For more information, see "[Setting repository visibility](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - */ - post: operations["public"]; - }; - "pull-request-assigned": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was assigned to a user. - */ - post: operations["pull-request/assigned"]; - }; - "pull-request-auto-merge-disabled": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description Auto merge was disabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." - */ - post: operations["pull-request/auto-merge-disabled"]; - }; - "pull-request-auto-merge-enabled": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description Auto merge was enabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." - */ - post: operations["pull-request/auto-merge-enabled"]; - }; - "pull-request-closed": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was closed. If `merged` is false in the webhook payload, the pull request was closed with unmerged commits. If `merged` is true in the webhook payload, the pull request was merged. - */ - post: operations["pull-request/closed"]; - }; - "pull-request-converted-to-draft": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was converted to a draft. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." - */ - post: operations["pull-request/converted-to-draft"]; - }; - "pull-request-demilestoned": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was removed from a milestone. - */ - post: operations["pull-request/demilestoned"]; - }; - "pull-request-dequeued": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was removed from the merge queue. - */ - post: operations["pull-request/dequeued"]; - }; - "pull-request-edited": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description The title or body of a pull request was edited. - */ - post: operations["pull-request/edited"]; - }; - "pull-request-enqueued": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was added to the merge queue. - */ - post: operations["pull-request/enqueued"]; - }; - "pull-request-labeled": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A label was added to a pull request. - */ - post: operations["pull-request/labeled"]; - }; - "pull-request-locked": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description Conversation on a pull request was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." - */ - post: operations["pull-request/locked"]; - }; - "pull-request-milestoned": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was added to a milestone. - */ - post: operations["pull-request/milestoned"]; - }; - "pull-request-opened": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was created - */ - post: operations["pull-request/opened"]; - }; - "pull-request-ready-for-review": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A draft pull request was marked as ready for review. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." - */ - post: operations["pull-request/ready-for-review"]; - }; - "pull-request-reopened": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A previously closed pull request was reopened. - */ - post: operations["pull-request/reopened"]; - }; - "pull-request-review-comment-created": { - /** - * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A comment on a pull request diff was created. - */ - post: operations["pull-request-review-comment/created"]; - }; - "pull-request-review-comment-deleted": { - /** - * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A comment on a pull request diff was deleted. - */ - post: operations["pull-request-review-comment/deleted"]; - }; - "pull-request-review-comment-edited": { - /** - * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description The content of a comment on a pull request diff was changed. - */ - post: operations["pull-request-review-comment/edited"]; - }; - "pull-request-review-dismissed": { - /** - * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. - * - * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A review on a pull request was dismissed. - */ - post: operations["pull-request-review/dismissed"]; - }; - "pull-request-review-edited": { - /** - * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. - * - * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description The body comment on a pull request review was edited. - */ - post: operations["pull-request-review/edited"]; - }; - "pull-request-review-request-removed": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A request for review by a person or team was removed from a pull request. - */ - post: operations["pull-request/review-request-removed"]; - }; - "pull-request-review-requested": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description Review by a person or team was requested for a pull request. For more information, see "[Requesting a pull request review](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review)." - */ - post: operations["pull-request/review-requested"]; - }; - "pull-request-review-submitted": { - /** - * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. - * - * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A review on a pull request was submitted. - */ - post: operations["pull-request-review/submitted"]; - }; - "pull-request-review-thread-resolved": { - /** - * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. - * - * For activity related to pull request review comments, pull request comments, or pull request reviews, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A comment thread on a pull request was marked as resolved. - */ - post: operations["pull-request-review-thread/resolved"]; - }; - "pull-request-review-thread-unresolved": { - /** - * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. - * - * For activity related to pull request review comments, pull request comments, or pull request reviews, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A previously resolved comment thread on a pull request was marked as unresolved. - */ - post: operations["pull-request-review-thread/unresolved"]; - }; - "pull-request-synchronize": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request's head branch was updated. For example, the head branch was updated from the base branch or new commits were pushed to the head branch. - */ - post: operations["pull-request/synchronize"]; - }; - "pull-request-unassigned": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A user was unassigned from a pull request. - */ - post: operations["pull-request/unassigned"]; - }; - "pull-request-unlabeled": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A label was removed from a pull request. - */ - post: operations["pull-request/unlabeled"]; - }; - "pull-request-unlocked": { - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description Conversation on a pull request was unlocked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." - */ - post: operations["pull-request/unlocked"]; - }; - "push": { - /** - * This event occurs when there is a push to a repository branch. This includes when a commit is pushed, when a commit tag is pushed, - * when a branch is deleted, when a tag is deleted, or when a repository is created from a template. To subscribe to only branch - * and tag deletions, use the [`delete`](#delete) webhook event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * - * **Note**: An event will not be created when more than three tags are pushed at once. - */ - post: operations["push"]; - }; - "registry-package-published": { - /** - * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. - * - * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. - * - * **Note**: GitHub recommends that you use the newer `package` event instead. - * @description A package was published to a registry. - */ - post: operations["registry-package/published"]; - }; - "registry-package-updated": { - /** - * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. - * - * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. - * - * **Note**: GitHub recommends that you use the newer `package` event instead. - * @description A package that was previously published to a registry was updated. - */ - post: operations["registry-package/updated"]; - }; - "release-created": { - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A draft was saved, or a release or pre-release was published without previously being saved as a draft. - */ - post: operations["release/created"]; - }; - "release-deleted": { - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A release, pre-release, or draft release was deleted. - */ - post: operations["release/deleted"]; - }; - "release-edited": { - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description The details of a release, pre-release, or draft release were edited. For more information, see "[Managing releases in a repository](https://docs.github.com/repositories/releasing-projects-on-github/managing-releases-in-a-repository#editing-a-release)." - */ - post: operations["release/edited"]; - }; - "release-prereleased": { - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A release was created and identified as a pre-release. A pre-release is a release that is not ready for production and may be unstable. - */ - post: operations["release/prereleased"]; - }; - "release-published": { - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A release, pre-release, or draft of a release was published. - */ - post: operations["release/published"]; - }; - "release-released": { - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A release was published, or a pre-release was changed to a release. - */ - post: operations["release/released"]; - }; - "release-unpublished": { - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A release or pre-release was unpublished. - */ - post: operations["release/unpublished"]; - }; - "repository-advisory-published": { - /** - * This event occurs when there is activity relating to a repository security advisory. For more information about repository security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Repository security advisories" permission. - * @description A repository security advisory was published. - */ - post: operations["repository-advisory/published"]; - }; - "repository-advisory-reported": { - /** - * This event occurs when there is activity relating to a repository security advisory. For more information about repository security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Repository security advisories" permission. - * @description A private vulnerability report was submitted. - */ - post: operations["repository-advisory/reported"]; - }; - "repository-archived": { - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A repository was archived. - */ - post: operations["repository/archived"]; - }; - "repository-created": { - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A repository was created. - */ - post: operations["repository/created"]; - }; - "repository-deleted": { - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A repository was deleted. GitHub Apps and repository webhooks will not receive this event. - */ - post: operations["repository/deleted"]; - }; - "repository-dispatch-sample.collected": { - /** - * This event occurs when a GitHub App sends a `POST` request to `/repos/{owner}/{repo}/dispatches`. For more information, see [the REST API documentation for creating a repository dispatch event](https://docs.github.com/rest/repos/repos#create-a-repository-dispatch-event). - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. - */ - post: operations["repository-dispatch/sample.collected"]; - }; - "repository-edited": { - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description The topics, default branch, description, or homepage of a repository was changed. - */ - post: operations["repository/edited"]; - }; - "repository-import": { - /** This event occurs when a repository is imported to GitHub. For more information, see "[Importing a repository with GitHub Importer](https://docs.github.com/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer)." For more information about the API to manage imports, see [the REST API documentation](https://docs.github.com/rest/migrations/source-imports). */ - post: operations["repository-import"]; - }; - "repository-privatized": { - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description The visibility of a repository was changed to `private`. - */ - post: operations["repository/privatized"]; - }; - "repository-publicized": { - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description The visibility of a repository was changed to `public`. - */ - post: operations["repository/publicized"]; - }; - "repository-renamed": { - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description The name of a repository was changed. - */ - post: operations["repository/renamed"]; - }; - "repository-ruleset-created": { - /** - * This event occurs when there is activity relating to repository rulesets. - * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." - * For more information on managing rulesets via the APIs, see [Repository ruleset](https://docs.github.com/graphql/reference/objects#repositoryruleset) in the GraphQL documentation or "[Repository rules](https://docs.github.com/rest/repos/rules)" and "[Organization rules](https://docs.github.com/rest/orgs/rules) in the REST API documentation." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A repository ruleset was created. - */ - post: operations["repository-ruleset/created"]; - }; - "repository-ruleset-deleted": { - /** - * This event occurs when there is activity relating to repository rulesets. - * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." - * For more information on managing rulesets via the APIs, see [Repository ruleset](https://docs.github.com/graphql/reference/objects#repositoryruleset) in the GraphQL documentation or "[Repository rules](https://docs.github.com/rest/repos/rules)" and "[Organization rules](https://docs.github.com/rest/orgs/rules) in the REST API documentation." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A repository ruleset was deleted. - */ - post: operations["repository-ruleset/deleted"]; - }; - "repository-ruleset-edited": { - /** - * This event occurs when there is activity relating to repository rulesets. - * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." - * For more information on managing rulesets via the APIs, see [Repository ruleset](https://docs.github.com/graphql/reference/objects#repositoryruleset) in the GraphQL documentation or "[Repository rules](https://docs.github.com/rest/repos/rules)" and "[Organization rules](https://docs.github.com/rest/orgs/rules) in the REST API documentation." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A repository ruleset was edited. - */ - post: operations["repository-ruleset/edited"]; - }; - "repository-transferred": { - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description Ownership of the repository was transferred to a user or organization account. This event is only sent to the account where the ownership is transferred. To receive the `repository.transferred` event, the new owner account must have the GitHub App installed, and the App must be subscribed to "Repository" events. - */ - post: operations["repository/transferred"]; - }; - "repository-unarchived": { - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A previously archived repository was unarchived. - */ - post: operations["repository/unarchived"]; - }; - "repository-vulnerability-alert-create": { - /** - * This event occurs when there is activity relating to a security vulnerability alert in a repository. - * - * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. - * @description A repository vulnerability alert was created. - */ - post: operations["repository-vulnerability-alert/create"]; - }; - "repository-vulnerability-alert-dismiss": { - /** - * This event occurs when there is activity relating to a security vulnerability alert in a repository. - * - * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. - * @description A repository vulnerability alert was dismissed. - */ - post: operations["repository-vulnerability-alert/dismiss"]; - }; - "repository-vulnerability-alert-reopen": { - /** - * This event occurs when there is activity relating to a security vulnerability alert in a repository. - * - * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. - * @description A previously dismissed or resolved repository vulnerability alert was reopened. - */ - post: operations["repository-vulnerability-alert/reopen"]; - }; - "repository-vulnerability-alert-resolve": { - /** - * This event occurs when there is activity relating to a security vulnerability alert in a repository. - * - * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. - * @description A repository vulnerability alert was marked as resolved. - */ - post: operations["repository-vulnerability-alert/resolve"]; - }; - "secret-scanning-alert-created": { - /** - * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. - * - * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. - * @description A secret scanning alert was created. - */ - post: operations["secret-scanning-alert/created"]; - }; - "secret-scanning-alert-location-created": { - /** - * This event occurs when there is activity relating to the locations of a secret in a secret scanning alert. - * - * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. - * - * For activity relating to secret scanning alerts, use the `secret_scanning_alert` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. - * @description A new instance of a previously detected secret was detected in a repository, and the location of the secret was added to the existing alert. - */ - post: operations["secret-scanning-alert-location/created"]; - }; - "secret-scanning-alert-reopened": { - /** - * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. - * - * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. - * @description A previously closed secret scanning alert was reopened. - */ - post: operations["secret-scanning-alert/reopened"]; - }; - "secret-scanning-alert-resolved": { - /** - * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. - * - * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. - * @description A secret scanning alert was closed. - */ - post: operations["secret-scanning-alert/resolved"]; - }; - "secret-scanning-alert-revoked": { - /** - * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. - * - * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. - * @description A secret scanning alert was marked as revoked. - */ - post: operations["secret-scanning-alert/revoked"]; - }; - "security-advisory-published": { - /** - * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). - * - * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." - * @description A security advisory was published to the GitHub community. - */ - post: operations["security-advisory/published"]; - }; - "security-advisory-updated": { - /** - * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). - * - * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." - * @description The metadata or description of a security advisory was changed, or the security advisory was withdrawn. - */ - post: operations["security-advisory/updated"]; - }; - "security-advisory-withdrawn": { - /** - * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). - * - * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." - * @description A previously published security advisory was withdrawn. - */ - post: operations["security-advisory/withdrawn"]; - }; - "security-and-analysis": { - /** - * This event occurs when code security and analysis features are enabled or disabled for a repository. For more information, see "[GitHub security features](https://docs.github.com/code-security/getting-started/github-security-features)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - */ - post: operations["security-and-analysis"]; - }; - "sponsorship-cancelled": { - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A sponsorship was cancelled and the last billing cycle has ended. - * - * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. - */ - post: operations["sponsorship/cancelled"]; - }; - "sponsorship-created": { - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A sponsor created a sponsorship for a sponsored account. This event occurs once the payment is successfully processed. - */ - post: operations["sponsorship/created"]; - }; - "sponsorship-edited": { - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A monthly sponsor changed who can see their sponsorship. If you recognize your sponsors publicly, you may want to update your sponsor recognition to reflect the change when this event occurs. - */ - post: operations["sponsorship/edited"]; - }; - "sponsorship-pending-cancellation": { - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A sponsor scheduled a cancellation for their sponsorship. The cancellation will become effective on their next billing date. - * - * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. - */ - post: operations["sponsorship/pending-cancellation"]; - }; - "sponsorship-pending-tier-change": { - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A sponsor scheduled a downgrade to a lower sponsorship tier. The new tier will become effective on their next billing date. - */ - post: operations["sponsorship/pending-tier-change"]; - }; - "sponsorship-tier-changed": { - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A sponsor changed the tier of their sponsorship and the change has taken effect. If a sponsor upgraded their tier, the change took effect immediately. If a sponsor downgraded their tier, the change took effect at the beginning of the sponsor's next billing cycle. - */ - post: operations["sponsorship/tier-changed"]; - }; - "star-created": { - /** - * This event occurs when there is activity relating to repository stars. For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection) or "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description Someone starred a repository. - */ - post: operations["star/created"]; - }; - "star-deleted": { - /** - * This event occurs when there is activity relating to repository stars. For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection) or "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description Someone unstarred the repository. - */ - post: operations["star/deleted"]; - }; - "status": { - /** - * This event occurs when the status of a Git commit changes. For example, commits can be marked as `error`, `failure`, `pending`, or `success`. For more information, see "[About status checks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)." For information about the APIs to manage commit statuses, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#status) or "[Commit statuses](https://docs.github.com/rest/commits/statuses)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Commit statuses" repository permission. - */ - post: operations["status"]; - }; - "team-add": { - /** - * This event occurs when a team is added to a repository. - * For more information, see "[Managing teams and people with access to your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)." - * - * For activity relating to teams, see the `teams` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - */ - post: operations["team-add"]; - }; - "team-added-to-repository": { - /** - * This event occurs when there is activity relating to teams in an organization. - * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A team was granted access to a repository. - */ - post: operations["team/added-to-repository"]; - }; - "team-created": { - /** - * This event occurs when there is activity relating to teams in an organization. - * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A team was created. - */ - post: operations["team/created"]; - }; - "team-deleted": { - /** - * This event occurs when there is activity relating to teams in an organization. - * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A team was deleted. - */ - post: operations["team/deleted"]; - }; - "team-edited": { - /** - * This event occurs when there is activity relating to teams in an organization. - * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description The name, description, or visibility of a team was changed. - */ - post: operations["team/edited"]; - }; - "team-removed-from-repository": { - /** - * This event occurs when there is activity relating to teams in an organization. - * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A team's access to a repository was removed. - */ - post: operations["team/removed-from-repository"]; - }; - "watch-started": { - /** - * This event occurs when there is activity relating to watching, or subscribing to, a repository. For more information about watching, see "[Managing your subscriptions](https://docs.github.com/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions)." For information about the APIs to manage watching, see "[Watching](https://docs.github.com/rest/activity/watching)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description Someone started watching the repository. - */ - post: operations["watch/started"]; - }; - "workflow-dispatch": { - /** - * This event occurs when a GitHub Actions workflow is manually triggered. For more information, see "[Manually running a workflow](https://docs.github.com/actions/managing-workflow-runs/manually-running-a-workflow)." - * - * For activity relating to workflow runs, use the `workflow_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - */ - post: operations["workflow-dispatch"]; - }; - "workflow-job-completed": { - /** - * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. - * - * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A job in a workflow run finished. This event occurs when a job in a workflow is completed, regardless of whether the job was successful or unsuccessful. - */ - post: operations["workflow-job/completed"]; - }; - "workflow-job-in-progress": { - /** - * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. - * - * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A job in a workflow run started processing on a runner. - */ - post: operations["workflow-job/in-progress"]; - }; - "workflow-job-queued": { - /** - * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. - * - * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A job in a workflow run was created. - */ - post: operations["workflow-job/queued"]; - }; - "workflow-job-waiting": { - /** - * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. - * - * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A job in a workflow run was created and is waiting for approvals. - */ - post: operations["workflow-job/waiting"]; - }; - "workflow-run-completed": { - /** - * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. - * - * For activity relating to a job in a workflow run, use the `workflow_job` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A workflow run finished. This event occurs when a workflow run is completed, regardless of whether the workflow was successful or unsuccessful. - */ - post: operations["workflow-run/completed"]; - }; - "workflow-run-in-progress": { - /** - * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. - * - * For activity relating to a job in a workflow run, use the `workflow_job` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A workflow run started processing on a runner. - */ - post: operations["workflow-run/in-progress"]; - }; - "workflow-run-requested": { - /** - * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. - * - * For activity relating to a job in a workflow run, use the `workflow_job` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A workflow run was triggered. - */ - post: operations["workflow-run/requested"]; - }; -} - -export interface components { - schemas: { - root: { - /** Format: uri-template */ - current_user_url: string; - /** Format: uri-template */ - current_user_authorizations_html_url: string; - /** Format: uri-template */ - authorizations_url: string; - /** Format: uri-template */ - code_search_url: string; - /** Format: uri-template */ - commit_search_url: string; - /** Format: uri-template */ - emails_url: string; - /** Format: uri-template */ - emojis_url: string; - /** Format: uri-template */ - events_url: string; - /** Format: uri-template */ - feeds_url: string; - /** Format: uri-template */ - followers_url: string; - /** Format: uri-template */ - following_url: string; - /** Format: uri-template */ - gists_url: string; - /** Format: uri-template */ - hub_url: string; - /** Format: uri-template */ - issue_search_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - label_search_url: string; - /** Format: uri-template */ - notifications_url: string; - /** Format: uri-template */ - organization_url: string; - /** Format: uri-template */ - organization_repositories_url: string; - /** Format: uri-template */ - organization_teams_url: string; - /** Format: uri-template */ - public_gists_url: string; - /** Format: uri-template */ - rate_limit_url: string; - /** Format: uri-template */ - repository_url: string; - /** Format: uri-template */ - repository_search_url: string; - /** Format: uri-template */ - current_user_repositories_url: string; - /** Format: uri-template */ - starred_url: string; - /** Format: uri-template */ - starred_gists_url: string; - /** Format: uri-template */ - topic_search_url?: string; - /** Format: uri-template */ - user_url: string; - /** Format: uri-template */ - user_organizations_url: string; - /** Format: uri-template */ - user_repositories_url: string; - /** Format: uri-template */ - user_search_url: string; - }; - /** - * @description The package's language or package management ecosystem. - * @enum {string} - */ - "security-advisory-ecosystems": "rubygems" | "npm" | "pip" | "maven" | "nuget" | "composer" | "go" | "rust" | "erlang" | "actions" | "pub" | "other" | "swift"; - /** - * Simple User - * @description A GitHub user. - */ - "simple-user": { - name?: string | null; - email?: string | null; - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - events_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - site_admin: boolean; - starred_at?: string; - }; - /** - * @description The type of credit the user is receiving. - * @enum {string} - */ - "security-advisory-credit-types": "analyst" | "finder" | "reporter" | "coordinator" | "remediation_developer" | "remediation_reviewer" | "remediation_verifier" | "tool" | "sponsor" | "other"; - /** @description A GitHub Security Advisory. */ - "global-advisory": { - /** @description The GitHub Security Advisory ID. */ - ghsa_id: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id: string | null; - /** @description The API URL for the advisory. */ - url: string; - /** - * Format: uri - * @description The URL for the advisory. - */ - html_url: string; - /** - * Format: uri - * @description The API URL for the repository advisory. - */ - repository_advisory_url: string | null; - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory entails. */ - description: string | null; - /** - * @description The type of advisory. - * @enum {string} - */ - type: "reviewed" | "unreviewed" | "malware"; - /** - * @description The severity of the advisory. - * @enum {string} - */ - severity: "critical" | "high" | "medium" | "low" | "unknown"; - /** - * Format: uri - * @description The URL of the advisory's source code. - */ - source_code_location: string | null; - identifiers: (readonly ({ - /** - * @description The type of identifier. - * @enum {string} - */ - type: "CVE" | "GHSA"; - /** @description The identifier value. */ - value: string; - })[]) | null; - references: string[] | null; - /** - * Format: date-time - * @description The date and time of when the advisory was published, in ISO 8601 format. - */ - published_at: string; - /** - * Format: date-time - * @description The date and time of when the advisory was last updated, in ISO 8601 format. - */ - updated_at: string; - /** - * Format: date-time - * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format. - */ - github_reviewed_at: string | null; - /** - * Format: date-time - * @description The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format. - * This field is only populated when the advisory is imported from the National Vulnerability Database. - */ - nvd_published_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. - */ - withdrawn_at: string | null; - /** @description The products and respective version ranges affected by the advisory. */ - vulnerabilities: (({ - /** @description The name of the package affected by the vulnerability. */ - package: ({ - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name: string | null; - }) | null; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range: string | null; - /** @description The package version that resolve the vulnerability. */ - first_patched_version: string | null; - /** @description The functions in the package that are affected by the vulnerability. */ - vulnerable_functions: (readonly string[]) | null; - })[]) | null; - cvss: ({ - /** @description The CVSS vector. */ - vector_string: string | null; - /** @description The CVSS score. */ - score: number | null; - }) | null; - cwes: { - /** @description The Common Weakness Enumeration (CWE) identifier. */ - cwe_id: string; - /** @description The name of the CWE. */ - name: string; - }[] | null; - /** @description The users who contributed to the advisory. */ - credits: (readonly { - user: components["schemas"]["simple-user"]; - type: components["schemas"]["security-advisory-credit-types"]; - }[]) | null; - }; - /** - * Basic Error - * @description Basic Error - */ - "basic-error": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - /** - * Validation Error Simple - * @description Validation Error Simple - */ - "validation-error-simple": { - message: string; - documentation_url: string; - errors?: string[]; - }; - /** - * GitHub app - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - integration: { - /** @description Unique identifier of the GitHub app */ - id: number; - /** @description The slug name of the GitHub app */ - slug?: string; - node_id: string; - owner: null | components["schemas"]["simple-user"]; - /** @description The name of the GitHub app */ - name: string; - description: string | null; - /** Format: uri */ - external_url: string; - /** Format: uri */ - html_url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description The set of permissions for the GitHub app - * @example { - * "issues": "read", - * "deployments": "write" - * } - */ - permissions: { - issues?: string; - checks?: string; - metadata?: string; - contents?: string; - deployments?: string; - [key: string]: string | undefined; - }; - /** @description The list of events for the GitHub app */ - events: string[]; - /** @description The number of installations associated with the GitHub app */ - installations_count?: number; - client_id?: string; - client_secret?: string; - webhook_secret?: string | null; - pem?: string; - }; - /** - * Format: uri - * @description The URL to which the payloads will be delivered. - */ - "webhook-config-url": string; - /** @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. */ - "webhook-config-content-type": string; - /** @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). */ - "webhook-config-secret": string; - "webhook-config-insecure-ssl": string | number; - /** - * Webhook Configuration - * @description Configuration object of the webhook - */ - "webhook-config": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - /** - * Simple webhook delivery - * @description Delivery made by a webhook, without request and response information. - */ - "hook-delivery-item": { - /** @description Unique identifier of the webhook delivery. */ - id: number; - /** @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). */ - guid: string; - /** - * Format: date-time - * @description Time when the webhook delivery occurred. - */ - delivered_at: string; - /** @description Whether the webhook delivery is a redelivery. */ - redelivery: boolean; - /** @description Time spent delivering. */ - duration: number; - /** @description Describes the response returned after attempting the delivery. */ - status: string; - /** @description Status code received when delivery was made. */ - status_code: number; - /** @description The event that triggered the delivery. */ - event: string; - /** @description The type of activity for the event that triggered the delivery. */ - action: string | null; - /** @description The id of the GitHub App installation associated with this event. */ - installation_id: number | null; - /** @description The id of the repository associated with this event. */ - repository_id: number | null; - }; - /** - * Scim Error - * @description Scim Error - */ - "scim-error": { - message?: string | null; - documentation_url?: string | null; - detail?: string | null; - status?: number; - scimType?: string | null; - schemas?: string[]; - }; - /** - * Validation Error - * @description Validation Error - */ - "validation-error": { - message: string; - documentation_url: string; - errors?: ({ - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - })[]; - }; - /** - * Webhook delivery - * @description Delivery made by a webhook. - */ - "hook-delivery": { - /** @description Unique identifier of the delivery. */ - id: number; - /** @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). */ - guid: string; - /** - * Format: date-time - * @description Time when the delivery was delivered. - */ - delivered_at: string; - /** @description Whether the delivery is a redelivery. */ - redelivery: boolean; - /** @description Time spent delivering. */ - duration: number; - /** @description Description of the status of the attempted delivery */ - status: string; - /** @description Status code received when delivery was made. */ - status_code: number; - /** @description The event that triggered the delivery. */ - event: string; - /** @description The type of activity for the event that triggered the delivery. */ - action: string | null; - /** @description The id of the GitHub App installation associated with this event. */ - installation_id: number | null; - /** @description The id of the repository associated with this event. */ - repository_id: number | null; - /** @description The URL target of the delivery. */ - url?: string; - request: { - /** @description The request headers sent with the webhook delivery. */ - headers: { - [key: string]: unknown; - } | null; - /** @description The webhook payload. */ - payload: { - [key: string]: unknown; - } | null; - }; - response: { - /** @description The response headers received when the delivery was made. */ - headers: { - [key: string]: unknown; - } | null; - /** @description The response payload received. */ - payload: string | null; - }; - }; - /** - * Enterprise - * @description An enterprise on GitHub. - */ - enterprise: { - /** @description A short description of the enterprise. */ - description?: string | null; - /** Format: uri */ - html_url: string; - /** - * Format: uri - * @description The enterprise's website URL. - */ - website_url?: string | null; - /** @description Unique identifier of the enterprise */ - id: number; - node_id: string; - /** @description The name of the enterprise. */ - name: string; - /** @description The slug url identifier for the enterprise. */ - slug: string; - /** Format: date-time */ - created_at: string | null; - /** Format: date-time */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }; - /** - * Integration Installation Request - * @description Request to install an integration on a target - */ - "integration-installation-request": { - /** @description Unique identifier of the request installation. */ - id: number; - node_id?: string; - account: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; - requester: components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - }; - /** - * App Permissions - * @description The permissions granted to the user access token. - * @example { - * "contents": "read", - * "issues": "read", - * "deployments": "write", - * "single_file": "read" - * } - */ - "app-permissions": { - /** - * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - * @enum {string} - */ - actions?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - * @enum {string} - */ - administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token for checks on code. - * @enum {string} - */ - checks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - * @enum {string} - */ - contents?: "read" | "write"; - /** - * @description The level of permission to grant the access token for deployments and deployment statuses. - * @enum {string} - */ - deployments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for managing repository environments. - * @enum {string} - */ - environments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - * @enum {string} - */ - issues?: "read" | "write"; - /** - * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - * @enum {string} - */ - metadata?: "read" | "write"; - /** - * @description The level of permission to grant the access token for packages published to GitHub Packages. - * @enum {string} - */ - packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - * @enum {string} - */ - pages?: "read" | "write"; - /** - * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - * @enum {string} - */ - pull_requests?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - * @enum {string} - */ - repository_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository projects, columns, and cards. - * @enum {string} - */ - repository_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token to view and manage secret scanning alerts. - * @enum {string} - */ - secret_scanning_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository secrets. - * @enum {string} - */ - secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - * @enum {string} - */ - security_events?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage just a single file. - * @enum {string} - */ - single_file?: "read" | "write"; - /** - * @description The level of permission to grant the access token for commit statuses. - * @enum {string} - */ - statuses?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage Dependabot alerts. - * @enum {string} - */ - vulnerability_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to update GitHub Actions workflow files. - * @enum {string} - */ - workflows?: "write"; - /** - * @description The level of permission to grant the access token for organization teams and members. - * @enum {string} - */ - members?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage access to an organization. - * @enum {string} - */ - organization_administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token for custom repository roles management. This property is in beta and is subject to change. - * @enum {string} - */ - organization_custom_roles?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage announcement banners for an organization. - * @enum {string} - */ - organization_announcement_banners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - * @enum {string} - */ - organization_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization. - * @enum {string} - */ - organization_personal_access_tokens?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. - * @enum {string} - */ - organization_personal_access_token_requests?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing an organization's plan. - * @enum {string} - */ - organization_plan?: "read"; - /** - * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - * @enum {string} - */ - organization_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token for organization packages published to GitHub Packages. - * @enum {string} - */ - organization_packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage organization secrets. - * @enum {string} - */ - organization_secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - * @enum {string} - */ - organization_self_hosted_runners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage users blocked by the organization. - * @enum {string} - */ - organization_user_blocking?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage team discussions and related comments. - * @enum {string} - */ - team_discussions?: "read" | "write"; - }; - /** - * Installation - * @description Installation - */ - installation: { - /** @description The ID of the installation. */ - id: number; - account: null | (components["schemas"]["simple-user"] | components["schemas"]["enterprise"]); - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** Format: uri */ - access_tokens_url: string; - /** Format: uri */ - repositories_url: string; - /** Format: uri */ - html_url: string; - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - target_type: string; - permissions: components["schemas"]["app-permissions"]; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - single_file_name: string | null; - has_multiple_single_files?: boolean; - single_file_paths?: string[]; - app_slug: string; - suspended_by: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - suspended_at: string | null; - contact_email?: string | null; - }; - /** - * License Simple - * @description License Simple - */ - "license-simple": { - key: string; - name: string; - /** Format: uri */ - url: string | null; - spdx_id: string | null; - node_id: string; - /** Format: uri */ - html_url?: string; - }; - /** - * Repository - * @description A repository on GitHub. - */ - repository: { - /** @description Unique identifier of the repository */ - id: number; - node_id: string; - /** @description The name of the repository. */ - name: string; - full_name: string; - license: null | components["schemas"]["license-simple"]; - organization?: null | components["schemas"]["simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** Format: uri */ - html_url: string; - description: string | null; - fork: boolean; - /** Format: uri */ - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - clone_url: string; - /** Format: uri */ - mirror_url: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - homepage: string | null; - language: string | null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size: number; - /** @description The default branch of the repository. */ - default_branch: string; - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @deprecated - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions?: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** Format: date-time */ - pushed_at: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: date-time */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - template_repository?: ({ - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + "/": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * GitHub API Root + * @description Get Hypermedia links to resources accessible in GitHub's REST API */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + get: operations["meta/root"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/advisories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description The default value for a squash merge commit message: + * List global security advisories + * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." + */ + get: operations["security-advisories/list-global-advisories"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/advisories/{ghsa_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a global security advisory + * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + get: operations["security-advisories/get-global-advisory"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description The default value for a merge commit title. + * Get the authenticated app + * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-authenticated"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app-manifests/{code}/conversions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a GitHub App from a manifest + * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + post: operations["apps/create-from-manifest"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/hook/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description The default value for a merge commit message. + * Get a webhook configuration for an app + * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - }) | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; - /** - * Installation Token - * @description Authentication token for a GitHub App installed on a user or org. - */ - "installation-token": { - token: string; - expires_at: string; - permissions?: components["schemas"]["app-permissions"]; - /** @enum {string} */ - repository_selection?: "all" | "selected"; - repositories?: components["schemas"]["repository"][]; - single_file?: string; - has_multiple_single_files?: boolean; - single_file_paths?: string[]; - }; - /** Scoped Installation */ - "scoped-installation": { - permissions: components["schemas"]["app-permissions"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - single_file_name: string | null; - has_multiple_single_files?: boolean; - single_file_paths?: string[]; - /** Format: uri */ - repositories_url: string; - account: components["schemas"]["simple-user"]; - }; - /** - * Authorization - * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. - */ - authorization: { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - user?: null | components["schemas"]["simple-user"]; - installation?: null | components["schemas"]["scoped-installation"]; - /** Format: date-time */ - expires_at: string | null; - }; - /** - * Simple Classroom Repository - * @description A GitHub repository view for Classroom - */ - "simple-classroom-repository": { - /** @description A unique identifier of the repository. */ - id: number; - /** @description The full, globally unique name of the repository. */ - full_name: string; - /** - * Format: uri - * @description The URL to view the repository on GitHub.com. - */ - html_url: string; - /** @description The GraphQL identifier of the repository. */ - node_id: string; - /** @description Whether the repository is private. */ - private: boolean; - /** @description The default branch for the repository. */ - default_branch: string; - }; - /** - * Organization Simple for Classroom - * @description A GitHub organization. - */ - "simple-classroom-organization": { - id: number; - login: string; - node_id: string; - /** Format: uri */ - html_url: string; - name: string | null; - avatar_url: string; - }; - /** - * Classroom - * @description A GitHub Classroom classroom - */ - classroom: { - /** @description Unique identifier of the classroom. */ - id: number; - /** @description The name of the classroom. */ - name: string; - /** @description Whether classroom is archived. */ - archived: boolean; - organization: components["schemas"]["simple-classroom-organization"]; - /** @description The URL of the classroom on GitHub Classroom. */ - url: string; - }; - /** - * Classroom Assignment - * @description A GitHub Classroom assignment - */ - "classroom-assignment": { - /** @description Unique identifier of the repository. */ - id: number; - /** @description Whether an accepted assignment creates a public repository. */ - public_repo: boolean; - /** @description Assignment title. */ - title: string; - /** - * @description Whether it's a group assignment or individual assignment. - * @enum {string} - */ - type: "individual" | "group"; - /** @description The link that a student can use to accept the assignment. */ - invite_link: string; - /** @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. */ - invitations_enabled: boolean; - /** @description Sluggified name of the assignment. */ - slug: string; - /** @description Whether students are admins on created repository when a student accepts the assignment. */ - students_are_repo_admins: boolean; - /** @description Whether feedback pull request will be created when a student accepts the assignment. */ - feedback_pull_requests_enabled: boolean; - /** @description The maximum allowable teams for the assignment. */ - max_teams: number | null; - /** @description The maximum allowable members per team. */ - max_members: number | null; - /** @description The selected editor for the assignment. */ - editor: string; - /** @description The number of students that have accepted the assignment. */ - accepted: number; - /** @description The number of students that have submitted the assignment. */ - submitted: number; - /** @description The number of students that have passed the assignment. */ - passing: number; - /** @description The programming language used in the assignment. */ - language: string; - /** - * Format: date-time - * @description The time at which the assignment is due. - */ - deadline: string | null; - starter_code_repository: components["schemas"]["simple-classroom-repository"]; - classroom: components["schemas"]["classroom"]; - }; - /** - * Simple Classroom User - * @description A GitHub user simplified for Classroom. - */ - "simple-classroom-user": { - id: number; - login: string; - /** Format: uri */ - avatar_url: string; - /** Format: uri */ - html_url: string; - }; - /** - * Simple Classroom - * @description A GitHub Classroom classroom - */ - "simple-classroom": { - /** @description Unique identifier of the classroom. */ - id: number; - /** @description The name of the classroom. */ - name: string; - /** @description Returns whether classroom is archived or not. */ - archived: boolean; - /** @description The url of the classroom on GitHub Classroom. */ - url: string; - }; - /** - * Simple Classroom Assignment - * @description A GitHub Classroom assignment - */ - "simple-classroom-assignment": { - /** @description Unique identifier of the repository. */ - id: number; - /** @description Whether an accepted assignment creates a public repository. */ - public_repo: boolean; - /** @description Assignment title. */ - title: string; - /** - * @description Whether it's a Group Assignment or Individual Assignment. - * @enum {string} - */ - type: "individual" | "group"; - /** @description The link that a student can use to accept the assignment. */ - invite_link: string; - /** @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. */ - invitations_enabled: boolean; - /** @description Sluggified name of the assignment. */ - slug: string; - /** @description Whether students are admins on created repository on accepted assignment. */ - students_are_repo_admins: boolean; - /** @description Whether feedback pull request will be created on assignment acceptance. */ - feedback_pull_requests_enabled: boolean; - /** @description The maximum allowable teams for the assignment. */ - max_teams?: number | null; - /** @description The maximum allowable members per team. */ - max_members?: number | null; - /** @description The selected editor for the assignment. */ - editor: string; - /** @description The number of students that have accepted the assignment. */ - accepted: number; - /** @description The number of students that have submitted the assignment. */ - submitted: number; - /** @description The number of students that have passed the assignment. */ - passing: number; - /** @description The programming language used in the assignment. */ - language: string; - /** - * Format: date-time - * @description The time at which the assignment is due. - */ - deadline: string | null; - classroom: components["schemas"]["simple-classroom"]; - }; - /** - * Classroom Accepted Assignment - * @description A GitHub Classroom accepted assignment - */ - "classroom-accepted-assignment": { - /** @description Unique identifier of the repository. */ - id: number; - /** @description Whether an accepted assignment has been submitted. */ - submitted: boolean; - /** @description Whether a submission passed. */ - passing: boolean; - /** @description Count of student commits. */ - commit_count: number; - /** @description Most recent grade. */ - grade: string; - students: components["schemas"]["simple-classroom-user"][]; - repository: components["schemas"]["simple-classroom-repository"]; - assignment: components["schemas"]["simple-classroom-assignment"]; - }; - /** - * Classroom Assignment Grade - * @description Grade for a student or groups GitHub Classroom assignment - */ - "classroom-assignment-grade": { - /** @description Name of the assignment */ - assignment_name: string; - /** @description URL of the assignment */ - assignment_url: string; - /** @description URL of the starter code for the assignment */ - starter_code_url: string; - /** @description GitHub username of the student */ - github_username: string; - /** @description Roster identifier of the student */ - roster_identifier: string; - /** @description Name of the student's assignment repository */ - student_repository_name: string; - /** @description URL of the student's assignment repository */ - student_repository_url: string; - /** @description Timestamp of the student's assignment submission */ - submission_timestamp: string; - /** @description Number of points awarded to the student */ - points_awarded: number; - /** @description Number of points available for the assignment */ - points_available: number; - /** @description If a group assignment, name of the group the student is in */ - group_name?: string; - }; - /** - * Code Of Conduct - * @description Code Of Conduct - */ - "code-of-conduct": { - key: string; - name: string; - /** Format: uri */ - url: string; - body?: string; - /** Format: uri */ - html_url: string | null; - }; - /** @description The security alert number. */ - readonly "alert-number": number; - /** @description Details for the vulnerable package. */ - readonly "dependabot-alert-package": { - /** @description The package's language or package management ecosystem. */ - readonly ecosystem: string; - /** @description The unique package name within its ecosystem. */ - readonly name: string; - }; - /** @description Details pertaining to one vulnerable version range for the advisory. */ - readonly "dependabot-alert-security-vulnerability": { - readonly package: components["schemas"]["dependabot-alert-package"]; - /** - * @description The severity of the vulnerability. - * @enum {string} - */ - readonly severity: "low" | "medium" | "high" | "critical"; - /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ - readonly vulnerable_version_range: string; - /** @description Details pertaining to the package version that patches this vulnerability. */ - readonly first_patched_version: { - /** @description The package version that patches this vulnerability. */ - readonly identifier: string; - } | null; - }; - /** @description Details for the GitHub Security Advisory. */ - readonly "dependabot-alert-security-advisory": { - /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ - readonly ghsa_id: string; - /** @description The unique CVE ID assigned to the advisory. */ - readonly cve_id: string | null; - /** @description A short, plain text summary of the advisory. */ - readonly summary: string; - /** @description A long-form Markdown-supported description of the advisory. */ - readonly description: string; - /** @description Vulnerable version range information for the advisory. */ - readonly vulnerabilities: readonly components["schemas"]["dependabot-alert-security-vulnerability"][]; - /** - * @description The severity of the advisory. - * @enum {string} - */ - readonly severity: "low" | "medium" | "high" | "critical"; - /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ - readonly cvss: { - /** @description The overall CVSS score of the advisory. */ - readonly score: number; - /** @description The full CVSS vector string for the advisory. */ - readonly vector_string: string | null; - }; - /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ - readonly cwes: readonly { - /** @description The unique CWE ID. */ - readonly cwe_id: string; - /** @description The short, plain text name of the CWE. */ - readonly name: string; - }[]; - /** @description Values that identify this advisory among security information sources. */ - readonly identifiers: readonly ({ - /** - * @description The type of advisory identifier. - * @enum {string} - */ - readonly type: "CVE" | "GHSA"; - /** @description The value of the advisory identifer. */ - readonly value: string; - })[]; - /** @description Links to additional advisory information. */ - readonly references: readonly { - /** - * Format: uri - * @description The URL of the reference. - */ - readonly url: string; - }[]; - /** - * Format: date-time - * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly published_at: string; - /** - * Format: date-time - * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly updated_at: string; - /** - * Format: date-time - * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly withdrawn_at: string | null; - }; - /** - * Format: uri - * @description The REST API URL of the alert resource. - */ - readonly "alert-url": string; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - readonly "alert-html-url": string; - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-created-at": string; - /** - * Format: date-time - * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-updated-at": string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-dismissed-at": string | null; - /** - * Format: date-time - * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-fixed-at": string | null; - /** - * Format: date-time - * @description The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-auto-dismissed-at": string | null; - /** - * Simple Repository - * @description A GitHub repository. - */ - "simple-repository": { - /** @description A unique identifier of the repository. */ - id: number; - /** @description The GraphQL identifier of the repository. */ - node_id: string; - /** @description The name of the repository. */ - name: string; - /** @description The full, globally unique, name of the repository. */ - full_name: string; - owner: components["schemas"]["simple-user"]; - /** @description Whether the repository is private. */ - private: boolean; - /** - * Format: uri - * @description The URL to view the repository on GitHub.com. - */ - html_url: string; - /** @description The repository description. */ - description: string | null; - /** @description Whether the repository is a fork. */ - fork: boolean; - /** - * Format: uri - * @description The URL to get more information about the repository from the GitHub API. - */ - url: string; - /** @description A template for the API URL to download the repository as an archive. */ - archive_url: string; - /** @description A template for the API URL to list the available assignees for issues in the repository. */ - assignees_url: string; - /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. */ - blobs_url: string; - /** @description A template for the API URL to get information about branches in the repository. */ - branches_url: string; - /** @description A template for the API URL to get information about collaborators of the repository. */ - collaborators_url: string; - /** @description A template for the API URL to get information about comments on the repository. */ - comments_url: string; - /** @description A template for the API URL to get information about commits on the repository. */ - commits_url: string; - /** @description A template for the API URL to compare two commits or refs. */ - compare_url: string; - /** @description A template for the API URL to get the contents of the repository. */ - contents_url: string; - /** - * Format: uri - * @description A template for the API URL to list the contributors to the repository. - */ - contributors_url: string; - /** - * Format: uri - * @description The API URL to list the deployments of the repository. - */ - deployments_url: string; - /** - * Format: uri - * @description The API URL to list the downloads on the repository. - */ - downloads_url: string; - /** - * Format: uri - * @description The API URL to list the events of the repository. - */ - events_url: string; - /** - * Format: uri - * @description The API URL to list the forks of the repository. - */ - forks_url: string; - /** @description A template for the API URL to get information about Git commits of the repository. */ - git_commits_url: string; - /** @description A template for the API URL to get information about Git refs of the repository. */ - git_refs_url: string; - /** @description A template for the API URL to get information about Git tags of the repository. */ - git_tags_url: string; - /** @description A template for the API URL to get information about issue comments on the repository. */ - issue_comment_url: string; - /** @description A template for the API URL to get information about issue events on the repository. */ - issue_events_url: string; - /** @description A template for the API URL to get information about issues on the repository. */ - issues_url: string; - /** @description A template for the API URL to get information about deploy keys on the repository. */ - keys_url: string; - /** @description A template for the API URL to get information about labels of the repository. */ - labels_url: string; - /** - * Format: uri - * @description The API URL to get information about the languages of the repository. - */ - languages_url: string; - /** - * Format: uri - * @description The API URL to merge branches in the repository. - */ - merges_url: string; - /** @description A template for the API URL to get information about milestones of the repository. */ - milestones_url: string; - /** @description A template for the API URL to get information about notifications on the repository. */ - notifications_url: string; - /** @description A template for the API URL to get information about pull requests on the repository. */ - pulls_url: string; - /** @description A template for the API URL to get information about releases on the repository. */ - releases_url: string; - /** - * Format: uri - * @description The API URL to list the stargazers on the repository. - */ - stargazers_url: string; - /** @description A template for the API URL to get information about statuses of a commit. */ - statuses_url: string; - /** - * Format: uri - * @description The API URL to list the subscribers on the repository. - */ - subscribers_url: string; - /** - * Format: uri - * @description The API URL to subscribe to notifications for this repository. - */ - subscription_url: string; - /** - * Format: uri - * @description The API URL to get information about tags on the repository. - */ - tags_url: string; - /** - * Format: uri - * @description The API URL to list the teams on the repository. - */ - teams_url: string; - /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. */ - trees_url: string; - /** - * Format: uri - * @description The API URL to list the hooks on the repository. - */ - hooks_url: string; - }; - /** @description A Dependabot alert. */ - "dependabot-alert-with-repository": { - number: components["schemas"]["alert-number"]; - /** - * @description The state of the Dependabot alert. - * @enum {string} - */ - state: "auto_dismissed" | "dismissed" | "fixed" | "open"; - /** @description Details for the vulnerable dependency. */ - dependency: { - readonly package?: components["schemas"]["dependabot-alert-package"]; - /** @description The full path to the dependency manifest file, relative to the root of the repository. */ - readonly manifest_path?: string; - /** - * @description The execution scope of the vulnerable dependency. - * @enum {string|null} + get: operations["apps/get-webhook-config-for-app"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a webhook configuration for an app + * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - readonly scope?: "development" | "runtime" | null; - }; - security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; - security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at: components["schemas"]["alert-updated-at"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_by: null | components["schemas"]["simple-user"]; - /** - * @description The reason that the alert was dismissed. - * @enum {string|null} - */ - dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; - /** @description An optional comment associated with the alert's dismissal. */ - dismissed_comment: string | null; - fixed_at: components["schemas"]["alert-fixed-at"]; - auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; - repository: components["schemas"]["simple-repository"]; - }; - /** - * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - * @enum {string} - */ - "secret-scanning-alert-state": "open" | "resolved"; - /** - * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - * @enum {string|null} - */ - "secret-scanning-alert-resolution": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | null; - "organization-secret-scanning-alert": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: null | components["schemas"]["alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - state?: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: string | null; - resolved_by?: null | components["schemas"]["simple-user"]; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** - * @description User-friendly name for the detected secret, matching the `secret_type`. - * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." - */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - repository?: components["schemas"]["simple-repository"]; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: string | null; - /** @description The comment that was optionally added when this alert was closed */ - resolution_comment?: string | null; - }; - /** - * Actor - * @description Actor - */ - actor: { - id: number; - login: string; - display_login?: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - avatar_url: string; - }; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - labels_url: string; - id: number; - node_id: string; - /** @description The number of the milestone. */ - number: number; - /** - * @description The state of the milestone. - * @default open - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - description: string | null; - creator: null | components["schemas"]["simple-user"]; - open_issues: number; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - closed_at: string | null; - /** Format: date-time */ - due_on: string | null; - }; - /** - * author_association - * @description How the author is associated with the repository. - * @enum {string} - */ - "author-association": "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** Reaction Rollup */ - "reaction-rollup": { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - "-1": number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; - /** - * Issue - * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. - */ - issue: { - /** Format: int64 */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** Format: uri */ - repository_url: string; - labels_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** @description Number uniquely identifying the issue within its repository */ - number: number; - /** @description State of the issue; either 'open' or 'closed' */ - state: string; - /** - * @description The reason for the current state - * @enum {string|null} - */ - state_reason?: "completed" | "reopened" | "not_planned" | null; - /** @description Title of the issue */ - title: string; - /** @description Contents of the issue */ - body?: string | null; - user: null | components["schemas"]["simple-user"]; - /** @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository */ - labels: (OneOf<[string, { - /** Format: int64 */ - id?: number; - node_id?: string; - /** Format: uri */ - url?: string; - name?: string; - description?: string | null; - color?: string | null; - default?: boolean; - }]>)[]; - assignee: null | components["schemas"]["simple-user"]; - assignees?: components["schemas"]["simple-user"][] | null; - milestone: null | components["schemas"]["milestone"]; - locked: boolean; - active_lock_reason?: string | null; - comments: number; - pull_request?: { - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - diff_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - patch_url: string | null; - /** Format: uri */ - url: string | null; - }; - /** Format: date-time */ - closed_at: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - draft?: boolean; - closed_by?: null | components["schemas"]["simple-user"]; - body_html?: string; - body_text?: string; - /** Format: uri */ - timeline_url?: string; - repository?: components["schemas"]["repository"]; - performed_via_github_app?: null | components["schemas"]["integration"]; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Issue Comment - * @description Comments provide a way for people to collaborate on an issue. - */ - "issue-comment": { - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** @description Contents of the issue comment */ - body?: string; - body_text?: string; - body_html?: string; - /** Format: uri */ - html_url: string; - user: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - issue_url: string; - author_association: components["schemas"]["author-association"]; - performed_via_github_app?: null | components["schemas"]["integration"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Event - * @description Event - */ - event: { - id: string; - type: string | null; - actor: components["schemas"]["actor"]; - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - org?: components["schemas"]["actor"]; - payload: { - action?: string; - issue?: components["schemas"]["issue"]; - comment?: components["schemas"]["issue-comment"]; - pages?: ({ - page_name?: string; - title?: string; - summary?: string | null; - action?: string; - sha?: string; - html_url?: string; - })[]; - }; - public: boolean; - /** Format: date-time */ - created_at: string | null; - }; - /** - * Link With Type - * @description Hypermedia Link with Type - */ - "link-with-type": { - href: string; - type: string; - }; - /** - * Feed - * @description Feed - */ - feed: { - timeline_url: string; - user_url: string; - current_user_public_url?: string; - current_user_url?: string; - current_user_actor_url?: string; - current_user_organization_url?: string; - current_user_organization_urls?: string[]; - security_advisories_url?: string; - /** @description A feed of discussions for a given repository. */ - repository_discussions_url?: string; - /** @description A feed of discussions for a given repository and category. */ - repository_discussions_category_url?: string; - _links: { - timeline: components["schemas"]["link-with-type"]; - user: components["schemas"]["link-with-type"]; - security_advisories?: components["schemas"]["link-with-type"]; - current_user?: components["schemas"]["link-with-type"]; - current_user_public?: components["schemas"]["link-with-type"]; - current_user_actor?: components["schemas"]["link-with-type"]; - current_user_organization?: components["schemas"]["link-with-type"]; - current_user_organizations?: components["schemas"]["link-with-type"][]; - repository_discussions?: components["schemas"]["link-with-type"]; - repository_discussions_category?: components["schemas"]["link-with-type"]; - }; - }; - /** - * Base Gist - * @description Base Gist - */ - "base-gist": { - /** Format: uri */ - url: string; - /** Format: uri */ - forks_url: string; - /** Format: uri */ - commits_url: string; - id: string; - node_id: string; - /** Format: uri */ - git_pull_url: string; - /** Format: uri */ - git_push_url: string; - /** Format: uri */ - html_url: string; - files: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - }; - }; - public: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - description: string | null; - comments: number; - user: null | components["schemas"]["simple-user"]; - /** Format: uri */ - comments_url: string; - owner?: components["schemas"]["simple-user"]; - truncated?: boolean; - forks?: unknown[]; - history?: unknown[]; - }; - /** - * Public User - * @description Public User - */ - "public-user": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - events_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - site_admin: boolean; - name: string | null; - company: string | null; - blog: string | null; - location: string | null; - /** Format: email */ - email: string | null; - hireable: boolean | null; - bio: string | null; - twitter_username?: string | null; - public_repos: number; - public_gists: number; - followers: number; - following: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - plan?: { - collaborators: number; - name: string; - space: number; - private_repos: number; - }; - /** Format: date-time */ - suspended_at?: string | null; - private_gists?: number; - total_private_repos?: number; - owned_private_repos?: number; - disk_usage?: number; - collaborators?: number; - }; - /** - * Gist History - * @description Gist History - */ - "gist-history": { - user?: null | components["schemas"]["simple-user"]; - version?: string; - /** Format: date-time */ - committed_at?: string; - change_status?: { - total?: number; - additions?: number; - deletions?: number; - }; - /** Format: uri */ - url?: string; - }; - /** - * Gist Simple - * @description Gist Simple - */ - "gist-simple": { - /** @deprecated */ - forks?: { - id?: string; - /** Format: uri */ - url?: string; - user?: components["schemas"]["public-user"]; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - }[] | null; - /** @deprecated */ - history?: components["schemas"]["gist-history"][] | null; - /** - * Gist - * @description Gist - */ - fork_of?: ({ - /** Format: uri */ - url: string; - /** Format: uri */ - forks_url: string; - /** Format: uri */ - commits_url: string; - id: string; - node_id: string; - /** Format: uri */ - git_pull_url: string; - /** Format: uri */ - git_push_url: string; - /** Format: uri */ - html_url: string; - files: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - }; - }; - public: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - description: string | null; - comments: number; - user: null | components["schemas"]["simple-user"]; - /** Format: uri */ - comments_url: string; - owner?: null | components["schemas"]["simple-user"]; - truncated?: boolean; - forks?: unknown[]; - history?: unknown[]; - }) | null; - url?: string; - forks_url?: string; - commits_url?: string; - id?: string; - node_id?: string; - git_pull_url?: string; - git_push_url?: string; - html_url?: string; - files?: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - truncated?: boolean; - content?: string; - } | null; - }; - public?: boolean; - created_at?: string; - updated_at?: string; - description?: string | null; - comments?: number; - user?: string | null; - comments_url?: string; - owner?: components["schemas"]["simple-user"]; - truncated?: boolean; - }; - /** - * Gist Comment - * @description A comment made to a gist. - */ - "gist-comment": { - id: number; - node_id: string; - /** Format: uri */ - url: string; - /** @description The comment text. */ - body: string; - user: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - author_association: components["schemas"]["author-association"]; - }; - /** - * Gist Commit - * @description Gist Commit - */ - "gist-commit": { - /** Format: uri */ - url: string; - version: string; - user: null | components["schemas"]["simple-user"]; - change_status: { - total?: number; - additions?: number; - deletions?: number; - }; - /** Format: date-time */ - committed_at: string; - }; - /** - * Gitignore Template - * @description Gitignore Template - */ - "gitignore-template": { - name: string; - source: string; - }; - /** - * License - * @description License - */ - license: { - key: string; - name: string; - spdx_id: string | null; - /** Format: uri */ - url: string | null; - node_id: string; - /** Format: uri */ - html_url: string; - description: string; - implementation: string; - permissions: string[]; - conditions: string[]; - limitations: string[]; - body: string; - featured: boolean; - }; - /** - * Marketplace Listing Plan - * @description Marketplace Listing Plan - */ - "marketplace-listing-plan": { - /** Format: uri */ - url: string; - /** Format: uri */ - accounts_url: string; - id: number; - number: number; - name: string; - description: string; - monthly_price_in_cents: number; - yearly_price_in_cents: number; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - has_free_trial: boolean; - unit_name: string | null; - state: string; - bullets: string[]; - }; - /** - * Marketplace Purchase - * @description Marketplace Purchase - */ - "marketplace-purchase": { - url: string; - type: string; - id: number; - login: string; - organization_billing_email?: string; - email?: string | null; - marketplace_pending_change?: ({ - is_installed?: boolean; - effective_date?: string; - unit_count?: number | null; - id?: number; - plan?: components["schemas"]["marketplace-listing-plan"]; - }) | null; - marketplace_purchase: { - billing_cycle?: string; - next_billing_date?: string | null; - is_installed?: boolean; - unit_count?: number | null; - on_free_trial?: boolean; - free_trial_ends_on?: string | null; - updated_at?: string; - plan?: components["schemas"]["marketplace-listing-plan"]; - }; - }; - /** - * Api Overview - * @description Api Overview - */ - "api-overview": { - verifiable_password_authentication: boolean; - ssh_key_fingerprints?: { - SHA256_RSA?: string; - SHA256_DSA?: string; - SHA256_ECDSA?: string; - SHA256_ED25519?: string; - }; - ssh_keys?: string[]; - hooks?: string[]; - github_enterprise_importer?: string[]; - web?: string[]; - api?: string[]; - git?: string[]; - packages?: string[]; - pages?: string[]; - importer?: string[]; - actions?: string[]; - dependabot?: string[]; - domains?: { - website?: string[]; - codespaces?: string[]; - copilot?: string[]; - packages?: string[]; - }; - }; - "security-and-analysis": ({ - advanced_security?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - /** @description Enable or disable Dependabot security updates for the repository. */ - dependabot_security_updates?: { - /** - * @description The enablement status of Dependabot security updates for the repository. - * @enum {string} + patch: operations["apps/update-webhook-config-for-app"]; + trace: never; + }; + "/app/hook/deliveries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deliveries for an app webhook + * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - status?: "enabled" | "disabled"; - }; - secret_scanning?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning_push_protection?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - }) | null; - /** - * Minimal Repository - * @description Minimal Repository - */ - "minimal-repository": { - id: number; - node_id: string; - name: string; - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** Format: uri */ - html_url: string; - description: string | null; - fork: boolean; - /** Format: uri */ - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url?: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url?: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - has_discussions?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time */ - pushed_at?: string | null; - /** Format: date-time */ - created_at?: string | null; - /** Format: date-time */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - role_name?: string; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - code_of_conduct?: components["schemas"]["code-of-conduct"]; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - forks?: number; - open_issues?: number; - watchers?: number; - allow_forking?: boolean; - web_commit_signoff_required?: boolean; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; - /** - * Thread - * @description Thread - */ - thread: { - id: string; - repository: components["schemas"]["minimal-repository"]; - subject: { - title: string; - url: string; - latest_comment_url: string; - type: string; - }; - reason: string; - unread: boolean; - updated_at: string; - last_read_at: string | null; - url: string; - subscription_url: string; - }; - /** - * Thread Subscription - * @description Thread Subscription - */ - "thread-subscription": { - subscribed: boolean; - ignored: boolean; - reason: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - thread_url?: string; - /** Format: uri */ - repository_url?: string; - }; - /** - * Organization Simple - * @description A GitHub organization. - */ - "organization-simple": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string | null; - }; - /** - * Organization Full - * @description Organization Full - */ - "organization-full": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string | null; - name?: string; - company?: string; - /** Format: uri */ - blog?: string; - location?: string; - /** Format: email */ - email?: string; - twitter_username?: string | null; - is_verified?: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - /** Format: uri */ - html_url: string; - type: string; - total_private_repos?: number; - owned_private_repos?: number; - private_gists?: number | null; - disk_usage?: number | null; - collaborators?: number | null; - /** Format: email */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - members_can_create_repositories?: boolean | null; - two_factor_requirement_enabled?: boolean | null; - members_allowed_repository_creation_type?: string; - members_can_create_public_repositories?: boolean; - members_can_create_private_repositories?: boolean; - members_can_create_internal_repositories?: boolean; - members_can_create_pages?: boolean; - members_can_create_public_pages?: boolean; - members_can_create_private_pages?: boolean; - members_can_fork_private_repositories?: boolean | null; - web_commit_signoff_required?: boolean; - /** - * @description Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - advanced_security_enabled_for_new_repositories?: boolean; - /** - * @description Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to - * this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - dependabot_alerts_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependabot security updates are automatically enabled for new repositories and repositories transferred - * to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - dependabot_security_updates_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependency graph is automatically enabled for new repositories and repositories transferred to this - * organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - dependency_graph_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning is automatically enabled for new repositories and repositories transferred to this - * organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - secret_scanning_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning push protection is automatically enabled for new repositories and repositories - * transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - */ - secret_scanning_push_protection_enabled_for_new_repositories?: boolean; - /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ - secret_scanning_push_protection_custom_link_enabled?: boolean; - /** @description An optional URL string to display to contributors who are blocked from pushing a secret. */ - secret_scanning_push_protection_custom_link?: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - archived_at: string | null; - }; - "actions-cache-usage-org-enterprise": { - /** @description The count of active caches across all repositories of an enterprise or an organization. */ - total_active_caches_count: number; - /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ - total_active_caches_size_in_bytes: number; - }; - /** - * Actions Cache Usage by repository - * @description GitHub Actions Cache Usage by repository. - */ - "actions-cache-usage-by-repository": { - /** @description The repository owner and name for the cache usage being shown. */ - full_name: string; - /** @description The sum of the size in bytes of all the active cache items in the repository. */ - active_caches_size_in_bytes: number; - /** @description The number of active caches in the repository. */ - active_caches_count: number; - }; - /** - * Actions OIDC Subject customization - * @description Actions OIDC Subject customization - */ - "oidc-custom-sub": { - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys: string[]; - }; - /** - * Empty Object - * @description An object without any properties. - */ - "empty-object": Record; - /** - * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. - * @enum {string} - */ - "enabled-repositories": "all" | "none" | "selected"; - /** - * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. - * @enum {string} - */ - "allowed-actions": "all" | "local_only" | "selected"; - /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ - "selected-actions-url": string; - "actions-organization-permissions": { - enabled_repositories: components["schemas"]["enabled-repositories"]; - /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ - selected_repositories_url?: string; - allowed_actions?: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; - }; - "selected-actions": { - /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed?: boolean; - /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ - verified_allowed?: boolean; - /** - * @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`. - * - * **Note**: The `patterns_allowed` setting only applies to public repositories. - */ - patterns_allowed?: string[]; - }; - /** - * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. - * @enum {string} - */ - "actions-default-workflow-permissions": "read" | "write"; - /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ - "actions-can-approve-pull-request-reviews": boolean; - "actions-get-default-workflow-permissions": { - default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; - can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; - }; - "actions-set-default-workflow-permissions": { - default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; - can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; - }; - /** - * Self hosted runner label - * @description A label for a self hosted runner - */ - "runner-label": { - /** @description Unique identifier of the label. */ - id?: number; - /** @description Name of the label. */ - name: string; - /** - * @description The type of label. Read-only labels are applied automatically when the runner is configured. - * @enum {string} - */ - type?: "read-only" | "custom"; - }; - /** - * Self hosted runners - * @description A self hosted runner - */ - runner: { - /** @description The id of the runner. */ - id: number; - /** @description The id of the runner group. */ - runner_group_id?: number; - /** @description The name of the runner. */ - name: string; - /** @description The Operating System of the runner. */ - os: string; - /** @description The status of the runner. */ - status: string; - busy: boolean; - labels: components["schemas"]["runner-label"][]; - }; - /** - * Runner Application - * @description Runner Application - */ - "runner-application": { - os: string; - architecture: string; - download_url: string; - filename: string; - /** @description A short lived bearer token used to download the runner, if needed. */ - temp_download_token?: string; - sha256_checksum?: string; - }; - /** - * Authentication Token - * @description Authentication Token - */ - "authentication-token": { - /** @description The token used for authentication */ - token: string; - /** - * Format: date-time - * @description The time this token expires - */ - expires_at: string; - permissions?: Record; - /** @description The repositories this token has access to */ - repositories?: components["schemas"]["repository"][]; - single_file?: string | null; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection?: "all" | "selected"; - }; - /** - * Actions Secret for an Organization - * @description Secrets for GitHub Actions for an organization. - */ - "organization-actions-secret": { - /** @description The name of the secret. */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description Visibility of a secret - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** Format: uri */ - selected_repositories_url?: string; - }; - /** - * ActionsPublicKey - * @description The public key used for setting Actions Secrets. - */ - "actions-public-key": { - /** @description The identifier for the key. */ - key_id: string; - /** @description The Base64 encoded public key. */ - key: string; - id?: number; - url?: string; - title?: string; - created_at?: string; - }; - /** - * Actions Variable for an Organization - * @description Organization variable for GitHub Actions. - */ - "organization-actions-variable": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; - /** - * Format: date-time - * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * @description Visibility of a variable - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** Format: uri */ - selected_repositories_url?: string; - }; - /** @description The name of the tool used to generate the code scanning analysis. */ - "code-scanning-analysis-tool-name": string; - /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ - "code-scanning-analysis-tool-guid": string | null; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - "code-scanning-alert-state-query": "open" | "closed" | "dismissed" | "fixed"; - /** - * @description Severity of a code scanning alert. - * @enum {string} - */ - "code-scanning-alert-severity": "critical" | "high" | "medium" | "low" | "warning" | "note" | "error"; - /** - * Format: uri - * @description The REST API URL for fetching the list of instances for an alert. - */ - readonly "alert-instances-url": string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - "code-scanning-alert-state": "open" | "dismissed" | "fixed"; - /** - * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. - * @enum {string|null} - */ - "code-scanning-alert-dismissed-reason": null | "false positive" | "won't fix" | "used in tests"; - /** @description The dismissal comment associated with the dismissal of the alert. */ - "code-scanning-alert-dismissed-comment": string | null; - "code-scanning-alert-rule": { - /** @description A unique identifier for the rule used to detect the alert. */ - id?: string | null; - /** @description The name of the rule used to detect the alert. */ - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity?: "none" | "note" | "warning" | "error" | null; - /** - * @description The security severity of the alert. - * @enum {string|null} - */ - security_severity_level?: "low" | "medium" | "high" | "critical" | null; - /** @description A short description of the rule used to detect the alert. */ - description?: string; - /** @description description of the rule used to detect the alert. */ - full_description?: string; - /** @description A set of tags applicable for the rule. */ - tags?: string[] | null; - /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - }; - /** @description The version of the tool used to generate the code scanning analysis. */ - "code-scanning-analysis-tool-version": string | null; - "code-scanning-analysis-tool": { - name?: components["schemas"]["code-scanning-analysis-tool-name"]; - version?: components["schemas"]["code-scanning-analysis-tool-version"]; - guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; - }; - /** - * @description The full Git reference, formatted as `refs/heads/`, - * `refs/pull//merge`, or `refs/pull//head`. - */ - "code-scanning-ref": string; - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - "code-scanning-analysis-analysis-key": string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - "code-scanning-alert-environment": string; - /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ - "code-scanning-analysis-category": string; - /** @description Describe a region within a file for the alert. */ - "code-scanning-alert-location": { - path?: string; - start_line?: number; - end_line?: number; - start_column?: number; - end_column?: number; - }; - /** - * @description A classification of the file. For example to identify it as generated. - * @enum {string|null} - */ - "code-scanning-alert-classification": "source" | "generated" | "test" | "library" | null; - "code-scanning-alert-instance": { - ref?: components["schemas"]["code-scanning-ref"]; - analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; - environment?: components["schemas"]["code-scanning-alert-environment"]; - category?: components["schemas"]["code-scanning-analysis-category"]; - state?: components["schemas"]["code-scanning-alert-state"]; - commit_sha?: string; - message?: { - text?: string; - }; - location?: components["schemas"]["code-scanning-alert-location"]; - html_url?: string; - /** - * @description Classifications that have been applied to the file that triggered the alert. - * For example identifying it as documentation, or a generated file. - */ - classifications?: components["schemas"]["code-scanning-alert-classification"][]; - }; - "code-scanning-organization-alert-items": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: null | components["schemas"]["simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - repository: components["schemas"]["simple-repository"]; - }; - /** - * Codespace machine - * @description A description of the machine powering a codespace. - */ - "codespace-machine": { - /** @description The name of the machine. */ - name: string; - /** @description The display name of the machine includes cores, memory, and storage. */ - display_name: string; - /** @description The operating system of the machine. */ - operating_system: string; - /** @description How much storage is available to the codespace. */ - storage_in_bytes: number; - /** @description How much memory is available to the codespace. */ - memory_in_bytes: number; - /** @description How many cores are available to the codespace. */ - cpus: number; - /** - * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. - * @enum {string|null} - */ - prebuild_availability: "none" | "ready" | "in_progress" | null; - }; - /** - * Codespace - * @description A codespace. - */ - codespace: { - id: number; - /** @description Automatically generated name of this codespace. */ - name: string; - /** @description Display name for this codespace. */ - display_name?: string | null; - /** @description UUID identifying this codespace's environment. */ - environment_id: string | null; - owner: components["schemas"]["simple-user"]; - billable_owner: components["schemas"]["simple-user"]; - repository: components["schemas"]["minimal-repository"]; - machine: null | components["schemas"]["codespace-machine"]; - /** @description Path to devcontainer.json from repo root used to create Codespace. */ - devcontainer_path?: string | null; - /** @description Whether the codespace was created from a prebuild. */ - prebuild: boolean | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: date-time - * @description Last known time this codespace was started. - */ - last_used_at: string; - /** - * @description State of this codespace. - * @enum {string} - */ - state: "Unknown" | "Created" | "Queued" | "Provisioning" | "Available" | "Awaiting" | "Unavailable" | "Deleted" | "Moved" | "Shutdown" | "Archived" | "Starting" | "ShuttingDown" | "Failed" | "Exporting" | "Updating" | "Rebuilding"; - /** - * Format: uri - * @description API URL for this codespace. - */ - url: string; - /** @description Details about the codespace's git repository. */ - git_status: { - /** @description The number of commits the local repository is ahead of the remote. */ - ahead?: number; - /** @description The number of commits the local repository is behind the remote. */ - behind?: number; - /** @description Whether the local repository has unpushed changes. */ - has_unpushed_changes?: boolean; - /** @description Whether the local repository has uncommitted changes. */ - has_uncommitted_changes?: boolean; - /** @description The current branch (or SHA if in detached HEAD state) of the local repository. */ - ref?: string; - }; - /** - * @description The initally assigned location of a new codespace. - * @enum {string} - */ - location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; - /** @description The number of minutes of inactivity after which this codespace will be automatically stopped. */ - idle_timeout_minutes: number | null; - /** - * Format: uri - * @description URL to access this codespace on the web. - */ - web_url: string; - /** - * Format: uri - * @description API URL to access available alternate machine types for this codespace. - */ - machines_url: string; - /** - * Format: uri - * @description API URL to start this codespace. - */ - start_url: string; - /** - * Format: uri - * @description API URL to stop this codespace. - */ - stop_url: string; - /** - * Format: uri - * @description API URL to publish this codespace to a new repository. - */ - publish_url?: string | null; - /** - * Format: uri - * @description API URL for the Pull Request associated with this codespace, if any. - */ - pulls_url: string | null; - recent_folders: string[]; - runtime_constraints?: { - /** @description The privacy settings a user can select from when forwarding a port. */ - allowed_port_privacy_settings?: string[] | null; - }; - /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ - pending_operation?: boolean | null; - /** @description Text to show user when codespace is disabled by a pending operation */ - pending_operation_disabled_reason?: string | null; - /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ - idle_timeout_notice?: string | null; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number | null; - /** - * Format: date-time - * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" - */ - retention_expires_at?: string | null; - /** @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. */ - last_known_stop_notice?: string | null; - }; - /** - * Codespaces Secret - * @description Secrets for a GitHub Codespace. - */ - "codespaces-org-secret": { - /** @description The name of the secret */ - name: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * @description The type of repositories in the organization that the secret is visible to - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @description The API URL at which the list of repositories this secret is visible to can be retrieved - */ - selected_repositories_url?: string; - }; - /** - * CodespacesPublicKey - * @description The public key used for setting Codespaces secrets. - */ - "codespaces-public-key": { - /** @description The identifier for the key. */ - key_id: string; - /** @description The Base64 encoded public key. */ - key: string; - id?: number; - url?: string; - title?: string; - created_at?: string; - }; - /** - * Copilot for Business Seat Breakdown - * @description The breakdown of Copilot for Business seats for the organization. - */ - "copilot-seat-breakdown": { - /** @description The total number of seats being billed for the organization as of the current billing cycle. */ - total?: number; - /** @description Seats added during the current billing cycle. */ - added_this_cycle?: number; - /** @description The number of seats that are pending cancellation at the end of the current billing cycle. */ - pending_cancellation?: number; - /** @description The number of seats that have been assigned to users that have not yet accepted an invitation to this organization. */ - pending_invitation?: number; - /** @description The number of seats that have used Copilot during the current billing cycle. */ - active_this_cycle?: number; - /** @description The number of seats that have not used Copilot during the current billing cycle. */ - inactive_this_cycle?: number; - }; - /** - * Copilot for Business Organization Details - * @description Information about the seat breakdown and policies set for an organization with a Copilot for Business subscription. - */ - "copilot-organization-details": { - seat_breakdown: components["schemas"]["copilot-seat-breakdown"]; - /** - * @description The organization policy for allowing or disallowing Copilot to make suggestions that match public code. - * @enum {string} - */ - public_code_suggestions: "allow" | "block" | "unconfigured" | "unknown"; - /** - * @description The mode of assigning new seats. - * @enum {string} - */ - seat_management_setting: "assign_all" | "assign_selected" | "disabled" | "unconfigured"; - [key: string]: unknown; - }; - /** - * Team Simple - * @description Groups of organization members that gives permissions on specified repositories. - */ - "team-simple": { - /** @description Unique identifier of the team */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - members_url: string; - /** @description Name of the team */ - name: string; - /** @description Description of the team */ - description: string | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @description The level of privacy this team should have */ - privacy?: string; - /** @description The notification setting the team has set */ - notification_setting?: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - repositories_url: string; - slug: string; - /** @description Distinguished Name (DN) that team maps to within LDAP environment */ - ldap_dn?: string; - }; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - id: number; - node_id: string; - name: string; - slug: string; - description: string | null; - privacy?: string; - notification_setting?: string; - permission: string; - permissions?: { - pull: boolean; - triage: boolean; - push: boolean; - maintain: boolean; - admin: boolean; - }; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - members_url: string; - /** Format: uri */ - repositories_url: string; - parent: null | components["schemas"]["team-simple"]; - }; - /** - * Organization - * @description GitHub account for managing multiple users, teams, and repositories - */ - organization: { - /** @description Unique login name of the organization */ - login: string; - /** - * Format: uri - * @description URL for the organization - */ - url: string; - id: number; - node_id: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string | null; - /** - * Format: uri - * @description Display blog url for the organization - */ - blog?: string; - /** Format: uri */ - html_url: string; - /** @description Display name for the organization */ - name?: string; - /** @description Display company name for the organization */ - company?: string; - /** @description Display location for the organization */ - location?: string; - /** - * Format: email - * @description Display email for the organization - */ - email?: string; - /** @description Specifies if organization projects are enabled for this org */ - has_organization_projects: boolean; - /** @description Specifies if repository projects are enabled for repositories that belong to this org */ - has_repository_projects: boolean; - is_verified?: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - type: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - plan?: { - name?: string; - space?: number; - private_repos?: number; - filled_seats?: number; - seats?: number; - }; - }; - /** - * Copilot for Business Seat Detail - * @description Information about a Copilot for Business seat assignment for a user, team, or organization. - */ - "copilot-seat-details": { - /** - * @description The assignee that has been granted access to GitHub Copilot. - * @enum {object} - */ - assignee: { - [key: string]: unknown; - } & (components["schemas"]["simple-user"] | components["schemas"]["team"] | components["schemas"]["organization"]); - /** @description The team that granted access to GitHub Copilot to the assignee. This will be null if the user was assigned a seat individually. */ - assigning_team?: components["schemas"]["team"] | null | Record; - /** - * Format: date - * @description The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle. - */ - pending_cancellation_date?: string | null; - /** - * Format: date-time - * @description Timestamp of user's last GitHub Copilot activity, in ISO 8601 format. - */ - last_activity_at?: string | null; - /** @description Last editor that was used by the user for a GitHub Copilot completion. */ - last_activity_editor?: string | null; - /** - * Format: date-time - * @description Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format. - */ - created_at: string; - /** - * Format: date-time - * @description Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format. - */ - updated_at?: string; - }; - /** - * Dependabot Secret for an Organization - * @description Secrets for GitHub Dependabot for an organization. - */ - "organization-dependabot-secret": { - /** @description The name of the secret. */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description Visibility of a secret - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** Format: uri */ - selected_repositories_url?: string; - }; - /** - * DependabotPublicKey - * @description The public key used for setting Dependabot Secrets. - */ - "dependabot-public-key": { - /** @description The identifier for the key. */ - key_id: string; - /** @description The Base64 encoded public key. */ - key: string; - }; - /** - * Package - * @description A software package - */ - package: { - /** @description Unique identifier of the package. */ - id: number; - /** @description The name of the package. */ - name: string; - /** @enum {string} */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - url: string; - html_url: string; - /** @description The number of versions of the package. */ - version_count: number; - /** @enum {string} */ - visibility: "private" | "public"; - owner?: null | components["schemas"]["simple-user"]; - repository?: null | components["schemas"]["minimal-repository"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Organization Invitation - * @description Organization Invitation - */ - "organization-invitation": { - id: number; - login: string | null; - email: string | null; - role: string; - created_at: string; - failed_at?: string | null; - failed_reason?: string | null; - inviter: components["schemas"]["simple-user"]; - team_count: number; - node_id: string; - invitation_teams_url: string; - invitation_source?: string; - }; - /** - * Org Hook - * @description Org Hook - */ - "org-hook": { - id: number; - /** Format: uri */ - url: string; - /** Format: uri */ - ping_url: string; - /** Format: uri */ - deliveries_url?: string; - name: string; - events: string[]; - active: boolean; - config: { - url?: string; - insecure_ssl?: string; - content_type?: string; - secret?: string; - }; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - type: string; - }; - /** - * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. - * @enum {string} - */ - "interaction-group": "existing_users" | "contributors_only" | "collaborators_only"; - /** - * Interaction Limits - * @description Interaction limit settings. - */ - "interaction-limit-response": { - limit: components["schemas"]["interaction-group"]; - origin: string; - /** Format: date-time */ - expires_at: string; - }; - /** - * @description The duration of the interaction restriction. Default: `one_day`. - * @enum {string} - */ - "interaction-expiry": "one_day" | "three_days" | "one_week" | "one_month" | "six_months"; - /** - * Interaction Restrictions - * @description Limit interactions to a specific type of user for a specified duration - */ - "interaction-limit": { - limit: components["schemas"]["interaction-group"]; - expiry?: components["schemas"]["interaction-expiry"]; - }; - /** - * Org Membership - * @description Org Membership - */ - "org-membership": { - /** Format: uri */ - url: string; - /** - * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. - * @enum {string} - */ - state: "active" | "pending"; - /** - * @description The user's membership type in the organization. - * @enum {string} - */ - role: "admin" | "member" | "billing_manager"; - /** Format: uri */ - organization_url: string; - organization: components["schemas"]["organization-simple"]; - user: null | components["schemas"]["simple-user"]; - permissions?: { - can_create_repository: boolean; - }; - }; - /** - * Migration - * @description A migration. - */ - migration: { - id: number; - owner: null | components["schemas"]["simple-user"]; - guid: string; - state: string; - lock_repositories: boolean; - exclude_metadata: boolean; - exclude_git_data: boolean; - exclude_attachments: boolean; - exclude_releases: boolean; - exclude_owner_projects: boolean; - org_metadata_only: boolean; - /** @description The repositories included in the migration. Only returned for export migrations. */ - repositories: components["schemas"]["repository"][]; - /** Format: uri */ - url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - node_id: string; - /** Format: uri */ - archive_url?: string; - /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ - exclude?: string[]; - }; - /** - * Package Version - * @description A version of a software package - */ - "package-version": { - /** @description Unique identifier of the package version. */ - id: number; - /** @description The name of the package version. */ - name: string; - url: string; - package_html_url: string; - html_url?: string; - license?: string; - description?: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - deleted_at?: string; - /** Package Version Metadata */ - metadata?: { - /** @enum {string} */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - /** Container Metadata */ - container?: { - tags: string[]; - }; - /** Docker Metadata */ - docker?: { - tag?: string[]; - }; - }; - }; - /** - * Simple Organization Programmatic Access Grant Request - * @description Minimal representation of an organization programmatic access grant request for enumerations - */ - "organization-programmatic-access-grant-request": { - /** @description Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. */ - id: number; - /** @description Reason for requesting access. */ - reason: string | null; - owner: components["schemas"]["simple-user"]; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. */ - repositories_url: string; - /** @description Permissions requested, categorized by type of permission. */ - permissions: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Date and time when the request for access was created. */ - created_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Organization Programmatic Access Grant - * @description Minimal representation of an organization programmatic access grant for enumerations - */ - "organization-programmatic-access-grant": { - /** @description Unique identifier of the fine-grained personal access token. The `pat_id` used to get details about an approved fine-grained personal access token. */ - id: number; - owner: components["schemas"]["simple-user"]; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ - repositories_url: string; - /** @description Permissions requested, categorized by type of permission. */ - permissions: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ - access_granted_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Project - * @description Projects are a way to organize columns and cards of work. - */ - project: { - /** Format: uri */ - owner_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - columns_url: string; - id: number; - node_id: string; - /** @description Name of the project */ - name: string; - /** @description Body of the project */ - body: string | null; - number: number; - /** @description State of the project; either 'open' or 'closed' */ - state: string; - creator: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. - * @enum {string} - */ - organization_permission?: "read" | "write" | "admin" | "none"; - /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ - private?: boolean; - }; - /** - * @description The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). - * @enum {string} - */ - "repository-rule-enforcement": "disabled" | "active" | "evaluate"; - /** - * Repository Ruleset Bypass Actor - * @description An actor that can bypass rules in a ruleset - */ - "repository-ruleset-bypass-actor": { - /** @description The ID of the actor that can bypass a ruleset */ - actor_id: number; - /** - * @description The type of actor that can bypass a ruleset - * @enum {string} - */ - actor_type: "RepositoryRole" | "Team" | "Integration" | "OrganizationAdmin"; - /** - * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. - * @enum {string} - */ - bypass_mode: "always" | "pull_request"; - }; - /** - * Repository ruleset conditions for ref names - * @description Parameters for a repository ruleset ref name condition - */ - "repository-ruleset-conditions": { - ref_name?: { - /** @description Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. */ - include?: string[]; - /** @description Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. */ - exclude?: string[]; - }; - }; - /** - * Repository ruleset conditions for repository names - * @description Parameters for a repository name condition - */ - "repository-ruleset-conditions-repository-name-target": { - repository_name: { - /** @description Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. */ - include?: string[]; - /** @description Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. */ - exclude?: string[]; - /** @description Whether renaming of target repositories is prevented. */ - protected?: boolean; - }; - }; - /** - * Repository ruleset conditions for repository IDs - * @description Parameters for a repository ID condition - */ - "repository-ruleset-conditions-repository-id-target": { - repository_id: { - /** @description The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. */ - repository_ids?: number[]; - }; - }; - /** - * Organization ruleset conditions - * @description Conditions for an organization ruleset. The conditions object should contain both `repository_name` and `ref_name` properties or both `repository_id` and `ref_name` properties. - */ - "org-ruleset-conditions": (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-name-target"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-id-target"]); - /** - * creation - * @description Only allow users with bypass permission to create matching refs. - */ - "repository-rule-creation": { - /** @enum {string} */ - type: "creation"; - }; - /** - * update - * @description Only allow users with bypass permission to update matching refs. - */ - "repository-rule-update": { - /** @enum {string} */ - type: "update"; - parameters?: { - /** @description Branch can pull changes from its upstream repository */ - update_allows_fetch_and_merge: boolean; - }; - }; - /** - * deletion - * @description Only allow users with bypass permissions to delete matching refs. - */ - "repository-rule-deletion": { - /** @enum {string} */ - type: "deletion"; - }; - /** - * required_linear_history - * @description Prevent merge commits from being pushed to matching refs. - */ - "repository-rule-required-linear-history": { - /** @enum {string} */ - type: "required_linear_history"; - }; - /** - * required_deployments - * @description Choose which environments must be successfully deployed to before refs can be merged into a branch that matches this rule. - */ - "repository-rule-required-deployments": { - /** @enum {string} */ - type: "required_deployments"; - parameters?: { - /** @description The environments that must be successfully deployed to before branches can be merged. */ - required_deployment_environments: string[]; - }; - }; - /** - * required_signatures - * @description Commits pushed to matching refs must have verified signatures. - */ - "repository-rule-required-signatures": { - /** @enum {string} */ - type: "required_signatures"; - }; - /** - * pull_request - * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. - */ - "repository-rule-pull-request": { - /** @enum {string} */ - type: "pull_request"; - parameters?: { - /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ - dismiss_stale_reviews_on_push: boolean; - /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ - require_code_owner_review: boolean; - /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ - require_last_push_approval: boolean; - /** @description The number of approving reviews that are required before a pull request can be merged. */ - required_approving_review_count: number; - /** @description All conversations on code must be resolved before a pull request can be merged. */ - required_review_thread_resolution: boolean; - }; - }; - /** - * StatusCheckConfiguration - * @description Required status check - */ - "repository-rule-params-status-check-configuration": { - /** @description The status check context name that must be present on the commit. */ - context: string; - /** @description The optional integration ID that this status check must originate from. */ - integration_id?: number; - }; - /** - * required_status_checks - * @description Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a ref that matches this rule after status checks have passed. - */ - "repository-rule-required-status-checks": { - /** @enum {string} */ - type: "required_status_checks"; - parameters?: { - /** @description Status checks that are required. */ - required_status_checks: components["schemas"]["repository-rule-params-status-check-configuration"][]; - /** @description Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. */ - strict_required_status_checks_policy: boolean; - }; - }; - /** - * non_fast_forward - * @description Prevent users with push access from force pushing to refs. - */ - "repository-rule-non-fast-forward": { - /** @enum {string} */ - type: "non_fast_forward"; - }; - /** - * commit_message_pattern - * @description Parameters to be used for the commit_message_pattern rule - */ - "repository-rule-commit-message-pattern": { - /** @enum {string} */ - type: "commit_message_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} + get: operations["apps/list-webhook-deliveries"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/hook/deliveries/{delivery_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a delivery for an app webhook + * @description Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * commit_author_email_pattern - * @description Parameters to be used for the commit_author_email_pattern rule - */ - "repository-rule-commit-author-email-pattern": { - /** @enum {string} */ - type: "commit_author_email_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} + get: operations["apps/get-webhook-delivery"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/hook/deliveries/{delivery_id}/attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Redeliver a delivery for an app webhook + * @description Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * committer_email_pattern - * @description Parameters to be used for the committer_email_pattern rule - */ - "repository-rule-committer-email-pattern": { - /** @enum {string} */ - type: "committer_email_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} + post: operations["apps/redeliver-webhook-delivery"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installation-requests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List installation requests for the authenticated app + * @description Lists all the pending installation requests for the authenticated GitHub App. */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * branch_name_pattern - * @description Parameters to be used for the branch_name_pattern rule - */ - "repository-rule-branch-name-pattern": { - /** @enum {string} */ - type: "branch_name_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} + get: operations["apps/list-installation-requests-for-authenticated-app"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List installations for the authenticated app + * @description You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * tag_name_pattern - * @description Parameters to be used for the tag_name_pattern rule - */ - "repository-rule-tag-name-pattern": { - /** @enum {string} */ - type: "tag_name_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} + get: operations["apps/list-installations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installations/{installation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an installation for the authenticated app + * @description Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * Repository Rule - * @description A repository rule. - */ - "repository-rule": components["schemas"]["repository-rule-creation"] | components["schemas"]["repository-rule-update"] | components["schemas"]["repository-rule-deletion"] | components["schemas"]["repository-rule-required-linear-history"] | components["schemas"]["repository-rule-required-deployments"] | components["schemas"]["repository-rule-required-signatures"] | components["schemas"]["repository-rule-pull-request"] | components["schemas"]["repository-rule-required-status-checks"] | components["schemas"]["repository-rule-non-fast-forward"] | components["schemas"]["repository-rule-commit-message-pattern"] | components["schemas"]["repository-rule-commit-author-email-pattern"] | components["schemas"]["repository-rule-committer-email-pattern"] | components["schemas"]["repository-rule-branch-name-pattern"] | components["schemas"]["repository-rule-tag-name-pattern"]; - /** - * Repository ruleset - * @description A set of rules to apply when specified conditions are met. - */ - "repository-ruleset": { - /** @description The ID of the ruleset */ - id: number; - /** @description The name of the ruleset */ - name: string; - /** - * @description The target of the ruleset - * @enum {string} - */ - target?: "branch" | "tag"; - /** - * @description The type of the source of the ruleset - * @enum {string} - */ - source_type?: "Repository" | "Organization"; - /** @description The name of the source */ - source: string; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - /** - * @description The bypass type of the user making the API request for this ruleset. This field is only returned when - * querying the repository-level endpoint. - * @enum {string} - */ - current_user_can_bypass?: "always" | "pull_requests_only" | "never"; - node_id?: string; - _links?: { - self?: { - /** @description The URL of the ruleset */ - href?: string; - }; - html?: { - /** @description The html URL of the ruleset */ - href?: string; - }; - }; - conditions?: components["schemas"]["repository-ruleset-conditions"] | components["schemas"]["org-ruleset-conditions"]; - rules?: components["schemas"]["repository-rule"][]; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - }; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - "repository-advisory-vulnerability": { - /** @description The name of the package affected by the vulnerability. */ - package: ({ - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name: string | null; - }) | null; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions: string[] | null; - }; - /** @description A credit given to a user for a repository security advisory. */ - "repository-advisory-credit": { - user: components["schemas"]["simple-user"]; - type: components["schemas"]["security-advisory-credit-types"]; - /** - * @description The state of the user's acceptance of the credit. - * @enum {string} - */ - state: "accepted" | "declined" | "pending"; - }; - /** @description A repository security advisory. */ - "repository-advisory": { - /** @description The GitHub Security Advisory ID. */ - ghsa_id: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id: string | null; - /** @description The API URL for the advisory. */ - url: string; - /** - * Format: uri - * @description The URL for the advisory. - */ - html_url: string; - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory entails. */ - description: string | null; - /** - * @description The severity of the advisory. - * @enum {string|null} - */ - severity: "critical" | "high" | "medium" | "low" | null; - /** @description The author of the advisory. */ - author: null; - /** @description The publisher of the advisory. */ - publisher: null; - identifiers: readonly ({ - /** - * @description The type of identifier. - * @enum {string} - */ - type: "CVE" | "GHSA"; - /** @description The identifier value. */ - value: string; - })[]; - /** - * @description The state of the advisory. - * @enum {string} - */ - state: "published" | "closed" | "withdrawn" | "draft" | "triage"; - /** - * Format: date-time - * @description The date and time of when the advisory was created, in ISO 8601 format. - */ - created_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was last updated, in ISO 8601 format. - */ - updated_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was published, in ISO 8601 format. - */ - published_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was closed, in ISO 8601 format. - */ - closed_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. - */ - withdrawn_at: string | null; - submission: { - /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ - readonly accepted: boolean; - } | null; - vulnerabilities: components["schemas"]["repository-advisory-vulnerability"][] | null; - cvss: ({ - /** @description The CVSS vector. */ - vector_string: string | null; - /** @description The CVSS score. */ - score: number | null; - }) | null; - cwes: (readonly { - /** @description The Common Weakness Enumeration (CWE) identifier. */ - cwe_id: string; - /** @description The name of the CWE. */ - name: string; - }[]) | null; - /** @description A list of only the CWE IDs. */ - cwe_ids: string[] | null; - credits: { - /** @description The username of the user credited. */ - login?: string; - type?: components["schemas"]["security-advisory-credit-types"]; - }[] | null; - credits_detailed: (readonly components["schemas"]["repository-advisory-credit"][]) | null; - /** @description A list of users that collaborate on the advisory. */ - collaborating_users: components["schemas"]["simple-user"][] | null; - /** @description A list of teams that collaborate on the advisory. */ - collaborating_teams: components["schemas"]["team"][] | null; - /** @description A temporary private fork of the advisory's repository for collaborating on a fix. */ - private_fork: null; - }; - "actions-billing-usage": { - /** @description The sum of the free and paid GitHub Actions minutes used. */ - total_minutes_used: number; - /** @description The total paid GitHub Actions minutes used. */ - total_paid_minutes_used: number; - /** @description The amount of free GitHub Actions minutes available. */ - included_minutes: number; - minutes_used_breakdown: { - /** @description Total minutes used on Ubuntu runner machines. */ - UBUNTU?: number; - /** @description Total minutes used on macOS runner machines. */ - MACOS?: number; - /** @description Total minutes used on Windows runner machines. */ - WINDOWS?: number; - /** @description Total minutes used on Ubuntu 4 core runner machines. */ - ubuntu_4_core?: number; - /** @description Total minutes used on Ubuntu 8 core runner machines. */ - ubuntu_8_core?: number; - /** @description Total minutes used on Ubuntu 16 core runner machines. */ - ubuntu_16_core?: number; - /** @description Total minutes used on Ubuntu 32 core runner machines. */ - ubuntu_32_core?: number; - /** @description Total minutes used on Ubuntu 64 core runner machines. */ - ubuntu_64_core?: number; - /** @description Total minutes used on Windows 4 core runner machines. */ - windows_4_core?: number; - /** @description Total minutes used on Windows 8 core runner machines. */ - windows_8_core?: number; - /** @description Total minutes used on Windows 16 core runner machines. */ - windows_16_core?: number; - /** @description Total minutes used on Windows 32 core runner machines. */ - windows_32_core?: number; - /** @description Total minutes used on Windows 64 core runner machines. */ - windows_64_core?: number; - /** @description Total minutes used on macOS 12 core runner machines. */ - macos_12_core?: number; - /** @description Total minutes used on all runner machines. */ - total?: number; - }; - }; - "packages-billing-usage": { - /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ - total_gigabytes_bandwidth_used: number; - /** @description Total paid storage space (GB) for GitHuub Packages. */ - total_paid_gigabytes_bandwidth_used: number; - /** @description Free storage space (GB) for GitHub Packages. */ - included_gigabytes_bandwidth: number; - }; - "combined-billing-usage": { - /** @description Numbers of days left in billing cycle. */ - days_left_in_billing_cycle: number; - /** @description Estimated storage space (GB) used in billing cycle. */ - estimated_paid_storage_for_month: number; - /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ - estimated_storage_for_month: number; - }; - /** - * Team Organization - * @description Team Organization - */ - "team-organization": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string | null; - name?: string; - company?: string; - /** Format: uri */ - blog?: string; - location?: string; - /** Format: email */ - email?: string; - twitter_username?: string | null; - is_verified?: boolean; - has_organization_projects: boolean; - has_repository_projects: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - /** Format: uri */ - html_url: string; - /** Format: date-time */ - created_at: string; - type: string; - total_private_repos?: number; - owned_private_repos?: number; - private_gists?: number | null; - disk_usage?: number | null; - collaborators?: number | null; - /** Format: email */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - members_can_create_repositories?: boolean | null; - two_factor_requirement_enabled?: boolean | null; - members_allowed_repository_creation_type?: string; - members_can_create_public_repositories?: boolean; - members_can_create_private_repositories?: boolean; - members_can_create_internal_repositories?: boolean; - members_can_create_pages?: boolean; - members_can_create_public_pages?: boolean; - members_can_create_private_pages?: boolean; - members_can_fork_private_repositories?: boolean | null; - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - archived_at: string | null; - }; - /** - * Full Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - "team-full": { - /** @description Unique identifier of the team */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - /** Format: uri */ - html_url: string; - /** @description Name of the team */ - name: string; - slug: string; - description: string | null; - /** - * @description The level of privacy this team should have - * @enum {string} - */ - privacy?: "closed" | "secret"; - /** - * @description The notification setting the team has set - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** @description Permission that the team will have for its repositories */ - permission: string; - members_url: string; - /** Format: uri */ - repositories_url: string; - parent?: null | components["schemas"]["team-simple"]; - members_count: number; - repos_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - organization: components["schemas"]["team-organization"]; - /** @description Distinguished Name (DN) that team maps to within LDAP environment */ - ldap_dn?: string; - }; - /** - * Team Discussion - * @description A team discussion is a persistent record of a free-form conversation within a team. - */ - "team-discussion": { - author: null | components["schemas"]["simple-user"]; - /** @description The main text of the discussion. */ - body: string; - body_html: string; - /** @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ - body_version: string; - comments_count: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - last_edited_at: string | null; - /** Format: uri */ - html_url: string; - node_id: string; - /** @description The unique sequence number of a team discussion. */ - number: number; - /** @description Whether or not this discussion should be pinned for easy retrieval. */ - pinned: boolean; - /** @description Whether or not this discussion should be restricted to team members and organization administrators. */ - private: boolean; - /** Format: uri */ - team_url: string; - /** @description The title of the discussion. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Team Discussion Comment - * @description A reply to a discussion within a team. - */ - "team-discussion-comment": { - author: null | components["schemas"]["simple-user"]; - /** @description The main text of the comment. */ - body: string; - body_html: string; - /** @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ - body_version: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - last_edited_at: string | null; - /** Format: uri */ - discussion_url: string; - /** Format: uri */ - html_url: string; - node_id: string; - /** @description The unique sequence number of a team discussion comment. */ - number: number; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Reaction - * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively. - */ - reaction: { - id: number; - node_id: string; - user: null | components["schemas"]["simple-user"]; - /** - * @description The reaction to use - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - /** Format: date-time */ - created_at: string; - }; - /** - * Team Membership - * @description Team Membership - */ - "team-membership": { - /** Format: uri */ - url: string; - /** - * @description The role of the user in the team. - * @default member - * @enum {string} - */ - role: "member" | "maintainer"; - /** - * @description The state of the user's membership in the team. - * @enum {string} - */ - state: "active" | "pending"; - }; - /** - * Team Project - * @description A team's access to a project. - */ - "team-project": { - owner_url: string; - url: string; - html_url: string; - columns_url: string; - id: number; - node_id: string; - name: string; - body: string | null; - number: number; - state: string; - creator: components["schemas"]["simple-user"]; - created_at: string; - updated_at: string; - /** @description The organization permission for this project. Only present when owner is an organization. */ - organization_permission?: string; - /** @description Whether the project is private or not. Only present when owner is an organization. */ - private?: boolean; - permissions: { - read: boolean; - write: boolean; - admin: boolean; - }; - }; - /** - * Team Repository - * @description A team's access to a repository. - */ - "team-repository": { - /** @description Unique identifier of the repository */ - id: number; - node_id: string; - /** @description The name of the repository. */ - name: string; - full_name: string; - license: null | components["schemas"]["license-simple"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - role_name?: string; - owner: null | components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** Format: uri */ - html_url: string; - description: string | null; - fork: boolean; - /** Format: uri */ - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - clone_url: string; - /** Format: uri */ - mirror_url: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - homepage: string | null; - language: string | null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - size: number; - /** @description The default branch of the repository. */ - default_branch: string; - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** Format: date-time */ - pushed_at: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: date-time */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - template_repository?: null | components["schemas"]["repository"]; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow forking this repo - * @default false - */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - }; - /** - * Project Card - * @description Project cards represent a scope of work. - */ - "project-card": { - /** Format: uri */ - url: string; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - creator: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @description Whether or not the card is archived */ - archived?: boolean; - column_name?: string; - project_id?: string; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: uri */ - project_url: string; - }; - /** - * Project Column - * @description Project columns contain cards of work. - */ - "project-column": { - /** Format: uri */ - url: string; - /** Format: uri */ - project_url: string; - /** Format: uri */ - cards_url: string; - /** @description The unique identifier of the project column */ - id: number; - node_id: string; - /** @description Name of the project column */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Project Collaborator Permission - * @description Project Collaborator Permission - */ - "project-collaborator-permission": { - permission: string; - user: null | components["schemas"]["simple-user"]; - }; - /** Rate Limit */ - "rate-limit": { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** - * Rate Limit Overview - * @description Rate Limit Overview - */ - "rate-limit-overview": { - resources: { - core: components["schemas"]["rate-limit"]; - graphql?: components["schemas"]["rate-limit"]; - search: components["schemas"]["rate-limit"]; - code_search?: components["schemas"]["rate-limit"]; - source_import?: components["schemas"]["rate-limit"]; - integration_manifest?: components["schemas"]["rate-limit"]; - code_scanning_upload?: components["schemas"]["rate-limit"]; - actions_runner_registration?: components["schemas"]["rate-limit"]; - scim?: components["schemas"]["rate-limit"]; - dependency_snapshots?: components["schemas"]["rate-limit"]; - }; - rate: components["schemas"]["rate-limit"]; - }; - /** - * Code Of Conduct Simple - * @description Code of Conduct Simple - */ - "code-of-conduct-simple": { - /** Format: uri */ - url: string; - key: string; - name: string; - /** Format: uri */ - html_url: string | null; - }; - /** - * Full Repository - * @description Full Repository - */ - "full-repository": { - id: number; - node_id: string; - name: string; - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** Format: uri */ - html_url: string; - description: string | null; - fork: boolean; - /** Format: uri */ - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - clone_url: string; - /** Format: uri */ - mirror_url: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - homepage: string | null; - language: string | null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size: number; - default_branch: string; - open_issues_count: number; - is_template?: boolean; - topics?: string[]; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_downloads: boolean; - has_discussions: boolean; - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - /** Format: date-time */ - pushed_at: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - allow_rebase_merge?: boolean; - template_repository?: null | components["schemas"]["repository"]; - temp_clone_token?: string | null; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_merge_commit?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_forking?: boolean; - web_commit_signoff_required?: boolean; - subscribers_count: number; - network_count: number; - license: null | components["schemas"]["license-simple"]; - organization?: null | components["schemas"]["simple-user"]; - parent?: components["schemas"]["repository"]; - source?: components["schemas"]["repository"]; - forks: number; - master_branch?: string; - open_issues: number; - watchers: number; - /** - * @description Whether anonymous git access is allowed. - * @default true - */ - anonymous_access_enabled?: boolean; - code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; - /** - * Artifact - * @description An artifact - */ - artifact: { - id: number; - node_id: string; - /** @description The name of the artifact. */ - name: string; - /** @description The size in bytes of the artifact. */ - size_in_bytes: number; - url: string; - archive_download_url: string; - /** @description Whether or not the artifact has expired. */ - expired: boolean; - /** Format: date-time */ - created_at: string | null; - /** Format: date-time */ - expires_at: string | null; - /** Format: date-time */ - updated_at: string | null; - workflow_run?: { - id?: number; - repository_id?: number; - head_repository_id?: number; - head_branch?: string; - head_sha?: string; - } | null; - }; - /** - * Repository actions caches - * @description Repository actions caches - */ - "actions-cache-list": { - /** @description Total number of caches */ - total_count: number; - /** @description Array of caches */ - actions_caches: { - id?: number; - ref?: string; - key?: string; - version?: string; - /** Format: date-time */ - last_accessed_at?: string; - /** Format: date-time */ - created_at?: string; - size_in_bytes?: number; - }[]; - }; - /** - * Job - * @description Information of a job execution in a workflow run - */ - job: { - /** @description The id of the job. */ - id: number; - /** @description The id of the associated workflow run. */ - run_id: number; - run_url: string; - /** @description Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. */ - run_attempt?: number; - node_id: string; - /** @description The SHA of the commit that is being run. */ - head_sha: string; - url: string; - html_url: string | null; - /** - * @description The phase of the lifecycle that the job is currently in. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** - * @description The outcome of the job. - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; - /** - * Format: date-time - * @description The time that the job created, in ISO 8601 format. - */ - created_at: string; - /** - * Format: date-time - * @description The time that the job started, in ISO 8601 format. - */ - started_at: string; - /** - * Format: date-time - * @description The time that the job finished, in ISO 8601 format. - */ - completed_at: string | null; - /** @description The name of the job. */ - name: string; - /** @description Steps in this job. */ - steps?: ({ - /** - * @description The phase of the lifecycle that the job is currently in. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** @description The outcome of the job. */ - conclusion: string | null; - /** @description The name of the job. */ - name: string; - number: number; - /** - * Format: date-time - * @description The time that the step started, in ISO 8601 format. - */ - started_at?: string | null; - /** - * Format: date-time - * @description The time that the job finished, in ISO 8601 format. - */ - completed_at?: string | null; - })[]; - check_run_url: string; - /** @description Labels for the workflow job. Specified by the "runs_on" attribute in the action's workflow file. */ - labels: string[]; - /** @description The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ - runner_id: number | null; - /** @description The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ - runner_name: string | null; - /** @description The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ - runner_group_id: number | null; - /** @description The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ - runner_group_name: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - /** @description The name of the current branch. */ - head_branch: string | null; - }; - /** - * Actions OIDC subject customization for a repository - * @description Actions OIDC subject customization for a repository - */ - "oidc-custom-sub-repo": { - /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ - use_default: boolean; - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys?: string[]; - }; - /** - * Actions Secret - * @description Set secrets for GitHub Actions. - */ - "actions-secret": { - /** @description The name of the secret. */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** Actions Variable */ - "actions-variable": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; - /** - * Format: date-time - * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - }; - /** @description Whether GitHub Actions is enabled on the repository. */ - "actions-enabled": boolean; - "actions-repository-permissions": { - enabled: components["schemas"]["actions-enabled"]; - allowed_actions?: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; - }; - "actions-workflow-access-to-repository": { - /** - * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the - * repository. - * - * `none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repos only. `organization` level access allows sharing across the organization. - * @enum {string} - */ - access_level: "none" | "user" | "organization"; - }; - /** - * Referenced workflow - * @description A workflow referenced/reused by the initial caller workflow - */ - "referenced-workflow": { - path: string; - sha: string; - ref?: string; - }; - /** Pull Request Minimal */ - "pull-request-minimal": { - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - base: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - }; - /** - * Simple Commit - * @description A commit. - */ - "simple-commit": { - /** @description SHA for the commit */ - id: string; - /** @description SHA for the commit's tree */ - tree_id: string; - /** @description Message describing the purpose of the commit */ - message: string; - /** - * Format: date-time - * @description Timestamp of the commit - */ - timestamp: string; - /** @description Information about the Git author */ - author: { - /** @description Name of the commit's author */ - name: string; - /** - * Format: email - * @description Git email address of the commit's author - */ - email: string; - } | null; - /** @description Information about the Git committer */ - committer: { - /** @description Name of the commit's committer */ - name: string; - /** - * Format: email - * @description Git email address of the commit's committer - */ - email: string; - } | null; - }; - /** - * Workflow Run - * @description An invocation of a workflow - */ - "workflow-run": { - /** @description The ID of the workflow run. */ - id: number; - /** @description The name of the workflow run. */ - name?: string | null; - node_id: string; - /** @description The ID of the associated check suite. */ - check_suite_id?: number; - /** @description The node ID of the associated check suite. */ - check_suite_node_id?: string; - head_branch: string | null; - /** @description The SHA of the head commit that points to the version of the workflow being run. */ - head_sha: string; - /** @description The full path of the workflow */ - path: string; - /** @description The auto incrementing run number for the workflow run. */ - run_number: number; - /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. */ - run_attempt?: number; - referenced_workflows?: components["schemas"]["referenced-workflow"][] | null; - event: string; - status: string | null; - conclusion: string | null; - /** @description The ID of the parent workflow. */ - workflow_id: number; - /** @description The URL to the workflow run. */ - url: string; - html_url: string; - /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the workflow run. The returned pull requests do not necessarily indicate pull requests that triggered the run. */ - pull_requests: components["schemas"]["pull-request-minimal"][] | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - actor?: components["schemas"]["simple-user"]; - triggering_actor?: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @description The start time of the latest run. Resets on re-run. - */ - run_started_at?: string; - /** @description The URL to the jobs for the workflow run. */ - jobs_url: string; - /** @description The URL to download the logs for the workflow run. */ - logs_url: string; - /** @description The URL to the associated check suite. */ - check_suite_url: string; - /** @description The URL to the artifacts for the workflow run. */ - artifacts_url: string; - /** @description The URL to cancel the workflow run. */ - cancel_url: string; - /** @description The URL to rerun the workflow run. */ - rerun_url: string; - /** @description The URL to the previous attempted run of this workflow, if one exists. */ - previous_attempt_url?: string | null; - /** @description The URL to the workflow. */ - workflow_url: string; - head_commit: null | components["schemas"]["simple-commit"]; - repository: components["schemas"]["minimal-repository"]; - head_repository: components["schemas"]["minimal-repository"]; - head_repository_id?: number; - /** @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. */ - display_title: string; - }; - /** - * Environment Approval - * @description An entry in the reviews log for environment deployments - */ - "environment-approvals": { - /** @description The list of environments that were approved or rejected */ - environments: { - /** @description The id of the environment. */ - id?: number; - node_id?: string; - /** @description The name of the environment. */ - name?: string; - url?: string; - html_url?: string; - /** - * Format: date-time - * @description The time that the environment was created, in ISO 8601 format. - */ - created_at?: string; - /** - * Format: date-time - * @description The time that the environment was last updated, in ISO 8601 format. - */ - updated_at?: string; - }[]; - /** - * @description Whether deployment to the environment(s) was approved or rejected or pending (with comments) - * @enum {string} - */ - state: "approved" | "rejected" | "pending"; - user: components["schemas"]["simple-user"]; - /** @description The comment submitted with the deployment review */ - comment: string; - }; - "review-custom-gates-comment-required": { - /** @description The name of the environment to approve or reject. */ - environment_name: string; - /** @description Comment associated with the pending deployment protection rule. **Required when state is not provided.** */ - comment: string; - }; - "review-custom-gates-state-required": { - /** @description The name of the environment to approve or reject. */ - environment_name: string; - /** - * @description Whether to approve or reject deployment to the specified environments. - * @enum {string} - */ - state: "approved" | "rejected"; - /** @description Optional comment to include with the review. */ - comment?: string; - }; - /** - * @description The type of reviewer. - * @enum {string} - */ - "deployment-reviewer-type": "User" | "Team"; - /** - * Pending Deployment - * @description Details of a deployment that is waiting for protection rules to pass - */ - "pending-deployment": { - environment: { - /** @description The id of the environment. */ - id?: number; - node_id?: string; - /** @description The name of the environment. */ - name?: string; - url?: string; - html_url?: string; - }; - /** @description The set duration of the wait timer */ - wait_timer: number; - /** - * Format: date-time - * @description The time that the wait timer began. - */ - wait_timer_started_at: string | null; - /** @description Whether the currently authenticated user can approve the deployment */ - current_user_can_approve: boolean; - /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers: ({ - type?: components["schemas"]["deployment-reviewer-type"]; - reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; - })[]; - }; - /** - * Deployment - * @description A request for a specific ref(branch,sha,tag) to be deployed - */ - deployment: { - /** Format: uri */ - url: string; - /** @description Unique identifier of the deployment */ - id: number; - node_id: string; - sha: string; - /** @description The ref to deploy. This can be a branch, tag, or sha. */ - ref: string; - /** @description Parameter to specify a task to execute */ - task: string; - payload: OneOf<[{ - [key: string]: unknown; - }, string]>; - original_environment?: string; - /** @description Name for the target deployment environment. */ - environment: string; - description: string | null; - creator: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - statuses_url: string; - /** Format: uri */ - repository_url: string; - /** @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. */ - transient_environment?: boolean; - /** @description Specifies if the given environment is one that end-users directly interact with. Default: false. */ - production_environment?: boolean; - performed_via_github_app?: null | components["schemas"]["integration"]; - }; - /** - * Workflow Run Usage - * @description Workflow Run Usage - */ - "workflow-run-usage": { - billable: { - UBUNTU?: { - total_ms: number; - jobs: number; - job_runs?: { - job_id: number; - duration_ms: number; - }[]; + get: operations["apps/get-installation"]; + put: never; + post: never; + /** + * Delete an installation for the authenticated app + * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/delete-installation"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installations/{installation_id}/access_tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create an installation access token for an app + * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/create-installation-access-token"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installations/{installation_id}/suspended": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Suspend an app installation + * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + put: operations["apps/suspend-installation"]; + post: never; + /** + * Unsuspend an app installation + * @description Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/unsuspend-installation"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/applications/{client_id}/grant": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete an app authorization + * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + delete: operations["apps/delete-authorization"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/applications/{client_id}/token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Check a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/check-token"]; + /** + * Delete an app token + * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. + */ + delete: operations["apps/delete-token"]; + options: never; + head: never; + /** + * Reset a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + patch: operations["apps/reset-token"]; + trace: never; + }; + "/applications/{client_id}/token/scoped": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a scoped access token + * @description Use a non-scoped user access token to create a repository scoped and/or permission scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/scope-token"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/apps/{app_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - MACOS?: { - total_ms: number; - jobs: number; - job_runs?: { - job_id: number; - duration_ms: number; - }[]; + /** + * Get an app + * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + get: operations["apps/get-by-slug"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/assignments/{assignment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - WINDOWS?: { - total_ms: number; - jobs: number; - job_runs?: { - job_id: number; - duration_ms: number; - }[]; + /** + * Get an assignment + * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-an-assignment"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/assignments/{assignment_id}/accepted_assignments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - }; - run_duration_ms?: number; - }; - /** - * Workflow - * @description A GitHub Actions workflow - */ - workflow: { - id: number; - node_id: string; - name: string; - path: string; - /** @enum {string} */ - state: "active" | "deleted" | "disabled_fork" | "disabled_inactivity" | "disabled_manually"; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - url: string; - html_url: string; - badge_url: string; - /** Format: date-time */ - deleted_at?: string; - }; - /** - * Workflow Usage - * @description Workflow Usage - */ - "workflow-usage": { - billable: { - UBUNTU?: { - total_ms?: number; - }; - MACOS?: { - total_ms?: number; - }; - WINDOWS?: { - total_ms?: number; - }; - }; - }; - /** - * Activity - * @description Activity - */ - activity: { - id: number; - node_id: string; - /** @description The SHA of the commit before the activity. */ - before: string; - /** @description The SHA of the commit after the activity. */ - after: string; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * Format: date-time - * @description The time when the activity occurred. - */ - timestamp: string; - /** - * @description The type of the activity that was performed. - * @enum {string} - */ - activity_type: "push" | "force_push" | "branch_deletion" | "branch_creation" | "pr_merge" | "merge_queue_merge"; - actor: null | components["schemas"]["simple-user"]; - }; - /** - * Autolink reference - * @description An autolink reference. - */ - autolink: { - id: number; - /** @description The prefix of a key that is linkified. */ - key_prefix: string; - /** @description A template for the target URL that is generated if a key was found. */ - url_template: string; - /** @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. */ - is_alphanumeric: boolean; - }; - /** - * Check Automated Security Fixes - * @description Check Automated Security Fixes - */ - "check-automated-security-fixes": { - /** @description Whether automated security fixes are enabled for the repository. */ - enabled: boolean; - /** @description Whether automated security fixes are paused for the repository. */ - paused: boolean; - }; - /** - * Protected Branch Required Status Check - * @description Protected Branch Required Status Check - */ - "protected-branch-required-status-check": { - url?: string; - enforcement_level?: string; - contexts: string[]; - checks: ({ - context: string; - app_id: number | null; - })[]; - contexts_url?: string; - strict?: boolean; - }; - /** - * Protected Branch Admin Enforced - * @description Protected Branch Admin Enforced - */ - "protected-branch-admin-enforced": { - /** Format: uri */ - url: string; - enabled: boolean; - }; - /** - * Protected Branch Pull Request Review - * @description Protected Branch Pull Request Review - */ - "protected-branch-pull-request-review": { - /** Format: uri */ - url?: string; - dismissal_restrictions?: { - /** @description The list of users with review dismissal access. */ - users?: components["schemas"]["simple-user"][]; - /** @description The list of teams with review dismissal access. */ - teams?: components["schemas"]["team"][]; - /** @description The list of apps with review dismissal access. */ - apps?: components["schemas"]["integration"][]; - url?: string; - users_url?: string; - teams_url?: string; - }; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of users allowed to bypass pull request requirements. */ - users?: components["schemas"]["simple-user"][]; - /** @description The list of teams allowed to bypass pull request requirements. */ - teams?: components["schemas"]["team"][]; - /** @description The list of apps allowed to bypass pull request requirements. */ - apps?: components["schemas"]["integration"][]; - }; - dismiss_stale_reviews: boolean; - require_code_owner_reviews: boolean; - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. - * @default false - */ - require_last_push_approval?: boolean; - }; - /** - * Branch Restriction Policy - * @description Branch Restriction Policy - */ - "branch-restriction-policy": { - /** Format: uri */ - url: string; - /** Format: uri */ - users_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri */ - apps_url: string; - users: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }[]; - teams: ({ - id?: number; - node_id?: string; - url?: string; - html_url?: string; - name?: string; - slug?: string; - description?: string | null; - privacy?: string; - notification_setting?: string; - permission?: string; - members_url?: string; - repositories_url?: string; - parent?: string | null; - })[]; - apps: { - id?: number; - slug?: string; - node_id?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - url?: string; - repos_url?: string; - events_url?: string; - hooks_url?: string; - issues_url?: string; - members_url?: string; - public_members_url?: string; - avatar_url?: string; - description?: string; - gravatar_id?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - name?: string; - description?: string; - external_url?: string; - html_url?: string; - created_at?: string; - updated_at?: string; - permissions?: { - metadata?: string; - contents?: string; - issues?: string; - single_file?: string; - }; - events?: string[]; - }[]; - }; - /** - * Branch Protection - * @description Branch Protection - */ - "branch-protection": { - url?: string; - enabled?: boolean; - required_status_checks?: components["schemas"]["protected-branch-required-status-check"]; - enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; - required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; - restrictions?: components["schemas"]["branch-restriction-policy"]; - required_linear_history?: { - enabled?: boolean; - }; - allow_force_pushes?: { - enabled?: boolean; - }; - allow_deletions?: { - enabled?: boolean; - }; - block_creations?: { - enabled?: boolean; - }; - required_conversation_resolution?: { - enabled?: boolean; - }; - name?: string; - protection_url?: string; - required_signatures?: { - /** Format: uri */ - url: string; - enabled: boolean; - }; - /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ - lock_branch?: { - /** @default false */ - enabled?: boolean; - }; - /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ - allow_fork_syncing?: { - /** @default false */ - enabled?: boolean; - }; - }; - /** - * Short Branch - * @description Short Branch - */ - "short-branch": { - name: string; - commit: { - sha: string; - /** Format: uri */ - url: string; - }; - protected: boolean; - protection?: components["schemas"]["branch-protection"]; - /** Format: uri */ - protection_url?: string; - }; - /** - * Git User - * @description Metaproperties for Git author/committer information. - */ - "git-user": { - name?: string; - email?: string; - date?: string; - }; - /** Verification */ - verification: { - verified: boolean; - reason: string; - payload: string | null; - signature: string | null; - }; - /** - * Diff Entry - * @description Diff Entry - */ - "diff-entry": { - sha: string; - filename: string; - /** @enum {string} */ - status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged"; - additions: number; - deletions: number; - changes: number; - /** Format: uri */ - blob_url: string; - /** Format: uri */ - raw_url: string; - /** Format: uri */ - contents_url: string; - patch?: string; - previous_filename?: string; - }; - /** - * Commit - * @description Commit - */ - commit: { - /** Format: uri */ - url: string; - sha: string; - node_id: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - comments_url: string; - commit: { - /** Format: uri */ - url: string; - author: null | components["schemas"]["git-user"]; - committer: null | components["schemas"]["git-user"]; - message: string; - comment_count: number; - tree: { - sha: string; - /** Format: uri */ - url: string; - }; - verification?: components["schemas"]["verification"]; - }; - author: null | components["schemas"]["simple-user"]; - committer: null | components["schemas"]["simple-user"]; - parents: { - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url?: string; - }[]; - stats?: { - additions?: number; - deletions?: number; - total?: number; - }; - files?: components["schemas"]["diff-entry"][]; - }; - /** - * Branch With Protection - * @description Branch With Protection - */ - "branch-with-protection": { - name: string; - commit: components["schemas"]["commit"]; - _links: { - html: string; - /** Format: uri */ - self: string; - }; - protected: boolean; - protection: components["schemas"]["branch-protection"]; - /** Format: uri */ - protection_url: string; - pattern?: string; - required_approving_review_count?: number; - }; - /** - * Status Check Policy - * @description Status Check Policy - */ - "status-check-policy": { - /** Format: uri */ - url: string; - strict: boolean; - contexts: string[]; - checks: ({ - context: string; - app_id: number | null; - })[]; - /** Format: uri */ - contexts_url: string; - }; - /** - * Protected Branch - * @description Branch protections protect branches - */ - "protected-branch": { - /** Format: uri */ - url: string; - required_status_checks?: components["schemas"]["status-check-policy"]; - required_pull_request_reviews?: { - /** Format: uri */ - url: string; - dismiss_stale_reviews?: boolean; - require_code_owner_reviews?: boolean; - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. - * @default false - */ - require_last_push_approval?: boolean; - dismissal_restrictions?: { - /** Format: uri */ - url: string; - /** Format: uri */ - users_url: string; - /** Format: uri */ - teams_url: string; - users: components["schemas"]["simple-user"][]; - teams: components["schemas"]["team"][]; - apps?: components["schemas"]["integration"][]; - }; - bypass_pull_request_allowances?: { - users: components["schemas"]["simple-user"][]; - teams: components["schemas"]["team"][]; - apps?: components["schemas"]["integration"][]; - }; - }; - required_signatures?: { - /** Format: uri */ - url: string; - enabled: boolean; - }; - enforce_admins?: { - /** Format: uri */ - url: string; - enabled: boolean; - }; - required_linear_history?: { - enabled: boolean; - }; - allow_force_pushes?: { - enabled: boolean; - }; - allow_deletions?: { - enabled: boolean; - }; - restrictions?: components["schemas"]["branch-restriction-policy"]; - required_conversation_resolution?: { - enabled?: boolean; - }; - block_creations?: { - enabled: boolean; - }; - /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ - lock_branch?: { - /** @default false */ - enabled?: boolean; - }; - /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ - allow_fork_syncing?: { - /** @default false */ - enabled?: boolean; - }; - }; - /** - * Deployment - * @description A deployment created as the result of an Actions check run from a workflow that references an environment - */ - "deployment-simple": { - /** Format: uri */ - url: string; - /** @description Unique identifier of the deployment */ - id: number; - node_id: string; - /** @description Parameter to specify a task to execute */ - task: string; - original_environment?: string; - /** @description Name for the target deployment environment. */ - environment: string; - description: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - statuses_url: string; - /** Format: uri */ - repository_url: string; - /** @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. */ - transient_environment?: boolean; - /** @description Specifies if the given environment is one that end-users directly interact with. Default: false. */ - production_environment?: boolean; - performed_via_github_app?: null | components["schemas"]["integration"]; - }; - /** - * CheckRun - * @description A check performed on the code of a given code change - */ - "check-run": { - /** @description The id of the check. */ - id: number; - /** @description The SHA of the commit that is being checked. */ - head_sha: string; - node_id: string; - external_id: string | null; - url: string; - html_url: string | null; - details_url: string | null; - /** - * @description The phase of the lifecycle that the check is currently in. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; - /** Format: date-time */ - started_at: string | null; - /** Format: date-time */ - completed_at: string | null; - output: { - title: string | null; - summary: string | null; - text: string | null; - annotations_count: number; - /** Format: uri */ - annotations_url: string; - }; - /** @description The name of the check. */ - name: string; - check_suite: { - id: number; - } | null; - app: null | components["schemas"]["integration"]; - /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the check. The returned pull requests do not necessarily indicate pull requests that triggered the check. */ - pull_requests: components["schemas"]["pull-request-minimal"][]; - deployment?: components["schemas"]["deployment-simple"]; - }; - /** - * Check Annotation - * @description Check Annotation - */ - "check-annotation": { - path: string; - start_line: number; - end_line: number; - start_column: number | null; - end_column: number | null; - annotation_level: string | null; - title: string | null; - message: string | null; - raw_details: string | null; - blob_href: string; - }; - /** - * CheckSuite - * @description A suite of checks performed on the code of a given code change - */ - "check-suite": { - id: number; - node_id: string; - head_branch: string | null; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - /** @enum {string|null} */ - status: "queued" | "in_progress" | "completed" | null; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "startup_failure" | "stale" | null; - url: string | null; - before: string | null; - after: string | null; - pull_requests: components["schemas"]["pull-request-minimal"][] | null; - app: null | components["schemas"]["integration"]; - repository: components["schemas"]["minimal-repository"]; - /** Format: date-time */ - created_at: string | null; - /** Format: date-time */ - updated_at: string | null; - head_commit: components["schemas"]["simple-commit"]; - latest_check_runs_count: number; - check_runs_url: string; - rerequestable?: boolean; - runs_rerequestable?: boolean; - }; - /** - * Check Suite Preference - * @description Check suite configuration preferences for a repository. - */ - "check-suite-preference": { - preferences: { - auto_trigger_checks?: { - app_id: number; - setting: boolean; - }[]; - }; - repository: components["schemas"]["minimal-repository"]; - }; - "code-scanning-alert-rule-summary": { - /** @description A unique identifier for the rule used to detect the alert. */ - id?: string | null; - /** @description The name of the rule used to detect the alert. */ - name?: string; - /** @description A set of tags applicable for the rule. */ - tags?: string[] | null; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity?: "none" | "note" | "warning" | "error" | null; - /** @description A short description of the rule used to detect the alert. */ - description?: string; - }; - "code-scanning-alert-items": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: null | components["schemas"]["simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule-summary"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - }; - "code-scanning-alert": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: null | components["schemas"]["simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - }; - /** - * @description Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`. - * @enum {string} - */ - "code-scanning-alert-set-state": "open" | "dismissed"; - /** @description An identifier for the upload. */ - "code-scanning-analysis-sarif-id": string; - /** @description The SHA of the commit to which the analysis you are uploading relates. */ - "code-scanning-analysis-commit-sha": string; - /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ - "code-scanning-analysis-environment": string; - /** - * Format: date-time - * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "code-scanning-analysis-created-at": string; - /** - * Format: uri - * @description The REST API URL of the analysis resource. - */ - readonly "code-scanning-analysis-url": string; - "code-scanning-analysis": { - ref: components["schemas"]["code-scanning-ref"]; - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; - environment: components["schemas"]["code-scanning-analysis-environment"]; - category?: components["schemas"]["code-scanning-analysis-category"]; - error: string; - created_at: components["schemas"]["code-scanning-analysis-created-at"]; - /** @description The total number of results in the analysis. */ - results_count: number; - /** @description The total number of rules used in the analysis. */ - rules_count: number; - /** @description Unique identifier for this analysis. */ - id: number; - url: components["schemas"]["code-scanning-analysis-url"]; - sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - deletable: boolean; - /** @description Warning generated when processing the analysis */ - warning: string; - }; - /** - * Analysis deletion - * @description Successful deletion of a code scanning analysis - */ - "code-scanning-analysis-deletion": { - /** - * Format: uri - * @description Next deletable analysis in chain, without last analysis deletion confirmation - */ - next_analysis_url: string | null; - /** - * Format: uri - * @description Next deletable analysis in chain, with last analysis deletion confirmation - */ - confirm_delete_url: string | null; - }; - /** - * CodeQL Database - * @description A CodeQL database. - */ - "code-scanning-codeql-database": { - /** @description The ID of the CodeQL database. */ - id: number; - /** @description The name of the CodeQL database. */ - name: string; - /** @description The language of the CodeQL database. */ - language: string; - uploader: components["schemas"]["simple-user"]; - /** @description The MIME type of the CodeQL database file. */ - content_type: string; - /** @description The size of the CodeQL database file in bytes. */ - size: number; - /** - * Format: date-time - * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * Format: uri - * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. - */ - url: string; - }; - /** @description Configuration for code scanning default setup. */ - "code-scanning-default-setup": { - /** - * @description Code scanning default setup has been configured or not. - * @enum {string} - */ - state?: "configured" | "not-configured"; - /** @description Languages to be analysed. */ - languages?: ("c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "javascript" | "python" | "ruby" | "typescript" | "swift")[]; - /** - * @description CodeQL query suite to be used. - * @enum {string} - */ - query_suite?: "default" | "extended"; - /** - * Format: date-time - * @description Timestamp of latest configuration update. - */ - updated_at?: string | null; - /** - * @description The frequency of the periodic analysis. - * @enum {string|null} - */ - schedule?: "weekly" | null; - }; - /** @description Configuration for code scanning default setup. */ - "code-scanning-default-setup-update": { - /** - * @description Whether code scanning default setup has been configured or not. - * @enum {string} - */ - state: "configured" | "not-configured"; - /** - * @description CodeQL query suite to be used. - * @enum {string} - */ - query_suite?: "default" | "extended"; - /** @description CodeQL languages to be analyzed. Supported values are: `c-cpp`, `csharp`, `go`, `java-kotlin`, `javascript-typescript`, `python`, `ruby`, and `swift`. */ - languages?: ("c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "python" | "ruby" | "swift")[]; - }; - /** - * @description You can use `run_url` to track the status of the run. This includes a property status and conclusion. - * You should not rely on this always being an actions workflow run object. - */ - "code-scanning-default-setup-update-response": { - /** @description ID of the corresponding run. */ - run_id?: number; - /** @description URL of the corresponding run. */ - run_url?: string; - }; - /** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ - "code-scanning-analysis-sarif-file": string; - "code-scanning-sarifs-receipt": { - id?: components["schemas"]["code-scanning-analysis-sarif-id"]; - /** - * Format: uri - * @description The REST API URL for checking the status of the upload. - */ - url?: string; - }; - "code-scanning-sarifs-status": { - /** - * @description `pending` files have not yet been processed, while `complete` means results from the SARIF have been stored. `failed` files have either not been processed at all, or could only be partially processed. - * @enum {string} - */ - processing_status?: "pending" | "complete" | "failed"; - /** - * Format: uri - * @description The REST API URL for getting the analyses associated with the upload. - */ - analyses_url?: string | null; - /** @description Any errors that ocurred during processing of the delivery. */ - errors?: (readonly string[]) | null; - }; - /** - * CODEOWNERS errors - * @description A list of errors found in a repo's CODEOWNERS file - */ - "codeowners-errors": { - errors: ({ - /** @description The line number where this errors occurs. */ - line: number; - /** @description The column number where this errors occurs. */ - column: number; - /** @description The contents of the line where the error occurs. */ - source?: string; - /** @description The type of error. */ - kind: string; - /** @description Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. */ - suggestion?: string | null; - /** @description A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). */ - message: string; - /** @description The path of the file where the error occured. */ - path: string; - })[]; - }; - /** - * Codespaces Secret - * @description Set repository secrets for GitHub Codespaces. - */ - "repo-codespaces-secret": { - /** @description The name of the secret. */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Collaborator - * @description Collaborator - */ - collaborator: { - login: string; - id: number; - email?: string | null; - name?: string | null; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - events_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - site_admin: boolean; - permissions?: { - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - admin: boolean; - }; - role_name: string; - }; - /** - * Repository Invitation - * @description Repository invitations let you manage who you collaborate with. - */ - "repository-invitation": { - /** @description Unique identifier of the repository invitation. */ - id: number; - repository: components["schemas"]["minimal-repository"]; - invitee: null | components["schemas"]["simple-user"]; - inviter: null | components["schemas"]["simple-user"]; - /** - * @description The permission associated with the invitation. - * @enum {string} - */ - permissions: "read" | "write" | "admin" | "triage" | "maintain"; - /** Format: date-time */ - created_at: string; - /** @description Whether or not the invitation has expired */ - expired?: boolean; - /** @description URL for the repository invitation */ - url: string; - html_url: string; - node_id: string; - }; - /** - * Repository Collaborator Permission - * @description Repository Collaborator Permission - */ - "repository-collaborator-permission": { - permission: string; - role_name: string; - user: null | components["schemas"]["collaborator"]; - }; - /** - * Commit Comment - * @description Commit Comment - */ - "commit-comment": { - /** Format: uri */ - html_url: string; - /** Format: uri */ - url: string; - id: number; - node_id: string; - body: string; - path: string | null; - position: number | null; - line: number | null; - commit_id: string; - user: null | components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Branch Short - * @description Branch Short - */ - "branch-short": { - name: string; - commit: { - sha: string; - url: string; - }; - protected: boolean; - }; - /** - * Link - * @description Hypermedia Link - */ - link: { - href: string; - }; - /** - * Auto merge - * @description The status of auto merging a pull request. - */ - "auto-merge": ({ - enabled_by: components["schemas"]["simple-user"]; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - /** @description Title for the merge commit message. */ - commit_title: string; - /** @description Commit message for the merge commit. */ - commit_message: string; - }) | null; - /** - * Pull Request Simple - * @description Pull Request Simple - */ - "pull-request-simple": { - /** Format: uri */ - url: string; - id: number; - node_id: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - diff_url: string; - /** Format: uri */ - patch_url: string; - /** Format: uri */ - issue_url: string; - /** Format: uri */ - commits_url: string; - /** Format: uri */ - review_comments_url: string; - review_comment_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - statuses_url: string; - number: number; - state: string; - locked: boolean; - title: string; - user: null | components["schemas"]["simple-user"]; - body: string | null; - labels: { - /** Format: int64 */ - id: number; - node_id: string; - url: string; - name: string; - description: string; - color: string; - default: boolean; - }[]; - milestone: null | components["schemas"]["milestone"]; - active_lock_reason?: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - closed_at: string | null; - /** Format: date-time */ - merged_at: string | null; - merge_commit_sha: string | null; - assignee: null | components["schemas"]["simple-user"]; - assignees?: components["schemas"]["simple-user"][] | null; - requested_reviewers?: components["schemas"]["simple-user"][] | null; - requested_teams?: components["schemas"]["team"][] | null; - head: { - label: string; - ref: string; - repo: components["schemas"]["repository"]; - sha: string; - user: null | components["schemas"]["simple-user"]; - }; - base: { - label: string; - ref: string; - repo: components["schemas"]["repository"]; - sha: string; - user: null | components["schemas"]["simple-user"]; - }; - _links: { - comments: components["schemas"]["link"]; - commits: components["schemas"]["link"]; - statuses: components["schemas"]["link"]; - html: components["schemas"]["link"]; - issue: components["schemas"]["link"]; - review_comments: components["schemas"]["link"]; - review_comment: components["schemas"]["link"]; - self: components["schemas"]["link"]; - }; - author_association: components["schemas"]["author-association"]; - auto_merge: components["schemas"]["auto-merge"]; - /** @description Indicates whether or not the pull request is a draft. */ - draft?: boolean; - }; - /** Simple Commit Status */ - "simple-commit-status": { - description: string | null; - id: number; - node_id: string; - state: string; - context: string; - /** Format: uri */ - target_url: string | null; - required?: boolean | null; - /** Format: uri */ - avatar_url: string | null; - /** Format: uri */ - url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Combined Commit Status - * @description Combined Commit Status - */ - "combined-commit-status": { - state: string; - statuses: components["schemas"]["simple-commit-status"][]; - sha: string; - total_count: number; - repository: components["schemas"]["minimal-repository"]; - /** Format: uri */ - commit_url: string; - /** Format: uri */ - url: string; - }; - /** - * Status - * @description The status of a commit. - */ - status: { - url: string; - avatar_url: string | null; - id: number; - node_id: string; - state: string; - description: string | null; - target_url: string | null; - context: string; - created_at: string; - updated_at: string; - creator: null | components["schemas"]["simple-user"]; - }; - /** Community Health File */ - "community-health-file": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - }; - /** - * Community Profile - * @description Community Profile - */ - "community-profile": { - health_percentage: number; - description: string | null; - documentation: string | null; - files: { - code_of_conduct: null | components["schemas"]["code-of-conduct-simple"]; - code_of_conduct_file: null | components["schemas"]["community-health-file"]; - license: null | components["schemas"]["license-simple"]; - contributing: null | components["schemas"]["community-health-file"]; - readme: null | components["schemas"]["community-health-file"]; - issue_template: null | components["schemas"]["community-health-file"]; - pull_request_template: null | components["schemas"]["community-health-file"]; - }; - /** Format: date-time */ - updated_at: string | null; - content_reports_enabled?: boolean; - }; - /** - * Commit Comparison - * @description Commit Comparison - */ - "commit-comparison": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - permalink_url: string; - /** Format: uri */ - diff_url: string; - /** Format: uri */ - patch_url: string; - base_commit: components["schemas"]["commit"]; - merge_base_commit: components["schemas"]["commit"]; - /** @enum {string} */ - status: "diverged" | "ahead" | "behind" | "identical"; - ahead_by: number; - behind_by: number; - total_commits: number; - commits: components["schemas"]["commit"][]; - files?: components["schemas"]["diff-entry"][]; - }; - /** - * Content Tree - * @description Content Tree - */ - "content-tree": { - type: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - entries?: ({ - type: string; - size: number; - name: string; - path: string; - content?: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - })[]; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }; - /** - * Content Directory - * @description A list of directory items - */ - "content-directory": ({ - /** @enum {string} */ - type: "dir" | "file" | "submodule" | "symlink"; - size: number; - name: string; - path: string; - content?: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - })[]; - /** - * Content File - * @description Content File - */ - "content-file": { - /** @enum {string} */ - type: "file"; - encoding: string; - size: number; - name: string; - path: string; - content: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - target?: string; - submodule_git_url?: string; - }; - /** - * Symlink Content - * @description An object describing a symlink - */ - "content-symlink": { - /** @enum {string} */ - type: "symlink"; - target: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }; - /** - * Submodule Content - * @description An object describing a submodule - */ - "content-submodule": { - /** @enum {string} */ - type: "submodule"; - /** Format: uri */ - submodule_git_url: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }; - /** - * File Commit - * @description File Commit - */ - "file-commit": { - content: { - name?: string; - path?: string; - sha?: string; - size?: number; - url?: string; - html_url?: string; - git_url?: string; - download_url?: string; - type?: string; - _links?: { - self?: string; - git?: string; - html?: string; - }; - } | null; - commit: { - sha?: string; - node_id?: string; - url?: string; - html_url?: string; - author?: { - date?: string; - name?: string; - email?: string; - }; - committer?: { - date?: string; - name?: string; - email?: string; - }; - message?: string; - tree?: { - url?: string; - sha?: string; - }; - parents?: { - url?: string; - html_url?: string; - sha?: string; - }[]; - verification?: { - verified?: boolean; - reason?: string; - signature?: string | null; - payload?: string | null; - }; - }; - }; - /** - * Contributor - * @description Contributor - */ - contributor: { - login?: string; - id?: number; - node_id?: string; - /** Format: uri */ - avatar_url?: string; - gravatar_id?: string | null; - /** Format: uri */ - url?: string; - /** Format: uri */ - html_url?: string; - /** Format: uri */ - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - repos_url?: string; - events_url?: string; - /** Format: uri */ - received_events_url?: string; - type: string; - site_admin?: boolean; - contributions: number; - email?: string; - name?: string; - }; - /** @description A Dependabot alert. */ - "dependabot-alert": { - number: components["schemas"]["alert-number"]; - /** - * @description The state of the Dependabot alert. - * @enum {string} - */ - state: "auto_dismissed" | "dismissed" | "fixed" | "open"; - /** @description Details for the vulnerable dependency. */ - dependency: { - readonly package?: components["schemas"]["dependabot-alert-package"]; - /** @description The full path to the dependency manifest file, relative to the root of the repository. */ - readonly manifest_path?: string; - /** - * @description The execution scope of the vulnerable dependency. - * @enum {string|null} + /** + * List accepted assignments for an assignment + * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. */ - readonly scope?: "development" | "runtime" | null; - }; - security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; - security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at: components["schemas"]["alert-updated-at"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_by: null | components["schemas"]["simple-user"]; - /** - * @description The reason that the alert was dismissed. - * @enum {string|null} - */ - dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; - /** @description An optional comment associated with the alert's dismissal. */ - dismissed_comment: string | null; - fixed_at: components["schemas"]["alert-fixed-at"]; - auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; - }; - /** - * Dependabot Secret - * @description Set secrets for Dependabot. - */ - "dependabot-secret": { - /** @description The name of the secret. */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Dependency Graph Diff - * @description A diff of the dependencies between two commits. - */ - "dependency-graph-diff": ({ - /** @enum {string} */ - change_type: "added" | "removed"; - manifest: string; - ecosystem: string; - name: string; - version: string; - package_url: string | null; - license: string | null; - source_repository_url: string | null; - vulnerabilities: { - severity: string; - advisory_ghsa_id: string; - advisory_summary: string; - advisory_url: string; - }[]; - /** - * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. - * @enum {string} + get: operations["classroom/list-accepted-assigments-for-an-assignment"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/assignments/{assignment_id}/grades": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get assignment grades + * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. */ - scope: "unknown" | "runtime" | "development"; - })[]; - /** - * Dependency Graph SPDX SBOM - * @description A schema for the SPDX JSON format returned by the Dependency Graph. - */ - "dependency-graph-spdx-sbom": { - sbom: { - /** @description The SPDX identifier for the SPDX document. */ - SPDXID: string; - /** @description The version of the SPDX specification that this document conforms to. */ - spdxVersion: string; - creationInfo: { - /** @description The date and time the SPDX document was created. */ - created: string; - /** @description The tools that were used to generate the SPDX document. */ - creators: string[]; - }; - /** @description The name of the SPDX document. */ - name: string; - /** @description The license under which the SPDX document is licensed. */ - dataLicense: string; - /** @description The name of the repository that the SPDX document describes. */ - documentDescribes: string[]; - /** @description The namespace for the SPDX document. */ - documentNamespace: string; - packages: { - /** @description A unique SPDX identifier for the package. */ - SPDXID?: string; - /** @description The name of the package. */ - name?: string; - /** - * @description The version of the package. If the package does not have an exact version specified, - * a version range is given. - */ - versionInfo?: string; - /** - * @description The location where the package can be downloaded, - * or NOASSERTION if this has not been determined. - */ - downloadLocation?: string; - /** - * @description Whether the package's file content has been subjected to - * analysis during the creation of the SPDX document. - */ - filesAnalyzed?: boolean; - /** @description The license of the package as determined while creating the SPDX document. */ - licenseConcluded?: string; - /** - * @description The license of the package as declared by its author, or NOASSERTION if this information - * was not available when the SPDX document was created. - */ - licenseDeclared?: string; - /** @description The distribution source of this package, or NOASSERTION if this was not determined. */ - supplier?: string; - externalRefs?: { - /** @description The category of reference to an external resource this reference refers to. */ - referenceCategory: string; - /** @description A locator for the particular external resource this reference refers to. */ - referenceLocator: string; - /** @description The category of reference to an external resource this reference refers to. */ - referenceType: string; - }[]; - }[]; - }; - }; - /** - * metadata - * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. - */ - metadata: { - [key: string]: null | string | number | boolean; - }; - dependency: { - /** @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details. */ - package_url?: string; - metadata?: components["schemas"]["metadata"]; - /** - * @description A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency. - * @enum {string} - */ - relationship?: "direct" | "indirect"; - /** - * @description A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes. - * @enum {string} - */ - scope?: "runtime" | "development"; - /** @description Array of package-url (PURLs) of direct child dependencies. */ - dependencies?: string[]; - }; - manifest: { - /** @description The name of the manifest. */ - name: string; - file?: { - /** @description The path of the manifest file relative to the root of the Git repository. */ - source_location?: string; - }; - metadata?: components["schemas"]["metadata"]; - /** @description A collection of resolved package dependencies. */ - resolved?: { - [key: string]: components["schemas"]["dependency"]; - }; - }; - /** - * snapshot - * @description Create a new snapshot of a repository's dependencies. - */ - snapshot: { - /** @description The version of the repository snapshot submission. */ - version: number; - job: { - /** @description The external ID of the job. */ - id: string; - /** @description Correlator provides a key that is used to group snapshots submitted over time. Only the "latest" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given "wave" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation. */ - correlator: string; - /** @description The url for the job. */ - html_url?: string; - }; - /** @description The commit SHA associated with this dependency snapshot. Maximum length: 40 characters. */ - sha: string; - /** @description The repository branch that triggered this snapshot. */ - ref: string; - /** @description A description of the detector used. */ - detector: { - /** @description The name of the detector used. */ - name: string; - /** @description The version of the detector used. */ - version: string; - /** @description The url of the detector used. */ - url: string; - }; - metadata?: components["schemas"]["metadata"]; - /** @description A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ - manifests?: { - [key: string]: components["schemas"]["manifest"]; - }; - /** - * Format: date-time - * @description The time at which the snapshot was scanned. - */ - scanned: string; - }; - /** - * Deployment Status - * @description The status of a deployment. - */ - "deployment-status": { - /** Format: uri */ - url: string; - id: number; - node_id: string; - /** - * @description The state of the status. - * @enum {string} - */ - state: "error" | "failure" | "inactive" | "pending" | "success" | "queued" | "in_progress"; - creator: null | components["schemas"]["simple-user"]; - /** - * @description A short description of the status. - * @default - */ - description: string; - /** - * @description The environment of the deployment that the status is for. - * @default - */ - environment?: string; - /** - * Format: uri - * @description Deprecated: the URL to associate with this status. - * @default - */ - target_url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - deployment_url: string; - /** Format: uri */ - repository_url: string; - /** - * Format: uri - * @description The URL for accessing your environment. - * @default - */ - environment_url?: string; - /** - * Format: uri - * @description The URL to associate with this status. - * @default - */ - log_url?: string; - performed_via_github_app?: null | components["schemas"]["integration"]; - }; - /** @description The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). */ - "wait-timer": number; - /** @description The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. */ - "deployment-branch-policy-settings": { - /** @description Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`. */ - protected_branches: boolean; - /** @description Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`. */ - custom_branch_policies: boolean; - } | null; - /** - * Environment - * @description Details of a deployment environment - */ - environment: { - /** @description The id of the environment. */ - id: number; - node_id: string; - /** @description The name of the environment. */ - name: string; - url: string; - html_url: string; - /** - * Format: date-time - * @description The time that the environment was created, in ISO 8601 format. - */ - created_at: string; - /** - * Format: date-time - * @description The time that the environment was last updated, in ISO 8601 format. - */ - updated_at: string; - /** @description Built-in deployment protection rules for the environment. */ - protection_rules?: ({ - id: number; - node_id: string; - type: string; - wait_timer?: components["schemas"]["wait-timer"]; - } | ({ - id: number; - node_id: string; - /** @description Whether deployments to this environment can be approved by the user who created the deployment. */ - prevent_self_review?: boolean; - type: string; - /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers?: ({ - type?: components["schemas"]["deployment-reviewer-type"]; - reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; - })[]; - }) | { - id: number; - node_id: string; - type: string; - })[]; - deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; - }; - /** - * Deployment branch policy - * @description Details of a deployment branch policy. - */ - "deployment-branch-policy": { - /** @description The unique identifier of the branch policy. */ - id?: number; - node_id?: string; - /** @description The name pattern that branches must match in order to deploy to the environment. */ - name?: string; - }; - /** Deployment branch policy name pattern */ - "deployment-branch-policy-name-pattern": { - /** - * @description The name pattern that branches must match in order to deploy to the environment. - * - * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. - * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). - */ - name: string; - }; - /** - * Custom deployment protection rule app - * @description A GitHub App that is providing a custom deployment protection rule. - */ - "custom-deployment-rule-app": { - /** @description The unique identifier of the deployment protection rule integration. */ - id: number; - /** @description The slugified name of the deployment protection rule integration. */ - slug: string; - /** @description The URL for the endpoint to get details about the app. */ - integration_url: string; - /** @description The node ID for the deployment protection rule integration. */ - node_id: string; - }; - /** - * Deployment protection rule - * @description Deployment protection rule - */ - "deployment-protection-rule": { - /** @description The unique identifier for the deployment protection rule. */ - id: number; - /** @description The node ID for the deployment protection rule. */ - node_id: string; - /** @description Whether the deployment protection rule is enabled for the environment. */ - enabled: boolean; - app: components["schemas"]["custom-deployment-rule-app"]; - }; - /** - * Short Blob - * @description Short Blob - */ - "short-blob": { - url: string; - sha: string; - }; - /** - * Blob - * @description Blob - */ - blob: { - content: string; - encoding: string; - /** Format: uri */ - url: string; - sha: string; - size: number | null; - node_id: string; - highlighted_content?: string; - }; - /** - * Git Commit - * @description Low-level Git commit operations within a repository - */ - "git-commit": { - /** @description SHA for the commit */ - sha: string; - node_id: string; - /** Format: uri */ - url: string; - /** @description Identifying information for the git-user */ - author: { + get: operations["classroom/get-assignment-grades"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/classrooms": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description Timestamp of the commit + * List classrooms + * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. */ - date: string; - /** @description Git email address of the user */ - email: string; - /** @description Name of the git user */ - name: string; - }; - /** @description Identifying information for the git-user */ - committer: { + get: operations["classroom/list-classrooms"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/classrooms/{classroom_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description Timestamp of the commit - */ - date: string; - /** @description Git email address of the user */ - email: string; - /** @description Name of the git user */ - name: string; - }; - /** @description Message describing the purpose of the commit */ - message: string; - tree: { - /** @description SHA for the commit */ - sha: string; - /** Format: uri */ - url: string; - }; - parents: { - /** @description SHA for the commit */ - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - }[]; - verification: { - verified: boolean; - reason: string; - signature: string | null; - payload: string | null; - }; - /** Format: uri */ - html_url: string; - }; - /** - * Git Reference - * @description Git references within a repository - */ - "git-ref": { - ref: string; - node_id: string; - /** Format: uri */ - url: string; - object: { - type: string; - /** @description SHA for the reference */ - sha: string; - /** Format: uri */ - url: string; - }; - }; - /** - * Git Tag - * @description Metadata for a Git tag - */ - "git-tag": { - node_id: string; - /** @description Name of the tag */ - tag: string; - sha: string; - /** - * Format: uri - * @description URL for the tag - */ - url: string; - /** @description Message describing the purpose of the tag */ - message: string; - tagger: { - date: string; - email: string; - name: string; - }; - object: { - sha: string; - type: string; - /** Format: uri */ - url: string; - }; - verification?: components["schemas"]["verification"]; - }; - /** - * Git Tree - * @description The hierarchy between files in a Git repository. - */ - "git-tree": { - sha: string; - /** Format: uri */ - url: string; - truncated: boolean; - /** @description Objects specifying a tree structure */ - tree: { - path?: string; - mode?: string; - type?: string; - sha?: string; - size?: number; - url?: string; - }[]; - }; - /** Hook Response */ - "hook-response": { - code: number | null; - status: string | null; - message: string | null; - }; - /** - * Webhook - * @description Webhooks for repositories. - */ - hook: { - type: string; - /** @description Unique identifier of the webhook. */ - id: number; - /** @description The name of a valid service, use 'web' for a webhook. */ - name: string; - /** @description Determines whether the hook is actually triggered on pushes. */ - active: boolean; - /** @description Determines what events the hook is triggered for. Default: ['push']. */ - events: string[]; - config: { - email?: string; - password?: string; - room?: string; - subdomain?: string; - url?: components["schemas"]["webhook-config-url"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - digest?: string; - secret?: components["schemas"]["webhook-config-secret"]; - token?: string; - }; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - url: string; - /** Format: uri */ - test_url: string; - /** Format: uri */ - ping_url: string; - /** Format: uri */ - deliveries_url?: string; - last_response: components["schemas"]["hook-response"]; - }; - /** - * Import - * @description A repository import from an external source. - */ - import: { - vcs: string | null; - use_lfs?: boolean; - /** @description The URL of the originating repository. */ - vcs_url: string; - svc_root?: string; - tfvc_project?: string; - /** @enum {string} */ - status: "auth" | "error" | "none" | "detecting" | "choose" | "auth_failed" | "importing" | "mapping" | "waiting_to_push" | "pushing" | "complete" | "setup" | "unknown" | "detection_found_multiple" | "detection_found_nothing" | "detection_needs_auth"; - status_text?: string | null; - failed_step?: string | null; - error_message?: string | null; - import_percent?: number | null; - commit_count?: number | null; - push_percent?: number | null; - has_large_files?: boolean; - large_files_size?: number; - large_files_count?: number; - project_choices?: { - vcs?: string; - tfvc_project?: string; - human_name?: string; - }[]; - message?: string; - authors_count?: number | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - authors_url: string; - /** Format: uri */ - repository_url: string; - svn_root?: string; - }; - /** - * Porter Author - * @description Porter Author - */ - "porter-author": { - id: number; - remote_id: string; - remote_name: string; - email: string; - name: string; - /** Format: uri */ - url: string; - /** Format: uri */ - import_url: string; - }; - /** - * Porter Large File - * @description Porter Large File - */ - "porter-large-file": { - ref_name: string; - path: string; - oid: string; - size: number; - }; - /** - * Issue Event Label - * @description Issue Event Label - */ - "issue-event-label": { - name: string | null; - color: string | null; - }; - /** Issue Event Dismissed Review */ - "issue-event-dismissed-review": { - state: string; - review_id: number; - dismissal_message: string | null; - dismissal_commit_id?: string | null; - }; - /** - * Issue Event Milestone - * @description Issue Event Milestone - */ - "issue-event-milestone": { - title: string; - }; - /** - * Issue Event Project Card - * @description Issue Event Project Card - */ - "issue-event-project-card": { - /** Format: uri */ - url: string; - id: number; - /** Format: uri */ - project_url: string; - project_id: number; - column_name: string; - previous_column_name?: string; - }; - /** - * Issue Event Rename - * @description Issue Event Rename - */ - "issue-event-rename": { - from: string; - to: string; - }; - /** - * Issue Event - * @description Issue Event - */ - "issue-event": { - /** Format: int64 */ - id: number; - node_id: string; - /** Format: uri */ - url: string; - actor: null | components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - /** Format: date-time */ - created_at: string; - issue?: null | components["schemas"]["issue"]; - label?: components["schemas"]["issue-event-label"]; - assignee?: null | components["schemas"]["simple-user"]; - assigner?: null | components["schemas"]["simple-user"]; - review_requester?: null | components["schemas"]["simple-user"]; - requested_reviewer?: null | components["schemas"]["simple-user"]; - requested_team?: components["schemas"]["team"]; - dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; - milestone?: components["schemas"]["issue-event-milestone"]; - project_card?: components["schemas"]["issue-event-project-card"]; - rename?: components["schemas"]["issue-event-rename"]; - author_association?: components["schemas"]["author-association"]; - lock_reason?: string | null; - performed_via_github_app?: null | components["schemas"]["integration"]; - }; - /** - * Labeled Issue Event - * @description Labeled Issue Event - */ - "labeled-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - label: { - name: string; - color: string; - }; - }; - /** - * Unlabeled Issue Event - * @description Unlabeled Issue Event - */ - "unlabeled-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - label: { - name: string; - color: string; - }; - }; - /** - * Assigned Issue Event - * @description Assigned Issue Event - */ - "assigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["integration"]; - assignee: components["schemas"]["simple-user"]; - assigner: components["schemas"]["simple-user"]; - }; - /** - * Unassigned Issue Event - * @description Unassigned Issue Event - */ - "unassigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - assignee: components["schemas"]["simple-user"]; - assigner: components["schemas"]["simple-user"]; - }; - /** - * Milestoned Issue Event - * @description Milestoned Issue Event - */ - "milestoned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - milestone: { - title: string; - }; - }; - /** - * Demilestoned Issue Event - * @description Demilestoned Issue Event - */ - "demilestoned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - milestone: { - title: string; - }; - }; - /** - * Renamed Issue Event - * @description Renamed Issue Event - */ - "renamed-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - rename: { - from: string; - to: string; - }; - }; - /** - * Review Requested Issue Event - * @description Review Requested Issue Event - */ - "review-requested-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - review_requester: components["schemas"]["simple-user"]; - requested_team?: components["schemas"]["team"]; - requested_reviewer?: components["schemas"]["simple-user"]; - }; - /** - * Review Request Removed Issue Event - * @description Review Request Removed Issue Event - */ - "review-request-removed-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - review_requester: components["schemas"]["simple-user"]; - requested_team?: components["schemas"]["team"]; - requested_reviewer?: components["schemas"]["simple-user"]; - }; - /** - * Review Dismissed Issue Event - * @description Review Dismissed Issue Event - */ - "review-dismissed-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - dismissed_review: { - state: string; - review_id: number; - dismissal_message: string | null; - dismissal_commit_id?: string; - }; - }; - /** - * Locked Issue Event - * @description Locked Issue Event - */ - "locked-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - lock_reason: string | null; - }; - /** - * Added to Project Issue Event - * @description Added to Project Issue Event - */ - "added-to-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Moved Column in Project Issue Event - * @description Moved Column in Project Issue Event - */ - "moved-column-in-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Removed from Project Issue Event - * @description Removed from Project Issue Event - */ - "removed-from-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Converted Note to Issue Issue Event - * @description Converted Note to Issue Issue Event - */ - "converted-note-to-issue-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Issue Event for Issue - * @description Issue Event for Issue - */ - "issue-event-for-issue": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["assigned-issue-event"] | components["schemas"]["unassigned-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"]; - /** - * Label - * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). - */ - label: { - /** Format: int64 */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - /** @description The name of the label. */ - name: string; - description: string | null; - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - }; - /** - * Timeline Comment Event - * @description Timeline Comment Event - */ - "timeline-comment-event": { - event: string; - actor: components["schemas"]["simple-user"]; - /** @description Unique identifier of the issue comment */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** @description Contents of the issue comment */ - body?: string; - body_text?: string; - body_html?: string; - /** Format: uri */ - html_url: string; - user: components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - issue_url: string; - author_association: components["schemas"]["author-association"]; - performed_via_github_app?: null | components["schemas"]["integration"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Timeline Cross Referenced Event - * @description Timeline Cross Referenced Event - */ - "timeline-cross-referenced-event": { - event: string; - actor?: components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - source: { - type?: string; - issue?: components["schemas"]["issue"]; - }; - }; - /** - * Timeline Committed Event - * @description Timeline Committed Event - */ - "timeline-committed-event": { - event?: string; - /** @description SHA for the commit */ - sha: string; - node_id: string; - /** Format: uri */ - url: string; - /** @description Identifying information for the git-user */ - author: { + * Get a classroom + * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/get-a-classroom"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/classrooms/{classroom_id}/assignments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description Timestamp of the commit + * List assignments for a classroom + * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. */ - date: string; - /** @description Git email address of the user */ - email: string; - /** @description Name of the git user */ - name: string; - }; - /** @description Identifying information for the git-user */ - committer: { + get: operations["classroom/list-assignments-for-a-classroom"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/codes_of_conduct": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description Timestamp of the commit - */ - date: string; - /** @description Git email address of the user */ - email: string; - /** @description Name of the git user */ - name: string; - }; - /** @description Message describing the purpose of the commit */ - message: string; - tree: { - /** @description SHA for the commit */ - sha: string; - /** Format: uri */ - url: string; - }; - parents: { - /** @description SHA for the commit */ - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - }[]; - verification: { - verified: boolean; - reason: string; - signature: string | null; - payload: string | null; - }; - /** Format: uri */ - html_url: string; - }; - /** - * Timeline Reviewed Event - * @description Timeline Reviewed Event - */ - "timeline-reviewed-event": { - event: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - user: components["schemas"]["simple-user"]; - /** @description The text of the review. */ - body: string | null; - state: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - pull_request_url: string; - _links: { - html: { - href: string; - }; - pull_request: { - href: string; - }; - }; - /** Format: date-time */ - submitted_at?: string; - /** @description A commit SHA for the review. */ - commit_id: string; - body_html?: string; - body_text?: string; - author_association: components["schemas"]["author-association"]; - }; - /** - * Pull Request Review Comment - * @description Pull Request Review Comments are comments on a portion of the Pull Request's diff. - */ - "pull-request-review-comment": { - /** @description URL for the pull request review comment */ - url: string; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. This field is deprecated; use `line` instead. */ - position?: number; - /** @description The index of the original line in the diff to which the comment applies. This field is deprecated; use `original_line` instead. */ - original_position?: number; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - user: components["schemas"]["simple-user"]; - /** @description The text of the comment. */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - author_association: components["schemas"]["author-association"]; - _links: { - self: { - /** Format: uri */ - href: string; - }; - html: { - /** Format: uri */ - href: string; - }; - pull_request: { - /** Format: uri */ - href: string; - }; - }; - /** @description The first line of the range for a multi-line comment. */ - start_line?: number | null; - /** @description The first line of the range for a multi-line comment. */ - original_start_line?: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side?: "LEFT" | "RIGHT" | null; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line?: number; - /** - * @description The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment - * @default RIGHT - * @enum {string} - */ - side?: "LEFT" | "RIGHT"; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - reactions?: components["schemas"]["reaction-rollup"]; - body_html?: string; - body_text?: string; - }; - /** - * Timeline Line Commented Event - * @description Timeline Line Commented Event - */ - "timeline-line-commented-event": { - event?: string; - node_id?: string; - comments?: components["schemas"]["pull-request-review-comment"][]; - }; - /** - * Timeline Commit Commented Event - * @description Timeline Commit Commented Event - */ - "timeline-commit-commented-event": { - event?: string; - node_id?: string; - commit_id?: string; - comments?: components["schemas"]["commit-comment"][]; - }; - /** - * Timeline Assigned Issue Event - * @description Timeline Assigned Issue Event - */ - "timeline-assigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - assignee: components["schemas"]["simple-user"]; - }; - /** - * Timeline Unassigned Issue Event - * @description Timeline Unassigned Issue Event - */ - "timeline-unassigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - assignee: components["schemas"]["simple-user"]; - }; - /** - * State Change Issue Event - * @description State Change Issue Event - */ - "state-change-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: null | components["schemas"]["integration"]; - state_reason?: string | null; - }; - /** - * Timeline Event - * @description Timeline Event - */ - "timeline-issue-events": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"] | components["schemas"]["timeline-comment-event"] | components["schemas"]["timeline-cross-referenced-event"] | components["schemas"]["timeline-committed-event"] | components["schemas"]["timeline-reviewed-event"] | components["schemas"]["timeline-line-commented-event"] | components["schemas"]["timeline-commit-commented-event"] | components["schemas"]["timeline-assigned-issue-event"] | components["schemas"]["timeline-unassigned-issue-event"] | components["schemas"]["state-change-issue-event"]; - /** - * Deploy Key - * @description An SSH key granting access to a single repository. - */ - "deploy-key": { - id: number; - key: string; - url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; - added_by?: string | null; - last_used?: string | null; - }; - /** - * Language - * @description Language - */ - language: { - [key: string]: number; - }; - /** - * License Content - * @description License Content - */ - "license-content": { - name: string; - path: string; - sha: string; - size: number; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - download_url: string | null; - type: string; - content: string; - encoding: string; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - license: null | components["schemas"]["license-simple"]; - }; - /** - * Merged upstream - * @description Results of a successful merge upstream request - */ - "merged-upstream": { - message?: string; - /** @enum {string} */ - merge_type?: "merge" | "fast-forward" | "none"; - base_branch?: string; - }; - /** Pages Source Hash */ - "pages-source-hash": { - branch: string; - path: string; - }; - /** Pages Https Certificate */ - "pages-https-certificate": { - /** @enum {string} */ - state: "new" | "authorization_created" | "authorization_pending" | "authorized" | "authorization_revoked" | "issued" | "uploaded" | "approved" | "errored" | "bad_authz" | "destroy_pending" | "dns_changed"; - description: string; - /** @description Array of the domain set and its alternate name (if it is configured) */ - domains: string[]; - /** Format: date */ - expires_at?: string; - }; - /** - * GitHub Pages - * @description The configuration for GitHub Pages for a repository. - */ - page: { - /** - * Format: uri - * @description The API address for accessing this Page resource. - */ - url: string; - /** - * @description The status of the most recent build of the Page. - * @enum {string|null} - */ - status: "built" | "building" | "errored" | null; - /** @description The Pages site's custom domain */ - cname: string | null; - /** - * @description The state if the domain is verified - * @enum {string|null} - */ - protected_domain_state?: "pending" | "verified" | "unverified" | null; - /** - * Format: date-time - * @description The timestamp when a pending domain becomes unverified. - */ - pending_domain_unverified_at?: string | null; - /** - * @description Whether the Page has a custom 404 page. - * @default false - */ - custom_404: boolean; - /** - * Format: uri - * @description The web address the Page can be accessed from. - */ - html_url?: string; - /** - * @description The process in which the Page will be built. - * @enum {string|null} - */ - build_type?: "legacy" | "workflow" | null; - source?: components["schemas"]["pages-source-hash"]; - /** @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. */ - public: boolean; - https_certificate?: components["schemas"]["pages-https-certificate"]; - /** @description Whether https is enabled on the domain */ - https_enforced?: boolean; - }; - /** - * Page Build - * @description Page Build - */ - "page-build": { - /** Format: uri */ - url: string; - status: string; - error: { - message: string | null; - }; - pusher: null | components["schemas"]["simple-user"]; - commit: string; - duration: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Page Build Status - * @description Page Build Status - */ - "page-build-status": { - /** Format: uri */ - url: string; - status: string; - }; - /** - * GitHub Pages - * @description The GitHub Pages deployment status. - */ - "page-deployment": { - /** - * Format: uri - * @description The URI to monitor GitHub Pages deployment status. - */ - status_url: string; - /** - * Format: uri - * @description The URI to the deployed GitHub Pages. - */ - page_url: string; - /** - * Format: uri - * @description The URI to the deployed GitHub Pages preview. - */ - preview_url?: string; - }; - /** - * Pages Health Check Status - * @description Pages Health Check Status - */ - "pages-health-check": { - domain?: { - host?: string; - uri?: string; - nameservers?: string; - dns_resolves?: boolean; - is_proxied?: boolean | null; - is_cloudflare_ip?: boolean | null; - is_fastly_ip?: boolean | null; - is_old_ip_address?: boolean | null; - is_a_record?: boolean | null; - has_cname_record?: boolean | null; - has_mx_records_present?: boolean | null; - is_valid_domain?: boolean; - is_apex_domain?: boolean; - should_be_a_record?: boolean | null; - is_cname_to_github_user_domain?: boolean | null; - is_cname_to_pages_dot_github_dot_com?: boolean | null; - is_cname_to_fastly?: boolean | null; - is_pointed_to_github_pages_ip?: boolean | null; - is_non_github_pages_ip_present?: boolean | null; - is_pages_domain?: boolean; - is_served_by_pages?: boolean | null; - is_valid?: boolean; - reason?: string | null; - responds_to_https?: boolean; - enforces_https?: boolean; - https_error?: string | null; - is_https_eligible?: boolean | null; - caa_error?: string | null; - }; - alt_domain?: ({ - host?: string; - uri?: string; - nameservers?: string; - dns_resolves?: boolean; - is_proxied?: boolean | null; - is_cloudflare_ip?: boolean | null; - is_fastly_ip?: boolean | null; - is_old_ip_address?: boolean | null; - is_a_record?: boolean | null; - has_cname_record?: boolean | null; - has_mx_records_present?: boolean | null; - is_valid_domain?: boolean; - is_apex_domain?: boolean; - should_be_a_record?: boolean | null; - is_cname_to_github_user_domain?: boolean | null; - is_cname_to_pages_dot_github_dot_com?: boolean | null; - is_cname_to_fastly?: boolean | null; - is_pointed_to_github_pages_ip?: boolean | null; - is_non_github_pages_ip_present?: boolean | null; - is_pages_domain?: boolean; - is_served_by_pages?: boolean | null; - is_valid?: boolean; - reason?: string | null; - responds_to_https?: boolean; - enforces_https?: boolean; - https_error?: string | null; - is_https_eligible?: boolean | null; - caa_error?: string | null; - }) | null; - }; - /** - * Pull Request - * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. - */ - "pull-request": { - /** Format: uri */ - url: string; - id: number; - node_id: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - diff_url: string; - /** Format: uri */ - patch_url: string; - /** Format: uri */ - issue_url: string; - /** Format: uri */ - commits_url: string; - /** Format: uri */ - review_comments_url: string; - review_comment_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - statuses_url: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - locked: boolean; - /** @description The title of the pull request. */ - title: string; - user: components["schemas"]["simple-user"]; - body: string | null; - labels: ({ - /** Format: int64 */ - id: number; - node_id: string; - url: string; - name: string; - description: string | null; - color: string; - default: boolean; - })[]; - milestone: null | components["schemas"]["milestone"]; - active_lock_reason?: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - closed_at: string | null; - /** Format: date-time */ - merged_at: string | null; - merge_commit_sha: string | null; - assignee: null | components["schemas"]["simple-user"]; - assignees?: components["schemas"]["simple-user"][] | null; - requested_reviewers?: components["schemas"]["simple-user"][] | null; - requested_teams?: components["schemas"]["team-simple"][] | null; - head: { - label: string; - ref: string; - repo: ({ - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - name: string; - notifications_url: string; - owner: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - private: boolean; - pulls_url: string; - releases_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - /** Format: uri */ - url: string; - clone_url: string; - default_branch: string; - forks: number; - forks_count: number; - git_url: string; - has_downloads: boolean; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_discussions: boolean; - /** Format: uri */ - homepage: string | null; - language: string | null; - master_branch?: string; - archived: boolean; - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - /** Format: uri */ - mirror_url: string | null; - open_issues: number; - open_issues_count: number; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - license: ({ - key: string; - name: string; - /** Format: uri */ - url: string | null; - spdx_id: string | null; - node_id: string; - }) | null; - /** Format: date-time */ - pushed_at: string; - size: number; - ssh_url: string; - stargazers_count: number; - /** Format: uri */ - svn_url: string; - topics?: string[]; - watchers: number; - watchers_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - allow_forking?: boolean; - is_template?: boolean; - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - user: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - }; - base: { - label: string; - ref: string; - repo: { - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - id: number; - is_template?: boolean; - node_id: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - name: string; - notifications_url: string; - owner: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - private: boolean; - pulls_url: string; - releases_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - /** Format: uri */ - url: string; - clone_url: string; - default_branch: string; - forks: number; - forks_count: number; - git_url: string; - has_downloads: boolean; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_discussions: boolean; - /** Format: uri */ - homepage: string | null; - language: string | null; - master_branch?: string; - archived: boolean; - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - /** Format: uri */ - mirror_url: string | null; - open_issues: number; - open_issues_count: number; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - license: null | components["schemas"]["license-simple"]; - /** Format: date-time */ - pushed_at: string; - size: number; - ssh_url: string; - stargazers_count: number; - /** Format: uri */ - svn_url: string; - topics?: string[]; - watchers: number; - watchers_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - allow_forking?: boolean; - web_commit_signoff_required?: boolean; - }; - sha: string; - user: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - }; - _links: { - comments: components["schemas"]["link"]; - commits: components["schemas"]["link"]; - statuses: components["schemas"]["link"]; - html: components["schemas"]["link"]; - issue: components["schemas"]["link"]; - review_comments: components["schemas"]["link"]; - review_comment: components["schemas"]["link"]; - self: components["schemas"]["link"]; - }; - author_association: components["schemas"]["author-association"]; - auto_merge: components["schemas"]["auto-merge"]; - /** @description Indicates whether or not the pull request is a draft. */ - draft?: boolean; - merged: boolean; - mergeable: boolean | null; - rebaseable?: boolean | null; - mergeable_state: string; - merged_by: null | components["schemas"]["simple-user"]; - comments: number; - review_comments: number; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify: boolean; - commits: number; - additions: number; - deletions: number; - changed_files: number; - }; - /** - * Pull Request Merge Result - * @description Pull Request Merge Result - */ - "pull-request-merge-result": { - sha: string; - merged: boolean; - message: string; - }; - /** - * Pull Request Review Request - * @description Pull Request Review Request - */ - "pull-request-review-request": { - users: components["schemas"]["simple-user"][]; - teams: components["schemas"]["team"][]; - }; - /** - * Pull Request Review - * @description Pull Request Reviews are reviews on pull requests. - */ - "pull-request-review": { - /** @description Unique identifier of the review */ - id: number; - node_id: string; - user: null | components["schemas"]["simple-user"]; - /** @description The text of the review. */ - body: string; - state: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - pull_request_url: string; - _links: { - html: { - href: string; - }; - pull_request: { - href: string; - }; - }; - /** Format: date-time */ - submitted_at?: string; - /** @description A commit SHA for the review. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`. */ - commit_id: string | null; - body_html?: string; - body_text?: string; - author_association: components["schemas"]["author-association"]; - }; - /** - * Legacy Review Comment - * @description Legacy Review Comment - */ - "review-comment": { - /** Format: uri */ - url: string; - pull_request_review_id: number | null; - id: number; - node_id: string; - diff_hunk: string; - path: string; - position: number | null; - original_position: number; - commit_id: string; - original_commit_id: string; - in_reply_to_id?: number; - user: null | components["schemas"]["simple-user"]; - body: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - pull_request_url: string; - author_association: components["schemas"]["author-association"]; - _links: { - self: components["schemas"]["link"]; - html: components["schemas"]["link"]; - pull_request: components["schemas"]["link"]; - }; - body_text?: string; - body_html?: string; - reactions?: components["schemas"]["reaction-rollup"]; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string} - */ - side?: "LEFT" | "RIGHT"; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side?: "LEFT" | "RIGHT" | null; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line?: number; - /** @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line?: number; - /** @description The first line of the range for a multi-line comment. */ - start_line?: number | null; - /** @description The original first line of the range for a multi-line comment. */ - original_start_line?: number | null; - }; - /** - * Release Asset - * @description Data related to a release. - */ - "release-asset": { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; - id: number; - node_id: string; - /** @description The file name of the asset. */ - name: string; - label: string | null; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - uploader: null | components["schemas"]["simple-user"]; - }; - /** - * Release - * @description A release. - */ - release: { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - assets_url: string; - upload_url: string; - /** Format: uri */ - tarball_url: string | null; - /** Format: uri */ - zipball_url: string | null; - id: number; - node_id: string; - /** @description The name of the tag. */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - name: string | null; - body?: string | null; - /** @description true to create a draft (unpublished) release, false to create a published one. */ - draft: boolean; - /** @description Whether to identify the release as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - published_at: string | null; - author: components["schemas"]["simple-user"]; - assets: components["schemas"]["release-asset"][]; - body_html?: string; - body_text?: string; - mentions_count?: number; - /** - * Format: uri - * @description The URL of the release discussion. - */ - discussion_url?: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Generated Release Notes Content - * @description Generated name and body describing a release - */ - "release-notes-content": { - /** @description The generated name of the release */ - name: string; - /** @description The generated body describing the contents of the release supporting markdown formatting */ - body: string; - }; - /** - * repository ruleset data for rule - * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. - */ - "repository-rule-ruleset-info": { - /** - * @description The type of source for the ruleset that includes this rule. - * @enum {string} - */ - ruleset_source_type?: "Repository" | "Organization"; - /** @description The name of the source of the ruleset that includes this rule. */ - ruleset_source?: string; - /** @description The ID of the ruleset that includes this rule. */ - ruleset_id?: number; - }; - /** - * Repository Rule - * @description A repository rule with ruleset details. - */ - "repository-rule-detailed": (components["schemas"]["repository-rule-creation"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-update"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-deletion"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-linear-history"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-deployments"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-signatures"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-pull-request"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-status-checks"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-non-fast-forward"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-message-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-author-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-committer-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-branch-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-tag-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]); - "secret-scanning-alert": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: null | components["schemas"]["alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - state?: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: string | null; - resolved_by?: null | components["schemas"]["simple-user"]; - /** @description An optional comment to resolve an alert. */ - resolution_comment?: string | null; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** - * @description User-friendly name for the detected secret, matching the `secret_type`. - * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." - */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: string | null; - }; - /** @description An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`. */ - "secret-scanning-alert-resolution-comment": string | null; - /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ - "secret-scanning-location-commit": { - /** @description The file path in the repository */ - path: string; - /** @description Line number at which the secret starts in the file */ - start_line: number; - /** @description Line number at which the secret ends in the file */ - end_line: number; - /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ - start_column: number; - /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ - end_column: number; - /** @description SHA-1 hash ID of the associated blob */ - blob_sha: string; - /** @description The API URL to get the associated blob resource */ - blob_url: string; - /** @description SHA-1 hash ID of the associated commit */ - commit_sha: string; - /** @description The API URL to get the associated commit resource */ - commit_url: string; - }; - /** @description Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. */ - "secret-scanning-location-issue-title": { - /** - * Format: uri - * @description The API URL to get the issue where the secret was detected. - */ - issue_title_url: string; - }; - /** @description Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. */ - "secret-scanning-location-issue-body": { - /** - * Format: uri - * @description The API URL to get the issue where the secret was detected. - */ - issue_body_url: string; - }; - /** @description Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. */ - "secret-scanning-location-issue-comment": { - /** - * Format: uri - * @description The API URL to get the issue comment where the secret was detected. - */ - issue_comment_url: string; - }; - "secret-scanning-location": { - /** - * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues), this field identifies the type of resource where the secret was found. - * @enum {string} - */ - type: "commit" | "issue_title" | "issue_body" | "issue_comment"; - details: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"]; - }; - "repository-advisory-create": { - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory impacts. */ - description: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id?: string | null; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities: ({ - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - })[]; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** @description A list of users receiving credit for their participation in the security advisory. */ - credits?: { - /** @description The username of the user credited. */ - login: string; - type: components["schemas"]["security-advisory-credit-types"]; - }[] | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - }; - "private-vulnerability-report-create": { - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory impacts. */ - description: string; - /** @description An array of products affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities?: (({ - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - })[]) | null; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - }; - "repository-advisory-update": { - /** @description A short summary of the advisory. */ - summary?: string; - /** @description A detailed description of what the advisory impacts. */ - description?: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id?: string | null; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities?: ({ - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - })[]; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** @description A list of users receiving credit for their participation in the security advisory. */ - credits?: { - /** @description The username of the user credited. */ - login: string; - type: components["schemas"]["security-advisory-credit-types"]; - }[] | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - /** - * @description The state of the advisory. - * @enum {string} - */ - state?: "published" | "closed" | "draft"; - /** @description A list of usernames who have been granted write access to the advisory. */ - collaborating_users?: string[] | null; - /** @description A list of team slugs which have been granted write access to the advisory. */ - collaborating_teams?: string[] | null; - }; - /** - * Stargazer - * @description Stargazer - */ - stargazer: { - /** Format: date-time */ - starred_at: string; - user: null | components["schemas"]["simple-user"]; - }; - /** - * Code Frequency Stat - * @description Code Frequency Stat - */ - "code-frequency-stat": number[]; - /** - * Commit Activity - * @description Commit Activity - */ - "commit-activity": { - days: number[]; - total: number; - week: number; - }; - /** - * Contributor Activity - * @description Contributor Activity - */ - "contributor-activity": { - author: null | components["schemas"]["simple-user"]; - total: number; - weeks: { - w?: number; - a?: number; - d?: number; - c?: number; - }[]; - }; - /** Participation Stats */ - "participation-stats": { - all: number[]; - owner: number[]; - }; - /** - * Repository Invitation - * @description Repository invitations let you manage who you collaborate with. - */ - "repository-subscription": { - /** @description Determines if notifications should be received from this repository. */ - subscribed: boolean; - /** @description Determines if all notifications should be blocked from this repository. */ - ignored: boolean; - reason: string | null; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - url: string; - /** Format: uri */ - repository_url: string; - }; - /** - * Tag - * @description Tag - */ - tag: { - name: string; - commit: { - sha: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - zipball_url: string; - /** Format: uri */ - tarball_url: string; - node_id: string; - }; - /** - * Tag protection - * @description Tag protection - */ - "tag-protection": { - id?: number; - created_at?: string; - updated_at?: string; - enabled?: boolean; - pattern: string; - }; - /** - * Topic - * @description A topic aggregates entities that are related to a subject. - */ - topic: { - names: string[]; - }; - /** Traffic */ - traffic: { - /** Format: date-time */ - timestamp: string; - uniques: number; - count: number; - }; - /** - * Clone Traffic - * @description Clone Traffic - */ - "clone-traffic": { - count: number; - uniques: number; - clones: components["schemas"]["traffic"][]; - }; - /** - * Content Traffic - * @description Content Traffic - */ - "content-traffic": { - path: string; - title: string; - count: number; - uniques: number; - }; - /** - * Referrer Traffic - * @description Referrer Traffic - */ - "referrer-traffic": { - referrer: string; - count: number; - uniques: number; - }; - /** - * View Traffic - * @description View Traffic - */ - "view-traffic": { - count: number; - uniques: number; - views: components["schemas"]["traffic"][]; - }; - /** Search Result Text Matches */ - "search-result-text-matches": ({ - object_url?: string; - object_type?: string | null; - property?: string; - fragment?: string; - matches?: { - text?: string; - indices?: number[]; - }[]; - })[]; - /** - * Code Search Result Item - * @description Code Search Result Item - */ - "code-search-result-item": { - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string; - /** Format: uri */ - html_url: string; - repository: components["schemas"]["minimal-repository"]; - score: number; - file_size?: number; - language?: string | null; - /** Format: date-time */ - last_modified_at?: string; - line_numbers?: string[]; - text_matches?: components["schemas"]["search-result-text-matches"]; - }; - /** - * Commit Search Result Item - * @description Commit Search Result Item - */ - "commit-search-result-item": { - /** Format: uri */ - url: string; - sha: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - comments_url: string; - commit: { - author: { - name: string; - email: string; - /** Format: date-time */ - date: string; - }; - committer: null | components["schemas"]["git-user"]; - comment_count: number; - message: string; - tree: { - sha: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - url: string; - verification?: components["schemas"]["verification"]; - }; - author: null | components["schemas"]["simple-user"]; - committer: null | components["schemas"]["git-user"]; - parents: { - url?: string; - html_url?: string; - sha?: string; - }[]; - repository: components["schemas"]["minimal-repository"]; - score: number; - node_id: string; - text_matches?: components["schemas"]["search-result-text-matches"]; - }; - /** - * Issue Search Result Item - * @description Issue Search Result Item - */ - "issue-search-result-item": { - /** Format: uri */ - url: string; - /** Format: uri */ - repository_url: string; - labels_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - node_id: string; - number: number; - title: string; - locked: boolean; - active_lock_reason?: string | null; - assignees?: components["schemas"]["simple-user"][] | null; - user: null | components["schemas"]["simple-user"]; - labels: ({ - /** Format: int64 */ - id?: number; - node_id?: string; - url?: string; - name?: string; - color?: string; - default?: boolean; - description?: string | null; - })[]; - state: string; - state_reason?: string | null; - assignee: null | components["schemas"]["simple-user"]; - milestone: null | components["schemas"]["milestone"]; - comments: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - closed_at: string | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - pull_request?: { - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - diff_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - patch_url: string | null; - /** Format: uri */ - url: string | null; - }; - body?: string; - score: number; - author_association: components["schemas"]["author-association"]; - draft?: boolean; - repository?: components["schemas"]["repository"]; - body_html?: string; - body_text?: string; - /** Format: uri */ - timeline_url?: string; - performed_via_github_app?: null | components["schemas"]["integration"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Label Search Result Item - * @description Label Search Result Item - */ - "label-search-result-item": { - id: number; - node_id: string; - /** Format: uri */ - url: string; - name: string; - color: string; - default: boolean; - description: string | null; - score: number; - text_matches?: components["schemas"]["search-result-text-matches"]; - }; - /** - * Repo Search Result Item - * @description Repo Search Result Item - */ - "repo-search-result-item": { - id: number; - node_id: string; - name: string; - full_name: string; - owner: null | components["schemas"]["simple-user"]; - private: boolean; - /** Format: uri */ - html_url: string; - description: string | null; - fork: boolean; - /** Format: uri */ - url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - pushed_at: string; - /** Format: uri */ - homepage: string | null; - size: number; - stargazers_count: number; - watchers_count: number; - language: string | null; - forks_count: number; - open_issues_count: number; - master_branch?: string; - default_branch: string; - score: number; - /** Format: uri */ - forks_url: string; - keys_url: string; - collaborators_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri */ - hooks_url: string; - issue_events_url: string; - /** Format: uri */ - events_url: string; - assignees_url: string; - branches_url: string; - /** Format: uri */ - tags_url: string; - blobs_url: string; - git_tags_url: string; - git_refs_url: string; - trees_url: string; - statuses_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - commits_url: string; - git_commits_url: string; - comments_url: string; - issue_comment_url: string; - contents_url: string; - compare_url: string; - /** Format: uri */ - merges_url: string; - archive_url: string; - /** Format: uri */ - downloads_url: string; - issues_url: string; - pulls_url: string; - milestones_url: string; - notifications_url: string; - labels_url: string; - releases_url: string; - /** Format: uri */ - deployments_url: string; - git_url: string; - ssh_url: string; - clone_url: string; - /** Format: uri */ - svn_url: string; - forks: number; - open_issues: number; - watchers: number; - topics?: string[]; - /** Format: uri */ - mirror_url: string | null; - has_issues: boolean; - has_projects: boolean; - has_pages: boolean; - has_wiki: boolean; - has_downloads: boolean; - has_discussions?: boolean; - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - license: null | components["schemas"]["license-simple"]; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - text_matches?: components["schemas"]["search-result-text-matches"]; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_forking?: boolean; - is_template?: boolean; - web_commit_signoff_required?: boolean; - }; - /** - * Topic Search Result Item - * @description Topic Search Result Item - */ - "topic-search-result-item": { - name: string; - display_name: string | null; - short_description: string | null; - description: string | null; - created_by: string | null; - released: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - featured: boolean; - curated: boolean; - score: number; - repository_count?: number | null; - /** Format: uri */ - logo_url?: string | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - related?: { - topic_relation?: { - id?: number; - name?: string; - topic_id?: number; - relation_type?: string; - }; - }[] | null; - aliases?: { - topic_relation?: { - id?: number; - name?: string; - topic_id?: number; - relation_type?: string; - }; - }[] | null; - }; - /** - * User Search Result Item - * @description User Search Result Item - */ - "user-search-result-item": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - score: number; - following_url: string; - gists_url: string; - starred_url: string; - events_url: string; - public_repos?: number; - public_gists?: number; - followers?: number; - following?: number; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - name?: string | null; - bio?: string | null; - /** Format: email */ - email?: string | null; - location?: string | null; - site_admin: boolean; - hireable?: boolean | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - blog?: string | null; - company?: string | null; - /** Format: date-time */ - suspended_at?: string | null; - }; - /** - * Private User - * @description Private User - */ - "private-user": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - events_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - site_admin: boolean; - name: string | null; - company: string | null; - blog: string | null; - location: string | null; - /** Format: email */ - email: string | null; - hireable: boolean | null; - bio: string | null; - twitter_username?: string | null; - public_repos: number; - public_gists: number; - followers: number; - following: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - private_gists: number; - total_private_repos: number; - owned_private_repos: number; - disk_usage: number; - collaborators: number; - two_factor_authentication: boolean; - plan?: { - collaborators: number; - name: string; - space: number; - private_repos: number; - }; - /** Format: date-time */ - suspended_at?: string | null; - business_plus?: boolean; - ldap_dn?: string; - }; - /** - * Codespaces Secret - * @description Secrets for a GitHub Codespace. - */ - "codespaces-secret": { - /** @description The name of the secret */ - name: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * @description The type of repositories in the organization that the secret is visible to - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @description The API URL at which the list of repositories this secret is visible to can be retrieved - */ - selected_repositories_url: string; - }; - /** - * CodespacesUserPublicKey - * @description The public key used for setting user Codespaces' Secrets. - */ - "codespaces-user-public-key": { - /** @description The identifier for the key. */ - key_id: string; - /** @description The Base64 encoded public key. */ - key: string; - }; - /** - * Fetches information about an export of a codespace. - * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest - */ - "codespace-export-details": { - /** @description State of the latest export */ - state?: string | null; - /** - * Format: date-time - * @description Completion time of the last export operation - */ - completed_at?: string | null; - /** @description Name of the exported branch */ - branch?: string | null; - /** @description Git commit SHA of the exported branch */ - sha?: string | null; - /** @description Id for the export details */ - id?: string; - /** @description Url for fetching export details */ - export_url?: string; - /** @description Web url for the exported branch */ - html_url?: string | null; - }; - /** - * Codespace - * @description A codespace. - */ - "codespace-with-full-repository": { - id: number; - /** @description Automatically generated name of this codespace. */ - name: string; - /** @description Display name for this codespace. */ - display_name?: string | null; - /** @description UUID identifying this codespace's environment. */ - environment_id: string | null; - owner: components["schemas"]["simple-user"]; - billable_owner: components["schemas"]["simple-user"]; - repository: components["schemas"]["full-repository"]; - machine: null | components["schemas"]["codespace-machine"]; - /** @description Path to devcontainer.json from repo root used to create Codespace. */ - devcontainer_path?: string | null; - /** @description Whether the codespace was created from a prebuild. */ - prebuild: boolean | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: date-time - * @description Last known time this codespace was started. - */ - last_used_at: string; - /** - * @description State of this codespace. - * @enum {string} - */ - state: "Unknown" | "Created" | "Queued" | "Provisioning" | "Available" | "Awaiting" | "Unavailable" | "Deleted" | "Moved" | "Shutdown" | "Archived" | "Starting" | "ShuttingDown" | "Failed" | "Exporting" | "Updating" | "Rebuilding"; - /** - * Format: uri - * @description API URL for this codespace. - */ - url: string; - /** @description Details about the codespace's git repository. */ - git_status: { - /** @description The number of commits the local repository is ahead of the remote. */ - ahead?: number; - /** @description The number of commits the local repository is behind the remote. */ - behind?: number; - /** @description Whether the local repository has unpushed changes. */ - has_unpushed_changes?: boolean; - /** @description Whether the local repository has uncommitted changes. */ - has_uncommitted_changes?: boolean; - /** @description The current branch (or SHA if in detached HEAD state) of the local repository. */ - ref?: string; - }; - /** - * @description The initally assigned location of a new codespace. - * @enum {string} - */ - location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; - /** @description The number of minutes of inactivity after which this codespace will be automatically stopped. */ - idle_timeout_minutes: number | null; - /** - * Format: uri - * @description URL to access this codespace on the web. - */ - web_url: string; - /** - * Format: uri - * @description API URL to access available alternate machine types for this codespace. - */ - machines_url: string; - /** - * Format: uri - * @description API URL to start this codespace. - */ - start_url: string; - /** - * Format: uri - * @description API URL to stop this codespace. - */ - stop_url: string; - /** - * Format: uri - * @description API URL to publish this codespace to a new repository. - */ - publish_url?: string | null; - /** - * Format: uri - * @description API URL for the Pull Request associated with this codespace, if any. - */ - pulls_url: string | null; - recent_folders: string[]; - runtime_constraints?: { - /** @description The privacy settings a user can select from when forwarding a port. */ - allowed_port_privacy_settings?: string[] | null; - }; - /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ - pending_operation?: boolean | null; - /** @description Text to show user when codespace is disabled by a pending operation */ - pending_operation_disabled_reason?: string | null; - /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ - idle_timeout_notice?: string | null; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number | null; - /** - * Format: date-time - * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" - */ - retention_expires_at?: string | null; - }; - /** - * Email - * @description Email - */ - email: { - /** Format: email */ - email: string; - primary: boolean; - verified: boolean; - visibility: string | null; - }; - /** - * GPG Key - * @description A unique encryption key - */ - "gpg-key": { - id: number; - name?: string | null; - primary_key_id: number | null; - key_id: string; - public_key: string; - emails: { - email?: string; - verified?: boolean; - }[]; - subkeys: ({ - id?: number; - primary_key_id?: number; - key_id?: string; - public_key?: string; - emails?: { - email?: string; - verified?: boolean; - }[]; - subkeys?: unknown[]; - can_sign?: boolean; - can_encrypt_comms?: boolean; - can_encrypt_storage?: boolean; - can_certify?: boolean; - created_at?: string; - expires_at?: string | null; - raw_key?: string | null; - revoked?: boolean; - })[]; - can_sign: boolean; - can_encrypt_comms: boolean; - can_encrypt_storage: boolean; - can_certify: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - expires_at: string | null; - revoked: boolean; - raw_key: string | null; - }; - /** - * Key - * @description Key - */ - key: { - key: string; - id: number; - url: string; - title: string; - /** Format: date-time */ - created_at: string; - verified: boolean; - read_only: boolean; - }; - /** Marketplace Account */ - "marketplace-account": { - /** Format: uri */ - url: string; - id: number; - type: string; - node_id?: string; - login: string; - /** Format: email */ - email?: string | null; - /** Format: email */ - organization_billing_email?: string | null; - }; - /** - * User Marketplace Purchase - * @description User Marketplace Purchase - */ - "user-marketplace-purchase": { - billing_cycle: string; - /** Format: date-time */ - next_billing_date: string | null; - unit_count: number | null; - on_free_trial: boolean; - /** Format: date-time */ - free_trial_ends_on: string | null; - /** Format: date-time */ - updated_at: string | null; - account: components["schemas"]["marketplace-account"]; - plan: components["schemas"]["marketplace-listing-plan"]; - }; - /** - * Social account - * @description Social media account - */ - "social-account": { - provider: string; - url: string; - }; - /** - * SSH Signing Key - * @description A public SSH key used to sign Git commits - */ - "ssh-signing-key": { - key: string; - id: number; - title: string; - /** Format: date-time */ - created_at: string; - }; - /** - * Starred Repository - * @description Starred Repository - */ - "starred-repository": { - /** Format: date-time */ - starred_at: string; - repo: components["schemas"]["repository"]; - }; - /** - * Hovercard - * @description Hovercard - */ - hovercard: { - contexts: { - message: string; - octicon: string; - }[]; - }; - /** - * Key Simple - * @description Key Simple - */ - "key-simple": { - id: number; - key: string; - }; - /** - * Enterprise - * @description An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - * on an enterprise account or an organization that's part of an enterprise account. For more information, - * see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - */ - "enterprise-webhooks": { - /** @description A short description of the enterprise. */ - description?: string | null; - /** Format: uri */ - html_url: string; - /** - * Format: uri - * @description The enterprise's website URL. - */ - website_url?: string | null; - /** @description Unique identifier of the enterprise */ - id: number; - node_id: string; - /** @description The name of the enterprise. */ - name: string; - /** @description The slug url identifier for the enterprise. */ - slug: string; - /** Format: date-time */ - created_at: string | null; - /** Format: date-time */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }; - /** - * Simple Installation - * @description The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - * for and sent to a GitHub App. For more information, - * see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - */ - "simple-installation": { - /** @description The ID of the installation. */ - id: number; - /** @description The global node ID of the installation. */ - node_id: string; - }; - /** - * Organization Simple - * @description A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - * organization, or when the event occurs from activity in a repository owned by an organization. - */ - "organization-simple-webhooks": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string | null; - }; - /** - * Repository - * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - * when the event occurs from activity in a repository. - */ - "repository-webhooks": { - /** @description Unique identifier of the repository */ - id: number; - node_id: string; - /** @description The name of the repository. */ - name: string; - full_name: string; - license: null | components["schemas"]["license-simple"]; - organization?: null | components["schemas"]["simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** Format: uri */ - html_url: string; - description: string | null; - fork: boolean; - /** Format: uri */ - url: string; - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - forks_url: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - git_url: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - notifications_url: string; - pulls_url: string; - releases_url: string; - ssh_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - clone_url: string; - /** Format: uri */ - mirror_url: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - homepage: string | null; - language: string | null; - forks_count: number; - stargazers_count: number; - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size: number; - /** @description The default branch of the repository. */ - default_branch: string; - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions?: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** Format: date-time */ - pushed_at: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: date-time */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - template_repository?: ({ - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Get all codes of conduct + * @description Returns array of all GitHub's codes of conduct. */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + get: operations["codes-of-conduct/get-all-codes-of-conduct"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/codes_of_conduct/{key}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Get a code of conduct + * @description Returns information about the specified GitHub code of conduct. + */ + get: operations["codes-of-conduct/get-conduct-code"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/emojis": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get emojis + * @description Lists all the emojis available to use on GitHub. + */ + get: operations["emojis/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprises/{enterprise}/dependabot/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Dependabot alerts for an enterprise + * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. + * To use this endpoint, you must be a member of the enterprise, and you must use an + * access token with the `repo` scope or `security_events` scope. + * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + get: operations["dependabot/list-alerts-for-enterprise"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprises/{enterprise}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secret scanning alerts for an enterprise + * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + */ + get: operations["secret-scanning/list-alerts-for-enterprise"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public events + * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + get: operations["activity/list-public-events"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/feeds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description The default value for a merge commit title. + * Get feeds + * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + get: operations["activity/get-feeds"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List gists for the authenticated user + * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: + */ + get: operations["gists/list"]; + put: never; /** - * @description The default value for a merge commit message. + * Create a gist + * @description Allows you to add a new gist with one or more files. * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - }) | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; - /** - * Simple User - * @description The GitHub user that triggered the event. This property is included in every webhook payload. - */ - "simple-user-webhooks": { - name?: string | null; - email?: string | null; - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - events_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - site_admin: boolean; - starred_at?: string; - }; - /** @description A suite of checks performed on the code of a given code change */ - "simple-check-suite": { - after?: string | null; - app?: components["schemas"]["integration"]; - before?: string | null; - /** @enum {string|null} */ - conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "stale" | "startup_failure" | null; - /** Format: date-time */ - created_at?: string; - head_branch?: string | null; - /** @description The SHA of the head commit that is being checked. */ - head_sha?: string; - id?: number; - node_id?: string; - pull_requests?: components["schemas"]["pull-request-minimal"][]; - repository?: components["schemas"]["minimal-repository"]; - /** @enum {string} */ - status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; - /** Format: date-time */ - updated_at?: string; - url?: string; - }; - /** - * CheckRun - * @description A check performed on the code of a given code change - */ - "check-run-with-simple-check-suite": { - app: null | components["schemas"]["integration"]; - check_suite: components["schemas"]["simple-check-suite"]; - /** Format: date-time */ - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "waiting" | "pending" | "startup_failure" | "stale" | "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; - deployment?: components["schemas"]["deployment-simple"]; - details_url: string; - external_id: string; - /** @description The SHA of the commit that is being checked. */ - head_sha: string; - html_url: string; - /** @description The id of the check. */ - id: number; - /** @description The name of the check. */ - name: string; - node_id: string; - output: { - annotations_count: number; - /** Format: uri */ - annotations_url: string; - summary: string | null; - text: string | null; - title: string | null; - }; - pull_requests: components["schemas"]["pull-request-minimal"][]; - /** Format: date-time */ - started_at: string; - /** - * @description The phase of the lifecycle that the check is currently in. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "pending"; - url: string; - }; - /** - * Discussion - * @description A Discussion in a repository. - */ - discussion: { - active_lock_reason: string | null; - answer_chosen_at: string | null; - /** User */ - answer_chosen_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - answer_html_url: string | null; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** - * @description The current state of the discussion. - * `converting` means that the discussion is being converted from an issue. - * `transferring` means that the discussion is being transferred from another repository. - * @enum {string} - */ - state: "open" | "closed" | "locked" | "converting" | "transferring"; - /** - * @description The reason for the current state - * @enum {string|null} - */ - state_reason: "resolved" | "outdated" | "duplicate" | "reopened" | null; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** - * Merge Group - * @description A group of pull requests that the merge queue has grouped together to be merged. - */ - "merge-group": { - /** @description The SHA of the merge group. */ - head_sha: string; - /** @description The full ref of the merge group. */ - head_ref: string; - /** @description The SHA of the merge group's parent commit. */ - base_sha: string; - /** @description The full ref of the branch the merge group will be merged into. */ - base_ref: string; - head_commit: components["schemas"]["simple-commit"]; - }; - /** - * Personal Access Token Request - * @description Details of a Personal Access Token Request. - */ - "personal-access-token-request": { - /** @description Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls. */ - id: number; - owner: components["schemas"]["simple-user"]; - /** @description New requested permissions, categorized by type of permission. */ - permissions_added: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ - permissions_upgraded: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ - permissions_result: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ - repository_count: number | null; - /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ - repositories: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[] | null; - /** @description Date and time when the request for access was created. */ - created_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Projects v2 Project - * @description A projects v2 project - */ - "projects-v2": { - id: number; - node_id: string; - owner: components["schemas"]["simple-user"]; - creator: components["schemas"]["simple-user"]; - title: string; - description: string | null; - public: boolean; - /** Format: date-time */ - closed_at: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - number: number; - short_description: string | null; - /** Format: date-time */ - deleted_at: string | null; - deleted_by: null | components["schemas"]["simple-user"]; - }; - /** - * Projects v2 Item Content Type - * @description The type of content tracked in a project item - * @enum {string} - */ - "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; - /** - * Projects v2 Item - * @description An item belonging to a project - */ - "projects-v2-item": { - id: number; - node_id?: string; - project_node_id?: string; - content_node_id: string; - content_type: components["schemas"]["projects-v2-item-content-type"]; - creator?: components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - archived_at: string | null; - }; - /** - * @description The reason for resolving the alert. - * @enum {string|null} - */ - "secret-scanning-alert-resolution-webhook": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | "pattern_deleted" | "pattern_edited" | null; - "secret-scanning-alert-webhook": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: null | components["schemas"]["alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - resolution?: components["schemas"]["secret-scanning-alert-resolution-webhook"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: string | null; - resolved_by?: null | components["schemas"]["simple-user"]; - /** @description An optional comment to resolve an alert. */ - resolution_comment?: string | null; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: string | null; - }; - /** branch protection configuration disabled event */ - "webhook-branch-protection-configuration-disabled": { - /** @enum {string} */ - action: "disabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection configuration enabled event */ - "webhook-branch-protection-configuration-enabled": { - /** @enum {string} */ - action: "enabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection rule created event */ - "webhook-branch-protection-rule-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ - require_last_push_approval?: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection rule deleted event */ - "webhook-branch-protection-rule-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ - require_last_push_approval?: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection rule edited event */ - "webhook-branch-protection-rule-edited": { - /** @enum {string} */ - action: "edited"; - /** @description If the action was `edited`, the changes to the rule. */ - changes?: { - admin_enforced?: { - from: boolean | null; - }; - authorized_actor_names?: { - from: string[]; - }; - authorized_actors_only?: { - from: boolean | null; - }; - authorized_dismissal_actors_only?: { - from: boolean | null; - }; - linear_history_requirement_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - required_status_checks?: { - from: string[]; - }; - required_status_checks_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ - require_last_push_approval?: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Check Run Completed Event */ - "webhook-check-run-completed": { - /** @enum {string} */ - action?: "completed"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Completed Event - * @description The check_run.completed webhook encoded with URL encoding - */ - "webhook-check-run-completed-form-encoded": { - /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Created Event */ - "webhook-check-run-created": { - /** @enum {string} */ - action?: "created"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Created Event - * @description The check_run.created webhook encoded with URL encoding - */ - "webhook-check-run-created-form-encoded": { - /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Requested Action Event */ - "webhook-check-run-requested-action": { - /** @enum {string} */ - action: "requested_action"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** @description The action requested by the user. */ - requested_action?: { - /** @description The integrator reference of the action requested by the user. */ - identifier?: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Requested Action Event - * @description The check_run.requested_action webhook encoded with URL encoding - */ - "webhook-check-run-requested-action-form-encoded": { - /** @description A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Re-Requested Event */ - "webhook-check-run-rerequested": { - /** @enum {string} */ - action?: "rerequested"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Re-Requested Event - * @description The check_run.rerequested webhook encoded with URL encoding - */ - "webhook-check-run-rerequested-form-encoded": { - /** @description A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** check_suite completed event */ - "webhook-check-suite-completed": { - /** @enum {string} */ - action: "completed"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + post: operations["gists/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public gists + * @description List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_group" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "projects_v2_item" | "secret_scanning_alert_location")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has `completed`. - * @enum {string|null} + get: operations["gists/list-public"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/starred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List starred gists + * @description List the authenticated user's starred gists: */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; + get: operations["gists/list-starred"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/{gist_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a gist */ + get: operations["gists/get"]; + put: never; + post: never; + /** Delete a gist */ + delete: operations["gists/delete"]; + options: never; + head: never; /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} + * Update a gist + * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + * At least one of `description` or `files` is required. */ - status: "requested" | "in_progress" | "completed" | "queued" | null | "pending"; - /** Format: date-time */ - updated_at: string; + patch: operations["gists/update"]; + trace: never; + }; + "/gists/{gist_id}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List gist comments */ + get: operations["gists/list-comments"]; + put: never; + /** Create a gist comment */ + post: operations["gists/create-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/{gist_id}/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a gist comment */ + get: operations["gists/get-comment"]; + put: never; + post: never; + /** Delete a gist comment */ + delete: operations["gists/delete-comment"]; + options: never; + head: never; + /** Update a gist comment */ + patch: operations["gists/update-comment"]; + trace: never; + }; + "/gists/{gist_id}/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List gist commits */ + get: operations["gists/list-commits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/{gist_id}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List gist forks */ + get: operations["gists/list-forks"]; + put: never; + /** Fork a gist */ + post: operations["gists/fork"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/{gist_id}/star": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Check if a gist is starred */ + get: operations["gists/check-is-starred"]; /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** check_suite requested event */ - "webhook-check-suite-requested": { - /** @enum {string} */ - action: "requested"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + * Star a gist + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "secret_scanning_alert_location" | "projects_v2_item" | "merge_group" | "repository_import")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} + put: operations["gists/star"]; + post: never; + /** Unstar a gist */ + delete: operations["gists/unstar"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/{gist_id}/{sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a gist revision */ + get: operations["gists/get-revision"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gitignore/templates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all gitignore templates + * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped"; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; + get: operations["gitignore/get-all-templates"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gitignore/templates/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} + * Get a gitignore template + * @description The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. */ - status: "requested" | "in_progress" | "completed" | "queued" | null; - /** Format: date-time */ - updated_at: string; + get: operations["gitignore/get-template"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/installation/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** check_suite rerequested event */ - "webhook-check-suite-rerequested": { - /** @enum {string} */ - action: "rerequested"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + * List repositories accessible to the app installation + * @description List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} + get: operations["apps/list-repos-accessible-to-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/installation/token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Revoke an installation access token + * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; + delete: operations["apps/revoke-installation-access-token"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} + * List issues assigned to the authenticated user + * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. */ - status: "requested" | "in_progress" | "completed" | "queued" | null; - /** Format: date-time */ - updated_at: string; + get: operations["issues/list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/licenses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert appeared_in_branch event */ - "webhook-code-scanning-alert-appeared-in-branch": { - /** @enum {string} */ - action: "appeared_in_branch"; - /** @description The code scanning alert involved in the event. */ - alert: { + * Get all commonly used licenses + * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: operations["licenses/get-all-commonly-used"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/licenses/{license}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * Get a license + * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." */ - created_at: string; + get: operations["licenses/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/markdown": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Render a Markdown document */ + post: operations["markdown/render"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/markdown/raw": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + * Render a Markdown document in raw mode + * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. */ - dismissed_at: string | null; - /** User */ - dismissed_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} + post: operations["markdown/render-raw"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/accounts/{account_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a subscription plan for an account + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + get: operations["apps/get-subscription-plan-for-account"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/plans": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * List plans + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; + get: operations["apps/list-plans"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/plans/{plan_id}/accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * List accounts for a plan + * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ - state: "open" | "dismissed" | "fixed"; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert closed_by_user event */ - "webhook-code-scanning-alert-closed-by-user": { - /** @enum {string} */ - action: "closed_by_user"; - /** @description The code scanning alert involved in the event. */ - alert: { + get: operations["apps/list-accounts-for-plan"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/stubbed/accounts/{account_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * Get a subscription plan for an account (stubbed) + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ - created_at: string; + get: operations["apps/get-subscription-plan-for-account-stubbed"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/stubbed/plans": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + * List plans (stubbed) + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ - dismissed_at: string; - /** User */ - dismissed_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} + get: operations["apps/list-plans-stubbed"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List accounts for a plan (stubbed) + * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + get: operations["apps/list-accounts-for-plan-stubbed"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/meta": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * Get GitHub meta information + * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * The API's response also includes a list of GitHub's domain names. + * + * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. + * + * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; + get: operations["meta/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/networks/{owner}/{repo}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List public events for a network of repositories */ + get: operations["activity/list-public-events-for-repo-network"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/notifications": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * List notifications for the authenticated user + * @description List all notifications for the current user, sorted by most recently updated. */ - state: "dismissed" | "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert created event */ - "webhook-code-scanning-alert-created": { - /** @enum {string} */ - action: "created"; - /** @description The code scanning alert involved in the event. */ - alert: { + get: operations["activity/list-notifications-for-authenticated-user"]; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * Mark notifications as read + * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-notifications-as-read"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/notifications/threads/{thread_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a thread + * @description Gets information about a notification thread. */ - created_at: string | null; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: null; - dismissed_by: null; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: null; - fixed_at?: null; + get: operations["activity/get-thread"]; + put: never; + post: never; + delete: never; + options: never; + head: never; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * Mark a thread as read + * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. */ - html_url: string; - instances_url?: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; + patch: operations["activity/mark-thread-as-read"]; + trace: never; + }; + "/notifications/threads/{thread_id}/subscription": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * Get a thread subscription for the authenticated user + * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. */ - state: "open" | "dismissed"; - tool: ({ - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }) | null; - updated_at?: string | null; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert fixed event */ - "webhook-code-scanning-alert-fixed": { - /** @enum {string} */ - action: "fixed"; - /** @description The code scanning alert involved in the event. */ - alert: { + get: operations["activity/get-thread-subscription-for-authenticated-user"]; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * Set a thread subscription + * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. */ - created_at: string; + put: operations["activity/set-thread-subscription"]; + post: never; /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + * Delete a thread subscription + * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. */ - dismissed_at: string | null; - /** User */ - dismissed_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} + delete: operations["activity/delete-thread-subscription"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/octocat": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Octocat + * @description Get the octocat as ASCII art */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + get: operations["meta/get-octocat"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/organizations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * List organizations + * @description Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. */ - html_url: string; - /** Format: uri */ - instances_url?: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; + get: operations["orgs/list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * Get an organization + * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." */ - state: "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert reopened event */ - "webhook-code-scanning-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - /** @description The code scanning alert involved in the event. */ - alert: ({ + get: operations["orgs/get"]; + put: never; + post: never; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * Delete an organization + * @description Deletes an organization and all its repositories. + * + * The organization login will be unavailable for 90 days after deletion. + * + * Please review the Terms of Service regarding account deletion before using this endpoint: + * + * https://docs.github.com/site-policy/github-terms/github-terms-of-service */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: string | null; - dismissed_by: Record | null; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: string | null; + delete: operations["orgs/delete"]; + options: never; + head: never; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * Update an organization + * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; + patch: operations["orgs/update"]; + trace: never; + }; + "/orgs/{org}/actions/cache/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * Get GitHub Actions cache usage for an organization + * @description Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. */ - state: "open" | "dismissed" | "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }) | null; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string | null; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert reopened_by_user event */ - "webhook-code-scanning-alert-reopened-by-user": { - /** @enum {string} */ - action: "reopened_by_user"; - /** @description The code scanning alert involved in the event. */ - alert: { + get: operations["actions/get-actions-cache-usage-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/cache/usage-by-repository": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * List repositories with GitHub Actions cache usage for an organization + * @description Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: null; - dismissed_by: null; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: null; + get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/oidc/customization/sub": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * Get the customization template for an OIDC subject claim for an organization + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; + get: operations["oidc/get-oidc-custom-sub-template-for-org"]; + /** + * Set the customization template for an OIDC subject claim for an organization + * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `write:org` scope to use this endpoint. + * GitHub Apps must have the `admin:org` permission to use this endpoint. + */ + put: operations["oidc/update-oidc-custom-sub-template-for-org"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * Get GitHub Actions permissions for an organization + * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - state: "open" | "fixed"; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** commit_comment created event */ - "webhook-commit-comment-created": { - /** - * @description The action performed. Can be `created`. - * @enum {string} - */ - action: "created"; - /** @description The [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment) resource. */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + get: operations["actions/get-github-actions-permissions-organization"]; + /** + * Set GitHub Actions permissions for an organization + * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - created_at: string; - /** Format: uri */ - html_url: string; - /** @description The ID of the commit comment. */ - id: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the commit comment. */ - node_id: string; - /** @description The relative path of the file to which the comment applies. */ - path: string | null; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** create event */ - "webhook-create": { - /** @description The repository's current description. */ - description: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The name of the repository's default branch (usually `main`). */ - master_branch: string; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The pusher type for the event. Can be either `user` or a deploy key. */ - pusher_type: string; - /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ - ref: string; - /** - * @description The type of Git ref object created in the repository. - * @enum {string} - */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** delete event */ - "webhook-delete": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The pusher type for the event. Can be either `user` or a deploy key. */ - pusher_type: string; - /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ - ref: string; - /** - * @description The type of Git ref object deleted in the repository. - * @enum {string} - */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert auto-dismissed event */ - "webhook-dependabot-alert-auto-dismissed": { - /** @enum {string} */ - action: "auto_dismissed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert auto-reopened event */ - "webhook-dependabot-alert-auto-reopened": { - /** @enum {string} */ - action: "auto_reopened"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert created event */ - "webhook-dependabot-alert-created": { - /** @enum {string} */ - action: "created"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert dismissed event */ - "webhook-dependabot-alert-dismissed": { - /** @enum {string} */ - action: "dismissed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert fixed event */ - "webhook-dependabot-alert-fixed": { - /** @enum {string} */ - action: "fixed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert reintroduced event */ - "webhook-dependabot-alert-reintroduced": { - /** @enum {string} */ - action: "reintroduced"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert reopened event */ - "webhook-dependabot-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** deploy_key created event */ - "webhook-deploy-key-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ - key: { - added_by?: string | null; - created_at: string; - id: number; - key: string; - last_used?: string | null; - read_only: boolean; - title: string; - /** Format: uri */ - url: string; - verified: boolean; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** deploy_key deleted event */ - "webhook-deploy-key-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ - key: { - added_by?: string | null; - created_at: string; - id: number; - key: string; - last_used?: string | null; - read_only: boolean; - title: string; - /** Format: uri */ - url: string; - verified: boolean; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** deployment created event */ - "webhook-deployment-created": { - /** @enum {string} */ - action: "created"; - /** - * Deployment - * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). - */ - deployment: { - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - environment: string; - id: number; - node_id: string; - original_environment: string; - payload: Record | string; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + put: operations["actions/set-github-actions-permissions-organization"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/permissions/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories enabled for GitHub Actions in an organization + * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "workflow_job" | "pull_request_review_thread" | "merge_queue_entry" | "secret_scanning_alert_location" | "merge_group")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - production_environment?: boolean; - ref: string; - /** Format: uri */ - repository_url: string; - sha: string; - /** Format: uri */ - statuses_url: string; - task: string; - transient_environment?: boolean; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - /** Deployment Workflow Run */ - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - }) | null; - }; - /** deployment protection rule requested event */ - "webhook-deployment-protection-rule-requested": { - /** @enum {string} */ - action?: "requested"; - /** @description The name of the environment that has the deployment protection rule. */ - environment?: string; - /** @description The event that triggered the deployment protection rule. */ - event?: string; - /** - * Format: uri - * @description The URL to review the deployment protection rule. - */ - deployment_callback_url?: string; - deployment?: components["schemas"]["deployment"]; - pull_requests?: components["schemas"]["pull-request"][]; - repository?: components["schemas"]["repository-webhooks"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-deployment-review-approved": { - /** @enum {string} */ - action: "approved"; - approver?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - comment?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - reviewers?: ({ - /** User */ - reviewer?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @enum {string} */ - type?: "User"; - })[]; - sender: components["schemas"]["simple-user-webhooks"]; - since: string; - workflow_job_run?: { - conclusion: null; - created_at: string; - environment: string; - html_url: string; - id: number; - name: null; - status: string; - updated_at: string; - }; - workflow_job_runs?: ({ - conclusion?: null; - created_at?: string; - environment?: string; - html_url?: string; - id?: number; - name?: string | null; - status?: string; - updated_at?: string; - })[]; - /** Deployment Workflow Run */ - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - }) | null; - }; - "webhook-deployment-review-rejected": { - /** @enum {string} */ - action: "rejected"; - approver?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - comment?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - reviewers?: ({ - /** User */ - reviewer?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @enum {string} */ - type?: "User"; - })[]; - sender: components["schemas"]["simple-user-webhooks"]; - since: string; - workflow_job_run?: { - conclusion: null; - created_at: string; - environment: string; - html_url: string; - id: number; - name: null; - status: string; - updated_at: string; - }; - workflow_job_runs?: ({ - conclusion?: string | null; - created_at?: string; - environment?: string; - html_url?: string; - id?: number; - name?: string | null; - status?: string; - updated_at?: string; - })[]; - /** Deployment Workflow Run */ - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - display_title: string; - }) | null; - }; - "webhook-deployment-review-requested": { - /** @enum {string} */ - action: "requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - environment: string; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** User */ - requestor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - reviewers: ({ - /** User */ - reviewer?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @enum {string} */ - type?: "User" | "Team"; - })[]; - sender: components["schemas"]["simple-user-webhooks"]; - since: string; - workflow_job_run: { - conclusion: null; - created_at: string; - environment: string; - html_url: string; - id: number; - name: string | null; - status: string; - updated_at: string; - }; - /** Deployment Workflow Run */ - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - display_title: string; - }) | null; - }; - /** deployment_status created event */ - "webhook-deployment-status-created": { - /** @enum {string} */ - action: "created"; - check_run?: ({ - /** Format: date-time */ - completed_at: string | null; - /** - * @description The result of the completed check run. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | null; - /** Format: uri */ - details_url: string; - external_id: string; - /** @description The SHA of the commit that is being checked. */ - head_sha: string; - /** Format: uri */ - html_url: string; - /** @description The id of the check. */ - id: number; - /** @description The name of the check run. */ - name: string; - node_id: string; - /** Format: date-time */ - started_at: string; - /** - * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; - /** Format: uri */ - url: string; - }) | null; - /** - * Deployment - * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). - */ - deployment: { - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - environment: string; - id: number; - node_id: string; - original_environment: string; - payload: string | Record | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_queue_entry" | "workflow_job" | "pull_request_review_thread" | "secret_scanning_alert_location" | "merge_group")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - production_environment?: boolean; - ref: string; - /** Format: uri */ - repository_url: string; - sha: string; - /** Format: uri */ - statuses_url: string; - task: string; - transient_environment?: boolean; - updated_at: string; - /** Format: uri */ - url: string; - }; - /** @description The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses). */ - deployment_status: { - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - deployment_url: string; - /** @description The optional human-readable description added to the status. */ - description: string; - environment: string; - /** Format: uri */ - environment_url?: string; - id: number; - /** Format: uri */ - log_url?: string; - node_id: string; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job" | "merge_group" | "secret_scanning_alert_location")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - /** Format: uri */ - repository_url: string; - /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ - state: string; - /** @description The optional link added to the status. */ - target_url: string; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow?: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - /** Deployment Workflow Run */ - workflow_run?: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "startup_failure"; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - }) | null; - }; - /** discussion answered event */ - "webhook-discussion-answered": { - /** @enum {string} */ - action: "answered"; - answer: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - /** Format: date-time */ - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion category changed event */ - "webhook-discussion-category-changed": { - /** @enum {string} */ - action: "category_changed"; - changes: { - category: { - from: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - }; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion closed event */ - "webhook-discussion-closed": { - /** @enum {string} */ - action: "closed"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion_comment created event */ - "webhook-discussion-comment-created": { - /** @enum {string} */ - action: "created"; - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: number | null; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion_comment deleted event */ - "webhook-discussion-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: number | null; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion_comment edited event */ - "webhook-discussion-comment-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body: { - from: string; - }; - }; - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: number | null; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion created event */ - "webhook-discussion-created": { - /** @enum {string} */ - action: "created"; - discussion: ({ - active_lock_reason: string | null; - answer_chosen_at: string | null; - /** User */ - answer_chosen_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - answer_html_url: string | null; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string | null; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: null; - answer_chosen_at: null; - answer_chosen_by: null; - answer_html_url: string | null; - author_association?: string; - body?: string | null; - category?: { - created_at?: string; - description?: string; - emoji?: string; - id?: number; - is_answerable?: boolean; - name?: string; - node_id?: string; - repository_id?: number; - slug?: string; - updated_at?: string; - }; - comments?: number; - created_at?: string; - html_url?: string; - id?: number; - /** @enum {boolean} */ - locked: false; - node_id?: string; - number?: number; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "open" | "converting" | "transferring"; - timeline_url?: string; - title?: string; - updated_at?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion deleted event */ - "webhook-discussion-deleted": { - /** @enum {string} */ - action: "deleted"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion edited event */ - "webhook-discussion-edited": { - /** @enum {string} */ - action: "edited"; - changes?: { - body?: { - from: string; - }; - title?: { - from: string; - }; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion labeled event */ - "webhook-discussion-labeled": { - /** @enum {string} */ - action: "labeled"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion locked event */ - "webhook-discussion-locked": { - /** @enum {string} */ - action: "locked"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion pinned event */ - "webhook-discussion-pinned": { - /** @enum {string} */ - action: "pinned"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion reopened event */ - "webhook-discussion-reopened": { - /** @enum {string} */ - action: "reopened"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion transferred event */ - "webhook-discussion-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - new_discussion: components["schemas"]["discussion"]; - new_repository: components["schemas"]["repository-webhooks"]; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unanswered event */ - "webhook-discussion-unanswered": { - /** @enum {string} */ - action: "unanswered"; - discussion: components["schemas"]["discussion"]; - old_answer: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - /** Format: date-time */ - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unlabeled event */ - "webhook-discussion-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unlocked event */ - "webhook-discussion-unlocked": { - /** @enum {string} */ - action: "unlocked"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unpinned event */ - "webhook-discussion-unpinned": { - /** @enum {string} */ - action: "unpinned"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * fork event - * @description A user forks a repository. - */ - "webhook-fork": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. */ - forkee: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) & ({ - allow_forking?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - deployments_url?: string; - description?: string | null; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - /** @enum {boolean} */ - fork?: true; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: string | null; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: null; - languages_url?: string; - license?: Record | null; - merges_url?: string; - milestones_url?: string; - mirror_url?: null; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - public?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: null[]; - trees_url?: string; - updated_at?: string; - url?: string; - visibility?: string; - watchers?: number; - watchers_count?: number; - }); - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** github_app_authorization revoked event */ - "webhook-github-app-authorization-revoked": { - /** @enum {string} */ - action: "revoked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** gollum event */ - "webhook-gollum": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The pages that were updated. */ - pages: ({ - /** - * @description The action that was performed on the page. Can be `created` or `edited`. - * @enum {string} - */ - action: "created" | "edited"; - /** - * Format: uri - * @description Points to the HTML wiki page. - */ - html_url: string; - /** @description The name of the page. */ - page_name: string; - /** @description The latest commit SHA of the page. */ - sha: string; - summary: string | null; - /** @description The current page title. */ - title: string; - })[]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation created event */ - "webhook-installation-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - /** User */ - requester?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation deleted event */ - "webhook-installation-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation new_permissions_accepted event */ - "webhook-installation-new-permissions-accepted": { - /** @enum {string} */ - action: "new_permissions_accepted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation_repositories added event */ - "webhook-installation-repositories-added": { - /** @enum {string} */ - action: "added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects, which were added to the installation. */ - repositories_added: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - /** @description An array of repository objects, which were removed from the installation. */ - repositories_removed: { - full_name?: string; - /** @description Unique identifier of the repository */ - id?: number; - /** @description The name of the repository. */ - name?: string; - node_id?: string; - /** @description Whether the repository is private or public. */ - private?: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** User */ - requester: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation_repositories removed event */ - "webhook-installation-repositories-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects, which were added to the installation. */ - repositories_added: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - /** @description An array of repository objects, which were removed from the installation. */ - repositories_removed: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** User */ - requester: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation suspend event */ - "webhook-installation-suspend": { - /** @enum {string} */ - action: "suspend"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-installation-target-renamed": { - account: { - archived_at?: string | null; - avatar_url: string; - created_at?: string; - description?: null; - events_url?: string; - followers?: number; - followers_url?: string; - following?: number; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - has_organization_projects?: boolean; - has_repository_projects?: boolean; - hooks_url?: string; - html_url: string; - id: number; - is_verified?: boolean; - issues_url?: string; - login?: string; - members_url?: string; - name?: string; - node_id: string; - organizations_url?: string; - public_gists?: number; - public_members_url?: string; - public_repos?: number; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - slug?: string; - starred_url?: string; - subscriptions_url?: string; - type?: string; - updated_at?: string; - url?: string; - website_url?: null; - }; - /** @enum {string} */ - action: "renamed"; - changes: { - login?: { - from: string; - }; - slug?: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - target_type: string; - }; - /** installation unsuspend event */ - "webhook-installation-unsuspend": { - /** @enum {string} */ - action: "unsuspend"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issue_comment created event */ - "webhook-issue-comment-created": { - /** @enum {string} */ - action: "created"; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. - */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: null | components["schemas"]["integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issue_comment deleted event */ - "webhook-issue-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. - */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: null | components["schemas"]["integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issue_comment edited event */ - "webhook-issue-comment-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment. */ - changes: { - body?: { - /** @description The previous version of the body. */ - from: string; - }; - }; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. - */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: null | components["schemas"]["integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues assigned event */ - "webhook-issues-assigned": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "assigned"; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues closed event */ - "webhook-issues-closed": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "closed" | "open"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues deleted event */ - "webhook-issues-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues demilestoned event */ - "webhook-issues-demilestoned": { - /** @enum {string} */ - action: "demilestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone?: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues edited event */ - "webhook-issues-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the issue. */ - changes: { - body?: { - /** @description The previous version of the body. */ - from: string; - }; - title?: { - /** @description The previous version of the title. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues labeled event */ - "webhook-issues-labeled": { - /** @enum {string} */ - action: "labeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues locked event */ - "webhook-issues-locked": { - /** @enum {string} */ - action: "locked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "security_and_analysis")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - /** @enum {boolean} */ - locked: true; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues milestoned event */ - "webhook-issues-milestoned": { - /** @enum {string} */ - action: "milestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues opened event */ - "webhook-issues-opened": { - /** @enum {string} */ - action: "opened"; - changes?: { - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - old_issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }) | null; - /** - * Repository - * @description A git repository - */ - old_repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues pinned event */ - "webhook-issues-pinned": { - /** @enum {string} */ - action: "pinned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues reopened event */ - "webhook-issues-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues transferred event */ - "webhook-issues-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - new_issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** - * Repository - * @description A git repository - */ - new_repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unassigned event */ - "webhook-issues-unassigned": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "unassigned"; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unlabeled event */ - "webhook-issues-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unlocked event */ - "webhook-issues-unlocked": { - /** @enum {string} */ - action: "unlocked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason: null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - /** @enum {boolean} */ - locked: false; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unpinned event */ - "webhook-issues-unpinned": { - /** @enum {string} */ - action: "unpinned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** label created event */ - "webhook-label-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** label deleted event */ - "webhook-label-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** label edited event */ - "webhook-label-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the label if the action was `edited`. */ - changes?: { - color?: { - /** @description The previous version of the color if the action was `edited`. */ - from: string; - }; - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase cancelled event */ - "webhook-marketplace-purchase-cancelled": { - /** @enum {string} */ - action: "cancelled"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: ({ - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }) & ({ - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase changed event */ - "webhook-marketplace-purchase-changed": { - /** @enum {string} */ - action: "changed"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: ({ - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }) & ({ - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean | null; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase pending_change event */ - "webhook-marketplace-purchase-pending-change": { - /** @enum {string} */ - action: "pending_change"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: ({ - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }) & ({ - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase pending_change_cancelled event */ - "webhook-marketplace-purchase-pending-change-cancelled": { - /** @enum {string} */ - action: "pending_change_cancelled"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: ({ - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }) & { - next_billing_date: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase purchased event */ - "webhook-marketplace-purchase-purchased": { - /** @enum {string} */ - action: "purchased"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: ({ - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }) & ({ - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** member added event */ - "webhook-member-added": { - /** @enum {string} */ - action: "added"; - changes?: { - permission?: { - /** @enum {string} */ - to: "write" | "admin" | "read"; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** member edited event */ - "webhook-member-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the collaborator permissions */ - changes: { - old_permission?: { - /** @description The previous permissions of the collaborator if the action was edited. */ - from: string; - }; - permission?: { - from?: string | null; - to?: string | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** member removed event */ - "webhook-member-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** membership added event */ - "webhook-membership-added": { - /** @enum {string} */ - action: "added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description The scope of the membership. Currently, can only be `team`. - * @enum {string} - */ - scope: "team"; - /** User */ - sender: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** @enum {string} */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** membership removed event */ - "webhook-membership-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description The scope of the membership. Currently, can only be `team`. - * @enum {string} - */ - scope: "team" | "organization"; - /** User */ - sender: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** @enum {string} */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - "webhook-merge-group-checks-requested": { - /** @enum {string} */ - action: "checks_requested"; - installation?: components["schemas"]["simple-installation"]; - merge_group: components["schemas"]["merge-group"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-merge-group-destroyed": { - /** @enum {string} */ - action: "destroyed"; - /** - * @description Explains why the merge group is being destroyed. The group could have been merged, removed from the queue (dequeued), or invalidated by an earlier queue entry being dequeued (invalidated). - * @enum {string} - */ - reason?: "merged" | "invalidated" | "dequeued"; - installation?: components["schemas"]["simple-installation"]; - merge_group: components["schemas"]["merge-group"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** meta deleted event */ - "webhook-meta-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The modified webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ - hook: { - active: boolean; - config: { - /** @enum {string} */ - content_type: "json" | "form"; - insecure_ssl: string; - secret?: string; - /** Format: uri */ - url: string; - }; - created_at: string; - events: ("*" | "branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "create" | "delete" | "deployment" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "meta" | "milestone" | "organization" | "org_block" | "package" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "pull_request_review_thread" | "push" | "registry_package" | "release" | "repository" | "repository_import" | "repository_vulnerability_alert" | "secret_scanning_alert" | "secret_scanning_alert_location" | "security_and_analysis" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_job" | "workflow_run" | "repository_dispatch" | "projects_v2_item")[]; - id: number; - name: string; - type: string; - updated_at: string; - }; - /** @description The id of the modified webhook. */ - hook_id: number; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: null | components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone closed event */ - "webhook-milestone-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone created event */ - "webhook-milestone-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone deleted event */ - "webhook-milestone-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone edited event */ - "webhook-milestone-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the milestone if the action was `edited`. */ - changes: { - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - due_on?: { - /** @description The previous version of the due date if the action was `edited`. */ - from: string; - }; - title?: { - /** @description The previous version of the title if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone opened event */ - "webhook-milestone-opened": { - /** @enum {string} */ - action: "opened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** org_block blocked event */ - "webhook-org-block-blocked": { - /** @enum {string} */ - action: "blocked"; - /** User */ - blocked_user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** org_block unblocked event */ - "webhook-org-block-unblocked": { - /** @enum {string} */ - action: "unblocked"; - /** User */ - blocked_user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization deleted event */ - "webhook-organization-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership?: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization member_added event */ - "webhook-organization-member-added": { - /** @enum {string} */ - action: "member_added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization member_invited event */ - "webhook-organization-member-invited": { - /** @enum {string} */ - action: "member_invited"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The invitation for the user or email if the action is `member_invited`. */ - invitation: { - /** Format: date-time */ - created_at: string; - email: string | null; - /** Format: date-time */ - failed_at: string | null; - failed_reason: string | null; - id: number; - /** Format: uri */ - invitation_teams_url: string; - /** User */ - inviter: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - login: string | null; - node_id: string; - role: string; - team_count: number; - invitation_source?: string; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** User */ - user?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** organization member_removed event */ - "webhook-organization-member-removed": { - /** @enum {string} */ - action: "member_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization renamed event */ - "webhook-organization-renamed": { - /** @enum {string} */ - action: "renamed"; - changes?: { - login?: { - from?: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership?: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Ruby Gems metadata */ - "webhook-rubygems-metadata": { - name?: string; - description?: string; - readme?: string; - homepage?: string; - version_info?: { - version?: string; - }; - platform?: string; - metadata?: { - [key: string]: string; - }; - repo?: string; - dependencies?: { - [key: string]: string; - }[]; - commit_oid?: string; - }; - /** package published event */ - "webhook-package-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description Information about the package. */ - package: { - created_at: string | null; - description: string | null; - ecosystem: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - namespace: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - package_type: string; - package_version: ({ - /** User */ - author?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body?: string | Record; - body_html?: string; - container_metadata?: ({ - labels?: Record | null; - manifest?: Record | null; - tag?: { - digest?: string; - name?: string; - }; - }) | null; - created_at?: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - /** Format: uri */ - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - npm_metadata?: ({ - name?: string; - version?: string; - npm_user?: string; - author?: Record | null; - bugs?: Record | null; - dependencies?: Record; - dev_dependencies?: Record; - peer_dependencies?: Record; - optional_dependencies?: Record; - description?: string; - dist?: Record | null; - git_head?: string; - homepage?: string; - license?: string; - main?: string; - repository?: Record | null; - scripts?: Record; - id?: string; - node_version?: string; - npm_version?: string; - has_shrinkwrap?: boolean; - maintainers?: Record[]; - contributors?: Record[]; - engines?: Record; - keywords?: string[]; - files?: string[]; - bin?: Record; - man?: Record; - directories?: Record | null; - os?: string[]; - cpu?: string[]; - readme?: string; - installation_command?: string; - release_id?: number; - commit_oid?: string; - published_via_actions?: boolean; - deleted_by_id?: number; - }) | null; - nuget_metadata?: (({ - id?: number | string; - name?: string; - value?: OneOf<[boolean, string, number, { - url?: string; - branch?: string; - commit?: string; - type?: string; - }]>; - })[]) | null; - package_files: ({ - content_type: string; - created_at: string; - /** Format: uri */ - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string | null; - size: number; - state: string | null; - updated_at: string; - })[]; - package_url?: string; - prerelease?: boolean; - release?: { - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - created_at: string; - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - /** Format: uri */ - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - source_url?: string; - summary: string; - tag_name?: string; - target_commitish?: string; - target_oid?: string; - updated_at?: string; - version: string; - }) | null; - registry: { - /** Format: uri */ - about_url: string; - name: string; - type: string; - /** Format: uri */ - url: string; - vendor: string; - } | null; - updated_at: string | null; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** package updated event */ - "webhook-package-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description Information about the package. */ - package: { - created_at: string; - description: string | null; - ecosystem: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - namespace: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - package_type: string; - package_version: { - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string; - body_html: string; - created_at: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - /** Format: uri */ - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - package_files: ({ - content_type: string; - created_at: string; - /** Format: uri */ - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string; - size: number; - state: string; - updated_at: string; - })[]; - package_url?: string; - prerelease?: boolean; - release?: { - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - created_at: string; - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - /** Format: uri */ - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - /** Format: uri */ - source_url?: string; - summary: string; - tag_name?: string; - target_commitish: string; - target_oid: string; - updated_at: string; - version: string; - }; - registry: { - /** Format: uri */ - about_url: string; - name: string; - type: string; - /** Format: uri */ - url: string; - vendor: string; - } | null; - updated_at: string; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** page_build event */ - "webhook-page-build": { - /** @description The [List GitHub Pages builds](https://docs.github.com/rest/pages/pages#list-github-pages-builds) itself. */ - build: { - commit: string | null; - created_at: string; - duration: number; - error: { - message: string | null; - }; - /** User */ - pusher: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - status: string; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - id: number; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** personal_access_token_request approved event */ - "webhook-personal-access-token-request-approved": { - /** @enum {string} */ - action: "approved"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request cancelled event */ - "webhook-personal-access-token-request-cancelled": { - /** @enum {string} */ - action: "cancelled"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request created event */ - "webhook-personal-access-token-request-created": { - /** @enum {string} */ - action: "created"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request denied event */ - "webhook-personal-access-token-request-denied": { - /** @enum {string} */ - action: "denied"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - "webhook-ping": { - /** - * Webhook - * @description The webhook that is being pinged - */ - hook?: { - /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ - active: boolean; - /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ - app_id?: number; - config: { - content_type?: components["schemas"]["webhook-config-content-type"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - secret?: components["schemas"]["webhook-config-secret"]; - url?: components["schemas"]["webhook-config-url"]; - }; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - deliveries_url?: string; - /** @description Determines what events the hook is triggered for. Default: ['push']. */ - events: string[]; - /** @description Unique identifier of the webhook. */ - id: number; - last_response?: components["schemas"]["hook-response"]; - /** - * @description The type of webhook. The only valid value is 'web'. - * @enum {string} - */ - name: "web"; - /** Format: uri */ - ping_url?: string; - /** Format: uri */ - test_url?: string; - type: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url?: string; - }; - /** @description The ID of the webhook that triggered the ping. */ - hook_id?: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - /** @description Random string of GitHub zen. */ - zen?: string; - }; - /** @description The webhooks ping payload encoded with URL encoding. */ - "webhook-ping-form-encoded": { - /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** project_card converted event */ - "webhook-project-card-converted": { - /** @enum {string} */ - action: "converted"; - changes: { - note: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card created event */ - "webhook-project-card-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card deleted event */ - "webhook-project-card-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number | null; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: null | components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card edited event */ - "webhook-project-card-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - note: { - from: string | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card moved event */ - "webhook-project-card-moved": { - /** @enum {string} */ - action: "moved"; - changes?: { - column_id: { - from: number; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project_card: ({ - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) & ({ - after_id: number | null; - archived?: boolean; - column_id?: number; - column_url?: string; - created_at?: string; - creator?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - } | null; - id?: number; - node_id?: string; - note?: string | null; - project_url?: string; - updated_at?: string; - url?: string; - }); - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project closed event */ - "webhook-project-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column created event */ - "webhook-project-column-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column deleted event */ - "webhook-project-column-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: null | components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column edited event */ - "webhook-project-column-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - name?: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column moved event */ - "webhook-project-column-moved": { - /** @enum {string} */ - action: "moved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project created event */ - "webhook-project-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project deleted event */ - "webhook-project-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: null | components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project edited event */ - "webhook-project-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the project if the action was `edited`. */ - changes?: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The changes to the project if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project reopened event */ - "webhook-project-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Closed Event */ - "webhook-projects-v2-project-closed": { - /** @enum {string} */ - action: "closed"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** @description A project was created */ - "webhook-projects-v2-project-created": { - /** @enum {string} */ - action: "created"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Deleted Event */ - "webhook-projects-v2-project-deleted": { - /** @enum {string} */ - action: "deleted"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Edited Event */ - "webhook-projects-v2-project-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - description?: { - from?: string | null; - to?: string | null; - }; - public?: { - from?: boolean; - to?: boolean; - }; - short_description?: { - from?: string | null; - to?: string | null; - }; - title?: { - from?: string; - to?: string; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Archived Event */ - "webhook-projects-v2-item-archived": { - /** @enum {string} */ - action: "archived"; - changes: { - archived_at?: { - /** Format: date-time */ - from?: string | null; - /** Format: date-time */ - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Converted Event */ - "webhook-projects-v2-item-converted": { - /** @enum {string} */ - action: "converted"; - changes: { - content_type?: { - from?: string | null; - to?: string; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Created Event */ - "webhook-projects-v2-item-created": { - /** @enum {string} */ - action: "created"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Deleted Event */ - "webhook-projects-v2-item-deleted": { - /** @enum {string} */ - action: "deleted"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Edited Event */ - "webhook-projects-v2-item-edited": { - /** @enum {string} */ - action: "edited"; - changes?: OneOf<[{ - field_value: { - field_node_id?: string; - field_type?: string; - }; - }, { - body: { - from?: string | null; - to?: string | null; - }; - }]>; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Reordered Event */ - "webhook-projects-v2-item-reordered": { - /** @enum {string} */ - action: "reordered"; - changes: { - previous_projects_v2_item_node_id?: { - from?: string | null; - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Restored Event */ - "webhook-projects-v2-item-restored": { - /** @enum {string} */ - action: "restored"; - changes: { - archived_at?: { - /** Format: date-time */ - from?: string | null; - /** Format: date-time */ - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Reopened Event */ - "webhook-projects-v2-project-reopened": { - /** @enum {string} */ - action: "reopened"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** public event */ - "webhook-public": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request assigned event */ - "webhook-pull-request-assigned": { - /** @enum {string} */ - action: "assigned"; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request auto_merge_disabled event */ - "webhook-pull-request-auto-merge-disabled": { - /** @enum {string} */ - action: "auto_merge_disabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - reason: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request auto_merge_enabled event */ - "webhook-pull-request-auto-merge-enabled": { - /** @enum {string} */ - action: "auto_merge_enabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - reason?: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request closed event */ - "webhook-pull-request-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request converted_to_draft event */ - "webhook-pull-request-converted-to-draft": { - /** @enum {string} */ - action: "converted_to_draft"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request demilestoned event */ - "webhook-pull-request-demilestoned": { - /** @enum {string} */ - action: "demilestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - milestone?: components["schemas"]["milestone"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request dequeued event */ - "webhook-pull-request-dequeued": { - /** @enum {string} */ - action: "dequeued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - reason: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request edited event */ - "webhook-pull-request-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment if the action was `edited`. */ - changes: { - base?: { - ref: { - from: string; - }; - sha: { - from: string; - }; - }; - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - title?: { - /** @description The previous version of the title if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request enqueued event */ - "webhook-pull-request-enqueued": { - /** @enum {string} */ - action: "enqueued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request labeled event */ - "webhook-pull-request-labeled": { - /** @enum {string} */ - action: "labeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request locked event */ - "webhook-pull-request-locked": { - /** @enum {string} */ - action: "locked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request milestoned event */ - "webhook-pull-request-milestoned": { - /** @enum {string} */ - action: "milestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - milestone?: components["schemas"]["milestone"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request opened event */ - "webhook-pull-request-opened": { - /** @enum {string} */ - action: "opened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request ready_for_review event */ - "webhook-pull-request-ready-for-review": { - /** @enum {string} */ - action: "ready_for_review"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request reopened event */ - "webhook-pull-request-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_comment created event */ - "webhook-pull-request-review-comment-created": { - /** @enum {string} */ - action: "created"; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number | null; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | null; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge?: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions?: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_comment deleted event */ - "webhook-pull-request-review-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | null; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge?: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_comment edited event */ - "webhook-pull-request-review-comment-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment. */ - changes: { - body?: { - /** @description The previous version of the body. */ - from: string; - }; - }; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | null; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge?: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review dismissed event */ - "webhook-pull-request-review-dismissed": { - /** @enum {string} */ - action: "dismissed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the review. */ - body: string | null; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - /** @enum {string} */ - state: "dismissed" | "approved" | "changes_requested"; - /** Format: date-time */ - submitted_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review edited event */ - "webhook-pull-request-review-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the review. */ - body: string | null; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - state: string; - /** Format: date-time */ - submitted_at: string | null; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request review_request_removed event */ - "webhook-pull-request-review-request-removed": OneOf<[{ - /** @enum {string} */ - action: "review_request_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title. - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** User */ - requested_reviewer: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - sender: components["schemas"]["simple-user-webhooks"]; - }, { - /** @enum {string} */ - action: "review_request_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; + get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; + /** + * Set selected repositories enabled for GitHub Actions in an organization + * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Enable a selected repository for GitHub Actions in an organization + * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/enable-selected-repository-github-actions-organization"]; + post: never; + /** + * Disable a selected repository for GitHub Actions in an organization + * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + delete: operations["actions/disable-selected-repository-github-actions-organization"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/permissions/selected-actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get allowed actions and reusable workflows for an organization + * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-allowed-actions-organization"]; + /** + * Set allowed actions and reusable workflows for an organization + * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-allowed-actions-organization"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/permissions/workflow": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default workflow permissions for an organization + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; + /** + * Set default workflow permissions for an organization + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List self-hosted runners for an organization + * @description Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-self-hosted-runners-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/downloads": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List runner applications for an organization + * @description Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-runner-applications-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/generate-jitconfig": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create configuration for a just-in-time runner for an organization + * @description Generates a configuration that can be passed to the runner application at startup. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + post: operations["actions/generate-runner-jitconfig-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/registration-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a registration token for an organization + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + * + * Example using registration token: + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + post: operations["actions/create-registration-token-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/remove-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a remove token for an organization + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + * + * Example using remove token: + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + post: operations["actions/create-remove-token-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/{runner_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a self-hosted runner for an organization + * @description Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/get-self-hosted-runner-for-org"]; + put: never; + post: never; + /** + * Delete a self-hosted runner from an organization + * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/delete-self-hosted-runner-from-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for a self-hosted runner for an organization + * @description Lists all labels for a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; + /** + * Set custom labels for a self-hosted runner for an organization + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; + /** + * Add custom labels to a self-hosted runner for an organization + * @description Add custom labels to a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-org"]; + /** + * Remove all custom labels from a self-hosted runner for an organization + * @description Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Remove a custom label from a self-hosted runner for an organization + * @description Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/list-org-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-org-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + put: operations["actions/create-or-update-org-secret"]; + post: never; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + delete: operations["actions/delete-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + put: operations["actions/set-selected-repos-for-org-secret"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. The visibility is set when you [Create or + * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + put: operations["actions/add-selected-repo-to-org-secret"]; + post: never; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + delete: operations["actions/remove-selected-repo-from-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization variables + * @description Lists all organization variables. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/list-org-variables"]; + put: never; + /** + * Create an organization variable + * @description Creates an organization variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + post: operations["actions/create-org-variable"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/variables/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization variable + * @description Gets a specific variable in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/get-org-variable"]; + put: never; + post: never; + /** + * Delete an organization variable + * @description Deletes an organization variable using the variable name. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + delete: operations["actions/delete-org-variable"]; + options: never; + head: never; + /** + * Update an organization variable + * @description Updates an organization variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + patch: operations["actions/update-org-variable"]; + trace: never; + }; + "/orgs/{org}/actions/variables/{name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for an organization variable + * @description Lists all repositories that can access an organization variable + * that is available to selected repositories. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/list-selected-repos-for-org-variable"]; + /** + * Set selected repositories for an organization variable + * @description Replaces all repositories for an organization variable that is available + * to selected repositories. Organization variables that are available to selected + * repositories have their `visibility` field set to `selected`. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this + * endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + put: operations["actions/set-selected-repos-for-org-variable"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add selected repository to an organization variable + * @description Adds a repository to an organization variable that is available to selected repositories. + * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + put: operations["actions/add-selected-repo-to-org-variable"]; + post: never; + /** + * Remove selected repository from an organization variable + * @description Removes a repository from an organization variable that is + * available to selected repositories. Organization variables that are available to + * selected repositories have their `visibility` field set to `selected`. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + delete: operations["actions/remove-selected-repo-from-org-variable"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/blocks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users blocked by an organization + * @description List the users blocked by an organization. + */ + get: operations["orgs/list-blocked-users"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/blocks/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user is blocked by an organization + * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. + */ + get: operations["orgs/check-blocked-user"]; + /** + * Block a user from an organization + * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. + */ + put: operations["orgs/block-user"]; + post: never; + /** + * Unblock a user from an organization + * @description Unblocks the given user on behalf of the specified organization. + */ + delete: operations["orgs/unblock-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/code-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List code scanning alerts for an organization + * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/list-alerts-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for the organization + * @description Lists the codespaces associated to a specified organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-in-organization"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/access": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Manage access control for organization codespaces + * @deprecated + * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/set-codespaces-access"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/access/selected_users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add users to Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/set-codespaces-access-users"]; + /** + * Remove users from Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will no longer be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-codespaces-access-users"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization secrets + * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-org-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization public key + * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization secret + * @description Gets an organization secret without revealing its encrypted value. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/create-or-update-org-secret"]; + post: never; + /** + * Delete an organization secret + * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/set-selected-repos-for-org-secret"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/add-selected-repo-to-org-secret"]; + post: never; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/remove-selected-repo-from-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/copilot/billing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Copilot for Business seat information and settings for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Gets information about an organization's Copilot for Business subscription, including seat breakdown + * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[Configuring GitHub Copilot settings in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization)". + * + * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + */ + get: operations["copilot/get-copilot-organization-details"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/copilot/billing/seats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List all Copilot for Business seat assignments for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Lists all Copilot for Business seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). + * + * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + */ + get: operations["copilot/list-copilot-seats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/copilot/billing/selected_teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add teams to the Copilot for Business subscription for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot for Business seat for all users within each specified team. + * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". + * + * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + * + * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + */ + post: operations["copilot/add-copilot-for-business-seats-for-teams"]; + /** + * Remove teams from the Copilot for Business subscription for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Cancels the Copilot for Business seat assignment for all members of each team specified. + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". + * + * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/copilot/billing/selected_users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add users to the Copilot for Business subscription for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot for Business seat for each user specified. + * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". + * + * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + * + * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". + */ + post: operations["copilot/add-copilot-for-business-seats-for-users"]; + /** + * Remove users from the Copilot for Business subscription for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Cancels the Copilot for Business seat assignment for each user specified. + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)" + * + * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Dependabot alerts for an organization + * @description Lists Dependabot alerts for an organization. + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + */ + get: operations["dependabot/list-alerts-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + get: operations["dependabot/list-org-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + get: operations["dependabot/get-org-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + get: operations["dependabot/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + */ + put: operations["dependabot/create-or-update-org-secret"]; + post: never; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + delete: operations["dependabot/delete-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + get: operations["dependabot/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + put: operations["dependabot/set-selected-repos-for-org-secret"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + put: operations["dependabot/add-selected-repo-to-org-secret"]; + post: never; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + delete: operations["dependabot/remove-selected-repo-from-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for organization + * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List public organization events */ + get: operations["activity/list-public-org-events"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/failed_invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List failed organization invitations + * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. + */ + get: operations["orgs/list-failed-invitations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List organization webhooks */ + get: operations["orgs/list-webhooks"]; + put: never; + /** + * Create an organization webhook + * @description Here's how you can create a hook that posts payloads in JSON format: + */ + post: operations["orgs/create-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization webhook + * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." + */ + get: operations["orgs/get-webhook"]; + put: never; + post: never; + /** Delete an organization webhook */ + delete: operations["orgs/delete-webhook"]; + options: never; + head: never; + /** + * Update an organization webhook + * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." + */ + patch: operations["orgs/update-webhook"]; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a webhook configuration for an organization + * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + get: operations["orgs/get-webhook-config-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a webhook configuration for an organization + * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + patch: operations["orgs/update-webhook-config-for-org"]; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deliveries for an organization webhook + * @description Returns a list of webhook deliveries for a webhook configured in an organization. + */ + get: operations["orgs/list-webhook-deliveries"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a webhook delivery for an organization webhook + * @description Returns a delivery for a webhook configured in an organization. + */ + get: operations["orgs/get-webhook-delivery"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Redeliver a delivery for an organization webhook + * @description Redeliver a delivery for a webhook configured in an organization. + */ + post: operations["orgs/redeliver-webhook-delivery"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}/pings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Ping an organization webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + post: operations["orgs/ping-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization installation for the authenticated app + * @description Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-org-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List app installations for an organization + * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + */ + get: operations["orgs/list-app-installations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get interaction restrictions for an organization + * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. + */ + get: operations["interactions/get-restrictions-for-org"]; + /** + * Set interaction restrictions for an organization + * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + */ + put: operations["interactions/set-restrictions-for-org"]; + post: never; + /** + * Remove interaction restrictions for an organization + * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + delete: operations["interactions/remove-restrictions-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pending organization invitations + * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + get: operations["orgs/list-pending-invitations"]; + put: never; + /** + * Create an organization invitation + * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["orgs/create-invitation"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Cancel an organization invitation + * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + delete: operations["orgs/cancel-invitation"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/invitations/{invitation_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization invitation teams + * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + get: operations["orgs/list-invitation-teams"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization issues assigned to the authenticated user + * @description List issues in an organization assigned to the authenticated user. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization members + * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + get: operations["orgs/list-members"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check organization membership for a user + * @description Check if a user is, publicly or privately, a member of the organization. + */ + get: operations["orgs/check-membership-for-user"]; + put: never; + post: never; + /** + * Remove an organization member + * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + */ + delete: operations["orgs/remove-member"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members/{username}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for a user in organization + * @description Lists the codespaces that a member of an organization has for repositories in that organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-codespaces-for-user-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a codespace from the organization + * @description Deletes a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-from-organization"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Stop a codespace for an organization user + * @description Stops a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + post: operations["codespaces/stop-in-organization"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members/{username}/copilot": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Copilot for Business seat assignment details for a user + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Gets the GitHub Copilot for Business seat assignment details for a member of an organization who currently has access to GitHub Copilot. + * + * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + */ + get: operations["copilot/get-copilot-seat-assignment-details-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get organization membership for a user + * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. + */ + get: operations["orgs/get-membership-for-user"]; + /** + * Set organization membership for a user + * @description Only authenticated organization owners can add a member to the organization or update the member's role. + * + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. + */ + put: operations["orgs/set-membership-for-user"]; + post: never; + /** + * Remove organization membership for a user + * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. + * + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. + */ + delete: operations["orgs/remove-membership-for-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/migrations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization migrations + * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). + * + * A list of `repositories` is only returned for export migrations. + */ + get: operations["migrations/list-for-org"]; + put: never; + /** + * Start an organization migration + * @description Initiates the generation of a migration archive. + */ + post: operations["migrations/start-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/migrations/{migration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization migration status + * @description Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + get: operations["migrations/get-status-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/migrations/{migration_id}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download an organization migration archive + * @description Fetches the URL to a migration archive. + */ + get: operations["migrations/download-archive-for-org"]; + put: never; + post: never; + /** + * Delete an organization migration archive + * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + delete: operations["migrations/delete-archive-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Unlock an organization repository + * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + delete: operations["migrations/unlock-repo-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/migrations/{migration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories in an organization migration + * @description List all the repositories for this organization migration. + */ + get: operations["migrations/list-repos-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/outside_collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List outside collaborators for an organization + * @description List all users who are outside collaborators of an organization. + */ + get: operations["orgs/list-outside-collaborators"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/outside_collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Convert an organization member to outside collaborator + * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + */ + put: operations["orgs/convert-member-to-outside-collaborator"]; + post: never; + /** + * Remove outside collaborator from an organization + * @description Removing a user from this list will remove them from all the organization's repositories. + */ + delete: operations["orgs/remove-outside-collaborator"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for an organization + * @description Lists packages in an organization readable by the user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-organization"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for an organization + * @description Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-organization"]; + put: never; + post: never; + /** + * Delete a package for an organization + * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + delete: operations["packages/delete-package-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore a package for an organization + * @description Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + post: operations["packages/restore-package-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by an organization + * @description Lists package versions for a package owned by an organization. + * + * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for an organization + * @description Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-organization"]; + put: never; + post: never; + /** + * Delete package version for an organization + * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore package version for an organization + * @description Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-token-requests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List requests to access organization resources with fine-grained personal access tokens + * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can call this API, + * using the `organization_personal_access_token_requests: read` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + get: operations["orgs/list-pat-grant-requests"]; + put: never; + /** + * Review requests to access organization resources with fine-grained personal access tokens + * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, + * using the `organization_personal_access_token_requests: write` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + post: operations["orgs/review-pat-grant-requests-in-bulk"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Review a request to access organization resources with a fine-grained personal access token + * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, + * using the `organization_personal_access_token_requests: write` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + post: operations["orgs/review-pat-grant-request"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories requested to be accessed by a fine-grained personal access token + * @description Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can call this API, + * using the `organization_personal_access_token_requests: read` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + get: operations["orgs/list-pat-grant-request-repositories"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List fine-grained personal access tokens with access to organization resources + * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can call this API, + * using the `organization_personal_access_tokens: read` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + get: operations["orgs/list-pat-grants"]; + put: never; + /** + * Update the access to organization resources via fine-grained personal access tokens + * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, + * using the `organization_personal_access_tokens: write` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + post: operations["orgs/update-pat-accesses"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Update the access a fine-grained personal access token has to organization resources + * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, + * using the `organization_personal_access_tokens: write` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + post: operations["orgs/update-pat-access"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories a fine-grained personal access token has access to + * @description Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can call this API, + * using the `organization_personal_access_tokens: read` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + get: operations["orgs/list-pat-grant-repositories"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization projects + * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: operations["projects/list-for-org"]; + put: never; + /** + * Create an organization project + * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + post: operations["projects/create-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/public_members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public organization members + * @description Members of an organization can choose to have their membership publicized or not. + */ + get: operations["orgs/list-public-members"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/public_members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check public organization membership for a user + * @description Check if the provided user is a public member of the organization. + */ + get: operations["orgs/check-public-membership-for-user"]; + /** + * Set public organization membership for the authenticated user + * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["orgs/set-public-membership-for-authenticated-user"]; + post: never; + /** + * Remove public organization membership for the authenticated user + * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. + */ + delete: operations["orgs/remove-public-membership-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization repositories + * @description Lists repositories for the specified organization. + * + * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + get: operations["repos/list-for-org"]; + put: never; + /** + * Create an organization repository + * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + post: operations["repos/create-in-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/rulesets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all organization repository rulesets + * @description Get all the repository rulesets for an organization. + */ + get: operations["repos/get-org-rulesets"]; + put: never; + /** + * Create an organization repository ruleset + * @description Create a repository ruleset for an organization. + */ + post: operations["repos/create-org-ruleset"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/rulesets/rule-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization rule suites + * @description Lists suites of rule evaluations at the organization level. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suites"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization rule suite + * @description Gets information about a suite of rule evaluations from within an organization. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suite"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/rulesets/{ruleset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization repository ruleset + * @description Get a repository ruleset for an organization. + */ + get: operations["repos/get-org-ruleset"]; + /** + * Update an organization repository ruleset + * @description Update a ruleset for an organization. + */ + put: operations["repos/update-org-ruleset"]; + post: never; + /** + * Delete an organization repository ruleset + * @description Delete a ruleset for an organization. + */ + delete: operations["repos/delete-org-ruleset"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secret scanning alerts for an organization + * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/security-advisories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository security advisories for an organization + * @description Lists repository security advisories for an organization. + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission. + */ + get: operations["security-advisories/list-org-repository-advisories"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/security-managers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List security manager teams + * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. + * + * GitHub Apps must have the `administration` organization read permission to use this endpoint. + */ + get: operations["orgs/list-security-manager-teams"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/security-managers/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add a security manager team + * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." + * + * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. + * + * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. + */ + put: operations["orgs/add-security-manager-team"]; + post: never; + /** + * Remove a security manager team + * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." + * + * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. + * + * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. + */ + delete: operations["orgs/remove-security-manager-team"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/settings/billing/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions billing for an organization + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-github-actions-billing-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/settings/billing/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Packages billing for an organization + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-github-packages-billing-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/settings/billing/shared-storage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get shared storage billing for an organization + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-shared-storage-billing-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List teams + * @description Lists all teams in an organization that are visible to the authenticated user. + */ + get: operations["teams/list"]; + put: never; + /** + * Create a team + * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ + post: operations["teams/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a team by name + * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. + */ + get: operations["teams/get-by-name"]; + put: never; + post: never; + /** + * Delete a team + * @description To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. + */ + delete: operations["teams/delete-in-org"]; + options: never; + head: never; + /** + * Update a team + * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. + */ + patch: operations["teams/update-in-org"]; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussions + * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. + */ + get: operations["teams/list-discussions-in-org"]; + put: never; + /** + * Create a discussion + * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. + */ + post: operations["teams/create-discussion-in-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion + * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + get: operations["teams/get-discussion-in-org"]; + put: never; + post: never; + /** + * Delete a discussion + * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + delete: operations["teams/delete-discussion-in-org"]; + options: never; + head: never; + /** + * Update a discussion + * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + patch: operations["teams/update-discussion-in-org"]; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussion comments + * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + get: operations["teams/list-discussion-comments-in-org"]; + put: never; + /** + * Create a discussion comment + * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. + */ + post: operations["teams/create-discussion-comment-in-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion comment + * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + get: operations["teams/get-discussion-comment-in-org"]; + put: never; + post: never; + /** + * Delete a discussion comment + * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + delete: operations["teams/delete-discussion-comment-in-org"]; + options: never; + head: never; + /** + * Update a discussion comment + * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. + */ + patch: operations["teams/update-discussion-comment-in-org"]; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion comment + * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + get: operations["reactions/list-for-team-discussion-comment-in-org"]; + put: never; + /** + * Create reaction for a team discussion comment + * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + post: operations["reactions/create-for-team-discussion-comment-in-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete team discussion comment reaction + * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["reactions/delete-for-team-discussion-comment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion + * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + get: operations["reactions/list-for-team-discussion-in-org"]; + put: never; + /** + * Create reaction for a team discussion + * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + post: operations["reactions/create-for-team-discussion-in-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete team discussion reaction + * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["reactions/delete-for-team-discussion"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pending team invitations + * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + get: operations["teams/list-pending-invitations-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team members + * @description Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/list-members-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team membership for a user + * @description Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-in-org"]; + /** + * Add or update team membership for a user + * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + put: operations["teams/add-or-update-membership-for-user-in-org"]; + post: never; + /** + * Remove team membership for a user + * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. + */ + delete: operations["teams/remove-membership-for-user-in-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team projects + * @description Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + get: operations["teams/list-projects-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a project + * @description Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + get: operations["teams/check-permissions-for-project-in-org"]; + /** + * Add or update team project permissions + * @description Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + put: operations["teams/add-or-update-project-permissions-in-org"]; + post: never; + /** + * Remove a project from a team + * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. + */ + delete: operations["teams/remove-project-in-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team repositories + * @description Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + get: operations["teams/list-repos-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a repository + * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + get: operations["teams/check-permissions-for-repo-in-org"]; + /** + * Add or update team repository permissions + * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + put: operations["teams/add-or-update-repo-permissions-in-org"]; + post: never; + /** + * Remove a repository from a team + * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + delete: operations["teams/remove-repo-in-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List child teams + * @description Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + get: operations["teams/list-child-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/{security_product}/{enablement}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Enable or disable a security feature for an organization + * @description Enables or disables the specified security feature for all eligible repositories in an organization. + * + * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. + * A token with the 'write:org' scope is also required. + * + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + * + * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/columns/cards/{card_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project card + * @description Gets information about a project card. + */ + get: operations["projects/get-card"]; + put: never; + post: never; + /** + * Delete a project card + * @description Deletes a project card + */ + delete: operations["projects/delete-card"]; + options: never; + head: never; + /** Update an existing project card */ + patch: operations["projects/update-card"]; + trace: never; + }; + "/projects/columns/cards/{card_id}/moves": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Move a project card */ + post: operations["projects/move-card"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/columns/{column_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project column + * @description Gets information about a project column. + */ + get: operations["projects/get-column"]; + put: never; + post: never; + /** + * Delete a project column + * @description Deletes a project column. + */ + delete: operations["projects/delete-column"]; + options: never; + head: never; + /** Update an existing project column */ + patch: operations["projects/update-column"]; + trace: never; + }; + "/projects/columns/{column_id}/cards": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project cards + * @description Lists the project cards in a project. + */ + get: operations["projects/list-cards"]; + put: never; + /** Create a project card */ + post: operations["projects/create-card"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/columns/{column_id}/moves": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Move a project column */ + post: operations["projects/move-column"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project + * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: operations["projects/get"]; + put: never; + post: never; + /** + * Delete a project + * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + */ + delete: operations["projects/delete"]; + options: never; + head: never; + /** + * Update a project + * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + patch: operations["projects/update"]; + trace: never; + }; + "/projects/{project_id}/collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project collaborators + * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. + */ + get: operations["projects/list-collaborators"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/{project_id}/collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add project collaborator + * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. + */ + put: operations["projects/add-collaborator"]; + post: never; + /** + * Remove user as a collaborator + * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. + */ + delete: operations["projects/remove-collaborator"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/{project_id}/collaborators/{username}/permission": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get project permission for a user + * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. + */ + get: operations["projects/get-permission-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/{project_id}/columns": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project columns + * @description Lists the project columns in a project. + */ + get: operations["projects/list-columns"]; + put: never; + /** + * Create a project column + * @description Creates a new project column. + */ + post: operations["projects/create-column"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/rate_limit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get rate limit status for the authenticated user + * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search)." + * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." + * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." + * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." + * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: operations["rate-limit/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository + * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + * + * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + get: operations["repos/get"]; + put: never; + post: never; + /** + * Delete a repository + * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + */ + delete: operations["repos/delete"]; + options: never; + head: never; + /** + * Update a repository + * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. + */ + patch: operations["repos/update"]; + trace: never; + }; + "/repos/{owner}/{repo}/actions/artifacts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List artifacts for a repository + * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/list-artifacts-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an artifact + * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-artifact"]; + put: never; + post: never; + /** + * Delete an artifact + * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-artifact"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download an artifact + * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-artifact"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/cache/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions cache usage for a repository + * @description Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/caches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GitHub Actions caches for a repository + * @description Lists the GitHub Actions caches for a repository. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-list"]; + put: never; + post: never; + /** + * Delete GitHub Actions caches for a repository (using a cache key) + * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-key"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/caches/{cache_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a GitHub Actions cache for a repository (using a cache ID) + * @description Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-id"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a job for a workflow run + * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-job-for-workflow-run"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download job logs for a workflow run + * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-job-logs-for-workflow-run"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Re-run a job from a workflow run + * @description Re-run a job and its dependent jobs in a workflow run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/re-run-job-for-workflow-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/oidc/customization/sub": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the customization template for an OIDC subject claim for a repository + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. + */ + get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; + /** + * Set the customization template for an OIDC subject claim for a repository + * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/organization-secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository organization secrets + * @description Lists all organization secrets shared with a repository without revealing their encrypted + * values. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/list-repo-organization-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/organization-variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository organization variables + * @description Lists all organiation variables shared with a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/list-repo-organization-variables"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions permissions for a repository + * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + get: operations["actions/get-github-actions-permissions-repository"]; + /** + * Set GitHub Actions permissions for a repository + * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + put: operations["actions/set-github-actions-permissions-repository"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/permissions/access": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the level of access for workflows outside of the repository + * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + get: operations["actions/get-workflow-access-to-repository"]; + /** + * Set the level of access for workflows outside of the repository + * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + put: operations["actions/set-workflow-access-to-repository"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get allowed actions and reusable workflows for a repository + * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + get: operations["actions/get-allowed-actions-repository"]; + /** + * Set allowed actions and reusable workflows for a repository + * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + put: operations["actions/set-allowed-actions-repository"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/permissions/workflow": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default workflow permissions for a repository + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; + /** + * Set default workflow permissions for a repository + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List self-hosted runners for a repository + * @description Lists all self-hosted runners configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-self-hosted-runners-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/downloads": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List runner applications for a repository + * @description Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-runner-applications-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create configuration for a just-in-time runner for a repository + * @description Generates a configuration that can be passed to the runner application at startup. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + post: operations["actions/generate-runner-jitconfig-for-repo"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/registration-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a registration token for a repository + * @description Returns a token that you can pass to the `config` script. The token + * expires after one hour. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + * + * Example using registration token: + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided + * by this endpoint. + * + * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN``` + */ + post: operations["actions/create-registration-token-for-repo"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/remove-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a remove token for a repository + * @description Returns a token that you can pass to remove a self-hosted runner from + * a repository. The token expires after one hour. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + * + * Example using remove token: + * + * To remove your self-hosted runner from a repository, replace TOKEN with + * the remove token provided by this endpoint. + * + * ```config.sh remove --token TOKEN``` + */ + post: operations["actions/create-remove-token-for-repo"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a self-hosted runner for a repository + * @description Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/get-self-hosted-runner-for-repo"]; + put: never; + post: never; + /** + * Delete a self-hosted runner from a repository + * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/delete-self-hosted-runner-from-repo"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for a self-hosted runner for a repository + * @description Lists all labels for a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; + /** + * Set custom labels for a self-hosted runner for a repository + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; + /** + * Add custom labels to a self-hosted runner for a repository + * @description Add custom labels to a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-repo"]; + /** + * Remove all custom labels from a self-hosted runner for a repository + * @description Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Remove a custom label from a self-hosted runner for a repository + * @description Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List workflow runs for a repository + * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/list-workflow-runs-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a workflow run + * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-run"]; + put: never; + post: never; + /** + * Delete a workflow run + * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ + delete: operations["actions/delete-workflow-run"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the review history for a workflow run + * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-reviews-for-run"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Approve a workflow run for a fork pull request + * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/approve-workflow-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List workflow run artifacts + * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/list-workflow-run-artifacts"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a workflow run attempt + * @description Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. + */ + get: operations["actions/get-workflow-run-attempt"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List jobs for a workflow run attempt + * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + */ + get: operations["actions/list-jobs-for-workflow-run-attempt"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download workflow run attempt logs + * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-workflow-run-attempt-logs"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Cancel a workflow run + * @description Cancels a workflow run using its `id`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/cancel-workflow-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Review custom deployment protection rules for a workflow run + * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * **Note:** GitHub Apps can only review their own custom deployment protection rules. + * To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). + * + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. + */ + post: operations["actions/review-custom-gates-for-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Force cancel a workflow run + * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. + * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/force-cancel-workflow-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List jobs for a workflow run + * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + */ + get: operations["actions/list-jobs-for-workflow-run"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download workflow run logs + * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-workflow-run-logs"]; + put: never; + post: never; + /** + * Delete workflow run logs + * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-workflow-run-logs"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get pending deployments for a workflow run + * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-pending-deployments-for-run"]; + put: never; + /** + * Review pending deployments for a workflow run + * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. + */ + post: operations["actions/review-pending-deployments-for-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Re-run a workflow + * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/re-run-workflow"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Re-run failed jobs from a workflow run + * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-workflow-failed-jobs"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workflow run usage + * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-run-usage"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/list-repo-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-repo-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + put: operations["actions/create-or-update-repo-secret"]; + post: never; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + delete: operations["actions/delete-repo-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository variables + * @description Lists all repository variables. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/list-repo-variables"]; + put: never; + /** + * Create a repository variable + * @description Creates a repository variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + post: operations["actions/create-repo-variable"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/variables/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository variable + * @description Gets a specific variable in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/get-repo-variable"]; + put: never; + post: never; + /** + * Delete a repository variable + * @description Deletes a repository variable using the variable name. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + delete: operations["actions/delete-repo-variable"]; + options: never; + head: never; + /** + * Update a repository variable + * @description Updates a repository variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + patch: operations["actions/update-repo-variable"]; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository workflows + * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/list-repo-workflows"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a workflow + * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Disable a workflow + * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/disable-workflow"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a workflow dispatch event + * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + post: operations["actions/create-workflow-dispatch"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Enable a workflow + * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/enable-workflow"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List workflow runs for a workflow + * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + get: operations["actions/list-workflow-runs"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workflow usage + * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-usage"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/activity": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository activities + * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. + * + * For more information about viewing repository activity, + * see "[Viewing repository activity](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/viewing-repository-activity)." + */ + get: operations["repos/list-activities"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/assignees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List assignees + * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + get: operations["issues/list-assignees"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/assignees/{assignee}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user can be assigned + * @description Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/autolinks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List all autolinks of a repository + * @description This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/list-autolinks"]; + put: never; + /** + * Create an autolink reference for a repository + * @description Users with admin access to the repository can create an autolink. + */ + post: operations["repos/create-autolink"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/autolinks/{autolink_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an autolink reference of a repository + * @description This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/get-autolink"]; + put: never; + post: never; + /** + * Delete an autolink reference from a repository + * @description This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + delete: operations["repos/delete-autolink"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if automated security fixes are enabled for a repository + * @description Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + get: operations["repos/check-automated-security-fixes"]; + /** + * Enable automated security fixes + * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + put: operations["repos/enable-automated-security-fixes"]; + post: never; + /** + * Disable automated security fixes + * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + delete: operations["repos/disable-automated-security-fixes"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List branches */ + get: operations["repos/list-branches"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a branch */ + get: operations["repos/get-branch"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-branch-protection"]; + /** + * Update branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + put: operations["repos/update-branch-protection"]; + post: never; + /** + * Delete branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-branch-protection"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-admin-branch-protection"]; + put: never; + /** + * Set admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + post: operations["repos/set-admin-branch-protection"]; + /** + * Delete admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + delete: operations["repos/delete-admin-branch-protection"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-pull-request-review-protection"]; + put: never; + post: never; + /** + * Delete pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-pull-request-review-protection"]; + options: never; + head: never; + /** + * Update pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + patch: operations["repos/update-pull-request-review-protection"]; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + get: operations["repos/get-commit-signature-protection"]; + put: never; + /** + * Create commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + post: operations["repos/create-commit-signature-protection"]; + /** + * Delete commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + delete: operations["repos/delete-commit-signature-protection"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get status checks protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-status-checks-protection"]; + put: never; + post: never; + /** + * Remove status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-protection"]; + options: never; + head: never; + /** + * Update status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + patch: operations["repos/update-status-check-protection"]; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-all-status-check-contexts"]; + /** + * Set status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + put: operations["repos/set-status-check-contexts"]; + /** + * Add status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + post: operations["repos/add-status-check-contexts"]; + /** + * Remove status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-contexts"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + get: operations["repos/get-access-restrictions"]; + put: never; + post: never; + /** + * Delete access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + delete: operations["repos/delete-access-restrictions"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get apps with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + get: operations["repos/get-apps-with-access-to-protected-branch"]; + /** + * Set app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + put: operations["repos/set-app-access-restrictions"]; + /** + * Add app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + post: operations["repos/add-app-access-restrictions"]; + /** + * Remove app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + delete: operations["repos/remove-app-access-restrictions"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get teams with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + get: operations["repos/get-teams-with-access-to-protected-branch"]; + /** + * Set team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + */ + put: operations["repos/set-team-access-restrictions"]; + /** + * Add team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + */ + post: operations["repos/add-team-access-restrictions"]; + /** + * Remove team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + */ + delete: operations["repos/remove-team-access-restrictions"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get users with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + get: operations["repos/get-users-with-access-to-protected-branch"]; + /** + * Set user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + put: operations["repos/set-user-access-restrictions"]; + /** + * Add user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + post: operations["repos/add-user-access-restrictions"]; + /** + * Remove user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + delete: operations["repos/remove-user-access-restrictions"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/rename": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Rename a branch + * @description Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The permissions required to use this endpoint depends on whether you are renaming the default branch. + * + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. + */ + post: operations["repos/rename-branch"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a check run + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + post: operations["checks/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a check run + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: operations["checks/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a check run + * @description Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + */ + patch: operations["checks/update"]; + trace: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check run annotations + * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. + */ + get: operations["checks/list-annotations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Rerequest a check run + * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + * + * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". + */ + post: operations["checks/rerequest-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a check suite + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + post: operations["checks/create-suite"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-suites/preferences": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update repository preferences for check suites + * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. + */ + patch: operations["checks/set-suites-preferences"]; + trace: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a check suite + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + get: operations["checks/get-suite"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check runs in a check suite + * @description Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + */ + get: operations["checks/list-for-suite"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Rerequest a check suite + * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository. + */ + post: operations["checks/rerequest-suite"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List code scanning alerts for a repository + * @description Lists code scanning alerts. + * + * To use this endpoint, you must use an access token with the `security_events` scope or, for alerts from public repositories only, an access token with the `public_repo` scope. + * + * GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch (or for the specified Git reference if you used `ref` in the request). + */ + get: operations["code-scanning/list-alerts-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning alert + * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/get-alert"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a code scanning alert + * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. + */ + patch: operations["code-scanning/update-alert"]; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List instances of a code scanning alert + * @description Lists all instances of the specified code scanning alert. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/list-alert-instances"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/analyses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List code scanning analyses for a repository + * @description Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + get: operations["code-scanning/list-recent-analyses"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning analysis for a repository + * @description Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + */ + get: operations["code-scanning/get-analysis"]; + put: never; + post: never; + /** + * Delete a code scanning analysis from a repository + * @description Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` scope. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `category` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + delete: operations["code-scanning/delete-analysis"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List CodeQL databases for a repository + * @description Lists the CodeQL databases that are available in a repository. + * + * For private repositories, you must use an access token with the `security_events` scope. + * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. + * GitHub Apps must have the `contents` read permission to use this endpoint. + */ + get: operations["code-scanning/list-codeql-databases"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a CodeQL database for a repository + * @description Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * For private repositories, you must use an access token with the `security_events` scope. + * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. + * GitHub Apps must have the `contents` read permission to use this endpoint. + */ + get: operations["code-scanning/get-codeql-database"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/default-setup": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning default setup configuration + * @description Gets a code scanning default setup configuration. + * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` + * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. + */ + get: operations["code-scanning/get-default-setup"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a code scanning default setup configuration + * @description Updates a code scanning default setup configuration. + * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` + * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. + */ + patch: operations["code-scanning/update-default-setup"]; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Upload an analysis as SARIF data + * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + *
+ * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. + * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." + * + * + * | **SARIF data** | **Maximum values** | **Additional limits** | + * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| + * | Runs per file | 20 | | + * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | + * | Rules per run | 25,000 | | + * | Tool extensions per run | 100 | | + * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | + * | Location per result | 1,000 | Only 100 locations will be included. | + * | Tags per rule | 20 | Only 10 tags will be included. | + * + * + * The `202 Accepted` response includes an `id` value. + * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." + */ + post: operations["code-scanning/upload-sarif"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get information about a SARIF upload + * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/get-sarif"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codeowners/errors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List CODEOWNERS errors + * @description List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + get: operations["repos/codeowners-errors"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces in a repository for the authenticated user + * @description Lists the codespaces associated to a specified repository and the authenticated user. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/list-in-repository-for-authenticated-user"]; + put: never; + /** + * Create a codespace in a repository + * @description Creates a codespace owned by the authenticated user in the specified repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-with-repo-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/devcontainers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List devcontainer configurations in a repository for the authenticated user + * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/machines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List available machine types for a repository + * @description List the machine types available for a given repository based on its configuration. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/repo-machines-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/new": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default attributes for a codespace + * @description Gets the default attributes for codespaces created by the user with the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/permissions_check": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if permissions defined by a devcontainer have been accepted by the authenticated user + * @description Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/check-permissions-for-devcontainer"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + */ + get: operations["codespaces/list-repo-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + */ + get: operations["codespaces/get-repo-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + */ + get: operations["codespaces/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` + * repository permission to use this endpoint. + */ + put: operations["codespaces/create-or-update-repo-secret"]; + post: never; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + */ + delete: operations["codespaces/delete-repo-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository collaborators + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + get: operations["repos/list-collaborators"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user is a repository collaborator + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + get: operations["repos/check-collaborator"]; + /** + * Add a repository collaborator + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + put: operations["repos/add-collaborator"]; + post: never; + /** + * Remove a repository collaborator + * @description Removes a collaborator from a repository. + * + * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. + * + * This endpoint also: + * - Cancels any outstanding invitations + * - Unasigns the user from any issues + * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. + * - Unstars the repository + * - Updates access permissions to packages + * + * Removing a user as a collaborator has the following effects on forks: + * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. + * - If the user had their own fork of the repository, the fork will be deleted. + * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. + * + * **Note**: A user can still have access to the repository through organization permissions like base repository permissions. + * + * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. + * + * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". + */ + delete: operations["repos/remove-collaborator"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository permissions for a user + * @description Checks the repository permission of a collaborator. The possible repository + * permissions are `admin`, `write`, `read`, and `none`. + * + * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the + * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The + * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. + */ + get: operations["repos/get-collaborator-permission-level"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commit comments for a repository + * @description Commit Comments use [these custom media types](https://docs.github.com/rest/overview/media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + get: operations["repos/list-commit-comments-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a commit comment */ + get: operations["repos/get-commit-comment"]; + put: never; + post: never; + /** Delete a commit comment */ + delete: operations["repos/delete-commit-comment"]; + options: never; + head: never; + /** Update a commit comment */ + patch: operations["repos/update-commit-comment"]; + trace: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a commit comment + * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + get: operations["reactions/list-for-commit-comment"]; + put: never; + /** + * Create reaction for a commit comment + * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. + */ + post: operations["reactions/create-for-commit-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a commit comment reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + delete: operations["reactions/delete-for-commit-comment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commits + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/list-commits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List branches for HEAD commit + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + get: operations["repos/list-branches-for-head-commit"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commit comments + * @description Use the `:commit_sha` to specify the commit that will have its comments listed. + */ + get: operations["repos/list-comments-for-commit"]; + put: never; + /** + * Create a commit comment + * @description Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["repos/create-commit-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests associated with a commit + * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. + */ + get: operations["repos/list-pull-requests-associated-with-commit"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a commit + * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/get-commit"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check runs for a Git reference + * @description Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. + */ + get: operations["checks/list-for-ref"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check suites for a Git reference + * @description Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + */ + get: operations["checks/list-suites-for-ref"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the combined status for a specific reference + * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + get: operations["repos/get-combined-status-for-ref"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commit statuses for a reference + * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + get: operations["repos/list-commit-statuses-for-ref"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/community/profile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get community profile metrics + * @description Returns all community profile metrics for a repository. The repository cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * the recommended community health files are present. For more information, see + * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + get: operations["repos/get-community-profile-metrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/compare/{basehead}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Compare two commits + * @description Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." + * + * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: + * + * - The list of changed files is only shown on the first page of results, but it includes all changed files for the entire comparison. + * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. + * + * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/contents/{path}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository content + * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/overview/media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/overview/media-types) to ensure the content is returned in a consistent + * object format. + * + * **Notes**: + * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees + * API](https://docs.github.com/rest/git/trees#get-a-tree). + * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. + * Size limits: + * If the requested file's size is: + * * 1 MB or smaller: All features of this endpoint are supported. + * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * * Greater than 100 MB: This endpoint is not supported. + * + * If the content is a directory: + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * If the content is a symlink: + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * If the content is a submodule: + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + get: operations["repos/get-content"]; + /** + * Create or update file contents + * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. If you want to modify files in the `.github/workflows` directory, you must authenticate using an access token with the `workflow` scope. + * + * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + put: operations["repos/create-or-update-file-contents"]; + post: never; + /** + * Delete a file + * @description Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * + * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + delete: operations["repos/delete-file"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/contributors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository contributors + * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + get: operations["repos/list-contributors"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependabot/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Dependabot alerts for a repository + * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + */ + get: operations["dependabot/list-alerts-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a Dependabot alert + * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + */ + get: operations["dependabot/get-alert"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a Dependabot alert + * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. + * + * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + */ + patch: operations["dependabot/update-alert"]; + trace: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + */ + get: operations["dependabot/list-repo-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + */ + get: operations["dependabot/get-repo-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + */ + get: operations["dependabot/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository + * permission to use this endpoint. + */ + put: operations["dependabot/create-or-update-repo-secret"]; + post: never; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + */ + delete: operations["dependabot/delete-repo-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a diff of the dependencies between commits + * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. + */ + get: operations["dependency-graph/diff-range"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependency-graph/sbom": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Export a software bill of materials (SBOM) for a repository. + * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. + */ + get: operations["dependency-graph/export-sbom"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependency-graph/snapshots": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a snapshot of dependencies for a repository + * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. + */ + post: operations["dependency-graph/create-repository-snapshot"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/deployments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployments + * @description Simple filtering of deployments is available via query parameters: + */ + get: operations["repos/list-deployments"]; + put: never; + /** + * Create a deployment + * @description Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * Merged branch response: + * + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * Merge conflict response: + * + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * Failed commit status checks: + * + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + post: operations["repos/create-deployment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a deployment */ + get: operations["repos/get-deployment"]; + put: never; + post: never; + /** + * Delete a deployment + * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." + */ + delete: operations["repos/delete-deployment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployment statuses + * @description Users with pull access can view deployment statuses for a deployment: + */ + get: operations["repos/list-deployment-statuses"]; + put: never; + /** + * Create a deployment status + * @description Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope. + */ + post: operations["repos/create-deployment-status"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a deployment status + * @description Users with pull access can view a deployment status for a deployment: + */ + get: operations["repos/get-deployment-status"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dispatches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a repository dispatch event + * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + post: operations["repos/create-dispatch-event"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environments + * @description Lists the environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/get-all-environments"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment + * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." + * + * Anyone with read access to the repository can use this endpoint. If the + * repository is private, you must use an access token with the `repo` scope. GitHub + * Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/get-environment"]; + /** + * Create or update an environment + * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." + * + * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + post: never; + /** + * Delete an environment + * @description You must authenticate using an access token with the repo scope to use this endpoint. + */ + delete: operations["repos/delete-an-environment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployment branch policies + * @description Lists the deployment branch policies for an environment. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/list-deployment-branch-policies"]; + put: never; + /** + * Create a deployment branch policy + * @description Creates a deployment branch policy for an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + */ + post: operations["repos/create-deployment-branch-policy"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a deployment branch policy + * @description Gets a deployment branch policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/get-deployment-branch-policy"]; + /** + * Update a deployment branch policy + * @description Updates a deployment branch policy for an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + */ + put: operations["repos/update-deployment-branch-policy"]; + post: never; + /** + * Delete a deployment branch policy + * @description Deletes a deployment branch policy for an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + */ + delete: operations["repos/delete-deployment-branch-policy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all deployment protection rules for an environment + * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + */ + get: operations["repos/get-all-deployment-protection-rules"]; + put: never; + /** + * Create a custom deployment protection rule on an environment + * @description Enable a custom deployment protection rule for an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + */ + post: operations["repos/create-deployment-protection-rule"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List custom deployment rule integrations available for an environment + * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. + * + * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". + */ + get: operations["repos/list-custom-deployment-rule-integrations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a custom deployment protection rule + * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). + */ + get: operations["repos/get-custom-deployment-protection-rule"]; + put: never; + post: never; + /** + * Disable a custom protection rule for an environment + * @description Disables a custom deployment protection rule for an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". + */ + delete: operations["repos/disable-deployment-protection-rule"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository events + * @description **Note**: This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + * + */ + get: operations["activity/list-repo-events"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List forks */ + get: operations["repos/list-forks"]; + put: never; + /** + * Create a fork + * @description Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * + * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. + */ + post: operations["repos/create-fork"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/blobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Create a blob */ + post: operations["git/create-blob"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/blobs/{file_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a blob + * @description The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + get: operations["git/get-blob"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a commit + * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-commit"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/commits/{commit_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a commit object + * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-commit"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/matching-refs/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List matching references + * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + get: operations["git/list-matching-refs"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/ref/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a reference + * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + get: operations["git/get-ref"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/refs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a reference + * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + post: operations["git/create-ref"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/refs/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** Delete a reference */ + delete: operations["git/delete-ref"]; + options: never; + head: never; + /** Update a reference */ + patch: operations["git/update-ref"]; + trace: never; + }; + "/repos/{owner}/{repo}/git/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a tag object + * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-tag"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/tags/{tag_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a tag + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-tag"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/trees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a tree + * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." + * + * Returns an error if you try to delete a file that does not exist. + */ + post: operations["git/create-tree"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/trees/{tree_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a tree + * @description Returns a single tree using the SHA1 value or ref name for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + * + * + * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. + */ + get: operations["git/get-tree"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository webhooks + * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. + */ + get: operations["repos/list-webhooks"]; + put: never; + /** + * Create a repository webhook + * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + post: operations["repos/create-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository webhook + * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." + */ + get: operations["repos/get-webhook"]; + put: never; + post: never; + /** Delete a repository webhook */ + delete: operations["repos/delete-webhook"]; + options: never; + head: never; + /** + * Update a repository webhook + * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." + */ + patch: operations["repos/update-webhook"]; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a webhook configuration for a repository + * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + get: operations["repos/get-webhook-config-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a webhook configuration for a repository + * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." + * + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + */ + patch: operations["repos/update-webhook-config-for-repo"]; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deliveries for a repository webhook + * @description Returns a list of webhook deliveries for a webhook configured in a repository. + */ + get: operations["repos/list-webhook-deliveries"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a delivery for a repository webhook + * @description Returns a delivery for a webhook configured in a repository. + */ + get: operations["repos/get-webhook-delivery"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Redeliver a delivery for a repository webhook + * @description Redeliver a webhook delivery for a webhook configured in a repository. + */ + post: operations["repos/redeliver-webhook-delivery"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Ping a repository webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + post: operations["repos/ping-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Test the push repository webhook + * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + post: operations["repos/test-push-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/import": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an import status + * @description View the progress of an import. + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + get: operations["migrations/get-import-status"]; + /** + * Start an import + * @description Start a source import to a GitHub repository using GitHub Importer. Importing into a GitHub repository with GitHub Actions enabled is not supported and will return a status `422 Unprocessable Entity` response. + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + */ + put: operations["migrations/start-import"]; + post: never; + /** + * Cancel an import + * @description Stop an import for a repository. + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * + */ + delete: operations["migrations/cancel-import"]; + options: never; + head: never; + /** + * Update an import + * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + */ + patch: operations["migrations/update-import"]; + trace: never; + }; + "/repos/{owner}/{repo}/import/authors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get commit authors + * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + */ + get: operations["migrations/get-commit-authors"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/import/authors/{author_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Map a commit author + * @description Update an author's identity for the import. Your application can continue updating authors any time before you push + * new commits to the repository. + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * + */ + patch: operations["migrations/map-commit-author"]; + trace: never; + }; + "/repos/{owner}/{repo}/import/large_files": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get large files + * @description List files larger than 100MB found during the import + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * + */ + get: operations["migrations/get-large-files"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/import/lfs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update Git LFS preference + * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability + * is powered by [Git LFS](https://git-lfs.com). + * + * You can learn more about our LFS feature and working with large files [on our help + * site](https://docs.github.com/repositories/working-with-files/managing-large-files). + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * + */ + patch: operations["migrations/set-lfs-preference"]; + trace: never; + }; + "/repos/{owner}/{repo}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository installation for the authenticated app + * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-repo-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get interaction restrictions for a repository + * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + get: operations["interactions/get-restrictions-for-repo"]; + /** + * Set interaction restrictions for a repository + * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + put: operations["interactions/set-restrictions-for-repo"]; + post: never; + /** + * Remove interaction restrictions for a repository + * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + delete: operations["interactions/remove-restrictions-for-repo"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository invitations + * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + get: operations["repos/list-invitations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** Delete a repository invitation */ + delete: operations["repos/delete-invitation"]; + options: never; + head: never; + /** Update a repository invitation */ + patch: operations["repos/update-invitation"]; + trace: never; + }; + "/repos/{owner}/{repo}/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository issues + * @description List issues in a repository. Only open issues will be listed. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-repo"]; + put: never; + /** + * Create an issue + * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["issues/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue comments for a repository + * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. + * + * By default, issue comments are ordered by ascending ID. + */ + get: operations["issues/list-comments-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue comment + * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + get: operations["issues/get-comment"]; + put: never; + post: never; + /** + * Delete an issue comment + * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + delete: operations["issues/delete-comment"]; + options: never; + head: never; + /** + * Update an issue comment + * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + patch: operations["issues/update-comment"]; + trace: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for an issue comment + * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + get: operations["reactions/list-for-issue-comment"]; + put: never; + /** + * Create reaction for an issue comment + * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. + */ + post: operations["reactions/create-for-issue-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete an issue comment reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + delete: operations["reactions/delete-for-issue-comment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue events for a repository + * @description Lists events for a repository. + */ + get: operations["issues/list-events-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/events/{event_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue event + * @description Gets a single event by the event id. + */ + get: operations["issues/get-event"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue + * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update an issue + * @description Issue owners and users with push access can edit an issue. + */ + patch: operations["issues/update"]; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add assignees to an issue + * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + post: operations["issues/add-assignees"]; + /** + * Remove assignees from an issue + * @description Removes one or more assignees from an issue. + */ + delete: operations["issues/remove-assignees"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user can be assigned to a issue + * @description Checks if a user has permission to be assigned to a specific issue. + * + * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned-to-issue"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue comments + * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * Issue comments are ordered by ascending ID. + */ + get: operations["issues/list-comments"]; + put: never; + /** + * Create an issue comment + * @description + * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" + * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" + * for details. + */ + post: operations["issues/create-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue events + * @description Lists all events for an issue. + */ + get: operations["issues/list-events"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for an issue + * @description Lists all labels for an issue. + */ + get: operations["issues/list-labels-on-issue"]; + /** + * Set labels for an issue + * @description Removes any previous labels and sets the new labels for an issue. + */ + put: operations["issues/set-labels"]; + /** + * Add labels to an issue + * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. + */ + post: operations["issues/add-labels"]; + /** + * Remove all labels from an issue + * @description Removes all labels from an issue. + */ + delete: operations["issues/remove-all-labels"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Remove a label from an issue + * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + delete: operations["issues/remove-label"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Lock an issue + * @description Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["issues/lock"]; + post: never; + /** + * Unlock an issue + * @description Users with push access can unlock an issue's conversation. + */ + delete: operations["issues/unlock"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for an issue + * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + get: operations["reactions/list-for-issue"]; + put: never; + /** + * Create reaction for an issue + * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. + */ + post: operations["reactions/create-for-issue"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete an issue reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + delete: operations["reactions/delete-for-issue"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List timeline events for an issue + * @description List all timeline events for an issue. + */ + get: operations["issues/list-events-for-timeline"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List deploy keys */ + get: operations["repos/list-deploy-keys"]; + put: never; + /** + * Create a deploy key + * @description You can create a read-only deploy key. + */ + post: operations["repos/create-deploy-key"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/keys/{key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a deploy key */ + get: operations["repos/get-deploy-key"]; + put: never; + post: never; + /** + * Delete a deploy key + * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + */ + delete: operations["repos/delete-deploy-key"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for a repository + * @description Lists all labels for a repository. + */ + get: operations["issues/list-labels-for-repo"]; + put: never; + /** + * Create a label + * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). + */ + post: operations["issues/create-label"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a label + * @description Gets a label using the given name. + */ + get: operations["issues/get-label"]; + put: never; + post: never; + /** + * Delete a label + * @description Deletes a label using the given label name. + */ + delete: operations["issues/delete-label"]; + options: never; + head: never; + /** + * Update a label + * @description Updates a label using the given label name. + */ + patch: operations["issues/update-label"]; + trace: never; + }; + "/repos/{owner}/{repo}/languages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository languages + * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + get: operations["repos/list-languages"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/license": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the license for a repository + * @description This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + */ + get: operations["licenses/get-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/merge-upstream": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Sync a fork branch with the upstream repository + * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + post: operations["repos/merge-upstream"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/merges": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Merge a branch */ + post: operations["repos/merge"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/milestones": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List milestones + * @description Lists milestones for a repository. + */ + get: operations["issues/list-milestones"]; + put: never; + /** + * Create a milestone + * @description Creates a milestone. + */ + post: operations["issues/create-milestone"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a milestone + * @description Gets a milestone using the given milestone number. + */ + get: operations["issues/get-milestone"]; + put: never; + post: never; + /** + * Delete a milestone + * @description Deletes a milestone using the given milestone number. + */ + delete: operations["issues/delete-milestone"]; + options: never; + head: never; + /** Update a milestone */ + patch: operations["issues/update-milestone"]; + trace: never; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for issues in a milestone + * @description Lists labels for issues in a milestone. + */ + get: operations["issues/list-labels-for-milestone"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/notifications": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository notifications for the authenticated user + * @description Lists all notifications for the current user in the specified repository. + */ + get: operations["activity/list-repo-notifications-for-authenticated-user"]; + /** + * Mark repository notifications as read + * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-repo-notifications-as-read"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a GitHub Pages site + * @description Gets information about a GitHub Pages site. + * + * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + */ + get: operations["repos/get-pages"]; + /** + * Update information about a GitHub Pages site + * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + */ + put: operations["repos/update-information-about-pages-site"]; + /** + * Create a GitHub Pages site + * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." + * + * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + */ + post: operations["repos/create-pages-site"]; + /** + * Delete a GitHub Pages site + * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + */ + delete: operations["repos/delete-pages-site"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages/builds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GitHub Pages builds + * @description Lists builts of a GitHub Pages site. + * + * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + */ + get: operations["repos/list-pages-builds"]; + put: never; + /** + * Request a GitHub Pages build + * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + post: operations["repos/request-pages-build"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages/builds/latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get latest Pages build + * @description Gets information about the single most recent build of a GitHub Pages site. + * + * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + */ + get: operations["repos/get-latest-pages-build"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages/builds/{build_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Pages build + * @description Gets information about a GitHub Pages build. + * + * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + */ + get: operations["repos/get-pages-build"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages/deployment": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a GitHub Pages deployment + * @description Create a GitHub Pages deployment for a repository. + * + * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. + */ + post: operations["repos/create-pages-deployment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages/health": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a DNS health check for GitHub Pages + * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. + */ + get: operations["repos/get-pages-health-check"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Enable private vulnerability reporting for a repository + * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." + */ + put: operations["repos/enable-private-vulnerability-reporting"]; + post: never; + /** + * Disable private vulnerability reporting for a repository + * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + */ + delete: operations["repos/disable-private-vulnerability-reporting"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository projects + * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: operations["projects/list-for-repo"]; + put: never; + /** + * Create a repository project + * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + post: operations["projects/create-for-repo"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["pulls/list"]; + put: never; + /** + * Create a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + post: operations["pulls/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List review comments in a repository + * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. + */ + get: operations["pulls/list-review-comments-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a review comment for a pull request + * @description Provides details for a review comment. + */ + get: operations["pulls/get-review-comment"]; + put: never; + post: never; + /** + * Delete a review comment for a pull request + * @description Deletes a review comment. + */ + delete: operations["pulls/delete-review-comment"]; + options: never; + head: never; + /** + * Update a review comment for a pull request + * @description Enables you to edit a review comment. + */ + patch: operations["pulls/update-review-comment"]; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a pull request review comment + * @description List the reactions to a [pull request review comment](https://docs.github.com/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + get: operations["reactions/list-for-pull-request-review-comment"]; + put: never; + /** + * Create reaction for a pull request review comment + * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. + */ + post: operations["reactions/create-for-pull-request-review-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a pull request comment reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + delete: operations["reactions/delete-for-pull-request-comment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + get: operations["pulls/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + patch: operations["pulls/update"]; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a codespace from a pull request + * @description Creates a codespace owned by the authenticated user for the specified pull request. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-with-pr-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List review comments on a pull request + * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. + */ + get: operations["pulls/list-review-comments"]; + put: never; + /** + * Create a review comment for a pull request + * @description + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/create-review-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a reply for a review comment + * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/create-reply-for-review-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commits on a pull request + * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. + */ + get: operations["pulls/list-commits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/files": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests files + * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + */ + get: operations["pulls/list-files"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a pull request has been merged + * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. + */ + get: operations["pulls/check-if-merged"]; + /** + * Merge a pull request + * @description Merges a pull request into the base branch. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + put: operations["pulls/merge"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all requested reviewers for a pull request + * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. + */ + get: operations["pulls/list-requested-reviewers"]; + put: never; + /** + * Request reviewers for a pull request + * @description Requests reviews for a pull request from a given set of users and/or teams. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/request-reviewers"]; + /** + * Remove requested reviewers from a pull request + * @description Removes review requests from a pull request for a given set of users and/or teams. + */ + delete: operations["pulls/remove-requested-reviewers"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reviews for a pull request + * @description The list of reviews returns in chronological order. + */ + get: operations["pulls/list-reviews"]; + put: never; + /** + * Create a review for a pull request + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + post: operations["pulls/create-review"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a review for a pull request + * @description Retrieves a pull request review by its ID. + */ + get: operations["pulls/get-review"]; + /** + * Update a review for a pull request + * @description Update the review summary comment with new text. + */ + put: operations["pulls/update-review"]; + post: never; + /** + * Delete a pending review for a pull request + * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. + */ + delete: operations["pulls/delete-pending-review"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List comments for a pull request review + * @description List comments for a specific pull request review. + */ + get: operations["pulls/list-comments-for-review"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Dismiss a review for a pull request + * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + */ + put: operations["pulls/dismiss-review"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Submit a review for a pull request + * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." + */ + post: operations["pulls/submit-review"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Update a pull request branch + * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + */ + put: operations["pulls/update-branch"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/readme": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository README + * @description Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. + */ + get: operations["repos/get-readme"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/readme/{dir}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository README for a directory + * @description Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. + */ + get: operations["repos/get-readme-in-directory"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List releases + * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + get: operations["repos/list-releases"]; + put: never; + /** + * Create a release + * @description Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["repos/create-release"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/assets/{asset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release asset + * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. + */ + get: operations["repos/get-release-asset"]; + put: never; + post: never; + /** Delete a release asset */ + delete: operations["repos/delete-release-asset"]; + options: never; + head: never; + /** + * Update a release asset + * @description Users with push access to the repository can edit a release asset. + */ + patch: operations["repos/update-release-asset"]; + trace: never; + }; + "/repos/{owner}/{repo}/releases/generate-notes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Generate release notes content for a release + * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. + */ + post: operations["repos/generate-release-notes"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the latest release + * @description View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + get: operations["repos/get-latest-release"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/tags/{tag}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release by tag name + * @description Get a published release with the specified tag. + */ + get: operations["repos/get-release-by-tag"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release + * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). + */ + get: operations["repos/get-release"]; + put: never; + post: never; + /** + * Delete a release + * @description Users with push access to the repository can delete a release. + */ + delete: operations["repos/delete-release"]; + options: never; + head: never; + /** + * Update a release + * @description Users with push access to the repository can edit a release. + */ + patch: operations["repos/update-release"]; + trace: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/assets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List release assets */ + get: operations["repos/list-release-assets"]; + put: never; + /** + * Upload a release asset + * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + post: operations["repos/upload-release-asset"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a release + * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + get: operations["reactions/list-for-release"]; + put: never; + /** + * Create reaction for a release + * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + */ + post: operations["reactions/create-for-release"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a release reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + delete: operations["reactions/delete-for-release"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/rules/branches/{branch}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get rules for a branch + * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply + * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level + * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" + * enforcement statuses are not returned. + */ + get: operations["repos/get-branch-rules"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/rulesets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all repository rulesets + * @description Get all the rulesets for a repository. + */ + get: operations["repos/get-repo-rulesets"]; + put: never; + /** + * Create a repository ruleset + * @description Create a ruleset for a repository. + */ + post: operations["repos/create-repo-ruleset"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository rule suites + * @description Lists suites of rule evaluations at the repository level. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suites"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository rule suite + * @description Gets information about a suite of rule evaluations from within a repository. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suite"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository ruleset + * @description Get a ruleset for a repository. + */ + get: operations["repos/get-repo-ruleset"]; + /** + * Update a repository ruleset + * @description Update a ruleset for a repository. + */ + put: operations["repos/update-repo-ruleset"]; + post: never; + /** + * Delete a repository ruleset + * @description Delete a ruleset for a repository. + */ + delete: operations["repos/delete-repo-ruleset"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secret scanning alerts for a repository + * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a secret scanning alert + * @description Gets a single secret scanning alert detected in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/get-alert"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a secret scanning alert + * @description Updates the status of a secret scanning alert in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + patch: operations["secret-scanning/update-alert"]; + trace: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List locations for a secret scanning alert + * @description Lists all locations for a given secret scanning alert for an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-locations-for-alert"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/security-advisories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository security advisories + * @description Lists security advisories in a repository. + * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission + * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to. + * + * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. + */ + get: operations["security-advisories/list-repository-advisories"]; + put: never; + /** + * Create a repository security advisory + * @description Creates a new repository security advisory. + * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. + * + * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. + */ + post: operations["security-advisories/create-repository-advisory"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/security-advisories/reports": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Privately report a security vulnerability + * @description Report a security vulnerability to the maintainers of the repository. + * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. + */ + post: operations["security-advisories/create-private-vulnerability-report"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository security advisory + * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * You can access any published security advisory on a public repository. + * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission + * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to. + * + * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a + * collaborator on the security advisory. + */ + get: operations["security-advisories/get-repository-advisory"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a repository security advisory + * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. + * + * In order to update any security advisory, you must be a security manager or administrator of that repository, + * or a collaborator on the repository security advisory. + */ + patch: operations["security-advisories/update-repository-advisory"]; + trace: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Request a CVE for a repository security advisory + * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." + * + * You may request a CVE for public repositories, but cannot do so for private repositories. + * + * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. + * + * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository. + */ + post: operations["security-advisories/create-repository-advisory-cve-request"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stargazers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List stargazers + * @description Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + */ + get: operations["activity/list-stargazers-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stats/code_frequency": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the weekly commit activity + * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + */ + get: operations["repos/get-code-frequency-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stats/commit_activity": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the last year of commit activity + * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + get: operations["repos/get-commit-activity-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stats/contributors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all contributor commit activity + * @description + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + get: operations["repos/get-contributors-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stats/participation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the weekly commit count + * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + * + * The most recent week is seven days ago at UTC midnight to today at UTC midnight. + */ + get: operations["repos/get-participation-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stats/punch_card": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the hourly commit count for each day + * @description Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + get: operations["repos/get-punch-card-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/statuses/{sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a commit status + * @description Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + post: operations["repos/create-commit-status"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/subscribers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List watchers + * @description Lists the people watching the specified repository. + */ + get: operations["activity/list-watchers-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/subscription": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository subscription + * @description Gets information about whether the authenticated user is subscribed to the repository. + */ + get: operations["activity/get-repo-subscription"]; + /** + * Set a repository subscription + * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. + */ + put: operations["activity/set-repo-subscription"]; + post: never; + /** + * Delete a repository subscription + * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). + */ + delete: operations["activity/delete-repo-subscription"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List repository tags */ + get: operations["repos/list-tags"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/tags/protection": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List tag protection states for a repository + * @description This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + get: operations["repos/list-tag-protection"]; + put: never; + /** + * Create a tag protection state for a repository + * @description This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + post: operations["repos/create-tag-protection"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a tag protection state for a repository + * @description This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + delete: operations["repos/delete-tag-protection"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/tarball/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download a repository archive (tar) + * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + get: operations["repos/download-tarball-archive"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository teams + * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. + * + * For a public repository, a team is listed only if that team added the public repository explicitly. + * + * Personal access tokens require the following scopes: + * * `public_repo` to call this endpoint on a public repository + * * `repo` to call this endpoint on a private repository (this scope also includes public repositories) + * + * This endpoint is not compatible with fine-grained personal access tokens. + */ + get: operations["repos/list-teams"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/topics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all repository topics */ + get: operations["repos/get-all-topics"]; + /** Replace all repository topics */ + put: operations["repos/replace-all-topics"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/traffic/clones": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository clones + * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + get: operations["repos/get-clones"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/traffic/popular/paths": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get top referral paths + * @description Get the top 10 popular contents over the last 14 days. + */ + get: operations["repos/get-top-paths"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/traffic/popular/referrers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get top referral sources + * @description Get the top 10 referrers over the last 14 days. + */ + get: operations["repos/get-top-referrers"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/traffic/views": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get page views + * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + get: operations["repos/get-views"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/transfer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Transfer a repository + * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). + * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account. + */ + post: operations["repos/transfer"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if vulnerability alerts are enabled for a repository + * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + get: operations["repos/check-vulnerability-alerts"]; + /** + * Enable vulnerability alerts + * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + put: operations["repos/enable-vulnerability-alerts"]; + post: never; + /** + * Disable vulnerability alerts + * @description Disables dependency alerts and the dependency graph for a repository. + * The authenticated user must have admin access to the repository. For more information, + * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + delete: operations["repos/disable-vulnerability-alerts"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/zipball/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download a repository archive (zip) + * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + */ + get: operations["repos/download-zipball-archive"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{template_owner}/{template_repo}/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a repository using a template + * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + post: operations["repos/create-using-template"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public repositories + * @description Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. + */ + get: operations["repos/list-public"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environment secrets + * @description Lists all secrets available in an environment without revealing their + * encrypted values. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/list-environment-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment public key + * @description Get the public key for an environment, which you need to encrypt environment + * secrets. You need to encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-environment-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment secret + * @description Gets a single environment secret without revealing its encrypted value. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-environment-secret"]; + /** + * Create or update an environment secret + * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + put: operations["actions/create-or-update-environment-secret"]; + post: never; + /** + * Delete an environment secret + * @description Deletes a secret in an environment using the secret name. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + delete: operations["actions/delete-environment-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories/{repository_id}/environments/{environment_name}/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environment variables + * @description Lists all environment variables. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `environments:read` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/list-environment-variables"]; + put: never; + /** + * Create an environment variable + * @description Create an environment variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + post: operations["actions/create-environment-variable"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories/{repository_id}/environments/{environment_name}/variables/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment variable + * @description Gets a specific variable in an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `environments:read` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/get-environment-variable"]; + put: never; + post: never; + /** + * Delete an environment variable + * @description Deletes an environment variable using the variable name. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + delete: operations["actions/delete-environment-variable"]; + options: never; + head: never; + /** + * Update an environment variable + * @description Updates an environment variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + patch: operations["actions/update-environment-variable"]; + trace: never; + }; + "/search/code": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search code + * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * Considerations for code search: + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + * + * This endpoint requires you to authenticate and limits you to 10 requests per minute. + */ + get: operations["search/code"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search commits + * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + get: operations["search/commits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search issues and pull requests + * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + get: operations["search/issues-and-pull-requests"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search labels + * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + get: operations["search/labels"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search repositories + * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + */ + get: operations["search/repos"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/topics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search topics + * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + get: operations["search/topics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search users + * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + * + * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." + */ + get: operations["search/users"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. + */ + get: operations["teams/get-legacy"]; + put: never; + post: never; + /** + * Delete a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + delete: operations["teams/delete-legacy"]; + options: never; + head: never; + /** + * Update a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + patch: operations["teams/update-legacy"]; + trace: never; + }; + "/teams/{team_id}/discussions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussions (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/list-discussions-legacy"]; + put: never; + /** + * Create a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["teams/create-discussion-legacy"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/discussions/{discussion_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/get-discussion-legacy"]; + put: never; + post: never; + /** + * Delete a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["teams/delete-discussion-legacy"]; + options: never; + head: never; + /** + * Update a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + patch: operations["teams/update-discussion-legacy"]; + trace: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussion comments (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/list-discussion-comments-legacy"]; + put: never; + /** + * Create a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["teams/create-discussion-comment-legacy"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/get-discussion-comment-legacy"]; + put: never; + post: never; + /** + * Delete a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["teams/delete-discussion-comment-legacy"]; + options: never; + head: never; + /** + * Update a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + patch: operations["teams/update-discussion-comment-legacy"]; + trace: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + put: never; + /** + * Create reaction for a team discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + */ + post: operations["reactions/create-for-team-discussion-comment-legacy"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["reactions/list-for-team-discussion-legacy"]; + put: never; + /** + * Create reaction for a team discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + */ + post: operations["reactions/create-for-team-discussion-legacy"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pending team invitations (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + get: operations["teams/list-pending-invitations-legacy"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team members (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + get: operations["teams/list-members-legacy"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team member (Legacy) + * @deprecated + * @description The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/get-member-legacy"]; + /** + * Add team member (Legacy) + * @deprecated + * @description The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["teams/add-member-legacy"]; + post: never; + /** + * Remove team member (Legacy) + * @deprecated + * @description The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-member-legacy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team membership for a user (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-legacy"]; + /** + * Add or update team membership for a user (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + put: operations["teams/add-or-update-membership-for-user-legacy"]; + post: never; + /** + * Remove team membership for a user (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-membership-for-user-legacy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team projects (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/teams/teams#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + */ + get: operations["teams/list-projects-legacy"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a project (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + */ + get: operations["teams/check-permissions-for-project-legacy"]; + /** + * Add or update team project permissions (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + */ + put: operations["teams/add-or-update-project-permissions-legacy"]; + post: never; + /** + * Remove a project from a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + */ + delete: operations["teams/remove-project-legacy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team repositories (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. + */ + get: operations["teams/list-repos-legacy"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a repository (Legacy) + * @deprecated + * @description **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["teams/check-permissions-for-repo-legacy"]; + /** + * Add or update team repository permissions (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["teams/add-or-update-repo-permissions-legacy"]; + post: never; + /** + * Remove a repository from a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + delete: operations["teams/remove-repo-legacy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List child teams (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. + */ + get: operations["teams/list-child-legacy"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the authenticated user + * @description If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information. + * + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + */ + get: operations["users/get-authenticated"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update the authenticated user + * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + patch: operations["users/update-authenticated"]; + trace: never; + }; + "/user/blocks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users blocked by the authenticated user + * @description List the users you've blocked on your personal account. + */ + get: operations["users/list-blocked-by-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/blocks/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user is blocked by the authenticated user + * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. + */ + get: operations["users/check-blocked"]; + /** + * Block a user + * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. + */ + put: operations["users/block"]; + post: never; + /** + * Unblock a user + * @description Unblocks the given user and returns a 204. + */ + delete: operations["users/unblock"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for the authenticated user + * @description Lists the authenticated user's codespaces. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/list-for-authenticated-user"]; + put: never; + /** + * Create a codespace for the authenticated user + * @description Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secrets for the authenticated user + * @description Lists all secrets available for a user's Codespaces without revealing their + * encrypted values. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/list-secrets-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get public key for the authenticated user + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/get-public-key-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a secret for the authenticated user + * @description Gets a secret available to a user's codespaces without revealing its encrypted value. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/get-secret-for-authenticated-user"]; + /** + * Create or update a secret for the authenticated user + * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; + post: never; + /** + * Delete a secret for the authenticated user + * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + delete: operations["codespaces/delete-secret-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for a user secret + * @description List the repositories that have been granted the ability to use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; + /** + * Set selected repositories for a user secret + * @description Select the repositories that will use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add a selected repository to a user secret + * @description Adds a repository to the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. + */ + put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; + post: never; + /** + * Remove a selected repository from a user secret + * @description Removes a repository from the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a codespace for the authenticated user + * @description Gets information about a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/get-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a codespace for the authenticated user + * @description Deletes a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + delete: operations["codespaces/delete-for-authenticated-user"]; + options: never; + head: never; + /** + * Update a codespace for the authenticated user + * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + patch: operations["codespaces/update-for-authenticated-user"]; + trace: never; + }; + "/user/codespaces/{codespace_name}/exports": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Export a codespace for the authenticated user + * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/export-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}/exports/{export_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get details about a codespace export + * @description Gets information about an export of a codespace. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + get: operations["codespaces/get-export-details-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}/machines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List machine types for a codespace + * @description List the machine types a codespace can transition to use. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/codespace-machines-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}/publish": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a repository from an unpublished codespace + * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. + * + * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. + * + * This will fail for a codespace that is already published, meaning it has an associated repository. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/publish-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}/start": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Start a codespace for the authenticated user + * @description Starts a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/start-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}/stop": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Stop a codespace for the authenticated user + * @description Stops a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/stop-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for authenticated-user + * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/email/visibility": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Set primary email visibility for the authenticated user + * @description Sets the visibility for your primary email addresses. + */ + patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; + trace: never; + }; + "/user/emails": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List email addresses for the authenticated user + * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + */ + get: operations["users/list-emails-for-authenticated-user"]; + put: never; + /** + * Add an email address for the authenticated user + * @description This endpoint is accessible with the `user` scope. + */ + post: operations["users/add-email-for-authenticated-user"]; + /** + * Delete an email address for the authenticated user + * @description This endpoint is accessible with the `user` scope. + */ + delete: operations["users/delete-email-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/followers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List followers of the authenticated user + * @description Lists the people following the authenticated user. + */ + get: operations["users/list-followers-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/following": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List the people the authenticated user follows + * @description Lists the people who the authenticated user follows. + */ + get: operations["users/list-followed-by-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/following/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Check if a person is followed by the authenticated user */ + get: operations["users/check-person-is-followed-by-authenticated"]; + /** + * Follow a user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + put: operations["users/follow"]; + post: never; + /** + * Unfollow a user + * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + delete: operations["users/unfollow"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/gpg_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GPG keys for the authenticated user + * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["users/list-gpg-keys-for-authenticated-user"]; + put: never; + /** + * Create a GPG key for the authenticated user + * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + post: operations["users/create-gpg-key-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/gpg_keys/{gpg_key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a GPG key for the authenticated user + * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["users/get-gpg-key-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a GPG key for the authenticated user + * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["users/delete-gpg-key-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List app installations accessible to the user access token + * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + get: operations["apps/list-installations-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/installations/{installation_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories accessible to the user access token + * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + get: operations["apps/list-installation-repos-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/installations/{installation_id}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add a repository to an app installation + * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + put: operations["apps/add-repo-to-installation-for-authenticated-user"]; + post: never; + /** + * Remove a repository from an app installation + * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get interaction restrictions for your public repositories + * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + */ + get: operations["interactions/get-restrictions-for-authenticated-user"]; + /** + * Set interaction restrictions for your public repositories + * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + */ + put: operations["interactions/set-restrictions-for-authenticated-user"]; + post: never; + /** + * Remove interaction restrictions from your public repositories + * @description Removes any interaction restrictions from your public repositories. + */ + delete: operations["interactions/remove-restrictions-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user account issues assigned to the authenticated user + * @description List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public SSH keys for the authenticated user + * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["users/list-public-ssh-keys-for-authenticated-user"]; + put: never; + /** + * Create a public SSH key for the authenticated user + * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + post: operations["users/create-public-ssh-key-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/keys/{key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a public SSH key for the authenticated user + * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["users/get-public-ssh-key-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a public SSH key for the authenticated user + * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/marketplace_purchases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List subscriptions for the authenticated user + * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). + */ + get: operations["apps/list-subscriptions-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/marketplace_purchases/stubbed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List subscriptions for the authenticated user (stubbed) + * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). + */ + get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/memberships/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization memberships for the authenticated user + * @description Lists all of the authenticated user's organization memberships. + */ + get: operations["orgs/list-memberships-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/memberships/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization membership for the authenticated user + * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. + */ + get: operations["orgs/get-membership-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update an organization membership for the authenticated user + * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. + */ + patch: operations["orgs/update-membership-for-authenticated-user"]; + trace: never; + }; + "/user/migrations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user migrations + * @description Lists all migrations a user has started. + */ + get: operations["migrations/list-for-authenticated-user"]; + put: never; + /** + * Start a user migration + * @description Initiates the generation of a user migration archive. + */ + post: operations["migrations/start-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/migrations/{migration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user migration status + * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). + */ + get: operations["migrations/get-status-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/migrations/{migration_id}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download a user migration archive + * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + get: operations["migrations/get-archive-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a user migration archive + * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ + delete: operations["migrations/delete-archive-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Unlock a user repository + * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + delete: operations["migrations/unlock-repo-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/migrations/{migration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for a user migration + * @description Lists all the repositories for this user migration. + */ + get: operations["migrations/list-repos-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organizations for the authenticated user + * @description List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + get: operations["orgs/list-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for the authenticated user's namespace + * @description Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for the authenticated user + * @description Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a package for the authenticated user + * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. + * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore a package for the authenticated user + * @description Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by the authenticated user + * @description Lists package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for the authenticated user + * @description Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a package version for the authenticated user + * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. + * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore a package version for the authenticated user + * @description Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a user project + * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + post: operations["projects/create-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/public_emails": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public email addresses for the authenticated user + * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. + */ + get: operations["users/list-public-emails-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for the authenticated user + * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + get: operations["repos/list-for-authenticated-user"]; + put: never; + /** + * Create a repository for the authenticated user + * @description Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. + */ + post: operations["repos/create-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/repository_invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository invitations for the authenticated user + * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + get: operations["repos/list-invitations-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/repository_invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** Decline a repository invitation */ + delete: operations["repos/decline-invitation-for-authenticated-user"]; + options: never; + head: never; + /** Accept a repository invitation */ + patch: operations["repos/accept-invitation-for-authenticated-user"]; + trace: never; + }; + "/user/social_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List social accounts for the authenticated user + * @description Lists all of your social accounts. + */ + get: operations["users/list-social-accounts-for-authenticated-user"]; + put: never; + /** + * Add social accounts for the authenticated user + * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. + */ + post: operations["users/add-social-account-for-authenticated-user"]; + /** + * Delete social accounts for the authenticated user + * @description Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. + */ + delete: operations["users/delete-social-account-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/ssh_signing_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List SSH signing keys for the authenticated user + * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + */ + get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; + put: never; + /** + * Create a SSH signing key for the authenticated user + * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + */ + post: operations["users/create-ssh-signing-key-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/ssh_signing_keys/{ssh_signing_key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an SSH signing key for the authenticated user + * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + */ + get: operations["users/get-ssh-signing-key-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete an SSH signing key for the authenticated user + * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + */ + delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/starred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories starred by the authenticated user + * @description Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + */ + get: operations["activity/list-repos-starred-by-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/starred/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a repository is starred by the authenticated user + * @description Whether the authenticated user has starred the repository. + */ + get: operations["activity/check-repo-is-starred-by-authenticated-user"]; + /** + * Star a repository for the authenticated user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["activity/star-repo-for-authenticated-user"]; + post: never; + /** + * Unstar a repository for the authenticated user + * @description Unstar a repository that the authenticated user has previously starred. + */ + delete: operations["activity/unstar-repo-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/subscriptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories watched by the authenticated user + * @description Lists repositories the authenticated user is watching. + */ + get: operations["activity/list-watched-repos-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List teams for the authenticated user + * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. + */ + get: operations["teams/list-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users + * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. + */ + get: operations["users/list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user + * @description Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". + */ + get: operations["users/get-by-username"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for user + * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List events for the authenticated user + * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ + get: operations["activity/list-events-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/events/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization events for the authenticated user + * @description This is the user's organization dashboard. You must be authenticated as the user to view this. + */ + get: operations["activity/list-org-events-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/events/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List public events for a user */ + get: operations["activity/list-public-events-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/followers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List followers of a user + * @description Lists the people following the specified user. + */ + get: operations["users/list-followers-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/following": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List the people a user follows + * @description Lists the people who the specified user follows. + */ + get: operations["users/list-following-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/following/{target_user}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Check if a user follows another user */ + get: operations["users/check-following-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/gists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List gists for a user + * @description Lists public gists for the specified user: + */ + get: operations["gists/list-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/gpg_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GPG keys for a user + * @description Lists the GPG keys for a user. This information is accessible by anyone. + */ + get: operations["users/list-gpg-keys-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/hovercard": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get contextual information for a user + * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + get: operations["users/get-context-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user installation for the authenticated app + * @description Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-user-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public keys for a user + * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + get: operations["users/list-public-keys-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organizations for a user + * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + get: operations["orgs/list-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for a user + * @description Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for a user + * @description Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-user"]; + put: never; + post: never; + /** + * Delete a package for a user + * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + delete: operations["packages/delete-package-for-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore a package for a user + * @description Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + post: operations["packages/restore-package-for-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by a user + * @description Lists package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for a user + * @description Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-user"]; + put: never; + post: never; + /** + * Delete package version for a user + * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore package version for a user + * @description Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user projects + * @description Lists projects for a user. + */ + get: operations["projects/list-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/received_events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List events received by the authenticated user + * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. + */ + get: operations["activity/list-received-events-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/received_events/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List public events received by a user */ + get: operations["activity/list-received-public-events-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for a user + * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. + */ + get: operations["repos/list-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/settings/billing/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions billing for a user + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-actions-billing-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/settings/billing/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Packages billing for a user + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-packages-billing-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/settings/billing/shared-storage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get shared storage billing for a user + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-shared-storage-billing-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/social_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List social accounts for a user + * @description Lists social media accounts for a user. This endpoint is accessible by anyone. + */ + get: operations["users/list-social-accounts-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/ssh_signing_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List SSH signing keys for a user + * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. + */ + get: operations["users/list-ssh-signing-keys-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/starred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories starred by a user + * @description Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + */ + get: operations["activity/list-repos-starred-by-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/subscriptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories watched by a user + * @description Lists repositories a user is watching. + */ + get: operations["activity/list-repos-watched-by-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all API versions + * @description Get all supported GitHub API versions. + */ + get: operations["meta/get-all-versions"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/zen": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the Zen of GitHub + * @description Get a random sentence from the Zen of GitHub + */ + get: operations["meta/get-zen"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export interface webhooks { + "branch-protection-configuration-disabled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is a change to branch protection configurations for a repository. + * For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." + * For information about using the APIs to manage branch protection rules, see "[Branch protection rule](https://docs.github.com/graphql/reference/objects#branchprotectionrule)" in the GraphQL documentation or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. + * @description All branch protections were disabled for a repository. + */ + post: operations["branch-protection-configuration/disabled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "branch-protection-configuration-enabled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is a change to branch protection configurations for a repository. + * For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." + * For information about using the APIs to manage branch protection rules, see "[Branch protection rule](https://docs.github.com/graphql/reference/objects#branchprotectionrule)" in the GraphQL documentation or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. + * @description All branch protections were enabled for a repository. + */ + post: operations["branch-protection-configuration/enabled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "branch-protection-rule-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. + * @description A branch protection rule was created. + */ + post: operations["branch-protection-rule/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "branch-protection-rule-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. + * @description A branch protection rule was deleted. + */ + post: operations["branch-protection-rule/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "branch-protection-rule-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. + * @description A branch protection rule was edited. + */ + post: operations["branch-protection-rule/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "check-run-completed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. + * + * For activity relating to check suites, use the `check-suite` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description A check run was completed, and a conclusion is available. + */ + post: operations["check-run/completed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "check-run-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. + * + * For activity relating to check suites, use the `check-suite` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description A new check run was created. + */ + post: operations["check-run/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "check-run-requested-action": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. + * + * For activity relating to check suites, use the `check-suite` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description A check run completed, and someone requested a followup action that your app provides. Only the GitHub App someone requests to perform an action will receive the `requested_action` payload. For more information, see "[Creating CI tests with the Checks API](https://docs.github.com/developers/apps/guides/creating-ci-tests-with-the-checks-api)." + */ + post: operations["check-run/requested-action"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "check-run-rerequested": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. + * + * For activity relating to check suites, use the `check-suite` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description Someone requested to re-run a check run. Only the GitHub App that someone requests to re-run the check will receive the `rerequested` payload. + */ + post: operations["check-run/rerequested"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "check-suite-completed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. + * + * For activity relating to check runs, use the `check_run` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" permission. To receive the `requested` and `rerequested` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check suite was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description All check runs in a check suite have completed, and a conclusion is available. + */ + post: operations["check-suite/completed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "check-suite-requested": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. + * + * For activity relating to check runs, use the `check_run` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" permission. To receive the `requested` and `rerequested` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check suite was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description Someone requested to run a check suite. By default, check suites are automatically created when you create a check run. For more information, see [the GraphQL API documentation for creating a check run](https://docs.github.com/graphql/reference/mutations#createcheckrun) or "[Create a check run](https://docs.github.com/rest/checks/runs#create-a-check-run)" in the REST API documentation. + */ + post: operations["check-suite/requested"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "check-suite-rerequested": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. + * + * For activity relating to check runs, use the `check_run` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" permission. To receive the `requested` and `rerequested` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. + * + * Repository and organization webhooks only receive payloads for the `completed` event types in repositories. + * + * **Note**: The API only looks for pushes in the repository where the check suite was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * @description Someone requested to re-run the check runs in a check suite. For more information, see [the GraphQL API documentation for creating a check suite](https://docs.github.com/graphql/reference/mutations#createchecksuite) or "[Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite)" in the REST API documentation. + */ + post: operations["check-suite/rerequested"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "code-scanning-alert-appeared-in-branch": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. + * @description A previously created code scanning alert appeared in another branch. This can happen when a branch is merged into or created from a branch with a pre-existing code scanning alert. + */ + post: operations["code-scanning-alert/appeared-in-branch"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "code-scanning-alert-closed-by-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. + * @description Someone closed a code scanning alert. + */ + post: operations["code-scanning-alert/closed-by-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "code-scanning-alert-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. + * @description A code scanning alert was created in a repository. + */ + post: operations["code-scanning-alert/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "code-scanning-alert-fixed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. + * @description A code scanning alert was fixed in a branch by a commit. + */ + post: operations["code-scanning-alert/fixed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "code-scanning-alert-reopened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. + * @description A previously fixed code scanning alert reappeared in a branch. + */ + post: operations["code-scanning-alert/reopened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "code-scanning-alert-reopened-by-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. + * @description Someone reopened a code scanning alert. + */ + post: operations["code-scanning-alert/reopened-by-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "commit-comment-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to commit comments. For more information about commit comments, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request)." For information about the APIs to manage commit comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#commitcomment) or "[Commit comments](https://docs.github.com/rest/commits/comments)" in the REST API documentation. + * + * For activity relating to comments on pull request reviews, use the `pull_request_review_comment` event. For activity relating to issue comments, use the `issue_comment` event. For activity relating to discussion comments, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description Someone commented on a commit. + */ + post: operations["commit-comment/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + create: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when a Git branch or tag is created. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * + * **Notes**: + * - This event will not occur when more than three tags are created at once. + * - Payloads are capped at 25 MB. If an event generates a larger payload, GitHub will not deliver a payload for that webhook event. This may happen, for example, if many branches or tags are pushed at once. We suggest monitoring your payload size to ensure delivery. */ + post: operations["create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when a Git branch or tag is deleted. To subscribe to all pushes to a repository, including + * branch and tag deletions, use the [`push`](#push) webhook event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * + * **Note**: This event will not occur when more than three tags are deleted at once. */ + post: operations["delete"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "dependabot-alert-auto-dismissed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A Dependabot alert was automatically closed. + */ + post: operations["dependabot-alert/auto-dismissed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "dependabot-alert-auto-reopened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A Dependabot alert was automatically reopened. + */ + post: operations["dependabot-alert/auto-reopened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "dependabot-alert-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A manifest file change introduced a vulnerable dependency, or a GitHub Security Advisory was published and an existing dependency was found to be vulnerable. + */ + post: operations["dependabot-alert/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "dependabot-alert-dismissed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A Dependabot alert was manually closed. + */ + post: operations["dependabot-alert/dismissed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "dependabot-alert-fixed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A manifest file change removed a vulnerability. + */ + post: operations["dependabot-alert/fixed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "dependabot-alert-reintroduced": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A manifest file change introduced a vulnerable dependency that had previously been fixed. + */ + post: operations["dependabot-alert/reintroduced"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "dependabot-alert-reopened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to Dependabot alerts. + * + * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. + * + * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. + * @description A Dependabot alert was manually reopened. + */ + post: operations["dependabot-alert/reopened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "deploy-key-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deploykey) or "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A deploy key was created. + */ + post: operations["deploy-key/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "deploy-key-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deploykey) or "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A deploy key was deleted. + */ + post: operations["deploy-key/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "deployment-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to deployments. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. + * + * For activity relating to deployment status, use the `deployment_status` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A deployment was created. + */ + post: operations["deployment/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "deployment-protection-rule-requested": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to deployment protection rules. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-protection-rules)." For information about the API to manage deployment protection rules, see [the REST API documentation](https://docs.github.com/rest/deployments/environments). + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A deployment protection rule was requested for an environment. + */ + post: operations["deployment-protection-rule/requested"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "deployment-review-approved": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. + * + * For activity relating to deployment creation or deployment status, use the `deployment` or `deployment_status` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A deployment review was approved. + */ + post: operations["deployment-review/approved"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "deployment-review-rejected": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. + * + * For activity relating to deployment creation or deployment status, use the `deployment` or `deployment_status` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A deployment review was rejected. + */ + post: operations["deployment-review/rejected"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "deployment-review-requested": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. + * + * For activity relating to deployment creation or deployment status, use the `deployment` or `deployment_status` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A deployment review was requested. + */ + post: operations["deployment-review/requested"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "deployment-status-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to deployment statuses. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. + * + * For activity relating to deployment creation, use the `deployment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. + * @description A new deployment status was created. + */ + post: operations["deployment-status/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-answered": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on the discussion was marked as the answer. + */ + post: operations["discussion/answered"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-category-changed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description The category of a discussion was changed. + */ + post: operations["discussion/category-changed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-closed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was closed. + */ + post: operations["discussion/closed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-comment-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a discussion as opposed to comments on a discussion, use the `discussion` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on a discussion was created. + */ + post: operations["discussion-comment/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-comment-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a discussion as opposed to comments on a discussion, use the `discussion` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on a discussion was deleted. + */ + post: operations["discussion-comment/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-comment-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a discussion as opposed to comments on a discussion, use the `discussion` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on a discussion was edited. + */ + post: operations["discussion-comment/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was created. + */ + post: operations["discussion/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was deleted. + */ + post: operations["discussion/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description The title or body on a discussion was edited, or the category of the discussion was changed. + */ + post: operations["discussion/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-labeled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A label was added to a discussion. + */ + post: operations["discussion/labeled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-locked": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was locked. + */ + post: operations["discussion/locked"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-pinned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was pinned. + */ + post: operations["discussion/pinned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-reopened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was reopened. + */ + post: operations["discussion/reopened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-transferred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was transferred to another repository. + */ + post: operations["discussion/transferred"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-unanswered": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A comment on the discussion was unmarked as the answer. + */ + post: operations["discussion/unanswered"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-unlabeled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A label was removed from a discussion. + */ + post: operations["discussion/unlabeled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-unlocked": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was unlocked. + */ + post: operations["discussion/unlocked"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "discussion-unpinned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). + * + * For activity relating to a comment on a discussion, use the `discussion_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. + * + * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. + * @description A discussion was unpinned. + */ + post: operations["discussion/unpinned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + fork: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when someone forks a repository. For more information, see "[Fork a repo](https://docs.github.com/get-started/quickstart/fork-a-repo)." For information about the API to manage forks, see "[Forks](https://docs.github.com/rest/repos/forks)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. */ + post: operations["fork"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "github-app-authorization-revoked": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when a user revokes their authorization of a GitHub App. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the API to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. + * + * A GitHub App receives this webhook by default and cannot unsubscribe from this event. + * + * Anyone can revoke their authorization of a GitHub App from their [GitHub account settings page](https://github.com/settings/apps/authorizations). Revoking the authorization of a GitHub App does not uninstall the GitHub App. You should program your GitHub App so that when it receives this webhook, it stops calling the API on behalf of the person who revoked the token. If your GitHub App continues to use a revoked access token, it will receive the `401 Bad Credentials` error. For details about requests with a user access token, which require GitHub App authorization, see "[Authenticating with a GitHub App on behalf of a user](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user)." + * @description Someone revoked their authorization of a GitHub App. + */ + post: operations["github-app-authorization/revoked"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + gollum: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when someone creates or updates a wiki page. For more information, see "[About wikis](https://docs.github.com/communities/documenting-your-project-with-wikis/about-wikis)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. */ + post: operations["gollum"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "installation-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. + * + * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. + * @description Someone installed a GitHub App on a user or organization account. + */ + post: operations["installation/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "installation-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. + * + * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. + * @description Someone uninstalled a GitHub App from their user or organization account. + */ + post: operations["installation/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "installation-new-permissions-accepted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. + * + * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. + * @description Someone granted new permissions to a GitHub App. + */ + post: operations["installation/new-permissions-accepted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "installation-repositories-added": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to which repositories a GitHub App installation can access. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. + * + * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. + * @description A GitHub App installation was granted access to one or more repositories. + */ + post: operations["installation-repositories/added"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "installation-repositories-removed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to which repositories a GitHub App installation can access. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. + * + * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. + * @description Access to one or more repositories was revoked for a GitHub App installation. + */ + post: operations["installation-repositories/removed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "installation-suspend": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. + * + * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. + * @description Someone blocked access by a GitHub App to their user or organization account. + */ + post: operations["installation/suspend"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "installation-target-renamed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to the user or organization account that a GitHub App is installed on. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. + * @description Somebody renamed the user or organization account that a GitHub App is installed on. + */ + post: operations["installation-target/renamed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "installation-unsuspend": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. + * + * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. + * @description A GitHub App that was blocked from accessing a user or organization account was given access the account again. + */ + post: operations["installation/unsuspend"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issue-comment-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. + * + * For activity relating to an issue as opposed to comments on an issue, use the `issue` event. For activity related to pull request reviews or pull request review comments, use the `pull_request_review` or `pull_request_review_comment` events. For more information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description A comment on an issue or pull request was created. + */ + post: operations["issue-comment/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issue-comment-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. + * + * For activity relating to an issue as opposed to comments on an issue, use the `issue` event. For activity related to pull request reviews or pull request review comments, use the `pull_request_review` or `pull_request_review_comment` events. For more information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description A comment on an issue or pull request was deleted. + */ + post: operations["issue-comment/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issue-comment-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. + * + * For activity relating to an issue as opposed to comments on an issue, use the `issue` event. For activity related to pull request reviews or pull request review comments, use the `pull_request_review` or `pull_request_review_comment` events. For more information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description A comment on an issue or pull request was edited. + */ + post: operations["issue-comment/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-assigned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description An issue was assigned to a user. + */ + post: operations["issues/assigned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-closed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description An issue was closed. + */ + post: operations["issues/closed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description An issue was deleted. + */ + post: operations["issues/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-demilestoned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description An issue was removed from a milestone. + */ + post: operations["issues/demilestoned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description The title or body on an issue was edited. + */ + post: operations["issues/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-labeled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description A label was added to an issue. + */ + post: operations["issues/labeled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-locked": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." + */ + post: operations["issues/locked"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-milestoned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description An issue was added to a milestone. + */ + post: operations["issues/milestoned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-opened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description An issue was created. When a closed issue is reopened, the action will be `reopened` instead. + */ + post: operations["issues/opened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-pinned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description An issue was pinned to a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." + */ + post: operations["issues/pinned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-reopened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description A closed issue was reopened. + */ + post: operations["issues/reopened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-transferred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description An issue was transferred to another repository. For more information, see "[Transferring an issue to another repository](https://docs.github.com/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository)." + */ + post: operations["issues/transferred"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-unassigned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description A user was unassigned from an issue. + */ + post: operations["issues/unassigned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-unlabeled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description A label was removed from an issue. + */ + post: operations["issues/unlabeled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-unlocked": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." + */ + post: operations["issues/unlocked"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "issues-unpinned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. + * + * For activity relating to a comment on an issue, use the `issue_comment` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. + * @description An issue was unpinned from a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." + */ + post: operations["issues/unpinned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "label-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. + * + * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description A label was created. + */ + post: operations["label/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "label-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. + * + * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description A label was deleted. + */ + post: operations["label/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "label-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. + * + * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description A label's name, description, or color was changed. + */ + post: operations["label/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "marketplace-purchase-cancelled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. + * @description Someone cancelled a GitHub Marketplace plan, and the last billing cycle has ended. The change will take effect on the account immediately. + */ + post: operations["marketplace-purchase/cancelled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "marketplace-purchase-changed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. + * @description Someone upgraded or downgraded a GitHub Marketplace plan, and the last billing cycle has ended. The change will take effect on the account immediately. + */ + post: operations["marketplace-purchase/changed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "marketplace-purchase-pending-change": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. + * @description Someone downgraded or cancelled a GitHub Marketplace plan. The new plan or cancellation will take effect at the end of the current billing cycle. When the change takes effect, the `changed` or `cancelled` event will be sent. + */ + post: operations["marketplace-purchase/pending-change"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "marketplace-purchase-pending-change-cancelled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. + * @description Someone cancelled a pending change to a GitHub Marketplace plan. Pending changes include plan cancellations and downgrades that will take effect at the end of a billing cycle. + */ + post: operations["marketplace-purchase/pending-change-cancelled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "marketplace-purchase-purchased": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. + * @description Someone purchased a GitHub Marketplace plan. The change will take effect on the account immediately. + */ + post: operations["marketplace-purchase/purchased"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "member-added": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A GitHub user accepted an invitation to a repository. + */ + post: operations["member/added"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "member-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description Permissions were changed for a collaborator on a repository. + */ + post: operations["member/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "member-removed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A collaborator was removed from a repository. + */ + post: operations["member/removed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "membership-added": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the APIs to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description An organization member was added to a team. + */ + post: operations["membership/added"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "membership-removed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the APIs to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description An organization member was removed from a team. + */ + post: operations["membership/removed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "merge-group-checks-requested": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission. + * @description Status checks were requested for a merge group. This happens when a merge group is created or added to by the merge queue because a pull request was queued. + * + * When you receive this event, you should perform checks on the head SHA and report status back using check runs or commit statuses. + */ + post: operations["merge-group/checks-requested"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "merge-group-destroyed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission. + * @description The merge queue groups pull requests together to be merged. This event indicates that one of those merge groups was destroyed. This happens when a pull request is removed from the queue: any group containing that pull request is also destroyed. + * + * When you receive this event, you may want to cancel any checks that are running on the head SHA to avoid wasting computing resources on a merge group that will not be used. + */ + post: operations["merge-group/destroyed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "meta-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a webhook itself. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Meta" app permission. + * @description The webhook was deleted. + */ + post: operations["meta/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "milestone-closed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. + * @description A milestone was closed. + */ + post: operations["milestone/closed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "milestone-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. + * @description A milestone was created. + */ + post: operations["milestone/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "milestone-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. + * @description A milestone was deleted. + */ + post: operations["milestone/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "milestone-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. + * @description A milestone was edited. + */ + post: operations["milestone/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "milestone-opened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. + * + * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. + * @description A milestone was opened. + */ + post: operations["milestone/opened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "org-block-blocked": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the APIs to manage blocked users, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) or "[Blocking users](https://docs.github.com/rest/orgs/blocking)" in the REST API documentation. + * + * If you want to receive an event when members are added or removed from an organization, use the `organization` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" organization permission. + * @description A user was blocked from the organization. + */ + post: operations["org-block/blocked"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "org-block-unblocked": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the APIs to manage blocked users, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) or "[Blocking users](https://docs.github.com/rest/orgs/blocking)" in the REST API documentation. + * + * If you want to receive an event when members are added or removed from an organization, use the `organization` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" organization permission. + * @description A previously blocked user was unblocked from the organization. + */ + post: operations["org-block/unblocked"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "organization-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. + * + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description An organization was deleted. + */ + post: operations["organization/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "organization-member-added": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. + * + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A member accepted an invitation to join an organization. + */ + post: operations["organization/member-added"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "organization-member-invited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. + * + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A member was invited to join the organization. + */ + post: operations["organization/member-invited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "organization-member-removed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. + * + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A member was removed from the organization. + */ + post: operations["organization/member-removed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "organization-renamed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. + * + * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description The name of an organization was changed. + */ + post: operations["organization/renamed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "package-published": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. + * + * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. + * @description A package was published to a registry. + */ + post: operations["package/published"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "package-updated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. + * + * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. + * @description A previously published package was updated. + */ + post: operations["package/updated"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "page-build": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when there is an attempted build of a GitHub Pages site. This event occurs regardless of whether the build is successful. For more information, see "[Configuring a publishing source for your GitHub Pages site](https://docs.github.com/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." For information about the API to manage GitHub Pages, see "[Pages](https://docs.github.com/rest/pages)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pages" repository permission. */ + post: operations["page-build"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "personal-access-token-request-approved": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + * @description A fine-grained personal access token request was approved. + */ + post: operations["personal-access-token-request/approved"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "personal-access-token-request-cancelled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + * @description A fine-grained personal access token request was cancelled by the requester. + */ + post: operations["personal-access-token-request/cancelled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "personal-access-token-request-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + * @description A fine-grained personal access token request was created. + */ + post: operations["personal-access-token-request/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "personal-access-token-request-denied": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + * @description A fine-grained personal access token request was denied. + */ + post: operations["personal-access-token-request/denied"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + ping: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when you create a new webhook. The ping event is a confirmation from GitHub that you configured the webhook correctly. */ + post: operations["ping"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-card-converted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A note in a classic project was converted to an issue. + */ + post: operations["project-card/converted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-card-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A card was added to a classic project. + */ + post: operations["project-card/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-card-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A card on a classic project was deleted. + */ + post: operations["project-card/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-card-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A note on a classic project was edited. + */ + post: operations["project-card/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-card-moved": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A card on a classic project was moved to another column or to another position in its column. + */ + post: operations["project-card/moved"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-closed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was closed. + */ + post: operations["project/closed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-column-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A column was added to a classic project. + */ + post: operations["project-column/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-column-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A column was deleted from a classic project. + */ + post: operations["project-column/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-column-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description The name of a column on a classic project was changed. + */ + post: operations["project-column/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-column-moved": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A column was moved to a new position on a classic project. + */ + post: operations["project-column/moved"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was created. + */ + post: operations["project/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was deleted. + */ + post: operations["project/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description The name or description of a classic project was changed. + */ + post: operations["project/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "project-reopened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. + * + * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. + * @description A classic project was closed. + */ + post: operations["project/reopened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-closed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). + * + * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description A project in the organization was closed. + */ + post: operations["projects-v2/closed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). + * + * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description A project in the organization was created. + */ + post: operations["projects-v2/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). + * + * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description A project in the organization was deleted. + */ + post: operations["projects-v2/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). + * + * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description The title, description, or README of a project in the organization was changed. + */ + post: operations["projects-v2/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-item-archived": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An item on an organization project was archived. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." + */ + post: operations["projects-v2-item/archived"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-item-converted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description A draft issue in an organization project was converted to an issue. + */ + post: operations["projects-v2-item/converted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-item-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An item was added to a project in the organization. + */ + post: operations["projects-v2-item/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-item-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An item was deleted from a project in the organization. + */ + post: operations["projects-v2-item/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-item-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description The values or state of an item in an organization project were changed. For example, the value of a field was updated, the body of a draft issue was changed, or a draft issue was converted to an issue. + */ + post: operations["projects-v2-item/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-item-reordered": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description The position of an item in an organization project was changed. For example, an item was moved above or below another item in the table or board layout. + */ + post: operations["projects-v2-item/reordered"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-item-restored": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). + * + * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description An archived item on an organization project was restored from the archive. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." + */ + post: operations["projects-v2-item/restored"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "projects-v2-reopened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). + * + * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. + * + * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). + * @description A project in the organization was reopened. + */ + post: operations["projects-v2/reopened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + public: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when repository visibility changes from private to public. For more information, see "[Setting repository visibility](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. */ + post: operations["public"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-assigned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was assigned to a user. + */ + post: operations["pull-request/assigned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-auto-merge-disabled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Auto merge was disabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." + */ + post: operations["pull-request/auto-merge-disabled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-auto-merge-enabled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Auto merge was enabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." + */ + post: operations["pull-request/auto-merge-enabled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-closed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was closed. If `merged` is false in the webhook payload, the pull request was closed with unmerged commits. If `merged` is true in the webhook payload, the pull request was merged. + */ + post: operations["pull-request/closed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-converted-to-draft": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was converted to a draft. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." + */ + post: operations["pull-request/converted-to-draft"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-demilestoned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was removed from a milestone. + */ + post: operations["pull-request/demilestoned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-dequeued": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was removed from the merge queue. + */ + post: operations["pull-request/dequeued"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description The title or body of a pull request was edited. + */ + post: operations["pull-request/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-enqueued": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was added to the merge queue. + */ + post: operations["pull-request/enqueued"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-labeled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A label was added to a pull request. + */ + post: operations["pull-request/labeled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-locked": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Conversation on a pull request was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." + */ + post: operations["pull-request/locked"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-milestoned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was added to a milestone. + */ + post: operations["pull-request/milestoned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-opened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request was created + */ + post: operations["pull-request/opened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-ready-for-review": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A draft pull request was marked as ready for review. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." + */ + post: operations["pull-request/ready-for-review"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-reopened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A previously closed pull request was reopened. + */ + post: operations["pull-request/reopened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-review-comment-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A comment on a pull request diff was created. + */ + post: operations["pull-request-review-comment/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-review-comment-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A comment on a pull request diff was deleted. + */ + post: operations["pull-request-review-comment/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-review-comment-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description The content of a comment on a pull request diff was changed. + */ + post: operations["pull-request-review-comment/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-review-dismissed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. + * + * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A review on a pull request was dismissed. + */ + post: operations["pull-request-review/dismissed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-review-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. + * + * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description The body comment on a pull request review was edited. + */ + post: operations["pull-request-review/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-review-request-removed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A request for review by a person or team was removed from a pull request. + */ + post: operations["pull-request/review-request-removed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-review-requested": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Review by a person or team was requested for a pull request. For more information, see "[Requesting a pull request review](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review)." + */ + post: operations["pull-request/review-requested"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-review-submitted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. + * + * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A review on a pull request was submitted. + */ + post: operations["pull-request-review/submitted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-review-thread-resolved": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. + * + * For activity related to pull request review comments, pull request comments, or pull request reviews, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A comment thread on a pull request was marked as resolved. + */ + post: operations["pull-request-review-thread/resolved"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-review-thread-unresolved": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. + * + * For activity related to pull request review comments, pull request comments, or pull request reviews, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A previously resolved comment thread on a pull request was marked as unresolved. + */ + post: operations["pull-request-review-thread/unresolved"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-synchronize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A pull request's head branch was updated. For example, the head branch was updated from the base branch or new commits were pushed to the head branch. + */ + post: operations["pull-request/synchronize"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-unassigned": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A user was unassigned from a pull request. + */ + post: operations["pull-request/unassigned"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-unlabeled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description A label was removed from a pull request. + */ + post: operations["pull-request/unlabeled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "pull-request-unlocked": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. + * + * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. + * @description Conversation on a pull request was unlocked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." + */ + post: operations["pull-request/unlocked"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + push: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when there is a push to a repository branch. This includes when a commit is pushed, when a commit tag is pushed, + * when a branch is deleted, when a tag is deleted, or when a repository is created from a template. To subscribe to only branch + * and tag deletions, use the [`delete`](#delete) webhook event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * + * **Note**: An event will not be created when more than three tags are pushed at once. */ + post: operations["push"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "registry-package-published": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. + * + * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. + * + * **Note**: GitHub recommends that you use the newer `package` event instead. + * @description A package was published to a registry. + */ + post: operations["registry-package/published"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "registry-package-updated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. + * + * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. + * + * **Note**: GitHub recommends that you use the newer `package` event instead. + * @description A package that was previously published to a registry was updated. + */ + post: operations["registry-package/updated"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "release-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description A draft was saved, or a release or pre-release was published without previously being saved as a draft. + */ + post: operations["release/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "release-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description A release, pre-release, or draft release was deleted. + */ + post: operations["release/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "release-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description The details of a release, pre-release, or draft release were edited. For more information, see "[Managing releases in a repository](https://docs.github.com/repositories/releasing-projects-on-github/managing-releases-in-a-repository#editing-a-release)." + */ + post: operations["release/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "release-prereleased": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description A release was created and identified as a pre-release. A pre-release is a release that is not ready for production and may be unstable. + */ + post: operations["release/prereleased"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "release-published": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description A release, pre-release, or draft of a release was published. + */ + post: operations["release/published"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "release-released": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description A release was published, or a pre-release was changed to a release. + */ + post: operations["release/released"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "release-unpublished": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description A release or pre-release was unpublished. + */ + post: operations["release/unpublished"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-advisory-published": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a repository security advisory. For more information about repository security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Repository security advisories" permission. + * @description A repository security advisory was published. + */ + post: operations["repository-advisory/published"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-advisory-reported": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a repository security advisory. For more information about repository security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Repository security advisories" permission. + * @description A private vulnerability report was submitted. + */ + post: operations["repository-advisory/reported"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-archived": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description A repository was archived. + */ + post: operations["repository/archived"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description A repository was created. + */ + post: operations["repository/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description A repository was deleted. GitHub Apps and repository webhooks will not receive this event. + */ + post: operations["repository/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-dispatch-sample.collected": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when a GitHub App sends a `POST` request to `/repos/{owner}/{repo}/dispatches`. For more information, see [the REST API documentation for creating a repository dispatch event](https://docs.github.com/rest/repos/repos#create-a-repository-dispatch-event). + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. + * @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. + */ + post: operations["repository-dispatch/sample.collected"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description The topics, default branch, description, or homepage of a repository was changed. + */ + post: operations["repository/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-import": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when a repository is imported to GitHub. For more information, see "[Importing a repository with GitHub Importer](https://docs.github.com/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer)." For more information about the API to manage imports, see [the REST API documentation](https://docs.github.com/rest/migrations/source-imports). */ + post: operations["repository-import"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-privatized": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; /** - * Milestone - * @description A collection of related issues and pull requests. + * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description The visibility of a repository was changed to `private`. */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} + post: operations["repository/privatized"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-publicized": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description The visibility of a repository was changed to `public`. */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - requested_team: { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + post: operations["repository/publicized"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-renamed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; /** - * Format: uri - * @description URL for the team - */ - url: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }]>; - /** pull_request review_requested event */ - "webhook-pull-request-review-requested": OneOf<[{ - /** @enum {string} */ - action: "review_requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { + * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description The name of a repository was changed. + */ + post: operations["repository/renamed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-ruleset-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repository rulesets. + * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." + * For more information on managing rulesets via the APIs, see [Repository ruleset](https://docs.github.com/graphql/reference/objects#repositoryruleset) in the GraphQL documentation or "[Repository rules](https://docs.github.com/rest/repos/rules)" and "[Organization rules](https://docs.github.com/rest/orgs/rules) in the REST API documentation." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. + * @description A repository ruleset was created. + */ + post: operations["repository-ruleset/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-ruleset-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repository rulesets. + * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." + * For more information on managing rulesets via the APIs, see [Repository ruleset](https://docs.github.com/graphql/reference/objects#repositoryruleset) in the GraphQL documentation or "[Repository rules](https://docs.github.com/rest/repos/rules)" and "[Organization rules](https://docs.github.com/rest/orgs/rules) in the REST API documentation." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. + * @description A repository ruleset was deleted. + */ + post: operations["repository-ruleset/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-ruleset-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repository rulesets. + * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." + * For more information on managing rulesets via the APIs, see [Repository ruleset](https://docs.github.com/graphql/reference/objects#repositoryruleset) in the GraphQL documentation or "[Repository rules](https://docs.github.com/rest/repos/rules)" and "[Organization rules](https://docs.github.com/rest/orgs/rules) in the REST API documentation." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. + * @description A repository ruleset was edited. + */ + post: operations["repository-ruleset/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-transferred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description Ownership of the repository was transferred to a user or organization account. This event is only sent to the account where the ownership is transferred. To receive the `repository.transferred` event, the new owner account must have the GitHub App installed, and the App must be subscribed to "Repository" events. + */ + post: operations["repository/transferred"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-unarchived": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description A previously archived repository was unarchived. + */ + post: operations["repository/unarchived"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-vulnerability-alert-create": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A repository vulnerability alert was created. + */ + post: operations["repository-vulnerability-alert/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-vulnerability-alert-dismiss": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A repository vulnerability alert was dismissed. + */ + post: operations["repository-vulnerability-alert/dismiss"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-vulnerability-alert-reopen": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A previously dismissed or resolved repository vulnerability alert was reopened. + */ + post: operations["repository-vulnerability-alert/reopen"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "repository-vulnerability-alert-resolve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a security vulnerability alert in a repository. + * + * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. + * @description A repository vulnerability alert was marked as resolved. + */ + post: operations["repository-vulnerability-alert/resolve"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "secret-scanning-alert-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. + * + * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. + * @description A secret scanning alert was created. + */ + post: operations["secret-scanning-alert/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "secret-scanning-alert-location-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to the locations of a secret in a secret scanning alert. + * + * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. + * + * For activity relating to secret scanning alerts, use the `secret_scanning_alert` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. + * @description A new instance of a previously detected secret was detected in a repository, and the location of the secret was added to the existing alert. + */ + post: operations["secret-scanning-alert-location/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "secret-scanning-alert-reopened": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. + * + * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. + * @description A previously closed secret scanning alert was reopened. + */ + post: operations["secret-scanning-alert/reopened"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "secret-scanning-alert-resolved": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. + * + * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. + * @description A secret scanning alert was closed. + */ + post: operations["secret-scanning-alert/resolved"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "secret-scanning-alert-revoked": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. + * + * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. + * @description A secret scanning alert was marked as revoked. + */ + post: operations["secret-scanning-alert/revoked"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "security-advisory-published": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). + * + * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + * @description A security advisory was published to the GitHub community. + */ + post: operations["security-advisory/published"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "security-advisory-updated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). + * + * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + * @description The metadata or description of a security advisory was changed, or the security advisory was withdrawn. + */ + post: operations["security-advisory/updated"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "security-advisory-withdrawn": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). + * + * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." + * @description A previously published security advisory was withdrawn. + */ + post: operations["security-advisory/withdrawn"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "security-and-analysis": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when code security and analysis features are enabled or disabled for a repository. For more information, see "[GitHub security features](https://docs.github.com/code-security/getting-started/github-security-features)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. */ + post: operations["security-and-analysis"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "sponsorship-cancelled": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsorship was cancelled and the last billing cycle has ended. + * + * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. + */ + post: operations["sponsorship/cancelled"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "sponsorship-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor created a sponsorship for a sponsored account. This event occurs once the payment is successfully processed. + */ + post: operations["sponsorship/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "sponsorship-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A monthly sponsor changed who can see their sponsorship. If you recognize your sponsors publicly, you may want to update your sponsor recognition to reflect the change when this event occurs. + */ + post: operations["sponsorship/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "sponsorship-pending-cancellation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor scheduled a cancellation for their sponsorship. The cancellation will become effective on their next billing date. + * + * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. + */ + post: operations["sponsorship/pending-cancellation"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "sponsorship-pending-tier-change": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor scheduled a downgrade to a lower sponsorship tier. The new tier will become effective on their next billing date. + */ + post: operations["sponsorship/pending-tier-change"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "sponsorship-tier-changed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). + * + * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." + * @description A sponsor changed the tier of their sponsorship and the change has taken effect. If a sponsor upgraded their tier, the change took effect immediately. If a sponsor downgraded their tier, the change took effect at the beginning of the sponsor's next billing cycle. + */ + post: operations["sponsorship/tier-changed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "star-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repository stars. For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection) or "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description Someone starred a repository. + */ + post: operations["star/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "star-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to repository stars. For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection) or "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description Someone unstarred the repository. + */ + post: operations["star/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + status: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when the status of a Git commit changes. For example, commits can be marked as `error`, `failure`, `pending`, or `success`. For more information, see "[About status checks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)." For information about the APIs to manage commit statuses, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#status) or "[Commit statuses](https://docs.github.com/rest/commits/statuses)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Commit statuses" repository permission. */ + post: operations["status"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "team-add": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when a team is added to a repository. + * For more information, see "[Managing teams and people with access to your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)." + * + * For activity relating to teams, see the `teams` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. */ + post: operations["team-add"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "team-added-to-repository": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to teams in an organization. + * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A team was granted access to a repository. + */ + post: operations["team/added-to-repository"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "team-created": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to teams in an organization. + * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A team was created. + */ + post: operations["team/created"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "team-deleted": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to teams in an organization. + * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A team was deleted. + */ + post: operations["team/deleted"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "team-edited": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to teams in an organization. + * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description The name, description, or visibility of a team was changed. + */ + post: operations["team/edited"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "team-removed-from-repository": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to teams in an organization. + * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. + * @description A team's access to a repository was removed. + */ + post: operations["team/removed-from-repository"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "watch-started": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to watching, or subscribing to, a repository. For more information about watching, see "[Managing your subscriptions](https://docs.github.com/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions)." For information about the APIs to manage watching, see "[Watching](https://docs.github.com/rest/activity/watching)" in the REST API documentation. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. + * @description Someone started watching the repository. + */ + post: operations["watch/started"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "workflow-dispatch": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** This event occurs when a GitHub Actions workflow is manually triggered. For more information, see "[Manually running a workflow](https://docs.github.com/actions/managing-workflow-runs/manually-running-a-workflow)." + * + * For activity relating to workflow runs, use the `workflow_run` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. */ + post: operations["workflow-dispatch"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "workflow-job-completed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. + * + * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. + * @description A job in a workflow run finished. This event occurs when a job in a workflow is completed, regardless of whether the job was successful or unsuccessful. + */ + post: operations["workflow-job/completed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "workflow-job-in-progress": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. + * + * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. + * @description A job in a workflow run started processing on a runner. + */ + post: operations["workflow-job/in-progress"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "workflow-job-queued": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. + * + * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. + * @description A job in a workflow run was created. + */ + post: operations["workflow-job/queued"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "workflow-job-waiting": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. + * + * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. + * @description A job in a workflow run was created and is waiting for approvals. + */ + post: operations["workflow-job/waiting"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "workflow-run-completed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. + * + * For activity relating to a job in a workflow run, use the `workflow_job` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. + * @description A workflow run finished. This event occurs when a workflow run is completed, regardless of whether the workflow was successful or unsuccessful. + */ + post: operations["workflow-run/completed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "workflow-run-in-progress": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. + * + * For activity relating to a job in a workflow run, use the `workflow_job` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. + * @description A workflow run started processing on a runner. + */ + post: operations["workflow-run/in-progress"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "workflow-run-requested": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. + * + * For activity relating to a job in a workflow run, use the `workflow_job` event. + * + * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. + * @description A workflow run was triggered. + */ + post: operations["workflow-run/requested"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export interface components { + schemas: { + root: { /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { + current_user_url: string; /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { + current_user_authorizations_html_url: string; /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { + authorizations_url: string; /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { + code_search_url: string; /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { + commit_search_url: string; /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { + emails_url: string; /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { + emojis_url: string; /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; + events_url: string; /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; + feeds_url: string; /** Format: uri-template */ - following_url?: string; + followers_url: string; /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; + following_url: string; /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; + gists_url: string; /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; + hub_url: string; /** Format: uri-template */ - following_url?: string; + issue_search_url: string; /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; + issues_url: string; /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; + keys_url: string; /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; + label_search_url: string; /** Format: uri-template */ - assignees_url: string; + notifications_url: string; /** Format: uri-template */ - blobs_url: string; + organization_url: string; /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; + organization_repositories_url: string; /** Format: uri-template */ - collaborators_url: string; + organization_teams_url: string; /** Format: uri-template */ - comments_url: string; + public_gists_url: string; /** Format: uri-template */ - commits_url: string; + rate_limit_url: string; /** Format: uri-template */ - compare_url: string; + repository_url: string; /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; + repository_search_url: string; /** Format: uri-template */ - git_commits_url: string; + current_user_repositories_url: string; /** Format: uri-template */ - git_refs_url: string; + starred_url: string; /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; + starred_gists_url: string; /** Format: uri-template */ - issue_comment_url: string; + topic_search_url?: string; /** Format: uri-template */ - issue_events_url: string; + user_url: string; /** Format: uri-template */ - issues_url: string; + user_organizations_url: string; /** Format: uri-template */ - keys_url: string; + user_repositories_url: string; /** Format: uri-template */ - labels_url: string; - language: string | null; + user_search_url: string; + }; + /** + * @description The package's language or package management ecosystem. + * @enum {string} + */ + "security-advisory-ecosystems": "rubygems" | "npm" | "pip" | "maven" | "nuget" | "composer" | "go" | "rust" | "erlang" | "actions" | "pub" | "other" | "swift"; + /** + * Simple User + * @description A GitHub user. + */ + "simple-user": { + name?: string | null; + email?: string | null; + login: string; + id: number; + node_id: string; /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + avatar_url: string; + gravatar_id: string | null; /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + url: string; /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + html_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + events_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + starred_at?: string; + }; + /** + * @description The type of credit the user is receiving. + * @enum {string} + */ + "security-advisory-credit-types": "analyst" | "finder" | "reporter" | "coordinator" | "remediation_developer" | "remediation_reviewer" | "remediation_verifier" | "tool" | "sponsor" | "other"; + /** @description A GitHub Security Advisory. */ + "global-advisory": { + /** @description The GitHub Security Advisory ID. */ + readonly ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + readonly cve_id: string | null; + /** @description The API URL for the advisory. */ + readonly url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + readonly html_url: string; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * Format: uri + * @description The API URL for the repository advisory. + */ + readonly repository_advisory_url: string | null; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; + /** + * @description The type of advisory. * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + readonly type: "reviewed" | "unreviewed" | "malware"; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @description The severity of the advisory. * @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; + severity: "critical" | "high" | "medium" | "low" | "unknown"; + /** + * Format: uri + * @description The URL of the advisory's source code. + */ + source_code_location: string | null; + readonly identifiers: { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[] | null; + references: string[] | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + readonly published_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + readonly updated_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format. + */ + readonly github_reviewed_at: string | null; + /** + * Format: date-time + * @description The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format. + * This field is only populated when the advisory is imported from the National Vulnerability Database. + */ + readonly nvd_published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + readonly withdrawn_at: string | null; + /** @description The products and respective version ranges affected by the advisory. */ + vulnerabilities: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version that resolve the vulnerability. */ + first_patched_version: string | null; + /** @description The functions in the package that are affected by the vulnerability. */ + readonly vulnerable_functions: string[] | null; + }[] | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + readonly score: number | null; + } | null; + cwes: { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + readonly name: string; + }[] | null; + /** @description The users who contributed to the advisory. */ + readonly credits: { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + }; + /** + * Basic Error + * @description Basic Error + */ + "basic-error": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; + /** + * Validation Error Simple + * @description Validation Error Simple + */ + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: string[]; + }; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + integration: { + /** @description Unique identifier of the GitHub app */ + id: number; + /** @description The slug name of the GitHub app */ + slug?: string; + node_id: string; + owner: null | components["schemas"]["simple-user"]; + /** @description The name of the GitHub app */ + name: string; + description: string | null; /** Format: uri */ - tags_url: string; + external_url: string; /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + html_url: string; + /** Format: date-time */ + created_at: string; /** Format: date-time */ updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + [key: string]: string; + }; + /** @description The list of events for the GitHub app */ + events: string[]; + /** @description The number of installations associated with the GitHub app */ + installations_count?: number; + client_id?: string; + client_secret?: string; + webhook_secret?: string | null; + pem?: string; + }; + /** + * Format: uri + * @description The URL to which the payloads will be delivered. + */ + "webhook-config-url": string; + /** @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. */ + "webhook-config-content-type": string; + /** @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). */ + "webhook-config-secret": string; + "webhook-config-insecure-ssl": string | number; + /** + * Webhook Configuration + * @description Configuration object of the webhook + */ + "webhook-config": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * Simple webhook delivery + * @description Delivery made by a webhook, without request and response information. + */ + "hook-delivery-item": { + /** @description Unique identifier of the webhook delivery. */ + id: number; + /** @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). */ + guid: string; + /** + * Format: date-time + * @description Time when the webhook delivery occurred. + */ + delivered_at: string; + /** @description Whether the webhook delivery is a redelivery. */ + redelivery: boolean; + /** @description Time spent delivering. */ + duration: number; + /** @description Describes the response returned after attempting the delivery. */ + status: string; + /** @description Status code received when delivery was made. */ + status_code: number; + /** @description The event that triggered the delivery. */ + event: string; + /** @description The type of activity for the event that triggered the delivery. */ + action: string | null; + /** @description The id of the GitHub App installation associated with this event. */ + installation_id: number | null; + /** @description The id of the repository associated with this event. */ + repository_id: number | null; + }; + /** + * Scim Error + * @description Scim Error + */ + "scim-error": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; + /** + * Validation Error + * @description Validation Error + */ + "validation-error": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; + /** + * Webhook delivery + * @description Delivery made by a webhook. + */ + "hook-delivery": { + /** @description Unique identifier of the delivery. */ + id: number; + /** @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). */ + guid: string; + /** + * Format: date-time + * @description Time when the delivery was delivered. + */ + delivered_at: string; + /** @description Whether the delivery is a redelivery. */ + redelivery: boolean; + /** @description Time spent delivering. */ + duration: number; + /** @description Description of the status of the attempted delivery */ + status: string; + /** @description Status code received when delivery was made. */ + status_code: number; + /** @description The event that triggered the delivery. */ + event: string; + /** @description The type of activity for the event that triggered the delivery. */ + action: string | null; + /** @description The id of the GitHub App installation associated with this event. */ + installation_id: number | null; + /** @description The id of the repository associated with this event. */ + repository_id: number | null; + /** @description The URL target of the delivery. */ + url?: string; + request: { + /** @description The request headers sent with the webhook delivery. */ + headers: { + [key: string]: unknown; + } | null; + /** @description The webhook payload. */ + payload: { + [key: string]: unknown; + } | null; + }; + response: { + /** @description The response headers received when the delivery was made. */ + headers: { + [key: string]: unknown; + } | null; + /** @description The response payload received. */ + payload: string | null; + }; + }; + /** + * Enterprise + * @description An enterprise on GitHub. + */ + enterprise: { + /** @description A short description of the enterprise. */ + description?: string | null; /** Format: uri */ - url: string; + html_url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: uri + * @description The enterprise's website URL. */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + website_url?: string | null; + /** @description Unique identifier of the enterprise */ + id: number; + node_id: string; + /** @description The name of the enterprise. */ + name: string; + /** @description The slug url identifier for the enterprise. */ + slug: string; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + updated_at: string | null; /** Format: uri */ - html_url?: string; + avatar_url: string; + }; + /** + * Integration Installation Request + * @description Request to install an integration on a target + */ + "integration-installation-request": { + /** @description Unique identifier of the request installation. */ id: number; - login: string; - name?: string; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { + account: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; + requester: components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + }; + /** + * App Permissions + * @description The permissions granted to the user access token. + * @example { + * "contents": "read", + * "issues": "read", + * "deployments": "write", + * "single_file": "read" + * } + */ + "app-permissions": { /** - * @description Whether to allow auto-merge for pull requests. - * @default false + * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + * @enum {string} */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + actions?: "read" | "write"; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + * @enum {string} */ - allow_merge_commit?: boolean; + administration?: "read" | "write"; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The level of permission to grant the access token for checks on code. + * @enum {string} */ - allow_rebase_merge?: boolean; + checks?: "read" | "write"; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + * @enum {string} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + contents?: "read" | "write"; /** - * @description Whether the repository is archived. - * @default false + * @description The level of permission to grant the access token for deployments and deployment statuses. + * @enum {string} */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + deployments?: "read" | "write"; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The level of permission to grant the access token for managing repository environments. + * @enum {string} */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + environments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + * @enum {string} + */ + issues?: "read" | "write"; /** - * @description Whether downloads are enabled. - * @default true + * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + * @enum {string} */ - has_downloads: boolean; + metadata?: "read" | "write"; /** - * @description Whether issues are enabled. - * @default true + * @description The level of permission to grant the access token for packages published to GitHub Packages. + * @enum {string} */ - has_issues: boolean; - has_pages: boolean; + packages?: "read" | "write"; /** - * @description Whether projects are enabled. - * @default true + * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + * @enum {string} */ - has_projects: boolean; + pages?: "read" | "write"; /** - * @description Whether the wiki is enabled. - * @default true + * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + * @enum {string} */ - has_wiki: boolean; + pull_requests?: "read" | "write"; /** - * @description Whether discussions are enabled. - * @default false + * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + * @enum {string} */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + repository_hooks?: "read" | "write"; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * @description The level of permission to grant the access token to manage repository projects, columns, and cards. * @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + repository_projects?: "read" | "write" | "admin"; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @description The level of permission to grant the access token to view and manage secret scanning alerts. * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + secret_scanning_alerts?: "read" | "write"; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * @description The level of permission to grant the access token to manage repository secrets. * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + secrets?: "read" | "write"; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. * @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + security_events?: "read" | "write"; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * @description The level of permission to grant the access token to manage just a single file. + * @enum {string} */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + single_file?: "read" | "write"; /** - * Format: uri - * @description URL for the label + * @description The level of permission to grant the access token for commit statuses. + * @enum {string} */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + statuses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot alerts. + * @enum {string} + */ + vulnerability_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to update GitHub Actions workflow files. + * @enum {string} + */ + workflows?: "write"; + /** + * @description The level of permission to grant the access token for organization teams and members. + * @enum {string} + */ + members?: "read" | "write"; /** - * Format: uri - * @description URL for the team + * @description The level of permission to grant the access token to manage access to an organization. + * @enum {string} */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + organization_administration?: "read" | "write"; /** - * Format: uri - * @description URL for the team + * @description The level of permission to grant the access token for custom repository roles management. This property is in beta and is subject to change. + * @enum {string} */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** User */ - requested_reviewer: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - sender: components["schemas"]["simple-user-webhooks"]; - }, { - /** @enum {string} */ - action: "review_requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { + organization_custom_roles?: "read" | "write"; /** - * @description Whether to allow auto-merge for pull requests. - * @default false + * @description The level of permission to grant the access token to view and manage announcement banners for an organization. + * @enum {string} */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + organization_announcement_banners?: "read" | "write"; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + * @enum {string} */ - allow_merge_commit?: boolean; + organization_hooks?: "read" | "write"; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization. + * @enum {string} */ - allow_rebase_merge?: boolean; + organization_personal_access_tokens?: "read" | "write"; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. + * @enum {string} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + organization_personal_access_token_requests?: "read" | "write"; /** - * @description Whether the repository is archived. - * @default false + * @description The level of permission to grant the access token for viewing an organization's plan. + * @enum {string} */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + organization_plan?: "read"; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + * @enum {string} */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + organization_projects?: "read" | "write" | "admin"; /** - * @description Whether downloads are enabled. - * @default true + * @description The level of permission to grant the access token for organization packages published to GitHub Packages. + * @enum {string} */ - has_downloads: boolean; + organization_packages?: "read" | "write"; /** - * @description Whether issues are enabled. - * @default true + * @description The level of permission to grant the access token to manage organization secrets. + * @enum {string} */ - has_issues: boolean; - has_pages: boolean; + organization_secrets?: "read" | "write"; /** - * @description Whether projects are enabled. - * @default true + * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + * @enum {string} */ - has_projects: boolean; + organization_self_hosted_runners?: "read" | "write"; /** - * @description Whether the wiki is enabled. - * @default true + * @description The level of permission to grant the access token to view and manage users blocked by the organization. + * @enum {string} */ - has_wiki: boolean; + organization_user_blocking?: "read" | "write"; /** - * @description Whether discussions are enabled. - * @default false + * @description The level of permission to grant the access token to manage team discussions and related comments. + * @enum {string} */ - has_discussions: boolean; - homepage: string | null; + team_discussions?: "read" | "write"; + }; + /** + * Installation + * @description Installation + */ + installation: { + /** @description The ID of the installation. */ + id: number; + account: (null | (components["schemas"]["simple-user"] | components["schemas"]["enterprise"])) | components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; /** Format: uri */ - hooks_url: string; + access_tokens_url: string; + /** Format: uri */ + repositories_url: string; + /** Format: uri */ + html_url: string; + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + target_type: string; + permissions: components["schemas"]["app-permissions"]; + events: string[]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + single_file_name: string | null; + has_multiple_single_files?: boolean; + single_file_paths?: string[]; + app_slug: string; + suspended_by: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + suspended_at: string | null; + contact_email?: string | null; + }; + /** + * License Simple + * @description License Simple + */ + "license-simple": { + key: string; + name: string; + /** Format: uri */ + url: string | null; + spdx_id: string | null; + node_id: string; + /** Format: uri */ + html_url?: string; + }; + /** + * Repository + * @description A repository on GitHub. + */ + repository: { + /** @description Unique identifier of the repository */ + id: number; + node_id: string; + /** @description The name of the repository. */ + name: string; + full_name: string; + license: null | components["schemas"]["license-simple"]; + organization?: null | components["schemas"]["simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ + description: string | null; + fork: boolean; + /** Format: uri */ + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; issue_comment_url: string; - /** Format: uri-template */ issue_events_url: string; - /** Format: uri-template */ issues_url: string; - /** Format: uri-template */ keys_url: string; - /** Format: uri-template */ labels_url: string; - language: string | null; /** Format: uri */ languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** Format: uri */ merges_url: string; - /** Format: uri-template */ milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; ssh_url: string; - stargazers?: number; - stargazers_count: number; /** Format: uri */ stargazers_url: string; - /** Format: uri-template */ statuses_url: string; /** Format: uri */ subscribers_url: string; /** Format: uri */ subscription_url: string; /** Format: uri */ - svn_url: string; - /** Format: uri */ tags_url: string; /** Format: uri */ teams_url: string; - topics: string[]; - /** Format: uri-template */ trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; + clone_url: string; /** Format: uri */ - received_events_url?: string; + mirror_url: string | null; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + hooks_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + svn_url: string; /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { + homepage: string | null; + language: string | null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size: number; + /** @description The default branch of the repository. */ + default_branch: string; + open_issues_count: number; /** - * @description Whether to allow auto-merge for pull requests. + * @description Whether this repository acts as a template that can be used to generate new repositories. * @default false */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + is_template: boolean; + topics?: string[]; /** - * @description Whether to allow merge commits for pull requests. + * @description Whether issues are enabled. * @default true */ - allow_merge_commit?: boolean; + has_issues: boolean; /** - * @description Whether to allow rebase merges for pull requests. + * @description Whether projects are enabled. * @default true */ - allow_rebase_merge?: boolean; + has_projects: boolean; /** - * @description Whether to allow squash merges for pull requests. + * @description Whether the wiki is enabled. * @default true */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + has_wiki: boolean; + has_pages: boolean; + /** + * @deprecated + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; /** * @description Whether the repository is archived. * @default false */ archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The repository visibility: public, private, or internal. + * @default public */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + visibility: string; + /** Format: date-time */ + pushed_at: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + updated_at: string | null; /** - * @description Whether downloads are enabled. + * @description Whether to allow rebase merges for pull requests. * @default true */ - has_downloads: boolean; + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; /** - * @description Whether issues are enabled. + * @description Whether to allow squash merges for pull requests. * @default true */ - has_issues: boolean; - has_pages: boolean; + allow_squash_merge: boolean; /** - * @description Whether projects are enabled. - * @default true + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false */ - has_projects: boolean; + allow_auto_merge: boolean; /** - * @description Whether the wiki is enabled. - * @default true + * @description Whether to delete head branches when pull requests are merged + * @default false */ - has_wiki: boolean; + delete_branch_on_merge: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + */ + allow_update_branch: boolean; /** - * @description Whether discussions are enabled. + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. * @default false */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + use_squash_pr_title_as_default: boolean; /** - * @description The default value for a merge commit message. + * @description The default value for a squash merge commit title: * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). * @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; /** - * @description The default value for a merge commit title. + * @description The default value for a squash merge commit message: * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a squash merge commit message: + * @description The default value for a merge commit title. * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** - * @description The default value for a squash merge commit title: + * @description The default value for a merge commit message. * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. * @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits * @default false */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + master_branch?: string; + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** + * Installation Token + * @description Authentication token for a GitHub App installed on a user or org. + */ + "installation-token": { + token: string; + expires_at: string; + permissions?: components["schemas"]["app-permissions"]; + /** @enum {string} */ + repository_selection?: "all" | "selected"; + repositories?: components["schemas"]["repository"][]; + single_file?: string; + has_multiple_single_files?: boolean; + single_file_paths?: string[]; + }; + /** Scoped Installation */ + "scoped-installation": { + permissions: components["schemas"]["app-permissions"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection: "all" | "selected"; + single_file_name: string | null; + has_multiple_single_files?: boolean; + single_file_paths?: string[]; /** Format: uri */ - html_url?: string; + repositories_url: string; + account: components["schemas"]["simple-user"]; + }; + /** + * Authorization + * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. + */ + authorization: { id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; + note_url: string | null; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + user?: null | components["schemas"]["simple-user"]; + installation?: null | components["schemas"]["scoped-installation"]; + /** Format: date-time */ + expires_at: string | null; + }; + /** + * Simple Classroom Repository + * @description A GitHub repository view for Classroom + */ + "simple-classroom-repository": { + /** @description A unique identifier of the repository. */ id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + /** @description The full, globally unique name of the repository. */ + full_name: string; /** * Format: uri - * @description URL for the label + * @description The URL to view the repository on GitHub.com. */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; + html_url: string; + /** @description The GraphQL identifier of the repository. */ + node_id: string; + /** @description Whether the repository is private. */ + private: boolean; + /** @description The default branch for the repository. */ + default_branch: string; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Organization Simple for Classroom + * @description A GitHub organization. */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "simple-classroom-organization": { id: number; login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + node_id: string; /** Format: uri */ - html_url?: string; + html_url: string; + name: string | null; + avatar_url: string; + }; + /** + * Classroom + * @description A GitHub Classroom classroom + */ + classroom: { + /** @description Unique identifier of the classroom. */ + id: number; + /** @description The name of the classroom. */ + name: string; + /** @description Whether classroom is archived. */ + archived: boolean; + organization: components["schemas"]["simple-classroom-organization"]; + /** @description The URL of the classroom on GitHub Classroom. */ + url: string; + }; + /** + * Classroom Assignment + * @description A GitHub Classroom assignment + */ + "classroom-assignment": { + /** @description Unique identifier of the repository. */ + id: number; + /** @description Whether an accepted assignment creates a public repository. */ + public_repo: boolean; + /** @description Assignment title. */ + title: string; + /** + * @description Whether it's a group assignment or individual assignment. + * @enum {string} + */ + type: "individual" | "group"; + /** @description The link that a student can use to accept the assignment. */ + invite_link: string; + /** @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. */ + invitations_enabled: boolean; + /** @description Sluggified name of the assignment. */ + slug: string; + /** @description Whether students are admins on created repository when a student accepts the assignment. */ + students_are_repo_admins: boolean; + /** @description Whether feedback pull request will be created when a student accepts the assignment. */ + feedback_pull_requests_enabled: boolean; + /** @description The maximum allowable teams for the assignment. */ + max_teams: number | null; + /** @description The maximum allowable members per team. */ + max_members: number | null; + /** @description The selected editor for the assignment. */ + editor: string; + /** @description The number of students that have accepted the assignment. */ + accepted: number; + /** @description The number of students that have submitted the assignment. */ + submitted: number; + /** @description The number of students that have passed the assignment. */ + passing: number; + /** @description The programming language used in the assignment. */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + */ + deadline: string | null; + starter_code_repository: components["schemas"]["simple-classroom-repository"]; + classroom: components["schemas"]["classroom"]; + }; + /** + * Simple Classroom User + * @description A GitHub user simplified for Classroom. + */ + "simple-classroom-user": { id: number; login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; + avatar_url: string; /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ + html_url: string; + }; + /** + * Simple Classroom + * @description A GitHub Classroom classroom + */ + "simple-classroom": { + /** @description Unique identifier of the classroom. */ id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ + /** @description The name of the classroom. */ name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + /** @description Returns whether classroom is archived or not. */ + archived: boolean; + /** @description The url of the classroom on GitHub Classroom. */ + url: string; + }; + /** + * Simple Classroom Assignment + * @description A GitHub Classroom assignment + */ + "simple-classroom-assignment": { + /** @description Unique identifier of the repository. */ + id: number; + /** @description Whether an accepted assignment creates a public repository. */ + public_repo: boolean; + /** @description Assignment title. */ + title: string; /** - * Format: uri - * @description URL for the team + * @description Whether it's a Group Assignment or Individual Assignment. + * @enum {string} */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ + type: "individual" | "group"; + /** @description The link that a student can use to accept the assignment. */ + invite_link: string; + /** @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. */ + invitations_enabled: boolean; + /** @description Sluggified name of the assignment. */ + slug: string; + /** @description Whether students are admins on created repository on accepted assignment. */ + students_are_repo_admins: boolean; + /** @description Whether feedback pull request will be created on assignment acceptance. */ + feedback_pull_requests_enabled: boolean; + /** @description The maximum allowable teams for the assignment. */ + max_teams?: number | null; + /** @description The maximum allowable members per team. */ + max_members?: number | null; + /** @description The selected editor for the assignment. */ + editor: string; + /** @description The number of students that have accepted the assignment. */ + accepted: number; + /** @description The number of students that have submitted the assignment. */ + submitted: number; + /** @description The number of students that have passed the assignment. */ + passing: number; + /** @description The programming language used in the assignment. */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + */ + deadline: string | null; + classroom: components["schemas"]["simple-classroom"]; + }; + /** + * Classroom Accepted Assignment + * @description A GitHub Classroom accepted assignment + */ + "classroom-accepted-assignment": { + /** @description Unique identifier of the repository. */ id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ + /** @description Whether an accepted assignment has been submitted. */ + submitted: boolean; + /** @description Whether a submission passed. */ + passing: boolean; + /** @description Count of student commits. */ + commit_count: number; + /** @description Most recent grade. */ + grade: string; + students: components["schemas"]["simple-classroom-user"][]; + repository: components["schemas"]["simple-classroom-repository"]; + assignment: components["schemas"]["simple-classroom-assignment"]; + }; + /** + * Classroom Assignment Grade + * @description Grade for a student or groups GitHub Classroom assignment + */ + "classroom-assignment-grade": { + /** @description Name of the assignment */ + assignment_name: string; + /** @description URL of the assignment */ + assignment_url: string; + /** @description URL of the starter code for the assignment */ + starter_code_url: string; + /** @description GitHub username of the student */ + github_username: string; + /** @description Roster identifier of the student */ + roster_identifier: string; + /** @description Name of the student's assignment repository */ + student_repository_name: string; + /** @description URL of the student's assignment repository */ + student_repository_url: string; + /** @description Timestamp of the student's assignment submission */ + submission_timestamp: string; + /** @description Number of points awarded to the student */ + points_awarded: number; + /** @description Number of points available for the assignment */ + points_available: number; + /** @description If a group assignment, name of the group the student is in */ + group_name?: string; + }; + /** + * Code Of Conduct + * @description Code Of Conduct + */ + "code-of-conduct": { + key: string; name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url?: string; - slug?: string; + url: string; + body?: string; + /** Format: uri */ + html_url: string | null; + }; + /** @description The security alert number. */ + "alert-number": number; + /** @description Details for the vulnerable package. */ + "dependabot-alert-package": { + /** @description The package's language or package management ecosystem. */ + readonly ecosystem: string; + /** @description The unique package name within its ecosystem. */ + readonly name: string; + }; + /** @description Details pertaining to one vulnerable version range for the advisory. */ + "dependabot-alert-security-vulnerability": { + package: components["schemas"]["dependabot-alert-package"]; /** - * Format: uri - * @description URL for the team + * @description The severity of the vulnerability. + * @enum {string} */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ + readonly vulnerable_version_range: string; + /** @description Details pertaining to the package version that patches this vulnerability. */ + readonly first_patched_version: { + /** @description The package version that patches this vulnerability. */ + readonly identifier: string; + } | null; + }; + /** @description Details for the GitHub Security Advisory. */ + "dependabot-alert-security-advisory": { + /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ + readonly ghsa_id: string; + /** @description The unique CVE ID assigned to the advisory. */ + readonly cve_id: string | null; + /** @description A short, plain text summary of the advisory. */ + readonly summary: string; + /** @description A long-form Markdown-supported description of the advisory. */ + readonly description: string; + /** @description Vulnerable version range information for the advisory. */ + readonly vulnerabilities: components["schemas"]["dependabot-alert-security-vulnerability"][]; + /** + * @description The severity of the advisory. + * @enum {string} + */ + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ + readonly cvss: { + /** @description The overall CVSS score of the advisory. */ + readonly score: number; + /** @description The full CVSS vector string for the advisory. */ + readonly vector_string: string | null; + }; + /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ + readonly cwes: { + /** @description The unique CWE ID. */ + readonly cwe_id: string; + /** @description The short, plain text name of the CWE. */ + readonly name: string; + }[]; + /** @description Values that identify this advisory among security information sources. */ + readonly identifiers: { + /** + * @description The type of advisory identifier. + * @enum {string} + */ + readonly type: "CVE" | "GHSA"; + /** @description The value of the advisory identifer. */ + readonly value: string; + }[]; + /** @description Links to additional advisory information. */ + readonly references: { + /** + * Format: uri + * @description The URL of the reference. + */ + readonly url: string; + }[]; + /** + * Format: date-time + * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly published_at: string; + /** + * Format: date-time + * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly updated_at: string; + /** + * Format: date-time + * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + readonly withdrawn_at: string | null; + }; + /** + * Format: uri + * @description The REST API URL of the alert resource. */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - requested_team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + "alert-url": string; /** * Format: uri - * @description URL for the team - */ - url?: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }]>; - /** pull_request_review submitted event */ - "webhook-pull-request-review-submitted": { - /** @enum {string} */ - action: "submitted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; + * @description The GitHub URL of the alert resource. + */ + "alert-html-url": string; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "alert-created-at": string; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "alert-updated-at": string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-dismissed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-fixed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-auto-dismissed-at": string | null; + /** + * Simple Repository + * @description A GitHub repository. + */ + "simple-repository": { + /** @description A unique identifier of the repository. */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { + /** @description The GraphQL identifier of the repository. */ + node_id: string; + /** @description The name of the repository. */ + name: string; + /** @description The full, globally unique, name of the repository. */ + full_name: string; + owner: components["schemas"]["simple-user"]; + /** @description Whether the repository is private. */ + private: boolean; /** - * @description Whether to allow auto-merge for pull requests. - * @default false + * Format: uri + * @description The URL to view the repository on GitHub.com. + */ + html_url: string; + /** @description The repository description. */ + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; + /** + * Format: uri + * @description The URL to get more information about the repository from the GitHub API. + */ + url: string; + /** @description A template for the API URL to download the repository as an archive. */ + archive_url: string; + /** @description A template for the API URL to list the available assignees for issues in the repository. */ + assignees_url: string; + /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. */ + blobs_url: string; + /** @description A template for the API URL to get information about branches in the repository. */ + branches_url: string; + /** @description A template for the API URL to get information about collaborators of the repository. */ + collaborators_url: string; + /** @description A template for the API URL to get information about comments on the repository. */ + comments_url: string; + /** @description A template for the API URL to get information about commits on the repository. */ + commits_url: string; + /** @description A template for the API URL to compare two commits or refs. */ + compare_url: string; + /** @description A template for the API URL to get the contents of the repository. */ + contents_url: string; + /** + * Format: uri + * @description A template for the API URL to list the contributors to the repository. + */ + contributors_url: string; + /** + * Format: uri + * @description The API URL to list the deployments of the repository. + */ + deployments_url: string; + /** + * Format: uri + * @description The API URL to list the downloads on the repository. + */ + downloads_url: string; + /** + * Format: uri + * @description The API URL to list the events of the repository. + */ + events_url: string; + /** + * Format: uri + * @description The API URL to list the forks of the repository. + */ + forks_url: string; + /** @description A template for the API URL to get information about Git commits of the repository. */ + git_commits_url: string; + /** @description A template for the API URL to get information about Git refs of the repository. */ + git_refs_url: string; + /** @description A template for the API URL to get information about Git tags of the repository. */ + git_tags_url: string; + /** @description A template for the API URL to get information about issue comments on the repository. */ + issue_comment_url: string; + /** @description A template for the API URL to get information about issue events on the repository. */ + issue_events_url: string; + /** @description A template for the API URL to get information about issues on the repository. */ + issues_url: string; + /** @description A template for the API URL to get information about deploy keys on the repository. */ + keys_url: string; + /** @description A template for the API URL to get information about labels of the repository. */ + labels_url: string; + /** + * Format: uri + * @description The API URL to get information about the languages of the repository. + */ + languages_url: string; + /** + * Format: uri + * @description The API URL to merge branches in the repository. + */ + merges_url: string; + /** @description A template for the API URL to get information about milestones of the repository. */ + milestones_url: string; + /** @description A template for the API URL to get information about notifications on the repository. */ + notifications_url: string; + /** @description A template for the API URL to get information about pull requests on the repository. */ + pulls_url: string; + /** @description A template for the API URL to get information about releases on the repository. */ + releases_url: string; + /** + * Format: uri + * @description The API URL to list the stargazers on the repository. + */ + stargazers_url: string; + /** @description A template for the API URL to get information about statuses of a commit. */ + statuses_url: string; + /** + * Format: uri + * @description The API URL to list the subscribers on the repository. + */ + subscribers_url: string; + /** + * Format: uri + * @description The API URL to subscribe to notifications for this repository. + */ + subscription_url: string; + /** + * Format: uri + * @description The API URL to get information about tags on the repository. */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + tags_url: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: uri + * @description The API URL to list the teams on the repository. */ - allow_merge_commit?: boolean; + teams_url: string; + /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. */ + trees_url: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @description The API URL to list the hooks on the repository. */ - allow_rebase_merge?: boolean; + hooks_url: string; + }; + /** @description A Dependabot alert. */ + "dependabot-alert-with-repository": { + number: components["schemas"]["alert-number"]; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The state of the Dependabot alert. + * @enum {string} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + readonly state: "auto_dismissed" | "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + readonly dependency: { + package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime" | null; + }; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: null | components["schemas"]["simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: string | null; + fixed_at: components["schemas"]["alert-fixed-at"]; + auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; + repository: components["schemas"]["simple-repository"]; + }; + /** + * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + * @enum {string} + */ + "secret-scanning-alert-state": "open" | "resolved"; + /** + * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | null; + "organization-secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: null | components["schemas"]["alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @description The REST API URL of the code locations for this alert. */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: null | components["schemas"]["simple-user"]; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + repository?: components["schemas"]["simple-repository"]; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - delete_branch_on_merge?: boolean; + push_protection_bypassed_at?: string | null; + /** @description The comment that was optionally added when this alert was closed */ + resolution_comment?: string | null; + }; + /** + * Actor + * @description Actor + */ + actor: { + id: number; + login: string; + display_login?: string; + gravatar_id: string | null; /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; + url: string; /** Format: uri */ - downloads_url: string; + avatar_url: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; + url: string; /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; + html_url: string; /** Format: uri */ - git_url: string; + labels_url: string; + id: number; + node_id: string; + /** @description The number of the milestone. */ + number: number; /** - * @description Whether downloads are enabled. - * @default true + * @description The state of the milestone. + * @default open + * @enum {string} */ - has_downloads: boolean; + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + description: string | null; + creator: null | components["schemas"]["simple-user"]; + open_issues: number; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + due_on: string | null; + }; + /** + * author_association + * @description How the author is associated with the repository. + * @enum {string} + */ + "author-association": "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** Reaction Rollup */ + "reaction-rollup": { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + issue: { + /** Format: int64 */ + id: number; + node_id: string; /** - * @description Whether issues are enabled. - * @default true + * Format: uri + * @description URL for the issue */ - has_issues: boolean; - has_pages: boolean; + url: string; + /** Format: uri */ + repository_url: string; + labels_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** @description Number uniquely identifying the issue within its repository */ + number: number; + /** @description State of the issue; either 'open' or 'closed' */ + state: string; /** - * @description Whether projects are enabled. - * @default true + * @description The reason for the current state + * @enum {string|null} */ - has_projects: boolean; + state_reason?: "completed" | "reopened" | "not_planned" | null; + /** @description Title of the issue */ + title: string; + /** @description Contents of the issue */ + body?: string | null; + user: null | components["schemas"]["simple-user"]; + /** @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository */ + labels: (string | { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + })[]; + assignee: null | components["schemas"]["simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: null | components["schemas"]["milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + draft?: boolean; + closed_by?: null | components["schemas"]["simple-user"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: null | components["schemas"]["integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Issue Comment + * @description Comments provide a way for people to collaborate on an issue. + */ + "issue-comment": { /** - * @description Whether the wiki is enabled. - * @default true + * Format: int64 + * @description Unique identifier of the issue comment */ - has_wiki: boolean; + id: number; + node_id: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @description URL for the issue comment */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; + url: string; + /** @description Contents of the issue comment */ + body?: string; + body_text?: string; + body_html?: string; /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; + user: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: null | components["schemas"]["integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Event + * @description Event + */ + event: { + id: string; + type: string | null; + actor: components["schemas"]["actor"]; + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + org?: components["schemas"]["actor"]; + payload: { + action?: string; + issue?: components["schemas"]["issue"]; + comment?: components["schemas"]["issue-comment"]; + pages?: { + page_name?: string; + title?: string; + summary?: string | null; + action?: string; + sha?: string; + html_url?: string; + }[]; + }; + public: boolean; + /** Format: date-time */ + created_at: string | null; + }; + /** + * Link With Type + * @description Hypermedia Link with Type + */ + "link-with-type": { + href: string; + type: string; + }; + /** + * Feed + * @description Feed + */ + feed: { + timeline_url: string; + user_url: string; + current_user_public_url?: string; + current_user_url?: string; + current_user_actor_url?: string; + current_user_organization_url?: string; + current_user_organization_urls?: string[]; + security_advisories_url?: string; + /** @description A feed of discussions for a given repository. */ + repository_discussions_url?: string; + /** @description A feed of discussions for a given repository and category. */ + repository_discussions_category_url?: string; + _links: { + timeline: components["schemas"]["link-with-type"]; + user: components["schemas"]["link-with-type"]; + security_advisories?: components["schemas"]["link-with-type"]; + current_user?: components["schemas"]["link-with-type"]; + current_user_public?: components["schemas"]["link-with-type"]; + current_user_actor?: components["schemas"]["link-with-type"]; + current_user_organization?: components["schemas"]["link-with-type"]; + current_user_organizations?: components["schemas"]["link-with-type"][]; + repository_discussions?: components["schemas"]["link-with-type"]; + repository_discussions_category?: components["schemas"]["link-with-type"]; + }; + }; + /** + * Base Gist + * @description Base Gist + */ + "base-gist": { + /** Format: uri */ + url: string; /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + forks_url: string; /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; + commits_url: string; + id: string; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + user: null | components["schemas"]["simple-user"]; /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; + comments_url: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + }; + /** + * Public User + * @description Public User + */ + "public-user": { + login: string; + id: number; + node_id: string; /** Format: uri */ - subscribers_url: string; + avatar_url: string; + gravatar_id: string | null; /** Format: uri */ - subscription_url: string; + url: string; /** Format: uri */ - svn_url: string; + html_url: string; /** Format: uri */ - tags_url: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; + events_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + /** Format: email */ + email: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + /** Format: date-time */ + created_at: string; /** Format: date-time */ updated_at: string; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + private_gists?: number; + total_private_repos?: number; + owned_private_repos?: number; + disk_usage?: number; + collaborators?: number; + }; + /** + * Gist History + * @description Gist History + */ + "gist-history": { + user?: null | components["schemas"]["simple-user"]; + version?: string; + /** Format: date-time */ + committed_at?: string; + change_status?: { + total?: number; + additions?: number; + deletions?: number; + }; /** Format: uri */ - url: string; + url?: string; + }; + /** + * Gist Simple + * @description Gist Simple + */ + "gist-simple": { + /** @deprecated */ + forks?: { + id?: string; + /** Format: uri */ + url?: string; + user?: components["schemas"]["public-user"]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }[] | null; + /** @deprecated */ + history?: components["schemas"]["gist-history"][] | null; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Gist + * @description Gist */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ + fork_of?: { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + user: null | components["schemas"]["simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: null | components["schemas"]["simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + } | null; + url?: string; + forks_url?: string; + commits_url?: string; + id?: string; + node_id?: string; + git_pull_url?: string; + git_push_url?: string; html_url?: string; + files?: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + truncated?: boolean; + content?: string; + } | null; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + user?: string | null; + comments_url?: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + }; + /** + * Gist Comment + * @description A comment made to a gist. + */ + "gist-comment": { id: number; - login: string; - name?: string; - node_id?: string; + node_id: string; /** Format: uri */ - organizations_url?: string; + url: string; + /** @description The comment text. */ + body: string; + user: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Gist Commit + * @description Gist Commit + */ + "gist-commit": { /** Format: uri */ - received_events_url?: string; + url: string; + version: string; + user: null | components["schemas"]["simple-user"]; + change_status: { + total?: number; + additions?: number; + deletions?: number; + }; + /** Format: date-time */ + committed_at: string; + }; + /** + * Gitignore Template + * @description Gitignore Template + */ + "gitignore-template": { + name: string; + source: string; + }; + /** + * License + * @description License + */ + license: { + key: string; + name: string; + spdx_id: string | null; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + url: string | null; + node_id: string; /** Format: uri */ - subscriptions_url?: string; + html_url: string; + description: string; + implementation: string; + permissions: string[]; + conditions: string[]; + limitations: string[]; + body: string; + featured: boolean; + }; + /** + * Marketplace Listing Plan + * @description Marketplace Listing Plan + */ + "marketplace-listing-plan": { + /** Format: uri */ + url: string; + /** Format: uri */ + accounts_url: string; + id: number; + number: number; + name: string; + description: string; + monthly_price_in_cents: number; + yearly_price_in_cents: number; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + has_free_trial: boolean; + unit_name: string | null; + state: string; + bullets: string[]; + }; + /** + * Marketplace Purchase + * @description Marketplace Purchase + */ + "marketplace-purchase": { + url: string; + type: string; + id: number; + login: string; + organization_billing_email?: string; + email?: string | null; + marketplace_pending_change?: { + is_installed?: boolean; + effective_date?: string; + unit_count?: number | null; + id?: number; + plan?: components["schemas"]["marketplace-listing-plan"]; + } | null; + marketplace_purchase: { + billing_cycle?: string; + next_billing_date?: string | null; + is_installed?: boolean; + unit_count?: number | null; + on_free_trial?: boolean; + free_trial_ends_on?: string | null; + updated_at?: string; + plan?: components["schemas"]["marketplace-listing-plan"]; + }; + }; + /** + * Api Overview + * @description Api Overview + */ + "api-overview": { + verifiable_password_authentication: boolean; + ssh_key_fingerprints?: { + SHA256_RSA?: string; + SHA256_DSA?: string; + SHA256_ECDSA?: string; + SHA256_ED25519?: string; + }; + ssh_keys?: string[]; + hooks?: string[]; + github_enterprise_importer?: string[]; + web?: string[]; + api?: string[]; + git?: string[]; + packages?: string[]; + pages?: string[]; + importer?: string[]; + actions?: string[]; + dependabot?: string[]; + domains?: { + website?: string[]; + codespaces?: string[]; + copilot?: string[]; + packages?: string[]; + }; + }; + "security-and-analysis": { + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + /** @description Enable or disable Dependabot security updates for the repository. */ + dependabot_security_updates?: { + /** + * @description The enablement status of Dependabot security updates for the repository. + * @enum {string} + */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { + id: number; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ + html_url: string; + description: string | null; + fork: boolean; + /** Format: uri */ + url: string; + archive_url: string; assignees_url: string; - /** Format: uri-template */ blobs_url: string; - /** Format: uri-template */ branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ collaborators_url: string; - /** Format: uri-template */ comments_url: string; - /** Format: uri-template */ commits_url: string; - /** Format: uri-template */ compare_url: string; - /** Format: uri-template */ contents_url: string; /** Format: uri */ contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; /** Format: uri */ deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; /** Format: uri */ downloads_url: string; /** Format: uri */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; /** Format: uri */ forks_url: string; - full_name: string; - /** Format: uri-template */ git_commits_url: string; - /** Format: uri-template */ git_refs_url: string; - /** Format: uri-template */ git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ + git_url?: string; issue_comment_url: string; - /** Format: uri-template */ issue_events_url: string; - /** Format: uri-template */ issues_url: string; - /** Format: uri-template */ keys_url: string; - /** Format: uri-template */ labels_url: string; - language: string | null; /** Format: uri */ languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** Format: uri */ merges_url: string; - /** Format: uri-template */ milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; + ssh_url?: string; /** Format: uri */ stargazers_url: string; - /** Format: uri-template */ statuses_url: string; /** Format: uri */ subscribers_url: string; /** Format: uri */ subscription_url: string; /** Format: uri */ - svn_url: string; - /** Format: uri */ tags_url: string; /** Format: uri */ teams_url: string; - topics: string[]; - /** Format: uri-template */ trees_url: string; - /** Format: date-time */ - updated_at: string; + clone_url?: string; + mirror_url?: string | null; /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + has_discussions?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** Format: date-time */ + pushed_at?: string | null; + /** Format: date-time */ + created_at?: string | null; + /** Format: date-time */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + role_name?: string; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + forks?: number; + open_issues?: number; + watchers?: number; + allow_forking?: boolean; web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + /** + * Thread + * @description Thread + */ + thread: { + id: string; + repository: components["schemas"]["minimal-repository"]; + subject: { + title: string; + url: string; + latest_comment_url: string; + type: string; + }; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string | null; url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; + subscription_url: string; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Thread Subscription + * @description Thread Subscription */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + "thread-subscription": { + subscribed: boolean; + ignored: boolean; + reason: string | null; + /** Format: date-time */ + created_at: string | null; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + url: string; /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; + thread_url?: string; /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ + repository_url?: string; + }; + /** + * Organization Simple + * @description A GitHub organization. + */ + "organization-simple": { + login: string; id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + repos_url: string; /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string | null; }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Organization Full + * @description Organization Full */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the review. */ - body: string | null; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - state: string; - /** Format: date-time */ - submitted_at: string | null; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_thread resolved event */ - "webhook-pull-request-review-thread-resolved": { - /** @enum {string} */ - action: "resolved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; + "organization-full": { login: string; - name?: string; - node_id?: string; + id: number; + node_id: string; /** Format: uri */ - organizations_url?: string; + url: string; /** Format: uri */ - received_events_url?: string; + repos_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string | null; + name?: string; + company?: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + blog?: string; + location?: string; + /** Format: email */ + email?: string; + twitter_username?: string | null; + is_verified?: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; /** Format: uri */ - url?: string; - }) | null)[]; + html_url: string; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: number | null; + disk_usage?: number | null; + collaborators?: number | null; + /** Format: email */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + members_can_create_repositories?: boolean | null; + two_factor_requirement_enabled?: boolean | null; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; + members_can_create_pages?: boolean; + members_can_create_public_pages?: boolean; + members_can_create_private_pages?: boolean; + members_can_fork_private_repositories?: boolean | null; + web_commit_signoff_required?: boolean; + /** @description Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. */ + advanced_security_enabled_for_new_repositories?: boolean; + /** @description Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to + * this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** @description Whether dependabot security updates are automatically enabled for new repositories and repositories transferred + * to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** @description Whether dependency graph is automatically enabled for new repositories and repositories transferred to this + * organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** @description Whether secret scanning is automatically enabled for new repositories and repositories transferred to this + * organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** @description Whether secret scanning push protection is automatically enabled for new repositories and repositories + * transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** @description An optional URL string to display to contributors who are blocked from pushing a secret. */ + secret_scanning_push_protection_custom_link?: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; + }; + "actions-cache-usage-org-enterprise": { + /** @description The count of active caches across all repositories of an enterprise or an organization. */ + total_active_caches_count: number; + /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ + total_active_caches_size_in_bytes: number; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. + * Actions Cache Usage by repository + * @description GitHub Actions Cache Usage by repository. + */ + "actions-cache-usage-by-repository": { + /** @description The repository owner and name for the cache usage being shown. */ + full_name: string; + /** @description The sum of the size in bytes of all the active cache items in the repository. */ + active_caches_size_in_bytes: number; + /** @description The number of active caches in the repository. */ + active_caches_count: number; + }; + /** + * Actions OIDC Subject customization + * @description Actions OIDC Subject customization + */ + "oidc-custom-sub": { + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys: string[]; + }; + /** + * Empty Object + * @description An object without any properties. + */ + "empty-object": Record; + /** + * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. * @enum {string} */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "enabled-repositories": "all" | "none" | "selected"; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. + * @enum {string} */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + "allowed-actions": "all" | "local_only" | "selected"; + /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ + "selected-actions-url": string; + "actions-organization-permissions": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ + selected_repositories_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "selected-actions": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed?: boolean; + /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ + verified_allowed?: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`. + * + * **Note**: The `patterns_allowed` setting only applies to public repositories. */ + patterns_allowed?: string[]; + }; + /** + * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. + * @enum {string} + */ + "actions-default-workflow-permissions": "read" | "write"; + /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ + "actions-can-approve-pull-request-reviews": boolean; + "actions-get-default-workflow-permissions": { + default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "actions-set-default-workflow-permissions": { + default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + /** + * Self hosted runner label + * @description A label for a self hosted runner + */ + "runner-label": { + /** @description Unique identifier of the label. */ + id?: number; + /** @description Name of the label. */ + name: string; + /** + * @description The type of label. Read-only labels are applied automatically when the runner is configured. + * @enum {string} + */ + type?: "read-only" | "custom"; + }; + /** + * Self hosted runners + * @description A self hosted runner + */ + runner: { + /** @description The id of the runner. */ + id: number; + /** @description The id of the runner group. */ + runner_group_id?: number; + /** @description The name of the runner. */ + name: string; + /** @description The Operating System of the runner. */ + os: string; + /** @description The status of the runner. */ + status: string; + busy: boolean; + labels: components["schemas"]["runner-label"][]; + }; + /** + * Runner Application + * @description Runner Application + */ + "runner-application": { + os: string; + architecture: string; + download_url: string; + filename: string; + /** @description A short lived bearer token used to download the runner, if needed. */ + temp_download_token?: string; + sha256_checksum?: string; + }; + /** + * Authentication Token + * @description Authentication Token + */ + "authentication-token": { + /** @description The token used for authentication */ + token: string; + /** + * Format: date-time + * @description The time this token expires + */ + expires_at: string; + permissions?: Record; + /** @description The repositories this token has access to */ + repositories?: components["schemas"]["repository"][]; + single_file?: string | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ + repository_selection?: "all" | "selected"; + }; + /** + * Actions Secret for an Organization + * @description Secrets for GitHub Actions for an organization. + */ + "organization-actions-secret": { + /** @description The name of the secret. */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + selected_repositories_url?: string; + }; + /** + * ActionsPublicKey + * @description The public key used for setting Actions Secrets. + */ + "actions-public-key": { + /** @description The identifier for the key. */ + key_id: string; + /** @description The Base64 encoded public key. */ + key: string; + id?: number; + url?: string; + title?: string; + created_at?: string; + }; + /** + * Actions Variable for an Organization + * @description Organization variable for GitHub Actions. + */ + "organization-actions-variable": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + /** + * Format: date-time + * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description Visibility of a variable + * @enum {string} + */ + visibility: "all" | "private" | "selected"; /** Format: uri */ + selected_repositories_url?: string; + }; + /** @description The name of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-name": string; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + "code-scanning-analysis-tool-guid": string | null; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-state-query": "open" | "closed" | "dismissed" | "fixed"; + /** + * @description Severity of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-severity": "critical" | "high" | "medium" | "low" | "warning" | "note" | "error"; + /** + * Format: uri + * @description The REST API URL for fetching the list of instances for an alert. + */ + "alert-instances-url": string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-state": "open" | "dismissed" | "fixed"; + /** + * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. + * @enum {string|null} + */ + "code-scanning-alert-dismissed-reason": null | "false positive" | "won't fix" | "used in tests"; + /** @description The dismissal comment associated with the dismissal of the alert. */ + "code-scanning-alert-dismissed-comment": string | null; + "code-scanning-alert-rule": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: "none" | "note" | "warning" | "error" | null; + /** + * @description The security severity of the alert. + * @enum {string|null} + */ + security_severity_level?: "low" | "medium" | "high" | "critical" | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + /** @description description of the rule used to detect the alert. */ + full_description?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + }; + /** @description The version of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-version": string | null; + "code-scanning-analysis-tool": { + name?: components["schemas"]["code-scanning-analysis-tool-name"]; + version?: components["schemas"]["code-scanning-analysis-tool-version"]; + guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; + }; + /** @description The full Git reference, formatted as `refs/heads/`, + * `refs/pull//merge`, or `refs/pull//head`. */ + "code-scanning-ref": string; + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + "code-scanning-analysis-analysis-key": string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + "code-scanning-alert-environment": string; + /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + "code-scanning-analysis-category": string; + /** @description Describe a region within a file for the alert. */ + "code-scanning-alert-location": { + path?: string; + start_line?: number; + end_line?: number; + start_column?: number; + end_column?: number; + }; + /** + * @description A classification of the file. For example to identify it as generated. + * @enum {string|null} + */ + "code-scanning-alert-classification": "source" | "generated" | "test" | "library" | null; + "code-scanning-alert-instance": { + ref?: components["schemas"]["code-scanning-ref"]; + analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment?: components["schemas"]["code-scanning-alert-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + state?: components["schemas"]["code-scanning-alert-state"]; + commit_sha?: string; + message?: { + text?: string; + }; + location?: components["schemas"]["code-scanning-alert-location"]; html_url?: string; + /** @description Classifications that have been applied to the file that triggered the alert. + * For example identifying it as documentation, or a generated file. */ + classifications?: components["schemas"]["code-scanning-alert-classification"][]; + }; + "code-scanning-organization-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: null | components["schemas"]["simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + repository: components["schemas"]["simple-repository"]; + }; + /** + * Codespace machine + * @description A description of the machine powering a codespace. + */ + "codespace-machine": { + /** @description The name of the machine. */ + name: string; + /** @description The display name of the machine includes cores, memory, and storage. */ + display_name: string; + /** @description The operating system of the machine. */ + operating_system: string; + /** @description How much storage is available to the codespace. */ + storage_in_bytes: number; + /** @description How much memory is available to the codespace. */ + memory_in_bytes: number; + /** @description How many cores are available to the codespace. */ + cpus: number; + /** + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @enum {string|null} + */ + prebuild_availability: "none" | "ready" | "in_progress" | null; + }; + /** + * Codespace + * @description A codespace. + */ + codespace: { id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { + /** @description Automatically generated name of this codespace. */ + name: string; + /** @description Display name for this codespace. */ + display_name?: string | null; + /** @description UUID identifying this codespace's environment. */ + environment_id: string | null; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["minimal-repository"]; + machine: null | components["schemas"]["codespace-machine"]; + /** @description Path to devcontainer.json from repo root used to create Codespace. */ + devcontainer_path?: string | null; + /** @description Whether the codespace was created from a prebuild. */ + prebuild: boolean | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; /** - * @description Whether to allow auto-merge for pull requests. - * @default false + * Format: date-time + * @description Last known time this codespace was started. */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + last_used_at: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description State of this codespace. + * @enum {string} */ - allow_merge_commit?: boolean; + state: "Unknown" | "Created" | "Queued" | "Provisioning" | "Available" | "Awaiting" | "Unavailable" | "Deleted" | "Moved" | "Shutdown" | "Archived" | "Starting" | "ShuttingDown" | "Failed" | "Exporting" | "Updating" | "Rebuilding"; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @description API URL for this codespace. */ - allow_rebase_merge?: boolean; + url: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** @description The number of commits the local repository is ahead of the remote. */ + ahead?: number; + /** @description The number of commits the local repository is behind the remote. */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** @description The current branch (or SHA if in detached HEAD state) of the local repository. */ + ref?: string; + }; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The initally assigned location of a new codespace. + * @enum {string} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; + /** @description The number of minutes of inactivity after which this codespace will be automatically stopped. */ + idle_timeout_minutes: number | null; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @description URL to access this codespace on the web. */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + web_url: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @description API URL to access available alternate machine types for this codespace. */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + machines_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @description API URL to start this codespace. */ - has_downloads: boolean; + start_url: string; /** - * @description Whether issues are enabled. - * @default true + * Format: uri + * @description API URL to stop this codespace. */ - has_issues: boolean; - has_pages: boolean; + stop_url: string; /** - * @description Whether projects are enabled. - * @default true + * Format: uri + * @description API URL to publish this codespace to a new repository. */ - has_projects: boolean; + publish_url?: string | null; /** - * @description Whether the wiki is enabled. - * @default true + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. */ - has_wiki: boolean; + pulls_url: string | null; + recent_folders: string[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: string[] | null; + }; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: boolean | null; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: string | null; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: string | null; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number | null; /** - * @description Whether discussions are enabled. - * @default false + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ + retention_expires_at?: string | null; + /** @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. */ + last_known_stop_notice?: string | null; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-org-secret": { + /** @description The name of the secret */ name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ /** - * @description Whether to allow auto-merge for pull requests. - * @default false + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + visibility: "all" | "private" | "selected"; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + */ + selected_repositories_url?: string; + }; + /** + * CodespacesPublicKey + * @description The public key used for setting Codespaces secrets. + */ + "codespaces-public-key": { + /** @description The identifier for the key. */ + key_id: string; + /** @description The Base64 encoded public key. */ + key: string; + id?: number; + url?: string; + title?: string; + created_at?: string; + }; + /** + * Copilot for Business Seat Breakdown + * @description The breakdown of Copilot for Business seats for the organization. + */ + "copilot-seat-breakdown": { + /** @description The total number of seats being billed for the organization as of the current billing cycle. */ + total?: number; + /** @description Seats added during the current billing cycle. */ + added_this_cycle?: number; + /** @description The number of seats that are pending cancellation at the end of the current billing cycle. */ + pending_cancellation?: number; + /** @description The number of seats that have been assigned to users that have not yet accepted an invitation to this organization. */ + pending_invitation?: number; + /** @description The number of seats that have used Copilot during the current billing cycle. */ + active_this_cycle?: number; + /** @description The number of seats that have not used Copilot during the current billing cycle. */ + inactive_this_cycle?: number; + }; + /** + * Copilot for Business Organization Details + * @description Information about the seat breakdown and policies set for an organization with a Copilot for Business subscription. + */ + "copilot-organization-details": { + seat_breakdown: components["schemas"]["copilot-seat-breakdown"]; + /** + * @description The organization policy for allowing or disallowing Copilot to make suggestions that match public code. + * @enum {string} */ - allow_merge_commit?: boolean; + public_code_suggestions: "allow" | "block" | "unconfigured" | "unknown"; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The organization policy for allowing or disallowing organization members to use Copilot Chat within their editor. + * @enum {string} */ - allow_rebase_merge?: boolean; + copilot_chat?: "enabled" | "disabled" | "unconfigured"; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The mode of assigning new seats. + * @enum {string} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + seat_management_setting: "assign_all" | "assign_selected" | "disabled" | "unconfigured"; + [key: string]: unknown; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-simple": { + /** @description Unique identifier of the team */ + id: number; + node_id: string; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @description URL for the team */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; + url: string; + members_url: string; + /** @description Name of the team */ + name: string; + /** @description Description of the team */ + description: string | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @description The level of privacy this team should have */ + privacy?: string; + /** @description The notification setting the team has set */ + notification_setting?: string; /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; + html_url: string; /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + repositories_url: string; + slug: string; + /** @description Distinguished Name (DN) that team maps to within LDAP environment */ + ldap_dn?: string; + }; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + notification_setting?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; + }; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + members_url: string; + /** Format: uri */ + repositories_url: string; + parent: null | components["schemas"]["team-simple"]; + }; + /** + * Organization + * @description GitHub account for managing multiple users, teams, and repositories + */ + organization: { + /** @description Unique login name of the organization */ + login: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @description URL for the organization */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; + url: string; + id: number; + node_id: string; /** Format: uri */ - downloads_url: string; + repos_url: string; /** Format: uri */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string | null; + /** + * Format: uri + * @description Display blog url for the organization + */ + blog?: string; /** Format: uri */ - git_url: string; + html_url: string; + /** @description Display name for the organization */ + name?: string; + /** @description Display company name for the organization */ + company?: string; + /** @description Display location for the organization */ + location?: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: email + * @description Display email for the organization */ - has_downloads: boolean; + email?: string; + /** @description Specifies if organization projects are enabled for this org */ + has_organization_projects: boolean; + /** @description Specifies if repository projects are enabled for repositories that belong to this org */ + has_repository_projects: boolean; + is_verified?: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + type: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + plan?: { + name?: string; + space?: number; + private_repos?: number; + filled_seats?: number; + seats?: number; + }; + }; + /** + * Copilot for Business Seat Detail + * @description Information about a Copilot for Business seat assignment for a user, team, or organization. + */ + "copilot-seat-details": { + /** @description The assignee that has been granted access to GitHub Copilot. */ + assignee: { + [key: string]: unknown; + } & (components["schemas"]["simple-user"] | components["schemas"]["team"] | components["schemas"]["organization"]); + /** @description The team that granted access to GitHub Copilot to the assignee. This will be null if the user was assigned a seat individually. */ + assigning_team?: (null | Record) & components["schemas"]["team"]; /** - * @description Whether issues are enabled. - * @default true + * Format: date + * @description The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle. */ - has_issues: boolean; - has_pages: boolean; + pending_cancellation_date?: string | null; /** - * @description Whether projects are enabled. - * @default true + * Format: date-time + * @description Timestamp of user's last GitHub Copilot activity, in ISO 8601 format. */ - has_projects: boolean; + last_activity_at?: string | null; + /** @description Last editor that was used by the user for a GitHub Copilot completion. */ + last_activity_editor?: string | null; /** - * @description Whether the wiki is enabled. - * @default true + * Format: date-time + * @description Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format. */ - has_wiki: boolean; + created_at: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: date-time + * @description Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format. */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; + updated_at?: string; + }; + /** + * Dependabot Secret for an Organization + * @description Secrets for GitHub Dependabot for an organization. + */ + "organization-dependabot-secret": { + /** @description The name of the secret. */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * @description Visibility of a secret + * @enum {string} + */ + visibility: "all" | "private" | "selected"; /** Format: uri */ + selected_repositories_url?: string; + }; + /** + * DependabotPublicKey + * @description The public key used for setting Dependabot Secrets. + */ + "dependabot-public-key": { + /** @description The identifier for the key. */ + key_id: string; + /** @description The Base64 encoded public key. */ + key: string; + }; + /** + * Package + * @description A software package + */ + package: { + /** @description Unique identifier of the package. */ + id: number; + /** @description The name of the package. */ + name: string; + /** @enum {string} */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + url: string; html_url: string; - /** @description Unique identifier of the repository */ + /** @description The number of versions of the package. */ + version_count: number; + /** @enum {string} */ + visibility: "private" | "public"; + owner?: null | components["schemas"]["simple-user"]; + repository?: null | components["schemas"]["minimal-repository"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Organization Invitation + * @description Organization Invitation + */ + "organization-invitation": { + id: number; + login: string | null; + email: string | null; + role: string; + created_at: string; + failed_at?: string | null; + failed_reason?: string | null; + inviter: components["schemas"]["simple-user"]; + team_count: number; + node_id: string; + invitation_teams_url: string; + invitation_source?: string; + }; + /** + * Org Hook + * @description Org Hook + */ + "org-hook": { id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + url: string; /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + ping_url: string; /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ + deliveries_url?: string; name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + events: string[]; + active: boolean; + config: { + url?: string; + insecure_ssl?: string; + content_type?: string; + secret?: string; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; + type: string; + }; + /** + * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. + * @enum {string} + */ + "interaction-group": "existing_users" | "contributors_only" | "collaborators_only"; + /** + * Interaction Limits + * @description Interaction limit settings. + */ + "interaction-limit-response": { + limit: components["schemas"]["interaction-group"]; + origin: string; + /** Format: date-time */ + expires_at: string; + }; + /** + * @description The duration of the interaction restriction. Default: `one_day`. + * @enum {string} + */ + "interaction-expiry": "one_day" | "three_days" | "one_week" | "one_month" | "six_months"; + /** + * Interaction Restrictions + * @description Limit interactions to a specific type of user for a specified duration + */ + "interaction-limit": { + limit: components["schemas"]["interaction-group"]; + expiry?: components["schemas"]["interaction-expiry"]; + }; + /** + * Org Membership + * @description Org Membership + */ + "org-membership": { /** Format: uri */ - svn_url: string; + url: string; + /** + * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. + * @enum {string} + */ + state: "active" | "pending"; + /** + * @description The user's membership type in the organization. + * @enum {string} + */ + role: "admin" | "member" | "billing_manager"; /** Format: uri */ - tags_url: string; + organization_url: string; + organization: components["schemas"]["organization-simple"]; + user: null | components["schemas"]["simple-user"]; + permissions?: { + can_create_repository: boolean; + }; + }; + /** + * Migration + * @description A migration. + */ + migration: { + id: number; + owner: null | components["schemas"]["simple-user"]; + guid: string; + state: string; + lock_repositories: boolean; + exclude_metadata: boolean; + exclude_git_data: boolean; + exclude_attachments: boolean; + exclude_releases: boolean; + exclude_owner_projects: boolean; + org_metadata_only: boolean; + /** @description The repositories included in the migration. Only returned for export migrations. */ + repositories: components["schemas"]["repository"][]; /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + url: string; + /** Format: date-time */ + created_at: string; /** Format: date-time */ updated_at: string; + node_id: string; /** Format: uri */ + archive_url?: string; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ + exclude?: string[]; + }; + /** + * Package Version + * @description A version of a software package + */ + "package-version": { + /** @description Unique identifier of the package version. */ + id: number; + /** @description The name of the package version. */ + name: string; url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ + package_html_url: string; html_url?: string; + license?: string; + description?: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + deleted_at?: string; + /** Package Version Metadata */ + metadata?: { + /** @enum {string} */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** Container Metadata */ + container?: { + tags: string[]; + }; + /** Docker Metadata */ + docker?: { + tag?: string[]; + }; + }; + }; + /** + * Simple Organization Programmatic Access Grant Request + * @description Minimal representation of an organization programmatic access grant request for enumerations + */ + "organization-programmatic-access-grant-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; + /** @description Reason for requesting access. */ + reason: string | null; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Organization Programmatic Access Grant + * @description Minimal representation of an organization programmatic access grant for enumerations + */ + "organization-programmatic-access-grant": { + /** @description Unique identifier of the fine-grained personal access token. The `pat_id` used to get details about an approved fine-grained personal access token. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ + access_granted_at: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Project + * @description Projects are a way to organize columns and cards of work. + */ + project: { /** Format: uri */ - received_events_url?: string; + owner_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + html_url: string; /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; + columns_url: string; id: number; - /** @description The name of the label. */ - name: string; node_id: string; + /** @description Name of the project */ + name: string; + /** @description Body of the project */ + body: string | null; + number: number; + /** @description State of the project; either 'open' or 'closed' */ + state: string; + creator: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; /** - * Format: uri - * @description URL for the label + * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. + * @enum {string} */ - url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ + private?: boolean; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * @description The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). + * @enum {string} */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + "repository-rule-enforcement": "disabled" | "active" | "evaluate"; + /** + * Repository Ruleset Bypass Actor + * @description An actor that can bypass rules in a ruleset + */ + "repository-ruleset-bypass-actor": { + /** @description The ID of the actor that can bypass a ruleset */ + actor_id: number; + /** + * @description The type of actor that can bypass a ruleset + * @enum {string} + */ + actor_type: "RepositoryRole" | "Team" | "Integration" | "OrganizationAdmin"; + /** + * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. + * @enum {string} + */ + bypass_mode: "always" | "pull_request"; + }; + /** + * Repository ruleset conditions for ref names + * @description Parameters for a repository ruleset ref name condition + */ + "repository-ruleset-conditions": { + ref_name?: { + /** @description Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. */ + include?: string[]; + /** @description Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + }; + }; + /** + * Repository ruleset conditions for repository names + * @description Parameters for a repository name condition + */ + "repository-ruleset-conditions-repository-name-target": { + repository_name: { + /** @description Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. */ + include?: string[]; + /** @description Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + /** @description Whether renaming of target repositories is prevented. */ + protected?: boolean; + }; + }; + /** + * Repository ruleset conditions for repository IDs + * @description Parameters for a repository ID condition + */ + "repository-ruleset-conditions-repository-id-target": { + repository_id: { + /** @description The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. */ + repository_ids?: number[]; + }; + }; + /** + * Organization ruleset conditions + * @description Conditions for an organization ruleset. The conditions object should contain both `repository_name` and `ref_name` properties or both `repository_id` and `ref_name` properties. + * + */ + "org-ruleset-conditions": (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-name-target"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-id-target"]); + /** + * creation + * @description Only allow users with bypass permission to create matching refs. + */ + "repository-rule-creation": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + type: "creation"; + }; + /** + * update + * @description Only allow users with bypass permission to update matching refs. + */ + "repository-rule-update": { + /** @enum {string} */ + type: "update"; + parameters?: { + /** @description Branch can pull changes from its upstream repository */ + update_allows_fetch_and_merge: boolean; + }; + }; + /** + * deletion + * @description Only allow users with bypass permissions to delete matching refs. + */ + "repository-rule-deletion": { + /** @enum {string} */ + type: "deletion"; + }; + /** + * required_linear_history + * @description Prevent merge commits from being pushed to matching refs. + */ + "repository-rule-required-linear-history": { + /** @enum {string} */ + type: "required_linear_history"; + }; + /** + * required_deployments + * @description Choose which environments must be successfully deployed to before refs can be merged into a branch that matches this rule. + */ + "repository-rule-required-deployments": { + /** @enum {string} */ + type: "required_deployments"; + parameters?: { + /** @description The environments that must be successfully deployed to before branches can be merged. */ + required_deployment_environments: string[]; + }; + }; + /** + * required_signatures + * @description Commits pushed to matching refs must have verified signatures. + */ + "repository-rule-required-signatures": { + /** @enum {string} */ + type: "required_signatures"; + }; + /** + * pull_request + * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. + */ + "repository-rule-pull-request": { + /** @enum {string} */ + type: "pull_request"; + parameters?: { + /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ + dismiss_stale_reviews_on_push: boolean; + /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ + require_code_owner_review: boolean; + /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ + require_last_push_approval: boolean; + /** @description The number of approving reviews that are required before a pull request can be merged. */ + required_approving_review_count: number; + /** @description All conversations on code must be resolved before a pull request can be merged. */ + required_review_thread_resolution: boolean; + }; + }; + /** + * StatusCheckConfiguration + * @description Required status check + */ + "repository-rule-params-status-check-configuration": { + /** @description The status check context name that must be present on the commit. */ + context: string; + /** @description The optional integration ID that this status check must originate from. */ + integration_id?: number; + }; + /** + * required_status_checks + * @description Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a ref that matches this rule after status checks have passed. + */ + "repository-rule-required-status-checks": { + /** @enum {string} */ + type: "required_status_checks"; + parameters?: { + /** @description Status checks that are required. */ + required_status_checks: components["schemas"]["repository-rule-params-status-check-configuration"][]; + /** @description Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. */ + strict_required_status_checks_policy: boolean; + }; + }; + /** + * non_fast_forward + * @description Prevent users with push access from force pushing to refs. + */ + "repository-rule-non-fast-forward": { + /** @enum {string} */ + type: "non_fast_forward"; + }; + /** + * commit_message_pattern + * @description Parameters to be used for the commit_message_pattern rule + */ + "repository-rule-commit-message-pattern": { + /** @enum {string} */ + type: "commit_message_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * commit_author_email_pattern + * @description Parameters to be used for the commit_author_email_pattern rule + */ + "repository-rule-commit-author-email-pattern": { + /** @enum {string} */ + type: "commit_author_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * committer_email_pattern + * @description Parameters to be used for the committer_email_pattern rule + */ + "repository-rule-committer-email-pattern": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ + type: "committer_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * branch_name_pattern + * @description Parameters to be used for the branch_name_pattern rule + */ + "repository-rule-branch-name-pattern": { + /** @enum {string} */ + type: "branch_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * tag_name_pattern + * @description Parameters to be used for the tag_name_pattern rule + */ + "repository-rule-tag-name-pattern": { + /** @enum {string} */ + type: "tag_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * Repository Rule + * @description A repository rule. + */ + "repository-rule": components["schemas"]["repository-rule-creation"] | components["schemas"]["repository-rule-update"] | components["schemas"]["repository-rule-deletion"] | components["schemas"]["repository-rule-required-linear-history"] | components["schemas"]["repository-rule-required-deployments"] | components["schemas"]["repository-rule-required-signatures"] | components["schemas"]["repository-rule-pull-request"] | components["schemas"]["repository-rule-required-status-checks"] | components["schemas"]["repository-rule-non-fast-forward"] | components["schemas"]["repository-rule-commit-message-pattern"] | components["schemas"]["repository-rule-commit-author-email-pattern"] | components["schemas"]["repository-rule-committer-email-pattern"] | components["schemas"]["repository-rule-branch-name-pattern"] | components["schemas"]["repository-rule-tag-name-pattern"]; + /** + * Repository ruleset + * @description A set of rules to apply when specified conditions are met. + */ + "repository-ruleset": { + /** @description The ID of the ruleset */ id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ + /** @description The name of the ruleset */ name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; /** - * Format: uri - * @description URL for the team + * @description The target of the ruleset + * @enum {string} */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + target?: "branch" | "tag"; /** - * Format: uri - * @description URL for the team + * @description The type of the source of the ruleset + * @enum {string} */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - thread: { - comments: ({ - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; + source_type?: "Repository" | "Organization"; + /** @description The name of the source */ + source: string; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; /** - * AuthorAssociation - * @description How the author is associated with the repository. + * @description The bypass type of the user making the API request for this ruleset. This field is only returned when + * querying the repository-level endpoint. * @enum {string} */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; + current_user_can_bypass?: "always" | "pull_requests_only" | "never"; + node_id?: string; + _links?: { + self?: { + /** @description The URL of the ruleset */ + href?: string; + }; + html?: { + /** @description The html URL of the ruleset */ + href?: string; + }; + }; + conditions?: components["schemas"]["repository-ruleset-conditions"] | components["schemas"]["org-ruleset-conditions"]; + rules?: components["schemas"]["repository-rule"][]; /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** + * Rule Suites + * @description Response + */ + "rule-suites": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number; + /** @description The handle for the GitHub user account. */ + actor_name?: string; + /** @description The first commit sha before the push evaluation. */ + before_sha?: string; + /** @description The last commit sha in the push evaluation. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; + /** Format: date-time */ + pushed_at?: string; /** - * Format: uri - * @description HTML URL for the pull request review comment. + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number | null; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; + result?: "pass" | "fail" | "bypass"; /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + * @enum {string} */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; + evaluation_result?: "pass" | "fail"; + }[]; + /** + * Rule Suite + * @description Response + */ + "rule-suite": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number; + /** @description The handle for the GitHub user account. */ + actor_name?: string; + /** @description The first commit sha before the push evaluation. */ + before_sha?: string; + /** @description The last commit sha in the push evaluation. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; + /** Format: date-time */ + pushed_at?: string; /** - * @description The side of the first line of the range for a multi-line comment. + * @description The result of the rule evaluations for rules with the `active` enforcement status. * @enum {string} */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; + result?: "pass" | "fail" | "bypass"; /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + * @enum {string} */ - start_side: "LEFT" | "RIGHT" | null; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. + evaluation_result?: "pass" | "fail"; + /** @description Details on the evaluated rules. */ + rule_evaluations?: { + rule_source?: { + /** @description The type of rule source. */ + type?: string; + /** @description The ID of the rule source. */ + id?: number | null; + /** @description The name of the rule source. */ + name?: string | null; + }; + /** + * @description The enforcement level of this rule source. + * @enum {string} + */ + enforcement?: "active" | "evaluate" | "deleted ruleset"; + /** + * @description The result of the evaluation of the individual rule. + * @enum {string} + */ + result?: "pass" | "fail"; + /** @description The type of rule. */ + rule_type?: string; + /** @description Any associated details with the rule evaluation. */ + details?: string; + }[]; + }; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + "repository-advisory-vulnerability": { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions: string[] | null; + }; + /** @description A credit given to a user for a repository security advisory. */ + "repository-advisory-credit": { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + /** + * @description The state of the user's acceptance of the credit. * @enum {string} */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; + state: "accepted" | "declined" | "pending"; + }; + /** @description A repository security advisory. */ + "repository-advisory": { + /** @description The GitHub Security Advisory ID. */ + readonly ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id: string | null; + /** @description The API URL for the advisory. */ + url: string; /** * Format: uri - * @description URL for the pull request review comment + * @description The URL for the advisory. */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - })[]; - node_id: string; - }; - }; - /** pull_request_review_thread unresolved event */ - "webhook-pull-request-review-thread-unresolved": { - /** @enum {string} */ - action: "unresolved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { + readonly html_url: string; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; /** - * @description Whether to allow auto-merge for pull requests. - * @default false + * @description The severity of the advisory. + * @enum {string|null} */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + severity: "critical" | "high" | "medium" | "low" | null; + /** @description The author of the advisory. */ + readonly author: null & components["schemas"]["simple-user"]; + /** @description The publisher of the advisory. */ + readonly publisher: null & components["schemas"]["simple-user"]; + readonly identifiers: { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[]; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The state of the advisory. + * @enum {string} + */ + state: "published" | "closed" | "withdrawn" | "draft" | "triage"; + /** + * Format: date-time + * @description The date and time of when the advisory was created, in ISO 8601 format. */ - allow_merge_commit?: boolean; + readonly created_at: string | null; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. */ - allow_rebase_merge?: boolean; + readonly updated_at: string | null; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + readonly published_at: string | null; /** - * @description Whether the repository is archived. - * @default false + * Format: date-time + * @description The date and time of when the advisory was closed, in ISO 8601 format. */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + readonly closed_at: string | null; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. */ - delete_branch_on_merge?: boolean; + readonly withdrawn_at: string | null; + readonly submission: { + /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ + readonly accepted: boolean; + } | null; + vulnerabilities: components["schemas"]["repository-advisory-vulnerability"][] | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + readonly score: number | null; + } | null; + readonly cwes: { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + readonly name: string; + }[] | null; + /** @description A list of only the CWE IDs. */ + cwe_ids: string[] | null; + credits: { + /** @description The username of the user credited. */ + login?: string; + type?: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + readonly credits_detailed: components["schemas"]["repository-advisory-credit"][] | null; + /** @description A list of users that collaborate on the advisory. */ + collaborating_users: components["schemas"]["simple-user"][] | null; + /** @description A list of teams that collaborate on the advisory. */ + collaborating_teams: components["schemas"]["team"][] | null; + /** @description A temporary private fork of the advisory's repository for collaborating on a fix. */ + readonly private_fork: null & components["schemas"]["simple-repository"]; + }; + "actions-billing-usage": { + /** @description The sum of the free and paid GitHub Actions minutes used. */ + total_minutes_used: number; + /** @description The total paid GitHub Actions minutes used. */ + total_paid_minutes_used: number; + /** @description The amount of free GitHub Actions minutes available. */ + included_minutes: number; + minutes_used_breakdown: { + /** @description Total minutes used on Ubuntu runner machines. */ + UBUNTU?: number; + /** @description Total minutes used on macOS runner machines. */ + MACOS?: number; + /** @description Total minutes used on Windows runner machines. */ + WINDOWS?: number; + /** @description Total minutes used on Ubuntu 4 core runner machines. */ + ubuntu_4_core?: number; + /** @description Total minutes used on Ubuntu 8 core runner machines. */ + ubuntu_8_core?: number; + /** @description Total minutes used on Ubuntu 16 core runner machines. */ + ubuntu_16_core?: number; + /** @description Total minutes used on Ubuntu 32 core runner machines. */ + ubuntu_32_core?: number; + /** @description Total minutes used on Ubuntu 64 core runner machines. */ + ubuntu_64_core?: number; + /** @description Total minutes used on Windows 4 core runner machines. */ + windows_4_core?: number; + /** @description Total minutes used on Windows 8 core runner machines. */ + windows_8_core?: number; + /** @description Total minutes used on Windows 16 core runner machines. */ + windows_16_core?: number; + /** @description Total minutes used on Windows 32 core runner machines. */ + windows_32_core?: number; + /** @description Total minutes used on Windows 64 core runner machines. */ + windows_64_core?: number; + /** @description Total minutes used on macOS 12 core runner machines. */ + macos_12_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; + }; + }; + "packages-billing-usage": { + /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ + total_gigabytes_bandwidth_used: number; + /** @description Total paid storage space (GB) for GitHuub Packages. */ + total_paid_gigabytes_bandwidth_used: number; + /** @description Free storage space (GB) for GitHub Packages. */ + included_gigabytes_bandwidth: number; + }; + "combined-billing-usage": { + /** @description Numbers of days left in billing cycle. */ + days_left_in_billing_cycle: number; + /** @description Estimated storage space (GB) used in billing cycle. */ + estimated_paid_storage_for_month: number; + /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ + estimated_storage_for_month: number; + }; + /** + * Team Organization + * @description Team Organization + */ + "team-organization": { + login: string; + id: number; + node_id: string; /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; + url: string; /** Format: uri */ - downloads_url: string; + repos_url: string; /** Format: uri */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string | null; + name?: string; + company?: string; /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; + blog?: string; + location?: string; + /** Format: email */ + email?: string; + twitter_username?: string | null; + is_verified?: boolean; + has_organization_projects: boolean; + has_repository_projects: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; + html_url: string; + /** Format: date-time */ + created_at: string; + type: string; + total_private_repos?: number; + owned_private_repos?: number; + private_gists?: number | null; + disk_usage?: number | null; + collaborators?: number | null; + /** Format: email */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + members_can_create_repositories?: boolean | null; + two_factor_requirement_enabled?: boolean | null; + members_allowed_repository_creation_type?: string; + members_can_create_public_repositories?: boolean; + members_can_create_private_repositories?: boolean; + members_can_create_internal_repositories?: boolean; + members_can_create_pages?: boolean; + members_can_create_public_pages?: boolean; + members_can_create_private_pages?: boolean; + members_can_fork_private_repositories?: boolean | null; + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; + }; + /** + * Full Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-full": { + /** @description Unique identifier of the team */ + id: number; + node_id: string; /** - * @description Whether projects are enabled. - * @default true + * Format: uri + * @description URL for the team */ - has_projects: boolean; + url: string; + /** Format: uri */ + html_url: string; + /** @description Name of the team */ + name: string; + slug: string; + description: string | null; /** - * @description Whether the wiki is enabled. - * @default true + * @description The level of privacy this team should have + * @enum {string} */ - has_wiki: boolean; + privacy?: "closed" | "secret"; /** - * @description Whether discussions are enabled. - * @default false + * @description The notification setting the team has set + * @enum {string} */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** @description Permission that the team will have for its repositories */ + permission: string; + members_url: string; /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + repositories_url: string; + parent?: null | components["schemas"]["team-simple"]; + members_count: number; + repos_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + organization: components["schemas"]["team-organization"]; + /** @description Distinguished Name (DN) that team maps to within LDAP environment */ + ldap_dn?: string; + }; + /** + * Team Discussion + * @description A team discussion is a persistent record of a free-form conversation within a team. + */ + "team-discussion": { + author: null | components["schemas"]["simple-user"]; + /** @description The main text of the discussion. */ + body: string; + body_html: string; + /** @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ + body_version: string; + comments_count: number; /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + comments_url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + last_edited_at: string | null; /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; + html_url: string; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ + /** @description The unique sequence number of a team discussion. */ + number: number; + /** @description Whether or not this discussion should be pinned for easy retrieval. */ + pinned: boolean; + /** @description Whether or not this discussion should be restricted to team members and organization administrators. */ private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + team_url: string; + /** @description The title of the discussion. */ + title: string; /** Format: date-time */ updated_at: string; /** Format: uri */ url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Team Discussion Comment + * @description A reply to a discussion within a team. + */ + "team-discussion-comment": { + author: null | components["schemas"]["simple-user"]; + /** @description The main text of the comment. */ + body: string; + body_html: string; + /** @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. */ + body_version: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + last_edited_at: string | null; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + discussion_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + html_url: string; + node_id: string; + /** @description The unique sequence number of a team discussion comment. */ + number: number; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + url: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Reaction + * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively. + */ + reaction: { + id: number; + node_id: string; + user: null | components["schemas"]["simple-user"]; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The reaction to use + * @enum {string} */ - allow_merge_commit?: boolean; + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** Format: date-time */ + created_at: string; + }; + /** + * Team Membership + * @description Team Membership + */ + "team-membership": { + /** Format: uri */ + url: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The role of the user in the team. + * @default member + * @enum {string} */ - allow_rebase_merge?: boolean; + role: "member" | "maintainer"; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The state of the user's membership in the team. + * @enum {string} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + state: "active" | "pending"; + }; + /** + * Team Project + * @description A team's access to a project. + */ + "team-project": { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string | null; + number: number; + state: string; + creator: components["schemas"]["simple-user"]; + created_at: string; + updated_at: string; + /** @description The organization permission for this project. Only present when owner is an organization. */ + organization_permission?: string; + /** @description Whether the project is private or not. Only present when owner is an organization. */ + private?: boolean; + permissions: { + read: boolean; + write: boolean; + admin: boolean; + }; + }; + /** + * Team Repository + * @description A team's access to a repository. + */ + "team-repository": { + /** @description Unique identifier of the repository */ + id: number; + node_id: string; + /** @description The name of the repository. */ + name: string; + full_name: string; + license: null | components["schemas"]["license-simple"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + role_name?: string; + owner: null | components["schemas"]["simple-user"]; /** - * @description Whether the repository is archived. + * @description Whether the repository is private or public. * @default false */ - archived: boolean; - /** Format: uri-template */ + private: boolean; + /** Format: uri */ + html_url: string; + description: string | null; + fork: boolean; + /** Format: uri */ + url: string; + archive_url: string; assignees_url: string; - /** Format: uri-template */ blobs_url: string; - /** Format: uri-template */ branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ collaborators_url: string; - /** Format: uri-template */ comments_url: string; - /** Format: uri-template */ commits_url: string; - /** Format: uri-template */ compare_url: string; - /** Format: uri-template */ contents_url: string; /** Format: uri */ contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; /** Format: uri */ deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; /** Format: uri */ downloads_url: string; /** Format: uri */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; /** Format: uri */ forks_url: string; - full_name: string; - /** Format: uri-template */ git_commits_url: string; - /** Format: uri-template */ git_refs_url: string; - /** Format: uri-template */ git_tags_url: string; - /** Format: uri */ git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ issue_comment_url: string; - /** Format: uri-template */ issue_events_url: string; - /** Format: uri-template */ issues_url: string; - /** Format: uri-template */ keys_url: string; - /** Format: uri-template */ labels_url: string; - language: string | null; /** Format: uri */ languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; /** Format: uri */ merges_url: string; - /** Format: uri-template */ milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ releases_url: string; - role_name?: string | null; - size: number; ssh_url: string; - stargazers?: number; - stargazers_count: number; /** Format: uri */ stargazers_url: string; - /** Format: uri-template */ statuses_url: string; /** Format: uri */ subscribers_url: string; /** Format: uri */ subscription_url: string; /** Format: uri */ - svn_url: string; - /** Format: uri */ tags_url: string; /** Format: uri */ teams_url: string; - topics: string[]; - /** Format: uri-template */ trees_url: string; - /** Format: date-time */ - updated_at: string; + clone_url: string; /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ + mirror_url: string | null; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + hooks_url: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + svn_url: string; /** Format: uri */ - html_url?: string; + homepage: string | null; + language: string | null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + size: number; + /** @description The default branch of the repository. */ + default_branch: string; + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + */ + is_template: boolean; + topics?: string[]; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility: string; + /** Format: date-time */ + pushed_at: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + template_repository?: null | components["schemas"]["repository"]; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow forking this repo + * @default false + */ + allow_forking: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + }; + /** + * Project Card + * @description Project cards represent a scope of work. + */ + "project-card": { + /** Format: uri */ + url: string; + /** @description The project card's ID */ id: number; - login: string; - name?: string; - node_id?: string; + node_id: string; + note: string | null; + creator: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** @description Whether or not the card is archived */ + archived?: boolean; + column_name?: string; + project_id?: string; /** Format: uri */ - organizations_url?: string; + column_url: string; /** Format: uri */ - received_events_url?: string; + content_url?: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + project_url: string; + }; + /** + * Project Column + * @description Project columns contain cards of work. + */ + "project-column": { /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + url: string; /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; + project_url: string; + /** Format: uri */ + cards_url: string; + /** @description The unique identifier of the project column */ id: number; - /** @description The name of the label. */ - name: string; node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; + /** @description Name of the project column */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Project Collaborator Permission + * @description Project Collaborator Permission */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + "project-collaborator-permission": { + permission: string; + user: null | components["schemas"]["simple-user"]; + }; + /** Rate Limit */ + "rate-limit": { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** + * Rate Limit Overview + * @description Rate Limit Overview + */ + "rate-limit-overview": { + resources: { + core: components["schemas"]["rate-limit"]; + graphql?: components["schemas"]["rate-limit"]; + search: components["schemas"]["rate-limit"]; + code_search?: components["schemas"]["rate-limit"]; + source_import?: components["schemas"]["rate-limit"]; + integration_manifest?: components["schemas"]["rate-limit"]; + code_scanning_upload?: components["schemas"]["rate-limit"]; + actions_runner_registration?: components["schemas"]["rate-limit"]; + scim?: components["schemas"]["rate-limit"]; + dependency_snapshots?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; + /** + * Code Of Conduct Simple + * @description Code of Conduct Simple + */ + "code-of-conduct-simple": { /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + url: string; + key: string; + name: string; /** Format: uri */ - html_url?: string; + html_url: string | null; + }; + /** + * Full Repository + * @description Full Repository + */ + "full-repository": { id: number; - login: string; - name?: string; - node_id?: string; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; /** Format: uri */ - organizations_url?: string; + html_url: string; + description: string | null; + fork: boolean; /** Format: uri */ - received_events_url?: string; + url: string; + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + contributors_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + deployments_url: string; /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ + downloads_url: string; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + events_url: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + forks_url: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + languages_url: string; /** Format: uri */ - organizations_url?: string; + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; /** Format: uri */ - received_events_url?: string; + stargazers_url: string; + statuses_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + subscribers_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + subscription_url: string; /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; + tags_url: string; /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + teams_url: string; + trees_url: string; + clone_url: string; /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; + mirror_url: string | null; /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + hooks_url: string; /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - thread: { - comments: ({ - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; + svn_url: string; + /** Format: uri */ + homepage: string | null; + language: string | null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size: number; + default_branch: string; + open_issues_count: number; + is_template?: boolean; + topics?: string[]; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_downloads: boolean; + has_discussions: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: date-time */ + pushed_at: string; /** Format: date-time */ created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; + /** Format: date-time */ + updated_at: string; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; }; + allow_rebase_merge?: boolean; + template_repository?: null | components["schemas"]["repository"]; + temp_clone_token?: string | null; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_merge_commit?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; /** - * @description The side of the first line of the range for a multi-line comment. + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. * @enum {string} */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} */ - start_side: "LEFT" | "RIGHT" | null; + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** - * @description The level at which the comment is targeted, can be a diff line or a file. + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. * @enum {string} */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_forking?: boolean; + web_commit_signoff_required?: boolean; + subscribers_count: number; + network_count: number; + license: null | components["schemas"]["license-simple"]; + organization?: null | components["schemas"]["simple-user"]; + parent?: components["schemas"]["repository"]; + source?: components["schemas"]["repository"]; + forks: number; + master_branch?: string; + open_issues: number; + watchers: number; /** - * Format: uri - * @description URL for the pull request review comment + * @description Whether anonymous git access is allowed. + * @default true */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - })[]; - node_id: string; - }; - }; - /** pull_request synchronize event */ - "webhook-pull-request-synchronize": { - /** @enum {string} */ - action: "synchronize"; - after: string; - before: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + anonymous_access_enabled: boolean; + code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + /** + * Artifact + * @description An artifact + */ + artifact: { id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; + node_id: string; + /** @description The name of the artifact. */ + name: string; + /** @description The size in bytes of the artifact. */ + size_in_bytes: number; + url: string; + archive_download_url: string; + /** @description Whether or not the artifact has expired. */ + expired: boolean; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + expires_at: string | null; + /** Format: date-time */ + updated_at: string | null; + workflow_run?: { + id?: number; + repository_id?: number; + head_repository_id?: number; + head_branch?: string; + head_sha?: string; + } | null; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Repository actions caches + * @description Repository actions caches */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "actions-cache-list": { + /** @description Total number of caches */ + total_count: number; + /** @description Array of caches */ + actions_caches: { + id?: number; + ref?: string; + key?: string; + version?: string; + /** Format: date-time */ + last_accessed_at?: string; + /** Format: date-time */ + created_at?: string; + size_in_bytes?: number; + }[]; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Job + * @description Information of a job execution in a workflow run */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + job: { + /** @description The id of the job. */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { + /** @description The id of the associated workflow run. */ + run_id: number; + run_url: string; + /** @description Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. */ + run_attempt?: number; + node_id: string; + /** @description The SHA of the commit that is being run. */ + head_sha: string; + url: string; + html_url: string | null; /** - * @description Whether to allow auto-merge for pull requests. - * @default false + * @description The phase of the lifecycle that the job is currently in. + * @enum {string} */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + status: "queued" | "in_progress" | "completed"; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The outcome of the job. + * @enum {string|null} */ - allow_merge_commit?: boolean; + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: date-time + * @description The time that the job created, in ISO 8601 format. */ - allow_rebase_merge?: boolean; + created_at: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: date-time + * @description The time that the job started, in ISO 8601 format. */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + started_at: string; /** - * @description Whether the repository is archived. - * @default false + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + completed_at: string | null; + /** @description The name of the job. */ + name: string; + /** @description Steps in this job. */ + steps?: { + /** + * @description The phase of the lifecycle that the job is currently in. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** @description The outcome of the job. */ + conclusion: string | null; + /** @description The name of the job. */ + name: string; + number: number; + /** + * Format: date-time + * @description The time that the step started, in ISO 8601 format. + */ + started_at?: string | null; + /** + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. + */ + completed_at?: string | null; + }[]; + check_run_url: string; + /** @description Labels for the workflow job. Specified by the "runs_on" attribute in the action's workflow file. */ + labels: string[]; + /** @description The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_id: number | null; + /** @description The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_name: string | null; + /** @description The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_group_id: number | null; + /** @description The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) */ + runner_group_name: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + /** @description The name of the current branch. */ + head_branch: string | null; + }; + /** + * Actions OIDC subject customization for a repository + * @description Actions OIDC subject customization for a repository + */ + "oidc-custom-sub-repo": { + /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ + use_default: boolean; + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys?: string[]; + }; + /** + * Actions Secret + * @description Set secrets for GitHub Actions. + */ + "actions-secret": { + /** @description The name of the secret. */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** Actions Variable */ + "actions-variable": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: date-time + * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + created_at: string; + /** + * Format: date-time + * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + }; + /** @description Whether GitHub Actions is enabled on the repository. */ + "actions-enabled": boolean; + "actions-repository-permissions": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "actions-workflow-access-to-repository": { + /** + * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the + * repository. + * + * `none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repos only. `organization` level access allows sharing across the organization. + * @enum {string} + */ + access_level: "none" | "user" | "organization"; + }; + /** + * Referenced workflow + * @description A workflow referenced/reused by the initial caller workflow + */ + "referenced-workflow": { + path: string; + sha: string; + ref?: string; + }; + /** Pull Request Minimal */ + "pull-request-minimal": { + id: number; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + }; + /** + * Simple Commit + * @description A commit. + */ + "simple-commit": { + /** @description SHA for the commit */ + id: string; + /** @description SHA for the commit's tree */ + tree_id: string; + /** @description Message describing the purpose of the commit */ + message: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: date-time + * @description Timestamp of the commit */ - has_downloads: boolean; + timestamp: string; + /** @description Information about the Git author */ + author: { + /** @description Name of the commit's author */ + name: string; + /** + * Format: email + * @description Git email address of the commit's author + */ + email: string; + } | null; + /** @description Information about the Git committer */ + committer: { + /** @description Name of the commit's committer */ + name: string; + /** + * Format: email + * @description Git email address of the commit's committer + */ + email: string; + } | null; + }; + /** + * Workflow Run + * @description An invocation of a workflow + */ + "workflow-run": { + /** @description The ID of the workflow run. */ + id: number; + /** @description The name of the workflow run. */ + name?: string | null; + node_id: string; + /** @description The ID of the associated check suite. */ + check_suite_id?: number; + /** @description The node ID of the associated check suite. */ + check_suite_node_id?: string; + head_branch: string | null; + /** @description The SHA of the head commit that points to the version of the workflow being run. */ + head_sha: string; + /** @description The full path of the workflow */ + path: string; + /** @description The auto incrementing run number for the workflow run. */ + run_number: number; + /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. */ + run_attempt?: number; + referenced_workflows?: components["schemas"]["referenced-workflow"][] | null; + event: string; + status: string | null; + conclusion: string | null; + /** @description The ID of the parent workflow. */ + workflow_id: number; + /** @description The URL to the workflow run. */ + url: string; + html_url: string; + /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the workflow run. The returned pull requests do not necessarily indicate pull requests that triggered the run. */ + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + actor?: components["schemas"]["simple-user"]; + triggering_actor?: components["schemas"]["simple-user"]; /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; + * Format: date-time + * @description The start time of the latest run. Resets on re-run. + */ + run_started_at?: string; + /** @description The URL to the jobs for the workflow run. */ + jobs_url: string; + /** @description The URL to download the logs for the workflow run. */ + logs_url: string; + /** @description The URL to the associated check suite. */ + check_suite_url: string; + /** @description The URL to the artifacts for the workflow run. */ + artifacts_url: string; + /** @description The URL to cancel the workflow run. */ + cancel_url: string; + /** @description The URL to rerun the workflow run. */ + rerun_url: string; + /** @description The URL to the previous attempted run of this workflow, if one exists. */ + previous_attempt_url?: string | null; + /** @description The URL to the workflow. */ + workflow_url: string; + head_commit: null | components["schemas"]["simple-commit"]; + repository: components["schemas"]["minimal-repository"]; + head_repository: components["schemas"]["minimal-repository"]; + head_repository_id?: number; + /** @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. */ + display_title: string; + }; + /** + * Environment Approval + * @description An entry in the reviews log for environment deployments + */ + "environment-approvals": { + /** @description The list of environments that were approved or rejected */ + environments: { + /** @description The id of the environment. */ + id?: number; + node_id?: string; + /** @description The name of the environment. */ + name?: string; + url?: string; + html_url?: string; + /** + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. + */ + created_at?: string; + /** + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. + */ + updated_at?: string; + }[]; /** - * @description Whether projects are enabled. - * @default true + * @description Whether deployment to the environment(s) was approved or rejected or pending (with comments) + * @enum {string} */ - has_projects: boolean; + state: "approved" | "rejected" | "pending"; + user: components["schemas"]["simple-user"]; + /** @description The comment submitted with the deployment review */ + comment: string; + }; + "review-custom-gates-comment-required": { + /** @description The name of the environment to approve or reject. */ + environment_name: string; + /** @description Comment associated with the pending deployment protection rule. **Required when state is not provided.** */ + comment: string; + }; + "review-custom-gates-state-required": { + /** @description The name of the environment to approve or reject. */ + environment_name: string; /** - * @description Whether the wiki is enabled. - * @default true + * @description Whether to approve or reject deployment to the specified environments. + * @enum {string} */ - has_wiki: boolean; + state: "approved" | "rejected"; + /** @description Optional comment to include with the review. */ + comment?: string; + }; + /** + * @description The type of reviewer. + * @enum {string} + */ + "deployment-reviewer-type": "User" | "Team"; + /** + * Pending Deployment + * @description Details of a deployment that is waiting for protection rules to pass + */ + "pending-deployment": { + environment: { + /** @description The id of the environment. */ + id?: number; + node_id?: string; + /** @description The name of the environment. */ + name?: string; + url?: string; + html_url?: string; + }; + /** @description The set duration of the wait timer */ + wait_timer: number; /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; + * Format: date-time + * @description The time that the wait timer began. + */ + wait_timer_started_at: string | null; + /** @description Whether the currently authenticated user can approve the deployment */ + current_user_can_approve: boolean; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; + }[]; + }; + /** + * Deployment + * @description A request for a specific ref(branch,sha,tag) to be deployed + */ + deployment: { /** Format: uri */ - hooks_url: string; + url: string; + /** @description Unique identifier of the deployment */ + id: number; + node_id: string; + sha: string; + /** @description The ref to deploy. This can be a branch, tag, or sha. */ + ref: string; + /** @description Parameter to specify a task to execute */ + task: string; + payload: { + [key: string]: unknown; + } | string; + original_environment?: string; + /** @description Name for the target deployment environment. */ + environment: string; + description: string | null; + creator: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ + statuses_url: string; + /** Format: uri */ + repository_url: string; + /** @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. */ + transient_environment?: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: false. */ + production_environment?: boolean; + performed_via_github_app?: null | components["schemas"]["integration"]; + }; + /** + * Workflow Run Usage + * @description Workflow Run Usage + */ + "workflow-run-usage": { + billable: { + UBUNTU?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + MACOS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + WINDOWS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + }; + run_duration_ms?: number; + }; + /** + * Workflow + * @description A GitHub Actions workflow + */ + workflow: { + id: number; + node_id: string; + name: string; + path: string; + /** @enum {string} */ + state: "active" | "deleted" | "disabled_fork" | "disabled_inactivity" | "disabled_manually"; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + url: string; html_url: string; - /** @description Unique identifier of the repository */ + badge_url: string; + /** Format: date-time */ + deleted_at?: string; + }; + /** + * Workflow Usage + * @description Workflow Usage + */ + "workflow-usage": { + billable: { + UBUNTU?: { + total_ms?: number; + }; + MACOS?: { + total_ms?: number; + }; + WINDOWS?: { + total_ms?: number; + }; + }; + }; + /** + * Activity + * @description Activity + */ + activity: { id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + node_id: string; + /** @description The SHA of the commit before the activity. */ + before: string; + /** @description The SHA of the commit after the activity. */ + after: string; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: date-time + * @description The time when the activity occurred. */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + timestamp: string; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @description The type of the activity that was performed. * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + activity_type: "push" | "force_push" | "branch_deletion" | "branch_creation" | "pr_merge" | "merge_queue_merge"; + actor: null | components["schemas"]["simple-user"]; + }; + /** + * Autolink reference + * @description An autolink reference. + */ + autolink: { + id: number; + /** @description The prefix of a key that is linkified. */ + key_prefix: string; + /** @description A template for the target URL that is generated if a key was found. */ + url_template: string; + /** @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. */ + is_alphanumeric: boolean; + }; + /** + * Check Automated Security Fixes + * @description Check Automated Security Fixes + */ + "check-automated-security-fixes": { + /** @description Whether automated security fixes are enabled for the repository. */ + enabled: boolean; + /** @description Whether automated security fixes are paused for the repository. */ + paused: boolean; + }; + /** + * Protected Branch Required Status Check + * @description Protected Branch Required Status Check + */ + "protected-branch-required-status-check": { + url?: string; + enforcement_level?: string; + contexts: string[]; + checks: { + context: string; + app_id: number | null; + }[]; + contexts_url?: string; + strict?: boolean; + }; + /** + * Protected Branch Admin Enforced + * @description Protected Branch Admin Enforced + */ + "protected-branch-admin-enforced": { /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + url: string; + enabled: boolean; + }; + /** + * Protected Branch Pull Request Review + * @description Protected Branch Pull Request Review + */ + "protected-branch-pull-request-review": { /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + url?: string; + dismissal_restrictions?: { + /** @description The list of users with review dismissal access. */ + users?: components["schemas"]["simple-user"][]; + /** @description The list of teams with review dismissal access. */ + teams?: components["schemas"]["team"][]; + /** @description The list of apps with review dismissal access. */ + apps?: components["schemas"]["integration"][]; + url?: string; + users_url?: string; + teams_url?: string; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of users allowed to bypass pull request requirements. */ + users?: components["schemas"]["simple-user"][]; + /** @description The list of teams allowed to bypass pull request requirements. */ + teams?: components["schemas"]["team"][]; + /** @description The list of apps allowed to bypass pull request requirements. */ + apps?: components["schemas"]["integration"][]; + }; + dismiss_stale_reviews: boolean; + require_code_owner_reviews: boolean; + required_approving_review_count?: number; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; + require_last_push_approval: boolean; + }; + /** + * Branch Restriction Policy + * @description Branch Restriction Policy + */ + "branch-restriction-policy": { + /** Format: uri */ + url: string; + /** Format: uri */ + users_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri */ + apps_url: string; + users: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }[]; + teams: { + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + notification_setting?: string; + permission?: string; + members_url?: string; + repositories_url?: string; + parent?: string | null; + }[]; + apps: { + id?: number; + slug?: string; + node_id?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + url?: string; + repos_url?: string; + events_url?: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url?: string; + description?: string; + gravatar_id?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + name?: string; + description?: string; + external_url?: string; + html_url?: string; + created_at?: string; + updated_at?: string; + permissions?: { + metadata?: string; + contents?: string; + issues?: string; + single_file?: string; + }; + events?: string[]; + }[]; + }; + /** + * Branch Protection + * @description Branch Protection + */ + "branch-protection": { + url?: string; + enabled?: boolean; + required_status_checks?: components["schemas"]["protected-branch-required-status-check"]; + enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; + required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_linear_history?: { + enabled?: boolean; + }; + allow_force_pushes?: { + enabled?: boolean; + }; + allow_deletions?: { + enabled?: boolean; + }; + block_creations?: { + enabled?: boolean; + }; + required_conversation_resolution?: { + enabled?: boolean; + }; + name?: string; + protection_url?: string; + required_signatures?: { + /** Format: uri */ + url: string; + enabled: boolean; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + enabled: boolean; + }; + }; + /** + * Short Branch + * @description Short Branch + */ + "short-branch": { + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + protected: boolean; + protection?: components["schemas"]["branch-protection"]; + /** Format: uri */ + protection_url?: string; + }; + /** + * Git User + * @description Metaproperties for Git author/committer information. + */ + "git-user": { + name?: string; + email?: string; + date?: string; + }; + /** Verification */ + verification: { + verified: boolean; + reason: string; + payload: string | null; + signature: string | null; + }; + /** + * Diff Entry + * @description Diff Entry + */ + "diff-entry": { + sha: string; + filename: string; + /** @enum {string} */ + status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged"; + additions: number; + deletions: number; + changes: number; /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; + blob_url: string; /** Format: uri */ - subscribers_url: string; + raw_url: string; /** Format: uri */ - subscription_url: string; + contents_url: string; + patch?: string; + previous_filename?: string; + }; + /** + * Commit + * @description Commit + */ + commit: { /** Format: uri */ - svn_url: string; + url: string; + sha: string; + node_id: string; /** Format: uri */ - tags_url: string; + html_url: string; /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; + comments_url: string; + commit: { + /** Format: uri */ + url: string; + author: null | components["schemas"]["git-user"]; + committer: null | components["schemas"]["git-user"]; + message: string; + comment_count: number; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + author: null | components["schemas"]["simple-user"]; + committer: null | components["schemas"]["simple-user"]; + parents: { + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url?: string; + }[]; + stats?: { + additions?: number; + deletions?: number; + total?: number; + }; + files?: components["schemas"]["diff-entry"][]; + }; + /** + * Branch With Protection + * @description Branch With Protection + */ + "branch-with-protection": { + name: string; + commit: components["schemas"]["commit"]; + _links: { + html: string; + /** Format: uri */ + self: string; + }; + protected: boolean; + protection: components["schemas"]["branch-protection"]; + /** Format: uri */ + protection_url: string; + pattern?: string; + required_approving_review_count?: number; + }; + /** + * Status Check Policy + * @description Status Check Policy + */ + "status-check-policy": { /** Format: uri */ url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ + strict: boolean; + contexts: string[]; + checks: { + context: string; + app_id: number | null; + }[]; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + contexts_url: string; + }; + /** + * Protected Branch + * @description Branch protections protect branches + */ + "protected-branch": { /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + url: string; + required_status_checks?: components["schemas"]["status-check-policy"]; + required_pull_request_reviews?: { + /** Format: uri */ + url: string; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false + */ + require_last_push_approval: boolean; + dismissal_restrictions?: { + /** Format: uri */ + url: string; + /** Format: uri */ + users_url: string; + /** Format: uri */ + teams_url: string; + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + apps?: components["schemas"]["integration"][]; + }; + bypass_pull_request_allowances?: { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + apps?: components["schemas"]["integration"][]; + }; + }; + required_signatures?: { + /** Format: uri */ + url: string; + enabled: boolean; + }; + enforce_admins?: { + /** Format: uri */ + url: string; + enabled: boolean; + }; + required_linear_history?: { + enabled: boolean; + }; + allow_force_pushes?: { + enabled: boolean; + }; + allow_deletions?: { + enabled: boolean; + }; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_conversation_resolution?: { + enabled?: boolean; + }; + block_creations?: { + enabled: boolean; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + enabled: boolean; + }; + }; + /** + * Deployment + * @description A deployment created as the result of an Actions check run from a workflow that references an environment + */ + "deployment-simple": { /** Format: uri */ - html_url?: string; + url: string; + /** @description Unique identifier of the deployment */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + node_id: string; + /** @description Parameter to specify a task to execute */ + task: string; + original_environment?: string; + /** @description Name for the target deployment environment. */ + environment: string; + description: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + statuses_url: string; /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + repository_url: string; + /** @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. */ + transient_environment?: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: false. */ + production_environment?: boolean; + performed_via_github_app?: null | components["schemas"]["integration"]; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run": { + /** @description The id of the check. */ + id: number; + /** @description The SHA of the commit that is being checked. */ + head_sha: string; + node_id: string; + external_id: string | null; + url: string; + html_url: string | null; + details_url: string | null; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The phase of the lifecycle that the check is currently in. + * @enum {string} */ - allow_merge_commit?: boolean; + status: "queued" | "in_progress" | "completed"; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; + /** Format: date-time */ + started_at: string | null; + /** Format: date-time */ + completed_at: string | null; + output: { + title: string | null; + summary: string | null; + text: string | null; + annotations_count: number; + /** Format: uri */ + annotations_url: string; + }; + /** @description The name of the check. */ + name: string; + check_suite: { + id: number; + } | null; + app: null | components["schemas"]["integration"]; + /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the check. The returned pull requests do not necessarily indicate pull requests that triggered the check. */ + pull_requests: components["schemas"]["pull-request-minimal"][]; + deployment?: components["schemas"]["deployment-simple"]; + }; + /** + * Check Annotation + * @description Check Annotation + */ + "check-annotation": { + path: string; + start_line: number; + end_line: number; + start_column: number | null; + end_column: number | null; + annotation_level: string | null; + title: string | null; + message: string | null; + raw_details: string | null; + blob_href: string; + }; + /** + * CheckSuite + * @description A suite of checks performed on the code of a given code change + */ + "check-suite": { + id: number; + node_id: string; + head_branch: string | null; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + /** @enum {string|null} */ + status: "queued" | "in_progress" | "completed" | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "startup_failure" | "stale" | null; + url: string | null; + before: string | null; + after: string | null; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + app: null | components["schemas"]["integration"]; + repository: components["schemas"]["minimal-repository"]; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + updated_at: string | null; + head_commit: components["schemas"]["simple-commit"]; + latest_check_runs_count: number; + check_runs_url: string; + rerequestable?: boolean; + runs_rerequestable?: boolean; + }; + /** + * Check Suite Preference + * @description Check suite configuration preferences for a repository. + */ + "check-suite-preference": { + preferences: { + auto_trigger_checks?: { + app_id: number; + setting: boolean; + }[]; + }; + repository: components["schemas"]["minimal-repository"]; + }; + "code-scanning-alert-rule-summary": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The severity of the alert. + * @enum {string|null} */ - allow_rebase_merge?: boolean; + severity?: "none" | "note" | "warning" | "error" | null; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + }; + "code-scanning-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: null | components["schemas"]["simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule-summary"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + "code-scanning-alert": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: null | components["schemas"]["simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + /** + * @description Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`. + * @enum {string} + */ + "code-scanning-alert-set-state": "open" | "dismissed"; + /** @description An identifier for the upload. */ + "code-scanning-analysis-sarif-id": string; + /** @description The SHA of the commit to which the analysis you are uploading relates. */ + "code-scanning-analysis-commit-sha": string; + /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ + "code-scanning-analysis-environment": string; + /** + * Format: date-time + * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-analysis-created-at": string; + /** + * Format: uri + * @description The REST API URL of the analysis resource. + */ + "code-scanning-analysis-url": string; + "code-scanning-analysis": { + ref: components["schemas"]["code-scanning-ref"]; + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment: components["schemas"]["code-scanning-analysis-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + error: string; + created_at: components["schemas"]["code-scanning-analysis-created-at"]; + /** @description The total number of results in the analysis. */ + results_count: number; + /** @description The total number of rules used in the analysis. */ + rules_count: number; + /** @description Unique identifier for this analysis. */ + id: number; + url: components["schemas"]["code-scanning-analysis-url"]; + sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + deletable: boolean; + /** @description Warning generated when processing the analysis */ + warning: string; + }; + /** + * Analysis deletion + * @description Successful deletion of a code scanning analysis + */ + "code-scanning-analysis-deletion": { /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: uri + * @description Next deletable analysis in chain, without last analysis deletion confirmation */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + readonly next_analysis_url: string | null; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @description Next deletable analysis in chain, with last analysis deletion confirmation */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + readonly confirm_delete_url: string | null; + }; + /** + * CodeQL Database + * @description A CodeQL database. + */ + "code-scanning-codeql-database": { + /** @description The ID of the CodeQL database. */ + id: number; + /** @description The name of the CodeQL database. */ + name: string; + /** @description The language of the CodeQL database. */ + language: string; + uploader: components["schemas"]["simple-user"]; + /** @description The MIME type of the CodeQL database file. */ + content_type: string; + /** @description The size of the CodeQL database file in bytes. */ + size: number; /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + * Format: date-time + * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: date-time + * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. */ - has_downloads: boolean; + updated_at: string; /** - * @description Whether issues are enabled. - * @default true + * Format: uri + * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. */ - has_issues: boolean; - has_pages: boolean; + url: string; + }; + /** @description Configuration for code scanning default setup. */ + "code-scanning-default-setup": { /** - * @description Whether projects are enabled. - * @default true + * @description Code scanning default setup has been configured or not. + * @enum {string} */ - has_projects: boolean; + state?: "configured" | "not-configured"; + /** @description Languages to be analysed. */ + languages?: ("c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "javascript" | "python" | "ruby" | "typescript" | "swift")[]; /** - * @description Whether the wiki is enabled. - * @default true + * @description CodeQL query suite to be used. + * @enum {string} */ - has_wiki: boolean; + query_suite?: "default" | "extended"; /** - * @description Whether discussions are enabled. - * @default false + * Format: date-time + * @description Timestamp of latest configuration update. */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + updated_at?: string | null; /** - * @description The default value for a merge commit message. - * @enum {string} + * @description The frequency of the periodic analysis. + * @enum {string|null} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + schedule?: "weekly" | null; + }; + /** @description Configuration for code scanning default setup. */ + "code-scanning-default-setup-update": { /** - * @description The default value for a merge commit message title. + * @description Whether code scanning default setup has been configured or not. * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + state: "configured" | "not-configured"; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * @description CodeQL query suite to be used. * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + query_suite?: "default" | "extended"; + /** @description CodeQL languages to be analyzed. Supported values are: `c-cpp`, `csharp`, `go`, `java-kotlin`, `javascript-typescript`, `python`, `ruby`, and `swift`. */ + languages?: ("c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "python" | "ruby" | "swift")[]; + }; + /** @description You can use `run_url` to track the status of the run. This includes a property status and conclusion. + * You should not rely on this always being an actions workflow run object. */ + "code-scanning-default-setup-update-response": { + /** @description ID of the corresponding run. */ + run_id?: number; + /** @description URL of the corresponding run. */ + run_url?: string; + }; + /** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ + "code-scanning-analysis-sarif-file": string; + "code-scanning-sarifs-receipt": { + id?: components["schemas"]["code-scanning-analysis-sarif-id"]; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * Format: uri + * @description The REST API URL for checking the status of the upload. + */ + readonly url?: string; + }; + "code-scanning-sarifs-status": { + /** + * @description `pending` files have not yet been processed, while `complete` means results from the SARIF have been stored. `failed` files have either not been processed at all, or could only be partially processed. * @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + processing_status?: "pending" | "complete" | "failed"; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: uri + * @description The REST API URL for getting the analyses associated with the upload. */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; + readonly analyses_url?: string | null; + /** @description Any errors that ocurred during processing of the delivery. */ + readonly errors?: string[] | null; + }; + /** + * CODEOWNERS errors + * @description A list of errors found in a repo's CODEOWNERS file + */ + "codeowners-errors": { + errors: { + /** @description The line number where this errors occurs. */ + line: number; + /** @description The column number where this errors occurs. */ + column: number; + /** @description The contents of the line where the error occurs. */ + source?: string; + /** @description The type of error. */ + kind: string; + /** @description Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. */ + suggestion?: string | null; + /** @description A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). */ + message: string; + /** @description The path of the file where the error occured. */ + path: string; + }[]; + }; + /** + * Codespaces Permissions Check + * @description Permission check result for a given devcontainer config. + */ + "codespaces-permissions-check-for-devcontainer": { + /** @description Whether the user has accepted the permissions defined by the devcontainer config */ + accepted: boolean; + }; + /** + * Codespaces Secret + * @description Set repository secrets for GitHub Codespaces. + */ + "repo-codespaces-secret": { + /** @description The name of the secret. */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Collaborator + * @description Collaborator + */ + collaborator: { + login: string; + id: number; email?: string | null; - /** Format: uri-template */ - events_url?: string; + name?: string | null; + node_id: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + avatar_url: string; + gravatar_id: string | null; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + url: string; /** Format: uri */ - organizations_url?: string; + html_url: string; /** Format: uri */ - received_events_url?: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + subscriptions_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + organizations_url: string; /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; + repos_url: string; + events_url: string; + /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + role_name: string; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-invitation": { + /** @description Unique identifier of the repository invitation. */ id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + repository: components["schemas"]["minimal-repository"]; + invitee: null | components["schemas"]["simple-user"]; + inviter: null | components["schemas"]["simple-user"]; /** - * Format: uri - * @description URL for the label + * @description The permission associated with the invitation. + * @enum {string} */ + permissions: "read" | "write" | "admin" | "triage" | "maintain"; + /** Format: date-time */ + created_at: string; + /** @description Whether or not the invitation has expired */ + expired?: boolean; + /** @description URL for the repository invitation */ url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; + html_url: string; + node_id: string; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Repository Collaborator Permission + * @description Repository Collaborator Permission */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + "repository-collaborator-permission": { + permission: string; + role_name: string; + user: null | components["schemas"]["collaborator"]; + }; + /** + * Commit Comment + * @description Commit Comment + */ + "commit-comment": { /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + html_url: string; /** Format: uri */ - html_url?: string; + url: string; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + node_id: string; + body: string; + path: string | null; + position: number | null; + line: number | null; + commit_id: string; + user: null | components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Branch Short + * @description Branch Short + */ + "branch-short": { + name: string; + commit: { + sha: string; + url: string; + }; + protected: boolean; + }; + /** + * Link + * @description Hypermedia Link + */ + link: { + href: string; + }; + /** + * Auto merge + * @description The status of auto merging a pull request. + */ + "auto-merge": { + enabled_by: components["schemas"]["simple-user"]; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + /** @description Title for the merge commit message. */ + commit_title: string; + /** @description Commit message for the merge commit. */ + commit_message: string; + } | null; + /** + * Pull Request Simple + * @description Pull Request Simple + */ + "pull-request-simple": { /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ + url: string; + id: number; + node_id: string; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + html_url: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + diff_url: string; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + patch_url: string; /** Format: uri */ - organizations_url?: string; + issue_url: string; /** Format: uri */ - received_events_url?: string; + commits_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + review_comments_url: string; + review_comment_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + comments_url: string; /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ + statuses_url: string; + number: number; + state: string; + locked: boolean; + title: string; + user: null | components["schemas"]["simple-user"]; + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; + }[]; + milestone: null | components["schemas"]["milestone"]; + active_lock_reason?: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + merged_at: string | null; + merge_commit_sha: string | null; + assignee: null | components["schemas"]["simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team"][] | null; + head: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: null | components["schemas"]["simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: null | components["schemas"]["simple-user"]; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** @description Indicates whether or not the pull request is a draft. */ + draft?: boolean; + }; + /** Simple Commit Status */ + "simple-commit-status": { description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; + state: string; + context: string; /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; + target_url: string | null; + required?: boolean | null; /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + avatar_url: string | null; /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Combined Commit Status + * @description Combined Commit Status */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request unassigned event */ - "webhook-pull-request-unassigned": { - /** @enum {string} */ - action: "unassigned"; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + "combined-commit-status": { + state: string; + statuses: components["schemas"]["simple-commit-status"][]; + sha: string; + total_count: number; + repository: components["schemas"]["minimal-repository"]; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + commit_url: string; /** Format: uri */ - html_url?: string; + url: string; + }; + /** + * Status + * @description The status of a commit. + */ + status: { + url: string; + avatar_url: string | null; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + node_id: string; + state: string; + description: string | null; + target_url: string | null; + context: string; + created_at: string; + updated_at: string; + creator: null | components["schemas"]["simple-user"]; + }; + /** Community Health File */ + "community-health-file": { /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + url: string; /** Format: uri */ - url?: string; - }) | null)[]; + html_url: string; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Community Profile + * @description Community Profile */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "community-profile": { + health_percentage: number; + description: string | null; + documentation: string | null; + files: { + code_of_conduct: null | components["schemas"]["code-of-conduct-simple"]; + code_of_conduct_file: null | components["schemas"]["community-health-file"]; + license: null | components["schemas"]["license-simple"]; + contributing: null | components["schemas"]["community-health-file"]; + readme: null | components["schemas"]["community-health-file"]; + issue_template: null | components["schemas"]["community-health-file"]; + pull_request_template: null | components["schemas"]["community-health-file"]; + }; + /** Format: date-time */ + updated_at: string | null; + content_reports_enabled?: boolean; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Commit Comparison + * @description Commit Comparison */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + "commit-comparison": { /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + url: string; /** Format: uri */ - organizations_url?: string; + html_url: string; /** Format: uri */ - received_events_url?: string; + permalink_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + diff_url: string; /** Format: uri */ - subscriptions_url?: string; + patch_url: string; + base_commit: components["schemas"]["commit"]; + merge_base_commit: components["schemas"]["commit"]; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; + status: "diverged" | "ahead" | "behind" | "identical"; + ahead_by: number; + behind_by: number; + total_commits: number; + commits: components["schemas"]["commit"][]; + files?: components["schemas"]["diff-entry"][]; + }; + /** + * Content Tree + * @description Content Tree + */ + "content-tree": { + type: string; + size: number; + name: string; + path: string; + sha: string; /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; + url: string; /** Format: uri */ - downloads_url: string; + git_url: string | null; /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; + html_url: string | null; /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; + download_url: string | null; + entries?: { + type: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }[]; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * Content Directory + * @description A list of directory items + */ + "content-directory": { + /** @enum {string} */ + type: "dir" | "file" | "submodule" | "symlink"; + size: number; + name: string; + path: string; + content?: string; + sha: string; /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; + url: string; /** Format: uri */ - hooks_url: string; + git_url: string | null; /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; + html_url: string | null; /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }[]; + /** + * Content File + * @description Content File + */ + "content-file": { + /** @enum {string} */ + type: "file"; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + url: string; /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; + target?: string; + submodule_git_url?: string; + }; + /** + * Symlink Content + * @description An object describing a symlink + */ + "content-symlink": { + /** @enum {string} */ + type: "symlink"; + target: string; size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; + name: string; + path: string; + sha: string; /** Format: uri */ - subscribers_url: string; + url: string; /** Format: uri */ - subscription_url: string; + git_url: string | null; /** Format: uri */ - svn_url: string; + html_url: string | null; /** Format: uri */ - tags_url: string; + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * Submodule Content + * @description An object describing a submodule + */ + "content-submodule": { + /** @enum {string} */ + type: "submodule"; /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; + submodule_git_url: string; + size: number; + name: string; + path: string; + sha: string; /** Format: uri */ url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * File Commit + * @description File Commit + */ + "file-commit": { + content: { + name?: string; + path?: string; + sha?: string; + size?: number; + url?: string; + html_url?: string; + git_url?: string; + download_url?: string; + type?: string; + _links?: { + self?: string; + git?: string; + html?: string; + }; + } | null; + commit: { + sha?: string; + node_id?: string; + url?: string; + html_url?: string; + author?: { + date?: string; + name?: string; + email?: string; + }; + committer?: { + date?: string; + name?: string; + email?: string; + }; + message?: string; + tree?: { + url?: string; + sha?: string; + }; + parents?: { + url?: string; + html_url?: string; + sha?: string; + }[]; + verification?: { + verified?: boolean; + reason?: string; + signature?: string | null; + payload?: string | null; + }; + }; + }; + /** + * Contributor + * @description Contributor + */ + contributor: { + login?: string; + id?: number; + node_id?: string; /** Format: uri */ avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + gravatar_id?: string | null; + /** Format: uri */ + url?: string; + /** Format: uri */ + html_url?: string; /** Format: uri */ followers_url?: string; - /** Format: uri-template */ following_url?: string; - /** Format: uri-template */ gists_url?: string; - gravatar_id?: string; + starred_url?: string; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + subscriptions_url?: string; /** Format: uri */ organizations_url?: string; /** Format: uri */ - received_events_url?: string; - /** Format: uri */ repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + events_url?: string; /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ + received_events_url?: string; + type: string; + site_admin?: boolean; + contributions: number; + email?: string; + name?: string; + }; + /** @description A Dependabot alert. */ + "dependabot-alert": { + number: components["schemas"]["alert-number"]; /** - * @description Whether to allow auto-merge for pull requests. - * @default false + * @description The state of the Dependabot alert. + * @enum {string} */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + readonly state: "auto_dismissed" | "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + readonly dependency: { + package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime" | null; + }; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: null | components["schemas"]["simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: string | null; + fixed_at: components["schemas"]["alert-fixed-at"]; + auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; + }; + /** + * Dependabot Secret + * @description Set secrets for Dependabot. + */ + "dependabot-secret": { + /** @description The name of the secret. */ + name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Dependency Graph Diff + * @description A diff of the dependencies between two commits. + */ + "dependency-graph-diff": { + /** @enum {string} */ + change_type: "added" | "removed"; + manifest: string; + ecosystem: string; + name: string; + version: string; + package_url: string | null; + license: string | null; + source_repository_url: string | null; + vulnerabilities: { + severity: string; + advisory_ghsa_id: string; + advisory_summary: string; + advisory_url: string; + }[]; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. + * @enum {string} */ - allow_merge_commit?: boolean; + scope: "unknown" | "runtime" | "development"; + }[]; + /** + * Dependency Graph SPDX SBOM + * @description A schema for the SPDX JSON format returned by the Dependency Graph. + */ + "dependency-graph-spdx-sbom": { + sbom: { + /** @description The SPDX identifier for the SPDX document. */ + SPDXID: string; + /** @description The version of the SPDX specification that this document conforms to. */ + spdxVersion: string; + creationInfo: { + /** @description The date and time the SPDX document was created. */ + created: string; + /** @description The tools that were used to generate the SPDX document. */ + creators: string[]; + }; + /** @description The name of the SPDX document. */ + name: string; + /** @description The license under which the SPDX document is licensed. */ + dataLicense: string; + /** @description The name of the repository that the SPDX document describes. */ + documentDescribes: string[]; + /** @description The namespace for the SPDX document. */ + documentNamespace: string; + packages: { + /** @description A unique SPDX identifier for the package. */ + SPDXID?: string; + /** @description The name of the package. */ + name?: string; + /** @description The version of the package. If the package does not have an exact version specified, + * a version range is given. */ + versionInfo?: string; + /** @description The location where the package can be downloaded, + * or NOASSERTION if this has not been determined. */ + downloadLocation?: string; + /** @description Whether the package's file content has been subjected to + * analysis during the creation of the SPDX document. */ + filesAnalyzed?: boolean; + /** @description The license of the package as determined while creating the SPDX document. */ + licenseConcluded?: string; + /** @description The license of the package as declared by its author, or NOASSERTION if this information + * was not available when the SPDX document was created. */ + licenseDeclared?: string; + /** @description The distribution source of this package, or NOASSERTION if this was not determined. */ + supplier?: string; + externalRefs?: { + /** @description The category of reference to an external resource this reference refers to. */ + referenceCategory: string; + /** @description A locator for the particular external resource this reference refers to. */ + referenceLocator: string; + /** @description The category of reference to an external resource this reference refers to. */ + referenceType: string; + }[]; + }[]; + }; + }; + /** + * metadata + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + metadata: { + [key: string]: (null | (string | number | boolean) | (number | string | boolean) | (boolean | string | number)) | string | number | boolean; + }; + dependency: { + /** @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details. */ + package_url?: string; + metadata?: components["schemas"]["metadata"]; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency. + * @enum {string} */ - allow_rebase_merge?: boolean; + relationship?: "direct" | "indirect"; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes. + * @enum {string} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + scope?: "runtime" | "development"; + /** @description Array of package-url (PURLs) of direct child dependencies. */ + dependencies?: string[]; + }; + manifest: { + /** @description The name of the manifest. */ + name: string; + file?: { + /** @description The path of the manifest file relative to the root of the Git repository. */ + source_location?: string; + }; + metadata?: components["schemas"]["metadata"]; + /** @description A collection of resolved package dependencies. */ + resolved?: { + [key: string]: components["schemas"]["dependency"]; + }; + }; + /** + * snapshot + * @description Create a new snapshot of a repository's dependencies. + */ + snapshot: { + /** @description The version of the repository snapshot submission. */ + version: number; + job: { + /** @description The external ID of the job. */ + id: string; + /** @description Correlator provides a key that is used to group snapshots submitted over time. Only the "latest" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given "wave" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation. */ + correlator: string; + /** @description The url for the job. */ + html_url?: string; + }; + /** @description The commit SHA associated with this dependency snapshot. Maximum length: 40 characters. */ + sha: string; + /** @description The repository branch that triggered this snapshot. */ + ref: string; + /** @description A description of the detector used. */ + detector: { + /** @description The name of the detector used. */ + name: string; + /** @description The version of the detector used. */ + version: string; + /** @description The url of the detector used. */ + url: string; + }; + metadata?: components["schemas"]["metadata"]; + /** @description A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ + manifests?: { + [key: string]: components["schemas"]["manifest"]; + }; /** - * @description Whether the repository is archived. - * @default false + * Format: date-time + * @description The time at which the snapshot was scanned. */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; + scanned: string; + }; + /** + * Deployment Status + * @description The status of a deployment. + */ + "deployment-status": { /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + url: string; + id: number; + node_id: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The state of the status. + * @enum {string} */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; + state: "error" | "failure" | "inactive" | "pending" | "success" | "queued" | "in_progress"; + creator: null | components["schemas"]["simple-user"]; + /** + * @description A short description of the status. + * @default + */ + description: string; + /** + * @description The environment of the deployment that the status is for. + * @default + */ + environment: string; + /** + * Format: uri + * @description Deprecated: the URL to associate with this status. + * @default + */ + target_url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; + deployment_url: string; /** Format: uri */ - git_url: string; + repository_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @description The URL for accessing your environment. + * @default */ - has_downloads: boolean; + environment_url: string; /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; + * Format: uri + * @description The URL to associate with this status. + * @default + */ + log_url: string; + performed_via_github_app?: null | components["schemas"]["integration"]; + }; + /** @description The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). */ + "wait-timer": number; + /** @description The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. */ + "deployment-branch-policy-settings": { + /** @description Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`. */ + protected_branches: boolean; + /** @description Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`. */ + custom_branch_policies: boolean; + } | null; + /** + * Environment + * @description Details of a deployment environment + */ + environment: { + /** @description The id of the environment. */ + id: number; + node_id: string; + /** @description The name of the environment. */ + name: string; + url: string; + html_url: string; /** - * @description Whether projects are enabled. - * @default true + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. */ - has_projects: boolean; + created_at: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. */ - has_wiki: boolean; + updated_at: string; + /** @description Built-in deployment protection rules for the environment. */ + protection_rules?: ({ + id: number; + node_id: string; + type: string; + wait_timer?: components["schemas"]["wait-timer"]; + } | { + id: number; + node_id: string; + /** @description Whether deployments to this environment can be approved by the user who created the deployment. */ + prevent_self_review?: boolean; + type: string; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; + }[]; + } | { + id: number; + node_id: string; + type: string; + })[]; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; + }; + /** + * Deployment branch policy + * @description Details of a deployment branch policy. + */ + "deployment-branch-policy": { + /** @description The unique identifier of the branch policy. */ + id?: number; + node_id?: string; + /** @description The name pattern that branches must match in order to deploy to the environment. */ + name?: string; + }; + /** Deployment branch policy name pattern */ + "deployment-branch-policy-name-pattern-with-type": { + /** @description The name pattern that branches must match in order to deploy to the environment. + * + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`. + * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). */ + name: string; + }; + /** Deployment branch policy name pattern */ + "deployment-branch-policy-name-pattern": { + /** @description The name pattern that branches must match in order to deploy to the environment. + * + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`. + * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). */ + name: string; + }; + /** + * Custom deployment protection rule app + * @description A GitHub App that is providing a custom deployment protection rule. + */ + "custom-deployment-rule-app": { + /** @description The unique identifier of the deployment protection rule integration. */ + id: number; + /** @description The slugified name of the deployment protection rule integration. */ + slug: string; + /** @description The URL for the endpoint to get details about the app. */ + integration_url: string; + /** @description The node ID for the deployment protection rule integration. */ + node_id: string; + }; + /** + * Deployment protection rule + * @description Deployment protection rule + */ + "deployment-protection-rule": { + /** @description The unique identifier for the deployment protection rule. */ + id: number; + /** @description The node ID for the deployment protection rule. */ + node_id: string; + /** @description Whether the deployment protection rule is enabled for the environment. */ + enabled: boolean; + app: components["schemas"]["custom-deployment-rule-app"]; + }; + /** + * Short Blob + * @description Short Blob + */ + "short-blob": { + url: string; + sha: string; + }; + /** + * Blob + * @description Blob + */ + blob: { + content: string; + encoding: string; + /** Format: uri */ + url: string; + sha: string; + size: number | null; + node_id: string; + highlighted_content?: string; + }; + /** + * Git Commit + * @description Low-level Git commit operations within a repository + */ + "git-commit": { + /** @description SHA for the commit */ + sha: string; + node_id: string; + /** Format: uri */ + url: string; + /** @description Identifying information for the git-user */ + author: { + /** + * Format: date-time + * @description Timestamp of the commit + */ + date: string; + /** @description Git email address of the user */ + email: string; + /** @description Name of the git user */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + */ + date: string; + /** @description Git email address of the user */ + email: string; + /** @description Name of the git user */ + name: string; + }; + /** @description Message describing the purpose of the commit */ + message: string; + tree: { + /** @description SHA for the commit */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: { + /** @description SHA for the commit */ + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + }; + /** Format: uri */ + html_url: string; + }; + /** + * Git Reference + * @description Git references within a repository + */ + "git-ref": { + ref: string; + node_id: string; + /** Format: uri */ + url: string; + object: { + type: string; + /** @description SHA for the reference */ + sha: string; + /** Format: uri */ + url: string; + }; + }; + /** + * Git Tag + * @description Metadata for a Git tag + */ + "git-tag": { + node_id: string; + /** @description Name of the tag */ + tag: string; + sha: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @description URL for the tag */ - has_discussions: boolean; - homepage: string | null; + url: string; + /** @description Message describing the purpose of the tag */ + message: string; + tagger: { + date: string; + email: string; + name: string; + }; + object: { + sha: string; + type: string; + /** Format: uri */ + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + /** + * Git Tree + * @description The hierarchy between files in a Git repository. + */ + "git-tree": { + sha: string; + /** Format: uri */ + url: string; + truncated: boolean; + /** @description Objects specifying a tree structure */ + tree: { + path?: string; + mode?: string; + type?: string; + sha?: string; + size?: number; + url?: string; + }[]; + }; + /** Hook Response */ + "hook-response": { + code: number | null; + status: string | null; + message: string | null; + }; + /** + * Webhook + * @description Webhooks for repositories. + */ + hook: { + type: string; + /** @description Unique identifier of the webhook. */ + id: number; + /** @description The name of a valid service, use 'web' for a webhook. */ + name: string; + /** @description Determines whether the hook is actually triggered on pushes. */ + active: boolean; + /** @description Determines what events the hook is triggered for. Default: ['push']. */ + events: string[]; + config: { + email?: string; + password?: string; + room?: string; + subdomain?: string; + url?: components["schemas"]["webhook-config-url"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + digest?: string; + secret?: components["schemas"]["webhook-config-secret"]; + token?: string; + }; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + created_at: string; /** Format: uri */ - hooks_url: string; + url: string; + /** Format: uri */ + test_url: string; + /** Format: uri */ + ping_url: string; + /** Format: uri */ + deliveries_url?: string; + last_response: components["schemas"]["hook-response"]; + }; + /** + * Import + * @description A repository import from an external source. + */ + import: { + vcs: string | null; + use_lfs?: boolean; + /** @description The URL of the originating repository. */ + vcs_url: string; + svc_root?: string; + tfvc_project?: string; + /** @enum {string} */ + status: "auth" | "error" | "none" | "detecting" | "choose" | "auth_failed" | "importing" | "mapping" | "waiting_to_push" | "pushing" | "complete" | "setup" | "unknown" | "detection_found_multiple" | "detection_found_nothing" | "detection_needs_auth"; + status_text?: string | null; + failed_step?: string | null; + error_message?: string | null; + import_percent?: number | null; + commit_count?: number | null; + push_percent?: number | null; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + project_choices?: { + vcs?: string; + tfvc_project?: string; + human_name?: string; + }[]; + message?: string; + authors_count?: number | null; + /** Format: uri */ + url: string; /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ + /** Format: uri */ + authors_url: string; + /** Format: uri */ + repository_url: string; + svn_root?: string; + }; + /** + * Porter Author + * @description Porter Author + */ + "porter-author": { id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; + remote_id: string; + remote_name: string; + email: string; + name: string; /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + url: string; /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + import_url: string; + }; + /** + * Porter Large File + * @description Porter Large File + */ + "porter-large-file": { + ref_name: string; + path: string; + oid: string; + size: number; + }; + /** + * Issue Event Label + * @description Issue Event Label + */ + "issue-event-label": { + name: string | null; + color: string | null; + }; + /** Issue Event Dismissed Review */ + "issue-event-dismissed-review": { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string | null; + }; + /** + * Issue Event Milestone + * @description Issue Event Milestone + */ + "issue-event-milestone": { + title: string; + }; + /** + * Issue Event Project Card + * @description Issue Event Project Card + */ + "issue-event-project-card": { /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; + url: string; + id: number; + /** Format: uri */ + project_url: string; + project_id: number; + column_name: string; + previous_column_name?: string; + }; + /** + * Issue Event Rename + * @description Issue Event Rename + */ + "issue-event-rename": { + from: string; + to: string; + }; + /** + * Issue Event + * @description Issue Event + */ + "issue-event": { + /** Format: int64 */ + id: number; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + /** Format: uri */ + url: string; + actor: null | components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + /** Format: date-time */ + created_at: string; + issue?: null | components["schemas"]["issue"]; + label?: components["schemas"]["issue-event-label"]; + assignee?: null | components["schemas"]["simple-user"]; + assigner?: null | components["schemas"]["simple-user"]; + review_requester?: null | components["schemas"]["simple-user"]; + requested_reviewer?: null | components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; + milestone?: components["schemas"]["issue-event-milestone"]; + project_card?: components["schemas"]["issue-event-project-card"]; + rename?: components["schemas"]["issue-event-rename"]; + author_association?: components["schemas"]["author-association"]; + lock_reason?: string | null; + performed_via_github_app?: null | components["schemas"]["integration"]; + }; + /** + * Labeled Issue Event + * @description Labeled Issue Event + */ + "labeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + label: { + name: string; + color: string; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + }; + /** + * Unlabeled Issue Event + * @description Unlabeled Issue Event + */ + "unlabeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + label: { + name: string; + color: string; + }; + }; + /** + * Assigned Issue Event + * @description Assigned Issue Event + */ + "assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Unassigned Issue Event + * @description Unassigned Issue Event + */ + "unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Milestoned Issue Event + * @description Milestoned Issue Event + */ + "milestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + milestone: { + title: string; + }; + }; + /** + * Demilestoned Issue Event + * @description Demilestoned Issue Event + */ + "demilestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + milestone: { + title: string; + }; + }; + /** + * Renamed Issue Event + * @description Renamed Issue Event + */ + "renamed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + rename: { + from: string; + to: string; + }; + }; + /** + * Review Requested Issue Event + * @description Review Requested Issue Event + */ + "review-requested-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Request Removed Issue Event + * @description Review Request Removed Issue Event + */ + "review-request-removed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Dismissed Issue Event + * @description Review Dismissed Issue Event + */ + "review-dismissed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + dismissed_review: { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string; + }; + }; + /** + * Locked Issue Event + * @description Locked Issue Event + */ + "locked-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + lock_reason: string | null; + }; + /** + * Added to Project Issue Event + * @description Added to Project Issue Event + */ + "added-to-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Moved Column in Project Issue Event + * @description Moved Column in Project Issue Event + */ + "moved-column-in-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Removed from Project Issue Event + * @description Removed from Project Issue Event + */ + "removed-from-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Converted Note to Issue Issue Event + * @description Converted Note to Issue Issue Event + */ + "converted-note-to-issue-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Issue Event for Issue + * @description Issue Event for Issue + */ + "issue-event-for-issue": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["assigned-issue-event"] | components["schemas"]["unassigned-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"]; + /** + * Label + * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). + */ + label: { + /** Format: int64 */ + id: number; + node_id: string; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @description URL for the label */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + url: string; + /** @description The name of the label. */ + name: string; + description: string | null; + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + }; + /** + * Timeline Comment Event + * @description Timeline Comment Event + */ + "timeline-comment-event": { + event: string; + actor: components["schemas"]["simple-user"]; + /** @description Unique identifier of the issue comment */ + id: number; + node_id: string; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Format: uri + * @description URL for the issue comment */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; + url: string; + /** @description Contents of the issue comment */ + body?: string; + body_text?: string; + body_html?: string; /** Format: uri */ - tags_url: string; + html_url: string; + user: components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: null | components["schemas"]["integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Timeline Cross Referenced Event + * @description Timeline Cross Referenced Event + */ + "timeline-cross-referenced-event": { + event: string; + actor?: components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; /** Format: date-time */ updated_at: string; + source: { + type?: string; + issue?: components["schemas"]["issue"]; + }; + }; + /** + * Timeline Committed Event + * @description Timeline Committed Event + */ + "timeline-committed-event": { + event?: string; + /** @description SHA for the commit */ + sha: string; + node_id: string; /** Format: uri */ url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + /** @description Identifying information for the git-user */ + author: { + /** + * Format: date-time + * @description Timestamp of the commit + */ + date: string; + /** @description Git email address of the user */ + email: string; + /** @description Name of the git user */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + */ + date: string; + /** @description Git email address of the user */ + email: string; + /** @description Name of the git user */ + name: string; + }; + /** @description Message describing the purpose of the commit */ + message: string; + tree: { + /** @description SHA for the commit */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: { + /** @description SHA for the commit */ + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + }; /** Format: uri */ - html_url?: string; + html_url: string; + }; + /** + * Timeline Reviewed Event + * @description Timeline Reviewed Event + */ + "timeline-reviewed-event": { + event: string; + /** @description Unique identifier of the review */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + node_id: string; + user: components["schemas"]["simple-user"]; + /** @description The text of the review. */ + body: string | null; + state: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + html_url: string; /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** Format: date-time */ + submitted_at?: string; + /** @description A commit SHA for the review. */ + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Pull Request Review Comment + * @description Pull Request Review Comments are comments on a portion of the Pull Request's diff. + */ + "pull-request-review-comment": { + /** @description URL for the pull request review comment */ + url: string; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** @description The ID of the pull request review comment. */ id: number; - /** @description The name of the label. */ - name: string; + /** @description The node ID of the pull request review comment. */ node_id: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. This field is deprecated; use `line` instead. */ + position?: number; + /** @description The index of the original line in the diff to which the comment applies. This field is deprecated; use `original_line` instead. */ + original_position?: number; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + user: components["schemas"]["simple-user"]; + /** @description The text of the comment. */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; /** * Format: uri - * @description URL for the label + * @description HTML URL for the pull request review comment. */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; + html_url: string; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: { + /** Format: uri */ + href: string; + }; + html: { + /** Format: uri */ + href: string; + }; + pull_request: { + /** Format: uri */ + href: string; + }; + }; + /** @description The first line of the range for a multi-line comment. */ + start_line?: number | null; + /** @description The first line of the range for a multi-line comment. */ + original_start_line?: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line?: number; + /** + * @description The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment + * @default RIGHT + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + reactions?: components["schemas"]["reaction-rollup"]; + body_html?: string; + body_text?: string; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Timeline Line Commented Event + * @description Timeline Line Commented Event */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; + "timeline-line-commented-event": { + event?: string; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; + comments?: components["schemas"]["pull-request-review-comment"][]; + }; + /** + * Timeline Commit Commented Event + * @description Timeline Commit Commented Event + */ + "timeline-commit-commented-event": { + event?: string; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ + commit_id?: string; + comments?: components["schemas"]["commit-comment"][]; + }; + /** + * Timeline Assigned Issue Event + * @description Timeline Assigned Issue Event + */ + "timeline-assigned-issue-event": { id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * Timeline Unassigned Issue Event + * @description Timeline Unassigned Issue Event */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request unlabeled event */ - "webhook-pull-request-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + "timeline-unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + }; /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + * State Change Issue Event + * @description State Change Issue Event + */ + "state-change-issue-event": { id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: null | components["schemas"]["integration"]; + state_reason?: string | null; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Timeline Event + * @description Timeline Event */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "timeline-issue-events": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"] | components["schemas"]["timeline-comment-event"] | components["schemas"]["timeline-cross-referenced-event"] | components["schemas"]["timeline-committed-event"] | components["schemas"]["timeline-reviewed-event"] | components["schemas"]["timeline-line-commented-event"] | components["schemas"]["timeline-commit-commented-event"] | components["schemas"]["timeline-assigned-issue-event"] | components["schemas"]["timeline-unassigned-issue-event"] | components["schemas"]["state-change-issue-event"]; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Deploy Key + * @description An SSH key granting access to a single repository. */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "deploy-key": { id: number; - login: string; - name?: string; - node_id?: string; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + added_by?: string | null; + last_used?: string | null; + }; + /** + * Language + * @description Language + */ + language: { + [key: string]: number; + }; + /** + * License Content + * @description License Content + */ + "license-content": { + name: string; + path: string; + sha: string; + size: number; /** Format: uri */ - organizations_url?: string; + url: string; /** Format: uri */ - received_events_url?: string; + html_url: string | null; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + git_url: string | null; /** Format: uri */ - subscriptions_url?: string; + download_url: string | null; + type: string; + content: string; + encoding: string; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + license: null | components["schemas"]["license-simple"]; + }; + /** + * Merged upstream + * @description Results of a successful merge upstream request + */ + "merged-upstream": { + message?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + merge_type?: "merge" | "fast-forward" | "none"; + base_branch?: string; + }; + /** Pages Source Hash */ + "pages-source-hash": { + branch: string; + path: string; + }; + /** Pages Https Certificate */ + "pages-https-certificate": { + /** @enum {string} */ + state: "new" | "authorization_created" | "authorization_pending" | "authorized" | "authorization_revoked" | "issued" | "uploaded" | "approved" | "errored" | "bad_authz" | "destroy_pending" | "dns_changed"; + description: string; + /** @description Array of the domain set and its alternate name (if it is configured) */ + domains: string[]; + /** Format: date */ + expires_at?: string; + }; + /** + * GitHub Pages + * @description The configuration for GitHub Pages for a repository. + */ + page: { /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: uri + * @description The API address for accessing this Page resource. */ - allow_merge_commit?: boolean; + url: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The status of the most recent build of the Page. + * @enum {string|null} */ - allow_rebase_merge?: boolean; + status: "built" | "building" | "errored" | null; + /** @description The Pages site's custom domain */ + cname: string | null; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The state if the domain is verified + * @enum {string|null} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + protected_domain_state?: "pending" | "verified" | "unverified" | null; /** - * @description Whether the repository is archived. - * @default false + * Format: date-time + * @description The timestamp when a pending domain becomes unverified. */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + pending_domain_unverified_at?: string | null; /** - * @description Whether to delete head branches when pull requests are merged + * @description Whether the Page has a custom 404 page. * @default false */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + custom_404: boolean; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @description The web address the Page can be accessed from. */ - has_downloads: boolean; + html_url?: string; /** - * @description Whether issues are enabled. - * @default true + * @description The process in which the Page will be built. + * @enum {string|null} */ - has_issues: boolean; - has_pages: boolean; + build_type?: "legacy" | "workflow" | null; + source?: components["schemas"]["pages-source-hash"]; + /** @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. */ + public: boolean; + https_certificate?: components["schemas"]["pages-https-certificate"]; + /** @description Whether https is enabled on the domain */ + https_enforced?: boolean; + }; + /** + * Page Build + * @description Page Build + */ + "page-build": { + /** Format: uri */ + url: string; + status: string; + error: { + message: string | null; + }; + pusher: null | components["schemas"]["simple-user"]; + commit: string; + duration: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Page Build Status + * @description Page Build Status + */ + "page-build-status": { + /** Format: uri */ + url: string; + status: string; + }; + /** + * GitHub Pages + * @description The GitHub Pages deployment status. + */ + "page-deployment": { /** - * @description Whether projects are enabled. - * @default true + * Format: uri + * @description The URI to monitor GitHub Pages deployment status. */ - has_projects: boolean; + status_url: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: uri + * @description The URI to the deployed GitHub Pages. */ - has_wiki: boolean; + page_url: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @description The URI to the deployed GitHub Pages preview. */ - has_discussions: boolean; - homepage: string | null; + preview_url?: string; + }; + /** + * Pages Health Check Status + * @description Pages Health Check Status + */ + "pages-health-check": { + domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + }; + alt_domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + } | null; + }; + /** + * Pull Request + * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. + */ + "pull-request": { /** Format: uri */ - hooks_url: string; + url: string; + id: number; + node_id: string; /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + diff_url: string; + /** Format: uri */ + patch_url: string; + /** Format: uri */ + issue_url: string; + /** Format: uri */ + commits_url: string; + /** Format: uri */ + review_comments_url: string; + review_comment_url: string; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + statuses_url: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @description State of this Pull Request. Either `open` or `closed`. * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + state: "open" | "closed"; + locked: boolean; + /** @description The title of the pull request. */ + title: string; + user: components["schemas"]["simple-user"]; + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string | null; + color: string; + default: boolean; + }[]; + milestone: null | components["schemas"]["milestone"]; + active_lock_reason?: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + merged_at: string | null; + merge_commit_sha: string | null; + assignee: null | components["schemas"]["simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team-simple"][] | null; + head: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + /** Format: uri */ + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_discussions: boolean; + /** Format: uri */ + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: uri */ + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: { + key: string; + name: string; + /** Format: uri */ + url: string | null; + spdx_id: string | null; + node_id: string; + } | null; + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + /** Format: uri */ + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + allow_forking?: boolean; + is_template?: boolean; + web_commit_signoff_required?: boolean; + } | null; + sha: string; + user: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + }; + base: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + id: number; + is_template?: boolean; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + /** Format: uri */ + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_discussions: boolean; + /** Format: uri */ + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: uri */ + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: null | components["schemas"]["license-simple"]; + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + /** Format: uri */ + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + allow_forking?: boolean; + web_commit_signoff_required?: boolean; + }; + sha: string; + user: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** @description Indicates whether or not the pull request is a draft. */ + draft?: boolean; + merged: boolean; + mergeable: boolean | null; + rebaseable?: boolean | null; + mergeable_state: string; + merged_by: null | components["schemas"]["simple-user"]; + comments: number; + review_comments: number; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify: boolean; + commits: number; + additions: number; + deletions: number; + changed_files: number; + }; + /** + * Pull Request Merge Result + * @description Pull Request Merge Result + */ + "pull-request-merge-result": { + sha: string; + merged: boolean; + message: string; + }; + /** + * Pull Request Review Request + * @description Pull Request Review Request + */ + "pull-request-review-request": { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + }; + /** + * Pull Request Review + * @description Pull Request Reviews are reviews on pull requests. + */ + "pull-request-review": { + /** @description Unique identifier of the review */ + id: number; + node_id: string; + user: null | components["schemas"]["simple-user"]; + /** @description The text of the review. */ + body: string; + state: string; /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + html_url: string; /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** Format: date-time */ + submitted_at?: string; + /** @description A commit SHA for the review. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`. */ + commit_id: string | null; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Legacy Review Comment + * @description Legacy Review Comment + */ + "review-comment": { + /** Format: uri */ + url: string; + pull_request_review_id: number | null; + id: number; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + diff_hunk: string; + path: string; + position: number | null; + original_position: number; + commit_id: string; + original_commit_id: string; + in_reply_to_id?: number; + user: null | components["schemas"]["simple-user"]; + body: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: components["schemas"]["link"]; + html: components["schemas"]["link"]; + pull_request: components["schemas"]["link"]; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + body_text?: string; + body_html?: string; + reactions?: components["schemas"]["reaction-rollup"]; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + side: "LEFT" | "RIGHT"; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; + start_side: "LEFT" | "RIGHT" | null; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line?: number; + /** @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line?: number; + /** @description The first line of the range for a multi-line comment. */ + start_line?: number | null; + /** @description The original first line of the range for a multi-line comment. */ + original_start_line?: number | null; + }; + /** + * Release Asset + * @description Data related to a release. + */ + "release-asset": { /** Format: uri */ - tags_url: string; + url: string; /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + browser_download_url: string; + id: number; + node_id: string; + /** @description The file name of the asset. */ + name: string; + label: string | null; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; /** Format: date-time */ updated_at: string; + uploader: null | components["schemas"]["simple-user"]; + }; + /** + * Release + * @description A release. + */ + release: { /** Format: uri */ url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; /** Format: uri */ - received_events_url?: string; + html_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + assets_url: string; + upload_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + tarball_url: string | null; /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ + zipball_url: string | null; + id: number; + node_id: string; + /** @description The name of the tag. */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + name: string | null; + body?: string | null; + /** @description true to create a draft (unpublished) release, false to create a published one. */ + draft: boolean; + /** @description Whether to identify the release as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + author: components["schemas"]["simple-user"]; + assets: components["schemas"]["release-asset"][]; + body_html?: string; + body_text?: string; + mentions_count?: number; + /** + * Format: uri + * @description The URL of the release discussion. + */ + discussion_url?: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Generated Release Notes Content + * @description Generated name and body describing a release + */ + "release-notes-content": { + /** @description The generated name of the release */ + name: string; + /** @description The generated body describing the contents of the release supporting markdown formatting */ + body: string; + }; + /** + * repository ruleset data for rule + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + "repository-rule-ruleset-info": { /** - * @description Whether to allow auto-merge for pull requests. - * @default false + * @description The type of source for the ruleset that includes this rule. + * @enum {string} */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + ruleset_source_type?: "Repository" | "Organization"; + /** @description The name of the source of the ruleset that includes this rule. */ + ruleset_source?: string; + /** @description The ID of the ruleset that includes this rule. */ + ruleset_id?: number; + }; + /** + * Repository Rule + * @description A repository rule with ruleset details. + */ + "repository-rule-detailed": (components["schemas"]["repository-rule-creation"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-update"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-deletion"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-linear-history"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-deployments"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-signatures"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-pull-request"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-status-checks"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-non-fast-forward"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-message-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-author-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-committer-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-branch-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-tag-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]); + "secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: null | components["schemas"]["alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: uri + * @description The REST API URL of the code locations for this alert. */ - allow_merge_commit?: boolean; + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: null | components["schemas"]["simple-user"]; + /** @description An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - allow_rebase_merge?: boolean; + push_protection_bypassed_at?: string | null; + }; + /** @description An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`. */ + "secret-scanning-alert-resolution-comment": string | null; + /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ + "secret-scanning-location-commit": { + /** @description The file path in the repository */ + path: string; + /** @description Line number at which the secret starts in the file */ + start_line: number; + /** @description Line number at which the secret ends in the file */ + end_line: number; + /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ + end_column: number; + /** @description SHA-1 hash ID of the associated blob */ + blob_sha: string; + /** @description The API URL to get the associated blob resource */ + blob_url: string; + /** @description SHA-1 hash ID of the associated commit */ + commit_sha: string; + /** @description The API URL to get the associated commit resource */ + commit_url: string; + }; + /** @description Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. */ + "secret-scanning-location-issue-title": { /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: uri + * @description The API URL to get the issue where the secret was detected. */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + issue_title_url: string; + }; + /** @description Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. */ + "secret-scanning-location-issue-body": { /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @description The API URL to get the issue where the secret was detected. */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + issue_body_url: string; + }; + /** @description Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. */ + "secret-scanning-location-issue-comment": { /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @description The API URL to get the issue comment where the secret was detected. */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + issue_comment_url: string; + }; + "secret-scanning-location": { /** - * @description Whether downloads are enabled. - * @default true + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues), this field identifies the type of resource where the secret was found. + * @enum {string} */ - has_downloads: boolean; + type: "commit" | "issue_title" | "issue_body" | "issue_comment"; + details: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"]; + }; + "repository-advisory-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; /** - * @description Whether issues are enabled. - * @default true + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} */ - has_issues: boolean; - has_pages: boolean; + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + }; + "private-vulnerability-report-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description An array of products affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[] | null; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; /** - * @description Whether projects are enabled. - * @default true + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} */ - has_projects: boolean; + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + }; + "repository-advisory-update": { + /** @description A short summary of the advisory. */ + summary?: string; + /** @description A detailed description of what the advisory impacts. */ + description?: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; /** - * @description Whether the wiki is enabled. - * @default true + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} */ - has_wiki: boolean; + severity?: "critical" | "high" | "medium" | "low" | null; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; /** - * @description Whether discussions are enabled. - * @default false + * @description The state of the advisory. + * @enum {string} */ - has_discussions: boolean; - homepage: string | null; + state?: "published" | "closed" | "draft"; + /** @description A list of usernames who have been granted write access to the advisory. */ + collaborating_users?: string[] | null; + /** @description A list of team slugs which have been granted write access to the advisory. */ + collaborating_teams?: string[] | null; + }; + /** + * Stargazer + * @description Stargazer + */ + stargazer: { + /** Format: date-time */ + starred_at: string; + user: null | components["schemas"]["simple-user"]; + }; + /** + * Code Frequency Stat + * @description Code Frequency Stat + */ + "code-frequency-stat": number[]; + /** + * Commit Activity + * @description Commit Activity + */ + "commit-activity": { + days: number[]; + total: number; + week: number; + }; + /** + * Contributor Activity + * @description Contributor Activity + */ + "contributor-activity": { + author: null | components["schemas"]["simple-user"]; + total: number; + weeks: { + w?: number; + a?: number; + d?: number; + c?: number; + }[]; + }; + /** Participation Stats */ + "participation-stats": { + all: number[]; + owner: number[]; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-subscription": { + /** @description Determines if notifications should be received from this repository. */ + subscribed: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored: boolean; + reason: string | null; + /** Format: date-time */ + created_at: string; /** Format: uri */ - hooks_url: string; + url: string; + /** Format: uri */ + repository_url: string; + }; + /** + * Tag + * @description Tag + */ + tag: { + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + zipball_url: string; + /** Format: uri */ + tarball_url: string; + node_id: string; + }; + /** + * Tag protection + * @description Tag protection + */ + "tag-protection": { + id?: number; + created_at?: string; + updated_at?: string; + enabled?: boolean; + pattern: string; + }; + /** + * Topic + * @description A topic aggregates entities that are related to a subject. + */ + topic: { + names: string[]; + }; + /** Traffic */ + traffic: { + /** Format: date-time */ + timestamp: string; + uniques: number; + count: number; + }; + /** + * Clone Traffic + * @description Clone Traffic + */ + "clone-traffic": { + count: number; + uniques: number; + clones: components["schemas"]["traffic"][]; + }; + /** + * Content Traffic + * @description Content Traffic + */ + "content-traffic": { + path: string; + title: string; + count: number; + uniques: number; + }; + /** + * Referrer Traffic + * @description Referrer Traffic + */ + "referrer-traffic": { + referrer: string; + count: number; + uniques: number; + }; + /** + * View Traffic + * @description View Traffic + */ + "view-traffic": { + count: number; + uniques: number; + views: components["schemas"]["traffic"][]; + }; + /** Search Result Text Matches */ + "search-result-text-matches": { + object_url?: string; + object_type?: string | null; + property?: string; + fragment?: string; + matches?: { + text?: string; + indices?: number[]; + }[]; + }[]; + /** + * Code Search Result Item + * @description Code Search Result Item + */ + "code-search-result-item": { + name: string; + path: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string; /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ + repository: components["schemas"]["minimal-repository"]; + score: number; + file_size?: number; + language?: string | null; + /** Format: date-time */ + last_modified_at?: string; + line_numbers?: string[]; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Commit Search Result Item + * @description Commit Search Result Item + */ + "commit-search-result-item": { + /** Format: uri */ + url: string; + sha: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + comments_url: string; + commit: { + author: { + name: string; + email: string; + /** Format: date-time */ + date: string; + }; + committer: null | components["schemas"]["git-user"]; + comment_count: number; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification?: components["schemas"]["verification"]; + }; + author: null | components["schemas"]["simple-user"]; + committer: null | components["schemas"]["git-user"]; + parents: { + url?: string; + html_url?: string; + sha?: string; + }[]; + repository: components["schemas"]["minimal-repository"]; + score: number; + node_id: string; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Issue Search Result Item + * @description Issue Search Result Item + */ + "issue-search-result-item": { + /** Format: uri */ + url: string; + /** Format: uri */ + repository_url: string; labels_url: string; - language: string | null; /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit message title. - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + comments_url: string; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + node_id: string; + number: number; + title: string; + locked: boolean; + active_lock_reason?: string | null; + assignees?: components["schemas"]["simple-user"][] | null; + user: null | components["schemas"]["simple-user"]; + labels: { + /** Format: int64 */ + id?: number; + node_id?: string; + url?: string; + name?: string; + color?: string; + default?: boolean; + description?: string | null; + }[]; + state: string; + state_reason?: string | null; + assignee: null | components["schemas"]["simple-user"]; + milestone: null | components["schemas"]["milestone"]; + comments: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + body?: string; + score: number; + author_association: components["schemas"]["author-association"]; + draft?: boolean; + repository?: components["schemas"]["repository"]; + body_html?: string; + body_text?: string; /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + timeline_url?: string; + performed_via_github_app?: null | components["schemas"]["integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Label Search Result Item + * @description Label Search Result Item + */ + "label-search-result-item": { + id: number; + node_id: string; /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ + url: string; name: string; + color: string; + default: boolean; + description: string | null; + score: number; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Repo Search Result Item + * @description Repo Search Result Item + */ + "repo-search-result-item": { + id: number; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ + name: string; + full_name: string; + owner: null | components["schemas"]["simple-user"]; private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; + /** Format: uri */ + html_url: string; + description: string | null; + fork: boolean; + /** Format: uri */ + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + pushed_at: string; + /** Format: uri */ + homepage: string | null; size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; stargazers_count: number; + watchers_count: number; + language: string | null; + forks_count: number; + open_issues_count: number; + master_branch?: string; + default_branch: string; + score: number; /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; + forks_url: string; + keys_url: string; + collaborators_url: string; /** Format: uri */ - subscribers_url: string; + teams_url: string; /** Format: uri */ - subscription_url: string; + hooks_url: string; + issue_events_url: string; /** Format: uri */ - svn_url: string; + events_url: string; + assignees_url: string; + branches_url: string; /** Format: uri */ tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ + blobs_url: string; + git_tags_url: string; + git_refs_url: string; trees_url: string; - /** Format: date-time */ - updated_at: string; + statuses_url: string; /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ + languages_url: string; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + stargazers_url: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + contributors_url: string; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + subscribers_url: string; /** Format: uri */ - organizations_url?: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; /** Format: uri */ - received_events_url?: string; + merges_url: string; + archive_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + deployments_url: string; + git_url: string; + ssh_url: string; + clone_url: string; /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ + svn_url: string; + forks: number; + open_issues: number; + watchers: number; + topics?: string[]; + /** Format: uri */ + mirror_url: string | null; + has_issues: boolean; + has_projects: boolean; + has_pages: boolean; + has_wiki: boolean; + has_downloads: boolean; + has_discussions?: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + license: null | components["schemas"]["license-simple"]; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + text_matches?: components["schemas"]["search-result-text-matches"]; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_forking?: boolean; + is_template?: boolean; + web_commit_signoff_required?: boolean; + }; + /** + * Topic Search Result Item + * @description Topic Search Result Item + */ + "topic-search-result-item": { name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; + display_name: string | null; + short_description: string | null; + description: string | null; + created_by: string | null; + released: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + featured: boolean; + curated: boolean; + score: number; + repository_count?: number | null; + /** Format: uri */ + logo_url?: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + related?: { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] | null; + aliases?: { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] | null; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * User Search Result Item + * @description User Search Result Item */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + "user-search-result-item": { + login: string; + id: number; + node_id: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + avatar_url: string; + gravatar_id: string | null; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + url: string; /** Format: uri */ - organizations_url?: string; + html_url: string; /** Format: uri */ - received_events_url?: string; + followers_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + subscriptions_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + organizations_url: string; /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ + repos_url: string; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; + received_events_url: string; + type: string; + score: number; + following_url: string; + gists_url: string; + starred_url: string; + events_url: string; + public_repos?: number; + public_gists?: number; + followers?: number; + following?: number; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + name?: string | null; + bio?: string | null; + /** Format: email */ email?: string | null; - /** Format: uri-template */ - events_url?: string; + location?: string | null; + site_admin: boolean; + hireable?: boolean | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + blog?: string | null; + company?: string | null; + /** Format: date-time */ + suspended_at?: string | null; + }; + /** + * Private User + * @description Private User + */ + "private-user": { + login: string; + id: number; + node_id: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + avatar_url: string; + gravatar_id: string | null; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + url: string; /** Format: uri */ - organizations_url?: string; + html_url: string; /** Format: uri */ - received_events_url?: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + subscriptions_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + organizations_url: string; /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; + repos_url: string; + events_url: string; /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + /** Format: email */ + email: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + private_gists: number; + total_private_repos: number; + owned_private_repos: number; + disk_usage: number; + collaborators: number; + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + business_plus?: boolean; + ldap_dn?: string; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-secret": { + /** @description The name of the secret */ name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; /** * Format: uri - * @description URL for the team + * @description The API URL at which the list of repositories this secret is visible to can be retrieved */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ + selected_repositories_url: string; + }; + /** + * CodespacesUserPublicKey + * @description The public key used for setting user Codespaces' Secrets. + */ + "codespaces-user-public-key": { + /** @description The identifier for the key. */ + key_id: string; + /** @description The Base64 encoded public key. */ + key: string; + }; + /** + * Fetches information about an export of a codespace. + * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest + */ + "codespace-export-details": { + /** @description State of the latest export */ + state?: string | null; + /** + * Format: date-time + * @description Completion time of the last export operation + */ + completed_at?: string | null; + /** @description Name of the exported branch */ + branch?: string | null; + /** @description Git commit SHA of the exported branch */ + sha?: string | null; + /** @description Id for the export details */ + id?: string; + /** @description Url for fetching export details */ + export_url?: string; + /** @description Web url for the exported branch */ + html_url?: string | null; + }; + /** + * Codespace + * @description A codespace. + */ + "codespace-with-full-repository": { id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ + /** @description Automatically generated name of this codespace. */ name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + /** @description Display name for this codespace. */ + display_name?: string | null; + /** @description UUID identifying this codespace's environment. */ + environment_id: string | null; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["full-repository"]; + machine: null | components["schemas"]["codespace-machine"]; + /** @description Path to devcontainer.json from repo root used to create Codespace. */ + devcontainer_path?: string | null; + /** @description Whether the codespace was created from a prebuild. */ + prebuild: boolean | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: date-time + * @description Last known time this codespace was started. + */ + last_used_at: string; + /** + * @description State of this codespace. + * @enum {string} + */ + state: "Unknown" | "Created" | "Queued" | "Provisioning" | "Available" | "Awaiting" | "Unavailable" | "Deleted" | "Moved" | "Shutdown" | "Archived" | "Starting" | "ShuttingDown" | "Failed" | "Exporting" | "Updating" | "Rebuilding"; /** * Format: uri - * @description URL for the team + * @description API URL for this codespace. */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} + url: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** @description The number of commits the local repository is ahead of the remote. */ + ahead?: number; + /** @description The number of commits the local repository is behind the remote. */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** @description The current branch (or SHA if in detached HEAD state) of the local repository. */ + ref?: string; + }; + /** + * @description The initally assigned location of a new codespace. + * @enum {string} + */ + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; + /** @description The number of minutes of inactivity after which this codespace will be automatically stopped. */ + idle_timeout_minutes: number | null; + /** + * Format: uri + * @description URL to access this codespace on the web. + */ + web_url: string; + /** + * Format: uri + * @description API URL to access available alternate machine types for this codespace. + */ + machines_url: string; + /** + * Format: uri + * @description API URL to start this codespace. + */ + start_url: string; + /** + * Format: uri + * @description API URL to stop this codespace. + */ + stop_url: string; + /** + * Format: uri + * @description API URL to publish this codespace to a new repository. + */ + publish_url?: string | null; + /** + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. + */ + pulls_url: string | null; + recent_folders: string[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: string[] | null; + }; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: boolean | null; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: string | null; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: string | null; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number | null; + /** + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + */ + retention_expires_at?: string | null; + }; + /** + * Email + * @description Email */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request unlocked event */ - "webhook-pull-request-unlocked": { - /** @enum {string} */ - action: "unlocked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + email: { + /** Format: email */ + email: string; + primary: boolean; + verified: boolean; + visibility: string | null; + }; + /** + * GPG Key + * @description A unique encryption key + */ + "gpg-key": { + id: number; + name?: string | null; + primary_key_id: number | null; + key_id: string; + public_key: string; + emails: { + email?: string; + verified?: boolean; + }[]; + subkeys: { + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: { + email?: string; + verified?: boolean; + }[]; + subkeys?: unknown[]; + can_sign?: boolean; + can_encrypt_comms?: boolean; + can_encrypt_storage?: boolean; + can_certify?: boolean; + created_at?: string; + expires_at?: string | null; + raw_key?: string | null; + revoked?: boolean; + }[]; + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + can_certify: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + expires_at: string | null; + revoked: boolean; + raw_key: string | null; + }; + /** + * Key + * @description Key + */ + key: { + key: string; + id: number; + url: string; + title: string; + /** Format: date-time */ + created_at: string; + verified: boolean; + read_only: boolean; + }; + /** Marketplace Account */ + "marketplace-account": { /** Format: uri */ - html_url?: string; + url: string; id: number; - login: string; - name?: string; + type: string; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; + login: string; + /** Format: email */ + email?: string | null; + /** Format: email */ + organization_billing_email?: string | null; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * User Marketplace Purchase + * @description User Marketplace Purchase + */ + "user-marketplace-purchase": { + billing_cycle: string; + /** Format: date-time */ + next_billing_date: string | null; + unit_count: number | null; + on_free_trial: boolean; + /** Format: date-time */ + free_trial_ends_on: string | null; + /** Format: date-time */ + updated_at: string | null; + account: components["schemas"]["marketplace-account"]; + plan: components["schemas"]["marketplace-listing-plan"]; + }; + /** + * Social account + * @description Social media account + */ + "social-account": { + provider: string; + url: string; + }; + /** + * SSH Signing Key + * @description A public SSH key used to sign Git commits + */ + "ssh-signing-key": { + key: string; + id: number; + title: string; + /** Format: date-time */ + created_at: string; + }; + /** + * Starred Repository + * @description Starred Repository + */ + "starred-repository": { + /** Format: date-time */ + starred_at: string; + repo: components["schemas"]["repository"]; + }; + /** + * Hovercard + * @description Hovercard + */ + hovercard: { + contexts: { + message: string; + octicon: string; + }[]; + }; + /** + * Key Simple + * @description Key Simple */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "key-simple": { + id: number; + key: string; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Enterprise + * @description An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + * on an enterprise account or an organization that's part of an enterprise account. For more information, + * see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + * */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + "enterprise-webhooks": { + /** @description A short description of the enterprise. */ + description?: string | null; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** @description Unique identifier of the enterprise */ + id: number; + node_id: string; + /** @description The name of the enterprise. */ + name: string; + /** @description The slug url identifier for the enterprise. */ + slug: string; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + updated_at: string | null; /** Format: uri */ - html_url?: string; + avatar_url: string; + }; + /** + * Simple Installation + * @description The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + * for and sent to a GitHub App. For more information, + * see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + */ + "simple-installation": { + /** @description The ID of the installation. */ id: number; + /** @description The global node ID of the installation. */ + node_id: string; + }; + /** + * Organization Simple + * @description A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + * organization, or when the event occurs from activity in a repository owned by an organization. + */ + "organization-simple-webhooks": { login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; + id: number; + node_id: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + repos_url: string; /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { + events_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string | null; + }; + /** + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. + */ + "repository-webhooks": { + /** @description Unique identifier of the repository */ + id: number; + node_id: string; + /** @description The name of the repository. */ + name: string; + full_name: string; + license: null | components["schemas"]["license-simple"]; + organization?: null | components["schemas"]["simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; /** - * @description Whether to allow auto-merge for pull requests. + * @description Whether the repository is private or public. * @default false */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ + private: boolean; + /** Format: uri */ + html_url: string; + description: string | null; + fork: boolean; + /** Format: uri */ + url: string; archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ assignees_url: string; - /** Format: uri-template */ blobs_url: string; - /** Format: uri-template */ branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ collaborators_url: string; - /** Format: uri-template */ comments_url: string; - /** Format: uri-template */ commits_url: string; - /** Format: uri-template */ compare_url: string; - /** Format: uri-template */ contents_url: string; /** Format: uri */ contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; /** Format: uri */ deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; /** Format: uri */ downloads_url: string; /** Format: uri */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; /** Format: uri */ forks_url: string; - full_name: string; - /** Format: uri-template */ git_commits_url: string; - /** Format: uri-template */ git_refs_url: string; - /** Format: uri-template */ git_tags_url: string; - /** Format: uri */ git_url: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + notifications_url: string; + pulls_url: string; + releases_url: string; + ssh_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + clone_url: string; + /** Format: uri */ + mirror_url: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + homepage: string | null; + language: string | null; + forks_count: number; + stargazers_count: number; + watchers_count: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size: number; + /** @description The default branch of the repository. */ + default_branch: string; + open_issues_count: number; /** - * @description Whether downloads are enabled. - * @default true + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false */ - has_downloads: boolean; + is_template: boolean; + topics?: string[]; /** * @description Whether issues are enabled. * @default true */ has_issues: boolean; - has_pages: boolean; /** * @description Whether projects are enabled. * @default true @@ -71346,46264 +31561,98812 @@ export interface components { * @default true */ has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; /** * @description Whether discussions are enabled. * @default false */ has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; /** - * @description The default value for a merge commit message. + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility: string; + /** Format: date-time */ + pushed_at: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + */ + allow_update_branch: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). * @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; /** - * @description The default value for a merge commit title. + * @description The default value for a squash merge commit message: * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a squash merge commit message: + * @description The default value for a merge commit title. * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** - * @description The default value for a squash merge commit title: + * @description The default value for a merge commit message. * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. * @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits * @default false */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; + master_branch?: string; + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** + * Simple User + * @description The GitHub user that triggered the event. This property is included in every webhook payload. + */ + "simple-user-webhooks": { + name?: string | null; email?: string | null; - /** Format: uri-template */ - events_url?: string; + login: string; + id: number; + node_id: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + avatar_url: string; + gravatar_id: string | null; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + url: string; /** Format: uri */ - organizations_url?: string; + html_url: string; /** Format: uri */ - received_events_url?: string; + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + subscriptions_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + organizations_url: string; + /** Format: uri */ + repos_url: string; + events_url: string; /** Format: uri */ + received_events_url: string; + type: string; + site_admin: boolean; + starred_at?: string; + }; + /** @description A suite of checks performed on the code of a given code change */ + "simple-check-suite": { + after?: string | null; + app?: components["schemas"]["integration"]; + before?: string | null; + /** @enum {string|null} */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "stale" | "startup_failure" | null; + /** Format: date-time */ + created_at?: string; + head_branch?: string | null; + /** @description The SHA of the head commit that is being checked. */ + head_sha?: string; + id?: number; + node_id?: string; + pull_requests?: components["schemas"]["pull-request-minimal"][]; + repository?: components["schemas"]["minimal-repository"]; + /** @enum {string} */ + status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; + /** Format: date-time */ + updated_at?: string; url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run-with-simple-check-suite": { + app: null | components["schemas"]["integration"]; + check_suite: components["schemas"]["simple-check-suite"]; + /** Format: date-time */ + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "waiting" | "pending" | "startup_failure" | "stale" | "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; + deployment?: components["schemas"]["deployment-simple"]; + details_url: string; + external_id: string; + /** @description The SHA of the commit that is being checked. */ + head_sha: string; + html_url: string; + /** @description The id of the check. */ + id: number; + /** @description The name of the check. */ + name: string; + node_id: string; + output: { + annotations_count: number; + /** Format: uri */ + annotations_url: string; + summary: string | null; + text: string | null; + title: string | null; + }; + pull_requests: components["schemas"]["pull-request-minimal"][]; + /** Format: date-time */ + started_at: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The phase of the lifecycle that the check is currently in. + * @enum {string} */ - allow_merge_commit?: boolean; + status: "queued" | "in_progress" | "completed" | "pending"; + url: string; + }; + /** + * Discussion + * @description A Discussion in a repository. + */ + discussion: { + active_lock_reason: string | null; + answer_chosen_at: string | null; + /** User */ + answer_chosen_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + answer_html_url: string | null; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} */ - allow_rebase_merge?: boolean; + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The current state of the discussion. + * `converting` means that the discussion is being converted from an issue. + * `transferring` means that the discussion is being transferred from another repository. + * @enum {string} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + state: "open" | "closed" | "locked" | "converting" | "transferring"; /** - * @description Whether the repository is archived. - * @default false + * @description The reason for the current state + * @enum {string|null} */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + state_reason: "resolved" | "outdated" | "duplicate" | "reopened" | null; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** + * Merge Group + * @description A group of pull requests that the merge queue has grouped together to be merged. + * + */ + "merge-group": { + /** @description The SHA of the merge group. */ + head_sha: string; + /** @description The full ref of the merge group. */ + head_ref: string; + /** @description The SHA of the merge group's parent commit. */ + base_sha: string; + /** @description The full ref of the branch the merge group will be merged into. */ + base_ref: string; + head_commit: components["schemas"]["simple-commit"]; + }; + /** + * Personal Access Token Request + * @description Details of a Personal Access Token Request. + */ + "personal-access-token-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** @description New requested permissions, categorized by type of permission. */ + permissions_added: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ + permissions_upgraded: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ + permissions_result: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description Type of repository selection requested. + * @enum {string} */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; + repository_selection: "none" | "all" | "subset"; + /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repository_count: number | null; + /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repositories: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[] | null; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Projects v2 Project + * @description A projects v2 project + */ + "projects-v2": { + id: number; + node_id: string; + owner: components["schemas"]["simple-user"]; + creator: components["schemas"]["simple-user"]; + title: string; description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + public: boolean; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + number: number; + short_description: string | null; + /** Format: date-time */ + deleted_at: string | null; + deleted_by: null | components["schemas"]["simple-user"]; + }; + /** + * Projects v2 Item Content Type + * @description The type of content tracked in a project item + * @enum {string} + */ + "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; + /** + * Projects v2 Item + * @description An item belonging to a project + */ + "projects-v2-item": { + id: number; + node_id?: string; + project_node_id?: string; + content_node_id: string; + content_type: components["schemas"]["projects-v2-item-content-type"]; + creator?: components["schemas"]["simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; + }; + /** + * @description The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution-webhook": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | "pattern_deleted" | "pattern_edited" | null; + "secret-scanning-alert-webhook": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: null | components["schemas"]["alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @description The REST API URL of the code locations for this alert. */ - has_downloads: boolean; + locations_url?: string; + resolution?: components["schemas"]["secret-scanning-alert-resolution-webhook"]; /** - * @description Whether issues are enabled. - * @default true + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: null | components["schemas"]["simple-user"]; + /** @description An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: null | components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + }; + /** branch protection configuration disabled event */ + "webhook-branch-protection-configuration-disabled": { + /** @enum {string} */ + action: "disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection configuration enabled event */ + "webhook-branch-protection-configuration-enabled": { + /** @enum {string} */ + action: "enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection rule created event */ + "webhook-branch-protection-rule-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection rule deleted event */ + "webhook-branch-protection-rule-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection rule edited event */ + "webhook-branch-protection-rule-edited": { + /** @enum {string} */ + action: "edited"; + /** @description If the action was `edited`, the changes to the rule. */ + changes?: { + admin_enforced?: { + from: boolean | null; + }; + authorized_actor_names?: { + from: string[]; + }; + authorized_actors_only?: { + from: boolean | null; + }; + authorized_dismissal_actors_only?: { + from: boolean | null; + }; + linear_history_requirement_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + required_status_checks?: { + from: string[]; + }; + required_status_checks_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Check Run Completed Event */ + "webhook-check-run-completed": { + /** @enum {string} */ + action?: "completed"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Completed Event + * @description The check_run.completed webhook encoded with URL encoding + */ + "webhook-check-run-completed-form-encoded": { + /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Created Event */ + "webhook-check-run-created": { + /** @enum {string} */ + action?: "created"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Created Event + * @description The check_run.created webhook encoded with URL encoding + */ + "webhook-check-run-created-form-encoded": { + /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Requested Action Event */ + "webhook-check-run-requested-action": { + /** @enum {string} */ + action: "requested_action"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** @description The action requested by the user. */ + requested_action?: { + /** @description The integrator reference of the action requested by the user. */ + identifier?: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Requested Action Event + * @description The check_run.requested_action webhook encoded with URL encoding + */ + "webhook-check-run-requested-action-form-encoded": { + /** @description A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Re-Requested Event */ + "webhook-check-run-rerequested": { + /** @enum {string} */ + action?: "rerequested"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Re-Requested Event + * @description The check_run.rerequested webhook encoded with URL encoding + */ + "webhook-check-run-rerequested-form-encoded": { + /** @description A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** check_suite completed event */ + "webhook-check-suite-completed": { + /** @enum {string} */ + action: "completed"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_group" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "projects_v2_item" | "secret_scanning_alert_location")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has `completed`. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null | "pending"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** check_suite requested event */ + "webhook-check-suite-requested": { + /** @enum {string} */ + action: "requested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "secret_scanning_alert_location" | "projects_v2_item" | "merge_group" | "repository_import")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** check_suite rerequested event */ + "webhook-check-suite-rerequested": { + /** @enum {string} */ + action: "rerequested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert appeared_in_branch event */ + "webhook-code-scanning-alert-appeared-in-branch": { + /** @enum {string} */ + action: "appeared_in_branch"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert closed_by_user event */ + "webhook-code-scanning-alert-closed-by-user": { + /** @enum {string} */ + action: "closed_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "dismissed" | "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert created event */ + "webhook-code-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string | null; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: null; + dismissed_by: null; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: null; + fixed_at?: null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + } | null; + updated_at?: string | null; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert fixed event */ + "webhook-code-scanning-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Format: uri */ + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert reopened event */ + "webhook-code-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: string | null; + dismissed_by: Record | null; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: string | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + } | null; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string | null; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert reopened_by_user event */ + "webhook-code-scanning-alert-reopened-by-user": { + /** @enum {string} */ + action: "reopened_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: null; + dismissed_by: null; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "fixed"; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** commit_comment created event */ + "webhook-commit-comment-created": { + /** + * @description The action performed. Can be `created`. + * @enum {string} + */ + action: "created"; + /** @description The [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment) resource. */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + created_at: string; + /** Format: uri */ + html_url: string; + /** @description The ID of the commit comment. */ + id: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the commit comment. */ + node_id: string; + /** @description The relative path of the file to which the comment applies. */ + path: string | null; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** create event */ + "webhook-create": { + /** @description The repository's current description. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The name of the repository's default branch (usually `main`). */ + master_branch: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + ref: string; + /** + * @description The type of Git ref object created in the repository. + * @enum {string} */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** delete event */ + "webhook-delete": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + ref: string; + /** + * @description The type of Git ref object deleted in the repository. + * @enum {string} */ - has_projects: boolean; + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert auto-dismissed event */ + "webhook-dependabot-alert-auto-dismissed": { + /** @enum {string} */ + action: "auto_dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert auto-reopened event */ + "webhook-dependabot-alert-auto-reopened": { + /** @enum {string} */ + action: "auto_reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert created event */ + "webhook-dependabot-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert dismissed event */ + "webhook-dependabot-alert-dismissed": { + /** @enum {string} */ + action: "dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert fixed event */ + "webhook-dependabot-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert reintroduced event */ + "webhook-dependabot-alert-reintroduced": { + /** @enum {string} */ + action: "reintroduced"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert reopened event */ + "webhook-dependabot-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** deploy_key created event */ + "webhook-deploy-key-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + key: { + added_by?: string | null; + created_at: string; + id: number; + key: string; + last_used?: string | null; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** deploy_key deleted event */ + "webhook-deploy-key-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + key: { + added_by?: string | null; + created_at: string; + id: number; + key: string; + last_used?: string | null; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** deployment created event */ + "webhook-deployment-created": { + /** @enum {string} */ + action: "created"; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: Record | string; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "workflow_job" | "pull_request_review_thread" | "merge_queue_entry" | "secret_scanning_alert_location" | "merge_group")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** Workflow */ + workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** deployment protection rule requested event */ + "webhook-deployment-protection-rule-requested": { + /** @enum {string} */ + action?: "requested"; + /** @description The name of the environment that has the deployment protection rule. */ + environment?: string; + /** @description The event that triggered the deployment protection rule. */ + event?: string; + /** + * Format: uri + * @description The URL to review the deployment protection rule. + */ + deployment_callback_url?: string; + deployment?: components["schemas"]["deployment"]; + pull_requests?: components["schemas"]["pull-request"][]; + repository?: components["schemas"]["repository-webhooks"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + "webhook-deployment-review-approved": { + /** @enum {string} */ + action: "approved"; + approver?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User"; + }[]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run?: { + conclusion: null; + created_at: string; + environment: string; + html_url: string; + id: number; + name: null; + status: string; + updated_at: string; + }; + workflow_job_runs?: { + conclusion?: null; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + "webhook-deployment-review-rejected": { + /** @enum {string} */ + action: "rejected"; + approver?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User"; + }[]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run?: { + conclusion: null; + created_at: string; + environment: string; + html_url: string; + id: number; + name: null; + status: string; + updated_at: string; + }; + workflow_job_runs?: { + conclusion?: string | null; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + "webhook-deployment-review-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + environment: string; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requestor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + reviewers: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User" | "Team"; + }[]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run: { + conclusion: null; + created_at: string; + environment: string; + html_url: string; + id: number; + name: string | null; + status: string; + updated_at: string; + }; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record | null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + /** deployment_status created event */ + "webhook-deployment-status-created": { + /** @enum {string} */ + action: "created"; + check_run?: { + /** Format: date-time */ + completed_at: string | null; + /** + * @description The result of the completed check run. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | null; + /** Format: uri */ + details_url: string; + external_id: string; + /** @description The SHA of the commit that is being checked. */ + head_sha: string; + /** Format: uri */ + html_url: string; + /** @description The id of the check. */ + id: number; + /** @description The name of the check run. */ + name: string; + node_id: string; + /** Format: date-time */ + started_at: string; + /** + * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; + /** Format: uri */ + url: string; + } | null; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: (null | Record) & (string | Record); + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_queue_entry" | "workflow_job" | "pull_request_review_thread" | "secret_scanning_alert_location" | "merge_group")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + /** @description The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses). */ + deployment_status: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + deployment_url: string; + /** @description The optional human-readable description added to the status. */ + description: string; + environment: string; + /** Format: uri */ + environment_url?: string; + id: number; + /** Format: uri */ + log_url?: string; + node_id: string; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job" | "merge_group" | "secret_scanning_alert_location")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + /** Format: uri */ + repository_url: string; + /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ + state: string; + /** @description The optional link added to the status. */ + target_url: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** Workflow */ + workflow?: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + /** Deployment Workflow Run */ + workflow_run?: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "startup_failure"; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: null; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** discussion answered event */ + "webhook-discussion-answered": { + /** @enum {string} */ + action: "answered"; + answer: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + /** Format: date-time */ + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion category changed event */ + "webhook-discussion-category-changed": { + /** @enum {string} */ + action: "category_changed"; + changes: { + category: { + from: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion closed event */ + "webhook-discussion-closed": { + /** @enum {string} */ + action: "closed"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion_comment created event */ + "webhook-discussion-comment-created": { + /** @enum {string} */ + action: "created"; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: number | null; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion_comment deleted event */ + "webhook-discussion-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: number | null; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion_comment edited event */ + "webhook-discussion-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body: { + from: string; + }; + }; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: number | null; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion created event */ + "webhook-discussion-created": { + /** @enum {string} */ + action: "created"; + discussion: { + active_lock_reason: string | null; + answer_chosen_at: string | null; + /** User */ + answer_chosen_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + answer_html_url: string | null; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string | null; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: null; + answer_chosen_at: null; + answer_chosen_by: null; + answer_html_url: string | null; + author_association?: string; + body?: string | null; + category?: { + created_at?: string; + description?: string; + emoji?: string; + id?: number; + is_answerable?: boolean; + name?: string; + node_id?: string; + repository_id?: number; + slug?: string; + updated_at?: string; + }; + comments?: number; + created_at?: string; + html_url?: string; + id?: number; + /** @enum {boolean} */ + locked: false; + node_id?: string; + number?: number; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "open" | "converting" | "transferring"; + timeline_url?: string; + title?: string; + updated_at?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion deleted event */ + "webhook-discussion-deleted": { + /** @enum {string} */ + action: "deleted"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion edited event */ + "webhook-discussion-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from: string; + }; + title?: { + from: string; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion labeled event */ + "webhook-discussion-labeled": { + /** @enum {string} */ + action: "labeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion locked event */ + "webhook-discussion-locked": { + /** @enum {string} */ + action: "locked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion pinned event */ + "webhook-discussion-pinned": { + /** @enum {string} */ + action: "pinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion reopened event */ + "webhook-discussion-reopened": { + /** @enum {string} */ + action: "reopened"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion transferred event */ + "webhook-discussion-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + new_discussion: components["schemas"]["discussion"]; + new_repository: components["schemas"]["repository-webhooks"]; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion unanswered event */ + "webhook-discussion-unanswered": { + /** @enum {string} */ + action: "unanswered"; + discussion: components["schemas"]["discussion"]; + old_answer: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + /** Format: date-time */ + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion unlabeled event */ + "webhook-discussion-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion unlocked event */ + "webhook-discussion-unlocked": { + /** @enum {string} */ + action: "unlocked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion unpinned event */ + "webhook-discussion-unpinned": { + /** @enum {string} */ + action: "unpinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * fork event + * @description A user forks a repository. + */ + "webhook-fork": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. */ + forkee: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } & { + allow_forking?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + deployments_url?: string; + description?: string | null; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + /** @enum {boolean} */ + fork?: true; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: string | null; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: null; + languages_url?: string; + license?: Record | null; + merges_url?: string; + milestones_url?: string; + mirror_url?: null; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + public?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: null[]; + trees_url?: string; + updated_at?: string; + url?: string; + visibility?: string; + watchers?: number; + watchers_count?: number; + }; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** github_app_authorization revoked event */ + "webhook-github-app-authorization-revoked": { + /** @enum {string} */ + action: "revoked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** gollum event */ + "webhook-gollum": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The pages that were updated. */ + pages: { + /** + * @description The action that was performed on the page. Can be `created` or `edited`. + * @enum {string} + */ + action: "created" | "edited"; + /** + * Format: uri + * @description Points to the HTML wiki page. + */ + html_url: string; + /** @description The name of the page. */ + page_name: string; + /** @description The latest commit SHA of the page. */ + sha: string; + summary: string | null; + /** @description The current page title. */ + title: string; + }[]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation created event */ + "webhook-installation-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + /** User */ + requester?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation deleted event */ + "webhook-installation-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: null; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation new_permissions_accepted event */ + "webhook-installation-new-permissions-accepted": { + /** @enum {string} */ + action: "new_permissions_accepted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: null; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation_repositories added event */ + "webhook-installation-repositories-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects, which were added to the installation. */ + repositories_added: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name?: string; + /** @description Unique identifier of the repository */ + id?: number; + /** @description The name of the repository. */ + name?: string; + node_id?: string; + /** @description Whether the repository is private or public. */ + private?: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; /** - * @description Whether the wiki is enabled. - * @default true + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} */ - has_wiki: boolean; + repository_selection: "all" | "selected"; + /** User */ + requester: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation_repositories removed event */ + "webhook-installation-repositories-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects, which were added to the installation. */ + repositories_added: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; /** - * @description Whether discussions are enabled. - * @default false + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + repository_selection: "all" | "selected"; + /** User */ + requester: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation suspend event */ + "webhook-installation-suspend": { + /** @enum {string} */ + action: "suspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: null; + sender: components["schemas"]["simple-user-webhooks"]; + }; + "webhook-installation-target-renamed": { + account: { + archived_at?: string | null; + avatar_url: string; + created_at?: string; + description?: null; + events_url?: string; + followers?: number; + followers_url?: string; + following?: number; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + has_organization_projects?: boolean; + has_repository_projects?: boolean; + hooks_url?: string; + html_url: string; + id: number; + is_verified?: boolean; + issues_url?: string; + login?: string; + members_url?: string; + name?: string; + node_id: string; + organizations_url?: string; + public_gists?: number; + public_members_url?: string; + public_repos?: number; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + slug?: string; + starred_url?: string; + subscriptions_url?: string; + type?: string; + updated_at?: string; + url?: string; + website_url?: null; + }; + /** @enum {string} */ + action: "renamed"; + changes: { + login?: { + from: string; + }; + slug?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + target_type: string; + }; + /** installation unsuspend event */ + "webhook-installation-unsuspend": { + /** @enum {string} */ + action: "unsuspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: null; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issue_comment created event */ + "webhook-issue-comment-created": { + /** @enum {string} */ + action: "created"; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: null | components["schemas"]["integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issue_comment deleted event */ + "webhook-issue-comment-deleted": { + /** @enum {string} */ + action: "deleted"; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: null | components["schemas"]["integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issue_comment edited event */ + "webhook-issue-comment-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the comment. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: null | components["schemas"]["integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues assigned event */ + "webhook-issues-assigned": { /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @description The action that was performed. * @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + action: "assigned"; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues closed event */ + "webhook-issues-closed": { /** - * Format: uri - * @description URL for the team + * @description The action that was performed. + * @enum {string} */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (Record | null)[]; + labels_url?: string; + locked?: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "closed" | "open"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues deleted event */ + "webhook-issues-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues demilestoned event */ + "webhook-issues-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (Record | null)[]; + labels_url?: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** push event */ - "webhook-push": { - /** @description The SHA of the most recent commit on `ref` after the push. */ - after: string; - base_ref: string | null; - /** @description The SHA of the most recent commit on `ref` before the push. */ - before: string; - /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 20 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. This limit is applied to timeline events only and isn't applied to webhook deliveries. */ - commits: ({ - /** @description An array of files added in the commit. */ - added?: string[]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description Whether this commit is distinct from any that have been pushed before. */ - distinct: boolean; - id: string; - /** @description The commit message. */ - message: string; - /** @description An array of files modified by the commit. */ - modified?: string[]; - /** @description An array of files removed in the commit. */ - removed?: string[]; - /** - * Format: date-time - * @description The ISO 8601 timestamp of the commit. - */ - timestamp: string; - tree_id: string; - /** - * Format: uri - * @description URL that points to the commit API resource. - */ - url: string; - })[]; - /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ - compare: string; - /** @description Whether this push created the `ref`. */ - created: boolean; - /** @description Whether this push deleted the `ref`. */ - deleted: boolean; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description Whether this push was a force push of the `ref`. */ - forced: boolean; - /** Commit */ - head_commit: ({ - /** @description An array of files added in the commit. */ - added?: string[]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description Whether this commit is distinct from any that have been pushed before. */ - distinct: boolean; - id: string; - /** @description The commit message. */ - message: string; - /** @description An array of files modified by the commit. */ - modified?: string[]; - /** @description An array of files removed in the commit. */ - removed?: string[]; - /** - * Format: date-time - * @description The ISO 8601 timestamp of the commit. - */ - timestamp: string; - tree_id: string; - /** - * Format: uri - * @description URL that points to the commit API resource. - */ - url: string; - }) | null; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - pusher: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email?: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ - ref: string; - /** - * Repository - * @description A git repository - */ - repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-registry-package-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - registry_package: { - created_at: string | null; - description: string | null; - ecosystem: string; - html_url: string; - id: number; - name: string; - namespace: string; - owner: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - package_type: string; - package_version: ({ - author?: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - body?: string | Record; - body_html?: string; - container_metadata?: { - labels?: Record | null; - manifest?: Record | null; - tag?: { - digest?: string; - name?: string; - }; - }; - created_at?: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - npm_metadata?: ({ - name?: string; - version?: string; - npm_user?: string; - author?: string | Record | null; - bugs?: string | Record | null; - dependencies?: Record; - dev_dependencies?: Record; - peer_dependencies?: Record; - optional_dependencies?: Record; - description?: string; - dist?: string | Record | null; - git_head?: string; - homepage?: string; - license?: string; - main?: string; - repository?: string | Record | null; - scripts?: Record; - id?: string; - node_version?: string; - npm_version?: string; - has_shrinkwrap?: boolean; - maintainers?: string[]; - contributors?: string[]; - engines?: Record; - keywords?: string[]; - files?: string[]; - bin?: Record; - man?: Record; - directories?: string | Record | null; - os?: string[]; - cpu?: string[]; - readme?: string; - installation_command?: string; - release_id?: number; - commit_oid?: string; - published_via_actions?: boolean; - deleted_by_id?: number; - }) | null; - nuget_metadata?: (({ - id?: string | Record | number | null; - name?: string; - value?: OneOf<[boolean, string, number, { + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone?: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues edited event */ + "webhook-issues-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the issue. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + title?: { + /** @description The previous version of the title. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues labeled event */ + "webhook-issues-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues locked event */ + "webhook-issues-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "security_and_analysis")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + } & { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + assignee?: Record | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (Record | null)[]; + labels_url?: string; + /** @enum {boolean} */ + locked: true; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; url?: string; - branch?: string; - commit?: string; - type?: string; - }]>; - })[]) | null; - package_files: ({ - content_type: string; - created_at: string; - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string | null; - size: number; - state: string | null; - updated_at: string; - })[]; - package_url: string; - prerelease?: boolean; - release?: { - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; }; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - prerelease?: boolean; - published_at?: string; - tag_name?: string; - target_commitish?: string; - url?: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - summary: string; - tag_name?: string; - target_commitish?: string; - target_oid?: string; - updated_at?: string; - version: string; - }) | null; - registry: { - about_url?: string; - name?: string; - type?: string; - url?: string; - vendor?: string; - } | null; - updated_at: string | null; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-registry-package-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - registry_package: { - created_at: string; - description: null; - ecosystem: string; - html_url: string; - id: number; - name: string; - namespace: string; - owner: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - package_type: string; - package_version: { - author: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - body: string; - body_html: string; - created_at: string; - description: string; - docker_metadata?: ({ - tags?: string[]; - } | null)[]; - draft?: boolean; - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - package_files: ({ - content_type?: string; - created_at?: string; - download_url?: string; - id?: number; - md5?: string | null; - name?: string; - sha1?: string | null; - sha256?: string; - size?: number; - state?: string; - updated_at?: string; - })[]; - package_url: string; - prerelease?: boolean; - release?: { - author: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues milestoned event */ + "webhook-issues-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (Record | null)[]; + labels_url?: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; }; - created_at: string; - draft: boolean; - html_url: string; - id: number; - name: string; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - summary: string; - tag_name?: string; - target_commitish: string; - target_oid: string; - updated_at: string; - version: string; - }; - registry: Record | null; - updated_at: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** release created event */ - "webhook-release-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** release deleted event */ - "webhook-release-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** release edited event */ - "webhook-release-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - make_latest?: { - /** @description Whether this release was explicitly `edited` to be the latest. */ - to: boolean; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release prereleased event */ - "webhook-release-prereleased": { - /** @enum {string} */ - action: "prereleased"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: ({ - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }) & ({ - assets?: (Record | null)[]; - assets_url?: string; - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - body?: string | null; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - node_id?: string; - /** - * @description Whether the release is identified as a prerelease or a full release. - * @enum {boolean} - */ - prerelease: true; - published_at?: string | null; - tag_name?: string; - tarball_url?: string | null; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: string | null; - }); - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release published event */ - "webhook-release-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: ({ - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }) & ({ - assets?: (Record | null)[]; - assets_url?: string; - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - body?: string | null; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - node_id?: string; - prerelease?: boolean; - /** Format: date-time */ - published_at: string | null; - tag_name?: string; - tarball_url?: string | null; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: string | null; - }); - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release released event */ - "webhook-release-released": { - /** @enum {string} */ - action: "released"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release unpublished event */ - "webhook-release-unpublished": { - /** @enum {string} */ - action: "unpublished"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: ({ - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }) & ({ - assets?: (Record | null)[]; - assets_url?: string; - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - body?: string | null; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - node_id?: string; - prerelease?: boolean; - published_at: string | null; - tag_name?: string; - tarball_url?: string | null; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: string | null; - }); - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** Repository advisory published event */ - "webhook-repository-advisory-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - repository_advisory: components["schemas"]["repository-advisory"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** Repository advisory reported event */ - "webhook-repository-advisory-reported": { - /** @enum {string} */ - action: "reported"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - repository_advisory: components["schemas"]["repository-advisory"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** repository archived event */ - "webhook-repository-archived": { - /** @enum {string} */ - action: "archived"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository created event */ - "webhook-repository-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository deleted event */ - "webhook-repository-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_dispatch event */ - "webhook-repository-dispatch-sample": { - /** @enum {string} */ - action: "sample.collected"; - branch: string; - client_payload: { - [key: string]: unknown; - } | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository edited event */ - "webhook-repository-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - default_branch?: { - from: string; - }; - description?: { - from: string | null; - }; - homepage?: { - from: string | null; - }; - topics?: { - from?: string[] | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_import event */ - "webhook-repository-import": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @enum {string} */ - status: "success" | "cancelled" | "failure"; - }; - /** repository privatized event */ - "webhook-repository-privatized": { - /** @enum {string} */ - action: "privatized"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository publicized event */ - "webhook-repository-publicized": { - /** @enum {string} */ - action: "publicized"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository renamed event */ - "webhook-repository-renamed": { - /** @enum {string} */ - action: "renamed"; - changes: { - repository: { - name: { - from: string; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository ruleset created event */ - "webhook-repository-ruleset-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository ruleset deleted event */ - "webhook-repository-ruleset-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository ruleset edited event */ - "webhook-repository-ruleset-edited": { - /** @enum {string} */ - action: "edited"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - changes?: { - name?: { - from?: string; - }; - enforcement?: { - from?: string; - }; - conditions?: { - added?: components["schemas"]["repository-ruleset-conditions"][]; - deleted?: components["schemas"]["repository-ruleset-conditions"][]; - updated?: { - condition?: components["schemas"]["repository-ruleset-conditions"]; - changes?: { - condition_type?: { - from?: string; - }; - target?: { - from?: string; - }; - include?: { - from?: string[]; - }; - exclude?: { - from?: string[]; - }; - }; - }[]; + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - rules?: { - added?: components["schemas"]["repository-rule"][]; - deleted?: components["schemas"]["repository-rule"][]; - updated?: { - rule?: components["schemas"]["repository-rule"]; - changes?: { - configuration?: { - from?: string; + /** issues opened event */ + "webhook-issues-opened": { + /** @enum {string} */ + action: "opened"; + changes?: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + old_issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + } | null; + /** + * Repository + * @description A git repository + */ + old_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** @description Whether the repository has discussions enabled. */ + has_discussions?: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require commit signoff. */ + web_commit_signoff_required?: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues pinned event */ + "webhook-issues-pinned": { + /** @enum {string} */ + action: "pinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues reopened event */ + "webhook-issues-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; }; - rule_type?: { - from?: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (Record | null)[]; + labels_url?: string; + locked?: boolean; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record | null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; }; - pattern?: { - from?: string; + repository_url?: string; + /** @enum {string} */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; }; - }; - }[]; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository transferred event */ - "webhook-repository-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - owner: { - from: { - /** Organization */ - organization?: { - /** Format: uri */ - avatar_url: string; - description: string | null; - /** Format: uri */ - events_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url?: string; - id: number; - /** Format: uri */ - issues_url: string; - login: string; - /** Format: uri-template */ - members_url: string; - node_id: string; - /** Format: uri-template */ - public_members_url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - url: string; + /** issues transferred event */ + "webhook-issues-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + new_issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** + * Repository + * @description A git repository + */ + new_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues unassigned event */ + "webhook-issues-unassigned": { + /** + * @description The action that was performed. + * @enum {string} + */ + action: "unassigned"; /** User */ - user?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository unarchived event */ - "webhook-repository-unarchived": { - /** @enum {string} */ - action: "unarchived"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert create event */ - "webhook-repository-vulnerability-alert-create": { - /** @enum {string} */ - action: "create"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & ({ - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: string | null; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "open"; - }); - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert dismiss event */ - "webhook-repository-vulnerability-alert-dismiss": { - /** @enum {string} */ - action: "dismiss"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_comment?: string | null; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & ({ - affected_package_name?: string; - affected_range?: string; - created_at?: string; - dismiss_comment?: string | null; - dismiss_reason: string; - dismissed_at: string; - /** User */ - dismisser: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - external_identifier?: string; - external_reference?: string | null; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "dismissed"; - }); - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert reopen event */ - "webhook-repository-vulnerability-alert-reopen": { - /** @enum {string} */ - action: "reopen"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & ({ - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: string | null; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "open"; - }); - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert resolve event */ - "webhook-repository-vulnerability-alert-resolve": { - /** @enum {string} */ - action: "resolve"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & ({ - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "fixed" | "open"; - }); - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** secret_scanning_alert created event */ - "webhook-secret-scanning-alert-created": { - /** @enum {string} */ - action: "created"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** Secret Scanning Alert Location Created Event */ - "webhook-secret-scanning-alert-location-created": { - /** @enum {string} */ - action?: "created"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - installation?: components["schemas"]["simple-installation"]; - location: components["schemas"]["secret-scanning-location"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Secret Scanning Alert Location Created Event */ - "webhook-secret-scanning-alert-location-created-form-encoded": { - /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** secret_scanning_alert reopened event */ - "webhook-secret-scanning-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** secret_scanning_alert resolved event */ - "webhook-secret-scanning-alert-resolved": { - /** @enum {string} */ - action: "resolved"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** secret_scanning_alert revoked event */ - "webhook-secret-scanning-alert-revoked": { - /** @enum {string} */ - action: "revoked"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_advisory published event */ - "webhook-security-advisory-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: string | null; - }; - cwes: { - cwe_id: string; - name: string; - }[]; - description: string; - ghsa_id: string; - identifiers: { - type: string; - value: string; - }[]; - published_at: string; - references: { - /** Format: uri */ - url: string; - }[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: ({ - first_patched_version: { - identifier: string; - } | null; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - })[]; - withdrawn_at: string | null; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_advisory updated event */ - "webhook-security-advisory-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: string | null; - }; - cwes: { - cwe_id: string; - name: string; - }[]; - description: string; - ghsa_id: string; - identifiers: { - type: string; - value: string; - }[]; - published_at: string; - references: { - /** Format: uri */ - url: string; - }[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: ({ - first_patched_version: { - identifier: string; - } | null; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - })[]; - withdrawn_at: string | null; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_advisory withdrawn event */ - "webhook-security-advisory-withdrawn": { - /** @enum {string} */ - action: "withdrawn"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: string | null; - }; - cwes: { - cwe_id: string; - name: string; - }[]; - description: string; - ghsa_id: string; - identifiers: { - type: string; - value: string; - }[]; - published_at: string; - references: { - /** Format: uri */ - url: string; - }[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: ({ - first_patched_version: { - identifier: string; - } | null; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - })[]; - withdrawn_at: string; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_and_analysis event */ - "webhook-security-and-analysis": { - changes: { - from?: { - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["full-repository"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** sponsorship cancelled event */ - "webhook-sponsorship-cancelled": { - /** @enum {string} */ - action: "cancelled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship created event */ - "webhook-sponsorship-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship edited event */ - "webhook-sponsorship-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - privacy_level?: { - /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship pending_cancellation event */ - "webhook-sponsorship-pending-cancellation": { - /** @enum {string} */ - action: "pending_cancellation"; - /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ - effective_date?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship pending_tier_change event */ - "webhook-sponsorship-pending-tier-change": { - /** @enum {string} */ - action: "pending_tier_change"; - changes: { - tier: { - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - from: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ - effective_date?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship tier_changed event */ - "webhook-sponsorship-tier-changed": { - /** @enum {string} */ - action: "tier_changed"; - changes: { - tier: { - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - from: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** star created event */ - "webhook-star-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ - starred_at: string | null; - }; - /** star deleted event */ - "webhook-star-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ - starred_at: null; - }; - /** status event */ - "webhook-status": { - /** Format: uri */ - avatar_url?: string | null; - /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ - branches: ({ - commit: { - sha: string | null; - /** Format: uri */ - url: string | null; - }; - name: string; - protected: boolean; - })[]; - commit: { - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id?: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - comments_url: string; - commit: { - author: ({ - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }) & { - date: string; - email?: string; - name?: string; - }; - comment_count: number; - committer: ({ - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }) & { - date: string; - email?: string; - name?: string; - }; - message: string; - tree: { - sha: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - url: string; - verification: { - payload: string | null; - /** @enum {string} */ - reason: "expired_key" | "not_signing_key" | "gpgverify_error" | "gpgverify_unavailable" | "unsigned" | "unknown_signature_type" | "no_user" | "unverified_email" | "bad_email" | "unknown_key" | "malformed_signature" | "invalid" | "valid" | "bad_cert" | "ocsp_pending"; - signature: string | null; - verified: boolean; - }; - }; - /** User */ - committer: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id?: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - node_id: string; - parents: { - /** Format: uri */ - html_url: string; - sha: string; - /** Format: uri */ - url: string; - }[]; - sha: string; - /** Format: uri */ - url: string; - }; - context: string; - created_at: string; - /** @description The optional human-readable description added to the status. */ - description: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The unique identifier of the status. */ - id: number; - installation?: components["schemas"]["simple-installation"]; - name: string; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @description The Commit SHA. */ - sha: string; - /** - * @description The new state. Can be `pending`, `success`, `failure`, or `error`. - * @enum {string} - */ - state: "pending" | "success" | "failure" | "error"; - /** @description The optional link added to the status. */ - target_url: string | null; - updated_at: string; - }; - /** team_add event */ - "webhook-team-add": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team added_to_repository event */ - "webhook-team-added-to-repository": { - /** @enum {string} */ - action: "added_to_repository"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team created event */ - "webhook-team-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team deleted event */ - "webhook-team-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team edited event */ - "webhook-team-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the team if the action was `edited`. */ - changes: { - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - privacy?: { - /** @description The previous version of the team's privacy if the action was `edited`. */ - from: string; - }; - notification_setting?: { - /** @description The previous version of the team's notification setting if the action was `edited`. */ - from: string; - }; - repository?: { - permissions: { - from: { - /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ - admin?: boolean; - /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ - pull?: boolean; - /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ - push?: boolean; - }; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team removed_from_repository event */ - "webhook-team-removed-from-repository": { - /** @enum {string} */ - action: "removed_from_repository"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** watch started event */ - "webhook-watch-started": { - /** @enum {string} */ - action: "started"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** workflow_dispatch event */ - "webhook-workflow-dispatch": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - inputs: { - [key: string]: unknown; - } | null; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow: string; - }; - /** workflow_job completed event */ - "webhook-workflow-job-completed": { - /** @enum {string} */ - action: "completed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: ({ - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "success" | "failure" | null | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_id: number | null; - /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_name: string | null; - /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_id: number | null; - /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_name: string | null; - started_at: string; - /** - * @description The current status of the job. Can be `queued`, `in_progress`, `waiting`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "waiting"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: ({ - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued"; - })[]; - /** Format: uri */ - url: string; - }) & ({ - check_run_url?: string; - completed_at?: string; - /** @enum {string} */ - conclusion: "success" | "failure" | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; - /** @description The time that the job created. */ - created_at?: string; - head_sha?: string; - html_url?: string; - id?: number; - labels?: (string | null)[]; - name?: string; - node_id?: string; - run_attempt?: number; - run_id?: number; - run_url?: string; - runner_group_id?: number | null; - runner_group_name?: string | null; - runner_id?: number | null; - runner_name?: string | null; - started_at?: string; - status?: string; - /** @description The name of the current branch. */ - head_branch?: string | null; - /** @description The name of the workflow. */ - workflow_name?: string | null; - steps?: (Record | null)[]; - url?: string; - }); - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job in_progress event */ - "webhook-workflow-job-in-progress": { - /** @enum {string} */ - action: "in_progress"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: ({ - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "success" | "failure" | null | "cancelled" | "neutral"; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_id: number | null; - /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_name: string | null; - /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_id: number | null; - /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_name: string | null; - started_at: string; - /** - * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: ({ - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | null | "cancelled"; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued" | "pending"; - })[]; - /** Format: uri */ - url: string; - }) & ({ - check_run_url?: string; - completed_at?: string | null; - conclusion?: string | null; - /** @description The time that the job created. */ - created_at?: string; - head_sha?: string; - html_url?: string; - id?: number; - labels?: string[]; - name?: string; - node_id?: string; - run_attempt?: number; - run_id?: number; - run_url?: string; - runner_group_id?: number | null; - runner_group_name?: string | null; - runner_id?: number | null; - runner_name?: string | null; - started_at?: string; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued"; - /** @description The name of the current branch. */ - head_branch?: string | null; - /** @description The name of the workflow. */ - workflow_name?: string | null; - steps: ({ - completed_at: string | null; - conclusion: string | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "pending" | "queued"; - })[]; - url?: string; - }); - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job queued event */ - "webhook-workflow-job-queued": { - /** @enum {string} */ - action: "queued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - conclusion: string | null; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - runner_group_id: number | null; - runner_group_name: string | null; - runner_id: number | null; - runner_name: string | null; - /** Format: date-time */ - started_at: string; - /** @enum {string} */ - status: "queued" | "in_progress" | "completed" | "waiting"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: ({ - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "completed" | "in_progress" | "queued" | "pending"; - })[]; - /** Format: uri */ - url: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job waiting event */ - "webhook-workflow-job-waiting": { - /** @enum {string} */ - action: "waiting"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - conclusion: string | null; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - runner_group_id: number | null; - runner_group_name: string | null; - runner_id: number | null; - runner_name: string | null; - /** Format: date-time */ - started_at: string; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - /** @enum {string} */ - status: "queued" | "in_progress" | "completed" | "waiting"; - steps: ({ - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "completed" | "in_progress" | "queued" | "pending" | "waiting"; - })[]; - /** Format: uri */ - url: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_run completed event */ - "webhook-workflow-run-completed": { - /** @enum {string} */ - action: "completed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped"; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; - name: string; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ url: string; - }; - sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; }; - head: { - ref: string; - /** Repo Ref */ - repo: { + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues unlabeled event */ + "webhook-issues-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; id: number; + /** @description The name of the label. */ name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues unlocked event */ + "webhook-issues-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ url: string; - }; - sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason: null; + assignee?: Record | null; + assignees?: (Record | null)[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: (Record | null)[]; + labels_url?: string; + /** @enum {boolean} */ + locked: false; + milestone?: Record | null; + node_id?: string; + number?: number; + performed_via_github_app?: null; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - }) & ({ - actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - artifacts_url?: string; - cancel_url?: string; - check_suite_id?: number; - check_suite_node_id?: string; - check_suite_url?: string; - /** @enum {string} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped"; - created_at?: string; - event?: string; - head_branch?: string | null; - head_commit?: { - author?: { - email?: string; - name?: string; - }; - committer?: { - email?: string; - name?: string; - }; - id?: string; - message?: string; - timestamp?: string; - tree_id?: string; - }; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha?: string; - html_url?: string; - id?: number; - jobs_url?: string; - logs_url?: string; - name?: string | null; - node_id?: string; - path?: string; - previous_attempt_url?: string | null; - pull_requests?: (Record | null)[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt?: number; - run_number?: number; - run_started_at?: string; - status?: string; - triggering_actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - } | null; - updated_at?: string; - url?: string; - workflow_id?: number; - workflow_url?: string; - }); - }; - /** workflow_run in_progress event */ - "webhook-workflow-run-in-progress": { - /** @enum {string} */ - action: "in_progress"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues unpinned event */ + "webhook-issues-unpinned": { + /** @enum {string} */ + action: "unpinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** label created event */ + "webhook-label-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** label deleted event */ + "webhook-label-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** label edited event */ + "webhook-label-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the label if the action was `edited`. */ + changes?: { + color?: { + /** @description The previous version of the color if the action was `edited`. */ + from: string; + }; + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** marketplace_purchase cancelled event */ + "webhook-marketplace-purchase-cancelled": { + /** @enum {string} */ + action: "cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { + id?: number; + login?: string; + node_id?: string; + organization_billing_email?: string | null; + type?: string; + }; + billing_cycle?: string; + free_trial_ends_on?: string | null; + next_billing_date: string | null; + on_free_trial?: boolean; + plan?: { + bullets?: (string | null)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; + name?: string; + /** @enum {string} */ + price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name?: string | null; + yearly_price_in_cents?: number; + }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** marketplace_purchase changed event */ + "webhook-marketplace-purchase-changed": { + /** @enum {string} */ + action: "changed"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { + id?: number; + login?: string; + node_id?: string; + organization_billing_email?: string | null; + type?: string; + }; + billing_cycle?: string; + free_trial_ends_on?: string | null; + next_billing_date: string | null; + on_free_trial?: boolean; + plan?: { + bullets?: (string | null)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; + name?: string; + /** @enum {string} */ + price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name?: string | null; + yearly_price_in_cents?: number; + }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean | null; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** marketplace_purchase pending_change event */ + "webhook-marketplace-purchase-pending-change": { + /** @enum {string} */ + action: "pending_change"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { + id?: number; + login?: string; + node_id?: string; + organization_billing_email?: string | null; + type?: string; + }; + billing_cycle?: string; + free_trial_ends_on?: string | null; + next_billing_date: string | null; + on_free_trial?: boolean; + plan?: { + bullets?: (string | null)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; + name?: string; + /** @enum {string} */ + price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name?: string | null; + yearly_price_in_cents?: number; + }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** marketplace_purchase pending_change_cancelled event */ + "webhook-marketplace-purchase-pending-change-cancelled": { + /** @enum {string} */ + action: "pending_change_cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + next_billing_date: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** marketplace_purchase purchased event */ + "webhook-marketplace-purchase-purchased": { + /** @enum {string} */ + action: "purchased"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { + id?: number; + login?: string; + node_id?: string; + organization_billing_email?: string | null; + type?: string; + }; + billing_cycle?: string; + free_trial_ends_on?: string | null; + next_billing_date: string | null; + on_free_trial?: boolean; + plan?: { + bullets?: (string | null)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; + name?: string; + /** @enum {string} */ + price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name?: string | null; + yearly_price_in_cents?: number; + }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** member added event */ + "webhook-member-added": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { + action: "added"; + changes?: { + permission?: { + /** @enum {string} */ + to: "write" | "admin" | "read"; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; - name: string; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - url: string; - }; - sha: string; + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** member edited event */ + "webhook-member-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the collaborator permissions */ + changes: { + old_permission?: { + /** @description The previous permissions of the collaborator if the action was edited. */ + from: string; + }; + permission?: { + from?: string | null; + to?: string | null; + }; }; - head: { - ref: string; - /** Repo Ref */ - repo: { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; - name: string; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** member removed event */ + "webhook-member-removed": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - }) & ({ - actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - artifacts_url?: string; - cancel_url?: string; - check_suite_id?: number; - check_suite_node_id?: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "skipped" | "stale" | null; - created_at?: string; - event?: string; - head_branch?: string | null; - head_commit?: { - author?: { - email?: string; - name?: string; - }; - committer?: { - email?: string; - name?: string; - }; - id?: string; - message?: string; - timestamp?: string; - tree_id?: string; - }; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string | null; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha?: string; - html_url?: string; - id?: number; - jobs_url?: string; - logs_url?: string; - name?: string | null; - node_id?: string; - path?: string; - previous_attempt_url?: string | null; - pull_requests?: (Record | null)[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt?: number; - run_number?: number; - run_started_at?: string; - status?: string; - triggering_actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - updated_at?: string; - url?: string; - workflow_id?: number; - workflow_url?: string; - }); - }; - /** workflow_run requested event */ - "webhook-workflow-run-requested": { - /** @enum {string} */ - action: "requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - /** Workflow Run */ - workflow_run: { - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** membership added event */ + "webhook-membership-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** @enum {string} */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + }; + /** membership removed event */ + "webhook-membership-removed": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team" | "organization"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** @enum {string} */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; /** Format: uri */ - url: string; - }; - sha: string; + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; }; - head: { - ref: string; - /** Repo Ref */ - repo: { + }; + "webhook-merge-group-checks-requested": { + /** @enum {string} */ + action: "checks_requested"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + "webhook-merge-group-destroyed": { + /** @enum {string} */ + action: "destroyed"; + /** + * @description Explains why the merge group is being destroyed. The group could have been merged, removed from the queue (dequeued), or invalidated by an earlier queue entry being dequeued (invalidated). + * @enum {string} + */ + reason?: "merged" | "invalidated" | "dequeued"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** meta deleted event */ + "webhook-meta-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The modified webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ + hook: { + active: boolean; + config: { + /** @enum {string} */ + content_type: "json" | "form"; + insecure_ssl: string; + secret?: string; + /** Format: uri */ + url: string; + }; + created_at: string; + events: ("*" | "branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "create" | "delete" | "deployment" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "meta" | "milestone" | "organization" | "org_block" | "package" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "pull_request_review_thread" | "push" | "registry_package" | "release" | "repository" | "repository_import" | "repository_vulnerability_alert" | "secret_scanning_alert" | "secret_scanning_alert_location" | "security_and_analysis" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_job" | "workflow_run" | "repository_dispatch" | "projects_v2_item")[]; id: number; name: string; + type: string; + updated_at: string; + }; + /** @description The id of the modified webhook. */ + hook_id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: null | components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** milestone closed event */ + "webhook-milestone-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ url: string; - }; - sha: string; }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** milestone created event */ + "webhook-milestone-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** milestone deleted event */ + "webhook-milestone-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** milestone edited event */ + "webhook-milestone-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the milestone if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + due_on?: { + /** @description The previous version of the due date if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** milestone opened event */ + "webhook-milestone-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** org_block blocked event */ + "webhook-org-block-blocked": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - display_title: string; - }; - }; - }; - responses: { - /** @description Validation failed, or the endpoint has been spammed. */ - validation_failed_simple: { - content: { - "application/json": components["schemas"]["validation-error-simple"]; - }; - }; - /** @description Resource not found */ - not_found: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Bad Request */ - bad_request: { - content: { - "application/json": components["schemas"]["basic-error"]; - "application/scim+json": components["schemas"]["scim-error"]; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - validation_failed: { - content: { - "application/json": components["schemas"]["validation-error"]; - }; - }; - /** @description Accepted */ - accepted: { - content: { - "application/json": Record; - }; - }; - /** @description Not modified */ - not_modified: { - content: never; - }; - /** @description Requires authentication */ - requires_authentication: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Forbidden */ - forbidden: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Service unavailable */ - service_unavailable: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - }; - }; - }; - /** @description Forbidden Gist */ - forbidden_gist: { - content: { - "application/json": { - block?: { - reason?: string; - created_at?: string; - html_url?: string | null; - }; - message?: string; - documentation_url?: string; - }; - }; - }; - /** @description Moved permanently */ - moved_permanently: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Conflict */ - conflict: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response */ - actions_runner_jitconfig: { - content: { - "application/json": { - runner: components["schemas"]["runner"]; - /** @description The base64 encoded runner configuration. */ - encoded_jit_config: string; - }; - }; - }; - /** @description Response */ - actions_runner_labels: { - content: { - "application/json": { - total_count: number; - labels: components["schemas"]["runner-label"][]; - }; - }; - }; - /** @description Response */ - actions_runner_labels_readonly: { - content: { - "application/json": { - total_count: number; - labels: components["schemas"]["runner-label"][]; - }; - }; - }; - /** @description Internal Error */ - internal_error: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description The value of `per_page` multiplied by `page` cannot be greater than 10000. */ - package_es_list_error: { - content: never; - }; - /** @description A header with no content is returned. */ - no_content: { - content: never; - }; - /** @description Gone */ - gone: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Temporary Redirect */ - temporary_redirect: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if GitHub Advanced Security is not enabled for this repository */ - code_scanning_forbidden_read: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ - code_scanning_forbidden_write: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Found */ - found: { - content: never; - }; - /** @description Response if there is already a validation run in progress with a different default setup configuration */ - code_scanning_conflict: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if GitHub Advanced Security is not enabled for this repository */ - dependency_review_forbidden: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Unavailable due to service under maintenance. */ - porter_maintenance: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - parameters: { - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ - "pagination-before"?: string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ - "pagination-after"?: string; - /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; - /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ - ghsa_id: string; - /** @description The number of results per page (max 100). */ - "per-page"?: number; - /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ - cursor?: string; - "delivery-id": number; - /** @description Page number of the results to fetch. */ - page?: number; - /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: string; - /** @description The unique identifier of the installation. */ - "installation-id": number; - /** @description The client ID of the GitHub app. */ - "client-id": string; - "app-slug": string; - /** @description The unique identifier of the classroom assignment. */ - "assignment-id": number; - /** @description The unique identifier of the classroom. */ - "classroom-id": number; - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; - /** - * @description A comma-separated list of states. If specified, only alerts with these states will be returned. - * - * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` - */ - "dependabot-alert-comma-separated-states"?: string; - /** - * @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. - * - * Can be: `low`, `medium`, `high`, `critical` - */ - "dependabot-alert-comma-separated-severities"?: string; - /** - * @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. - * - * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` - */ - "dependabot-alert-comma-separated-ecosystems"?: string; - /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ - "dependabot-alert-comma-separated-packages"?: string; - /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ - "dependabot-alert-scope"?: "development" | "runtime"; - /** - * @description The property by which to sort the results. - * `created` means when the alert was created. - * `updated` means when the alert's state last changed. - */ - "dependabot-alert-sort"?: "created" | "updated"; - /** - * @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. - * This parameter must not be used in combination with `last`. - * Instead, use `per_page` in combination with `after` to fetch the first page of results. - */ - "pagination-first"?: number; - /** - * @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. - * This parameter must not be used in combination with `first`. - * Instead, use `per_page` in combination with `before` to fetch the last page of results. - */ - "pagination-last"?: number; - /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - "secret-scanning-alert-state"?: "open" | "resolved"; - /** - * @description A comma-separated list of secret types to return. By default all secret types are returned. - * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" - * for a complete list of secret types. - */ - "secret-scanning-alert-secret-type"?: string; - /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ - "secret-scanning-alert-resolution"?: string; - /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ - "secret-scanning-alert-sort"?: "created" | "updated"; - /** @description The unique identifier of the gist. */ - "gist-id": string; - /** @description The unique identifier of the comment. */ - "comment-id": number; - /** @description A list of comma separated label names. Example: `bug,ui,@high` */ - labels?: string; - /** @description account_id parameter */ - "account-id": number; - /** @description The unique identifier of the plan. */ - "plan-id": number; - /** @description The property to sort the results by. */ - sort?: "created" | "updated"; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: string; - /** @description If `true`, show notifications marked as read. */ - all?: boolean; - /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ - participating?: boolean; - /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - before?: string; - /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ - "thread-id": number; - /** @description An organization ID. Only return organizations with an ID greater than this ID. */ - "since-org"?: number; - /** @description The organization name. The name is not case sensitive. */ - org: string; - /** @description The unique identifier of the repository. */ - "repository-id": number; - /** @description Unique identifier of the self-hosted runner. */ - "runner-id": number; - /** @description The name of a self-hosted runner's custom label. */ - "runner-label-name": string; - /** @description The name of the secret. */ - "secret-name": string; - /** @description The number of results per page (max 30). */ - "variables-per-page"?: number; - /** @description The name of the variable. */ - "variable-name": string; - /** @description The handle for the GitHub user account. */ - username: string; - /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ - "tool-name"?: components["schemas"]["code-scanning-analysis-tool-name"]; - /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ - "tool-guid"?: components["schemas"]["code-scanning-analysis-tool-guid"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - "hook-id": number; - /** @description The unique identifier of the invitation. */ - "invitation-id": number; - /** @description The name of the codespace. */ - "codespace-name": string; - /** @description The unique identifier of the migration. */ - "migration-id": number; - /** @description repo_name parameter */ - "repo-name": string; - /** - * @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. - * - * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. - * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "package-visibility"?: "public" | "private" | "internal"; - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - "package-type": "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - /** @description The name of the package. */ - "package-name": string; - /** @description Unique identifier of the package version. */ - "package-version-id": number; - /** @description The property by which to sort the results. */ - "personal-access-token-sort"?: "created_at"; - /** @description A list of owner usernames to use to filter the results. */ - "personal-access-token-owner"?: string[]; - /** @description The name of the repository to use to filter the results. */ - "personal-access-token-repository"?: string; - /** @description The permission to use to filter the results. */ - "personal-access-token-permission"?: string; - /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "personal-access-token-before"?: string; - /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "personal-access-token-after"?: string; - /** @description The unique identifier of the fine-grained personal access token. */ - "fine-grained-personal-access-token-id": number; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ - "secret-scanning-pagination-before-org-repo"?: string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ - "secret-scanning-pagination-after-org-repo"?: string; - /** @description The slug of the team name. */ - "team-slug": string; - /** @description The number that identifies the discussion. */ - "discussion-number": number; - /** @description The number that identifies the comment. */ - "comment-number": number; - /** @description The unique identifier of the reaction. */ - "reaction-id": number; - /** @description The unique identifier of the project. */ - "project-id": number; - /** @description The security feature to enable or disable. */ - "security-product": "dependency_graph" | "dependabot_alerts" | "dependabot_security_updates" | "advanced_security" | "code_scanning_default_setup" | "secret_scanning" | "secret_scanning_push_protection"; - /** - * @description The action to take. - * - * `enable_all` means to enable the specified security feature for all repositories in the organization. - * `disable_all` means to disable the specified security feature for all repositories in the organization. - */ - "org-security-product-enablement": "enable_all" | "disable_all"; - /** @description The unique identifier of the card. */ - "card-id": number; - /** @description The unique identifier of the column. */ - "column-id": number; - /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ - "artifact-name"?: string; - /** @description The unique identifier of the artifact. */ - "artifact-id": number; - /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ - "actions-cache-git-ref-full"?: string; - /** @description An explicit key or prefix for identifying the cache */ - "actions-cache-key"?: string; - /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ - "actions-cache-list-sort"?: "created_at" | "last_accessed_at" | "size_in_bytes"; - /** @description A key for identifying the cache. */ - "actions-cache-key-required": string; - /** @description The unique identifier of the GitHub Actions cache. */ - "cache-id": number; - /** @description The unique identifier of the job. */ - "job-id": number; - /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ - actor?: string; - /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - "workflow-run-branch"?: string; - /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event?: string; - /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ - "workflow-run-status"?: "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting" | "pending"; - /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ - created?: string; - /** @description If `true` pull requests are omitted from the response (empty array). */ - "exclude-pull-requests"?: boolean; - /** @description Returns workflow runs with the `check_suite_id` that you specify. */ - "workflow-run-check-suite-id"?: number; - /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ - "workflow-run-head-sha"?: string; - /** @description The unique identifier of the workflow run. */ - "run-id": number; - /** @description The attempt number of the workflow run. */ - "attempt-number": number; - /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - "workflow-id": number | string; - /** @description The unique identifier of the autolink. */ - "autolink-id": number; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: string; - /** @description The unique identifier of the check run. */ - "check-run-id": number; - /** @description The unique identifier of the check suite. */ - "check-suite-id": number; - /** @description Returns check runs with the specified `name`. */ - "check-name"?: string; - /** @description Returns check runs with the specified `status`. */ - status?: "queued" | "in_progress" | "completed"; - /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ - "git-ref"?: components["schemas"]["code-scanning-ref"]; - /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ - "alert-number": components["schemas"]["alert-number"]; - /** @description The SHA of the commit. */ - "commit-sha": string; - /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - "commit-ref": string; - /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ - "dependabot-alert-comma-separated-manifests"?: string; - /** - * @description The number that identifies a Dependabot alert in its repository. - * You can find this at the end of the URL for a Dependabot alert within GitHub, - * or in `number` fields in the response from the - * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. - */ - "dependabot-alert-number": components["schemas"]["alert-number"]; - /** @description The full path, relative to the repository root, of the dependency manifest file. */ - "manifest-path"?: string; - /** @description deployment_id parameter */ - "deployment-id": number; - /** @description The name of the environment. */ - "environment-name": string; - /** @description The unique identifier of the branch policy. */ - "branch-policy-id": number; - /** @description The unique identifier of the protection rule. */ - "protection-rule-id": number; - /** @description A user ID. Only return users with an ID greater than this ID. */ - "since-user"?: number; - /** @description The number that identifies the issue. */ - "issue-number": number; - /** @description The unique identifier of the key. */ - "key-id": number; - /** @description The number that identifies the milestone. */ - "milestone-number": number; - /** @description The number that identifies the pull request. */ - "pull-number": number; - /** @description The unique identifier of the review. */ - "review-id": number; - /** @description The unique identifier of the asset. */ - "asset-id": number; - /** @description The unique identifier of the release. */ - "release-id": number; - /** @description The unique identifier of the tag protection. */ - "tag-protection-id": number; - /** @description The time frame to display results for. */ - per?: "day" | "week"; - /** @description A repository ID. Only return repositories with an ID greater than this ID. */ - "since-repo"?: number; - /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ - order?: "desc" | "asc"; - /** @description The unique identifier of the team. */ - "team-id": number; - /** @description ID of the Repository to filter on */ - "repository-id-in-query"?: number; - /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ - "export-id": string; - /** @description The unique identifier of the GPG key. */ - "gpg-key-id": number; - /** @description Only show repositories updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "since-repo-date"?: string; - /** @description Only show repositories updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "before-repo-date"?: string; - /** @description The unique identifier of the SSH signing key. */ - "ssh-signing-key-id": number; - /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ - "sort-starred"?: "created" | "updated"; - }; - requestBodies: never; - headers: { - /** @example ; rel="next", ; rel="last" */ - link: string; - /** @example text/html */ - "content-type": string; - /** @example 0.17.4 */ - "x-common-marker-version": string; - /** @example 5000 */ - "x-rate-limit-limit": number; - /** @example 4999 */ - "x-rate-limit-remaining": number; - /** @example 1590701888 */ - "x-rate-limit-reset": number; - /** @example https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D */ - location: string; - }; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export interface operations { - - /** - * GitHub API Root - * @description Get Hypermedia links to resources accessible in GitHub's REST API - */ - "meta/root": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["root"]; - }; - }; - }; - }; - /** - * List global security advisories - * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. - * - * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." - */ - "security-advisories/list-global-advisories": { - parameters: { - query?: { - /** @description If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. */ - ghsa_id?: string; - /** @description If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. */ - type?: "reviewed" | "malware" | "unreviewed"; - /** @description If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. */ - cve_id?: string; - /** @description If specified, only advisories for these ecosystems will be returned. */ - ecosystem?: "actions" | "composer" | "erlang" | "go" | "maven" | "npm" | "nuget" | "other" | "pip" | "pub" | "rubygems" | "rust"; - /** @description If specified, only advisories with these severities will be returned. */ - severity?: "unknown" | "low" | "medium" | "high" | "critical"; - /** - * @description If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. - * - * Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` - */ - cwes?: string | string[]; - /** @description Whether to only return advisories that have been withdrawn. */ - is_withdrawn?: boolean; - /** - * @description If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. - * If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. - * - * Example: `affects=package1,package2@1.0.0,package3@^2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` - */ - affects?: string | string[]; - /** - * @description If specified, only return advisories that were published on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." - */ - published?: string; - /** - * @description If specified, only return advisories that were updated on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." - */ - updated?: string; - /** - * @description If specified, only show advisories that were updated or published on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." - */ - modified?: string; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). */ - per_page?: number; - /** @description The property to sort the results by. */ - sort?: "updated" | "published"; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["global-advisory"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - /** @description Too many requests */ - 429: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Get a global security advisory - * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. - */ - "security-advisories/get-global-advisory": { - parameters: { - path: { - ghsa_id: components["parameters"]["ghsa_id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["global-advisory"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the authenticated app - * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-authenticated": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"]; - }; - }; - }; - }; - /** - * Create a GitHub App from a manifest - * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. - */ - "apps/create-from-manifest": { - parameters: { - path: { - code: string; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["integration"] & ({ - client_id: string; - client_secret: string; - webhook_secret: string | null; - pem: string; - [key: string]: unknown; - }); - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a webhook configuration for an app - * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-webhook-config-for-app": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * Update a webhook configuration for an app - * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/update-webhook-config-for-app": { - requestBody: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * List deliveries for an app webhook - * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/list-webhook-deliveries": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - cursor?: components["parameters"]["cursor"]; - redelivery?: boolean; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a delivery for an app webhook - * @description Returns a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-webhook-delivery": { - parameters: { - path: { - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Redeliver a delivery for an app webhook - * @description Redeliver a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/redeliver-webhook-delivery": { - parameters: { - path: { - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List installation requests for the authenticated app - * @description Lists all the pending installation requests for the authenticated GitHub App. - */ - "apps/list-installation-requests-for-authenticated-app": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description List of integration installation requests */ - 200: { - content: { - "application/json": components["schemas"]["integration-installation-request"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * List installations for the authenticated app - * @description You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - * - * The permissions the installation has are included under the `permissions` key. - */ - "apps/list-installations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - since?: components["parameters"]["since"]; - outdated?: string; - }; - }; - responses: { - /** @description The permissions the installation has are included under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["installation"][]; - }; - }; - }; - }; - /** - * Get an installation for the authenticated app - * @description Enables an authenticated GitHub App to find an installation's information using the installation id. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an installation for the authenticated app - * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/delete-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create an installation access token for an app - * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/create-installation-access-token": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description List of repository names that the token should have access to */ - repositories?: string[]; - /** @description List of repository IDs that the token should have access to */ - repository_ids?: number[]; - permissions?: components["schemas"]["app-permissions"]; + action: "blocked"; + /** User */ + blocked_user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** org_block unblocked event */ + "webhook-org-block-unblocked": { + /** @enum {string} */ + action: "unblocked"; + /** User */ + blocked_user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** organization deleted event */ + "webhook-organization-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership?: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["installation-token"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Suspend an app installation - * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/suspend-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unsuspend an app installation - * @description Removes a GitHub App installation suspension. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/unsuspend-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an app authorization - * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. - * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). - */ - "apps/delete-authorization": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. */ - access_token: string; + /** organization member_added event */ + "webhook-organization-member-added": { + /** @enum {string} */ + action: "member_added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** organization member_invited event */ + "webhook-organization-member-invited": { + /** @enum {string} */ + action: "member_invited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The invitation for the user or email if the action is `member_invited`. */ + invitation: { + /** Format: date-time */ + created_at: string; + email: string | null; + /** Format: date-time */ + failed_at: string | null; + failed_reason: string | null; + id: number; + /** Format: uri */ + invitation_teams_url: string; + /** User */ + inviter: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + login: string | null; + node_id: string; + role: string; + team_count: number; + invitation_source?: string; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** User */ + user?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Check a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/check-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth or GitHub application. */ - access_token: string; + /** organization member_removed event */ + "webhook-organization-member-removed": { + /** @enum {string} */ + action: "member_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an app token - * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. - */ - "apps/delete-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. */ - access_token: string; + /** organization renamed event */ + "webhook-organization-renamed": { + /** @enum {string} */ + action: "renamed"; + changes?: { + login?: { + from?: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership?: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Reset a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/reset-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth or GitHub application. */ - access_token: string; + /** Ruby Gems metadata */ + "webhook-rubygems-metadata": { + name?: string; + description?: string; + readme?: string; + homepage?: string; + version_info?: { + version?: string; + }; + platform?: string; + metadata?: { + [key: string]: string; + }; + repo?: string; + dependencies?: { + [key: string]: string; + }[]; + commit_oid?: string; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a scoped access token - * @description Use a non-scoped user access token to create a repository scoped and/or permission scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/scope-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The access token used to authenticate to the GitHub API. */ - access_token: string; - /** @description The name of the user or organization to scope the user access token to. **Required** unless `target_id` is specified. */ - target?: string; - /** @description The ID of the user or organization to scope the user access token to. **Required** unless `target` is specified. */ - target_id?: number; - /** @description The list of repository names to scope the user access token to. `repositories` may not be specified if `repository_ids` is specified. */ - repositories?: string[]; - /** @description The list of repository IDs to scope the user access token to. `repository_ids` may not be specified if `repositories` is specified. */ - repository_ids?: number[]; - permissions?: components["schemas"]["app-permissions"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an app - * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). - * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - "apps/get-by-slug": { - parameters: { - path: { - app_slug: components["parameters"]["app-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get an assignment - * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - "classroom/get-an-assignment": { - parameters: { - path: { - assignment_id: components["parameters"]["assignment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom-assignment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List accepted assignments for an assignment - * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - "classroom/list-accepted-assigments-for-an-assignment": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - assignment_id: components["parameters"]["assignment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom-accepted-assignment"][]; - }; - }; - }; - }; - /** - * Get assignment grades - * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - "classroom/get-assignment-grades": { - parameters: { - path: { - assignment_id: components["parameters"]["assignment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom-assignment-grade"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List classrooms - * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. - */ - "classroom/list-classrooms": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-classroom"][]; - }; - }; - }; - }; - /** - * Get a classroom - * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. - */ - "classroom/get-a-classroom": { - parameters: { - path: { - classroom_id: components["parameters"]["classroom-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List assignments for a classroom - * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. - */ - "classroom/list-assignments-for-a-classroom": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - classroom_id: components["parameters"]["classroom-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-classroom-assignment"][]; - }; - }; - }; - }; - /** - * Get all codes of conduct - * @description Returns array of all GitHub's codes of conduct. - */ - "codes-of-conduct/get-all-codes-of-conduct": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-of-conduct"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a code of conduct - * @description Returns information about the specified GitHub code of conduct. - */ - "codes-of-conduct/get-conduct-code": { - parameters: { - path: { - key: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-of-conduct"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get emojis - * @description Lists all the emojis available to use on GitHub. - */ - "emojis/get": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - [key: string]: string; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * List Dependabot alerts for an enterprise - * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. - * To use this endpoint, you must be a member of the enterprise, and you must use an - * access token with the `repo` scope or `security_events` scope. - * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "dependabot/list-alerts-for-enterprise": { - parameters: { - query?: { - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - scope?: components["parameters"]["dependabot-alert-scope"]; - sort?: components["parameters"]["dependabot-alert-sort"]; - direction?: components["parameters"]["direction"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - first?: components["parameters"]["pagination-first"]; - last?: components["parameters"]["pagination-last"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert-with-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List secret scanning alerts for an enterprise - * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). - */ - "secret-scanning/list-alerts-for-enterprise": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - }; - path: { - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-secret-scanning-alert"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List public events - * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. - */ - "activity/list-public-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get feeds - * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: - * - * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) - * * **Current user public**: The public timeline for the authenticated user - * * **Current user**: The private timeline for the authenticated user - * * **Current user actor**: The private timeline for activity created by the authenticated user - * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. - * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. - * - * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. - */ - "activity/get-feeds": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["feed"]; - }; - }; - }; - }; - /** - * List gists for the authenticated user - * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: - */ - "gists/list": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Create a gist - * @description Allows you to add a new gist with one or more files. - * - * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. - */ - "gists/create": { - requestBody: { - content: { - "application/json": { - /** @description Description of the gist */ - description?: string; - /** @description Names and content for the files that make up the gist */ - files: { - [key: string]: { - /** @description Content of the file */ - content: string; - }; - }; - public?: boolean | ("true" | "false"); - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List public gists - * @description List public gists sorted by most recently updated to least recently updated. - * - * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. - */ - "gists/list-public": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List starred gists - * @description List the authenticated user's starred gists: - */ - "gists/list-starred": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Get a gist */ - "gists/get": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a gist */ - "gists/delete": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a gist - * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. - * At least one of `description` or `files` is required. - */ - "gists/update": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** @description The description of the gist. */ - description?: string; - /** - * @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename - * (including extension) of the targeted gist file. For example: `hello.py`. - * - * To delete a file, set the whole file to null. For example: `hello.py : null`. The file will also be - * deleted if the specified object does not contain at least one of `content` or `filename`. - */ - files?: { - [key: string]: ({ - /** @description The new content of the file. */ - content?: string; - /** @description The new filename for the file. */ - filename?: string | null; - }) | null; - }; - }) | null; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** List gist comments */ - "gists/list-comments": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gist-comment"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Create a gist comment */ - "gists/create-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The comment text. */ - body: string; + /** package published event */ + "webhook-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string | null; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record | null; + manifest?: Record | null; + tag?: { + digest?: string; + name?: string; + }; + } | null; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: Record | null; + bugs?: Record | null; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: Record | null; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: Record | null; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: Record[]; + contributors?: Record[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: Record | null; + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: { + id?: number | string; + name?: string; + value?: boolean | string | number | { + url?: string; + branch?: string; + commit?: string; + type?: string; + }; + }[] | null; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + source_url?: string; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["gist-comment"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Get a gist comment */ - "gists/get-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-comment"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a gist comment */ - "gists/delete-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Update a gist comment */ - "gists/update-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The comment text. */ - body: string; + /** package updated event */ + "webhook-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string; + size: number; + state: string; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + /** Format: uri */ + source_url?: string; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** page_build event */ + "webhook-page-build": { + /** @description The [List GitHub Pages builds](https://docs.github.com/rest/pages/pages#list-github-pages-builds) itself. */ + build: { + commit: string | null; + created_at: string; + duration: number; + error: { + message: string | null; + }; + /** User */ + pusher: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + status: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** personal_access_token_request approved event */ + "webhook-personal-access-token-request-approved": { + /** @enum {string} */ + action: "approved"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request cancelled event */ + "webhook-personal-access-token-request-cancelled": { + /** @enum {string} */ + action: "cancelled"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request created event */ + "webhook-personal-access-token-request-created": { + /** @enum {string} */ + action: "created"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request denied event */ + "webhook-personal-access-token-request-denied": { + /** @enum {string} */ + action: "denied"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + installation: components["schemas"]["simple-installation"]; + }; + "webhook-ping": { + /** + * Webhook + * @description The webhook that is being pinged + */ + hook?: { + /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ + active: boolean; + /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ + app_id?: number; + config: { + content_type?: components["schemas"]["webhook-config-content-type"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + secret?: components["schemas"]["webhook-config-secret"]; + url?: components["schemas"]["webhook-config-url"]; + }; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + deliveries_url?: string; + /** @description Determines what events the hook is triggered for. Default: ['push']. */ + events: string[]; + /** @description Unique identifier of the webhook. */ + id: number; + last_response?: components["schemas"]["hook-response"]; + /** + * @description The type of webhook. The only valid value is 'web'. + * @enum {string} + */ + name: "web"; + /** Format: uri */ + ping_url?: string; + /** Format: uri */ + test_url?: string; + type: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url?: string; + }; + /** @description The ID of the webhook that triggered the ping. */ + hook_id?: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + /** @description Random string of GitHub zen. */ + zen?: string; + }; + /** @description The webhooks ping payload encoded with URL encoding. */ + "webhook-ping-form-encoded": { + /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** project_card converted event */ + "webhook-project-card-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + note: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project_card created event */ + "webhook-project-card-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project_card deleted event */ + "webhook-project-card-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number | null; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: null | components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-comment"]; + /** project_card edited event */ + "webhook-project-card-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + note: { + from: string | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** List gist commits */ - "gists/list-commits": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["gist-commit"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** List gist forks */ - "gists/list-forks": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gist-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Fork a gist */ - "gists/fork": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["base-gist"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Check if a gist is starred */ - "gists/check-is-starred": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response if gist is starred */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - /** @description Not Found if gist is not starred */ - 404: { - content: { - "application/json": Record; - }; - }; - }; - }; - /** - * Star a gist - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "gists/star": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Unstar a gist */ - "gists/unstar": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Get a gist revision */ - "gists/get-revision": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - sha: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all gitignore templates - * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). - */ - "gitignore/get-all-templates": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a gitignore template - * @description The API also allows fetching the source of a single template. - * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. - */ - "gitignore/get-template": { - parameters: { - path: { - name: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gitignore-template"]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * List repositories accessible to the app installation - * @description List repositories that an app installation can access. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - "apps/list-repos-accessible-to-installation": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** project_card moved event */ + "webhook-project-card-moved": { + /** @enum {string} */ + action: "moved"; + changes?: { + column_id: { + from: number; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } & { + after_id: number | null; + archived?: boolean; + column_id?: number; + column_url?: string; + created_at?: string; + creator?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + } | null; + id?: number; + node_id?: string; + note?: string | null; + project_url?: string; + updated_at?: string; + url?: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project closed event */ + "webhook-project-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project */ + project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project_column created event */ + "webhook-project-column-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Column */ + project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** project_column deleted event */ + "webhook-project-column-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Column */ + project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: null | components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["repository"][]; - repository_selection?: string; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Revoke an installation access token - * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. - * - * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - "apps/revoke-installation-access-token": { - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List issues assigned to the authenticated user - * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member - * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not - * necessarily assigned to you. - * - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list": { - parameters: { - query?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - collab?: boolean; - orgs?: boolean; - owned?: boolean; - pulls?: boolean; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all commonly used licenses - * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - "licenses/get-all-commonly-used": { - parameters: { - query?: { - featured?: boolean; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["license-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a license - * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - "licenses/get": { - parameters: { - path: { - license: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["license"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Render a Markdown document */ - "markdown/render": { - requestBody: { - content: { - "application/json": { - /** @description The Markdown text to render in HTML. */ - text: string; - /** - * @description The rendering mode. - * @default markdown - * @enum {string} - */ - mode?: "markdown" | "gfm"; - /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ - context?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - "Content-Type": components["headers"]["content-type"]; - /** @example 279 */ - "Content-Length"?: string; - "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; - }; - content: { - "text/html": string; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Render a Markdown document in raw mode - * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. - */ - "markdown/render-raw": { - requestBody?: { - content: { - "text/plain": string; - "text/x-markdown": string; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; - }; - content: { - "text/html": string; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a subscription plan for an account - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/get-subscription-plan-for-account": { - parameters: { - path: { - account_id: components["parameters"]["account-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["marketplace-purchase"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - /** @description Not Found when the account has not purchased the listing */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * List plans - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-plans": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-listing-plan"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List accounts for a plan - * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-accounts-for-plan": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - plan_id: components["parameters"]["plan-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-purchase"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a subscription plan for an account (stubbed) - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/get-subscription-plan-for-account-stubbed": { - parameters: { - path: { - account_id: components["parameters"]["account-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["marketplace-purchase"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - /** @description Not Found when the account has not purchased the listing */ - 404: { - content: never; - }; - }; - }; - /** - * List plans (stubbed) - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-plans-stubbed": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-listing-plan"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * List accounts for a plan (stubbed) - * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-accounts-for-plan-stubbed": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - plan_id: components["parameters"]["plan-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-purchase"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * Get GitHub meta information - * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." - * - * The API's response also includes a list of GitHub's domain names. - * - * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. - * - * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. - */ - "meta/get": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["api-overview"]; + /** project_column edited event */ + "webhook-project-column-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + name?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Column */ + project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** project_column moved event */ + "webhook-project-column-moved": { + /** @enum {string} */ + action: "moved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Column */ + project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project created event */ + "webhook-project-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project */ + project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project deleted event */ + "webhook-project-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project */ + project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: null | components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** project edited event */ + "webhook-project-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the project if the action was `edited`. */ + changes?: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The changes to the project if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project */ + project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** project reopened event */ + "webhook-project-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project */ + project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Project Closed Event */ + "webhook-projects-v2-project-closed": { + /** @enum {string} */ + action: "closed"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** @description A project was created */ + "webhook-projects-v2-project-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Project Deleted Event */ + "webhook-projects-v2-project-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Project Edited Event */ + "webhook-projects-v2-project-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + description?: { + from?: string | null; + to?: string | null; + }; + public?: { + from?: boolean; + to?: boolean; + }; + short_description?: { + from?: string | null; + to?: string | null; + }; + title?: { + from?: string; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Archived Event */ + "webhook-projects-v2-item-archived": { + /** @enum {string} */ + action: "archived"; + changes: { + archived_at?: { + /** Format: date-time */ + from?: string | null; + /** Format: date-time */ + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Converted Event */ + "webhook-projects-v2-item-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + content_type?: { + from?: string | null; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Created Event */ + "webhook-projects-v2-item-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Deleted Event */ + "webhook-projects-v2-item-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Edited Event */ + "webhook-projects-v2-item-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + field_value: { + field_node_id?: string; + field_type?: string; + }; + } | { + body: { + from?: string | null; + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Reordered Event */ + "webhook-projects-v2-item-reordered": { + /** @enum {string} */ + action: "reordered"; + changes: { + previous_projects_v2_item_node_id?: { + from?: string | null; + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Restored Event */ + "webhook-projects-v2-item-restored": { + /** @enum {string} */ + action: "restored"; + changes: { + archived_at?: { + /** Format: date-time */ + from?: string | null; + /** Format: date-time */ + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Project Reopened Event */ + "webhook-projects-v2-project-reopened": { + /** @enum {string} */ + action: "reopened"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** public event */ + "webhook-public": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request assigned event */ + "webhook-pull-request-assigned": { + /** @enum {string} */ + action: "assigned"; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** List public events for a network of repositories */ - "activity/list-public-events-for-repo-network": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List notifications for the authenticated user - * @description List all notifications for the current user, sorted by most recently updated. - */ - "activity/list-notifications-for-authenticated-user": { - parameters: { - query?: { - all?: components["parameters"]["all"]; - participating?: components["parameters"]["participating"]; - since?: components["parameters"]["since"]; - before?: components["parameters"]["before"]; - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 50). */ - per_page?: number; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["thread"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Mark notifications as read - * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - "activity/mark-notifications-as-read": { - requestBody?: { - content: { - "application/json": { - /** - * Format: date-time - * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. - */ - last_read_at?: string; - /** @description Whether the notification has been read. */ - read?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": { - message?: string; - }; - }; - }; - /** @description Reset Content */ - 205: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a thread - * @description Gets information about a notification thread. - */ - "activity/get-thread": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["thread"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Mark a thread as read - * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. - */ - "activity/mark-thread-as-read": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Reset Content */ - 205: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a thread subscription for the authenticated user - * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). - * - * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. - */ - "activity/get-thread-subscription-for-authenticated-user": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["thread-subscription"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Set a thread subscription - * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. - * - * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. - * - * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. - */ - "activity/set-thread-subscription": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to block all notifications from a thread. - * @default false - */ - ignored?: boolean; + /** pull_request auto_merge_disabled event */ + "webhook-pull-request-auto-merge-disabled": { + /** @enum {string} */ + action: "auto_merge_disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + reason: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request auto_merge_enabled event */ + "webhook-pull-request-auto-merge-enabled": { + /** @enum {string} */ + action: "auto_merge_enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + reason?: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["thread-subscription"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Delete a thread subscription - * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. - */ - "activity/delete-thread-subscription": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get Octocat - * @description Get the octocat as ASCII art - */ - "meta/get-octocat": { - parameters: { - query?: { - /** @description The words to show in Octocat's speech bubble */ - s?: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/octocat-stream": string; - }; - }; - }; - }; - /** - * List organizations - * @description Lists all organizations, in the order that they were created on GitHub. - * - * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. - */ - "orgs/list": { - parameters: { - query?: { - since?: components["parameters"]["since-org"]; - per_page?: components["parameters"]["per-page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get an organization - * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." - */ - "orgs/get": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an organization - * @description Deletes an organization and all its repositories. - * - * The organization login will be unavailable for 90 days after deletion. - * - * Please review the Terms of Service regarding account deletion before using this endpoint: - * - * https://docs.github.com/site-policy/github-terms/github-terms-of-service - */ - "orgs/delete": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update an organization - * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - * - * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. - */ - "orgs/update": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Billing email address. This address is not publicized. */ - billing_email?: string; - /** @description The company name. */ - company?: string; - /** @description The publicly visible email address. */ - email?: string; - /** @description The Twitter username of the company. */ - twitter_username?: string; - /** @description The location. */ - location?: string; - /** @description The shorthand name of the company. */ - name?: string; - /** @description The description of the company. */ - description?: string; - /** @description Whether an organization can use organization projects. */ - has_organization_projects?: boolean; - /** @description Whether repositories that belong to the organization can use repository projects. */ - has_repository_projects?: boolean; - /** - * @description Default permission level members have for organization repositories. - * @default read - * @enum {string} - */ - default_repository_permission?: "read" | "write" | "admin" | "none"; - /** - * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. - * @default true - */ - members_can_create_repositories?: boolean; - /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_internal_repositories?: boolean; - /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_private_repositories?: boolean; - /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_public_repositories?: boolean; - /** - * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. - * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. - * @enum {string} - */ - members_allowed_repository_creation_type?: "all" | "private" | "none"; - /** - * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_pages?: boolean; - /** - * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_public_pages?: boolean; - /** - * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_private_pages?: boolean; - /** - * @description Whether organization members can fork private organization repositories. - * @default false - */ - members_can_fork_private_repositories?: boolean; - /** - * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. - * @default false - */ - web_commit_signoff_required?: boolean; - blog?: string; - /** - * @description Whether GitHub Advanced Security is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - advanced_security_enabled_for_new_repositories?: boolean; - /** - * @description Whether Dependabot alerts is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependabot_alerts_enabled_for_new_repositories?: boolean; - /** - * @description Whether Dependabot security updates is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependabot_security_updates_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependency graph is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependency_graph_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - secret_scanning_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning push protection is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - secret_scanning_push_protection_enabled_for_new_repositories?: boolean; - /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ - secret_scanning_push_protection_custom_link_enabled?: boolean; - /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ - secret_scanning_push_protection_custom_link?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 409: components["responses"]["conflict"]; - /** @description Validation failed */ - 422: { - content: { - "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; - }; - }; - }; - }; - /** - * Get GitHub Actions cache usage for an organization - * @description Gets the total GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - "actions/get-actions-cache-usage-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; - }; - }; - }; - }; - /** - * List repositories with GitHub Actions cache usage for an organization - * @description Lists repositories and their GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - "actions/get-actions-cache-usage-by-repo-for-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** pull_request closed event */ + "webhook-pull-request-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - content: { - "application/json": { - total_count: number; - repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; - }; - }; - }; - }; - }; - /** - * Get the customization template for an OIDC subject claim for an organization - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - */ - "oidc/get-oidc-custom-sub-template-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description A JSON serialized template for OIDC subject claim customization */ - 200: { - content: { - "application/json": components["schemas"]["oidc-custom-sub"]; - }; - }; - }; - }; - /** - * Set the customization template for an OIDC subject claim for an organization - * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `write:org` scope to use this endpoint. - * GitHub Apps must have the `admin:org` permission to use this endpoint. - */ - "oidc/update-oidc-custom-sub-template-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["oidc-custom-sub"]; - }; - }; - responses: { - /** @description Empty response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get GitHub Actions permissions for an organization - * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/get-github-actions-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-organization-permissions"]; - }; - }; - }; - }; - /** - * Set GitHub Actions permissions for an organization - * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-github-actions-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - enabled_repositories: components["schemas"]["enabled-repositories"]; - allowed_actions?: components["schemas"]["allowed-actions"]; + /** pull_request converted_to_draft event */ + "webhook-pull-request-converted-to-draft": { + /** @enum {string} */ + action: "converted_to_draft"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories enabled for GitHub Actions in an organization - * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/list-selected-repositories-enabled-github-actions-organization": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["repository"][]; - }; - }; - }; - }; - }; - /** - * Set selected repositories enabled for GitHub Actions in an organization - * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-selected-repositories-enabled-github-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description List of repository IDs to enable for GitHub Actions. */ - selected_repository_ids: number[]; + /** pull_request demilestoned event */ + "webhook-pull-request-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Enable a selected repository for GitHub Actions in an organization - * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/enable-selected-repository-github-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - repository_id: components["parameters"]["repository-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Disable a selected repository for GitHub Actions in an organization - * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/disable-selected-repository-github-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - repository_id: components["parameters"]["repository-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get allowed actions and reusable workflows for an organization - * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/get-allowed-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - }; - }; - /** - * Set allowed actions and reusable workflows for an organization - * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-allowed-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get default workflow permissions for an organization - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, - * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/get-github-actions-default-workflow-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; - }; - }; - }; - }; - /** - * Set default workflow permissions for an organization - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions - * can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-github-actions-default-workflow-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; - }; - }; - responses: { - /** @description Success response */ - 204: { - content: never; - }; - }; - }; - /** - * List self-hosted runners for an organization - * @description Lists all self-hosted runners configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-self-hosted-runners-for-org": { - parameters: { - query?: { - /** @description The name of a self-hosted runner. */ - name?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** pull_request dequeued event */ + "webhook-pull-request-dequeued": { + /** @enum {string} */ + action: "dequeued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + reason: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request edited event */ + "webhook-pull-request-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the comment if the action was `edited`. */ + changes: { + base?: { + ref: { + from: string; + }; + sha: { + from: string; + }; + }; + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request enqueued event */ + "webhook-pull-request-enqueued": { + /** @enum {string} */ + action: "enqueued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request labeled event */ + "webhook-pull-request-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; - }; - }; - }; - }; - /** - * List runner applications for an organization - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-runner-applications-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner-application"][]; - }; - }; - }; - }; - /** - * Create configuration for a just-in-time runner for an organization - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/generate-runner-jitconfig-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the new runner. */ - name: string; - /** @description The ID of the runner group to register the runner to. */ - runner_group_id: number; - /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ - labels: string[]; - /** - * @description The working directory to be used for job execution, relative to the runner install directory. - * @default _work - */ - work_folder?: string; - }; - }; - }; - responses: { - 201: components["responses"]["actions_runner_jitconfig"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create a registration token for an organization - * @description Returns a token that you can pass to the `config` script. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. - * - * ``` - * ./config.sh --url https://github.com/octo-org --token TOKEN - * ``` - */ - "actions/create-registration-token-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Create a remove token for an organization - * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this - * endpoint. - * - * ``` - * ./config.sh remove --token TOKEN - * ``` - */ - "actions/create-remove-token-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Get a self-hosted runner for an organization - * @description Gets a specific self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/get-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner"]; - }; - }; - }; - }; - /** - * Delete a self-hosted runner from an organization - * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/delete-self-hosted-runner-from-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List labels for a self-hosted runner for an organization - * @description Lists all labels for a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-labels-for-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set custom labels for a self-hosted runner for an organization - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/set-custom-labels-for-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ - labels: string[]; + /** pull_request locked event */ + "webhook-pull-request-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Add custom labels to a self-hosted runner for an organization - * @description Add custom labels to a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/add-custom-labels-to-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to add to the runner. */ - labels: string[]; + /** pull_request milestoned event */ + "webhook-pull-request-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Remove all custom labels from a self-hosted runner for an organization - * @description Remove all custom labels from a self-hosted runner configured in an - * organization. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels_readonly"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove a custom label from a self-hosted runner for an organization - * @description Remove a custom label from a self-hosted runner configured - * in an organization. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-custom-label-from-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - name: components["parameters"]["runner-label-name"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-org-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** pull_request opened event */ + "webhook-pull-request-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["organization-actions-secret"][]; - }; - }; - }; - }; - }; - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-org-public-key": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-actions-secret"]; - }; - }; - }; - }; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/create-or-update-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/actions/secrets#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/delete-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` - * for repository access to a secret is set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-selected-repos-for-org-secret": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - }; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/set-selected-repos-for-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; + /** pull_request ready_for_review event */ + "webhook-pull-request-ready-for-review": { + /** @enum {string} */ + action: "ready_for_review"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for - * repository access is set to `selected`. The visibility is set when you [Create or - * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/add-selected-repo-to-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type is not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/remove-selected-repo-from-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * List organization variables - * @description Lists all organization variables. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-org-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** pull_request reopened event */ + "webhook-pull-request-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review_comment created event */ + "webhook-pull-request-review-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review_comment deleted event */ + "webhook-pull-request-review-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review_comment edited event */ + "webhook-pull-request-review-comment-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the comment. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + }; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review dismissed event */ + "webhook-pull-request-review-dismissed": { + /** @enum {string} */ + action: "dismissed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + /** @enum {string} */ + state: "dismissed" | "approved" | "changes_requested"; + /** Format: date-time */ + submitted_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + sender: components["schemas"]["simple-user-webhooks"]; }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["organization-actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Create an organization variable - * @description Creates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/create-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; - /** - * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response when creating a variable */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get an organization variable - * @description Gets a specific variable in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/get-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-actions-variable"]; - }; - }; - }; - }; - /** - * Delete an organization variable - * @description Deletes an organization variable using the variable name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/delete-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update an organization variable - * @description Updates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/update-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - /** - * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. - * @enum {string} - */ - visibility?: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for an organization variable - * @description Lists all repositories that can access an organization variable - * that is available to selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-selected-repos-for-org-variable": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * Set selected repositories for an organization variable - * @description Replaces all repositories for an organization variable that is available - * to selected repositories. Organization variables that are available to selected - * repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this - * endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/set-selected-repos-for-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The IDs of the repositories that can access the organization variable. */ - selected_repository_ids: number[]; + /** pull_request_review edited event */ + "webhook-pull-request-review-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + state: string; + /** Format: date-time */ + submitted_at: string | null; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization variable - * @description Adds a repository to an organization variable that is available to selected repositories. - * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/add-selected-repo-to-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * Remove selected repository from an organization variable - * @description Removes a repository from an organization variable that is - * available to selected repositories. Organization variables that are available to - * selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/remove-selected-repo-from-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * List users blocked by an organization - * @description List the users blocked by an organization. - */ - "orgs/list-blocked-users": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Check if a user is blocked by an organization - * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. - */ - "orgs/check-blocked-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description If the user is blocked */ - 204: { - content: never; - }; - /** @description If the user is not blocked */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Block a user from an organization - * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. - */ - "orgs/block-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Unblock a user from an organization - * @description Unblocks the given user on behalf of the specified organization. - */ - "orgs/unblock-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List code scanning alerts for an organization - * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/list-alerts-for-org": { - parameters: { - query?: { - tool_name?: components["parameters"]["tool-name"]; - tool_guid?: components["parameters"]["tool-guid"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - direction?: components["parameters"]["direction"]; - /** @description If specified, only code scanning alerts with this state will be returned. */ - state?: components["schemas"]["code-scanning-alert-state-query"]; - /** @description The property by which to sort the results. */ - sort?: "created" | "updated"; - /** @description If specified, only code scanning alerts with this severity will be returned. */ - severity?: components["schemas"]["code-scanning-alert-severity"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List codespaces for the organization - * @description Lists the codespaces associated to a specified organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/list-in-organization": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Manage access control for organization codespaces - * @deprecated - * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/set-codespaces-access": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. - * @enum {string} - */ - visibility: "disabled" | "selected_members" | "all_members" | "all_members_and_outside_collaborators"; - /** @description The usernames of the organization members who should have access to codespaces in the organization. Required when `visibility` is `selected_members`. The provided list of usernames will replace any existing value. */ - selected_usernames?: string[]; - }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add users to Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/set-codespaces-access-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members whose codespaces be billed to the organization. */ - selected_usernames: string[]; + /** pull_request review_request_removed event */ + "webhook-pull-request-review-request-removed": { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title. + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + sender: components["schemas"]["simple-user-webhooks"]; + } | { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove users from Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will no longer be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/delete-codespaces-access-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members whose codespaces should not be billed to the organization. */ - selected_usernames: string[]; + /** pull_request review_requested event */ + "webhook-pull-request-review-requested": { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + sender: components["schemas"]["simple-user-webhooks"]; + } | { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review submitted event */ + "webhook-pull-request-review-submitted": { + /** @enum {string} */ + action: "submitted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + state: string; + /** Format: date-time */ + submitted_at: string | null; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review_thread resolved event */ + "webhook-pull-request-review-thread-resolved": { + /** @enum {string} */ + action: "resolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }[]; + node_id: string; + }; }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List organization secrets - * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/list-org-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** pull_request_review_thread unresolved event */ + "webhook-pull-request-review-thread-unresolved": { + /** @enum {string} */ + action: "unresolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }[]; + node_id: string; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["codespaces-org-secret"][]; - }; + /** pull_request synchronize event */ + "webhook-pull-request-synchronize": { + /** @enum {string} */ + action: "synchronize"; + after: string; + before: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - }; - /** - * Get an organization public key - * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/get-org-public-key": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-public-key"]; - }; - }; - }; - }; - /** - * Get an organization secret - * @description Gets an organization secret without revealing its encrypted value. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/get-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["codespaces-org-secret"]; - }; - }; - }; - }; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. - */ - "codespaces/create-or-update-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description The ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository IDs that can access the organization secret. You can only provide a list of repository IDs when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an organization secret - * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/delete-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/list-selected-repos-for-org-secret": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/set-selected-repos-for-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; + /** pull_request unassigned event */ + "webhook-pull-request-unassigned": { + /** @enum {string} */ + action: "unassigned"; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request unlabeled event */ + "webhook-pull-request-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/add-selected-repo-to-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type is not set to selected */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/remove-selected-repo-from-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get Copilot for Business seat information and settings for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets information about an organization's Copilot for Business subscription, including seat breakdown - * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. - * For more information, see "[Configuring GitHub Copilot settings in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/get-copilot-organization-details": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": components["schemas"]["copilot-organization-details"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List all Copilot for Business seat assignments for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Lists all Copilot for Business seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/list-copilot-seats": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). */ - per_page?: number; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - /** @description Total number of Copilot For Business seats for the organization currently being billed. */ - total_seats?: number; - seats?: components["schemas"]["copilot-seat-details"][]; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add teams to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for all users within each specified team. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - "copilot/add-copilot-for-business-seats-for-teams": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description List of team names within the organization to which to grant access to GitHub Copilot. */ - selected_teams: string[]; + /** pull_request unlocked event */ + "webhook-pull-request-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** push event */ + "webhook-push": { + /** @description The SHA of the most recent commit on `ref` after the push. */ + after: string; + base_ref: string | null; + /** @description The SHA of the most recent commit on `ref` before the push. */ + before: string; + /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 20 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. This limit is applied to timeline events only and isn't applied to webhook deliveries. */ + commits: { + /** @description An array of files added in the commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + }[]; + /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ + compare: string; + /** @description Whether this push created the `ref`. */ + created: boolean; + /** @description Whether this push deleted the `ref`. */ + deleted: boolean; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description Whether this push was a force push of the `ref`. */ + forced: boolean; + /** Commit */ + head_commit: { + /** @description An array of files added in the commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + pusher: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email?: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ + ref: string; + /** + * Repository + * @description A git repository + */ + repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + "webhook-registry-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string | null; + description: string | null; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + package_type: string; + package_version: { + author?: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record | null; + manifest?: Record | null; + tag?: { + digest?: string; + name?: string; + }; + }; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: (null | Record) & (string | Record); + bugs?: (null | Record) & (string | Record); + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: (null | Record) & (string | Record); + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: (null | Record) & (string | Record); + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: string[]; + contributors?: string[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: (null | Record) & (string | Record); + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: { + id?: (null | Record) & (string | Record | number); + name?: string; + value?: boolean | string | number | { + url?: string; + branch?: string; + commit?: string; + type?: string; + }; + }[] | null; + package_files: { + content_type: string; + created_at: string; + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + prerelease?: boolean; + published_at?: string; + tag_name?: string; + target_commitish?: string; + url?: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + about_url?: string; + name?: string; + type?: string; + url?: string; + vendor?: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + "webhook-registry-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string; + description: null; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + package_type: string; + package_version: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: ({ + tags?: string[]; + } | null)[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type?: string; + created_at?: string; + download_url?: string; + id?: number; + md5?: string | null; + name?: string; + sha1?: string | null; + sha256?: string; + size?: number; + state?: string; + updated_at?: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: Record | null; + updated_at: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** release created event */ + "webhook-release-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** release deleted event */ + "webhook-release-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description OK */ - 201: { - content: { - "application/json": { - seats_created: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove teams from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for all members of each team specified. - * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/cancel-copilot-seat-assignment-for-teams": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of teams from which to revoke access to GitHub Copilot. */ - selected_teams: string[]; + /** release edited event */ + "webhook-release-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + make_latest?: { + /** @description Whether this release was explicitly `edited` to be the latest. */ + to: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** release prereleased event */ + "webhook-release-prereleased": { + /** @enum {string} */ + action: "prereleased"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + } & { + assets?: (Record | null)[]; + assets_url?: string; + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + body?: string | null; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + node_id?: string; + /** + * @description Whether the release is identified as a prerelease or a full release. + * @enum {boolean} + */ + prerelease: true; + published_at?: string | null; + tag_name?: string; + tarball_url?: string | null; + target_commitish?: string; + upload_url?: string; + url?: string; + zipball_url?: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** release published event */ + "webhook-release-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + } & { + assets?: (Record | null)[]; + assets_url?: string; + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + body?: string | null; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + node_id?: string; + prerelease?: boolean; + /** Format: date-time */ + published_at: string | null; + tag_name?: string; + tarball_url?: string | null; + target_commitish?: string; + upload_url?: string; + url?: string; + zipball_url?: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** release released event */ + "webhook-release-released": { + /** @enum {string} */ + action: "released"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** release unpublished event */ + "webhook-release-unpublished": { + /** @enum {string} */ + action: "unpublished"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + } & { + assets?: (Record | null)[]; + assets_url?: string; + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + body?: string | null; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + node_id?: string; + prerelease?: boolean; + published_at: string | null; + tag_name?: string; + tarball_url?: string | null; + target_commitish?: string; + upload_url?: string; + url?: string; + zipball_url?: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** Repository advisory published event */ + "webhook-repository-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** Repository advisory reported event */ + "webhook-repository-advisory-reported": { + /** @enum {string} */ + action: "reported"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** repository archived event */ + "webhook-repository-archived": { + /** @enum {string} */ + action: "archived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository created event */ + "webhook-repository-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository deleted event */ + "webhook-repository-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_dispatch event */ + "webhook-repository-dispatch-sample": { + /** @enum {string} */ + action: "sample.collected"; + branch: string; + client_payload: { + [key: string]: unknown; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository edited event */ + "webhook-repository-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + default_branch?: { + from: string; + }; + description?: { + from: string | null; + }; + homepage?: { + from: string | null; + }; + topics?: { + from?: string[] | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_import event */ + "webhook-repository-import": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** @enum {string} */ + status: "success" | "cancelled" | "failure"; + }; + /** repository privatized event */ + "webhook-repository-privatized": { + /** @enum {string} */ + action: "privatized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository publicized event */ + "webhook-repository-publicized": { + /** @enum {string} */ + action: "publicized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository renamed event */ + "webhook-repository-renamed": { + /** @enum {string} */ + action: "renamed"; + changes: { + repository: { + name: { + from: string; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository ruleset created event */ + "webhook-repository-ruleset-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository ruleset deleted event */ + "webhook-repository-ruleset-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository ruleset edited event */ + "webhook-repository-ruleset-edited": { + /** @enum {string} */ + action: "edited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + changes?: { + name?: { + from?: string; + }; + enforcement?: { + from?: string; + }; + conditions?: { + added?: components["schemas"]["repository-ruleset-conditions"][]; + deleted?: components["schemas"]["repository-ruleset-conditions"][]; + updated?: { + condition?: components["schemas"]["repository-ruleset-conditions"]; + changes?: { + condition_type?: { + from?: string; + }; + target?: { + from?: string; + }; + include?: { + from?: string[]; + }; + exclude?: { + from?: string[]; + }; + }; + }[]; + }; + rules?: { + added?: components["schemas"]["repository-rule"][]; + deleted?: components["schemas"]["repository-rule"][]; + updated?: { + rule?: components["schemas"]["repository-rule"]; + changes?: { + configuration?: { + from?: string; + }; + rule_type?: { + from?: string; + }; + pattern?: { + from?: string; + }; + }; + }[]; + }; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository transferred event */ + "webhook-repository-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + owner: { + from: { + /** Organization */ + organization?: { + /** Format: uri */ + avatar_url: string; + description: string | null; + /** Format: uri */ + events_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url?: string; + id: number; + /** Format: uri */ + issues_url: string; + login: string; + /** Format: uri-template */ + members_url: string; + node_id: string; + /** Format: uri-template */ + public_members_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + url: string; + }; + /** User */ + user?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository unarchived event */ + "webhook-repository-unarchived": { + /** @enum {string} */ + action: "unarchived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_vulnerability_alert create event */ + "webhook-repository-vulnerability-alert-create": { + /** @enum {string} */ + action: "create"; + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + } & { + affected_package_name?: string; + affected_range?: string; + created_at?: string; + external_identifier?: string; + external_reference?: string | null; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "open"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_vulnerability_alert dismiss event */ + "webhook-repository-vulnerability-alert-dismiss": { + /** @enum {string} */ + action: "dismiss"; + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_comment?: string | null; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + } & { + affected_package_name?: string; + affected_range?: string; + created_at?: string; + dismiss_comment?: string | null; + dismiss_reason: string; + dismissed_at: string; + /** User */ + dismisser: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier?: string; + external_reference?: string | null; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "dismissed"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_vulnerability_alert reopen event */ + "webhook-repository-vulnerability-alert-reopen": { + /** @enum {string} */ + action: "reopen"; + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + } & { + affected_package_name?: string; + affected_range?: string; + created_at?: string; + external_identifier?: string; + external_reference?: string | null; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "open"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_vulnerability_alert resolve event */ + "webhook-repository-vulnerability-alert-resolve": { + /** @enum {string} */ + action: "resolve"; + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + } & { + affected_package_name?: string; + affected_range?: string; + created_at?: string; + external_identifier?: string; + external_reference?: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "fixed" | "open"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** secret_scanning_alert created event */ + "webhook-secret-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created": { + /** @enum {string} */ + action?: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + installation?: components["schemas"]["simple-installation"]; + location: components["schemas"]["secret-scanning-location"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created-form-encoded": { + /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** secret_scanning_alert reopened event */ + "webhook-secret-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** secret_scanning_alert resolved event */ + "webhook-secret-scanning-alert-resolved": { + /** @enum {string} */ + action: "resolved"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** secret_scanning_alert revoked event */ + "webhook-secret-scanning-alert-revoked": { + /** @enum {string} */ + action: "revoked"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** security_advisory published event */ + "webhook-security-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string | null; + }; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** security_advisory updated event */ + "webhook-security-advisory-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string | null; + }; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** security_advisory withdrawn event */ + "webhook-security-advisory-withdrawn": { + /** @enum {string} */ + action: "withdrawn"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string; + }; + sender?: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": { - seats_cancelled: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add users to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for each user specified. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - "copilot/add-copilot-for-business-seats-for-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members to be granted access to GitHub Copilot. */ - selected_usernames: string[]; + /** security_and_analysis event */ + "webhook-security-and-analysis": { + changes: { + from?: { + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["full-repository"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sponsorship cancelled event */ + "webhook-sponsorship-cancelled": { + /** @enum {string} */ + action: "cancelled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - }; - }; - responses: { - /** @description OK */ - 201: { - content: { - "application/json": { - seats_created: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove users from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for each user specified. - * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)" - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/cancel-copilot-seat-assignment-for-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members for which to revoke access to GitHub Copilot. */ - selected_usernames: string[]; + /** sponsorship created event */ + "webhook-sponsorship-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": { - seats_cancelled: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, the seat management setting is set to enable Copilot for all users or is unconfigured, or a user's seat cannot be cancelled because it was assigned to them via a team. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List Dependabot alerts for an organization - * @description Lists Dependabot alerts for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - "dependabot/list-alerts-for-org": { - parameters: { - query?: { - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - scope?: components["parameters"]["dependabot-alert-scope"]; - sort?: components["parameters"]["dependabot-alert-sort"]; - direction?: components["parameters"]["direction"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - first?: components["parameters"]["pagination-first"]; - last?: components["parameters"]["pagination-last"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert-with-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/list-org-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** sponsorship edited event */ + "webhook-sponsorship-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + privacy_level?: { + /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["organization-dependabot-secret"][]; - }; + /** sponsorship pending_cancellation event */ + "webhook-sponsorship-pending-cancellation": { + /** @enum {string} */ + action: "pending_cancellation"; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + effective_date?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - }; - }; - }; - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/get-org-public-key": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-public-key"]; - }; - }; - }; - }; - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/get-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-dependabot-secret"]; - }; - }; - }; - }; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization - * permission to use this endpoint. - */ - "dependabot/create-or-update-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/dependabot/secrets#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: string[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/delete-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/list-selected-repos-for-org-secret": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; + /** sponsorship pending_tier_change event */ + "webhook-sponsorship-pending-tier-change": { + /** @enum {string} */ + action: "pending_tier_change"; + changes: { + tier: { + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + from: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + effective_date?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - }; - }; - }; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/set-selected-repos-for-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; + /** sponsorship tier_changed event */ + "webhook-sponsorship-tier-changed": { + /** @enum {string} */ + action: "tier_changed"; + changes: { + tier: { + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + from: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/add-selected-repo-to-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type is not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/remove-selected-repo-from-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Get list of conflicting packages during Docker migration for organization - * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - "packages/list-docker-migration-conflicting-packages-for-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** List public organization events */ - "activity/list-public-org-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List failed organization invitations - * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. - */ - "orgs/list-failed-invitations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** star created event */ + "webhook-star-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: string | null; + }; + /** star deleted event */ + "webhook-star-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: null; + }; + /** status event */ + "webhook-status": { + /** Format: uri */ + avatar_url?: string | null; + /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ + branches: { + commit: { + sha: string | null; + /** Format: uri */ + url: string | null; + }; + name: string; + protected: boolean; + }[]; + commit: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + comments_url: string; + commit: { + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + comment_count: number; + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification: { + payload: string | null; + /** @enum {string} */ + reason: "expired_key" | "not_signing_key" | "gpgverify_error" | "gpgverify_unavailable" | "unsigned" | "unknown_signature_type" | "no_user" | "unverified_email" | "bad_email" | "unknown_key" | "malformed_signature" | "invalid" | "valid" | "bad_cert" | "ocsp_pending"; + signature: string | null; + verified: boolean; + }; + }; + /** User */ + committer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + node_id: string; + parents: { + /** Format: uri */ + html_url: string; + sha: string; + /** Format: uri */ + url: string; + }[]; + sha: string; + /** Format: uri */ + url: string; + }; + context: string; + created_at: string; + /** @description The optional human-readable description added to the status. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The unique identifier of the status. */ + id: number; + installation?: components["schemas"]["simple-installation"]; + name: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** @description The Commit SHA. */ + sha: string; + /** + * @description The new state. Can be `pending`, `success`, `failure`, or `error`. + * @enum {string} + */ + state: "pending" | "success" | "failure" | "error"; + /** @description The optional link added to the status. */ + target_url: string | null; + updated_at: string; }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; + /** team_add event */ + "webhook-team-add": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** List organization webhooks */ - "orgs/list-webhooks": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["org-hook"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create an organization webhook - * @description Here's how you can create a hook that posts payloads in JSON format: - */ - "orgs/create-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Must be passed as "web". */ - name: string; - /** @description Key/value pairs to provide settings for this webhook. */ - config: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - username?: string; - password?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/orgs/octocat/hooks/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an organization webhook - * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." - */ - "orgs/get-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-hook"]; + /** team added_to_repository event */ + "webhook-team-added-to-repository": { + /** @enum {string} */ + action: "added_to_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete an organization webhook */ - "orgs/delete-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update an organization webhook - * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." - */ - "orgs/update-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Key/value pairs to provide settings for this webhook. */ - config?: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - name?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a webhook configuration for an organization - * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. - */ - "orgs/get-webhook-config-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * Update a webhook configuration for an organization - * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. - */ - "orgs/update-webhook-config-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** team created event */ + "webhook-team-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * List deliveries for an organization webhook - * @description Returns a list of webhook deliveries for a webhook configured in an organization. - */ - "orgs/list-webhook-deliveries": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - cursor?: components["parameters"]["cursor"]; - redelivery?: boolean; - }; - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a webhook delivery for an organization webhook - * @description Returns a delivery for a webhook configured in an organization. - */ - "orgs/get-webhook-delivery": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Redeliver a delivery for an organization webhook - * @description Redeliver a delivery for a webhook configured in an organization. - */ - "orgs/redeliver-webhook-delivery": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Ping an organization webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - "orgs/ping-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get an organization installation for the authenticated app - * @description Enables an authenticated GitHub App to find the organization's installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-org-installation": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - /** - * List app installations for an organization - * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. - */ - "orgs/list-app-installations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** team deleted event */ + "webhook-team-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - content: { - "application/json": { - total_count: number; - installations: components["schemas"]["installation"][]; - }; + /** team edited event */ + "webhook-team-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the team if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + privacy?: { + /** @description The previous version of the team's privacy if the action was `edited`. */ + from: string; + }; + notification_setting?: { + /** @description The previous version of the team's notification setting if the action was `edited`. */ + from: string; + }; + repository?: { + permissions: { + from: { + /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ + admin?: boolean; + /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ + pull?: boolean; + /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ + push?: boolean; + }; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - }; - }; - }; - /** - * Get interaction restrictions for an organization - * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. - */ - "interactions/get-restrictions-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; - }; - }; - }; - }; - /** - * Set interaction restrictions for an organization - * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. - */ - "interactions/set-restrictions-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove interaction restrictions for an organization - * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. - */ - "interactions/remove-restrictions-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List pending organization invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - "orgs/list-pending-invitations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Filter invitations by their member role. */ - role?: "all" | "admin" | "direct_member" | "billing_manager" | "hiring_manager"; - /** @description Filter invitations by their invitation source. */ - invitation_source?: "all" | "member" | "scim"; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create an organization invitation - * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "orgs/create-invitation": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ - invitee_id?: number; - /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ - email?: string; - /** - * @description The role for the new member. - * * `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. - * * `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. - * * `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. - * @default direct_member - * @enum {string} - */ - role?: "admin" | "direct_member" | "billing_manager"; - /** @description Specify IDs for the teams you want to invite new members to. */ - team_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["organization-invitation"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Cancel an organization invitation - * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - */ - "orgs/cancel-invitation": { - parameters: { - path: { - org: components["parameters"]["org"]; - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List organization invitation teams - * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. - */ - "orgs/list-invitation-teams": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organization issues assigned to the authenticated user - * @description List issues in an organization assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list-for-org": { - parameters: { - query?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organization members - * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. - */ - "orgs/list-members": { - parameters: { - query?: { - /** @description Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners. */ - filter?: "2fa_disabled" | "all"; - /** @description Filter members returned by their role. */ - role?: "all" | "admin" | "member"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Check organization membership for a user - * @description Check if a user is, publicly or privately, a member of the organization. - */ - "orgs/check-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response if requester is an organization member and user is a member */ - 204: { - content: never; - }; - /** @description Response if requester is not an organization member */ - 302: { - headers: { - /** @example https://api.github.com/orgs/github/public_members/pezra */ - Location?: string; - }; - content: never; - }; - /** @description Not Found if requester is an organization member and user is not a member */ - 404: { - content: never; - }; - }; - }; - /** - * Remove an organization member - * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. - */ - "orgs/remove-member": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List codespaces for a user in organization - * @description Lists the codespaces that a member of an organization has for repositories in that organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/get-codespaces-for-user-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete a codespace from the organization - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/delete-from-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Stop a codespace for an organization user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/stop-in-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get Copilot for Business seat assignment details for a user - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets the GitHub Copilot for Business seat assignment details for a member of an organization who currently has access to GitHub Copilot. - * - * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/get-copilot-seat-assignment-details-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description The user's GitHub Copilot seat details, including usage. */ - 200: { - content: { - "application/json": components["schemas"]["copilot-seat-details"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization or the user has a pending organization invitation. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get organization membership for a user - * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. - */ - "orgs/get-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set organization membership for a user - * @description Only authenticated organization owners can add a member to the organization or update the member's role. - * - * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. - * - * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. - * - * **Rate limits** - * - * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. - */ - "orgs/set-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The role to give the user in the organization. Can be one of: - * * `admin` - The user will become an owner of the organization. - * * `member` - The user will become a non-owner member of the organization. - * @default member - * @enum {string} - */ - role?: "admin" | "member"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove organization membership for a user - * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. - * - * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. - */ - "orgs/remove-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organization migrations - * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). - * - * A list of `repositories` is only returned for export migrations. - */ - "migrations/list-for-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Exclude attributes from the API response to improve performance */ - exclude?: "repositories"[]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["migration"][]; - }; - }; - }; - }; - /** - * Start an organization migration - * @description Initiates the generation of a migration archive. - */ - "migrations/start-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A list of arrays indicating which repositories should be migrated. */ - repositories: string[]; - /** - * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. - * @default false - */ - lock_repositories?: boolean; - /** - * @description Indicates whether metadata should be excluded and only git source should be included for the migration. - * @default false - */ - exclude_metadata?: boolean; - /** - * @description Indicates whether the repository git data should be excluded from the migration. - * @default false - */ - exclude_git_data?: boolean; - /** - * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). - * @default false - */ - exclude_attachments?: boolean; - /** - * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). - * @default false - */ - exclude_releases?: boolean; - /** - * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. - * @default false - */ - exclude_owner_projects?: boolean; - /** - * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). - * @default false - */ - org_metadata_only?: boolean; - /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ - exclude?: "repositories"[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an organization migration status - * @description Fetches the status of a migration. - * - * The `state` of a migration can be one of the following values: - * - * * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ - "migrations/get-status-for-org": { - parameters: { - query?: { - /** @description Exclude attributes from the API response to improve performance */ - exclude?: "repositories"[]; - }; - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** - * @description * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ - 200: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download an organization migration archive - * @description Fetches the URL to a migration archive. - */ - "migrations/download-archive-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 302: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an organization migration archive - * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. - */ - "migrations/delete-archive-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unlock an organization repository - * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. - */ - "migrations/unlock-repo-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - repo_name: components["parameters"]["repo-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories in an organization migration - * @description List all the repositories for this organization migration. - */ - "migrations/list-repos-for-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List outside collaborators for an organization - * @description List all users who are outside collaborators of an organization. - */ - "orgs/list-outside-collaborators": { - parameters: { - query?: { - /** @description Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. */ - filter?: "2fa_disabled" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Convert an organization member to outside collaborator - * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - */ - "orgs/convert-member-to-outside-collaborator": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. - * @default false - */ - async?: boolean; - }; - }; - }; - responses: { - /** @description User is getting converted asynchronously */ - 202: { - content: { - "application/json": Record; - }; - }; - /** @description User was converted */ - 204: { - content: never; - }; - /** @description Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ - 403: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove outside collaborator from an organization - * @description Removing a user from this list will remove them from all the organization's repositories. - */ - "orgs/remove-outside-collaborator": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Unprocessable Entity if user is a member of the organization */ - 422: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - }; - }; - /** - * List packages for an organization - * @description Lists packages in an organization readable by the user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/list-packages-for-organization": { - parameters: { - query: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - visibility?: components["parameters"]["package-visibility"]; - /** @description Page number of the results to fetch. */ - page?: number; - /** @description The number of results per page (max 100). */ - per_page?: number; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a package for an organization - * @description Gets a specific package in an organization. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-for-organization": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - /** - * Delete a package for an organization - * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-for-org": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package for an organization - * @description Restores an entire package in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-for-org": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List package versions for a package owned by an organization - * @description Lists package versions for a package owned by an organization. - * - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-all-package-versions-for-package-owned-by-org": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - /** @description The state of the package, either active or deleted. */ - state?: "active" | "deleted"; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a package version for an organization - * @description Gets a specific package version in an organization. - * - * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-version-for-organization": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - /** - * Delete package version for an organization - * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-version-for-org": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore package version for an organization - * @description Restores a specific package version in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-version-for-org": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List requests to access organization resources with fine-grained personal access tokens - * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-requests": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - sort?: components["parameters"]["personal-access-token-sort"]; - direction?: components["parameters"]["direction"]; - owner?: components["parameters"]["personal-access-token-owner"]; - repository?: components["parameters"]["personal-access-token-repository"]; - permission?: components["parameters"]["personal-access-token-permission"]; - last_used_before?: components["parameters"]["personal-access-token-before"]; - last_used_after?: components["parameters"]["personal-access-token-after"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-programmatic-access-grant-request"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Review requests to access organization resources with fine-grained personal access tokens - * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/review-pat-grant-requests-in-bulk": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. */ - pat_request_ids?: number[]; - /** - * @description Action to apply to the requests. - * @enum {string} - */ - action: "approve" | "deny"; - /** @description Reason for approving or denying the requests. Max 1024 characters. */ - reason?: string | null; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Review a request to access organization resources with a fine-grained personal access token - * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/review-pat-grant-request": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the request for access via fine-grained personal access token. */ - pat_request_id: number; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the request. - * @enum {string} - */ - action: "approve" | "deny"; - /** @description Reason for approving or denying the request. Max 1024 characters. */ - reason?: string | null; - }; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List repositories requested to be accessed by a fine-grained personal access token - * @description Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-request-repositories": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the request for access via fine-grained personal access token. */ - pat_request_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List fine-grained personal access tokens with access to organization resources - * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grants": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - sort?: components["parameters"]["personal-access-token-sort"]; - direction?: components["parameters"]["direction"]; - owner?: components["parameters"]["personal-access-token-owner"]; - repository?: components["parameters"]["personal-access-token-repository"]; - permission?: components["parameters"]["personal-access-token-permission"]; - last_used_before?: components["parameters"]["personal-access-token-before"]; - last_used_after?: components["parameters"]["personal-access-token-after"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-programmatic-access-grant"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update the access to organization resources via fine-grained personal access tokens - * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/update-pat-accesses": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the fine-grained personal access token. - * @enum {string} - */ - action: "revoke"; - /** @description The IDs of the fine-grained personal access tokens. */ - pat_ids: number[]; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update the access a fine-grained personal access token has to organization resources - * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/update-pat-access": { - parameters: { - path: { - org: components["parameters"]["org"]; - pat_id: components["parameters"]["fine-grained-personal-access-token-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the fine-grained personal access token. - * @enum {string} - */ - action: "revoke"; - }; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List repositories a fine-grained personal access token has access to - * @description Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-repositories": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the fine-grained personal access token. */ - pat_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List organization projects - * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/list-for-org": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create an organization project - * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/create-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the project. */ - name: string; - /** @description The description of the project. */ - body?: string; + /** team removed_from_repository event */ + "webhook-team-removed-from-repository": { + /** @enum {string} */ + action: "removed_from_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: null | number | string; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List public organization members - * @description Members of an organization can choose to have their membership publicized or not. - */ - "orgs/list-public-members": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Check public organization membership for a user - * @description Check if the provided user is a public member of the organization. - */ - "orgs/check-public-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response if user is a public member */ - 204: { - content: never; - }; - /** @description Not Found if user is not a public member */ - 404: { - content: never; - }; - }; - }; - /** - * Set public organization membership for the authenticated user - * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "orgs/set-public-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Remove public organization membership for the authenticated user - * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. - */ - "orgs/remove-public-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List organization repositories - * @description Lists repositories for the specified organization. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "repos/list-for-org": { - parameters: { - query?: { - /** @description Specifies the types of repositories you want returned. */ - type?: "all" | "public" | "private" | "forks" | "sources" | "member"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Create an organization repository - * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - "repos/create-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the repository. */ - name: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Whether the repository is private. - * @default false - */ - private?: boolean; - /** - * @description The visibility of the repository. - * @enum {string} - */ - visibility?: "public" | "private"; - /** - * @description Either `true` to enable issues for this repository or `false` to disable them. - * @default true - */ - has_issues?: boolean; - /** - * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. - * @default true - */ - has_projects?: boolean; - /** - * @description Either `true` to enable the wiki for this repository or `false` to disable it. - * @default true - */ - has_wiki?: boolean; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads?: boolean; - /** - * @description Either `true` to make this repo available as a template repository or `false` to prevent it. - * @default false - */ - is_template?: boolean; - /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ - team_id?: number; - /** - * @description Pass `true` to create an initial commit with empty README. - * @default false - */ - auto_init?: boolean; - /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ - gitignore_template?: string; - /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ - license_template?: string; - /** - * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.** - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @deprecated - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["repository"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all organization repository rulesets - * @description Get all the repository rulesets for an organization. - */ - "repos/get-org-rulesets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"][]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create an organization repository ruleset - * @description Create a repository ruleset for an organization. - */ - "repos/create-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - /** @description Request body */ - requestBody: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["org-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get an organization repository ruleset - * @description Get a repository ruleset for an organization. - */ - "repos/get-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update an organization repository ruleset - * @description Update a ruleset for an organization. - */ - "repos/update-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - /** @description Request body */ - requestBody?: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name?: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement?: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["org-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete an organization repository ruleset - * @description Delete a ruleset for an organization. - */ - "repos/delete-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List secret scanning alerts for an organization - * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-alerts-for-org": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; - after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-secret-scanning-alert"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List repository security advisories for an organization - * @description Lists repository security advisories for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission. - */ - "security-advisories/list-org-repository-advisories": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "published"; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - /** @description The number of advisories to return per page. */ - per_page?: number; - /** @description Filter by the state of the repository advisories. Only advisories of this state will be returned. */ - state?: "triage" | "draft" | "published" | "closed"; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List security manager teams - * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. - * - * GitHub Apps must have the `administration` organization read permission to use this endpoint. - */ - "orgs/list-security-manager-teams": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-simple"][]; - }; - }; - }; - }; - /** - * Add a security manager team - * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - "orgs/add-security-manager-team": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description The organization has reached the maximum number of security manager teams. */ - 409: { - content: never; - }; - }; - }; - /** - * Remove a security manager team - * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - "orgs/remove-security-manager-team": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get GitHub Actions billing for an organization - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - "billing/get-github-actions-billing-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-billing-usage"]; - }; - }; - }; - }; - /** - * Get GitHub Packages billing for an organization - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - "billing/get-github-packages-billing-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["packages-billing-usage"]; - }; - }; - }; - }; - /** - * Get shared storage billing for an organization - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - "billing/get-shared-storage-billing-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["combined-billing-usage"]; - }; - }; - }; - }; - /** - * List teams - * @description Lists all teams in an organization that are visible to the authenticated user. - */ - "teams/list": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Create a team - * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." - * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". - */ - "teams/create": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the team. */ - name: string; - /** @description The description of the team. */ - description?: string; - /** @description List GitHub IDs for organization members who will become team maintainers. */ - maintainers?: string[]; - /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ - repo_names?: string[]; - /** - * @description The level of privacy this team should have. The options are: - * **For a non-nested team:** - * * `secret` - only visible to organization owners and members of this team. - * * `closed` - visible to all members of this organization. - * Default: `secret` - * **For a parent or child team:** - * * `closed` - visible to all members of this organization. - * Default for child team: `closed` - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description The notification setting the team has chosen. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * Default: `notifications_enabled` - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: number; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a team by name - * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. - */ - "teams/get-by-name": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a team - * @description To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. - */ - "teams/delete-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a team - * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. - */ - "teams/update-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the team. */ - name?: string; - /** @description The description of the team. */ - description?: string; - /** - * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: - * **For a non-nested team:** - * * `secret` - only visible to organization owners and members of this team. - * * `closed` - visible to all members of this organization. - * **For a parent or child team:** - * * `closed` - visible to all members of this organization. - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: number | null; - }; - }; - }; - responses: { - /** @description Response when the updated information already exists */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List discussions - * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. - */ - "teams/list-discussions-in-org": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Pinned discussions only filter */ - pinned?: string; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion"][]; - }; - }; - }; - }; - /** - * Create a discussion - * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. - */ - "teams/create-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title: string; - /** @description The discussion post's body text. */ - body: string; - /** - * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. - * @default false - */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Get a discussion - * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - "teams/get-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Delete a discussion - * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - "teams/delete-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion - * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - "teams/update-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title?: string; - /** @description The discussion post's body text. */ - body?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * List discussion comments - * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - "teams/list-discussion-comments-in-org": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"][]; - }; - }; - }; - }; - /** - * Create a discussion comment - * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - "teams/create-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; + /** watch started event */ + "webhook-watch-started": { + /** @enum {string} */ + action: "started"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** workflow_dispatch event */ + "webhook-workflow-dispatch": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + inputs: { + [key: string]: unknown; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + workflow: string; + }; + /** workflow_job completed event */ + "webhook-workflow-job-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | null | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, `waiting`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string; + /** @enum {string} */ + conclusion: "success" | "failure" | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: (string | null)[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + status?: string; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps?: (Record | null)[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job in_progress event */ + "webhook-workflow-job-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | null | "cancelled" | "neutral"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | null | "cancelled"; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string | null; + conclusion?: string | null; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: string[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps: { + completed_at: string | null; + conclusion: string | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "pending" | "queued"; + }[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job queued event */ + "webhook-workflow-job-queued": { + /** @enum {string} */ + action: "queued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "completed" | "in_progress" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job waiting event */ + "webhook-workflow-job-waiting": { + /** @enum {string} */ + action: "waiting"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "completed" | "in_progress" | "queued" | "pending" | "waiting"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_run completed event */ + "webhook-workflow-run-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** Workflow */ + workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped"; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + } & { + actor?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + artifacts_url?: string; + cancel_url?: string; + check_suite_id?: number; + check_suite_node_id?: string; + check_suite_url?: string; + /** @enum {string} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped"; + created_at?: string; + event?: string; + head_branch?: string | null; + head_commit?: { + author?: { + email?: string; + name?: string; + }; + committer?: { + email?: string; + name?: string; + }; + id?: string; + message?: string; + timestamp?: string; + tree_id?: string; + }; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha?: string; + html_url?: string; + id?: number; + jobs_url?: string; + logs_url?: string; + name?: string | null; + node_id?: string; + path?: string; + previous_attempt_url?: string | null; + pull_requests?: (Record | null)[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt?: number; + run_number?: number; + run_started_at?: string; + status?: string; + triggering_actor?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + } | null; + updated_at?: string; + url?: string; + workflow_id?: number; + workflow_url?: string; + }; + }; + /** workflow_run in_progress event */ + "webhook-workflow-run-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** Workflow */ + workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + } & { + actor?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + artifacts_url?: string; + cancel_url?: string; + check_suite_id?: number; + check_suite_node_id?: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "skipped" | "stale" | null; + created_at?: string; + event?: string; + head_branch?: string | null; + head_commit?: { + author?: { + email?: string; + name?: string; + }; + committer?: { + email?: string; + name?: string; + }; + id?: string; + message?: string; + timestamp?: string; + tree_id?: string; + }; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string | null; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha?: string; + html_url?: string; + id?: number; + jobs_url?: string; + logs_url?: string; + name?: string | null; + node_id?: string; + path?: string; + previous_attempt_url?: string | null; + pull_requests?: (Record | null)[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt?: number; + run_number?: number; + run_started_at?: string; + status?: string; + triggering_actor?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + updated_at?: string; + url?: string; + workflow_id?: number; + workflow_url?: string; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Get a discussion comment - * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - "teams/get-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Delete a discussion comment - * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - "teams/delete-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion comment - * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - "teams/update-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; + /** workflow_run requested event */ + "webhook-workflow-run-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** Workflow */ + workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + display_title: string; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * List reactions for a team discussion comment - * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - "reactions/list-for-team-discussion-comment-in-org": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion comment - * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - "reactions/create-for-team-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response when the reaction type has already been added to this team discussion comment */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * Delete team discussion comment reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/delete-for-team-discussion-comment": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List reactions for a team discussion - * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - "reactions/list-for-team-discussion-in-org": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion - * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - "reactions/create-for-team-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * Delete team discussion reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/delete-for-team-discussion": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List pending team invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. - */ - "teams/list-pending-invitations-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - }; - }; - /** - * List team members - * @description Team members will include the members of child teams. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - "teams/list-members-in-org": { - parameters: { - query?: { - /** @description Filters members returned by their role in the team. */ - role?: "member" | "maintainer" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Get team membership for a user - * @description Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - "teams/get-membership-for-user-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description if user has no team membership */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team membership for a user - * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - "teams/add-or-update-membership-for-user-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The role that this user should have in the team. - * @default member - * @enum {string} - */ - role?: "member" | "maintainer"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - content: never; - }; - /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: { - content: never; - }; - }; - }; - /** - * Remove team membership for a user - * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - "teams/remove-membership-for-user-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - content: never; - }; - }; - }; - /** - * List team projects - * @description Lists the organization projects for a team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. - */ - "teams/list-projects-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-project"][]; - }; - }; - }; - }; - /** - * Check team permissions for a project - * @description Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - "teams/check-permissions-for-project-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-project"]; - }; - }; - /** @description Not Found if project is not managed by this team */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team project permissions - * @description Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - "teams/add-or-update-project-permissions-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - /** - * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - }) | null; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Forbidden if the project is not owned by the organization */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - }; - }; - /** - * Remove a project from a team - * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - "teams/remove-project-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List team repositories - * @description Lists a team's repositories visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. - */ - "teams/list-repos-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Check team permissions for a repository - * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. - * - * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - "teams/check-permissions-for-repo-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Alternative response with repository permissions */ - 200: { - content: { - "application/json": components["schemas"]["team-repository"]; - }; - }; - /** @description Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ - 204: { - content: never; - }; - /** @description Not Found if team does not have permission for the repository */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team repository permissions - * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - * - * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". - */ - "teams/add-or-update-repo-permissions-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. - * @default push - */ - permission?: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Remove a repository from a team - * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - "teams/remove-repo-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List child teams - * @description Lists the child teams of the team specified by `{team_slug}`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. - */ - "teams/list-child-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description if child teams exist */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - }; - }; - /** - * Enable or disable a security feature for an organization - * @description Enables or disables the specified security feature for all eligible repositories in an organization. - * - * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. - * A token with the 'write:org' scope is also required. - * - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - * - * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "orgs/enable-or-disable-security-product-on-all-org-repos": { - parameters: { - path: { - org: components["parameters"]["org"]; - security_product: components["parameters"]["security-product"]; - enablement: components["parameters"]["org-security-product-enablement"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description CodeQL query suite to be used. If you specify the `query_suite` parameter, the default setup will be configured with this query suite only on all repositories that didn't have default setup already configured. It will not change the query suite on repositories that already have default setup configured. - * If you don't specify any `query_suite` in your request, the preferred query suite of the organization will be applied. - * @enum {string} - */ - query_suite?: "default" | "extended"; - }; - }; - }; - responses: { - /** @description Action started */ - 204: { - content: never; - }; - /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ - 422: { - content: never; - }; - }; - }; - /** - * Get a project card - * @description Gets information about a project card. - */ - "projects/get-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; }; responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a project card - * @description Deletes a project card - */ - "projects/delete-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed_simple: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Update an existing project card */ - "projects/update-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The project card's note */ - note?: string | null; - /** @description Whether or not the card is archived */ - archived?: boolean; + /** @description Resource not found */ + not_found: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** Move a project card */ - "projects/move-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. */ - position: string; - /** @description The unique identifier of the column the card should be moved to */ - column_id?: number; + /** @description Bad Request */ + bad_request: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": Record; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - resource?: string; - field?: string; - }[]; - }; - }; - }; - 422: components["responses"]["validation_failed"]; - /** @description Response */ - 503: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - }[]; - }; + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; }; - }; - }; - }; - /** - * Get a project column - * @description Gets information about a project column. - */ - "projects/get-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-column"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a project column - * @description Deletes a project column. - */ - "projects/delete-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Update an existing project column */ - "projects/update-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Name of the project column */ - name: string; + /** @description Accepted */ + accepted: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-column"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List project cards - * @description Lists the project cards in a project. - */ - "projects/list-cards": { - parameters: { - query?: { - /** @description Filters the project cards that are returned by the card's state. */ - archived_state?: "all" | "archived" | "not_archived"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project-card"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Create a project card */ - "projects/create-card": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - requestBody: { - content: { - "application/json": OneOf<[{ - /** @description The project card's note */ - note: string | null; - }, { - /** @description The unique identifier of the content associated with the card */ - content_id: number; - /** @description The piece of content associated with the card */ - content_type: string; - }]>; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description Validation failed */ - 422: { - content: { - "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; - }; - }; - /** @description Response */ - 503: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - }[]; - }; + /** @description Not modified */ + not_modified: { + headers: { + [name: string]: unknown; + }; + content?: never; }; - }; - }; - }; - /** Move a project column */ - "projects/move-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. */ - position: string; + /** @description Requires authentication */ + requires_authentication: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": Record; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a project - * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/get": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Delete a project - * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. - */ - "projects/delete": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Delete Success */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Update a project - * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/update": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Name of the project */ - name?: string; - /** @description Body of the project */ - body?: string | null; - /** @description State of the project; either 'open' or 'closed' */ - state?: string; - /** - * @description The baseline permission that all organization members have on this project - * @enum {string} - */ - organization_permission?: "read" | "write" | "admin" | "none"; - /** @description Whether or not this project can be seen by everyone. */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; - }; - }; - /** @description Not Found if the authenticated user does not have access to the project */ - 404: { - content: never; - }; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List project collaborators - * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. - */ - "projects/list-collaborators": { - parameters: { - query?: { - /** @description Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ - affiliation?: "outside" | "direct" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add project collaborator - * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. - */ - "projects/add-collaborator": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - /** - * @description The permission to grant the collaborator. - * @default write - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - }) | null; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove user as a collaborator - * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. - */ - "projects/remove-collaborator": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get project permission for a user - * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. - */ - "projects/get-permission-for-user": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-collaborator-permission"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List project columns - * @description Lists the project columns in a project. - */ - "projects/list-columns": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project-column"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Create a project column - * @description Creates a new project column. - */ - "projects/create-column": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Name of the project column */ - name: string; + /** @description Forbidden */ + forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project-column"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get rate limit status for the authenticated user - * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. - * - * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: - * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. - * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search)." - * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." - * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." - * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." - * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." - * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." - * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." - * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." - * - * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. - */ - "rate-limit/get": { - responses: { - /** @description Response */ - 200: { - headers: { - "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; - "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; - "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; - }; - content: { - "application/json": components["schemas"]["rate-limit-overview"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a repository - * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "repos/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a repository - * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. - * - * If an organization owner has configured the organization to prevent members from deleting organization-owned - * repositories, you will get a `403 Forbidden` response. - */ - "repos/delete": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 307: components["responses"]["temporary_redirect"]; - /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + /** @description Service unavailable */ + service_unavailable: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Forbidden Gist */ + forbidden_gist: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + block?: { + reason?: string; + created_at?: string; + html_url?: string | null; + }; + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Moved permanently */ + moved_permanently: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Conflict */ + conflict: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description Response */ + actions_runner_jitconfig: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + runner: components["schemas"]["runner"]; + /** @description The base64 encoded runner configuration. */ + encoded_jit_config: string; + }; + }; + }; + /** @description Response */ + actions_runner_labels: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** @description Response */ + actions_runner_labels_readonly: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; + }; + /** @description Internal Error */ + internal_error: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + /** @description The value of `per_page` multiplied by `page` cannot be greater than 10000. */ + package_es_list_error: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description A header with no content is returned. */ + no_content: { + headers: { + [name: string]: unknown; + }; + content?: never; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a repository - * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. - */ - "repos/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the repository. */ - name?: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. - * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. - * @default false - */ - private?: boolean; - /** - * @description The visibility of the repository. - * @enum {string} - */ - visibility?: "public" | "private"; - /** - * @description Specify which security and analysis features to enable or disable for the repository. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: - * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. - * - * You can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. - */ - security_and_analysis?: { - /** @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ - advanced_security?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; + /** @description Gone */ + gone: { + headers: { + [name: string]: unknown; }; - /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ - secret_scanning?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; + content: { + "application/json": components["schemas"]["basic-error"]; }; - /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ - secret_scanning_push_protection?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; - }; - } | null; - /** - * @description Either `true` to enable issues for this repository or `false` to disable them. - * @default true - */ - has_issues?: boolean; - /** - * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. - * @default true - */ - has_projects?: boolean; - /** - * @description Either `true` to enable the wiki for this repository or `false` to disable it. - * @default true - */ - has_wiki?: boolean; - /** - * @description Either `true` to make this repo available as a template repository or `false` to prevent it. - * @default false - */ - is_template?: boolean; - /** @description Updates the default branch for this repository. */ - default_branch?: string; - /** - * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. - * @default false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to archive this repository. `false` will unarchive a previously archived repository. - * @default false - */ - archived?: boolean; - /** - * @description Either `true` to allow private forks, or `false` to prevent private forks. - * @default false - */ - allow_forking?: boolean; - /** - * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. - * @default false - */ - web_commit_signoff_required?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 307: components["responses"]["temporary_redirect"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List artifacts for a repository - * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-artifacts-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - name?: components["parameters"]["artifact-name"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; }; - content: { - "application/json": { - total_count: number; - artifacts: components["schemas"]["artifact"][]; - }; + /** @description Temporary Redirect */ + temporary_redirect: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - }; - /** - * Get an artifact - * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-artifact": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - artifact_id: components["parameters"]["artifact-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["artifact"]; - }; - }; - }; - }; - /** - * Delete an artifact - * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-artifact": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - artifact_id: components["parameters"]["artifact-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Download an artifact - * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in - * the response header to find the URL for the download. The `:archive_format` must be `zip`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/download-artifact": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - artifact_id: components["parameters"]["artifact-id"]; - archive_format: string; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - Location: components["headers"]["location"]; - }; - content: never; - }; - 410: components["responses"]["gone"]; - }; - }; - /** - * Get GitHub Actions cache usage for a repository - * @description Gets GitHub Actions cache usage for a repository. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-actions-cache-usage": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-cache-usage-by-repository"]; - }; - }; - }; - }; - /** - * List GitHub Actions caches for a repository - * @description Lists the GitHub Actions caches for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-actions-cache-list": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - ref?: components["parameters"]["actions-cache-git-ref-full"]; - key?: components["parameters"]["actions-cache-key"]; - sort?: components["parameters"]["actions-cache-list-sort"]; - direction?: components["parameters"]["direction"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["actions-cache-list"]; - }; - }; - }; - }; - /** - * Delete GitHub Actions caches for a repository (using a cache key) - * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-actions-cache-by-key": { - parameters: { - query: { - key: components["parameters"]["actions-cache-key-required"]; - ref?: components["parameters"]["actions-cache-git-ref-full"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-cache-list"]; - }; - }; - }; - }; - /** - * Delete a GitHub Actions cache for a repository (using a cache ID) - * @description Deletes a GitHub Actions cache for a repository, using a cache ID. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-actions-cache-by-id": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - cache_id: components["parameters"]["cache-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get a job for a workflow run - * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-job-for-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - job_id: components["parameters"]["job-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["job"]; - }; - }; - }; - }; - /** - * Download job logs for a workflow run - * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look - * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can - * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must - * have the `actions:read` permission to use this endpoint. - */ - "actions/download-job-logs-for-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - job_id: components["parameters"]["job-id"]; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/jobs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Re-run a job from a workflow run - * @description Re-run a job and its dependent jobs in a workflow run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/re-run-job-for-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - job_id: components["parameters"]["job-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get the customization template for an OIDC subject claim for a repository - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. - */ - "actions/get-custom-oidc-sub-claim-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Status response */ - 200: { - content: { - "application/json": components["schemas"]["oidc-custom-sub-repo"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set the customization template for an OIDC subject claim for a repository - * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/set-custom-oidc-sub-claim-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ - use_default: boolean; - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys?: string[]; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - responses: { - /** @description Empty response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List repository organization secrets - * @description Lists all organization secrets shared with a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-repo-organization-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_write: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - /** - * List repository organization variables - * @description Lists all organiation variables shared with a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-repo-organization-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Found */ + found: { + headers: { + [name: string]: unknown; + }; + content?: never; }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Get GitHub Actions permissions for a repository - * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/get-github-actions-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-repository-permissions"]; - }; - }; - }; - }; - /** - * Set GitHub Actions permissions for a repository - * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/set-github-actions-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - enabled: components["schemas"]["actions-enabled"]; - allowed_actions?: components["schemas"]["allowed-actions"]; + /** @description Response if there is already a validation run in progress with a different default setup configuration */ + code_scanning_conflict: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get the level of access for workflows outside of the repository - * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - "actions/get-workflow-access-to-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-workflow-access-to-repository"]; - }; - }; - }; - }; - /** - * Set the level of access for workflows outside of the repository - * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - "actions/set-workflow-access-to-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["actions-workflow-access-to-repository"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get allowed actions and reusable workflows for a repository - * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/get-allowed-actions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - }; - }; - /** - * Set allowed actions and reusable workflows for a repository - * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/set-allowed-actions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get default workflow permissions for a repository - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, - * as well as if GitHub Actions can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - "actions/get-github-actions-default-workflow-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; - }; - }; - }; - }; - /** - * Set default workflow permissions for a repository - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions - * can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - "actions/set-github-actions-default-workflow-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; - }; - }; - responses: { - /** @description Success response */ - 204: { - content: never; - }; - /** @description Conflict response when changing a setting is prevented by the owning organization */ - 409: { - content: never; - }; - }; - }; - /** - * List self-hosted runners for a repository - * @description Lists all self-hosted runners configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-self-hosted-runners-for-repo": { - parameters: { - query?: { - /** @description The name of a self-hosted runner. */ - name?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + dependency_review_forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; - }; - }; - }; - }; - /** - * List runner applications for a repository - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-runner-applications-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner-application"][]; - }; - }; - }; - }; - /** - * Create configuration for a just-in-time runner for a repository - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/generate-runner-jitconfig-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the new runner. */ - name: string; - /** @description The ID of the runner group to register the runner to. */ - runner_group_id: number; - /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ - labels: string[]; - /** - * @description The working directory to be used for job execution, relative to the runner install directory. - * @default _work - */ - work_folder?: string; - }; - }; - }; - responses: { - 201: components["responses"]["actions_runner_jitconfig"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create a registration token for a repository - * @description Returns a token that you can pass to the `config` script. The token - * expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided - * by this endpoint. - * - * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN``` - */ - "actions/create-registration-token-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Create a remove token for a repository - * @description Returns a token that you can pass to remove a self-hosted runner from - * a repository. The token expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from a repository, replace TOKEN with - * the remove token provided by this endpoint. - * - * ```config.sh remove --token TOKEN``` - */ - "actions/create-remove-token-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Get a self-hosted runner for a repository - * @description Gets a specific self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/get-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner"]; - }; - }; - }; - }; - /** - * Delete a self-hosted runner from a repository - * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/delete-self-hosted-runner-from-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List labels for a self-hosted runner for a repository - * @description Lists all labels for a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-labels-for-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set custom labels for a self-hosted runner for a repository - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/set-custom-labels-for-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ - labels: string[]; + /** @description Unavailable due to service under maintenance. */ + porter_maintenance: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Add custom labels to a self-hosted runner for a repository - * @description Add custom labels to a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/add-custom-labels-to-self-hosted-runner-for-repo": { parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to add to the runner. */ - labels: string[]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + "pagination-before": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + "pagination-after": string; + /** @description The direction to sort the results by. */ + direction: "asc" | "desc"; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: string; + /** @description The number of results per page (max 100). */ + "per-page": number; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor: string; + "delivery-id": number; + /** @description Page number of the results to fetch. */ + page: number; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since: string; + /** @description The unique identifier of the installation. */ + "installation-id": number; + /** @description The client ID of the GitHub app. */ + "client-id": string; + "app-slug": string; + /** @description The unique identifier of the classroom assignment. */ + "assignment-id": number; + /** @description The unique identifier of the classroom. */ + "classroom-id": number; + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + "dependabot-alert-comma-separated-states": string; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + "dependabot-alert-comma-separated-severities": string; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + "dependabot-alert-comma-separated-ecosystems": string; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + "dependabot-alert-comma-separated-packages": string; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + "dependabot-alert-scope": "development" | "runtime"; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. */ + "dependabot-alert-sort": "created" | "updated"; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + "pagination-first": number; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + "pagination-last": number; + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + "secret-scanning-alert-state": "open" | "resolved"; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ + "secret-scanning-alert-secret-type": string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + "secret-scanning-alert-resolution": string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + "secret-scanning-alert-sort": "created" | "updated"; + /** @description The unique identifier of the gist. */ + "gist-id": string; + /** @description The unique identifier of the comment. */ + "comment-id": number; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels: string; + /** @description account_id parameter */ + "account-id": number; + /** @description The unique identifier of the plan. */ + "plan-id": number; + /** @description The property to sort the results by. */ + sort: "created" | "updated"; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: string; + /** @description If `true`, show notifications marked as read. */ + all: boolean; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating: boolean; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before: string; + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + "thread-id": number; + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + "since-org": number; + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The unique identifier of the repository. */ + "repository-id": number; + /** @description Unique identifier of the self-hosted runner. */ + "runner-id": number; + /** @description The name of a self-hosted runner's custom label. */ + "runner-label-name": string; + /** @description The name of the secret. */ + "secret-name": string; + /** @description The number of results per page (max 30). */ + "variables-per-page": number; + /** @description The name of the variable. */ + "variable-name": string; + /** @description The handle for the GitHub user account. */ + username: string; + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + "tool-name": components["schemas"]["code-scanning-analysis-tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + "tool-guid": components["schemas"]["code-scanning-analysis-tool-guid"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + "hook-id": number; + /** @description The unique identifier of the invitation. */ + "invitation-id": number; + /** @description The name of the codespace. */ + "codespace-name": string; + /** @description The unique identifier of the migration. */ + "migration-id": number; + /** @description repo_name parameter */ + "repo-name": string; + /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + "package-visibility": "public" | "private" | "internal"; + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + "package-type": "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** @description The name of the package. */ + "package-name": string; + /** @description Unique identifier of the package version. */ + "package-version-id": number; + /** @description The property by which to sort the results. */ + "personal-access-token-sort": "created_at"; + /** @description A list of owner usernames to use to filter the results. */ + "personal-access-token-owner": string[]; + /** @description The name of the repository to use to filter the results. */ + "personal-access-token-repository": string; + /** @description The permission to use to filter the results. */ + "personal-access-token-permission": string; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-before": string; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-after": string; + /** @description The unique identifier of the fine-grained personal access token. */ + "fine-grained-personal-access-token-id": number; + /** @description The name of the repository to filter on. When specified, only rule evaluations from this repository will be returned. */ + "repository-name-in-query": number; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for insights that occurred in the past 7 days (168 hours). */ + "time-period": "hour" | "day" | "week" | "month"; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + "actor-name-in-query": string; + /** @description The rule results to filter on. When specified, only suites with this result will be returned. */ + "rule-suite-result": "pass" | "fail" | "bypass" | "all"; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + "rule-suite-id": number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + "secret-scanning-pagination-before-org-repo": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + "secret-scanning-pagination-after-org-repo": string; + /** @description The slug of the team name. */ + "team-slug": string; + /** @description The number that identifies the discussion. */ + "discussion-number": number; + /** @description The number that identifies the comment. */ + "comment-number": number; + /** @description The unique identifier of the reaction. */ + "reaction-id": number; + /** @description The unique identifier of the project. */ + "project-id": number; + /** @description The security feature to enable or disable. */ + "security-product": "dependency_graph" | "dependabot_alerts" | "dependabot_security_updates" | "advanced_security" | "code_scanning_default_setup" | "secret_scanning" | "secret_scanning_push_protection"; + /** @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. */ + "org-security-product-enablement": "enable_all" | "disable_all"; + /** @description The unique identifier of the card. */ + "card-id": number; + /** @description The unique identifier of the column. */ + "column-id": number; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + "artifact-name": string; + /** @description The unique identifier of the artifact. */ + "artifact-id": number; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + "actions-cache-git-ref-full": string; + /** @description An explicit key or prefix for identifying the cache */ + "actions-cache-key": string; + /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + "actions-cache-list-sort": "created_at" | "last_accessed_at" | "size_in_bytes"; + /** @description A key for identifying the cache. */ + "actions-cache-key-required": string; + /** @description The unique identifier of the GitHub Actions cache. */ + "cache-id": number; + /** @description The unique identifier of the job. */ + "job-id": number; + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor: string; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + "workflow-run-branch": string; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event: string; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ + "workflow-run-status": "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting" | "pending"; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created: string; + /** @description If `true` pull requests are omitted from the response (empty array). */ + "exclude-pull-requests": boolean; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + "workflow-run-check-suite-id": number; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + "workflow-run-head-sha": string; + /** @description The unique identifier of the workflow run. */ + "run-id": number; + /** @description The attempt number of the workflow run. */ + "attempt-number": number; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + "workflow-id": number | string; + /** @description The unique identifier of the autolink. */ + "autolink-id": number; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: string; + /** @description The unique identifier of the check run. */ + "check-run-id": number; + /** @description The unique identifier of the check suite. */ + "check-suite-id": number; + /** @description Returns check runs with the specified `name`. */ + "check-name": string; + /** @description Returns check runs with the specified `status`. */ + status: "queued" | "in_progress" | "completed"; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + "git-ref": components["schemas"]["code-scanning-ref"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + "alert-number": components["schemas"]["alert-number"]; + /** @description The SHA of the commit. */ + "commit-sha": string; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + "commit-ref": string; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + "dependabot-alert-comma-separated-manifests": string; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + "dependabot-alert-number": components["schemas"]["alert-number"]; + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + "manifest-path": string; + /** @description deployment_id parameter */ + "deployment-id": number; + /** @description The name of the environment. */ + "environment-name": string; + /** @description The unique identifier of the branch policy. */ + "branch-policy-id": number; + /** @description The unique identifier of the protection rule. */ + "protection-rule-id": number; + /** @description A user ID. Only return users with an ID greater than this ID. */ + "since-user": number; + /** @description The number that identifies the issue. */ + "issue-number": number; + /** @description The unique identifier of the key. */ + "key-id": number; + /** @description The number that identifies the milestone. */ + "milestone-number": number; + /** @description The number that identifies the pull request. */ + "pull-number": number; + /** @description The unique identifier of the review. */ + "review-id": number; + /** @description The unique identifier of the asset. */ + "asset-id": number; + /** @description The unique identifier of the release. */ + "release-id": number; + /** @description The name of the ref. Cannot contain wildcard characters. When specified, only rule evaluations triggered for this ref will be returned. */ + "ref-in-query": string; + /** @description The unique identifier of the tag protection. */ + "tag-protection-id": number; + /** @description The time frame to display results for. */ + per: "day" | "week"; + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + "since-repo": number; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order: "desc" | "asc"; + /** @description The unique identifier of the team. */ + "team-id": number; + /** @description ID of the Repository to filter on */ + "repository-id-in-query": number; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + "export-id": string; + /** @description The unique identifier of the GPG key. */ + "gpg-key-id": number; + /** @description Only show repositories updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "since-repo-date": string; + /** @description Only show repositories updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "before-repo-date": string; + /** @description The unique identifier of the SSH signing key. */ + "ssh-signing-key-id": number; + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + "sort-starred": "created" | "updated"; + }; + requestBodies: never; + headers: { + /** @example ; rel="next", ; rel="last" */ + link: string; + /** @example text/html */ + "content-type": string; + /** @example 0.17.4 */ + "x-common-marker-version": string; + /** @example 5000 */ + "x-rate-limit-limit": number; + /** @example 4999 */ + "x-rate-limit-remaining": number; + /** @example 1590701888 */ + "x-rate-limit-reset": number; + /** @example https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D */ + location: string; + }; + pathItems: never; +} +export type $defs = Record; +export interface operations { + "meta/root": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["root"]; + }; + }; }; - }; }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Remove all custom labels from a self-hosted runner for a repository - * @description Remove all custom labels from a self-hosted runner configured in a - * repository. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; + "security-advisories/list-global-advisories": { + parameters: { + query?: { + /** @description If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. */ + ghsa_id?: string; + /** @description If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. */ + type?: "reviewed" | "malware" | "unreviewed"; + /** @description If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. */ + cve_id?: string; + /** @description If specified, only advisories for these ecosystems will be returned. */ + ecosystem?: "actions" | "composer" | "erlang" | "go" | "maven" | "npm" | "nuget" | "other" | "pip" | "pub" | "rubygems" | "rust"; + /** @description If specified, only advisories with these severities will be returned. */ + severity?: "unknown" | "low" | "medium" | "high" | "critical"; + /** @description If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. + * + * Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` */ + cwes?: string | string[]; + /** @description Whether to only return advisories that have been withdrawn. */ + is_withdrawn?: boolean; + /** @description If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. + * If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. + * + * Example: `affects=package1,package2@1.0.0,package3@^2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` */ + affects?: string | string[]; + /** @description If specified, only return advisories that were published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + published?: string; + /** @description If specified, only return advisories that were updated on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + updated?: string; + /** @description If specified, only show advisories that were updated or published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + modified?: string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description The property to sort the results by. */ + sort?: "updated" | "published"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["global-advisory"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + /** @description Too many requests */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - 200: components["responses"]["actions_runner_labels_readonly"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove a custom label from a self-hosted runner for a repository - * @description Remove a custom label from a self-hosted runner configured - * in a repository. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-custom-label-from-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - name: components["parameters"]["runner-label-name"]; - }; + "security-advisories/get-global-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["global-advisory"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/get-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + }; }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List workflow runs for a repository - * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-workflow-runs-for-repo": { - parameters: { - query?: { - actor?: components["parameters"]["actor"]; - branch?: components["parameters"]["workflow-run-branch"]; - event?: components["parameters"]["event"]; - status?: components["parameters"]["workflow-run-status"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - created?: components["parameters"]["created"]; - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; - head_sha?: components["parameters"]["workflow-run-head-sha"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "apps/create-from-manifest": { + parameters: { + query?: never; + header?: never; + path: { + code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"] & { + client_id: string; + client_secret: string; + webhook_secret: string | null; + pem: string; + [key: string]: unknown; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "apps/get-webhook-config-for-app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "apps/update-webhook-config-for-app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; }; - content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; }; - }; - }; - }; - /** - * Get a workflow run - * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow-run": { - parameters: { - query?: { - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run"]; - }; - }; - }; - }; - /** - * Delete a workflow run - * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is - * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use - * this endpoint. - */ - "actions/delete-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get the review history for a workflow run - * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-reviews-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["environment-approvals"][]; - }; - }; - }; - }; - /** - * Approve a workflow run for a fork pull request - * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/approve-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List workflow run artifacts - * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-workflow-run-artifacts": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - name?: components["parameters"]["artifact-name"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "apps/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + redelivery?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; - content: { - "application/json": { - total_count: number; - artifacts: components["schemas"]["artifact"][]; - }; - }; - }; - }; - }; - /** - * Get a workflow run attempt - * @description Gets a specific workflow run attempt. Anyone with read access to the repository - * can use this endpoint. If the repository is private you must use an access token - * with the `repo` scope. GitHub Apps must have the `actions:read` permission to - * use this endpoint. - */ - "actions/get-workflow-run-attempt": { - parameters: { - query?: { - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - attempt_number: components["parameters"]["attempt-number"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run"]; - }; - }; - }; - }; - /** - * List jobs for a workflow run attempt - * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - "actions/list-jobs-for-workflow-run-attempt": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - attempt_number: components["parameters"]["attempt-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "apps/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; }; - content: { - "application/json": { - total_count: number; - jobs: components["schemas"]["job"][]; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download workflow run attempt logs - * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after - * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/download-workflow-run-attempt-logs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - attempt_number: components["parameters"]["attempt-number"]; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Cancel a workflow run - * @description Cancels a workflow run using its `id`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/cancel-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 409: components["responses"]["conflict"]; - }; - }; - /** - * Review custom deployment protection rules for a workflow run - * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * **Note:** GitHub Apps can only review their own custom deployment protection rules. - * To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). - * - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. - */ - "actions/review-custom-gates-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; }; - requestBody: { - content: { - "application/json": components["schemas"]["review-custom-gates-comment-required"] | components["schemas"]["review-custom-gates-state-required"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Force cancel a workflow run - * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. - * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/force-cancel-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 409: components["responses"]["conflict"]; - }; - }; - /** - * List jobs for a workflow run - * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - "actions/list-jobs-for-workflow-run": { - parameters: { - query?: { - /** @description Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ - filter?: "latest" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "apps/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/list-installation-requests-for-authenticated-app": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of integration installation requests */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration-installation-request"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + "apps/list-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + outdated?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"][]; + }; + }; }; - content: { - "application/json": { - total_count: number; - jobs: components["schemas"]["job"][]; - }; - }; - }; - }; - }; - /** - * Download workflow run logs - * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for - * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use - * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have - * the `actions:read` permission to use this endpoint. - */ - "actions/download-workflow-run-logs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Delete workflow run logs - * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-workflow-run-logs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; + "apps/get-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get pending deployments for a workflow run - * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-pending-deployments-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; + "apps/delete-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pending-deployment"][]; - }; - }; - }; - }; - /** - * Review pending deployments for a workflow run - * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. - * - * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. - */ - "actions/review-pending-deployments-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The list of environment ids to approve or reject */ - environment_ids: number[]; - /** - * @description Whether to approve or reject deployment to the specified environments. - * @enum {string} - */ - state: "approved" | "rejected"; - /** @description A comment to accompany the deployment review */ - comment: string; - }; - }; + "apps/create-installation-access-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description List of repository names that the token should have access to */ + repositories?: string[]; + /** @description List of repository IDs that the token should have access to */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation-token"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/suspend-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment"][]; - }; - }; - }; - }; - /** - * Re-run a workflow - * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/re-run-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; + "apps/unsuspend-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Re-run failed jobs from a workflow run - * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. - */ - "actions/re-run-workflow-failed-jobs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; + "apps/delete-authorization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get workflow run usage - * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow-run-usage": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; + "apps/check-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run-usage"]; - }; - }; - }; - }; - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-repo-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "apps/delete-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "apps/reset-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-repo-public-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; + "apps/scope-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The access token used to authenticate to the GitHub API. */ + access_token: string; + /** @description The name of the user or organization to scope the user access token to. **Required** unless `target_id` is specified. */ + target?: string; + /** @description The ID of the user or organization to scope the user access token to. **Required** unless `target` is specified. */ + target_id?: number; + /** @description The list of repository names to scope the user access token to. `repositories` may not be specified if `repository_ids` is specified. */ + repositories?: string[]; + /** @description The list of repository IDs to scope the user access token to. `repository_ids` may not be specified if `repositories` is specified. */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-by-slug": { + parameters: { + query?: never; + header?: never; + path: { + app_slug: components["parameters"]["app-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-secret"]; - }; - }; - }; - }; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/create-or-update-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/actions/secrets#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; - }; + "classroom/get-an-assignment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-assignment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/delete-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; + "classroom/list-accepted-assigments-for-an-assignment": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-accepted-assignment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository variables - * @description Lists all repository variables. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-repo-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "classroom/get-assignment-grades": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-assignment-grade"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "classroom/list-classrooms": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-classroom"][]; + }; + }; }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Create a repository variable - * @description Creates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/create-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; + "classroom/get-a-classroom": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom. */ + classroom_id: components["parameters"]["classroom-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom"]; + }; + }; + 404: components["responses"]["not_found"]; }; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get a repository variable - * @description Gets a specific variable in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/get-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: components["parameters"]["variable-name"]; - }; + "classroom/list-assignments-for-a-classroom": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the classroom. */ + classroom_id: components["parameters"]["classroom-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-classroom-assignment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-variable"]; - }; - }; - }; - }; - /** - * Delete a repository variable - * @description Deletes a repository variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/delete-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: components["parameters"]["variable-name"]; - }; + "codes-of-conduct/get-all-codes-of-conduct": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-of-conduct"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a repository variable - * @description Updates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/update-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: components["parameters"]["variable-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - }; - }; + "codes-of-conduct/get-conduct-code": { + parameters: { + query?: never; + header?: never; + path: { + key: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + "emojis/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "dependabot/list-alerts-for-enterprise": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "secret-scanning/list-alerts-for-enterprise": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository workflows - * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-repo-workflows": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "activity/list-public-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "activity/get-feeds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["feed"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "gists/list": { + parameters: { + query?: { + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/create": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Description of the gist */ + description?: string; + /** @description Names and content for the files that make up the gist */ + files: { + [key: string]: { + /** @description Content of the file */ + content: string; + }; + }; + public?: boolean | ("true" | "false"); + }; + }; }; - content: { - "application/json": { - total_count: number; - workflows: components["schemas"]["workflow"][]; - }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/list-public": { + parameters: { + query?: { + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/list-starred": { + parameters: { + query?: { + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The description of the gist. */ + description?: string; + /** @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename + * (including extension) of the targeted gist file. For example: `hello.py`. + * + * To delete a file, set the whole file to null. For example: `hello.py : null`. The file will also be + * deleted if the specified object does not contain at least one of `content` or `filename`. */ + files?: { + [key: string]: { + /** @description The new content of the file. */ + content?: string; + /** @description The new filename for the file. */ + filename?: string | null; + } | null; + }; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - }; }; - }; - /** - * Get a workflow - * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; + "gists/list-comments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/create-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The comment text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The comment text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow"]; - }; - }; - }; - }; - /** - * Disable a workflow - * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/disable-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; + "gists/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-commit"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-forks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/fork": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/check-is-starred": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if gist is starred */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if gist is not starred */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Create a workflow dispatch event - * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." - */ - "actions/create-workflow-dispatch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The git reference for the workflow. The reference can be a branch or tag name. */ - ref: string; - /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ - inputs?: { - [key: string]: unknown; - }; + "gists/star": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/unstar": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-revision": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gitignore/get-all-templates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 304: components["responses"]["not_modified"]; }; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Enable a workflow - * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/enable-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List workflow runs for a workflow - * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - */ - "actions/list-workflow-runs": { - parameters: { - query?: { - actor?: components["parameters"]["actor"]; - branch?: components["parameters"]["workflow-run-branch"]; - event?: components["parameters"]["event"]; - status?: components["parameters"]["workflow-run-status"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - created?: components["parameters"]["created"]; - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; - head_sha?: components["parameters"]["workflow-run-head-sha"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; + "gitignore/get-template": { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gitignore-template"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "apps/list-repos-accessible-to-installation": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + repository_selection?: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "apps/revoke-installation-access-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; - }; - }; - }; - }; - /** - * Get workflow usage - * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow-usage": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-usage"]; - }; - }; - }; - }; - /** - * List repository activities - * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. - * - * For more information about viewing repository activity, - * see "[Viewing repository activity](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/viewing-repository-activity)." - */ - "repos/list-activities": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - /** - * @description The Git reference for the activities you want to list. - * - * The `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch. - */ - ref?: string; - /** @description The GitHub username to use to filter by the actor who performed the activity. */ - actor?: string; - /** - * @description The time period to filter by. - * - * For example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours). - */ - time_period?: "day" | "week" | "month" | "quarter" | "year"; - /** - * @description The activity type to filter by. - * - * For example, you can choose to filter by "force_push", to see all force pushes to the repository. - */ - activity_type?: "push" | "force_push" | "branch_creation" | "branch_deletion" | "pr_merge" | "merge_queue_merge"; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/list": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + collab?: boolean; + orgs?: boolean; + owned?: boolean; + pulls?: boolean; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "licenses/get-all-commonly-used": { + parameters: { + query?: { + featured?: boolean; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["activity"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List assignees - * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. - */ - "issues/list-assignees": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "licenses/get": { + parameters: { + query?: never; + header?: never; + path: { + license: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "markdown/render": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The Markdown text to render in HTML. */ + text: string; + /** + * @description The rendering mode. + * @default markdown + * @enum {string} + */ + mode: "markdown" | "gfm"; + /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ + context?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "Content-Type": components["headers"]["content-type"]; + /** @example 279 */ + "Content-Length"?: string; + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + [name: string]: unknown; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if a user can be assigned - * @description Checks if a user has permission to be assigned to an issue in this repository. - * - * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - "issues/check-user-can-be-assigned": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - assignee: string; - }; + "markdown/render-raw": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "text/plain": string; + "text/x-markdown": string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + [name: string]: unknown; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ - 204: { - content: never; - }; - /** @description Otherwise a `404` status code is returned. */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * List all autolinks of a repository - * @description This returns a list of autolinks configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - "repos/list-autolinks": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "apps/get-subscription-plan-for-account": { + parameters: { + query?: never; + header?: never; + path: { + /** @description account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["autolink"][]; - }; - }; - }; - }; - /** - * Create an autolink reference for a repository - * @description Users with admin access to the repository can create an autolink. - */ - "repos/create-autolink": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit. */ - key_prefix: string; - /** @description The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`. */ - url_template: string; - /** - * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. - * @default true - */ - is_alphanumeric?: boolean; - }; - }; + "apps/list-plans": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-accounts-for-plan": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-subscription-plan-for-account-stubbed": { + parameters: { + query?: never; + header?: never; + path: { + /** @description account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["autolink"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an autolink reference of a repository - * @description This returns a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - "repos/get-autolink": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - autolink_id: components["parameters"]["autolink-id"]; - }; + "apps/list-plans-stubbed": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + "apps/list-accounts-for-plan-stubbed": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + "meta/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["autolink"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an autolink reference from a repository - * @description This deletes a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - "repos/delete-autolink": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - autolink_id: components["parameters"]["autolink-id"]; - }; + "activity/list-public-events-for-repo-network": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-notifications-for-authenticated-user": { + parameters: { + query?: { + /** @description If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 50). */ + per_page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "activity/mark-notifications-as-read": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + /** @description Whether the notification has been read. */ + read?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/get-thread": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/mark-thread-as-read": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if automated security fixes are enabled for a repository - * @description Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - "repos/check-automated-security-fixes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "activity/get-thread-subscription-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/set-thread-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to block all notifications from a thread. + * @default false + */ + ignored: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/delete-thread-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description Response if dependabot is enabled */ - 200: { - content: { - "application/json": components["schemas"]["check-automated-security-fixes"]; - }; - }; - /** @description Not Found if dependabot is not enabled for the repository */ - 404: { - content: never; - }; - }; - }; - /** - * Enable automated security fixes - * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - "repos/enable-automated-security-fixes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "meta/get-octocat": { + parameters: { + query?: { + /** @description The words to show in Octocat's speech bubble */ + s?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/octocat-stream": string; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Disable automated security fixes - * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - "repos/disable-automated-security-fixes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "orgs/list": { + parameters: { + query?: { + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + since?: components["parameters"]["since-org"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** List branches */ - "repos/list-branches": { - parameters: { - query?: { - /** @description Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ - protected?: boolean; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "orgs/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "orgs/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Billing email address. This address is not publicized. */ + billing_email?: string; + /** @description The company name. */ + company?: string; + /** @description The publicly visible email address. */ + email?: string; + /** @description The Twitter username of the company. */ + twitter_username?: string; + /** @description The location. */ + location?: string; + /** @description The shorthand name of the company. */ + name?: string; + /** @description The description of the company. */ + description?: string; + /** @description Whether an organization can use organization projects. */ + has_organization_projects?: boolean; + /** @description Whether repositories that belong to the organization can use repository projects. */ + has_repository_projects?: boolean; + /** + * @description Default permission level members have for organization repositories. + * @default read + * @enum {string} + */ + default_repository_permission: "read" | "write" | "admin" | "none"; + /** + * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + * @default true + */ + members_can_create_repositories: boolean; + /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_internal_repositories?: boolean; + /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_private_repositories?: boolean; + /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_public_repositories?: boolean; + /** + * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + * @enum {string} + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** + * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_pages: boolean; + /** + * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_public_pages: boolean; + /** + * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_private_pages: boolean; + /** + * @description Whether organization members can fork private organization repositories. + * @default false + */ + members_can_fork_private_repositories: boolean; + /** + * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. + * @default false + */ + web_commit_signoff_required: boolean; + blog?: string; + /** @description Whether GitHub Advanced Security is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + advanced_security_enabled_for_new_repositories?: boolean; + /** @description Whether Dependabot alerts is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** @description Whether Dependabot security updates is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** @description Whether dependency graph is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** @description Whether secret scanning is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** @description Whether secret scanning push protection is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ + secret_scanning_push_protection_custom_link?: string; + }; + }; }; - content: { - "application/json": components["schemas"]["short-branch"][]; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 409: components["responses"]["conflict"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; + }; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Get a branch */ - "repos/get-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-with-protection"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-protection"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Protecting a branch requires admin or owner permissions to the repository. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - * - * **Note**: The list of users, apps, and teams in total is limited to 100 items. - */ - "repos/update-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Require status checks to pass before merging. Set to `null` to disable. */ - required_status_checks: { - /** @description Require branches to be up to date before merging. */ - strict: boolean; - /** - * @deprecated - * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. - */ - contexts: string[]; - /** @description The list of status checks to require in order to merge into this branch. */ - checks?: { - /** @description The name of the required check */ - context: string; - /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ - app_id?: number; - }[]; - } | null; - /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ - enforce_admins: boolean | null; - /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ - required_pull_request_reviews: { - /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ - dismissal_restrictions?: { - /** @description The list of user `login`s with dismissal access */ - users?: string[]; - /** @description The list of team `slug`s with dismissal access */ - teams?: string[]; - /** @description The list of app `slug`s with dismissal access */ - apps?: string[]; - }; - /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ - dismiss_stale_reviews?: boolean; - /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ - require_code_owner_reviews?: boolean; - /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. - * @default false - */ - require_last_push_approval?: boolean; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of user `login`s allowed to bypass pull request requirements. */ - users?: string[]; - /** @description The list of team `slug`s allowed to bypass pull request requirements. */ - teams?: string[]; - /** @description The list of app `slug`s allowed to bypass pull request requirements. */ - apps?: string[]; - }; - } | null; - /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ - restrictions: { - /** @description The list of user `login`s with push access */ - users: string[]; - /** @description The list of team `slug`s with push access */ - teams: string[]; - /** @description The list of app `slug`s with push access */ - apps?: string[]; - } | null; - /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ - required_linear_history?: boolean; - /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ - allow_force_pushes?: boolean | null; - /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ - allow_deletions?: boolean; - /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ - block_creations?: boolean; - /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ - required_conversation_resolution?: boolean; - /** - * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. - * @default false - */ - lock_branch?: boolean; - /** - * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. - * @default false - */ - allow_fork_syncing?: boolean; - }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Delete branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/delete-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/get-actions-cache-usage-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-admin-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/get-actions-cache-usage-by-repo-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - }; - }; - /** - * Set admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - "repos/set-admin-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "oidc/get-oidc-custom-sub-template-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A JSON serialized template for OIDC subject claim customization */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - }; - }; - /** - * Delete admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - "repos/delete-admin-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "oidc/update-oidc-custom-sub-template-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + responses: { + /** @description Empty response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-pull-request-review-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/get-github-actions-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-organization-permissions"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-pull-request-review"]; - }; - }; - }; - }; - /** - * Delete pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/delete-pull-request-review-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/set-github-actions-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - */ - "repos/update-pull-request-review-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ - dismissal_restrictions?: { - /** @description The list of user `login`s with dismissal access */ - users?: string[]; - /** @description The list of team `slug`s with dismissal access */ - teams?: string[]; - /** @description The list of app `slug`s with dismissal access */ - apps?: string[]; - }; - /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ - dismiss_stale_reviews?: boolean; - /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ - require_code_owner_reviews?: boolean; - /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` - * @default false - */ - require_last_push_approval?: boolean; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of user `login`s allowed to bypass pull request requirements. */ - users?: string[]; - /** @description The list of team `slug`s allowed to bypass pull request requirements. */ - teams?: string[]; - /** @description The list of app `slug`s allowed to bypass pull request requirements. */ - apps?: string[]; - }; - }; - }; + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-pull-request-review"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. - * - * **Note**: You must enable branch protection to require signed commits. - */ - "repos/get-commit-signature-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/set-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to enable for GitHub Actions. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. - */ - "repos/create-commit-signature-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/enable-selected-repository-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. - */ - "repos/delete-commit-signature-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/disable-selected-repository-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get status checks protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-status-checks-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/get-allowed-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["status-check-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/remove-status-check-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/set-allowed-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. - */ - "repos/update-status-check-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Require branches to be up to date before merging. */ - strict?: boolean; - /** - * @deprecated - * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. - */ - contexts?: string[]; - /** @description The list of status checks to require in order to merge into this branch. */ - checks?: { - /** @description The name of the required check */ - context: string; - /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ - app_id?: number; - }[]; + "actions/get-github-actions-default-workflow-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["status-check-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-all-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/set-github-actions-default-workflow-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/set-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The name of the status checks */ - contexts: string[]; - }, string[]]>; - }; + "actions/list-self-hosted-runners-for-org": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ + name?: string; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/add-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The name of the status checks */ - contexts: string[]; - }, string[]]>; - }; + "actions/list-runner-applications-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/remove-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The name of the status checks */ - contexts: string[]; - }, string[]]>; - }; + "actions/generate-runner-jitconfig-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder: string; + }; + }; + }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists who has access to this protected branch. - * - * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. - */ - "repos/get-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/create-registration-token-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-restriction-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Disables the ability to restrict who can push to this branch. - */ - "repos/delete-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/create-remove-token-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get apps with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/get-apps-with-access-to-protected-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/get-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/set-app-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }, string[]]>; - }; + "actions/delete-self-hosted-runner-from-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/add-app-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }, string[]]>; - }; + "actions/list-labels-for-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-labels-for-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/add-custom-labels-to-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/remove-custom-label-from-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** @description The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-actions-secret"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/remove-app-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }, string[]]>; - }; + "actions/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get teams with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the teams who have push access to this branch. The list includes child teams. - */ - "repos/get-teams-with-access-to-protected-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-actions-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. - */ - "repos/set-team-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The slug values for teams */ - teams: string[]; - }, string[]]>; - }; + "actions/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/actions/secrets#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified teams push access for this branch. You can also give push access to child teams. - */ - "repos/add-team-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The slug values for teams */ - teams: string[]; - }, string[]]>; - }; + "actions/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a team to push to this branch. You can also remove push access for child teams. - */ - "repos/remove-team-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The slug values for teams */ - teams: string[]; - }, string[]]>; - }; + "actions/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get users with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the people who have push access to this branch. - */ - "repos/get-users-with-access-to-protected-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/set-user-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The username for users */ - users: string[]; - }, string[]]>; - }; + "actions/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified people push access for this branch. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/add-user-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The username for users */ - users: string[]; - }, string[]]>; - }; + "actions/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a user to push to this branch. - * - * | Type | Description | - * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/remove-user-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The username for users */ - users: string[]; - }, string[]]>; - }; + "actions/list-org-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["organization-actions-variable"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Rename a branch - * @description Renames a branch in a repository. - * - * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". - * - * The permissions required to use this endpoint depends on whether you are renaming the default branch. - * - * To rename a non-default branch: - * - * * Users must have push access. - * * GitHub Apps must have the `contents:write` repository permission. - * - * To rename the default branch: - * - * * Users must have admin or owner permissions. - * * GitHub Apps must have the `administration:write` repository permission. - */ - "repos/rename-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "actions/create-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a variable */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The new name of the branch. */ - new_name: string; + "actions/get-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-actions-variable"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["branch-with-protection"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. - * - * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. - */ - "checks/create": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** @description The name of the check. For example, "code-coverage". */ - name: string; - /** @description The SHA of the commit. */ - head_sha: string; - /** @description The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. */ - details_url?: string; - /** @description A reference for the run on the integrator's system. */ - external_id?: string; - /** - * @description The current status. - * @default queued - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed"; - /** - * Format: date-time - * @description The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at?: string; - /** - * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. - * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. - * @enum {string} - */ - conclusion?: "action_required" | "cancelled" | "failure" | "neutral" | "success" | "skipped" | "stale" | "timed_out"; - /** - * Format: date-time - * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - completed_at?: string; - /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ - output?: { - /** @description The title of the check run. */ - title: string; - /** @description The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ - summary: string; - /** @description The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ - text?: string; - /** @description Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ - annotations?: ({ - /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ - path: string; - /** @description The start line of the annotation. Line numbers start at 1. */ - start_line: number; - /** @description The end line of the annotation. */ - end_line: number; - /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ - start_column?: number; - /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ - end_column?: number; - /** - * @description The level of the annotation. - * @enum {string} - */ - annotation_level: "notice" | "warning" | "failure"; - /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ - message: string; - /** @description The title that represents the annotation. The maximum size is 255 characters. */ - title?: string; - /** @description Details about this annotation. The maximum size is 64 KB. */ - raw_details?: string; - })[]; - /** @description Adds images to the output displayed in the GitHub pull request UI. */ - images?: { - /** @description The alternative text for the image. */ - alt: string; - /** @description The full URL of the image. */ - image_url: string; - /** @description A short image description. */ - caption?: string; - }[]; - }; - /** @description Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions)." */ - actions?: { - /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ - label: string; - /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ - description: string; - /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ - identifier: string; - }[]; - }) & (OneOf<[{ - /** @enum {unknown} */ - status: "completed"; - [key: string]: unknown; - }, { - /** @enum {unknown} */ - status?: "queued" | "in_progress"; - [key: string]: unknown; - }]>); - }; + "actions/delete-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - /** - * Get a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - "checks/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; + "actions/update-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility?: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - /** - * Update a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. - */ - "checks/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** @description The name of the check. For example, "code-coverage". */ - name?: string; - /** @description The URL of the integrator's site that has the full details of the check. */ - details_url?: string; - /** @description A reference for the run on the integrator's system. */ - external_id?: string; - /** - * Format: date-time - * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at?: string; - /** - * @description The current status. - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed"; - /** - * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. - * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. - * @enum {string} - */ - conclusion?: "action_required" | "cancelled" | "failure" | "neutral" | "success" | "skipped" | "stale" | "timed_out"; - /** - * Format: date-time - * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - completed_at?: string; - /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ - output?: { - /** @description **Required**. */ - title?: string; - /** @description Can contain Markdown. */ - summary: string; - /** @description Can contain Markdown. */ - text?: string; - /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ - annotations?: ({ - /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ - path: string; - /** @description The start line of the annotation. Line numbers start at 1. */ - start_line: number; - /** @description The end line of the annotation. */ - end_line: number; - /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ - start_column?: number; - /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ - end_column?: number; - /** - * @description The level of the annotation. - * @enum {string} - */ - annotation_level: "notice" | "warning" | "failure"; - /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ - message: string; - /** @description The title that represents the annotation. The maximum size is 255 characters. */ - title?: string; - /** @description Details about this annotation. The maximum size is 64 KB. */ - raw_details?: string; - })[]; - /** @description Adds images to the output displayed in the GitHub pull request UI. */ - images?: { - /** @description The alternative text for the image. */ - alt: string; - /** @description The full URL of the image. */ - image_url: string; - /** @description A short image description. */ - caption?: string; - }[]; - }; - /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions)." */ - actions?: { - /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ - label: string; - /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ - description: string; - /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ - identifier: string; - }[]; - }) & ({ - /** @enum {unknown} */ - status?: "completed"; - [key: string]: unknown; - } | ({ - /** @enum {unknown} */ - status?: "queued" | "in_progress"; - [key: string]: unknown; - })); - }; + "actions/list-selected-repos-for-org-variable": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - /** - * List check run annotations - * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. - */ - "checks/list-annotations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; + "actions/set-selected-repos-for-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The IDs of the repositories that can access the organization variable. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["check-annotation"][]; - }; - }; - }; - }; - /** - * Rerequest a check run - * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. - * - * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". - */ - "checks/rerequest-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; + "actions/add-selected-repo-to-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ - 403: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 404: components["responses"]["not_found"]; - /** @description Validation error if the check run is not rerequestable */ - 422: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Create a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. - */ - "checks/create-suite": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/remove-selected-repo-from-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The sha of the head commit. */ - head_sha: string; + "orgs/list-blocked-users": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; }; - }; }; - responses: { - /** @description Response when the suite already exists */ - 200: { - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - /** @description Response when the suite was created */ - 201: { - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - }; - }; - /** - * Update repository preferences for check suites - * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. - */ - "checks/set-suites-preferences": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ - auto_trigger_checks?: { - /** @description The `id` of the GitHub App. */ - app_id: number; - /** - * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. - * @default true - */ - setting: boolean; - }[]; + "orgs/check-blocked-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the user is blocked */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description If the user is not blocked */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-suite-preference"]; - }; - }; - }; - }; - /** - * Get a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - "checks/get-suite": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_suite_id: components["parameters"]["check-suite-id"]; - }; + "orgs/block-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/unblock-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - }; - }; - /** - * List check runs in a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - "checks/list-for-suite": { - parameters: { - query?: { - check_name?: components["parameters"]["check-name"]; - status?: components["parameters"]["status"]; - /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ - filter?: "latest" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_suite_id: components["parameters"]["check-suite-id"]; - }; + "code-scanning/list-alerts-for-org": { + parameters: { + query?: { + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state-query"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated"; + /** @description If specified, only code scanning alerts with this severity will be returned. */ + severity?: components["schemas"]["code-scanning-alert-severity"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "codespaces/list-in-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/set-codespaces-access": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. + * @enum {string} + */ + visibility: "disabled" | "selected_members" | "all_members" | "all_members_and_outside_collaborators"; + /** @description The usernames of the organization members who should have access to codespaces in the organization. Required when `visibility` is `selected_members`. The provided list of usernames will replace any existing value. */ + selected_usernames?: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/set-codespaces-access-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/delete-codespaces-access-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces should not be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-org-secret"][]; + }; + }; + }; }; - content: { - "application/json": { - total_count: number; - check_runs: components["schemas"]["check-run"][]; - }; - }; - }; - }; - }; - /** - * Rerequest a check suite - * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository. - */ - "checks/rerequest-suite": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_suite_id: components["parameters"]["check-suite-id"]; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * List code scanning alerts for a repository - * @description Lists code scanning alerts. - * - * To use this endpoint, you must use an access token with the `security_events` scope or, for alerts from public repositories only, an access token with the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read - * permission to use this endpoint. - * - * The response includes a `most_recent_instance` object. - * This provides details of the most recent instance of this alert - * for the default branch (or for the specified Git reference if you used `ref` in the request). - */ - "code-scanning/list-alerts-for-repo": { - parameters: { - query?: { - tool_name?: components["parameters"]["tool-name"]; - tool_guid?: components["parameters"]["tool-guid"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - ref?: components["parameters"]["git-ref"]; - direction?: components["parameters"]["direction"]; - /** @description The property by which to sort the results. */ - sort?: "created" | "updated"; - /** @description If specified, only code scanning alerts with this state will be returned. */ - state?: components["schemas"]["code-scanning-alert-state-query"]; - /** @description If specified, only code scanning alerts with this severity will be returned. */ - severity?: components["schemas"]["code-scanning-alert-severity"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "codespaces/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert-items"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a code scanning alert - * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/get-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "codespaces/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-org-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a code scanning alert - * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. - */ - "code-scanning/update-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "codespaces/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization secret. You can only provide a list of repository IDs when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; }; - requestBody: { - content: { - "application/json": { - state: components["schemas"]["code-scanning-alert-set-state"]; - dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + "codespaces/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List instances of a code scanning alert - * @description Lists all instances of the specified code scanning alert. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/list-alert-instances": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - ref?: components["parameters"]["git-ref"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "codespaces/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert-instance"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List code scanning analyses for a repository - * @description Lists the details of all code scanning analyses for a repository, - * starting with the most recent. - * The response is paginated and you can use the `page` and `per_page` parameters - * to list the analyses you're interested in. - * By default 30 analyses are listed per page. - * - * The `rules_count` field in the response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * **Deprecation notice**: - * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. - */ - "code-scanning/list-recent-analyses": { - parameters: { - query?: { - tool_name?: components["parameters"]["tool-name"]; - tool_guid?: components["parameters"]["tool-guid"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ - ref?: components["schemas"]["code-scanning-ref"]; - /** @description Filter analyses belonging to the same SARIF upload. */ - sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; - direction?: components["parameters"]["direction"]; - /** @description The property by which to sort the results. */ - sort?: "created"; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "copilot/get-copilot-organization-details": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-organization-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/list-copilot-seats": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Total number of Copilot For Business seats for the organization currently being billed. */ + total_seats?: number; + seats?: components["schemas"]["copilot-seat-details"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/add-copilot-for-business-seats-for-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of team names within the organization to which to grant access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-analysis"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a code scanning analysis for a repository - * @description Gets a specified code scanning analysis for a repository. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * The default JSON response contains fields that describe the analysis. - * This includes the Git reference and commit SHA to which the analysis relates, - * the datetime of the analysis, the name of the code scanning tool, - * and the number of alerts. - * - * The `rules_count` field in the default response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * If you use the Accept header `application/sarif+json`, - * the response contains the analysis data that was uploaded. - * This is formatted as - * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). - */ - "code-scanning/get-analysis": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ - analysis_id: number; - }; + "copilot/cancel-copilot-seat-assignment-for-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of teams from which to revoke access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-analysis"]; - "application/json+sarif": { - [key: string]: unknown; - }; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Delete a code scanning analysis from a repository - * @description Deletes a specified code scanning analysis from a repository. For - * private repositories, you must use an access token with the `repo` scope. For public repositories, - * you must use an access token with `public_repo` scope. - * GitHub Apps must have the `security_events` write permission to use this endpoint. - * - * You can delete one analysis at a time. - * To delete a series of analyses, start with the most recent analysis and work backwards. - * Conceptually, the process is similar to the undo function in a text editor. - * - * When you list the analyses for a repository, - * one or more will be identified as deletable in the response: - * - * ``` - * "deletable": true - * ``` - * - * An analysis is deletable when it's the most recent in a set of analyses. - * Typically, a repository will have multiple sets of analyses - * for each enabled code scanning tool, - * where a set is determined by a unique combination of analysis values: - * - * * `ref` - * * `tool` - * * `category` - * - * If you attempt to delete an analysis that is not the most recent in a set, - * you'll get a 400 response with the message: - * - * ``` - * Analysis specified is not deletable. - * ``` - * - * The response from a successful `DELETE` operation provides you with - * two alternative URLs for deleting the next analysis in the set: - * `next_analysis_url` and `confirm_delete_url`. - * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis - * in a set. This is a useful option if you want to preserve at least one analysis - * for the specified tool in your repository. - * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. - * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` - * in the 200 response is `null`. - * - * As an example of the deletion process, - * let's imagine that you added a workflow that configured a particular code scanning tool - * to analyze the code in a repository. This tool has added 15 analyses: - * 10 on the default branch, and another 5 on a topic branch. - * You therefore have two separate sets of analyses for this tool. - * You've now decided that you want to remove all of the analyses for the tool. - * To do this you must make 15 separate deletion requests. - * To start, you must find an analysis that's identified as deletable. - * Each set of analyses always has one that's identified as deletable. - * Having found the deletable analysis for one of the two sets, - * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. - * Then repeat the process for the second set. - * The procedure therefore consists of a nested loop: - * - * **Outer loop**: - * * List the analyses for the repository, filtered by tool. - * * Parse this list to find a deletable analysis. If found: - * - * **Inner loop**: - * * Delete the identified analysis. - * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. - * - * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. - */ - "code-scanning/delete-analysis": { - parameters: { - query?: { - /** @description Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ - confirm_delete?: string | null; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ - analysis_id: number; - }; + "copilot/add-copilot-for-business-seats-for-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members to be granted access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-analysis-deletion"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List CodeQL databases for a repository - * @description Lists the CodeQL databases that are available in a repository. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - "code-scanning/list-codeql-databases": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "copilot/cancel-copilot-seat-assignment-for-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members for which to revoke access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, the seat management setting is set to enable Copilot for all users or is unconfigured, or a user's seat cannot be cancelled because it was assigned to them via a team. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "dependabot/list-alerts-for-org": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-dependabot-secret"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-codeql-database"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a CodeQL database for a repository - * @description Gets a CodeQL database for a language in a repository. - * - * By default this endpoint returns JSON metadata about the CodeQL database. To - * download the CodeQL database binary content, set the `Accept` header of the request - * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure - * your HTTP client is configured to follow redirects or use the `Location` header - * to make a second request to get the redirect URL. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - "code-scanning/get-codeql-database": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The language of the CodeQL database. */ - language: string; - }; + "dependabot/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-codeql-database"]; - }; - }; - 302: components["responses"]["found"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a code scanning default setup configuration - * @description Gets a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - "code-scanning/get-default-setup": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "dependabot/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-dependabot-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-default-setup"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a code scanning default setup configuration - * @description Updates a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - "code-scanning/update-default-setup": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "dependabot/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/dependabot/secrets#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: string[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["code-scanning-default-setup-update"]; - }; + "dependabot/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["code-scanning-default-setup-update-response"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["code_scanning_conflict"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Upload an analysis as SARIF data - * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." - * - * There are two places where you can upload code scanning results. - * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." - * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." - * - * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: - * - * ``` - * gzip -c analysis-data.sarif | base64 -w0 - * ``` - *
- * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. - * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." - * - * - * | **SARIF data** | **Maximum values** | **Additional limits** | - * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| - * | Runs per file | 20 | | - * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | - * | Rules per run | 25,000 | | - * | Tool extensions per run | 100 | | - * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | - * | Location per result | 1,000 | Only 100 locations will be included. | - * | Tags per rule | 20 | Only 10 tags will be included. | - * - * - * The `202 Accepted` response includes an `id` value. - * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. - * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." - */ - "code-scanning/upload-sarif": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - ref: components["schemas"]["code-scanning-ref"]; - sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; - /** - * Format: uri - * @description The base directory used in the analysis, as it appears in the SARIF file. - * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. - */ - checkout_uri?: string; - /** - * Format: date-time - * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at?: string; - /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ - tool_name?: string; - /** - * @description Whether the SARIF file will be validated according to the code scanning specifications. - * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. - */ - validate?: boolean; - }; - }; + "dependabot/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; - }; - }; - /** @description Bad Request if the sarif field is invalid */ - 400: { - content: never; - }; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - /** @description Payload Too Large if the sarif field is too large */ - 413: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get information about a SARIF upload - * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/get-sarif": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The SARIF ID obtained after uploading. */ - sarif_id: string; - }; + "dependabot/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-sarifs-status"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - /** @description Not Found if the sarif id does not match any upload */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List CODEOWNERS errors - * @description List any syntax errors that are detected in the CODEOWNERS - * file. - * - * For more information about the correct CODEOWNERS syntax, - * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." - */ - "repos/codeowners-errors": { - parameters: { - query?: { - /** @description A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "dependabot/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codeowners-errors"]; - }; - }; - /** @description Resource not found */ - 404: { - content: never; - }; - }; - }; - /** - * List codespaces in a repository for the authenticated user - * @description Lists the codespaces associated to a specified repository and the authenticated user. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/list-in-repository-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "dependabot/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a codespace in a repository - * @description Creates a codespace owned by the authenticated user in the specified repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/create-with-repo-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** @description Git ref (typically a branch name) for this codespace */ - ref?: string; - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - }) | null; - }; + "packages/list-docker-migration-conflicting-packages-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List devcontainer configurations in a repository for the authenticated user - * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files - * specify launchpoint configurations for codespaces created within the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - "codespaces/list-devcontainers-in-repository-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "activity/list-public-org-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - devcontainers: { - path: string; - name?: string; - display_name?: string; - }[]; - }; - }; - }; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List available machine types for a repository - * @description List the machine types available for a given repository based on its configuration. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. - */ - "codespaces/repo-machines-for-authenticated-user": { - parameters: { - query?: { - /** @description The location to check for available machines. Assigned by IP if not provided. */ - location?: string; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description The branch or commit to check for prebuild availability and devcontainer restrictions. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "orgs/list-failed-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - machines: components["schemas"]["codespace-machine"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get default attributes for a codespace - * @description Gets the default attributes for codespaces created by the user with the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/pre-flight-with-repo-for-authenticated-user": { - parameters: { - query?: { - /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ - ref?: string; - /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ - client_ip?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "orgs/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response when a user is able to create codespaces from the repository. */ - 200: { - content: { - "application/json": { - billable_owner?: components["schemas"]["simple-user"]; - defaults?: { - location: string; - devcontainer_path: string | null; - }; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/list-repo-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "orgs/create-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Must be passed as "web". */ + name: string; + /** @description Key/value pairs to provide settings for this webhook. */ + config: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + username?: string; + password?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. + * @default [ + * "push" + * ] + */ + events: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/orgs/octocat/hooks/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active: boolean; + name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook-config-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "orgs/update-webhook-config-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["repo-codespaces-secret"][]; - }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; }; - }; }; - }; - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/get-repo-public-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "orgs/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + redelivery?: boolean; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/ping-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-public-key"]; - }; - }; - }; - }; - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/get-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; + "apps/get-org-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repo-codespaces-secret"]; - }; - }; - }; - }; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` - * repository permission to use this endpoint. - */ - "codespaces/create-or-update-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; - }; + "orgs/list-app-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/delete-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; + "interactions/get-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository collaborators - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - "repos/list-collaborators": { - parameters: { - query?: { - /** @description Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ - affiliation?: "outside" | "direct" | "all"; - /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ - permission?: "pull" | "triage" | "push" | "maintain" | "admin"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "interactions/set-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["collaborator"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if a user is a repository collaborator - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - "repos/check-collaborator": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; + "interactions/remove-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response if user is a collaborator */ - 204: { - content: never; - }; - /** @description Not Found if user is not a collaborator */ - 404: { - content: never; - }; - }; - }; - /** - * Add a repository collaborator - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - * - * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: - * - * ``` - * Cannot assign {member} permission of {role name} - * ``` - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). - * - * **Updating an existing collaborator's permission level** - * - * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. - * - * **Rate limits** - * - * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. - */ - "repos/add-collaborator": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. - * @default push - */ - permission?: string; - }; - }; + "orgs/list-pending-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Filter invitations by their member role. */ + role?: "all" | "admin" | "direct_member" | "billing_manager" | "hiring_manager"; + /** @description Filter invitations by their invitation source. */ + invitation_source?: "all" | "member" | "scim"; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response when a new invitation is created */ - 201: { - content: { - "application/json": components["schemas"]["repository-invitation"]; - }; - }; - /** - * @description Response when: - * - an existing collaborator is added as a collaborator - * - an organization member is added as an individual collaborator - * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator - */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove a repository collaborator - * @description Removes a collaborator from a repository. - * - * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. - * - * This endpoint also: - * - Cancels any outstanding invitations - * - Unasigns the user from any issues - * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. - * - Unstars the repository - * - Updates access permissions to packages - * - * Removing a user as a collaborator has the following effects on forks: - * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. - * - If the user had their own fork of the repository, the fork will be deleted. - * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. - * - * **Note**: A user can still have access to the repository through organization permissions like base repository permissions. - * - * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. - * - * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". - */ - "repos/remove-collaborator": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; + "orgs/create-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ + invitee_id?: number; + /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ + email?: string; + /** + * @description The role for the new member. + * * `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * * `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * * `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + * @default direct_member + * @enum {string} + */ + role: "admin" | "direct_member" | "billing_manager"; + /** @description Specify IDs for the teams you want to invite new members to. */ + team_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/cancel-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description No Content when collaborator was removed from the repository. */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get repository permissions for a user - * @description Checks the repository permission of a collaborator. The possible repository - * permissions are `admin`, `write`, `read`, and `none`. - * - * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the - * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the - * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The - * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. - */ - "repos/get-collaborator-permission-level": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; + "orgs/list-invitation-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/list-for-org": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-members": { + parameters: { + query?: { + /** @description Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners. */ + filter?: "2fa_disabled" | "all"; + /** @description Filter members returned by their role. */ + role?: "all" | "admin" | "member"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/check-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if requester is an organization member and user is a member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if requester is not an organization member */ + 302: { + headers: { + /** @example https://api.github.com/orgs/github/public_members/pezra */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if requester is an organization member and user is not a member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description if user has admin permissions */ - 200: { - content: { - "application/json": components["schemas"]["repository-collaborator-permission"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List commit comments for a repository - * @description Commit Comments use [these custom media types](https://docs.github.com/rest/overview/media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). - * - * Comments are ordered by ascending ID. - */ - "repos/list-commit-comments-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "orgs/remove-member": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "codespaces/get-codespaces-for-user-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/delete-from-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/stop-in-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/get-copilot-seat-assignment-details-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The user's GitHub Copilot seat details, including usage. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-seat-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot for Business is not enabled for this organization or the user has a pending organization invitation. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/get-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/set-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role to give the user in the organization. Can be one of: + * * `admin` - The user will become an owner of the organization. + * * `member` - The user will become a non-owner member of the organization. + * @default member + * @enum {string} + */ + role: "admin" | "member"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/remove-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/list-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + }; + }; + "migrations/start-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of arrays indicating which repositories should be migrated. */ + repositories: string[]; + /** + * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + * @default false + */ + lock_repositories: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @default false + */ + exclude_metadata: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @default false + */ + exclude_git_data: boolean; + /** + * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + * @default false + */ + exclude_attachments: boolean; + /** + * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). + * @default false + */ + exclude_releases: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. + * @default false + */ + exclude_owner_projects: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + */ + org_metadata_only: boolean; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ + exclude?: "repositories"[]; + }; + }; }; - content: { - "application/json": components["schemas"]["commit-comment"][]; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - }; - }; - }; - /** Get a commit comment */ - "repos/get-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-comment"]; + "migrations/get-status-for-org": { + parameters: { + query?: { + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/download-archive-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/delete-archive-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/unlock-repo-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** @description repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a commit comment */ - "repos/delete-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Update a commit comment */ - "repos/update-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment */ - body: string; + "migrations/list-repos-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-outside-collaborators": { + parameters: { + query?: { + /** @description Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. */ + filter?: "2fa_disabled" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List reactions for a commit comment - * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - "reactions/list-for-commit-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a commit comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for a commit comment - * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. - */ - "reactions/create-for-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a commit comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - "reactions/delete-for-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List commits - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "repos/list-commits": { - parameters: { - query?: { - /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`). */ - sha?: string; - /** @description Only commits containing this file path will be returned. */ - path?: string; - /** @description GitHub username or email address to use to filter by commit author. */ - author?: string; - /** @description GitHub username or email address to use to filter by commit committer. */ - committer?: string; - since?: components["parameters"]["since"]; - /** @description Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - until?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "orgs/convert-member-to-outside-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. + * @default false + */ + async: boolean; + }; + }; + }; + responses: { + /** @description User is getting converted asynchronously */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description User was converted */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/remove-outside-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity if user is a member of the organization */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["commit"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List branches for HEAD commit - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. - */ - "repos/list-branches-for-head-commit": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; + "packages/list-packages-for-organization": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The number of results per page (max 100). */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/get-package-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-short"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List commit comments - * @description Use the `:commit_sha` to specify the commit that will have its comments listed. - */ - "repos/list-comments-for-commit": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; + "packages/delete-package-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["commit-comment"][]; - }; - }; - }; - }; - /** - * Create a commit comment - * @description Create a comment for a commit using its `:commit_sha`. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "repos/create-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; - /** @description Relative path of the file to comment on. */ - path?: string; - /** @description Line index in the diff to comment on. */ - position?: number; - /** @description **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ - line?: number; - }; - }; + "packages/restore-package-for-org": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-all-package-versions-for-package-owned-by-org": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-package-version-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["commit-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List pull requests associated with a commit - * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. - * - * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. - */ - "repos/list-pull-requests-associated-with-commit": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; + "packages/delete-package-version-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-version-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-pat-grant-requests": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The property by which to sort the results. */ + sort?: components["parameters"]["personal-access-token-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A list of owner usernames to use to filter the results. */ + owner?: components["parameters"]["personal-access-token-owner"]; + /** @description The name of the repository to use to filter the results. */ + repository?: components["parameters"]["personal-access-token-repository"]; + /** @description The permission to use to filter the results. */ + permission?: components["parameters"]["personal-access-token-permission"]; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_before?: components["parameters"]["personal-access-token-before"]; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_after?: components["parameters"]["personal-access-token-after"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant-request"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/review-pat-grant-requests-in-bulk": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. */ + pat_request_ids?: number[]; + /** + * @description Action to apply to the requests. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the requests. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/review-pat-grant-request": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the request. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the request. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grant-request-repositories": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grants": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The property by which to sort the results. */ + sort?: components["parameters"]["personal-access-token-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A list of owner usernames to use to filter the results. */ + owner?: components["parameters"]["personal-access-token-owner"]; + /** @description The name of the repository to use to filter the results. */ + repository?: components["parameters"]["personal-access-token-repository"]; + /** @description The permission to use to filter the results. */ + permission?: components["parameters"]["personal-access-token-permission"]; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_before?: components["parameters"]["personal-access-token-before"]; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_after?: components["parameters"]["personal-access-token-after"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/update-pat-accesses": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + /** @description The IDs of the fine-grained personal access tokens. */ + pat_ids: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/update-pat-access": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the fine-grained personal access token. */ + pat_id: components["parameters"]["fine-grained-personal-access-token-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grant-repositories": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the fine-grained personal access token. */ + pat_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "projects/list-for-org": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-simple"][]; - }; - }; - }; - }; - /** - * Get a commit - * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. - * - * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. - * - * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. - * - * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "repos/get-commit": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; + "projects/create-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "orgs/list-public-members": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List check runs for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - "checks/list-for-ref": { - parameters: { - query?: { - check_name?: components["parameters"]["check-name"]; - status?: components["parameters"]["status"]; - /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ - filter?: "latest" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - app_id?: number; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; + "orgs/check-public-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if user is a public member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if user is not a public member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "orgs/set-public-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "orgs/remove-public-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - content: { - "application/json": { - total_count: number; - check_runs: components["schemas"]["check-run"][]; - }; - }; - }; - }; - }; - /** - * List check suites for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - "checks/list-suites-for-ref": { - parameters: { - query?: { - /** - * @description Filters check suites by GitHub App `id`. - * @example 1 - */ - app_id?: number; - check_name?: components["parameters"]["check-name"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "repos/list-for-org": { + parameters: { + query?: { + /** @description Specifies the types of repositories you want returned. */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; }; - content: { - "application/json": { - total_count: number; - check_suites: components["schemas"]["check-suite"][]; - }; - }; - }; - }; - }; - /** - * Get the combined status for a specific reference - * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. - * - * - * Additionally, a combined `state` is returned. The `state` is one of: - * - * * **failure** if any of the contexts report as `error` or `failure` - * * **pending** if there are no statuses or a context is `pending` - * * **success** if the latest status for all contexts is `success` - */ - "repos/get-combined-status-for-ref": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["combined-commit-status"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List commit statuses for a reference - * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. - * - * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. - */ - "repos/list-commit-statuses-for-ref": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; + "repos/create-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the repository. */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Pass `true` to create an initial commit with empty README. + * @default false + */ + auto_init: boolean; + /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ + gitignore_template?: string; + /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ + license_template?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.** + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["status"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - }; - }; - /** - * Get community profile metrics - * @description Returns all community profile metrics for a repository. The repository cannot be a fork. - * - * The returned metrics include an overall health score, the repository description, the presence of documentation, the - * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, - * README, and CONTRIBUTING files. - * - * The `health_percentage` score is defined as a percentage of how many of - * the recommended community health files are present. For more information, see - * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." - * - * `content_reports_enabled` is only returned for organization-owned repositories. - */ - "repos/get-community-profile-metrics": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/get-org-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["community-profile"]; - }; - }; - }; - }; - /** - * Compare two commits - * @description Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." - * - * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: - * - * - The list of changed files is only shown on the first page of results, but it includes all changed files for the entire comparison. - * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. - * - * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "repos/compare-commits": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`. */ - basehead: string; - }; + "repos/create-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset. + * @enum {string} + */ + target?: "branch" | "tag"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-rule-suites": { + parameters: { + query?: { + /** @description The name of the repository to filter on. When specified, only rule evaluations from this repository will be returned. */ + repository_name?: components["parameters"]["repository-name-in-query"]; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for insights that occurred in the past 7 days (168 hours). */ + time_period?: components["parameters"]["time-period"]; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + actor_name?: components["parameters"]["actor-name-in-query"]; + /** @description The rule results to filter on. When specified, only suites with this result will be returned. */ + rule_suite_result?: components["parameters"]["rule-suite-result"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-rule-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/update-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset. + * @enum {string} + */ + target?: "branch" | "tag"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/delete-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "secret-scanning/list-alerts-for-org": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "security-advisories/list-org-repository-advisories": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. */ + per_page?: number; + /** @description Filter by the state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-comparison"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get repository content - * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit - * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. - * - * Files and symlinks support [a custom media type](https://docs.github.com/rest/overview/media-types) for - * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media - * type](https://docs.github.com/rest/overview/media-types) to ensure the content is returned in a consistent - * object format. - * - * **Notes**: - * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). - * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees - * API](https://docs.github.com/rest/git/trees#get-a-tree). - * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - * Size limits: - * If the requested file's size is: - * * 1 MB or smaller: All features of this endpoint are supported. - * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. - * * Greater than 100 MB: This endpoint is not supported. - * - * If the content is a directory: - * The response will be an array of objects, one object for each item in the directory. - * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value - * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). - * In the next major version of the API, the type will be returned as "submodule". - * - * If the content is a symlink: - * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the - * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object - * describing the symlink itself. - * - * If the content is a submodule: - * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific - * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out - * the submodule at that specific commit. - * - * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the - * github.com URLs (`html_url` and `_links["html"]`) will have null values. - */ - "repos/get-content": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; + "orgs/list-security-manager-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-simple"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/vnd.github.object": components["schemas"]["content-tree"]; - "application/json": components["schemas"]["content-directory"] | components["schemas"]["content-file"] | components["schemas"]["content-symlink"] | components["schemas"]["content-submodule"]; - }; - }; - 302: components["responses"]["found"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create or update file contents - * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. If you want to modify files in the `.github/workflows` directory, you must authenticate using an access token with the `workflow` scope. - * - * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - "repos/create-or-update-file-contents": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The commit message. */ - message: string; - /** @description The new file content, using Base64 encoding. */ - content: string; - /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ - sha?: string; - /** @description The branch name. Default: the repository’s default branch. */ - branch?: string; - /** @description The person that committed the file. Default: the authenticated user. */ - committer?: { - /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ - name: string; - /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ - email: string; - date?: string; - }; - /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ - author?: { - /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ - name: string; - /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ - email: string; - date?: string; - }; + "orgs/add-security-manager-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description The organization has reached the maximum number of security manager teams. */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a file - * @description Deletes a file in a repository. - * - * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. - * - * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. - * - * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. - * - * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - "repos/delete-file": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The commit message. */ - message: string; - /** @description The blob SHA of the file being deleted. */ - sha: string; - /** @description The branch name. Default: the repository’s default branch */ - branch?: string; - /** @description object containing information about the committer. */ - committer?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - }; - /** @description object containing information about the author. */ - author?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - }; + "orgs/remove-security-manager-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List repository contributors - * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. - * - * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. - */ - "repos/list-contributors": { - parameters: { - query?: { - /** @description Set to `1` or `true` to include anonymous contributors in results. */ - anon?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "billing/get-github-actions-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description If repository contains content */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["contributor"][]; - }; - }; - /** @description Response if repository is empty */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List Dependabot alerts for a repository - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - "dependabot/list-alerts-for-repo": { - parameters: { - query?: { - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - manifest?: components["parameters"]["dependabot-alert-comma-separated-manifests"]; - scope?: components["parameters"]["dependabot-alert-scope"]; - sort?: components["parameters"]["dependabot-alert-sort"]; - direction?: components["parameters"]["direction"]; - /** - * @deprecated - * @description **Deprecated**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead. - */ - page?: number; - /** - * @deprecated - * @description The number of results per page (max 100). - */ - per_page?: number; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - first?: components["parameters"]["pagination-first"]; - last?: components["parameters"]["pagination-last"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "billing/get-github-packages-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - "dependabot/get-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["dependabot-alert-number"]; - }; + "billing/get-shared-storage-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. - * - * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." - */ - "dependabot/update-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["dependabot-alert-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state of the Dependabot alert. - * A `dismissed_reason` must be provided when setting the state to `dismissed`. - * @enum {string} - */ - state: "dismissed" | "open"; - /** - * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. - * @enum {string} - */ - dismissed_reason?: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk"; - /** @description An optional comment associated with dismissing the alert. */ - dismissed_comment?: string; - }; - }; + "teams/list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/list-repo-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** @description List GitHub IDs for organization members who will become team maintainers. */ + maintainers?: string[]; + /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ + repo_names?: string[]; + /** + * @description The level of privacy this team should have. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * Default for child team: `closed` + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * Default: `notifications_enabled` + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission: "pull" | "push"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/get-by-name": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/delete-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "teams/update-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the team. */ + name?: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["dependabot-secret"][]; - }; + responses: { + /** @description Response when the updated information already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/list-discussions-in-org": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Pinned discussions only filter */ + pinned?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; }; - }; }; - }; - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/get-repo-public-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/create-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-public-key"]; - }; - }; - }; - }; - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/get-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; + "teams/get-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-secret"]; - }; - }; - }; - }; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository - * permission to use this endpoint. - */ - "dependabot/create-or-update-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; - }; + "teams/delete-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/delete-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; + "teams/update-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get a diff of the dependencies between commits - * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. - */ - "dependency-graph/diff-range": { - parameters: { - query?: { - name?: components["parameters"]["manifest-path"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ - basehead: string; - }; + "teams/list-discussion-comments-in-org": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["dependency-graph-diff"]; - }; - }; - 403: components["responses"]["dependency_review_forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Export a software bill of materials (SBOM) for a repository. - * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. - */ - "dependency-graph/export-sbom": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/create-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["dependency-graph-spdx-sbom"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a snapshot of dependencies for a repository - * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. - */ - "dependency-graph/create-repository-snapshot": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/get-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["snapshot"]; - }; + "teams/delete-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": { - /** @description ID of the created snapshot. */ - id: number; - /** @description The time at which the snapshot was created. */ - created_at: string; - /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ - result: string; - /** @description A message providing further details about the result, such as why the dependencies were not updated. */ - message: string; - }; + "teams/update-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; }; - }; }; - }; - /** - * List deployments - * @description Simple filtering of deployments is available via query parameters: - */ - "repos/list-deployments": { - parameters: { - query?: { - /** @description The SHA recorded at creation time. */ - sha?: string; - /** @description The name of the ref. This can be a branch, tag, or SHA. */ - ref?: string; - /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ - task?: string; - /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ - environment?: string | null; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "reactions/list-for-team-discussion-comment-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["deployment"][]; - }; - }; - }; - }; - /** - * Create a deployment - * @description Deployments offer a few configurable parameters with certain defaults. - * - * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them - * before we merge a pull request. - * - * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have - * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter - * makes it easier to track which environments have requested deployments. The default environment is `production`. - * - * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If - * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, - * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will - * return a failure response. - * - * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` - * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to - * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do - * not require any contexts or create any commit statuses, the deployment will always succeed. - * - * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text - * field that will be passed on when a deployment event is dispatched. - * - * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might - * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an - * application with debugging enabled. - * - * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. - * - * Merged branch response: - * - * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating - * a deployment. This auto-merge happens when: - * * Auto-merge option is enabled in the repository - * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example - * * There are no merge conflicts - * - * If there are no new commits in the base branch, a new request to create a deployment should give a successful - * response. - * - * Merge conflict response: - * - * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't - * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. - * - * Failed commit status checks: - * - * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` - * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. - */ - "repos/create-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The ref to deploy. This can be a branch, tag, or SHA. */ - ref: string; - /** - * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). - * @default deploy - */ - task?: string; - /** - * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. - * @default true - */ - auto_merge?: boolean; - /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ - required_contexts?: string[]; - payload?: OneOf<[{ - [key: string]: unknown; - }, string]>; - /** - * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). - * @default production - */ - environment?: string; - /** - * @description Short description of the deployment. - * @default - */ - description?: string | null; - /** - * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` - * @default false - */ - transient_environment?: boolean; - /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ - production_environment?: boolean; - }; - }; + "reactions/create-for-team-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response when the reaction type has already been added to this team discussion comment */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["deployment"]; - }; - }; - /** @description Merged branch response */ - 202: { - content: { - "application/json": { - message?: string; - }; - }; - }; - /** @description Conflict when there is a merge conflict or the commit's status checks failed */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Get a deployment */ - "repos/get-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; + "reactions/delete-for-team-discussion-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a deployment - * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. - * - * To set a deployment as inactive, you must: - * - * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. - * * Mark the active deployment as inactive by adding any non-successful deployment status. - * - * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." - */ - "repos/delete-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; + "reactions/list-for-team-discussion-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List deployment statuses - * @description Users with pull access can view deployment statuses for a deployment: - */ - "repos/list-deployment-statuses": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; + "reactions/create-for-team-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["deployment-status"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a deployment status - * @description Users with `push` access can create deployment statuses for a given deployment. - * - * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope. - */ - "repos/create-deployment-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. - * @enum {string} - */ - state: "error" | "failure" | "inactive" | "in_progress" | "queued" | "pending" | "success"; - /** - * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. - * @default - */ - target_url?: string; - /** - * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` - * @default - */ - log_url?: string; - /** - * @description A short description of the status. The maximum description length is 140 characters. - * @default - */ - description?: string; - /** @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used. */ - environment?: string; - /** - * @description Sets the URL for accessing your environment. Default: `""` - * @default - */ - environment_url?: string; - /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ - auto_inactive?: boolean; - }; - }; + "reactions/delete-for-team-discussion": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["deployment-status"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a deployment status - * @description Users with pull access can view a deployment status for a deployment: - */ - "repos/get-deployment-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - status_id: number; - }; + "teams/list-pending-invitations-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-status"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a repository dispatch event - * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." - * - * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. - * - * This endpoint requires write access to the repository by providing either: - * - * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. - * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. - * - * This input example shows how you can use the `client_payload` as a test to debug your workflow. - */ - "repos/create-dispatch-event": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A custom webhook event name. Must be 100 characters or fewer. */ - event_type: string; - /** @description JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10. */ - client_payload?: { - [key: string]: unknown; - }; + "teams/list-members-in-org": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List environments - * @description Lists the environments for a repository. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/get-all-environments": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/get-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description if user has no team membership */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - /** @description The number of environments in this repository */ - total_count?: number; - environments?: components["schemas"]["environment"][]; - }; - }; - }; - }; - }; - /** - * Get an environment - * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." - * - * Anyone with read access to the repository can use this endpoint. If the - * repository is private, you must use an access token with the `repo` scope. GitHub - * Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/get-environment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; + "teams/add-or-update-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["environment"]; - }; - }; - }; - }; - /** - * Create or update an environment - * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." - * - * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." - * - * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/create-or-update-environment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - wait_timer?: components["schemas"]["wait-timer"]; - /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers?: { - type?: components["schemas"]["deployment-reviewer-type"]; - /** @description The id of the user or team who can review the deployment */ - id?: number; - }[] | null; - deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; - }) | null; - }; + "teams/remove-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["environment"]; - }; - }; - /** @description Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ - 422: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Delete an environment - * @description You must authenticate using an access token with the repo scope to use this endpoint. - */ - "repos/delete-an-environment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; + "teams/list-projects-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + }; }; - responses: { - /** @description Default response */ - 204: { - content: never; - }; - }; - }; - /** - * List deployment branch policies - * @description Lists the deployment branch policies for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/list-deployment-branch-policies": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; + "teams/check-permissions-for-project-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - /** @description The number of deployment branch policies for the environment. */ - total_count: number; - branch_policies: components["schemas"]["deployment-branch-policy"][]; - }; - }; - }; - }; - }; - /** - * Create a deployment branch policy - * @description Creates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/create-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; + "teams/add-or-update-project-permissions-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; - }; + "teams/remove-project-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - /** @description Response if the same branch name pattern already exists */ - 303: { - content: never; - }; - /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ - 404: { - content: never; - }; - }; - }; - /** - * Get a deployment branch policy - * @description Gets a deployment branch policy for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/get-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; + "teams/list-repos-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - }; - }; - /** - * Update a deployment branch policy - * @description Updates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/update-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; - }; + "teams/check-permissions-for-repo-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Alternative response with repository permissions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if team does not have permission for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - }; - }; - /** - * Delete a deployment branch policy - * @description Deletes a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/delete-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; + "teams/add-or-update-repo-permissions-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @default push + */ + permission: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get all deployment protection rules for an environment - * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - "repos/get-all-deployment-protection-rules": { - parameters: { - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - }; + "teams/remove-repo-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description List of deployment protection rules */ - 200: { - content: { - "application/json": { - /** @description The number of enabled custom deployment protection rules for this environment */ - total_count?: number; - custom_deployment_protection_rules?: components["schemas"]["deployment-protection-rule"][]; - }; - }; - }; - }; - }; - /** - * Create a custom deployment protection rule on an environment - * @description Enable a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - "repos/create-deployment-protection-rule": { - parameters: { - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - }; + "teams/list-child-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The ID of the custom app that will be enabled on the environment. */ - integration_id?: number; + "orgs/enable-or-disable-security-product-on-all-org-repos": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The security feature to enable or disable. */ + security_product: components["parameters"]["security-product"]; + /** @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. */ + enablement: components["parameters"]["org-security-product-enablement"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description CodeQL query suite to be used. If you specify the `query_suite` parameter, the default setup will be configured with this query suite only on all repositories that didn't have default setup already configured. It will not change the query suite on repositories that already have default setup configured. + * If you don't specify any `query_suite` in your request, the preferred query suite of the organization will be applied. + * @enum {string} + */ + query_suite?: "default" | "extended"; + }; + }; + }; + responses: { + /** @description Action started */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description The enabled custom deployment protection rule */ - 201: { - content: { - "application/json": components["schemas"]["deployment-protection-rule"]; - }; - }; - }; - }; - /** - * List custom deployment rule integrations available for an environment - * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. - * - * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - "repos/list-custom-deployment-rule-integrations": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - }; + "projects/get-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/delete-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description A list of custom deployment rule integrations available for this environment. */ - 200: { - content: { - "application/json": { - /** @description The total number of custom deployment protection rule integrations available for this environment. */ - total_count?: number; - available_custom_deployment_protection_rule_integrations?: components["schemas"]["custom-deployment-rule-app"][]; - }; - }; - }; - }; - }; - /** - * Get a custom deployment protection rule - * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). - */ - "repos/get-custom-deployment-protection-rule": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - protection_rule_id: components["parameters"]["protection-rule-id"]; - }; + "projects/update-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The project card's note */ + note?: string | null; + /** @description Whether or not the card is archived */ + archived?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/move-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. */ + position: string; + /** @description The unique identifier of the column the card should be moved to */ + column_id?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + resource?: string; + field?: string; + }[]; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + /** @description Response */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-protection-rule"]; - }; - }; - }; - }; - /** - * Disable a custom protection rule for an environment - * @description Disables a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - "repos/disable-deployment-protection-rule": { - parameters: { - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - protection_rule_id: components["parameters"]["protection-rule-id"]; - }; + "projects/get-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/delete-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/update-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the project column */ + name: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/list-cards": { + parameters: { + query?: { + /** @description Filters the project cards that are returned by the card's state. */ + archived_state?: "all" | "archived" | "not_archived"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The project card's note */ + note: string | null; + } | { + /** @description The unique identifier of the content associated with the card */ + content_id: number; + /** @description The piece of content associated with the card */ + content_type: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Response */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository events - * @description **Note**: This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - "activity/list-repo-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "projects/move-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. */ + position: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Delete Success */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; + "projects/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Name of the project */ + name?: string; + /** @description Body of the project */ + body?: string | null; + /** @description State of the project; either 'open' or 'closed' */ + state?: string; + /** + * @description The baseline permission that all organization members have on this project + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + /** @description Not Found if the authenticated user does not have access to the project */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/list-collaborators": { + parameters: { + query?: { + /** @description Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/add-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. + * @default write + * @enum {string} + */ + permission: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/remove-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/get-permission-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-collaborator-permission"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/list-columns": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the project column */ + name: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "rate-limit/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; + "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; + "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rate-limit-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 307: components["responses"]["temporary_redirect"]; + /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the repository. */ + name?: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + * @default false + */ + private: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** @description Specify which security and analysis features to enable or disable for the repository. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: + * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. + * + * You can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. */ + security_and_analysis?: { + /** @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ + advanced_security?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ + secret_scanning?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ + secret_scanning_push_protection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + } | null; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template: boolean; + /** @description Updates the default branch for this repository. */ + default_branch?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. + * @default false + */ + allow_update_branch: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to archive this repository. `false` will unarchive a previously archived repository. + * @default false + */ + archived: boolean; + /** + * @description Either `true` to allow private forks, or `false` to prevent private forks. + * @default false + */ + allow_forking: boolean; + /** + * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. + * @default false + */ + web_commit_signoff_required: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 307: components["responses"]["temporary_redirect"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "actions/list-artifacts-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + name?: components["parameters"]["artifact-name"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; }; - }; }; - }; - /** List forks */ - "repos/list-forks": { - parameters: { - query?: { - /** @description The sort order. `stargazers` will sort by star count. */ - sort?: "newest" | "oldest" | "stargazers" | "watchers"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 400: components["responses"]["bad_request"]; - }; - }; - /** - * Create a fork - * @description Create a fork for the authenticated user. - * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * - * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. - */ - "repos/create-fork": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Optional parameter to specify the organization name if forking into an organization. */ - organization?: string; - /** @description When forking from an existing repository, a new name for the fork. */ - name?: string; - /** @description When forking from an existing repository, fork with only the default branch. */ - default_branch_only?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Create a blob */ - "git/create-blob": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The new blob's content. */ - content: string; - /** - * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. - * @default utf-8 - */ - encoding?: string; - }; - }; + "actions/get-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["artifact"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["short-blob"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a blob - * @description The `content` in the response will always be Base64 encoded. - * - * _Note_: This API supports blobs up to 100 megabytes in size. - */ - "git/get-blob": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - file_sha: string; - }; + "actions/delete-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["blob"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a commit - * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/create-commit": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The commit message */ - message: string; - /** @description The SHA of the tree object this commit points to */ - tree: string; - /** @description The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ - parents?: string[]; - /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ - author?: { - /** @description The name of the author (or committer) of the commit */ - name: string; - /** @description The email of the author (or committer) of the commit */ - email: string; - /** - * Format: date-time - * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; - /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ - committer?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - /** - * Format: date-time - * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; - /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ - signature?: string; + "actions/download-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + archive_format: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + Location: components["headers"]["location"]; + [name: string]: unknown; + }; + content?: never; + }; + 410: components["responses"]["gone"]; + }; + }; + "actions/get-actions-cache-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-by-repository"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["git-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a commit object - * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/get-commit": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; + "actions/get-actions-cache-list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["actions-cache-git-ref-full"]; + /** @description An explicit key or prefix for identifying the cache */ + key?: components["parameters"]["actions-cache-key"]; + /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + sort?: components["parameters"]["actions-cache-list-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List matching references - * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. - * - * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. - */ - "git/list-matching-refs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; + "actions/delete-actions-cache-by-key": { + parameters: { + query: { + /** @description A key for identifying the cache. */ + key: components["parameters"]["actions-cache-key-required"]; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["actions-cache-git-ref-full"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["git-ref"][]; - }; - }; - }; - }; - /** - * Get a reference - * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - */ - "git/get-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; + "actions/delete-actions-cache-by-id": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the GitHub Actions cache. */ + cache_id: components["parameters"]["cache-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-ref"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a reference - * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. - */ - "git/create-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/get-job-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["job"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ - ref: string; - /** @description The SHA1 value for this reference. */ - sha: string; + "actions/download-job-logs-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/jobs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ - Location?: string; + "actions/re-run-job-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging: boolean; + } | null; + }; }; - content: { - "application/json": components["schemas"]["git-ref"]; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "actions/get-custom-oidc-sub-claim-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Status response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["oidc-custom-sub-repo"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-oidc-sub-claim-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ + use_default: boolean; + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys?: string[]; + }; + }; }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Delete a reference */ - "git/delete-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Update a reference */ - "git/update-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** - * @description The name of the reference to update (for example, `heads/featureA`). Can be a branch name (`heads/BRANCH_NAME`) or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. - * @example heads/featureA - */ - ref: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The SHA1 value to set this reference to */ - sha: string; - /** - * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. - * @default false - */ - force?: boolean; + responses: { + /** @description Empty response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-repo-organization-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-ref"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a tag object - * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/create-tag": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ - tag: string; - /** @description The tag message. */ - message: string; - /** @description The SHA of the git object this is tagging. */ - object: string; - /** - * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. - * @enum {string} - */ - type: "commit" | "tree" | "blob"; - /** @description An object with information about the individual creating the tag. */ - tagger?: { - /** @description The name of the author of the tag */ - name: string; - /** @description The email of the author of the tag */ - email: string; - /** - * Format: date-time - * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; + "actions/list-repo-organization-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["git-tag"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a tag - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/get-tag": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - tag_sha: string; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-tag"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a tree - * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. - * - * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." - * - * Returns an error if you try to delete a file that does not exist. - */ - "git/create-tree": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ - tree: ({ - /** @description The file referenced in the tree. */ - path?: string; - /** - * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. - * @enum {string} - */ - mode?: "100644" | "100755" | "040000" | "160000" | "120000"; - /** - * @description Either `blob`, `tree`, or `commit`. - * @enum {string} - */ - type?: "blob" | "tree" | "commit"; - /** - * @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. - * - * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. - */ - sha?: string | null; - /** - * @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. - * - * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. - */ - content?: string; - })[]; - /** - * @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. - * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. - */ - base_tree?: string; + "actions/get-github-actions-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-repository-permissions"]; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["git-tree"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a tree - * @description Returns a single tree using the SHA1 value or ref name for that tree. - * - * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. - * - * - * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. - */ - "git/get-tree": { - parameters: { - query?: { - /** @description Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ - recursive?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The SHA1 value or ref (branch or tag) name of the tree. */ - tree_sha: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-tree"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List repository webhooks - * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. - */ - "repos/list-webhooks": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["hook"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a repository webhook - * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can - * share the same `config` as long as those webhooks do not have any `events` that overlap. - */ - "repos/create-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ - name?: string; - /** @description Key/value pairs to provide settings for this webhook. */ - config?: { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - token?: string; - digest?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository webhook - * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." - */ - "repos/get-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook"]; + "actions/set-github-actions-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a repository webhook */ - "repos/delete-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a repository webhook - * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." - */ - "repos/update-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Key/value pairs to provide settings for this webhook. */ - config?: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - address?: string; - room?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ - add_events?: string[]; - /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ - remove_events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a webhook configuration for a repository - * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." - * - * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. - */ - "repos/get-webhook-config-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * Update a webhook configuration for a repository - * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." - * - * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. - */ - "repos/update-webhook-config-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * List deliveries for a repository webhook - * @description Returns a list of webhook deliveries for a webhook configured in a repository. - */ - "repos/list-webhook-deliveries": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - cursor?: components["parameters"]["cursor"]; - redelivery?: boolean; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a delivery for a repository webhook - * @description Returns a delivery for a webhook configured in a repository. - */ - "repos/get-webhook-delivery": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Redeliver a delivery for a repository webhook - * @description Redeliver a webhook delivery for a webhook configured in a repository. - */ - "repos/redeliver-webhook-delivery": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Ping a repository webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - "repos/ping-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; + "actions/get-workflow-access-to-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Test the push repository webhook - * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. - * - * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` - */ - "repos/test-push-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; + "actions/set-workflow-access-to-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get an import status - * @description View the progress of an import. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - * - * **Import status** - * - * This section includes details about the possible values of the `status` field of the Import Progress response. - * - * An import that does not have errors will progress through these steps: - * - * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. - * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). - * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. - * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". - * * `complete` - the import is complete, and the repository is ready on GitHub. - * - * If there are problems, you will see one of these in the `status` field: - * - * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. - * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. - * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * - * **The project_choices field** - * - * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. - * - * **Git LFS related fields** - * - * This section includes details about Git LFS related fields that may be present in the Import Progress response. - * - * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. - * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. - * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. - * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. - */ - "migrations/get-import-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/get-allowed-actions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Start an import - * @description Start a source import to a GitHub repository using GitHub Importer. Importing into a GitHub repository with GitHub Actions enabled is not supported and will return a status `422 Unprocessable Entity` response. - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/start-import": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The URL of the originating repository. */ - vcs_url: string; - /** - * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. - * @enum {string} - */ - vcs?: "subversion" | "git" | "mercurial" | "tfvc"; - /** @description If authentication is required, the username to provide to `vcs_url`. */ - vcs_username?: string; - /** @description If authentication is required, the password to provide to `vcs_url`. */ - vcs_password?: string; - /** @description For a tfvc import, the name of the project that is being imported. */ - tfvc_project?: string; - }; - }; + "actions/set-allowed-actions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/spraints/socm/import */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Cancel an import - * @description Stop an import for a repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/cancel-import": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/get-github-actions-default-workflow-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Update an import - * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API - * request. If no parameters are provided, the import will be restarted. - * - * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will - * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. - * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/update-import": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - /** @description The username to provide to the originating repository. */ - vcs_username?: string; - /** @description The password to provide to the originating repository. */ - vcs_password?: string; - /** - * @description The type of version control system you are migrating from. - * @enum {string} - */ - vcs?: "subversion" | "tfvc" | "git" | "mercurial"; - /** @description For a tfvc import, the name of the project that is being imported. */ - tfvc_project?: string; - }) | null; - }; + "actions/set-github-actions-default-workflow-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict response when changing a setting is prevented by the owning organization */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Get commit authors - * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. - * - * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/get-commit-authors": { - parameters: { - query?: { - since?: components["parameters"]["since-user"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/list-self-hosted-runners-for-repo": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ + name?: string; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["porter-author"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Map a commit author - * @description Update an author's identity for the import. Your application can continue updating authors any time before you push - * new commits to the repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/map-commit-author": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - author_id: number; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The new Git author email. */ - email?: string; - /** @description The new Git author name. */ - name?: string; - }; - }; + "actions/list-runner-applications-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["porter-author"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Get large files - * @description List files larger than 100MB found during the import - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/get-large-files": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/generate-runner-jitconfig-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder: string; + }; + }; + }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/create-registration-token-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["porter-large-file"][]; - }; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Update Git LFS preference - * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability - * is powered by [Git LFS](https://git-lfs.com). - * - * You can learn more about our LFS feature and working with large files [on our help - * site](https://docs.github.com/repositories/working-with-files/managing-large-files). - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/set-lfs-preference": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. - * @enum {string} - */ - use_lfs: "opt_in" | "opt_out"; - }; - }; + "actions/create-remove-token-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Get a repository installation for the authenticated app - * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-repo-installation": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/get-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get interaction restrictions for a repository - * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. - */ - "interactions/get-restrictions-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/delete-self-hosted-runner-from-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; - }; - }; - }; - }; - /** - * Set interaction restrictions for a repository - * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - "interactions/set-restrictions-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/list-labels-for-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-labels-for-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/add-custom-labels-to-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/remove-custom-label-from-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** @description The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-workflow-runs-for-repo": { + parameters: { + query?: { + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: components["parameters"]["created"]; + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; + "actions/get-workflow-run": { + parameters: { + query?: { + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - /** @description Response */ - 409: { - content: never; - }; - }; - }; - /** - * Remove interaction restrictions for a repository - * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - "interactions/remove-restrictions-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/delete-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response */ - 409: { - content: never; - }; - }; - }; - /** - * List repository invitations - * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. - */ - "repos/list-invitations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/get-reviews-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment-approvals"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "actions/approve-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/list-workflow-run-artifacts": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + name?: components["parameters"]["artifact-name"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; }; - content: { - "application/json": components["schemas"]["repository-invitation"][]; + }; + "actions/get-workflow-run-attempt": { + parameters: { + query?: { + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; }; - }; }; - }; - /** Delete a repository invitation */ - "repos/delete-invitation": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - invitation_id: components["parameters"]["invitation-id"]; - }; + "actions/list-jobs-for-workflow-run-attempt": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "actions/download-workflow-run-attempt-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** Update a repository invitation */ - "repos/update-invitation": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. - * @enum {string} - */ - permissions?: "read" | "write" | "maintain" | "triage" | "admin"; - }; - }; + "actions/cancel-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "actions/review-custom-gates-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["review-custom-gates-comment-required"] | components["schemas"]["review-custom-gates-state-required"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-invitation"]; - }; - }; - }; - }; - /** - * List repository issues - * @description List issues in a repository. Only open issues will be listed. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list-for-repo": { - parameters: { - query?: { - /** @description If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ - milestone?: string; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - /** @description Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ - assignee?: string; - /** @description The user that created the issue. */ - creator?: string; - /** @description A user that's mentioned in the issue. */ - mentioned?: string; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/force-cancel-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "actions/list-jobs-for-workflow-run": { + parameters: { + query?: { + /** @description Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ + filter?: "latest" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create an issue - * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "issues/create": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The title of the issue. */ - title: string | number; - /** @description The contents of the issue. */ - body?: string; - /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ - assignee?: string | null; - milestone?: string | number | null; - /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ - labels?: (OneOf<[string, { - id?: number; - name?: string; - description?: string | null; - color?: string | null; - }]>)[]; - /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ - assignees?: string[]; - }; - }; + "actions/download-workflow-run-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List issue comments for a repository - * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. - * - * By default, issue comments are ordered by ascending ID. - */ - "issues/list-comments-for-repo": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/delete-workflow-run-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + }; + }; + "actions/get-pending-deployments-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pending-deployment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an issue comment - * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - "issues/get-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; + "actions/review-pending-deployments-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The list of environment ids to approve or reject */ + environment_ids: number[]; + /** + * @description Whether to approve or reject deployment to the specified environments. + * @enum {string} + */ + state: "approved" | "rejected"; + /** @description A comment to accompany the deployment review */ + comment: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an issue comment - * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - "issues/delete-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; + "actions/re-run-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update an issue comment - * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - "issues/update-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; + "actions/re-run-workflow-failed-jobs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; + "actions/get-workflow-run-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run-usage"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List reactions for an issue comment - * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - "reactions/list-for-issue-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; + "actions/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for an issue comment - * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. - */ - "reactions/create-for-issue-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; + "actions/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an issue comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - "reactions/delete-for-issue-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; + "actions/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List issue events for a repository - * @description Lists events for a repository. - */ - "issues/list-events-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/actions/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-event"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an issue event - * @description Gets a single event by the event id. - */ - "issues/get-event": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - event_id: number; - }; + "actions/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue-event"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Get an issue - * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was - * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If - * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API - * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read - * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe - * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/list-repo-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Update an issue - * @description Issue owners and users with push access can edit an issue. - */ - "issues/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The title of the issue. */ - title?: string | number | null; - /** @description The contents of the issue. */ - body?: string | null; - /** @description Username to assign to this issue. **This field is deprecated.** */ - assignee?: string | null; - /** - * @description The open or closed state of the issue. - * @enum {string} - */ - state?: "open" | "closed"; - /** - * @description The reason for the state change. Ignored unless `state` is changed. - * @enum {string|null} - */ - state_reason?: "completed" | "not_planned" | "reopened" | null; - milestone?: string | number | null; - /** @description Labels to associate with this issue. Pass one or more labels to _replace_ the set of labels on this issue. Send an empty array (`[]`) to clear all labels from the issue. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped. */ - labels?: (OneOf<[string, { - id?: number; - name?: string; - description?: string | null; - color?: string | null; - }]>)[]; - /** @description Usernames to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this issue. Send an empty array (`[]`) to clear all assignees from the issue. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped. */ - assignees?: string[]; - }; - }; + "actions/create-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Add assignees to an issue - * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. - */ - "issues/add-assignees": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/get-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; }; - requestBody?: { - content: { - "application/json": { - /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ - assignees?: string[]; + "actions/delete-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - }; - }; - /** - * Remove assignees from an issue - * @description Removes one or more assignees from an issue. - */ - "issues/remove-assignees": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/update-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody?: { - content: { - "application/json": { - /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ - assignees?: string[]; + "actions/list-repo-workflows": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflows: components["schemas"]["workflow"][]; + }; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - }; - }; - /** - * Check if a user can be assigned to a issue - * @description Checks if a user has permission to be assigned to a specific issue. - * - * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - "issues/check-user-can-be-assigned-to-issue": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - assignee: string; - }; + "actions/get-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow"]; + }; + }; + }; }; - responses: { - /** @description Response if `assignee` can be assigned to `issue_number` */ - 204: { - content: never; - }; - /** @description Response if `assignee` can not be assigned to `issue_number` */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * List issue comments - * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * Issue comments are ordered by ascending ID. - */ - "issues/list-comments": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/disable-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Create an issue comment - * @description - * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - * Creating content too quickly using this endpoint may result in secondary rate limiting. - * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" - * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" - * for details. - */ - "issues/create-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/create-workflow-dispatch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The git reference for the workflow. The reference can be a branch or tag name. */ + ref: string; + /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ + inputs?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; + "actions/enable-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List issue events - * @description Lists all events for an issue. - */ - "issues/list-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/list-workflow-runs": { + parameters: { + query?: { + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: components["parameters"]["created"]; + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-event-for-issue"][]; - }; - }; - 410: components["responses"]["gone"]; - }; - }; - /** - * List labels for an issue - * @description Lists all labels for an issue. - */ - "issues/list-labels-on-issue": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/get-workflow-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Set labels for an issue - * @description Removes any previous labels and sets the new labels for an issue. - */ - "issues/set-labels": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/issues/labels#add-labels-to-an-issue)." */ - labels?: string[]; - }, string[], { - labels?: { - name: string; - }[]; - }, { - name: string; - }[], string]>; - }; + "repos/list-activities": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description The Git reference for the activities you want to list. + * + * The `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch. */ + ref?: string; + /** @description The GitHub username to use to filter by the actor who performed the activity. */ + actor?: string; + /** @description The time period to filter by. + * + * For example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours). */ + time_period?: "day" | "week" | "month" | "quarter" | "year"; + /** @description The activity type to filter by. + * + * For example, you can choose to filter by "force_push", to see all force pushes to the repository. */ + activity_type?: "push" | "force_push" | "branch_creation" | "branch_deletion" | "pr_merge" | "merge_queue_merge"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["activity"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add labels to an issue - * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. - */ - "issues/add-labels": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/issues/labels#set-labels-for-an-issue)." */ - labels?: string[]; - }, string[], { - labels?: { - name: string; - }[]; - }, { - name: string; - }[], string]>; - }; + "issues/list-assignees": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/check-user-can-be-assigned": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + assignee: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Otherwise a `404` status code is returned. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove all labels from an issue - * @description Removes all labels from an issue. - */ - "issues/remove-all-labels": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "repos/list-autolinks": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Remove a label from an issue - * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. - */ - "issues/remove-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - name: string; - }; + "repos/create-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit. */ + key_prefix: string; + /** @description The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`. */ + url_template: string; + /** + * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. + * @default true + */ + is_alphanumeric: boolean; + }; + }; + }; + responses: { + /** @description response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/check-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if dependabot is enabled */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-automated-security-fixes"]; + }; + }; + /** @description Not Found if dependabot is not enabled for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Lock an issue - * @description Users with push access can lock an issue or pull request's conversation. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "issues/lock": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - /** - * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: - * * `off-topic` - * * `too heated` - * * `resolved` - * * `spam` - * @enum {string} - */ - lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; - }) | null; - }; + "repos/enable-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Unlock an issue - * @description Users with push access can unlock an issue's conversation. - */ - "issues/unlock": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "repos/disable-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List reactions for an issue - * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - "reactions/list-for-issue": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "repos/list-branches": { + parameters: { + query?: { + /** @description Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ + protected?: boolean; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["short-branch"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-protection"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Require status checks to pass before merging. Set to `null` to disable. */ + required_status_checks: { + /** @description Require branches to be up to date before merging. */ + strict: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + * + */ + contexts: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + } | null; + /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ + enforce_admins: boolean | null; + /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ + required_pull_request_reviews: { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ + require_code_owner_reviews?: boolean; + /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. + * @default false + */ + require_last_push_approval: boolean; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + } | null; + /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ + restrictions: { + /** @description The list of user `login`s with push access */ + users: string[]; + /** @description The list of team `slug`s with push access */ + teams: string[]; + /** @description The list of app `slug`s with push access */ + apps?: string[]; + } | null; + /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ + required_linear_history?: boolean; + /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ + allow_force_pushes?: boolean | null; + /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ + allow_deletions?: boolean; + /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ + block_creations?: boolean; + /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ + required_conversation_resolution?: boolean; + /** + * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. + * @default false + */ + lock_branch: boolean; + /** + * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. + * @default false + */ + allow_fork_syncing: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "repos/delete-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Create reaction for an issue - * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. - */ - "reactions/create-for-issue": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; + "repos/set-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an issue reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. - * - * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - "reactions/delete-for-issue": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - reaction_id: components["parameters"]["reaction-id"]; - }; + "repos/delete-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List timeline events for an issue - * @description List all timeline events for an issue. - */ - "issues/list-events-for-timeline": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "repos/delete-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ + require_code_owner_reviews?: boolean; + /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` + * @default false + */ + require_last_push_approval: boolean; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-status-checks-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/remove-status-check-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "repos/update-status-check-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Require branches to be up to date before merging. */ + strict?: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + * + */ + contexts?: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-all-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-restriction-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "repos/get-apps-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-teams-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-users-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + } | string[]; + }; }; - content: { - "application/json": components["schemas"]["timeline-issue-events"][]; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + } | string[]; + }; }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** List deploy keys */ - "repos/list-deploy-keys": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["deploy-key"][]; - }; - }; - }; - }; - /** - * Create a deploy key - * @description You can create a read-only deploy key. - */ - "repos/create-deploy-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A name for the key. */ - title?: string; - /** @description The contents of the key. */ - key: string; - /** - * @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. - * - * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." - */ - read_only?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ - Location?: string; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/rename-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; }; - content: { - "application/json": components["schemas"]["deploy-key"]; + requestBody: { + content: { + "application/json": { + /** @description The new name of the branch. */ + new_name: string; + }; + }; }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Get a deploy key */ - "repos/get-deploy-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - key_id: components["parameters"]["key-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deploy-key"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a deploy key - * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. - */ - "repos/delete-deploy-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - key_id: components["parameters"]["key-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List labels for a repository - * @description Lists all labels for a repository. - */ - "issues/list-labels-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a label - * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). - */ - "issues/create-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ - name: string; - /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ - color?: string; - /** @description A short description of the label. Must be 100 characters or fewer. */ - description?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["label"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a label - * @description Gets a label using the given name. - */ - "issues/get-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a label - * @description Deletes a label using the given label name. - */ - "issues/delete-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: string; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a label - * @description Updates a label using the given label name. - */ - "issues/update-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: string; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ - new_name?: string; - /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ - color?: string; - /** @description A short description of the label. Must be 100 characters or fewer. */ - description?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"]; - }; - }; - }; - }; - /** - * List repository languages - * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. - */ - "repos/list-languages": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["language"]; - }; - }; - }; - }; - /** - * Get the license for a repository - * @description This method returns the contents of the repository's license file, if one is detected. - * - * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. - */ - "licenses/get-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["license-content"]; - }; - }; - }; - }; - /** - * Sync a fork branch with the upstream repository - * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. - */ - "repos/merge-upstream": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the branch which should be updated to match upstream. */ - branch: string; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "checks/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the check. For example, "code-coverage". */ + name: string; + /** @description The SHA of the commit. */ + head_sha: string; + /** @description The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * @description The current status. + * @default queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** + * Format: date-time + * @description The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: "action_required" | "cancelled" | "failure" | "neutral" | "success" | "skipped" | "stale" | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ + output?: { + /** @description The title of the check run. */ + title: string; + /** @description The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + summary: string; + /** @description The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. Line numbers start at 1. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + } & ({ + /** @enum {unknown} */ + status: "completed"; + [key: string]: unknown; + } | { + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + [key: string]: unknown; + }); + }; }; - }; - }; - responses: { - /** @description The branch has been successfully synced with the upstream repository */ - 200: { - content: { - "application/json": components["schemas"]["merged-upstream"]; - }; - }; - /** @description The branch could not be synced because of a merge conflict */ - 409: { - content: never; - }; - /** @description The branch could not be synced for some other reason */ - 422: { - content: never; - }; - }; - }; - /** Merge a branch */ - "repos/merge": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the base branch that the head will be merged into. */ - base: string; - /** @description The head to merge. This can be a branch name or a commit SHA1. */ - head: string; - /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ - commit_message?: string; - }; - }; - }; - responses: { - /** @description Successful Response (The resulting merge commit) */ - 201: { - content: { - "application/json": components["schemas"]["commit"]; - }; - }; - /** @description Response when already merged */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found when the base or head does not exist */ - 404: { - content: never; - }; - /** @description Conflict when there is a merge conflict */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List milestones - * @description Lists milestones for a repository. - */ - "issues/list-milestones": { - parameters: { - query?: { - /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ - state?: "open" | "closed" | "all"; - /** @description What to sort results by. Either `due_on` or `completeness`. */ - sort?: "due_on" | "completeness"; - /** @description The direction of the sort. Either `asc` or `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["milestone"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a milestone - * @description Creates a milestone. - */ - "issues/create-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The title of the milestone. */ - title: string; - /** - * @description The state of the milestone. Either `open` or `closed`. - * @default open - * @enum {string} - */ - state?: "open" | "closed"; - /** @description A description of the milestone. */ - description?: string; - /** - * Format: date-time - * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - due_on?: string; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a milestone - * @description Gets a milestone using the given milestone number. - */ - "issues/get-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a milestone - * @description Deletes a milestone using the given milestone number. - */ - "issues/delete-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Update a milestone */ - "issues/update-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The title of the milestone. */ - title?: string; - /** - * @description The state of the milestone. Either `open` or `closed`. - * @default open - * @enum {string} - */ - state?: "open" | "closed"; - /** @description A description of the milestone. */ - description?: string; - /** - * Format: date-time - * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - due_on?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - }; - }; - /** - * List labels for issues in a milestone - * @description Lists labels for issues in a milestone. - */ - "issues/list-labels-for-milestone": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - }; - }; - /** - * List repository notifications for the authenticated user - * @description Lists all notifications for the current user in the specified repository. - */ - "activity/list-repo-notifications-for-authenticated-user": { - parameters: { - query?: { - all?: components["parameters"]["all"]; - participating?: components["parameters"]["participating"]; - since?: components["parameters"]["since"]; - before?: components["parameters"]["before"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["thread"][]; - }; - }; - }; - }; - /** - * Mark repository notifications as read - * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - "activity/mark-repo-notifications-as-read": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * Format: date-time - * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. - */ - last_read_at?: string; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": { - message?: string; - url?: string; - }; - }; - }; - /** @description Reset Content */ - 205: { - content: never; - }; - }; - }; - /** - * Get a GitHub Pages site - * @description Gets information about a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/get-pages": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update information about a GitHub Pages site - * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - "repos/update-information-about-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/articles/using-a-custom-domain-with-github-pages/)." */ - cname?: string | null; - /** @description Specify whether HTTPS should be enforced for the repository. */ - https_enforced?: boolean; - /** - * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. - * @enum {string} - */ - build_type?: "legacy" | "workflow"; - source?: ("gh-pages" | "master" | "master /docs") | ({ - /** @description The repository branch used to publish your site's source files. */ - branch: string; - /** - * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. - * @enum {string} - */ - path: "/" | "/docs"; - }); + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 400: components["responses"]["bad_request"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a GitHub Pages site - * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - "repos/create-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** - * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. - * @enum {string} - */ - build_type?: "legacy" | "workflow"; - /** @description The source branch and directory used to publish your Pages site. */ - source?: { - /** @description The repository branch used to publish your site's source files. */ - branch: string; - /** - * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` - * @default / - * @enum {string} - */ - path?: "/" | "/docs"; - }; - }) | null; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["page"]; - }; - }; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a GitHub Pages site - * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - "repos/delete-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List GitHub Pages builds - * @description Lists builts of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/list-pages-builds": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "checks/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["page-build"][]; - }; - }; - }; - }; - /** - * Request a GitHub Pages build - * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. - * - * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. - */ - "repos/request-pages-build": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "checks/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the check. For example, "code-coverage". */ + name?: string; + /** @description The URL of the integrator's site that has the full details of the check. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * Format: date-time + * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description The current status. + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed"; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: "action_required" | "cancelled" | "failure" | "neutral" | "success" | "skipped" | "stale" | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ + output?: { + /** @description **Required**. */ + title?: string; + /** @description Can contain Markdown. */ + summary: string; + /** @description Can contain Markdown. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. Line numbers start at 1. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + } | { + /** @enum {unknown} */ + status?: "completed"; + [key: string]: unknown; + } | { + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + [key: string]: unknown; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["page-build-status"]; - }; - }; - }; - }; - /** - * Get latest Pages build - * @description Gets information about the single most recent build of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/get-latest-pages-build": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "checks/list-annotations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-annotation"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page-build"]; - }; - }; - }; - }; - /** - * Get GitHub Pages build - * @description Gets information about a GitHub Pages build. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/get-pages-build": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - build_id: number; - }; + "checks/rerequest-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Validation error if the check run is not rerequestable */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page-build"]; - }; - }; - }; - }; - /** - * Create a GitHub Pages deployment - * @description Create a GitHub Pages deployment for a repository. - * - * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. - */ - "repos/create-pages-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. */ - artifact_url: string; - /** - * @description The target environment for this GitHub Pages deployment. - * @default github-pages - */ - environment?: string; - /** - * @description A unique string that represents the version of the build for this deployment. - * @default GITHUB_SHA - */ - pages_build_version: string; - /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ - oidc_token: string; - }; - }; + "checks/create-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The sha of the head commit. */ + head_sha: string; + }; + }; + }; + responses: { + /** @description Response when the suite already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + /** @description Response when the suite was created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page-deployment"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a DNS health check for GitHub Pages - * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. - * - * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. - */ - "repos/get-pages-health-check": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "checks/set-suites-preferences": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ + auto_trigger_checks?: { + /** @description The `id` of the GitHub App. */ + app_id: number; + /** + * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. + * @default true + */ + setting: boolean; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite-preference"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pages-health-check"]; - }; - }; - /** @description Empty response */ - 202: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Custom domains are not available for GitHub Pages */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description There isn't a CNAME for this page */ - 422: { - content: never; - }; - }; - }; - /** - * Enable private vulnerability reporting for a repository - * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." - */ - "repos/enable-private-vulnerability-reporting": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "checks/get-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; }; - responses: { - 204: components["responses"]["no_content"]; - 422: components["responses"]["bad_request"]; - }; - }; - /** - * Disable private vulnerability reporting for a repository - * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". - */ - "repos/disable-private-vulnerability-reporting": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "checks/list-for-suite": { + parameters: { + query?: { + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; }; - responses: { - 204: components["responses"]["no_content"]; - 422: components["responses"]["bad_request"]; - }; - }; - /** - * List repository projects - * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/list-for-repo": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "checks/rerequest-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create a repository project - * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/create-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "code-scanning/list-alerts-for-repo": { + parameters: { + query?: { + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated"; + /** @description If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state-query"]; + /** @description If specified, only code scanning alerts with this severity will be returned. */ + severity?: components["schemas"]["code-scanning-alert-severity"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-alert-items"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["code-scanning-alert-set-state"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/list-alert-instances": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-alert-instance"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/list-recent-analyses": { + parameters: { + query?: { + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["schemas"]["code-scanning-ref"]; + /** @description Filter analyses belonging to the same SARIF upload. */ + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property by which to sort the results. */ + sort?: "created"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-analysis"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-analysis": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-analysis"]; + "application/json+sarif": { + [key: string]: unknown; + }; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The name of the project. */ - name: string; - /** @description The description of the project. */ - body?: string; + "code-scanning/delete-analysis": { + parameters: { + query?: { + /** @description Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ + confirm_delete?: string | null; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-analysis-deletion"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/list-codeql-databases": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-codeql-database": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The language of the CodeQL database. */ + language: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-default-setup": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-default-setup"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/update-default-setup": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update-response"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["code_scanning_conflict"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/upload-sarif": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-ref"]; + sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; + /** + * Format: uri + * @description The base directory used in the analysis, as it appears in the SARIF file. + * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. + */ + checkout_uri?: string; + /** + * Format: date-time + * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ + tool_name?: string; + /** @description Whether the SARIF file will be validated according to the code scanning specifications. + * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. */ + validate?: boolean; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List pull requests - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "pulls/list": { - parameters: { - query?: { - /** @description Either `open`, `closed`, or `all` to filter by state. */ - state?: "open" | "closed" | "all"; - /** @description Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ - head?: string; - /** @description Filter pulls by base branch name. Example: `gh-pages`. */ - base?: string; - /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ - sort?: "created" | "updated" | "popularity" | "long-running"; - /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. - */ - "pulls/create": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The title of the new pull request. Required unless `issue` is specified. */ - title?: string; - /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ - head: string; - /** - * Format: repo.nwo - * @description The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. - */ - head_repo?: string; - /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ - base: string; - /** @description The contents of the pull request. */ - body?: string; - /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - maintainer_can_modify?: boolean; - /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ - draft?: boolean; - /** - * Format: int64 - * @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. - */ - issue?: number; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List review comments in a repository - * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. - */ - "pulls/list-review-comments-for-repo": { - parameters: { - query?: { - sort?: "created" | "updated" | "created_at"; - /** @description The direction to sort results. Ignored without `sort` parameter. */ - direction?: "asc" | "desc"; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"][]; - }; - }; - }; - }; - /** - * Get a review comment for a pull request - * @description Provides details for a review comment. - */ - "pulls/get-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a review comment for a pull request - * @description Deletes a review comment. - */ - "pulls/delete-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a review comment for a pull request - * @description Enables you to edit a review comment. - */ - "pulls/update-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The text of the reply to the review comment. */ - body: string; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; + }; + }; + /** @description Bad Request if the sarif field is invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** @description Payload Too Large if the sarif field is too large */ + 413: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-sarif": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SARIF ID obtained after uploading. */ + sarif_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-sarifs-status"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + /** @description Not Found if the sarif id does not match any upload */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - }; - }; - /** - * List reactions for a pull request review comment - * @description List the reactions to a [pull request review comment](https://docs.github.com/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - "reactions/list-for-pull-request-review-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a pull request review comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for a pull request review comment - * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. - */ - "reactions/create-for-pull-request-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a pull request comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` - * - * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - "reactions/delete-for-pull-request-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists details of a pull request by providing its number. - * - * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. - * - * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: - * - * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. - * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. - * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. - * - * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - */ - "pulls/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ - 200: { - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - */ - "pulls/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The title of the pull request. */ - title?: string; - /** @description The contents of the pull request. */ - body?: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state?: "open" | "closed"; - /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ - base?: string; - /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - maintainer_can_modify?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a codespace from a pull request - * @description Creates a codespace owned by the authenticated user for the specified pull request. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/create-with-pr-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - }) | null; - }; - }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List review comments on a pull request - * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. - */ - "pulls/list-review-comments": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description The direction to sort results. Ignored without `sort` parameter. */ - direction?: "asc" | "desc"; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"][]; - }; - }; - }; - }; - /** - * Create a review comment for a pull request - * @description - * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. - * - * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. - * - * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/create-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The text of the review comment. */ - body: string; - /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ - commit_id: string; - /** @description The relative path to the file that necessitates a comment. */ - path: string; - /** - * @deprecated - * @description **This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. - */ - position?: number; - /** - * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. - * @enum {string} - */ - side?: "LEFT" | "RIGHT"; - /** @description **Required unless using `subject_type:file`**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ - line?: number; - /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ - start_line?: number; - /** - * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. - * @enum {string} - */ - start_side?: "LEFT" | "RIGHT" | "side"; - /** @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. */ - in_reply_to?: number; - /** - * @description The level at which the comment is targeted. - * @enum {string} - */ - subject_type?: "line" | "file"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a reply for a review comment - * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/create-reply-for-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The text of the review comment. */ - body: string; + "repos/codeowners-errors": { + parameters: { + query?: { + /** @description A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codeowners-errors"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List commits on a pull request - * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. - */ - "pulls/list-commits": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["commit"][]; - }; - }; - }; - }; - /** - * List pull requests files - * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. - */ - "pulls/list-files": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["diff-entry"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Check if a pull request has been merged - * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. - */ - "pulls/check-if-merged": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Response if pull request has been merged */ - 204: { - content: never; - }; - /** @description Not Found if pull request has not been merged */ - 404: { - content: never; - }; - }; - }; - /** - * Merge a pull request - * @description Merges a pull request into the base branch. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/merge": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - /** @description Title for the automatic commit message. */ - commit_title?: string; - /** @description Extra detail to append to automatic commit message. */ - commit_message?: string; - /** @description SHA that pull request head must match to allow merge. */ - sha?: string; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method?: "merge" | "squash" | "rebase"; - }) | null; - }; - }; - responses: { - /** @description if merge was successful */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-merge-result"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Method Not Allowed if merge cannot be performed */ - 405: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "codespaces/list-in-repository-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/create-with-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; }; - }; - /** @description Conflict if sha was provided and pull request head did not match */ - 409: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-devcontainers-in-repository-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + devcontainers: { + path: string; + name?: string; + display_name?: string; + }[]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/repo-machines-for-authenticated-user": { + parameters: { + query?: { + /** @description The location to check for available machines. Assigned by IP if not provided. */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description The branch or commit to check for prebuild availability and devcontainer restrictions. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/pre-flight-with-repo-for-authenticated-user": { + parameters: { + query?: { + /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ + ref?: string; + /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ + client_ip?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when a user is able to create codespaces from the repository. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + billable_owner?: components["schemas"]["simple-user"]; + defaults?: { + location: string; + devcontainer_path: string | null; + }; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/check-permissions-for-devcontainer": { + parameters: { + query: { + /** @description The git reference that points to the location of the devcontainer configuration to use for the permission check. The value of `ref` will typically be a branch name (`heads/BRANCH_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: string; + /** @description Path to the devcontainer.json configuration to use for the permission check. */ + devcontainer_path: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when the permission check is successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-permissions-check-for-devcontainer"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["repo-codespaces-secret"][]; + }; + }; + }; }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all requested reviewers for a pull request - * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. - */ - "pulls/list-requested-reviewers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review-request"]; - }; - }; - }; - }; - /** - * Request reviewers for a pull request - * @description Requests reviews for a pull request from a given set of users and/or teams. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/request-reviewers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description An array of user `login`s that will be requested. */ - reviewers?: string[]; - /** @description An array of team `slug`s that will be requested. */ - team_reviewers?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["pull-request-simple"]; - }; - }; - 403: components["responses"]["forbidden"]; - /** @description Unprocessable Entity if user is not a collaborator */ - 422: { - content: never; - }; - }; - }; - /** - * Remove requested reviewers from a pull request - * @description Removes review requests from a pull request for a given set of users and/or teams. - */ - "pulls/remove-requested-reviewers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of user `login`s that will be removed. */ - reviewers: string[]; - /** @description An array of team `slug`s that will be removed. */ - team_reviewers?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-simple"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List reviews for a pull request - * @description The list of reviews returns in chronological order. - */ - "pulls/list-reviews": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; }; - responses: { - /** @description The list of reviews returns in chronological order. */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review"][]; - }; - }; - }; - }; - /** - * Create a review for a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." - * - * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. - * - * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - */ - "pulls/create-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ - commit_id?: string; - /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ - body?: string; - /** - * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request) when you are ready. - * @enum {string} - */ - event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; - /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ - comments?: { - /** @description The relative path to the file that necessitates a review comment. */ - path: string; - /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ - position?: number; - /** @description Text of the review comment. */ - body: string; - line?: number; - side?: string; - start_line?: number; - start_side?: string; - }[]; + "codespaces/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a review for a pull request - * @description Retrieves a pull request review by its ID. - */ - "pulls/get-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a review for a pull request - * @description Update the review summary comment with new text. - */ - "pulls/update-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; }; - requestBody: { - content: { - "application/json": { - /** @description The body text of the pull request review. */ - body: string; + "codespaces/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repo-codespaces-secret"]; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Delete a pending review for a pull request - * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. - */ - "pulls/delete-pending-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List comments for a pull request review - * @description List comments for a specific pull request review. - */ - "pulls/list-comments-for-review": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; + "codespaces/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["review-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Dismiss a review for a pull request - * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. - */ - "pulls/dismiss-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The message for the pull request review dismissal */ - message: string; - /** @enum {string} */ - event?: "DISMISS"; - }; - }; + "codespaces/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Submit a review for a pull request - * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." - */ - "pulls/submit-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The body text of the pull request review */ - body?: string; - /** - * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. - * @enum {string} - */ - event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; - }; - }; + "repos/list-collaborators": { + parameters: { + query?: { + /** @description Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ + permission?: "pull" | "triage" | "push" | "maintain" | "admin"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["collaborator"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/check-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if user is a collaborator */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if user is not a collaborator */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Update a pull request branch - * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. - */ - "pulls/update-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/commits/commits#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ - expected_head_sha?: string; - } | null; - }; + "repos/add-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. + * @default push + */ + permission: string; + }; + }; + }; + responses: { + /** @description Response when a new invitation is created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + /** @description Response when: + * - an existing collaborator is added as a collaborator + * - an organization member is added as an individual collaborator + * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when collaborator was removed from the repository. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-collaborator-permission-level": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if user has admin permissions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": { - message?: string; - url?: string; - }; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository README - * @description Gets the preferred README for a repository. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - "repos/get-readme": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-commit-comments-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["content-file"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository README for a directory - * @description Gets the README from a repository directory. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - "repos/get-readme-in-directory": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The alternate path to look for a README file */ - dir: string; - }; + "repos/get-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/list-for-commit-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a commit comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["content-file"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List releases - * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). - * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. - */ - "repos/list-releases": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-commits": { + parameters: { + query?: { + /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`). */ + sha?: string; + /** @description Only commits containing this file path will be returned. */ + path?: string; + /** @description GitHub username or email address to use to filter by commit author. */ + author?: string; + /** @description GitHub username or email address to use to filter by commit committer. */ + committer?: string; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + until?: string; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/list-branches-for-head-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-short"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["release"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a release - * @description Users with push access to the repository can create a release. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "repos/create-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the tag. */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ - target_commitish?: string; - /** @description The name of the release. */ - name?: string; - /** @description Text describing the contents of the tag. */ - body?: string; - /** - * @description `true` to create a draft (unpublished) release, `false` to create a published one. - * @default false - */ - draft?: boolean; - /** - * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. - * @default false - */ - prerelease?: boolean; - /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ - discussion_category_name?: string; - /** - * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. - * @default false - */ - generate_release_notes?: boolean; - /** - * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. - * @default true - * @enum {string} - */ - make_latest?: "true" | "false" | "legacy"; - }; - }; + "repos/list-comments-for-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Not Found if the discussion category name is invalid */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a release asset - * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. - */ - "repos/get-release-asset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - asset_id: components["parameters"]["asset-id"]; - }; + "repos/create-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + /** @description Relative path of the file to comment on. */ + path?: string; + /** @description Line index in the diff to comment on. */ + position?: number; + /** @description **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ + line?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - 302: components["responses"]["found"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a release asset */ - "repos/delete-release-asset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - asset_id: components["parameters"]["asset-id"]; - }; + "repos/list-pull-requests-associated-with-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a release asset - * @description Users with push access to the repository can edit a release asset. - */ - "repos/update-release-asset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - asset_id: components["parameters"]["asset-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The file name of the asset. */ - name?: string; - /** @description An alternate short description of the asset. Used in place of the filename. */ - label?: string; - state?: string; - }; - }; + "repos/get-commit": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "checks/list-for-ref": { + parameters: { + query?: { + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + app_id?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - }; - }; - /** - * Generate release notes content for a release - * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. - */ - "repos/generate-release-notes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The tag name for the release. This can be an existing tag or a new one. */ - tag_name: string; - /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ - target_commitish?: string; - /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ - previous_tag_name?: string; - /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ - configuration_file_path?: string; - }; - }; + "checks/list-suites-for-ref": { + parameters: { + query?: { + /** + * @description Filters check suites by GitHub App `id`. + * @example 1 + */ + app_id?: number; + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_suites: components["schemas"]["check-suite"][]; + }; + }; + }; + }; }; - responses: { - /** @description Name and body of generated release notes */ - 200: { - content: { - "application/json": components["schemas"]["release-notes-content"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the latest release - * @description View the latest published full release for the repository. - * - * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. - */ - "repos/get-latest-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/get-combined-status-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-commit-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - }; - }; - /** - * Get a release by tag name - * @description Get a published release with the specified tag. - */ - "repos/get-release-by-tag": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description tag parameter */ - tag: string; - }; + "repos/list-commit-statuses-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + }; + }; + "repos/get-community-profile-metrics": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["community-profile"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a release - * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). - */ - "repos/get-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; + "repos/compare-commits": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`. */ + basehead: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; }; - responses: { - /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Unauthorized */ - 401: { - content: never; - }; - }; - }; - /** - * Delete a release - * @description Users with push access to the repository can delete a release. - */ - "repos/delete-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; + "repos/get-content": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/vnd.github.object": components["schemas"]["content-tree"]; + "application/json": components["schemas"]["content-directory"] | components["schemas"]["content-file"] | components["schemas"]["content-symlink"] | components["schemas"]["content-submodule"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-or-update-file-contents": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The new file content, using Base64 encoding. */ + content: string; + /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ + sha?: string; + /** @description The branch name. Default: the repository’s default branch. */ + branch?: string; + /** @description The person that committed the file. Default: the authenticated user. */ + committer?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + date?: string; + }; + /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ + author?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + date?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/delete-file": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The blob SHA of the file being deleted. */ + sha: string; + /** @description The branch name. Default: the repository’s default branch */ + branch?: string; + /** @description object containing information about the committer. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + /** @description object containing information about the author. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "repos/list-contributors": { + parameters: { + query?: { + /** @description Set to `1` or `true` to include anonymous contributors in results. */ + anon?: string; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If repository contains content */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["contributor"][]; + }; + }; + /** @description Response if repository is empty */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/list-alerts-for-repo": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + manifest?: components["parameters"]["dependabot-alert-comma-separated-manifests"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** + * @deprecated + * @description **Deprecated**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead. + */ + page?: number; + /** + * @deprecated + * @description The number of results per page (max 100). + */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/get-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the Dependabot alert. + * A `dismissed_reason` must be provided when setting the state to `dismissed`. + * @enum {string} + */ + state: "dismissed" | "open"; + /** + * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. + * @enum {string} + */ + dismissed_reason?: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk"; + /** @description An optional comment associated with dismissing the alert. */ + dismissed_comment?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["dependabot-secret"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a release - * @description Users with push access to the repository can edit a release. - */ - "repos/update-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the tag. */ - tag_name?: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ - target_commitish?: string; - /** @description The name of the release. */ - name?: string; - /** @description Text describing the contents of the tag. */ - body?: string; - /** @description `true` makes the release a draft, and `false` publishes the release. */ - draft?: boolean; - /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ - prerelease?: boolean; - /** - * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. - * @default true - * @enum {string} - */ - make_latest?: "true" | "false" | "legacy"; - /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ - discussion_category_name?: string; - }; - }; + "dependabot/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Not Found if the discussion category name is invalid */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** List release assets */ - "repos/list-release-assets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; + "dependabot/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["release-asset"][]; - }; - }; - }; - }; - /** - * Upload a release asset - * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in - * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. - * - * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. - * - * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: - * - * `application/zip` - * - * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, - * you'll still need to pass your authentication to be able to upload an asset. - * - * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. - * - * **Notes:** - * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" - * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). - * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. - */ - "repos/upload-release-asset": { - parameters: { - query: { - name: string; - label?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - requestBody?: { - content: { - "application/octet-stream": string; - }; + "dependabot/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response for successful upload */ - 201: { - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - /** @description Response if you upload an asset with the same filename as another uploaded asset */ - 422: { - content: never; - }; - }; - }; - /** - * List reactions for a release - * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - "reactions/list-for-release": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a release. */ - content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; + "dependabot/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for a release - * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. - */ - "reactions/create-for-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the release. - * @enum {string} - */ - content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; + "dependency-graph/diff-range": { + parameters: { + query?: { + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + name?: components["parameters"]["manifest-path"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ + basehead: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependency-graph-diff"]; + }; + }; + 403: components["responses"]["dependency_review_forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependency-graph/export-sbom": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependency-graph-spdx-sbom"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependency-graph/create-repository-snapshot": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["snapshot"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description ID of the created snapshot. */ + id: number; + /** @description The time at which the snapshot was created. */ + created_at: string; + /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ + result: string; + /** @description A message providing further details about the result, such as why the dependencies were not updated. */ + message: string; + }; + }; + }; + }; }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a release reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. - * - * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - "reactions/delete-for-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; + "repos/list-deployments": { + parameters: { + query?: { + /** @description The SHA recorded at creation time. */ + sha?: string; + /** @description The name of the ref. This can be a branch, tag, or SHA. */ + ref?: string; + /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ + task?: string; + /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ + environment?: string | null; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get rules for a branch - * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply - * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level - * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" - * enforcement statuses are not returned. - */ - "repos/get-branch-rules": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "repos/create-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The ref to deploy. This can be a branch, tag, or SHA. */ + ref: string; + /** + * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + * @default deploy + */ + task: string; + /** + * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + * @default true + */ + auto_merge: boolean; + /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ + required_contexts?: string[]; + payload?: { + [key: string]: unknown; + } | string; + /** + * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + * @default production + */ + environment: string; + /** + * @description Short description of the deployment. + * @default + */ + description: string | null; + /** + * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * @default false + */ + transient_environment: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ + production_environment?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + /** @description Merged branch response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Conflict when there is a merge conflict or the commit's status checks failed */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-rule-detailed"][]; - }; - }; - }; - }; - /** - * Get all repository rulesets - * @description Get all the rulesets for a repository. - */ - "repos/get-repo-rulesets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Include rulesets configured at higher levels that apply to this repository */ - includes_parents?: boolean; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-deployment-statuses": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-deployment-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. + * @enum {string} + */ + state: "error" | "failure" | "inactive" | "in_progress" | "queued" | "pending" | "success"; + /** + * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + * @default + */ + target_url: string; + /** + * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * @default + */ + log_url: string; + /** + * @description A short description of the status. The maximum description length is 140 characters. + * @default + */ + description: string; + /** @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used. */ + environment?: string; + /** + * @description Sets the URL for accessing your environment. Default: `""` + * @default + */ + environment_url: string; + /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ + auto_inactive?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deployment-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + status_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-dispatch-event": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A custom webhook event name. Must be 100 characters or fewer. */ + event_type: string; + /** @description JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10. */ + client_payload?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"][]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a repository ruleset - * @description Create a ruleset for a repository. - */ - "repos/create-repo-ruleset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - /** @description Request body */ - requestBody: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["repository-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; + "repos/get-all-environments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The number of environments in this repository */ + total_count?: number; + environments?: components["schemas"]["environment"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get a repository ruleset - * @description Get a ruleset for a repository. - */ - "repos/get-repo-ruleset": { - parameters: { - query?: { - /** @description Include rulesets configured at higher levels that apply to this repository */ - includes_parents?: boolean; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; + "repos/get-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update a repository ruleset - * @description Update a ruleset for a repository. - */ - "repos/update-repo-ruleset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - /** @description Request body */ - requestBody?: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name?: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement?: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["repository-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; + "repos/create-or-update-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: { + type?: components["schemas"]["deployment-reviewer-type"]; + /** @description The id of the user or team who can review the deployment */ + id?: number; + }[] | null; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + /** @description Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete a repository ruleset - * @description Delete a ruleset for a repository. - */ - "repos/delete-repo-ruleset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; + "repos/delete-an-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List secret scanning alerts for a repository - * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-alerts-for-repo": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; - after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-deployment-branch-policies": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The number of deployment branch policies for the environment. */ + total_count: number; + branch_policies: components["schemas"]["deployment-branch-policy"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"][]; - }; - }; - /** @description Repository is public or secret scanning is disabled for the repository */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a secret scanning alert - * @description Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/get-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "repos/create-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern-with-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + /** @description Response if the same branch name pattern already exists */ + 303: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a secret scanning alert - * @description Updates the status of a secret scanning alert in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. - */ - "secret-scanning/update-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "repos/get-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - state: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; + "repos/update-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"]; - }; - }; - /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ - 400: { - content: never; - }; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - content: never; - }; - /** @description State does not match the resolution or resolution comment */ - 422: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List locations for a secret scanning alert - * @description Lists all locations for a given secret scanning alert for an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-locations-for-alert": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "repos/delete-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["secret-scanning-location"][]; - }; - }; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List repository security advisories - * @description Lists security advisories in a repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to. - * - * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. - */ - "security-advisories/list-repository-advisories": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "published"; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - /** @description Number of advisories to return per page. */ - per_page?: number; - /** @description Filter by state of the repository advisories. Only advisories of this state will be returned. */ - state?: "triage" | "draft" | "published" | "closed"; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/get-all-deployment-protection-rules": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of deployment protection rules */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The number of enabled custom deployment protection rules for this environment */ + total_count?: number; + custom_deployment_protection_rules?: components["schemas"]["deployment-protection-rule"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a repository security advisory - * @description Creates a new repository security advisory. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. - */ - "security-advisories/create-repository-advisory": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/create-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The ID of the custom app that will be enabled on the environment. */ + integration_id?: number; + }; + }; + }; + responses: { + /** @description The enabled custom deployment protection rule */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["repository-advisory-create"]; - }; + "repos/list-custom-deployment-rule-integrations": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A list of custom deployment rule integrations available for this environment. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The total number of custom deployment protection rule integrations available for this environment. */ + total_count?: number; + available_custom_deployment_protection_rule_integrations?: components["schemas"]["custom-deployment-rule-app"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Privately report a security vulnerability - * @description Report a security vulnerability to the maintainers of the repository. - * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. - */ - "security-advisories/create-private-vulnerability-report": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/get-custom-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the protection rule. */ + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["private-vulnerability-report-create"]; - }; + "repos/disable-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The unique identifier of the protection rule. */ + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository security advisory - * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You can access any published security advisory on a public repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to. - * - * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a - * collaborator on the security advisory. - */ - "security-advisories/get-repository-advisory": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ghsa_id: components["parameters"]["ghsa_id"]; - }; + "activity/list-repo-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a repository security advisory - * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to update any security advisory, you must be a security manager or administrator of that repository, - * or a collaborator on the repository security advisory. - */ - "security-advisories/update-repository-advisory": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ghsa_id: components["parameters"]["ghsa_id"]; - }; + "repos/list-forks": { + parameters: { + query?: { + /** @description The sort order. `stargazers` will sort by star count. */ + sort?: "newest" | "oldest" | "stargazers" | "watchers"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 400: components["responses"]["bad_request"]; + }; + }; + "repos/create-fork": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Optional parameter to specify the organization name if forking into an organization. */ + organization?: string; + /** @description When forking from an existing repository, a new name for the fork. */ + name?: string; + /** @description When forking from an existing repository, fork with only the default branch. */ + default_branch_only?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/create-blob": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The new blob's content. */ + content: string; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["short-blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-blob": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + file_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/create-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message */ + message: string; + /** @description The SHA of the tree object this commit points to */ + tree: string; + /** @description The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ + parents?: string[]; + /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name: string; + /** @description The email of the author (or committer) of the commit */ + email: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ + signature?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "git/list-matching-refs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["repository-advisory-update"]; - }; + "git/get-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "git/create-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ + ref: string; + /** @description The SHA1 value for this reference. */ + sha: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/delete-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/update-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** + * @description The name of the reference to update (for example, `heads/featureA`). Can be a branch name (`heads/BRANCH_NAME`) or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/featureA + */ + ref: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The SHA1 value to set this reference to */ + sha: string; + /** + * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + * @default false + */ + force: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/create-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ + tag: string; + /** @description The tag message. */ + message: string; + /** @description The SHA of the git object this is tagging. */ + object: string; + /** + * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + * @enum {string} + */ + type: "commit" | "tree" | "blob"; + /** @description An object with information about the individual creating the tag. */ + tagger?: { + /** @description The name of the author of the tag */ + name: string; + /** @description The email of the author of the tag */ + email: string; + /** + * Format: date-time + * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + tag_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "git/create-tree": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ + tree: { + /** @description The file referenced in the tree. */ + path?: string; + /** + * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. + * @enum {string} + */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** + * @description Either `blob`, `tree`, or `commit`. + * @enum {string} + */ + type?: "blob" | "tree" | "commit"; + /** @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. */ + sha?: string | null; + /** @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. */ + content?: string; + }[]; + /** @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. + * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. + * */ + base_tree?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - content: { - "application/json": components["schemas"]["validation-error"]; - }; - }; - }; - }; - /** - * Request a CVE for a repository security advisory - * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." - * - * You may request a CVE for public repositories, but cannot do so for private repositories. - * - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository. - */ - "security-advisories/create-repository-advisory-cve-request": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ghsa_id: components["parameters"]["ghsa_id"]; - }; + "git/get-tree": { + parameters: { + query?: { + /** @description Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ + recursive?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA1 value or ref (branch or tag) name of the tree. */ + tree_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List stargazers - * @description Lists the people that have starred the repository. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - "activity/list-stargazers-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ + name?: string; + /** @description Key/value pairs to provide settings for this webhook. */ + config?: { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + token?: string; + digest?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + address?: string; + room?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. + * @default [ + * "push" + * ] + */ + events: string[]; + /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ + add_events?: string[]; + /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ + remove_events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook-config-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][] | components["schemas"]["stargazer"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get the weekly commit activity - * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. - */ - "repos/get-code-frequency-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/update-webhook-config-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; }; - responses: { - /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ - 200: { - content: { - "application/json": components["schemas"]["code-frequency-stat"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Get the last year of commit activity - * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. - */ - "repos/get-commit-activity-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + redelivery?: boolean; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/ping-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/test-push-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/get-import-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/start-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The URL of the originating repository. */ + vcs_url: string; + /** + * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + * @enum {string} + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** @description If authentication is required, the username to provide to `vcs_url`. */ + vcs_username?: string; + /** @description If authentication is required, the password to provide to `vcs_url`. */ + vcs_password?: string; + /** @description For a tfvc import, the name of the project that is being imported. */ + tfvc_project?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/spraints/socm/import */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/cancel-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/update-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The username to provide to the originating repository. */ + vcs_username?: string; + /** @description The password to provide to the originating repository. */ + vcs_password?: string; + /** + * @description The type of version control system you are migrating from. + * @enum {string} + */ + vcs?: "subversion" | "tfvc" | "git" | "mercurial"; + /** @description For a tfvc import, the name of the project that is being imported. */ + tfvc_project?: string; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-activity"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Get all contributor commit activity - * @description - * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: - * - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). - * * `a` - Number of additions - * * `d` - Number of deletions - * * `c` - Number of commits - */ - "repos/get-contributors-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "migrations/get-commit-authors": { + parameters: { + query?: { + /** @description A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-author"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/map-commit-author": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + author_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new Git author email. */ + email?: string; + /** @description The new Git author name. */ + name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-author"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/get-large-files": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-large-file"][]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/set-lfs-preference": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. + * @enum {string} + */ + use_lfs: "opt_in" | "opt_out"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "apps/get-repo-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + "interactions/get-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["contributor-activity"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Get the weekly commit count - * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. - * - * The array order is oldest week (index 0) to most recent week. - * - * The most recent week is seven days ago at UTC midnight to today at UTC midnight. - */ - "repos/get-participation-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "interactions/set-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + /** @description Response */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description The array order is oldest week (index 0) to most recent week. */ - 200: { - content: { - "application/json": components["schemas"]["participation-stats"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the hourly commit count for each day - * @description Each array contains the day number, hour number, and number of commits: - * - * * `0-6`: Sunday - Saturday - * * `0-23`: Hour of day - * * Number of commits - * - * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. - */ - "repos/get-punch-card-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "interactions/remove-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ - 200: { - content: { - "application/json": components["schemas"]["code-frequency-stat"][]; - }; - }; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Create a commit status - * @description Users with push access in a repository can create commit statuses for a given SHA. - * - * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. - */ - "repos/create-commit-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - sha: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state of the status. - * @enum {string} - */ - state: "error" | "failure" | "pending" | "success"; - /** - * @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. - * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: - * `http://ci.example.com/user/repo/build/sha` - */ - target_url?: string | null; - /** @description A short description of the status. */ - description?: string | null; - /** - * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. - * @default default - */ - context?: string; - }; - }; + "repos/list-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["status"]; - }; - }; - }; - }; - /** - * List watchers - * @description Lists the people watching the specified repository. - */ - "activity/list-watchers-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/delete-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Get a repository subscription - * @description Gets information about whether the authenticated user is subscribed to the repository. - */ - "activity/get-repo-subscription": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/update-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + * @enum {string} + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + }; }; - responses: { - /** @description if you subscribe to the repository */ - 200: { - content: { - "application/json": components["schemas"]["repository-subscription"]; - }; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found if you don't subscribe to the repository */ - 404: { - content: never; - }; - }; - }; - /** - * Set a repository subscription - * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. - */ - "activity/set-repo-subscription": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/list-for-repo": { + parameters: { + query?: { + /** @description If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ + milestone?: string; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ + assignee?: string; + /** @description The user that created the issue. */ + creator?: string; + /** @description A user that's mentioned in the issue. */ + mentioned?: string; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the issue. */ + title: string | number; + /** @description The contents of the issue. */ + body?: string; + /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ + assignee?: string | null; + milestone?: null | string | number; + /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ + labels?: (string | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + })[]; + /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "issues/list-comments-for-repo": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody?: { - content: { - "application/json": { - /** @description Determines if notifications should be received from this repository. */ - subscribed?: boolean; - /** @description Determines if all notifications should be blocked from this repository. */ - ignored?: boolean; + "issues/update-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/list-for-issue-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-issue-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-issue-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-subscription"]; - }; - }; - }; - }; - /** - * Delete a repository subscription - * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). - */ - "activity/delete-repo-subscription": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/list-events-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-event": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + event_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the issue. */ + title?: null | string | number; + /** @description The contents of the issue. */ + body?: string | null; + /** @description Username to assign to this issue. **This field is deprecated.** */ + assignee?: string | null; + /** + * @description The open or closed state of the issue. + * @enum {string} + */ + state?: "open" | "closed"; + /** + * @description The reason for the state change. Ignored unless `state` is changed. + * @enum {string|null} + */ + state_reason?: "completed" | "not_planned" | "reopened" | null; + milestone?: null | string | number; + /** @description Labels to associate with this issue. Pass one or more labels to _replace_ the set of labels on this issue. Send an empty array (`[]`) to clear all labels from the issue. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped. */ + labels?: (string | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + })[]; + /** @description Usernames to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this issue. Send an empty array (`[]`) to clear all assignees from the issue. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped. */ + assignees?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "issues/add-assignees": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ + assignees?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** List repository tags */ - "repos/list-tags": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/remove-assignees": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ + assignees?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["tag"][]; - }; - }; - }; - }; - /** - * List tag protection states for a repository - * @description This returns the tag protection states of a repository. - * - * This information is only available to repository administrators. - */ - "repos/list-tag-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/check-user-can-be-assigned-to-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + assignee: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if `assignee` can be assigned to `issue_number` */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if `assignee` can not be assigned to `issue_number` */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["tag-protection"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a tag protection state for a repository - * @description This creates a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - "repos/create-tag-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/list-comments": { + parameters: { + query?: { + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/create-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/list-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event-for-issue"][]; + }; + }; + 410: components["responses"]["gone"]; + }; }; - requestBody: { - content: { - "application/json": { - /** @description An optional glob pattern to match against when enforcing tag protection. */ - pattern: string; + "issues/list-labels-on-issue": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/set-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/issues/labels#add-labels-to-an-issue)." */ + labels?: string[]; + } | string[] | { + labels?: { + name: string; + }[]; + } | { + name: string; + }[] | string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/add-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/issues/labels#set-labels-for-an-issue)." */ + labels?: string[]; + } | string[] | { + labels?: { + name: string; + }[]; + } | { + name: string; + }[] | string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/remove-all-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/remove-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/lock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * * `off-topic` + * * `too heated` + * * `resolved` + * * `spam` + * @enum {string} + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + } | null; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["tag-protection"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a tag protection state for a repository - * @description This deletes a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - "repos/delete-tag-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - tag_protection_id: components["parameters"]["tag-protection-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download a repository archive (tar) - * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * **Note**: For private repositories, these links are temporary and expire after five minutes. - */ - "repos/download-tarball-archive": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: string; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * List repository teams - * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. - * - * For a public repository, a team is listed only if that team added the public repository explicitly. - * - * Personal access tokens require the following scopes: - * * `public_repo` to call this endpoint on a public repository - * * `repo` to call this endpoint on a private repository (this scope also includes public repositories) - * - * This endpoint is not compatible with fine-grained personal access tokens. - */ - "repos/list-teams": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/unlock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/list-for-issue": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "reactions/create-for-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; }; - content: { - "application/json": components["schemas"]["team"][]; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Get all repository topics */ - "repos/get-all-topics": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["topic"]; + "issues/list-events-for-timeline": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["timeline-issue-events"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Replace all repository topics */ - "repos/replace-all-topics": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; }; - requestBody: { - content: { - "application/json": { - /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ - names: string[]; + "repos/list-deploy-keys": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"][]; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["topic"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get repository clones - * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - "repos/get-clones": { - parameters: { - query?: { - per?: components["parameters"]["per"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["clone-traffic"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get top referral paths - * @description Get the top 10 popular contents over the last 14 days. - */ - "repos/get-top-paths": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["content-traffic"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get top referral sources - * @description Get the top 10 referrers over the last 14 days. - */ - "repos/get-top-referrers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["referrer-traffic"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get page views - * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - "repos/get-views": { - parameters: { - query?: { - per?: components["parameters"]["per"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["view-traffic"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Transfer a repository - * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). - * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account. - */ - "repos/transfer": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The username or organization name the repository will be transferred to. */ - new_owner: string; - /** @description The new name to be given to the repository. */ - new_name?: string; - /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ - team_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["minimal-repository"]; - }; - }; - }; - }; - /** - * Check if vulnerability alerts are enabled for a repository - * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - "repos/check-vulnerability-alerts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response if repository is enabled with vulnerability alerts */ - 204: { - content: never; - }; - /** @description Not Found if repository is not enabled with vulnerability alerts */ - 404: { - content: never; - }; - }; - }; - /** - * Enable vulnerability alerts - * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - "repos/enable-vulnerability-alerts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Disable vulnerability alerts - * @description Disables dependency alerts and the dependency graph for a repository. - * The authenticated user must have admin access to the repository. For more information, - * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - "repos/disable-vulnerability-alerts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Download a repository archive (zip) - * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * - * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. - */ - "repos/download-zipball-archive": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: string; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Create a repository using a template - * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - "repos/create-using-template": { - parameters: { - path: { - /** @description The account owner of the template repository. The name is not case sensitive. */ - template_owner: string; - /** @description The name of the template repository without the `.git` extension. The name is not case sensitive. */ - template_repo: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ - owner?: string; - /** @description The name of the new repository. */ - name: string; - /** @description A short description of the new repository. */ - description?: string; - /** - * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. - * @default false - */ - include_all_branches?: boolean; - /** - * @description Either `true` to create a new private repository or `false` to create a new public one. - * @default false - */ - private?: boolean; - }; - }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["repository"]; - }; - }; - }; - }; - /** - * List public repositories - * @description Lists all public repositories in the order that they were created. - * - * Note: - * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. - */ - "repos/list-public": { - parameters: { - query?: { - since?: components["parameters"]["since-repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List environment secrets - * @description Lists all secrets available in an environment without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-environment-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "repos/create-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the key. */ + title?: string; + /** @description The contents of the key. */ + key: string; + /** @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." */ + read_only?: boolean; + }; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - /** - * Get an environment public key - * @description Get the public key for an environment, which you need to encrypt environment - * secrets. You need to encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-environment-public-key": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - /** - * Get an environment secret - * @description Gets a single environment secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-environment-secret": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-secret"]; - }; - }; - }; - }; - /** - * Create or update an environment secret - * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/create-or-update-environment-secret": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint. */ - encrypted_value: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id: string; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete an environment secret - * @description Deletes a secret in an environment using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/delete-environment-secret": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Default response */ - 204: { - content: never; - }; - }; - }; - /** - * List environment variables - * @description Lists all environment variables. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-environment-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Create an environment variable - * @description Create an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/create-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; + "issues/list-labels-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + name: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get an environment variable - * @description Gets a specific variable in an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/get-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-variable"]; - }; - }; - }; - }; - /** - * Delete an environment variable - * @description Deletes an environment variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/delete-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - name: components["parameters"]["variable-name"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update an environment variable - * @description Updates an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/update-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - name: components["parameters"]["variable-name"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Search code - * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: - * - * `q=addClass+in:file+language:js+repo:jquery/jquery` - * - * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. - * - * Considerations for code search: - * - * Due to the complexity of searching code, there are a few restrictions on how searches are performed: - * - * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. - * * Only files smaller than 384 KB are searchable. - * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing - * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. - * - * This endpoint requires you to authenticate and limits you to 10 requests per minute. - */ - "search/code": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ - q: string; - /** - * @deprecated - * @description **This field is deprecated.** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) - */ - sort?: "indexed"; - /** - * @deprecated - * @description **This field is deprecated.** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. - */ - order?: "desc" | "asc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["code-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Search commits - * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match - * metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: - * - * `q=repo:octocat/Spoon-Knife+css` - */ - "search/commits": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "author-date" | "committer-date"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["commit-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Search issues and pull requests - * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted - * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. - * - * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` - * - * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. - * - * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." - */ - "search/issues-and-pull-requests": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["issue-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Search labels - * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: - * - * `q=bug+defect+enhancement&repository_id=64778136` - * - * The labels that best match the query appear first in the search results. - */ - "search/labels": { - parameters: { - query: { - /** @description The id of the repository. */ - repository_id: number; - /** @description The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ - q: string; - /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "created" | "updated"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["label-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Search repositories - * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: - * - * `q=tetris+language:assembly&sort=stars&order=desc` - * - * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. - */ - "search/repos": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["repo-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Search topics - * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. - * - * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: - * - * `q=ruby+is:featured` - * - * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. - */ - "search/topics": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ - q: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["topic-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Search users - * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you're looking for a list of popular users, you might try this query: - * - * `q=tom+repos:%3E42+followers:%3E1000` - * - * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. - * - * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." - */ - "search/users": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "followers" | "repositories" | "joined"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["user-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. - */ - "teams/get-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. - * - * To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - */ - "teams/delete-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Update a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. - * - * To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. - */ - "teams/update-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the team. */ - name: string; - /** @description The description of the team. */ - description?: string; - /** - * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: - * **For a non-nested team:** - * * `secret` - only visible to organization owners and members of this team. - * * `closed` - visible to all members of this organization. - * **For a parent or child team:** - * * `closed` - visible to all members of this organization. - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: number | null; - }; - }; - }; - responses: { - /** @description Response when the updated information already exists */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List discussions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. - * - * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/list-discussions-legacy": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion"][]; - }; - }; - }; - }; - /** - * Create a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. - * - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "teams/create-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title: string; - /** @description The discussion post's body text. */ - body: string; - /** - * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. - * @default false - */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Get a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. - * - * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/get-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Delete a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. - * - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/delete-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. - * - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/update-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title?: string; - /** @description The discussion post's body text. */ - body?: string; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * List discussion comments (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. - * - * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/list-discussion-comments-legacy": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"][]; - }; - }; - }; - }; - /** - * Create a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. - * - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "teams/create-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; + "issues/update-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + new_name?: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Get a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. - * - * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/get-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Delete a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. - * - * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/delete-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. - * - * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/update-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * List reactions for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. - * - * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/list-for-team-discussion-comment-legacy": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. - * - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - */ - "reactions/create-for-team-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * List reactions for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. - * - * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/list-for-team-discussion-legacy": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. - * - * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - */ - "reactions/create-for-team-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * List pending team invitations (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. - * - * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - "teams/list-pending-invitations-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - }; - }; - /** - * List team members (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. - * - * Team members will include the members of child teams. - */ - "teams/list-members-legacy": { - parameters: { - query?: { - /** @description Filters members returned by their role in the team. */ - role?: "member" | "maintainer" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get team member (Legacy) - * @deprecated - * @description The "Get team member" endpoint (described below) is deprecated. - * - * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - "teams/get-member-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description if user is a member */ - 204: { - content: never; - }; - /** @description if user is not a member */ - 404: { - content: never; - }; - }; - }; - /** - * Add team member (Legacy) - * @deprecated - * @description The "Add team member" endpoint (described below) is deprecated. - * - * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "teams/add-member-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found if team synchronization is set up */ - 404: { - content: never; - }; - /** @description Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ - 422: { - content: never; - }; - }; - }; - /** - * Remove team member (Legacy) - * @deprecated - * @description The "Remove team member" endpoint (described below) is deprecated. - * - * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - "teams/remove-member-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Not Found if team synchronization is setup */ - 404: { - content: never; - }; - }; - }; - /** - * Get team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. - * - * Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - "teams/get-membership-for-user-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; + "repos/list-languages": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["language"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add or update team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - */ - "teams/add-or-update-membership-for-user-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The role that this user should have in the team. - * @default member - * @enum {string} - */ - role?: "member" | "maintainer"; - }; - }; + "licenses/get-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license-content"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: { - content: never; - }; - }; - }; - /** - * Remove team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - "teams/remove-membership-for-user-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; + "repos/merge-upstream": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the branch which should be updated to match upstream. */ + branch: string; + }; + }; + }; + responses: { + /** @description The branch has been successfully synced with the upstream repository */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["merged-upstream"]; + }; + }; + /** @description The branch could not be synced because of a merge conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description The branch could not be synced for some other reason */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description if team synchronization is set up */ - 403: { - content: never; - }; - }; - }; - /** - * List team projects (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/teams/teams#list-team-projects) endpoint. - * - * Lists the organization projects for a team. - */ - "teams/list-projects-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; + "repos/merge": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the base branch that the head will be merged into. */ + base: string; + /** @description The head to merge. This can be a branch name or a commit SHA1. */ + head: string; + /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ + commit_message?: string; + }; + }; + }; + responses: { + /** @description Successful Response (The resulting merge commit) */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + /** @description Response when already merged */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found when the base or head does not exist */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when there is a merge conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/list-milestones": { + parameters: { + query?: { + /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** @description What to sort results by. Either `due_on` or `completeness`. */ + sort?: "due_on" | "completeness"; + /** @description The direction of the sort. Either `asc` or `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/update-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title?: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-project"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check team permissions for a project (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project) endpoint. - * - * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - */ - "teams/check-permissions-for-project-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; - }; + "issues/list-labels-for-milestone": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-project"]; - }; - }; - /** @description Not Found if project is not managed by this team */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team project permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions) endpoint. - * - * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - */ - "teams/add-or-update-project-permissions-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - }; - }; + "activity/list-repo-notifications-for-authenticated-user": { + parameters: { + query?: { + /** @description If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Forbidden if the project is not owned by the organization */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove a project from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team) endpoint. - * - * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. - */ - "teams/remove-project-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; - }; + "activity/mark-repo-notifications-as-read": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List team repositories (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. - */ - "teams/list-repos-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; + "repos/get-pages": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-information-about-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/articles/using-a-custom-domain-with-github-pages/)." */ + cname?: string | null; + /** @description Specify whether HTTPS should be enforced for the repository. */ + https_enforced?: boolean; + /** + * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + source?: ("gh-pages" | "master" | "master /docs") | { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. + * @enum {string} + */ + path: "/" | "/docs"; + }; + } | unknown | unknown | unknown | unknown | unknown; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 400: components["responses"]["bad_request"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/create-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": (({ + /** + * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + /** @description The source branch and directory used to publish your Pages site. */ + source?: { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` + * @default / + * @enum {string} + */ + path: "/" | "/docs"; + }; + } | unknown | unknown) | null) | unknown | unknown; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/delete-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-pages-builds": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check team permissions for a repository (Legacy) - * @deprecated - * @description **Note**: Repositories inherited through a parent team will also be checked. - * - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: - */ - "teams/check-permissions-for-repo-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/request-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build-status"]; + }; + }; + }; }; - responses: { - /** @description Alternative response with extra repository information */ - 200: { - content: { - "application/json": components["schemas"]["team-repository"]; - }; - }; - /** @description Response if repository is managed by this team */ - 204: { - content: never; - }; - /** @description Not Found if repository is not managed by this team */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team repository permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. - * - * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "teams/add-or-update-repo-permissions-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - }; - }; + "repos/get-latest-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove a repository from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. - * - * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. - */ - "teams/remove-repo-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/get-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + build_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List child teams (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. - */ - "teams/list-child-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; + "repos/create-pages-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. */ + artifact_url: string; + /** + * @description The target environment for this GitHub Pages deployment. + * @default github-pages + */ + environment: string; + /** + * @description A unique string that represents the version of the build for this deployment. + * @default GITHUB_SHA + */ + pages_build_version: string; + /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ + oidc_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-deployment"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-pages-health-check": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pages-health-check"]; + }; + }; + /** @description Empty response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Custom domains are not available for GitHub Pages */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description There isn't a CNAME for this page */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description if child teams exist */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get the authenticated user - * @description If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information. - * - * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. - */ - "users/get-authenticated": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Update the authenticated user - * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. - */ - "users/update-authenticated": { - requestBody?: { - content: { - "application/json": { - /** @description The new name of the user. */ - name?: string; - /** @description The publicly visible email address of the user. */ - email?: string; - /** @description The new blog URL of the user. */ - blog?: string; - /** @description The new Twitter username of the user. */ - twitter_username?: string | null; - /** @description The new company of the user. */ - company?: string; - /** @description The new location of the user. */ - location?: string; - /** @description The new hiring availability of the user. */ - hireable?: boolean; - /** @description The new short biography of the user. */ - bio?: string; - }; - }; + "repos/enable-private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + "repos/disable-private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + "projects/list-for-repo": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/create-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/list": { + parameters: { + query?: { + /** @description Either `open`, `closed`, or `all` to filter by state. */ + state?: "open" | "closed" | "all"; + /** @description Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ + head?: string; + /** @description Filter pulls by base branch name. Example: `gh-pages`. */ + base?: string; + /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the new pull request. Required unless `issue` is specified. */ + title?: string; + /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ + head: string; + /** + * Format: repo.nwo + * @description The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. + */ + head_repo?: string; + /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ + base: string; + /** @description The contents of the pull request. */ + body?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ + draft?: boolean; + /** + * Format: int64 + * @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. + */ + issue?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list-review-comments-for-repo": { + parameters: { + query?: { + sort?: "created" | "updated" | "created_at"; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["private-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List users blocked by the authenticated user - * @description List the users you've blocked on your personal account. - */ - "users/list-blocked-by-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "pulls/get-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/delete-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/update-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the reply to the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if a user is blocked by the authenticated user - * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. - */ - "users/check-blocked": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "reactions/list-for-pull-request-review-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a pull request review comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-pull-request-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-pull-request-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "pulls/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the pull request. */ + title?: string; + /** @description The contents of the pull request. */ + body?: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ + base?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/create-with-pr-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/list-review-comments": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; }; - responses: { - /** @description If the user is blocked */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description If the user is not blocked */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Block a user - * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. - */ - "users/block": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "pulls/create-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ + commit_id: string; + /** @description The relative path to the file that necessitates a comment. */ + path: string; + /** + * @deprecated + * @description **This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + /** + * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** @description **Required unless using `subject_type:file`**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ + line?: number; + /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ + start_line?: number; + /** + * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + * @enum {string} + */ + start_side?: "LEFT" | "RIGHT" | "side"; + /** @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. */ + in_reply_to?: number; + /** + * @description The level at which the comment is targeted. + * @enum {string} + */ + subject_type?: "line" | "file"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/create-reply-for-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Unblock a user - * @description Unblocks the given user and returns a 204. - */ - "users/unblock": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "pulls/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List codespaces for the authenticated user - * @description Lists the authenticated user's codespaces. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - repository_id?: components["parameters"]["repository-id-in-query"]; - }; + "pulls/list-files": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["diff-entry"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/check-if-merged": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if pull request has been merged */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if pull request has not been merged */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a codespace for the authenticated user - * @description Creates a new codespace, owned by the authenticated user. - * - * This endpoint requires either a `repository_id` OR a `pull_request` but not both. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/create-for-authenticated-user": { - requestBody: { - content: { - "application/json": OneOf<[{ - /** @description Repository id for this codespace */ - repository_id: number; - /** @description Git ref (typically a branch name) for this codespace */ - ref?: string; - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - }, { - /** @description Pull request number for this codespace */ - pull_request: { - /** @description Pull request number */ - pull_request_number: number; - /** @description Repository id for this codespace */ - repository_id: number; - }; - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - }]>; - }; + "pulls/merge": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Title for the automatic commit message. */ + commit_title?: string; + /** @description Extra detail to append to automatic commit message. */ + commit_message?: string; + /** @description SHA that pull request head must match to allow merge. */ + sha?: string; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method?: "merge" | "squash" | "rebase"; + } | null; + }; + }; + responses: { + /** @description if merge was successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-merge-result"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Method Not Allowed if merge cannot be performed */ + 405: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Conflict if sha was provided and pull request head did not match */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list-requested-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-request"]; + }; + }; + }; }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List secrets for the authenticated user - * @description Lists all secrets available for a user's Codespaces without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/list-secrets-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "pulls/request-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description An array of user `login`s that will be requested. */ + reviewers?: string[]; + /** @description An array of team `slug`s that will be requested. */ + team_reviewers?: string[]; + } | unknown | unknown; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Unprocessable Entity if user is not a collaborator */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "pulls/remove-requested-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of user `login`s that will be removed. */ + reviewers: string[]; + /** @description An array of team `slug`s that will be removed. */ + team_reviewers?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 422: components["responses"]["validation_failed"]; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["codespaces-secret"][]; - }; - }; - }; - }; - }; - /** - * Get public key for the authenticated user - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/get-public-key-for-authenticated-user": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-user-public-key"]; - }; - }; - }; - }; - /** - * Get a secret for the authenticated user - * @description Gets a secret available to a user's codespaces without revealing its encrypted value. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/get-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-secret"]; - }; - }; - }; - }; - /** - * Create or update a secret for the authenticated user - * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - "codespaces/create-or-update-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id: string; - /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ - selected_repository_ids?: (number | string)[]; - }; - }; + "pulls/list-reviews": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The list of reviews returns in chronological order. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"][]; + }; + }; + }; }; - responses: { - /** @description Response after successfully creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response after successfully updating a secret */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a secret for the authenticated user - * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/delete-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; + "pulls/create-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ + commit_id?: string; + /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request) when you are ready. + * @enum {string} + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ + comments?: { + /** @description The relative path to the file that necessitates a review comment. */ + path: string; + /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ + position?: number; + /** @description Text of the review comment. */ + body: string; + line?: number; + side?: string; + start_line?: number; + start_side?: string; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/get-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/update-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/delete-pending-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for a user secret - * @description List the repositories that have been granted the ability to use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - "codespaces/list-repositories-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; + "pulls/list-comments-for-review": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["review-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/dismiss-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The message for the pull request review dismissal */ + message: string; + /** @enum {string} */ + event?: "DISMISS"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/submit-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + * @enum {string} + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/update-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/commits/commits#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ + expected_head_sha?: string; + } | null; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Set selected repositories for a user secret - * @description Select the repositories that will use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - "codespaces/set-repositories-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; + "repos/get-readme": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ - selected_repository_ids: number[]; + "repos/get-readme-in-directory": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The alternate path to look for a README file */ + dir: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - }; }; - responses: { - /** @description No Content when repositories were added to the selected list */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add a selected repository to a user secret - * @description Adds a repository to the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. - */ - "codespaces/add-repository-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; + "repos/list-releases": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** + * @description `true` to create a draft (unpublished) release, `false` to create a published one. + * @default false + */ + draft: boolean; + /** + * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. + * @default false + */ + prerelease: boolean; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + /** + * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. + * @default false + */ + generate_release_notes: boolean; + /** + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest: "true" | "false" | "legacy"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + 302: components["responses"]["found"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove a selected repository from a user secret - * @description Removes a repository from the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/remove-repository-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; + "repos/update-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The file name of the asset. */ + name?: string; + /** @description An alternate short description of the asset. Used in place of the filename. */ + label?: string; + state?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + }; }; - responses: { - /** @description No Content when repository was removed from the selected list */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get a codespace for the authenticated user - * @description Gets information about a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/get-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; + "repos/generate-release-notes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag name for the release. This can be an existing tag or a new one. */ + tag_name: string; + /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ + target_commitish?: string; + /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ + previous_tag_name?: string; + /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ + configuration_file_path?: string; + }; + }; + }; + responses: { + /** @description Name and body of generated release notes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-notes-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-latest-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete a codespace for the authenticated user - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/delete-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; + "repos/get-release-by-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description tag parameter */ + tag: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 202: components["responses"]["accepted"]; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update a codespace for the authenticated user - * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. - * - * If you specify a new machine type it will be applied the next time your codespace is started. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/update-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description A valid machine to transition this codespace to. */ - machine?: string; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ - recent_folders?: string[]; - }; - }; + "repos/delete-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Export a codespace for the authenticated user - * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. - * - * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/export-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; + "repos/update-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name?: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** @description `true` makes the release a draft, and `false` publishes the release. */ + draft?: boolean; + /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ + prerelease?: boolean; + /** + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest: "true" | "false" | "legacy"; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["codespace-export-details"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get details about a codespace export - * @description Gets information about an export of a codespace. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/get-export-details-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - export_id: components["parameters"]["export-id"]; - }; + "repos/list-release-assets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace-export-details"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List machine types for a codespace - * @description List the machine types a codespace can transition to use. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - "codespaces/codespace-machines-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; + "repos/upload-release-asset": { + parameters: { + query: { + name: string; + label?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/octet-stream": string; + }; + }; + responses: { + /** @description Response for successful upload */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + /** @description Response if you upload an asset with the same filename as another uploaded asset */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - machines: components["schemas"]["codespace-machine"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a repository from an unpublished codespace - * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. - * - * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. - * - * This will fail for a codespace that is already published, meaning it has an associated repository. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/publish-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A name for the new repository. */ - name?: string; - /** - * @description Whether the new repository should be private. - * @default false - */ - private?: boolean; - }; - }; + "reactions/list-for-release": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a release. */ + content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the release. + * @enum {string} + */ + content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["codespace-with-full-repository"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Start a codespace for the authenticated user - * @description Starts a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/start-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; + "repos/get-branch-rules": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-rule-detailed"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - /** @description Payment required */ - 402: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Stop a codespace for the authenticated user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/stop-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; + "repos/get-repo-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/create-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset. + * @enum {string} + */ + target?: "branch" | "tag"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-rule-suites": { + parameters: { + query?: { + /** @description The name of the ref. Cannot contain wildcard characters. When specified, only rule evaluations triggered for this ref will be returned. */ + ref?: components["parameters"]["ref-in-query"]; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for insights that occurred in the past 7 days (168 hours). */ + time_period?: components["parameters"]["time-period"]; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + actor_name?: components["parameters"]["actor-name-in-query"]; + /** @description The rule results to filter on. When specified, only suites with this result will be returned. */ + rule_suite_result?: components["parameters"]["rule-suite-result"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-rule-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get list of conflicting packages during Docker migration for authenticated-user - * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - "packages/list-docker-migration-conflicting-packages-for-authenticated-user": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - }; - }; - /** - * Set primary email visibility for the authenticated user - * @description Sets the visibility for your primary email addresses. - */ - "users/set-primary-email-visibility-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description Denotes whether an email is publicly visible. - * @enum {string} - */ - visibility: "public" | "private"; - }; - }; + "repos/get-repo-ruleset": { + parameters: { + query?: { + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/update-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset. + * @enum {string} + */ + target?: "branch" | "tag"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/delete-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "secret-scanning/list-alerts-for-repo": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"][]; + }; + }; + /** @description Repository is public or secret scanning is disabled for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/get-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description State does not match the resolution or resolution comment */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List email addresses for the authenticated user - * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. - */ - "users/list-emails-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "secret-scanning/list-locations-for-alert": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-location"][]; + }; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "security-advisories/list-repository-advisories": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description Number of advisories to return per page. */ + per_page?: number; + /** @description Filter by state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "security-advisories/create-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "security-advisories/create-private-vulnerability-report": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["private-vulnerability-report-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "security-advisories/get-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "security-advisories/update-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - "users/add-email-for-authenticated-user": { - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. */ - emails: string[]; - }, string[], string]>; - }; + "security-advisories/create-repository-advisory-cve-request": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "activity/list-stargazers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][] | components["schemas"]["stargazer"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-code-frequency-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + "repos/get-commit-activity-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + "repos/get-contributors-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["contributor-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + "repos/get-participation-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The array order is oldest week (index 0) to most recent week. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["participation-stats"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-punch-card-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 204: components["responses"]["no_content"]; + }; + }; + "repos/create-commit-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + sha: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. + * @enum {string} + */ + state: "error" | "failure" | "pending" | "success"; + /** @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` */ + target_url?: string | null; + /** @description A short description of the status. */ + description?: string | null; + /** + * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. + * @default default + */ + context: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - "users/delete-email-for-authenticated-user": { - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description Email addresses associated with the GitHub user account. */ - emails: string[]; - }, string[], string]>; - }; + "activity/list-watchers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List followers of the authenticated user - * @description Lists the people following the authenticated user. - */ - "users/list-followers-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "activity/get-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if you subscribe to the repository */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if you don't subscribe to the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List the people the authenticated user follows - * @description Lists the people who the authenticated user follows. - */ - "users/list-followed-by-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "activity/set-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Determines if notifications should be received from this repository. */ + subscribed?: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Check if a person is followed by the authenticated user */ - "users/check-person-is-followed-by-authenticated": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "activity/delete-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description if the person is followed by the authenticated user */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description if the person is not followed by the authenticated user */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Follow a user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - "users/follow": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "repos/list-tags": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unfollow a user - * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - "users/unfollow": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "repos/list-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag-protection"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An optional glob pattern to match against when enforcing tag protection. */ + pattern: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the tag protection. */ + tag_protection_id: components["parameters"]["tag-protection-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/download-tarball-archive": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List GPG keys for the authenticated user - * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/list-gpg-keys-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "repos/list-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gpg-key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a GPG key for the authenticated user - * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/create-gpg-key-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** @description A descriptive name for the new key. */ - name?: string; - /** @description A GPG key in ASCII-armored format. */ - armored_public_key: string; - }; - }; + "repos/get-all-topics": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/replace-all-topics": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ + names: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["gpg-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a GPG key for the authenticated user - * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/get-gpg-key-for-authenticated-user": { - parameters: { - path: { - gpg_key_id: components["parameters"]["gpg-key-id"]; - }; + "repos/get-clones": { + parameters: { + query?: { + /** @description The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["clone-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-top-paths": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-top-referrers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["referrer-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gpg-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a GPG key for the authenticated user - * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/delete-gpg-key-for-authenticated-user": { - parameters: { - path: { - gpg_key_id: components["parameters"]["gpg-key-id"]; - }; + "repos/get-views": { + parameters: { + query?: { + /** @description The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["view-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/transfer": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The username or organization name the repository will be transferred to. */ + new_owner: string; + /** @description The new name to be given to the repository. */ + new_name?: string; + /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ + team_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List app installations accessible to the user access token - * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You can find the permissions for the installation under the `permissions` key. - */ - "apps/list-installations-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "repos/check-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if repository is enabled with vulnerability alerts */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if repository is not enabled with vulnerability alerts */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description You can find the permissions for the installation under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; + "repos/enable-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - content: { - "application/json": { - total_count: number; - installations: components["schemas"]["installation"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List repositories accessible to the user access token - * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The access the user has to each repository is included in the hash under the `permissions` key. - */ - "apps/list-installation-repos-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - installation_id: components["parameters"]["installation-id"]; - }; }; - responses: { - /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; + "repos/disable-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - content: { - "application/json": { - total_count: number; - repository_selection?: string; - repositories: components["schemas"]["repository"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add a repository to an app installation - * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - "apps/add-repo-to-installation-for-authenticated-user": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - repository_id: components["parameters"]["repository-id"]; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove a repository from an app installation - * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - "apps/remove-repo-from-installation-for-authenticated-user": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - repository_id: components["parameters"]["repository-id"]; - }; + "repos/download-zipball-archive": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Returned when the application is installed on `all` repositories in the organization, or if this request would remove the last repository that the application has access to in the organization. */ - 422: { - content: never; - }; - }; - }; - /** - * Get interaction restrictions for your public repositories - * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. - */ - "interactions/get-restrictions-for-authenticated-user": { - responses: { - /** @description Default response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; - }; - }; - /** @description Response when there are no restrictions */ - 204: { - content: never; - }; - }; - }; - /** - * Set interaction restrictions for your public repositories - * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. - */ - "interactions/set-restrictions-for-authenticated-user": { - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; + "repos/create-using-template": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the template repository. The name is not case sensitive. */ + template_owner: string; + /** @description The name of the template repository without the `.git` extension. The name is not case sensitive. */ + template_repo: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ + owner?: string; + /** @description The name of the new repository. */ + name: string; + /** @description A short description of the new repository. */ + description?: string; + /** + * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. + * @default false + */ + include_all_branches: boolean; + /** + * @description Either `true` to create a new private repository or `false` to create a new public one. + * @default false + */ + private: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove interaction restrictions from your public repositories - * @description Removes any interaction restrictions from your public repositories. - */ - "interactions/remove-restrictions-for-authenticated-user": { - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List user account issues assigned to the authenticated user - * @description List issues across owned and member repositories assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list-for-authenticated-user": { - parameters: { - query?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "repos/list-public": { + parameters: { + query?: { + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + since?: components["parameters"]["since-repo"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List public SSH keys for the authenticated user - * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/list-public-ssh-keys-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "actions/list-environment-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a public SSH key for the authenticated user - * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/create-public-ssh-key-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** @description A descriptive name for the new key. */ - title?: string; - /** @description The public SSH key to add to your GitHub account. */ - key: string; - }; - }; + "actions/get-environment-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a public SSH key for the authenticated user - * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/get-public-ssh-key-for-authenticated-user": { - parameters: { - path: { - key_id: components["parameters"]["key-id"]; - }; + "actions/get-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a public SSH key for the authenticated user - * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/delete-public-ssh-key-for-authenticated-user": { - parameters: { - path: { - key_id: components["parameters"]["key-id"]; - }; + "actions/create-or-update-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List subscriptions for the authenticated user - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - "apps/list-subscriptions-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "actions/delete-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["user-marketplace-purchase"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List subscriptions for the authenticated user (stubbed) - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - "apps/list-subscriptions-for-authenticated-user-stubbed": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "actions/list-environment-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["user-marketplace-purchase"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * List organization memberships for the authenticated user - * @description Lists all of the authenticated user's organization memberships. - */ - "orgs/list-memberships-for-authenticated-user": { - parameters: { - query?: { - /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ - state?: "active" | "pending"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "actions/create-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["org-membership"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an organization membership for the authenticated user - * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. - */ - "orgs/get-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; + "actions/get-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update an organization membership for the authenticated user - * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. - */ - "orgs/update-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; + "actions/delete-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** - * @description The state that the membership should be in. Only `"active"` will be accepted. - * @enum {string} - */ - state: "active"; + "actions/update-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List user migrations - * @description Lists all migrations a user has started. - */ - "migrations/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "search/code": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ + q: string; + /** + * @deprecated + * @description **This field is deprecated.** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) + */ + sort?: "indexed"; + /** + * @deprecated + * @description **This field is deprecated.** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["code-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "search/commits": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "author-date" | "committer-date"; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["commit-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "search/issues-and-pull-requests": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["issue-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "search/labels": { + parameters: { + query: { + /** @description The id of the repository. */ + repository_id: number; + /** @description The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ + q: string; + /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "created" | "updated"; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["label-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "search/repos": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["repo-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "search/topics": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ + q: string; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["topic-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "search/users": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "followers" | "repositories" | "joined"; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["user-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "teams/get-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["migration"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Start a user migration - * @description Initiates the generation of a user migration archive. - */ - "migrations/start-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** @description Lock the repositories being migrated at the start of the migration */ - lock_repositories?: boolean; - /** @description Indicates whether metadata should be excluded and only git source should be included for the migration. */ - exclude_metadata?: boolean; - /** @description Indicates whether the repository git data should be excluded from the migration. */ - exclude_git_data?: boolean; - /** @description Do not include attachments in the migration */ - exclude_attachments?: boolean; - /** @description Do not include releases in the migration */ - exclude_releases?: boolean; - /** @description Indicates whether projects owned by the organization or users should be excluded. */ - exclude_owner_projects?: boolean; - /** - * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). - * @default false - */ - org_metadata_only?: boolean; - /** @description Exclude attributes from the API response to improve performance */ - exclude?: "repositories"[]; - repositories: string[]; - }; - }; + "teams/delete-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a user migration status - * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: - * - * * `pending` - the migration hasn't started yet. - * * `exporting` - the migration is in progress. - * * `exported` - the migration finished successfully. - * * `failed` - the migration failed. - * - * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). - */ - "migrations/get-status-for-authenticated-user": { - parameters: { - query?: { - exclude?: string[]; - }; - path: { - migration_id: components["parameters"]["migration-id"]; - }; + "teams/update-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + responses: { + /** @description Response when the updated information already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/list-discussions-legacy": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download a user migration archive - * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: - * - * * attachments - * * bases - * * commit\_comments - * * issue\_comments - * * issue\_events - * * issues - * * milestones - * * organizations - * * projects - * * protected\_branches - * * pull\_request\_reviews - * * pull\_requests - * * releases - * * repositories - * * review\_comments - * * schema - * * users - * - * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. - */ - "migrations/get-archive-for-authenticated-user": { - parameters: { - path: { - migration_id: components["parameters"]["migration-id"]; - }; + "teams/create-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 302: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Delete a user migration archive - * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. - */ - "migrations/delete-archive-for-authenticated-user": { - parameters: { - path: { - migration_id: components["parameters"]["migration-id"]; - }; + "teams/get-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unlock a user repository - * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. - */ - "migrations/unlock-repo-for-authenticated-user": { - parameters: { - path: { - migration_id: components["parameters"]["migration-id"]; - repo_name: components["parameters"]["repo-name"]; - }; + "teams/delete-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories for a user migration - * @description Lists all the repositories for this user migration. - */ - "migrations/list-repos-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - migration_id: components["parameters"]["migration-id"]; - }; + "teams/update-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organizations for the authenticated user - * @description List organizations for the authenticated user. - * - * **OAuth scope requirements** - * - * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. - */ - "orgs/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "teams/list-discussion-comments-legacy": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List packages for the authenticated user's namespace - * @description Lists packages owned by the authenticated user within the user's namespace. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/list-packages-for-authenticated-user": { - parameters: { - query: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - visibility?: components["parameters"]["package-visibility"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; + "teams/create-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - }; - }; - /** - * Get a package for the authenticated user - * @description Gets a specific package for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; + "teams/get-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - /** - * Delete a package for the authenticated user - * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/delete-package-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; + "teams/delete-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package for the authenticated user - * @description Restores a package owned by the authenticated user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/restore-package-for-authenticated-user": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; + "teams/update-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List package versions for a package owned by the authenticated user - * @description Lists package versions for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - /** @description The state of the package, either active or deleted. */ - state?: "active" | "deleted"; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; + "reactions/list-for-team-discussion-comment-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a package version for the authenticated user - * @description Gets a specific package version for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-version-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - }; + "reactions/create-for-team-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - /** - * Delete a package version for the authenticated user - * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/delete-package-version-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - }; + "reactions/list-for-team-discussion-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package version for the authenticated user - * @description Restores a package version owned by the authenticated user. - * - * You can restore a deleted package version under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/restore-package-version-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - }; + "reactions/create-for-team-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a user project - * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/create-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** @description Name of the project */ - name: string; - /** @description Body of the project */ - body?: string | null; - }; - }; + "teams/list-pending-invitations-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List public email addresses for the authenticated user - * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. - */ - "users/list-public-emails-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "teams/list-members-legacy": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/get-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if user is a member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if user is not a member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories for the authenticated user - * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - */ - "repos/list-for-authenticated-user": { - parameters: { - query?: { - /** @description Limit results to repositories with the specified visibility. */ - visibility?: "all" | "public" | "private"; - /** - * @description Comma-separated list of values. Can include: - * * `owner`: Repositories that are owned by the authenticated user. - * * `collaborator`: Repositories that the user has been added to as a collaborator. - * * `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. - */ - affiliation?: string; - /** @description Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ - type?: "all" | "owner" | "public" | "private" | "member"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - since?: components["parameters"]["since-repo-date"]; - before?: components["parameters"]["before-repo-date"]; - }; + "teams/add-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if team synchronization is set up */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a repository for the authenticated user - * @description Creates a new repository for the authenticated user. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository. - */ - "repos/create-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** @description The name of the repository. */ - name: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Whether the repository is private. - * @default false - */ - private?: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues?: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects?: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki?: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions?: boolean; - /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ - team_id?: number; - /** - * @description Whether the repository is initialized with a minimal README. - * @default false - */ - auto_init?: boolean; - /** @description The desired language or platform to apply to the .gitignore. */ - gitignore_template?: string; - /** @description The license keyword of the open source license for this repository. */ - license_template?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads?: boolean; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - */ - is_template?: boolean; - }; - }; + "teams/remove-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if team synchronization is setup */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["repository"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List repository invitations for the authenticated user - * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. - */ - "repos/list-invitations-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "teams/get-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/add-or-update-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["repository-invitation"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Decline a repository invitation */ - "repos/decline-invitation-for-authenticated-user": { - parameters: { - path: { - invitation_id: components["parameters"]["invitation-id"]; - }; + "teams/remove-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - /** Accept a repository invitation */ - "repos/accept-invitation-for-authenticated-user": { - parameters: { - path: { - invitation_id: components["parameters"]["invitation-id"]; - }; + "teams/list-projects-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/check-permissions-for-project-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - /** - * List social accounts for the authenticated user - * @description Lists all of your social accounts. - */ - "users/list-social-accounts-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "teams/add-or-update-project-permissions-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/remove-project-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add social accounts for the authenticated user - * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - "users/add-social-account-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** @description Full URLs for the social media profiles to add. */ - account_urls: string[]; - }; - }; + "teams/list-repos-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/check-permissions-for-repo-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Alternative response with extra repository information */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description Response if repository is managed by this team */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if repository is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete social accounts for the authenticated user - * @description Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - "users/delete-social-account-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** @description Full URLs for the social media profiles to delete. */ - account_urls: string[]; - }; - }; + "teams/add-or-update-repo-permissions-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/remove-repo-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List SSH signing keys for the authenticated user - * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/list-ssh-signing-keys-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "teams/list-child-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/update-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new name of the user. */ + name?: string; + /** @description The publicly visible email address of the user. */ + email?: string; + /** @description The new blog URL of the user. */ + blog?: string; + /** @description The new Twitter username of the user. */ + twitter_username?: string | null; + /** @description The new company of the user. */ + company?: string; + /** @description The new location of the user. */ + location?: string; + /** @description The new hiring availability of the user. */ + hireable?: boolean; + /** @description The new short biography of the user. */ + bio?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-blocked-by-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/check-blocked": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the user is blocked */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description If the user is not blocked */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["ssh-signing-key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a SSH signing key for the authenticated user - * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/create-ssh-signing-key-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** @description A descriptive name for the new key. */ - title?: string; - /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ - key: string; - }; - }; + "users/block": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/unblock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description ID of the Repository to filter on */ + repository_id?: components["parameters"]["repository-id-in-query"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Repository id for this codespace */ + repository_id: number; + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | { + /** @description Pull request number for this codespace */ + pull_request: { + /** @description Pull request number */ + pull_request_number: number; + /** @description Repository id for this codespace */ + repository_id: number; + }; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + }; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-secrets-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-secret"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["ssh-signing-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an SSH signing key for the authenticated user - * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/get-ssh-signing-key-for-authenticated-user": { - parameters: { - path: { - ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; - }; + "codespaces/get-public-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-user-public-key"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["ssh-signing-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an SSH signing key for the authenticated user - * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/delete-ssh-signing-key-for-authenticated-user": { - parameters: { - path: { - ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; - }; + "codespaces/get-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories starred by the authenticated user - * @description Lists repositories the authenticated user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - "activity/list-repos-starred-by-authenticated-user": { - parameters: { - query?: { - sort?: components["parameters"]["sort-starred"]; - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "codespaces/create-or-update-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids?: (number | string)[]; + }; + }; + }; + responses: { + /** @description Response after successfully creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response after successfully updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["repository"][]; - "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Check if a repository is starred by the authenticated user - * @description Whether the authenticated user has starred the repository. - */ - "activity/check-repo-is-starred-by-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "codespaces/delete-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response if this repository is starred by you */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description Not Found if this repository is not starred by you */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Star a repository for the authenticated user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "activity/star-repo-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "codespaces/list-repositories-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/set-repositories-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description No Content when repositories were added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/add-repository-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/remove-repository-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/get-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/delete-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/update-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description A valid machine to transition this codespace to. */ + machine?: string; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ + recent_folders?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/export-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/get-export-details-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + export_id: components["parameters"]["export-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unstar a repository for the authenticated user - * @description Unstar a repository that the authenticated user has previously starred. - */ - "activity/unstar-repo-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "codespaces/codespace-machines-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/publish-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the new repository. */ + name?: string; + /** + * @description Whether the new repository should be private. + * @default false + */ + private: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace-with-full-repository"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/start-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + /** @description Payment required */ + 402: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/stop-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "packages/list-docker-migration-conflicting-packages-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories watched by the authenticated user - * @description Lists repositories the authenticated user is watching. - */ - "activity/list-watched-repos-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "users/set-primary-email-visibility-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Denotes whether an email is publicly visible. + * @enum {string} + */ + visibility: "public" | "private"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-emails-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/add-email-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. */ + emails: string[]; + } | string[] | string; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/delete-email-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Email addresses associated with the GitHub user account. */ + emails: string[]; + } | string[] | string; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-followers-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/list-followed-by-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/check-person-is-followed-by-authenticated": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if the person is followed by the authenticated user */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description if the person is not followed by the authenticated user */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List teams for the authenticated user - * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. - */ - "teams/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "users/follow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/unfollow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/list-gpg-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A descriptive name for the new key. */ + name?: string; + /** @description A GPG key in ASCII-armored format. */ + armored_public_key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/list-installations-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description You can find the permissions for the installation under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "apps/list-installation-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repository_selection?: string; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/add-repo-to-installation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/remove-repo-from-installation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Returned when the application is installed on `all` repositories in the organization, or if this request would remove the last repository that the application has access to in the organization. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-full"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List users - * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. - * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. - */ - "users/list": { - parameters: { - query?: { - since?: components["parameters"]["since-user"]; - per_page?: components["parameters"]["per-page"]; - }; + "interactions/get-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + /** @description Response when there are no restrictions */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a user - * @description Provides publicly available information about someone with a GitHub account. - * - * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" - * - * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). - * - * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". - */ - "users/get-by-username": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "interactions/set-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "interactions/remove-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get list of conflicting packages during Docker migration for user - * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - "packages/list-docker-migration-conflicting-packages-for-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "issues/list-for-authenticated-user": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List events for the authenticated user - * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. - */ - "activity/list-events-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "users/list-public-ssh-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A descriptive name for the new key. */ + title?: string; + /** @description The public SSH key to add to your GitHub account. */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-subscriptions-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-subscriptions-for-authenticated-user-stubbed": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + "orgs/list-memberships-for-authenticated-user": { + parameters: { + query?: { + /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ + state?: "active" | "pending"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List organization events for the authenticated user - * @description This is the user's organization dashboard. You must be authenticated as the user to view this. - */ - "activity/list-org-events-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - org: components["parameters"]["org"]; - }; + "orgs/update-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state that the membership should be in. Only `"active"` will be accepted. + * @enum {string} + */ + state: "active"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "migrations/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "migrations/start-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Lock the repositories being migrated at the start of the migration */ + lock_repositories?: boolean; + /** @description Indicates whether metadata should be excluded and only git source should be included for the migration. */ + exclude_metadata?: boolean; + /** @description Indicates whether the repository git data should be excluded from the migration. */ + exclude_git_data?: boolean; + /** @description Do not include attachments in the migration */ + exclude_attachments?: boolean; + /** @description Do not include releases in the migration */ + exclude_releases?: boolean; + /** @description Indicates whether projects owned by the organization or users should be excluded. */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + */ + org_metadata_only: boolean; + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + repositories: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; + "migrations/get-status-for-authenticated-user": { + parameters: { + query?: { + exclude?: string[]; + }; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/get-archive-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "migrations/delete-archive-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/unlock-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** @description repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/list-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; }; - }; }; - }; - /** List public events for a user */ - "activity/list-public-events-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "orgs/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/list-packages-for-authenticated-user": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + }; + }; + "packages/get-package-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List followers of a user - * @description Lists the people following the specified user. - */ - "users/list-followers-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "packages/delete-package-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * List the people a user follows - * @description Lists the people who the specified user follows. - */ - "users/list-following-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "packages/restore-package-for-authenticated-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "packages/delete-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Name of the project */ + name: string; + /** @description Body of the project */ + body?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "users/list-public-emails-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/list-for-authenticated-user": { + parameters: { + query?: { + /** @description Limit results to repositories with the specified visibility. */ + visibility?: "all" | "public" | "private"; + /** @description Comma-separated list of values. Can include: + * * `owner`: Repositories that are owned by the authenticated user. + * * `collaborator`: Repositories that the user has been added to as a collaborator. + * * `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. */ + affiliation?: string; + /** @description Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Only show repositories updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since-repo-date"]; + /** @description Only show repositories updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before-repo-date"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the repository. */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Whether the repository is initialized with a minimal README. + * @default false + */ + auto_init: boolean; + /** @description The desired language or platform to apply to the .gitignore. */ + gitignore_template?: string; + /** @description The license keyword of the open source license for this repository. */ + license_template?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + */ + is_template: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-invitations-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/decline-invitation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "repos/accept-invitation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "users/list-social-accounts-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/add-social-account-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Full URLs for the social media profiles to add. */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/delete-social-account-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Full URLs for the social media profiles to delete. */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-ssh-signing-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A descriptive name for the new key. */ + title?: string; + /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ + key: string; + }; + }; }; - content: { - "application/json": components["schemas"]["simple-user"][]; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the SSH signing key. */ + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the SSH signing key. */ + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-repos-starred-by-authenticated-user": { + parameters: { + query?: { + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort-starred"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"][]; + "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/check-repo-is-starred-by-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if this repository is starred by you */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if this repository is not starred by you */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; }; - }; }; - }; - /** Check if a user follows another user */ - "users/check-following-for-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - target_user: string; - }; + "activity/star-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/unstar-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-watched-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "teams/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/list": { + parameters: { + query?: { + /** @description A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description if the user follows the target user */ - 204: { - content: never; - }; - /** @description if the user does not follow the target user */ - 404: { - content: never; - }; - }; - }; - /** - * List gists for a user - * @description Lists public gists for the specified user: - */ - "gists/list-for-user": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "users/get-by-username": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List GPG keys for a user - * @description Lists the GPG keys for a user. This information is accessible by anyone. - */ - "users/list-gpg-keys-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "packages/list-docker-migration-conflicting-packages-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gpg-key"][]; - }; - }; - }; - }; - /** - * Get contextual information for a user - * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. - * - * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: - * - * ```shell - * curl -u username:token - * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 - * ``` - */ - "users/get-context-for-user": { - parameters: { - query?: { - /** @description Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. */ - subject_type?: "organization" | "repository" | "issue" | "pull_request"; - /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ - subject_id?: string; - }; - path: { - username: components["parameters"]["username"]; - }; + "activity/list-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hovercard"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a user installation for the authenticated app - * @description Enables an authenticated GitHub App to find the user’s installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-user-installation": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "activity/list-org-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - /** - * List public keys for a user - * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. - */ - "users/list-public-keys-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "activity/list-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["key-simple"][]; - }; - }; - }; - }; - /** - * List organizations for a user - * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. - * - * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. - */ - "orgs/list-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "users/list-followers-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - }; - }; - /** - * List packages for a user - * @description Lists all packages in a user's namespace for which the requesting user has access. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/list-packages-for-user": { - parameters: { - query: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - visibility?: components["parameters"]["package-visibility"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "users/list-following-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a package for a user - * @description Gets a specific package metadata for a public package owned by a user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; + "users/check-following-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + target_user: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if the user follows the target user */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if the user does not follow the target user */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - /** - * Delete a package for a user - * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; + "gists/list-for-user": { + parameters: { + query?: { + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package for a user - * @description Restores an entire package for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-for-user": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; + "users/list-gpg-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List package versions for a package owned by a user - * @description Lists package versions for a public package owned by a specified user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-all-package-versions-for-package-owned-by-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; + "users/get-context-for-user": { + parameters: { + query?: { + /** @description Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ + subject_id?: string; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hovercard"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a package version for a user - * @description Gets a specific package version for a public package owned by a specified user. - * - * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-version-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - username: components["parameters"]["username"]; - }; + "apps/get-user-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - /** - * Delete package version for a user - * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-version-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - package_version_id: components["parameters"]["package-version-id"]; - }; + "users/list-public-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key-simple"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore package version for a user - * @description Restores a specific package version for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-version-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - package_version_id: components["parameters"]["package-version-id"]; - }; + "orgs/list-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List user projects - * @description Lists projects for a user. - */ - "projects/list-for-user": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "packages/list-packages-for-user": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/get-package-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List events received by the authenticated user - * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. - */ - "activity/list-received-events-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "packages/delete-package-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; + "packages/restore-package-for-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-all-package-versions-for-package-owned-by-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; }; - }; }; - }; - /** List public events received by a user */ - "activity/list-received-public-events-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "packages/delete-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/list-for-user": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List repositories for a user - * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. - */ - "repos/list-for-user": { - parameters: { - query?: { - /** @description Limit results to repositories of the specified type. */ - type?: "all" | "owner" | "member"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "activity/list-received-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Get GitHub Actions billing for a user - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `user` scope. - */ - "billing/get-github-actions-billing-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "activity/list-received-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-billing-usage"]; - }; - }; - }; - }; - /** - * Get GitHub Packages billing for a user - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - "billing/get-github-packages-billing-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "repos/list-for-user": { + parameters: { + query?: { + /** @description Limit results to repositories of the specified type. */ + type?: "all" | "owner" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["packages-billing-usage"]; - }; - }; - }; - }; - /** - * Get shared storage billing for a user - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - "billing/get-shared-storage-billing-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "billing/get-github-actions-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["combined-billing-usage"]; - }; - }; - }; - }; - /** - * List social accounts for a user - * @description Lists social media accounts for a user. This endpoint is accessible by anyone. - */ - "users/list-social-accounts-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "billing/get-github-packages-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - }; - }; - /** - * List SSH signing keys for a user - * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. - */ - "users/list-ssh-signing-keys-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "billing/get-shared-storage-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["ssh-signing-key"][]; - }; - }; - }; - }; - /** - * List repositories starred by a user - * @description Lists repositories a user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - "activity/list-repos-starred-by-user": { - parameters: { - query?: { - sort?: components["parameters"]["sort-starred"]; - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "users/list-social-accounts-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["starred-repository"][] | components["schemas"]["repository"][]; - }; - }; - }; - }; - /** - * List repositories watched by a user - * @description Lists repositories a user is watching. - */ - "activity/list-repos-watched-by-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "users/list-ssh-signing-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Get all API versions - * @description Get all supported GitHub API versions. - */ - "meta/get-all-versions": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the Zen of GitHub - * @description Get a random sentence from the Zen of GitHub - */ - "meta/get-zen": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string; - }; - }; - }; - }; - /** - * This event occurs when there is a change to branch protection configurations for a repository. - * For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." - * For information about using the APIs to manage branch protection rules, see "[Branch protection rule](https://docs.github.com/graphql/reference/objects#branchprotectionrule)" in the GraphQL documentation or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description All branch protections were disabled for a repository. - */ - "branch-protection-configuration/disabled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-branch-protection-configuration-disabled"]; - }; + "activity/list-repos-starred-by-user": { + parameters: { + query?: { + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort-starred"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["starred-repository"][] | components["schemas"]["repository"][]; + }; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is a change to branch protection configurations for a repository. - * For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." - * For information about using the APIs to manage branch protection rules, see "[Branch protection rule](https://docs.github.com/graphql/reference/objects#branchprotectionrule)" in the GraphQL documentation or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description All branch protections were enabled for a repository. - */ - "branch-protection-configuration/enabled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-branch-protection-configuration-enabled"]; - }; + "activity/list-repos-watched-by-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A branch protection rule was created. - */ - "branch-protection-rule/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-branch-protection-rule-created"]; - }; + "meta/get-all-versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "meta/get-zen": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + }; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A branch protection rule was deleted. - */ - "branch-protection-rule/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-branch-protection-rule-deleted"]; - }; + "branch-protection-configuration/disabled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-branch-protection-configuration-disabled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A branch protection rule was edited. - */ - "branch-protection-rule/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-branch-protection-rule-edited"]; - }; + "branch-protection-configuration/enabled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-branch-protection-configuration-enabled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. - * - * For activity relating to check suites, use the `check-suite` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description A check run was completed, and a conclusion is available. - */ - "check-run/completed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-check-run-completed"]; - "application/x-www-form-urlencoded": components["schemas"]["webhook-check-run-completed-form-encoded"]; - }; + "branch-protection-rule/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-branch-protection-rule-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. - * - * For activity relating to check suites, use the `check-suite` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description A new check run was created. - */ - "check-run/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-check-run-created"]; - "application/x-www-form-urlencoded": components["schemas"]["webhook-check-run-created-form-encoded"]; - }; + "branch-protection-rule/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-branch-protection-rule-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. - * - * For activity relating to check suites, use the `check-suite` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description A check run completed, and someone requested a followup action that your app provides. Only the GitHub App someone requests to perform an action will receive the `requested_action` payload. For more information, see "[Creating CI tests with the Checks API](https://docs.github.com/developers/apps/guides/creating-ci-tests-with-the-checks-api)." - */ - "check-run/requested-action": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-check-run-requested-action"]; - "application/x-www-form-urlencoded": components["schemas"]["webhook-check-run-requested-action-form-encoded"]; - }; + "branch-protection-rule/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-branch-protection-rule-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. - * - * For activity relating to check suites, use the `check-suite` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description Someone requested to re-run a check run. Only the GitHub App that someone requests to re-run the check will receive the `rerequested` payload. - */ - "check-run/rerequested": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-check-run-rerequested"]; - "application/x-www-form-urlencoded": components["schemas"]["webhook-check-run-rerequested-form-encoded"]; - }; + "check-run/completed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-check-run-completed"]; + "application/x-www-form-urlencoded": components["schemas"]["webhook-check-run-completed-form-encoded"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. - * - * For activity relating to check runs, use the `check_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" permission. To receive the `requested` and `rerequested` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check suite was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description All check runs in a check suite have completed, and a conclusion is available. - */ - "check-suite/completed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-check-suite-completed"]; - }; + "check-run/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-check-run-created"]; + "application/x-www-form-urlencoded": components["schemas"]["webhook-check-run-created-form-encoded"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. - * - * For activity relating to check runs, use the `check_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" permission. To receive the `requested` and `rerequested` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check suite was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description Someone requested to run a check suite. By default, check suites are automatically created when you create a check run. For more information, see [the GraphQL API documentation for creating a check run](https://docs.github.com/graphql/reference/mutations#createcheckrun) or "[Create a check run](https://docs.github.com/rest/checks/runs#create-a-check-run)" in the REST API documentation. - */ - "check-suite/requested": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-check-suite-requested"]; - }; + "check-run/requested-action": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-check-run-requested-action"]; + "application/x-www-form-urlencoded": components["schemas"]["webhook-check-run-requested-action-form-encoded"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. - * - * For activity relating to check runs, use the `check_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" permission. To receive the `requested` and `rerequested` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event. - * - * Repository and organization webhooks only receive payloads for the `completed` event types in repositories. - * - * **Note**: The API only looks for pushes in the repository where the check suite was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * @description Someone requested to re-run the check runs in a check suite. For more information, see [the GraphQL API documentation for creating a check suite](https://docs.github.com/graphql/reference/mutations#createchecksuite) or "[Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite)" in the REST API documentation. - */ - "check-suite/rerequested": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-check-suite-rerequested"]; - }; + "check-run/rerequested": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-check-run-rerequested"]; + "application/x-www-form-urlencoded": components["schemas"]["webhook-check-run-rerequested-form-encoded"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description A previously created code scanning alert appeared in another branch. This can happen when a branch is merged into or created from a branch with a pre-existing code scanning alert. - */ - "code-scanning-alert/appeared-in-branch": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-code-scanning-alert-appeared-in-branch"]; - }; + "check-suite/completed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-check-suite-completed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description Someone closed a code scanning alert. - */ - "code-scanning-alert/closed-by-user": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-code-scanning-alert-closed-by-user"]; - }; + "check-suite/requested": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-check-suite-requested"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description A code scanning alert was created in a repository. - */ - "code-scanning-alert/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-code-scanning-alert-created"]; - }; + "check-suite/rerequested": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-check-suite-rerequested"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description A code scanning alert was fixed in a branch by a commit. - */ - "code-scanning-alert/fixed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-code-scanning-alert-fixed"]; - }; + "code-scanning-alert/appeared-in-branch": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-code-scanning-alert-appeared-in-branch"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description A previously fixed code scanning alert reappeared in a branch. - */ - "code-scanning-alert/reopened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-code-scanning-alert-reopened"]; - }; + "code-scanning-alert/closed-by-user": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-code-scanning-alert-closed-by-user"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Code scanning alerts" repository permission. - * @description Someone reopened a code scanning alert. - */ - "code-scanning-alert/reopened-by-user": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-code-scanning-alert-reopened-by-user"]; - }; + "code-scanning-alert/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-code-scanning-alert-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to commit comments. For more information about commit comments, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request)." For information about the APIs to manage commit comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#commitcomment) or "[Commit comments](https://docs.github.com/rest/commits/comments)" in the REST API documentation. - * - * For activity relating to comments on pull request reviews, use the `pull_request_review_comment` event. For activity relating to issue comments, use the `issue_comment` event. For activity relating to discussion comments, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description Someone commented on a commit. - */ - "commit-comment/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-commit-comment-created"]; - }; + "code-scanning-alert/fixed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-code-scanning-alert-fixed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when a Git branch or tag is created. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * - * **Notes**: - * - This event will not occur when more than three tags are created at once. - * - Payloads are capped at 25 MB. If an event generates a larger payload, GitHub will not deliver a payload for that webhook event. This may happen, for example, if many branches or tags are pushed at once. We suggest monitoring your payload size to ensure delivery. - */ - create: { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-create"]; - }; + "code-scanning-alert/reopened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-code-scanning-alert-reopened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when a Git branch or tag is deleted. To subscribe to all pushes to a repository, including - * branch and tag deletions, use the [`push`](#push) webhook event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * - * **Note**: This event will not occur when more than three tags are deleted at once. - */ - delete: { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-delete"]; - }; + "code-scanning-alert/reopened-by-user": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-code-scanning-alert-reopened-by-user"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A Dependabot alert was automatically closed. - */ - "dependabot-alert/auto-dismissed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-dependabot-alert-auto-dismissed"]; - }; + "commit-comment/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-commit-comment-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A Dependabot alert was automatically reopened. - */ - "dependabot-alert/auto-reopened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-dependabot-alert-auto-reopened"]; - }; + create: { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-create"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A manifest file change introduced a vulnerable dependency, or a GitHub Security Advisory was published and an existing dependency was found to be vulnerable. - */ - "dependabot-alert/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-dependabot-alert-created"]; - }; + delete: { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-delete"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A Dependabot alert was manually closed. - */ - "dependabot-alert/dismissed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-dependabot-alert-dismissed"]; - }; + "dependabot-alert/auto-dismissed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-dependabot-alert-auto-dismissed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A manifest file change removed a vulnerability. - */ - "dependabot-alert/fixed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-dependabot-alert-fixed"]; - }; + "dependabot-alert/auto-reopened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-dependabot-alert-auto-reopened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A manifest file change introduced a vulnerable dependency that had previously been fixed. - */ - "dependabot-alert/reintroduced": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-dependabot-alert-reintroduced"]; - }; + "dependabot-alert/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-dependabot-alert-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to Dependabot alerts. - * - * For more information about Dependabot alerts, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." For information about the API to manage Dependabot alerts, see "[Dependabot alerts](https://docs.github.com/rest/dependabot/alerts)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Dependabot alerts" repository permission. - * - * **Note**: Webhook events for Dependabot alerts are currently in beta and subject to change. - * @description A Dependabot alert was manually reopened. - */ - "dependabot-alert/reopened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-dependabot-alert-reopened"]; - }; + "dependabot-alert/dismissed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-dependabot-alert-dismissed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deploykey) or "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deploy key was created. - */ - "deploy-key/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-deploy-key-created"]; - }; + "dependabot-alert/fixed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-dependabot-alert-fixed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deploykey) or "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deploy key was deleted. - */ - "deploy-key/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-deploy-key-deleted"]; - }; + "dependabot-alert/reintroduced": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-dependabot-alert-reintroduced"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to deployments. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. - * - * For activity relating to deployment status, use the `deployment_status` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deployment was created. - */ - "deployment/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-deployment-created"]; - }; + "dependabot-alert/reopened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-dependabot-alert-reopened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to deployment protection rules. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-protection-rules)." For information about the API to manage deployment protection rules, see [the REST API documentation](https://docs.github.com/rest/deployments/environments). - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deployment protection rule was requested for an environment. - */ - "deployment-protection-rule/requested": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-deployment-protection-rule-requested"]; - }; + "deploy-key/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-deploy-key-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. - * - * For activity relating to deployment creation or deployment status, use the `deployment` or `deployment_status` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deployment review was approved. - */ - "deployment-review/approved": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-deployment-review-approved"]; - }; + "deploy-key/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-deploy-key-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. - * - * For activity relating to deployment creation or deployment status, use the `deployment` or `deployment_status` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deployment review was rejected. - */ - "deployment-review/rejected": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-deployment-review-rejected"]; - }; + "deployment/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-deployment-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. - * - * For activity relating to deployment creation or deployment status, use the `deployment` or `deployment_status` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A deployment review was requested. - */ - "deployment-review/requested": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-deployment-review-requested"]; - }; + "deployment-protection-rule/requested": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-deployment-protection-rule-requested"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to deployment statuses. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. - * - * For activity relating to deployment creation, use the `deployment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Deployments" repository permission. - * @description A new deployment status was created. - */ - "deployment-status/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-deployment-status-created"]; - }; + "deployment-review/approved": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-deployment-review-approved"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A comment on the discussion was marked as the answer. - */ - "discussion/answered": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-answered"]; - }; + "deployment-review/rejected": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-deployment-review-rejected"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description The category of a discussion was changed. - */ - "discussion/category-changed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-category-changed"]; - }; + "deployment-review/requested": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-deployment-review-requested"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was closed. - */ - "discussion/closed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example discussions */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-closed"]; - }; + "deployment-status/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-deployment-status-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a discussion as opposed to comments on a discussion, use the `discussion` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A comment on a discussion was created. - */ - "discussion-comment/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-comment-created"]; - }; + "discussion/answered": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-answered"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a discussion as opposed to comments on a discussion, use the `discussion` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A comment on a discussion was deleted. - */ - "discussion-comment/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-comment-deleted"]; - }; + "discussion/category-changed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-category-changed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a discussion as opposed to comments on a discussion, use the `discussion` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A comment on a discussion was edited. - */ - "discussion-comment/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-comment-edited"]; - }; + "discussion/closed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example discussions */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-closed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was created. - */ - "discussion/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-created"]; - }; + "discussion-comment/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-comment-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was deleted. - */ - "discussion/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-deleted"]; - }; + "discussion-comment/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-comment-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description The title or body on a discussion was edited, or the category of the discussion was changed. - */ - "discussion/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-edited"]; - }; + "discussion-comment/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-comment-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A label was added to a discussion. - */ - "discussion/labeled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-labeled"]; - }; + "discussion/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was locked. - */ - "discussion/locked": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-locked"]; - }; + "discussion/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was pinned. - */ - "discussion/pinned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-pinned"]; - }; + "discussion/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was reopened. - */ - "discussion/reopened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example discussions */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-reopened"]; - }; + "discussion/labeled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-labeled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was transferred to another repository. - */ - "discussion/transferred": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-transferred"]; - }; + "discussion/locked": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-locked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A comment on the discussion was unmarked as the answer. - */ - "discussion/unanswered": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-unanswered"]; - }; + "discussion/pinned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-pinned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A label was removed from a discussion. - */ - "discussion/unlabeled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-unlabeled"]; - }; + "discussion/reopened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example discussions */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-reopened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was unlocked. - */ - "discussion/unlocked": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-unlocked"]; - }; + "discussion/transferred": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-transferred"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). - * - * For activity relating to a comment on a discussion, use the `discussion_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Discussions" repository permission. - * - * **Note**: Webhook events for GitHub Discussions are currently in beta and subject to change. - * @description A discussion was unpinned. - */ - "discussion/unpinned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-discussion-unpinned"]; - }; + "discussion/unanswered": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-unanswered"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when someone forks a repository. For more information, see "[Fork a repo](https://docs.github.com/get-started/quickstart/fork-a-repo)." For information about the API to manage forks, see "[Forks](https://docs.github.com/rest/repos/forks)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - */ - fork: { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-fork"]; - }; + "discussion/unlabeled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-unlabeled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when a user revokes their authorization of a GitHub App. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the API to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * - * A GitHub App receives this webhook by default and cannot unsubscribe from this event. - * - * Anyone can revoke their authorization of a GitHub App from their [GitHub account settings page](https://github.com/settings/apps/authorizations). Revoking the authorization of a GitHub App does not uninstall the GitHub App. You should program your GitHub App so that when it receives this webhook, it stops calling the API on behalf of the person who revoked the token. If your GitHub App continues to use a revoked access token, it will receive the `401 Bad Credentials` error. For details about requests with a user access token, which require GitHub App authorization, see "[Authenticating with a GitHub App on behalf of a user](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user)." - * @description Someone revoked their authorization of a GitHub App. - */ - "github-app-authorization/revoked": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-github-app-authorization-revoked"]; - }; + "discussion/unlocked": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-unlocked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when someone creates or updates a wiki page. For more information, see "[About wikis](https://docs.github.com/communities/documenting-your-project-with-wikis/about-wikis)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - */ - gollum: { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-gollum"]; - }; + "discussion/unpinned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-discussion-unpinned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Someone installed a GitHub App on a user or organization account. - */ - "installation/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-installation-created"]; - }; + fork: { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-fork"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Someone uninstalled a GitHub App from their user or organization account. - */ - "installation/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-installation-deleted"]; - }; + "github-app-authorization/revoked": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-github-app-authorization-revoked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Someone granted new permissions to a GitHub App. - */ - "installation/new-permissions-accepted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-installation-new-permissions-accepted"]; - }; + gollum: { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-gollum"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to which repositories a GitHub App installation can access. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description A GitHub App installation was granted access to one or more repositories. - */ - "installation-repositories/added": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-installation-repositories-added"]; - }; + "installation/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to which repositories a GitHub App installation can access. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Access to one or more repositories was revoked for a GitHub App installation. - */ - "installation-repositories/removed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-installation-repositories-removed"]; - }; + "installation/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Someone blocked access by a GitHub App to their user or organization account. - */ - "installation/suspend": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-installation-suspend"]; - }; + "installation/new-permissions-accepted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-new-permissions-accepted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to the user or organization account that a GitHub App is installed on. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description Somebody renamed the user or organization account that a GitHub App is installed on. - */ - "installation-target/renamed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-installation-target-renamed"]; - }; + "installation-repositories/added": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-repositories-added"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. - * - * For more information about GitHub Apps, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. - * @description A GitHub App that was blocked from accessing a user or organization account was given access the account again. - */ - "installation/unsuspend": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-installation-unsuspend"]; - }; + "installation-repositories/removed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-repositories-removed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. - * - * For activity relating to an issue as opposed to comments on an issue, use the `issue` event. For activity related to pull request reviews or pull request review comments, use the `pull_request_review` or `pull_request_review_comment` events. For more information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A comment on an issue or pull request was created. - */ - "issue-comment/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issue-comment-created"]; - }; + "installation/suspend": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-suspend"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. - * - * For activity relating to an issue as opposed to comments on an issue, use the `issue` event. For activity related to pull request reviews or pull request review comments, use the `pull_request_review` or `pull_request_review_comment` events. For more information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A comment on an issue or pull request was deleted. - */ - "issue-comment/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issue-comment-deleted"]; - }; + "installation-target/renamed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-target-renamed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. - * - * For activity relating to an issue as opposed to comments on an issue, use the `issue` event. For activity related to pull request reviews or pull request review comments, use the `pull_request_review` or `pull_request_review_comment` events. For more information about the different types of pull request comments, see "[Working with comments](https://docs.github.com/rest/guides/working-with-comments)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A comment on an issue or pull request was edited. - */ - "issue-comment/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issue-comment-edited"]; - }; + "installation/unsuspend": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-installation-unsuspend"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was assigned to a user. - */ - "issues/assigned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-assigned"]; - }; + "issue-comment/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issue-comment-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was closed. - */ - "issues/closed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-closed"]; - }; + "issue-comment/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issue-comment-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was deleted. - */ - "issues/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-deleted"]; - }; + "issue-comment/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issue-comment-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was removed from a milestone. - */ - "issues/demilestoned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-demilestoned"]; - }; + "issues/assigned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-assigned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description The title or body on an issue was edited. - */ - "issues/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-edited"]; - }; + "issues/closed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-closed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A label was added to an issue. - */ - "issues/labeled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-labeled"]; - }; + "issues/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." - */ - "issues/locked": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-locked"]; - }; + "issues/demilestoned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-demilestoned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was added to a milestone. - */ - "issues/milestoned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-milestoned"]; - }; + "issues/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was created. When a closed issue is reopened, the action will be `reopened` instead. - */ - "issues/opened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-opened"]; - }; + "issues/labeled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-labeled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was pinned to a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." - */ - "issues/pinned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-pinned"]; - }; + "issues/locked": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-locked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A closed issue was reopened. - */ - "issues/reopened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-reopened"]; - }; + "issues/milestoned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-milestoned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was transferred to another repository. For more information, see "[Transferring an issue to another repository](https://docs.github.com/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository)." - */ - "issues/transferred": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-transferred"]; - }; + "issues/opened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-opened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A user was unassigned from an issue. - */ - "issues/unassigned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-unassigned"]; - }; + "issues/pinned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-pinned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description A label was removed from an issue. - */ - "issues/unlabeled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-unlabeled"]; - }; + "issues/reopened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-reopened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." - */ - "issues/unlocked": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-unlocked"]; - }; + "issues/transferred": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-transferred"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. - * - * For activity relating to a comment on an issue, use the `issue_comment` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" repository permission. - * @description An issue was unpinned from a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." - */ - "issues/unpinned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-issues-unpinned"]; - }; + "issues/unassigned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-unassigned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. - * - * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A label was created. - */ - "label/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-label-created"]; - }; + "issues/unlabeled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-unlabeled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. - * - * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A label was deleted. - */ - "label/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-label-deleted"]; - }; + "issues/unlocked": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-unlocked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. - * - * If you want to receive an event when a label is added to or removed from an issue, pull request, or discussion, use the `labeled` or `unlabeled` action type for the `issues`, `pull_request`, or `discussion` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A label's name, description, or color was changed. - */ - "label/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-label-edited"]; - }; + "issues/unpinned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-issues-unpinned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. - * @description Someone cancelled a GitHub Marketplace plan, and the last billing cycle has ended. The change will take effect on the account immediately. - */ - "marketplace-purchase/cancelled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-marketplace-purchase-cancelled"]; - }; + "label/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-label-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. - * @description Someone upgraded or downgraded a GitHub Marketplace plan, and the last billing cycle has ended. The change will take effect on the account immediately. - */ - "marketplace-purchase/changed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-marketplace-purchase-changed"]; - }; + "label/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-label-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. - * @description Someone downgraded or cancelled a GitHub Marketplace plan. The new plan or cancellation will take effect at the end of the current billing cycle. When the change takes effect, the `changed` or `cancelled` event will be sent. - */ - "marketplace-purchase/pending-change": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-marketplace-purchase-pending-change"]; - }; + "label/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-label-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. - * @description Someone cancelled a pending change to a GitHub Marketplace plan. Pending changes include plan cancellations and downgrades that will take effect at the end of a billing cycle. - */ - "marketplace-purchase/pending-change-cancelled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-marketplace-purchase-pending-change-cancelled"]; - }; + "marketplace-purchase/cancelled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-marketplace-purchase-cancelled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. - * @description Someone purchased a GitHub Marketplace plan. The change will take effect on the account immediately. - */ - "marketplace-purchase/purchased": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-marketplace-purchase-purchased"]; - }; + "marketplace-purchase/changed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-marketplace-purchase-changed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A GitHub user accepted an invitation to a repository. - */ - "member/added": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-member-added"]; - }; + "marketplace-purchase/pending-change": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-marketplace-purchase-pending-change"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description Permissions were changed for a collaborator on a repository. - */ - "member/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-member-edited"]; - }; + "marketplace-purchase/pending-change-cancelled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-marketplace-purchase-pending-change-cancelled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A collaborator was removed from a repository. - */ - "member/removed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-member-removed"]; - }; + "marketplace-purchase/purchased": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-marketplace-purchase-purchased"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the APIs to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description An organization member was added to a team. - */ - "membership/added": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-membership-added"]; - }; + "member/added": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-member-added"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the APIs to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description An organization member was removed from a team. - */ - "membership/removed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-membership-removed"]; - }; + "member/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-member-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission. - * @description Status checks were requested for a merge group. This happens when a merge group is created or added to by the merge queue because a pull request was queued. - * - * When you receive this event, you should perform checks on the head SHA and report status back using check runs or commit statuses. - */ - "merge-group/checks-requested": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-merge-group-checks-requested"]; - }; + "member/removed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-member-removed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Merge queues" repository permission. - * @description The merge queue groups pull requests together to be merged. This event indicates that one of those merge groups was destroyed. This happens when a pull request is removed from the queue: any group containing that pull request is also destroyed. - * - * When you receive this event, you may want to cancel any checks that are running on the head SHA to avoid wasting computing resources on a merge group that will not be used. - */ - "merge-group/destroyed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-merge-group-destroyed"]; - }; + "membership/added": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-membership-added"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a webhook itself. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Meta" app permission. - * @description The webhook was deleted. - */ - "meta/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-meta-deleted"]; - }; + "membership/removed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-membership-removed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. - * - * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. - * @description A milestone was closed. - */ - "milestone/closed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-milestone-closed"]; - }; + "merge-group/checks-requested": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-merge-group-checks-requested"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. - * - * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. - * @description A milestone was created. - */ - "milestone/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-milestone-created"]; - }; + "merge-group/destroyed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-merge-group-destroyed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. - * - * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. - * @description A milestone was deleted. - */ - "milestone/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-milestone-deleted"]; - }; + "meta/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-meta-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. - * - * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. - * @description A milestone was edited. - */ - "milestone/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-milestone-edited"]; - }; + "milestone/closed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-milestone-closed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. - * - * If you want to receive an event when an issue or pull request is added to or removed from a milestone, use the `milestoned` or `demilestoned` action type for the `issues` or `pull_request` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Issues" or "Pull requests" repository permissions. - * @description A milestone was opened. - */ - "milestone/opened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-milestone-opened"]; - }; + "milestone/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-milestone-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the APIs to manage blocked users, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) or "[Blocking users](https://docs.github.com/rest/orgs/blocking)" in the REST API documentation. - * - * If you want to receive an event when members are added or removed from an organization, use the `organization` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" organization permission. - * @description A user was blocked from the organization. - */ - "org-block/blocked": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-org-block-blocked"]; - }; + "milestone/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-milestone-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the APIs to manage blocked users, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) or "[Blocking users](https://docs.github.com/rest/orgs/blocking)" in the REST API documentation. - * - * If you want to receive an event when members are added or removed from an organization, use the `organization` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" organization permission. - * @description A previously blocked user was unblocked from the organization. - */ - "org-block/unblocked": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-org-block-unblocked"]; - }; + "milestone/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-milestone-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. - * - * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description An organization was deleted. - */ - "organization/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-organization-deleted"]; - }; + "milestone/opened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-milestone-opened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. - * - * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A member accepted an invitation to join an organization. - */ - "organization/member-added": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-organization-member-added"]; - }; + "org-block/blocked": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-org-block-blocked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. - * - * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A member was invited to join the organization. - */ - "organization/member-invited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-organization-member-invited"]; - }; + "org-block/unblocked": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-org-block-unblocked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. - * - * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A member was removed from the organization. - */ - "organization/member-removed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-organization-member-removed"]; - }; + "organization/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-organization-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. - * - * If you want to receive an event when a non-member is blocked or unblocked from an organization, use the `org_block` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description The name of an organization was changed. - */ - "organization/renamed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-organization-renamed"]; - }; + "organization/member-added": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-organization-member-added"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. - * - * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. - * @description A package was published to a registry. - */ - "package/published": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-package-published"]; - }; + "organization/member-invited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-organization-member-invited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. - * - * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. - * @description A previously published package was updated. - */ - "package/updated": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-package-updated"]; - }; + "organization/member-removed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-organization-member-removed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is an attempted build of a GitHub Pages site. This event occurs regardless of whether the build is successful. For more information, see "[Configuring a publishing source for your GitHub Pages site](https://docs.github.com/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." For information about the API to manage GitHub Pages, see "[Pages](https://docs.github.com/rest/pages)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pages" repository permission. - */ - "page-build": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-page-build"]; - }; + "organization/renamed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-organization-renamed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - * @description A fine-grained personal access token request was approved. - */ - "personal-access-token-request/approved": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example personal_access_token_request */ - "X-Github-Event"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example integration */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-personal-access-token-request-approved"]; - }; + "package/published": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-package-published"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - * @description A fine-grained personal access token request was cancelled by the requester. - */ - "personal-access-token-request/cancelled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example personal_access_token_request */ - "X-Github-Event"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example integration */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-personal-access-token-request-cancelled"]; - }; + "package/updated": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-package-updated"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - * @description A fine-grained personal access token request was created. - */ - "personal-access-token-request/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example personal_access_token_request */ - "X-Github-Event"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example integration */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-personal-access-token-request-created"]; - }; + "page-build": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-page-build"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Personal access token requests" organization permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - * @description A fine-grained personal access token request was denied. - */ - "personal-access-token-request/denied": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example personal_access_token_request */ - "X-Github-Event"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example integration */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-personal-access-token-request-denied"]; - }; + "personal-access-token-request/approved": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example personal_access_token_request */ + "X-Github-Event"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example integration */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-personal-access-token-request-approved"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** This event occurs when you create a new webhook. The ping event is a confirmation from GitHub that you configured the webhook correctly. */ - ping: { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-ping"]; - "application/x-www-form-urlencoded": components["schemas"]["webhook-ping-form-encoded"]; - }; + "personal-access-token-request/cancelled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example personal_access_token_request */ + "X-Github-Event"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example integration */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-personal-access-token-request-cancelled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A note in a classic project was converted to an issue. - */ - "project-card/converted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-card-converted"]; - }; + "personal-access-token-request/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example personal_access_token_request */ + "X-Github-Event"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example integration */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-personal-access-token-request-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A card was added to a classic project. - */ - "project-card/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-card-created"]; - }; + "personal-access-token-request/denied": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example personal_access_token_request */ + "X-Github-Event"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example integration */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-personal-access-token-request-denied"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A card on a classic project was deleted. - */ - "project-card/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-card-deleted"]; - }; + ping: { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-ping"]; + "application/x-www-form-urlencoded": components["schemas"]["webhook-ping-form-encoded"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A note on a classic project was edited. - */ - "project-card/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-card-edited"]; - }; + "project-card/converted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-card-converted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a column on a project, use the `project` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A card on a classic project was moved to another column or to another position in its column. - */ - "project-card/moved": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-card-moved"]; - }; + "project-card/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-card-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A classic project was closed. - */ - "project/closed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-closed"]; - }; + "project-card/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-card-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A column was added to a classic project. - */ - "project-column/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-column-created"]; - }; + "project-card/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-card-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A column was deleted from a classic project. - */ - "project-column/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-column-deleted"]; - }; + "project-card/moved": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-card-moved"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description The name of a column on a classic project was changed. - */ - "project-column/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-column-edited"]; - }; + "project/closed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-closed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a project or a card on a project, use the `project` and `project_card` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A column was moved to a new position on a classic project. - */ - "project-column/moved": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-column-moved"]; - }; + "project-column/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-column-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A classic project was created. - */ - "project/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-created"]; - }; + "project-column/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-column-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A classic project was deleted. - */ - "project/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-deleted"]; - }; + "project-column/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-column-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description The name or description of a classic project was changed. - */ - "project/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-edited"]; - }; + "project-column/moved": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-column-moved"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. - * - * For activity relating to a card or column on a project, use the `project_card` and `project_column` event. For activity relating to Projects instead of Projects (classic), use the `projects_v2` event instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" repository or organization permission. - * @description A classic project was closed. - */ - "project/reopened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-project-reopened"]; - }; + "project/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). - * - * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description A project in the organization was closed. - */ - "projects-v2/closed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2 */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-project-closed"]; - }; + "project/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). - * - * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description A project in the organization was created. - */ - "projects-v2/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2 */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-project-created"]; - }; + "project/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). - * - * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description A project in the organization was deleted. - */ - "projects-v2/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2 */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-project-deleted"]; - }; + "project/reopened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-project-reopened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). - * - * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description The title, description, or README of a project in the organization was changed. - */ - "projects-v2/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2 */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-project-edited"]; - }; + "projects-v2/closed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2 */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-project-closed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description An item on an organization project was archived. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." - */ - "projects-v2-item/archived": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2-item */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-item-archived"]; - }; + "projects-v2/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2 */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-project-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description A draft issue in an organization project was converted to an issue. - */ - "projects-v2-item/converted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2-item */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-item-converted"]; - }; + "projects-v2/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2 */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-project-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description An item was added to a project in the organization. - */ - "projects-v2-item/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2-item */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-item-created"]; - }; + "projects-v2/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2 */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-project-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description An item was deleted from a project in the organization. - */ - "projects-v2-item/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2-item */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-item-deleted"]; - }; + "projects-v2-item/archived": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2-item */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-archived"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description The values or state of an item in an organization project were changed. For example, the value of a field was updated, the body of a draft issue was changed, or a draft issue was converted to an issue. - */ - "projects-v2-item/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2-item */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-item-edited"]; - }; + "projects-v2-item/converted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2-item */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-converted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description The position of an item in an organization project was changed. For example, an item was moved above or below another item in the table or board layout. - */ - "projects-v2-item/reordered": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2-item */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-item-reordered"]; - }; + "projects-v2-item/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2-item */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). - * - * For activity relating to a project (instead of an item on a project), use the `projects_v2` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description An archived item on an organization project was restored from the archive. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." - */ - "projects-v2-item/restored": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2-item */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-item-restored"]; - }; + "projects-v2-item/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2-item */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). - * - * For activity relating to a item on a project, use the `projects_v2_item` event. For activity relating to Projects (classic), use the `project`, `project_card`, and `project_column` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Projects" organization permission. - * - * **Note**: Webhook events for projects are currently in beta and subject to change. To share feedback about projects webhooks with GitHub, see the [Projects webhook feedback discussion](https://github.com/orgs/community/discussions/17405). - * @description A project in the organization was reopened. - */ - "projects-v2/reopened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example project-v2 */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-projects-v2-project-reopened"]; - }; + "projects-v2-item/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2-item */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when repository visibility changes from private to public. For more information, see "[Setting repository visibility](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - */ - public: { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-public"]; - }; + "projects-v2-item/reordered": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2-item */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-reordered"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was assigned to a user. - */ - "pull-request/assigned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-assigned"]; - }; + "projects-v2-item/restored": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2-item */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-item-restored"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description Auto merge was disabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." - */ - "pull-request/auto-merge-disabled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-auto-merge-disabled"]; - }; + "projects-v2/reopened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example project-v2 */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-projects-v2-project-reopened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description Auto merge was enabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." - */ - "pull-request/auto-merge-enabled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-auto-merge-enabled"]; - }; + public: { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-public"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was closed. If `merged` is false in the webhook payload, the pull request was closed with unmerged commits. If `merged` is true in the webhook payload, the pull request was merged. - */ - "pull-request/closed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-closed"]; - }; + "pull-request/assigned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-assigned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was converted to a draft. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." - */ - "pull-request/converted-to-draft": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-converted-to-draft"]; - }; + "pull-request/auto-merge-disabled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-auto-merge-disabled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was removed from a milestone. - */ - "pull-request/demilestoned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-demilestoned"]; - }; + "pull-request/auto-merge-enabled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-auto-merge-enabled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was removed from the merge queue. - */ - "pull-request/dequeued": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-dequeued"]; - }; + "pull-request/closed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-closed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description The title or body of a pull request was edited. - */ - "pull-request/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-edited"]; - }; + "pull-request/converted-to-draft": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-converted-to-draft"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was added to the merge queue. - */ - "pull-request/enqueued": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-enqueued"]; - }; + "pull-request/demilestoned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-demilestoned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "pull-request/dequeued": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-dequeued"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A label was added to a pull request. - */ - "pull-request/labeled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-labeled"]; - }; + "pull-request/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description Conversation on a pull request was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." - */ - "pull-request/locked": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-locked"]; - }; + "pull-request/enqueued": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-enqueued"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was added to a milestone. - */ - "pull-request/milestoned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-milestoned"]; - }; + "pull-request/labeled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-labeled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request was created - */ - "pull-request/opened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-opened"]; - }; + "pull-request/locked": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-locked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A draft pull request was marked as ready for review. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." - */ - "pull-request/ready-for-review": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-ready-for-review"]; - }; + "pull-request/milestoned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-milestoned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A previously closed pull request was reopened. - */ - "pull-request/reopened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-reopened"]; - }; + "pull-request/opened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-opened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A comment on a pull request diff was created. - */ - "pull-request-review-comment/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-review-comment-created"]; - }; + "pull-request/ready-for-review": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-ready-for-review"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A comment on a pull request diff was deleted. - */ - "pull-request-review-comment/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-review-comment-deleted"]; - }; + "pull-request/reopened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-reopened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request comments, or pull request review threads, use the `pull_request_review`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description The content of a comment on a pull request diff was changed. - */ - "pull-request-review-comment/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-review-comment-edited"]; - }; + "pull-request-review-comment/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-comment-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. - * - * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A review on a pull request was dismissed. - */ - "pull-request-review/dismissed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-review-dismissed"]; - }; + "pull-request-review-comment/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-comment-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. - * - * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description The body comment on a pull request review was edited. - */ - "pull-request-review/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-review-edited"]; - }; + "pull-request-review-comment/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-comment-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A request for review by a person or team was removed from a pull request. - */ - "pull-request/review-request-removed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-review-request-removed"]; - }; + "pull-request-review/dismissed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-dismissed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description Review by a person or team was requested for a pull request. For more information, see "[Requesting a pull request review](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review)." - */ - "pull-request/review-requested": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-review-requested"]; - }; + "pull-request-review/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. - * - * For activity related to pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A review on a pull request was submitted. - */ - "pull-request-review/submitted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-review-submitted"]; - }; + "pull-request/review-request-removed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-request-removed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. - * - * For activity related to pull request review comments, pull request comments, or pull request reviews, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A comment thread on a pull request was marked as resolved. - */ - "pull-request-review-thread/resolved": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-review-thread-resolved"]; - }; + "pull-request/review-requested": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-requested"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. - * - * For activity related to pull request review comments, pull request comments, or pull request reviews, use the `pull_request_review_comment`, `issue_comment`, or `pull_request_review` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A previously resolved comment thread on a pull request was marked as unresolved. - */ - "pull-request-review-thread/unresolved": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-review-thread-unresolved"]; - }; + "pull-request-review/submitted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-submitted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A pull request's head branch was updated. For example, the head branch was updated from the base branch or new commits were pushed to the head branch. - */ - "pull-request/synchronize": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-synchronize"]; - }; + "pull-request-review-thread/resolved": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-thread-resolved"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A user was unassigned from a pull request. - */ - "pull-request/unassigned": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-unassigned"]; - }; + "pull-request-review-thread/unresolved": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-review-thread-unresolved"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description A label was removed from a pull request. - */ - "pull-request/unlabeled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-unlabeled"]; - }; + "pull-request/synchronize": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-synchronize"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. - * - * For activity related to pull request reviews, pull request review comments, pull request comments, or pull request review threads, use the `pull_request_review`, `pull_request_review_comment`, `issue_comment`, or `pull_request_review_thread` events instead. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Pull requests" repository permission. - * @description Conversation on a pull request was unlocked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." - */ - "pull-request/unlocked": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-pull-request-unlocked"]; - }; + "pull-request/unassigned": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-unassigned"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is a push to a repository branch. This includes when a commit is pushed, when a commit tag is pushed, - * when a branch is deleted, when a tag is deleted, or when a repository is created from a template. To subscribe to only branch - * and tag deletions, use the [`delete`](#delete) webhook event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * - * **Note**: An event will not be created when more than three tags are pushed at once. - */ - push: { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-push"]; - }; + "pull-request/unlabeled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-unlabeled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. - * - * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. - * - * **Note**: GitHub recommends that you use the newer `package` event instead. - * @description A package was published to a registry. - */ - "registry-package/published": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-registry-package-published"]; - }; + "pull-request/unlocked": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-pull-request-unlocked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. - * - * To install this event on a GitHub App, the app must have at least read-level access for the "Packages" repository permission. - * - * **Note**: GitHub recommends that you use the newer `package` event instead. - * @description A package that was previously published to a registry was updated. - */ - "registry-package/updated": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-registry-package-updated"]; - }; + push: { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-push"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A draft was saved, or a release or pre-release was published without previously being saved as a draft. - */ - "release/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-release-created"]; - }; + "registry-package/published": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-registry-package-published"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A release, pre-release, or draft release was deleted. - */ - "release/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-release-deleted"]; - }; + "registry-package/updated": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-registry-package-updated"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description The details of a release, pre-release, or draft release were edited. For more information, see "[Managing releases in a repository](https://docs.github.com/repositories/releasing-projects-on-github/managing-releases-in-a-repository#editing-a-release)." - */ - "release/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-release-edited"]; - }; + "release/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A release was created and identified as a pre-release. A pre-release is a release that is not ready for production and may be unstable. - */ - "release/prereleased": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-release-prereleased"]; - }; + "release/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A release, pre-release, or draft of a release was published. - */ - "release/published": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-release-published"]; - }; + "release/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A release was published, or a pre-release was changed to a release. - */ - "release/released": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-release-released"]; - }; + "release/prereleased": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-prereleased"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description A release or pre-release was unpublished. - */ - "release/unpublished": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-release-unpublished"]; - }; + "release/published": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-published"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a repository security advisory. For more information about repository security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Repository security advisories" permission. - * @description A repository security advisory was published. - */ - "repository-advisory/published": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-advisory-published"]; - }; + "release/released": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-released"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a repository security advisory. For more information about repository security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Repository security advisories" permission. - * @description A private vulnerability report was submitted. - */ - "repository-advisory/reported": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-advisory-reported"]; - }; + "release/unpublished": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-release-unpublished"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A repository was archived. - */ - "repository/archived": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-archived"]; - }; + "repository-advisory/published": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-advisory-published"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A repository was created. - */ - "repository/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-created"]; - }; + "repository-advisory/reported": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-advisory-reported"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A repository was deleted. GitHub Apps and repository webhooks will not receive this event. - */ - "repository/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-deleted"]; - }; + "repository/archived": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-archived"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when a GitHub App sends a `POST` request to `/repos/{owner}/{repo}/dispatches`. For more information, see [the REST API documentation for creating a repository dispatch event](https://docs.github.com/rest/repos/repos#create-a-repository-dispatch-event). - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - * @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. - */ - "repository-dispatch/sample.collected": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-dispatch-sample"]; - }; + "repository/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description The topics, default branch, description, or homepage of a repository was changed. - */ - "repository/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-edited"]; - }; + "repository/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** This event occurs when a repository is imported to GitHub. For more information, see "[Importing a repository with GitHub Importer](https://docs.github.com/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer)." For more information about the API to manage imports, see [the REST API documentation](https://docs.github.com/rest/migrations/source-imports). */ - "repository-import": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-import"]; - }; + "repository-dispatch/sample.collected": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-dispatch-sample"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description The visibility of a repository was changed to `private`. - */ - "repository/privatized": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-privatized"]; - }; + "repository/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description The visibility of a repository was changed to `public`. - */ - "repository/publicized": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-publicized"]; - }; + "repository-import": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-import"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description The name of a repository was changed. - */ - "repository/renamed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-renamed"]; - }; + "repository/privatized": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-privatized"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repository rulesets. - * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." - * For more information on managing rulesets via the APIs, see [Repository ruleset](https://docs.github.com/graphql/reference/objects#repositoryruleset) in the GraphQL documentation or "[Repository rules](https://docs.github.com/rest/repos/rules)" and "[Organization rules](https://docs.github.com/rest/orgs/rules) in the REST API documentation." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A repository ruleset was created. - */ - "repository-ruleset/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-ruleset-created"]; - }; + "repository/publicized": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-publicized"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repository rulesets. - * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." - * For more information on managing rulesets via the APIs, see [Repository ruleset](https://docs.github.com/graphql/reference/objects#repositoryruleset) in the GraphQL documentation or "[Repository rules](https://docs.github.com/rest/repos/rules)" and "[Organization rules](https://docs.github.com/rest/orgs/rules) in the REST API documentation." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A repository ruleset was deleted. - */ - "repository-ruleset/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-ruleset-deleted"]; - }; + "repository/renamed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-renamed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repository rulesets. - * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." - * For more information on managing rulesets via the APIs, see [Repository ruleset](https://docs.github.com/graphql/reference/objects#repositoryruleset) in the GraphQL documentation or "[Repository rules](https://docs.github.com/rest/repos/rules)" and "[Organization rules](https://docs.github.com/rest/orgs/rules) in the REST API documentation." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - * @description A repository ruleset was edited. - */ - "repository-ruleset/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-ruleset-edited"]; - }; + "repository-ruleset/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-ruleset-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description Ownership of the repository was transferred to a user or organization account. This event is only sent to the account where the ownership is transferred. To receive the `repository.transferred` event, the new owner account must have the GitHub App installed, and the App must be subscribed to "Repository" events. - */ - "repository/transferred": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-transferred"]; - }; + "repository-ruleset/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-ruleset-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description A previously archived repository was unarchived. - */ - "repository/unarchived": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-unarchived"]; - }; + "repository-ruleset/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-ruleset-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a security vulnerability alert in a repository. - * - * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. - * @description A repository vulnerability alert was created. - */ - "repository-vulnerability-alert/create": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-vulnerability-alert-create"]; - }; + "repository/transferred": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-transferred"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a security vulnerability alert in a repository. - * - * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. - * @description A repository vulnerability alert was dismissed. - */ - "repository-vulnerability-alert/dismiss": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-vulnerability-alert-dismiss"]; - }; + "repository/unarchived": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-unarchived"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a security vulnerability alert in a repository. - * - * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. - * @description A previously dismissed or resolved repository vulnerability alert was reopened. - */ - "repository-vulnerability-alert/reopen": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-vulnerability-alert-reopen"]; - }; + "repository-vulnerability-alert/create": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-create"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a security vulnerability alert in a repository. - * - * **Note**: This event is deprecated. Use the `dependabot_alert` event instead. - * @description A repository vulnerability alert was marked as resolved. - */ - "repository-vulnerability-alert/resolve": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-repository-vulnerability-alert-resolve"]; - }; + "repository-vulnerability-alert/dismiss": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-dismiss"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. - * - * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. - * @description A secret scanning alert was created. - */ - "secret-scanning-alert/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-secret-scanning-alert-created"]; - }; + "repository-vulnerability-alert/reopen": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-reopen"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to the locations of a secret in a secret scanning alert. - * - * For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. - * - * For activity relating to secret scanning alerts, use the `secret_scanning_alert` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. - * @description A new instance of a previously detected secret was detected in a repository, and the location of the secret was added to the existing alert. - */ - "secret-scanning-alert-location/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-secret-scanning-alert-location-created"]; - "application/x-www-form-urlencoded": components["schemas"]["webhook-secret-scanning-alert-location-created-form-encoded"]; - }; + "repository-vulnerability-alert/resolve": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-repository-vulnerability-alert-resolve"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. - * - * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. - * @description A previously closed secret scanning alert was reopened. - */ - "secret-scanning-alert/reopened": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-secret-scanning-alert-reopened"]; - }; + "secret-scanning-alert/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-secret-scanning-alert-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. - * - * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. - * @description A secret scanning alert was closed. - */ - "secret-scanning-alert/resolved": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-secret-scanning-alert-resolved"]; - }; + "secret-scanning-alert-location/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-secret-scanning-alert-location-created"]; + "application/x-www-form-urlencoded": components["schemas"]["webhook-secret-scanning-alert-location-created-form-encoded"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. - * - * For activity relating to secret scanning alert locations, use the `secret_scanning_alert_location` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Secret scanning alerts" repository permission. - * @description A secret scanning alert was marked as revoked. - */ - "secret-scanning-alert/revoked": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-secret-scanning-alert-revoked"]; - }; + "secret-scanning-alert/reopened": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-secret-scanning-alert-reopened"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). - * - * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." - * @description A security advisory was published to the GitHub community. - */ - "security-advisory/published": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-security-advisory-published"]; - }; + "secret-scanning-alert/resolved": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-secret-scanning-alert-resolved"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; + }; + "secret-scanning-alert/revoked": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-secret-scanning-alert-revoked"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). - * - * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." - * @description The metadata or description of a security advisory was changed, or the security advisory was withdrawn. - */ - "security-advisory/updated": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-security-advisory-updated"]; - }; + "security-advisory/published": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-security-advisory-published"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). - * - * GitHub Dependabot alerts are also powered by the security advisory dataset. For more information, see "[About Dependabot alerts](https://docs.github.com/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)." - * @description A previously published security advisory was withdrawn. - */ - "security-advisory/withdrawn": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-security-advisory-withdrawn"]; - }; + "security-advisory/updated": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-security-advisory-updated"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when code security and analysis features are enabled or disabled for a repository. For more information, see "[GitHub security features](https://docs.github.com/code-security/getting-started/github-security-features)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. - */ - "security-and-analysis": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-security-and-analysis"]; - }; + "security-advisory/withdrawn": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-security-advisory-withdrawn"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A sponsorship was cancelled and the last billing cycle has ended. - * - * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. - */ - "sponsorship/cancelled": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-sponsorship-cancelled"]; - }; + "security-and-analysis": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-security-and-analysis"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A sponsor created a sponsorship for a sponsored account. This event occurs once the payment is successfully processed. - */ - "sponsorship/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-sponsorship-created"]; - }; + "sponsorship/cancelled": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-cancelled"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A monthly sponsor changed who can see their sponsorship. If you recognize your sponsors publicly, you may want to update your sponsor recognition to reflect the change when this event occurs. - */ - "sponsorship/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-sponsorship-edited"]; - }; + "sponsorship/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A sponsor scheduled a cancellation for their sponsorship. The cancellation will become effective on their next billing date. - * - * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. - */ - "sponsorship/pending-cancellation": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-sponsorship-pending-cancellation"]; - }; + "sponsorship/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A sponsor scheduled a downgrade to a lower sponsorship tier. The new tier will become effective on their next billing date. - */ - "sponsorship/pending-tier-change": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-sponsorship-pending-tier-change"]; - }; + "sponsorship/pending-cancellation": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-pending-cancellation"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). - * - * You can only create a sponsorship webhook on GitHub.com. For more information, see "[Configuring webhooks for events in your sponsored account](https://docs.github.com/sponsors/integrating-with-github-sponsors/configuring-webhooks-for-events-in-your-sponsored-account)." - * @description A sponsor changed the tier of their sponsorship and the change has taken effect. If a sponsor upgraded their tier, the change took effect immediately. If a sponsor downgraded their tier, the change took effect at the beginning of the sponsor's next billing cycle. - */ - "sponsorship/tier-changed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-sponsorship-tier-changed"]; - }; + "sponsorship/pending-tier-change": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-pending-tier-change"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repository stars. For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection) or "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description Someone starred a repository. - */ - "star/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-star-created"]; - }; + "sponsorship/tier-changed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-sponsorship-tier-changed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to repository stars. For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection) or "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description Someone unstarred the repository. - */ - "star/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-star-deleted"]; - }; + "star/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-star-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when the status of a Git commit changes. For example, commits can be marked as `error`, `failure`, `pending`, or `success`. For more information, see "[About status checks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)." For information about the APIs to manage commit statuses, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#status) or "[Commit statuses](https://docs.github.com/rest/commits/statuses)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Commit statuses" repository permission. - */ - status: { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-status"]; - }; + "star/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-star-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when a team is added to a repository. - * For more information, see "[Managing teams and people with access to your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)." - * - * For activity relating to teams, see the `teams` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - */ - "team-add": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-team-add"]; - }; + status: { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-status"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to teams in an organization. - * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A team was granted access to a repository. - */ - "team/added-to-repository": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-team-added-to-repository"]; - }; + "team-add": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-add"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to teams in an organization. - * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A team was created. - */ - "team/created": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-team-created"]; - }; + "team/added-to-repository": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-added-to-repository"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to teams in an organization. - * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A team was deleted. - */ - "team/deleted": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-team-deleted"]; - }; + "team/created": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-created"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to teams in an organization. - * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description The name, description, or visibility of a team was changed. - */ - "team/edited": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-team-edited"]; - }; + "team/deleted": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-deleted"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to teams in an organization. - * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. - * @description A team's access to a repository was removed. - */ - "team/removed-from-repository": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-team-removed-from-repository"]; - }; + "team/edited": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-edited"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to watching, or subscribing to, a repository. For more information about watching, see "[Managing your subscriptions](https://docs.github.com/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions)." For information about the APIs to manage watching, see "[Watching](https://docs.github.com/rest/activity/watching)" in the REST API documentation. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. - * @description Someone started watching the repository. - */ - "watch/started": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-watch-started"]; - }; + "team/removed-from-repository": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-team-removed-from-repository"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when a GitHub Actions workflow is manually triggered. For more information, see "[Manually running a workflow](https://docs.github.com/actions/managing-workflow-runs/manually-running-a-workflow)." - * - * For activity relating to workflow runs, use the `workflow_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. - */ - "workflow-dispatch": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-workflow-dispatch"]; - }; + "watch/started": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-watch-started"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. - * - * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A job in a workflow run finished. This event occurs when a job in a workflow is completed, regardless of whether the job was successful or unsuccessful. - */ - "workflow-job/completed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-workflow-job-completed"]; - }; + "workflow-dispatch": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-dispatch"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. - * - * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A job in a workflow run started processing on a runner. - */ - "workflow-job/in-progress": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-workflow-job-in-progress"]; - }; + "workflow-job/completed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-job-completed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. - * - * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A job in a workflow run was created. - */ - "workflow-job/queued": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-workflow-job-queued"]; - }; + "workflow-job/in-progress": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-job-in-progress"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. - * - * For activity relating to a workflow run instead of a job in a workflow run, use the `workflow_run` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A job in a workflow run was created and is waiting for approvals. - */ - "workflow-job/waiting": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-workflow-job-waiting"]; - }; + "workflow-job/queued": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-job-queued"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. - * - * For activity relating to a job in a workflow run, use the `workflow_job` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A workflow run finished. This event occurs when a workflow run is completed, regardless of whether the workflow was successful or unsuccessful. - */ - "workflow-run/completed": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-workflow-run-completed"]; - }; + "workflow-job/waiting": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-job-waiting"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. - * - * For activity relating to a job in a workflow run, use the `workflow_job` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A workflow run started processing on a runner. - */ - "workflow-run/in-progress": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-workflow-run-in-progress"]; - }; + "workflow-run/completed": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-run-completed"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; - }; - }; - /** - * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. - * - * For activity relating to a job in a workflow run, use the `workflow_job` event. - * - * To subscribe to this event, a GitHub App must have at least read-level access for the "Actions" repository permission. - * @description A workflow run was triggered. - */ - "workflow-run/requested": { - parameters: { - header?: { - /** @example GitHub-Hookshot/123abc */ - "User-Agent"?: string; - /** @example 12312312 */ - "X-Github-Hook-Id"?: string; - /** @example issues */ - "X-Github-Event"?: string; - /** @example 123123 */ - "X-Github-Hook-Installation-Target-Id"?: string; - /** @example repository */ - "X-Github-Hook-Installation-Target-Type"?: string; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - "X-GitHub-Delivery"?: string; - /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - "X-Hub-Signature-256"?: string; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["webhook-workflow-run-requested"]; - }; + "workflow-run/in-progress": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-run-in-progress"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Return a 200 status to indicate that the data was received successfully */ - 200: { - content: never; - }; + "workflow-run/requested": { + parameters: { + query?: never; + header?: { + /** @example GitHub-Hookshot/123abc */ + "User-Agent"?: string; + /** @example 12312312 */ + "X-Github-Hook-Id"?: string; + /** @example issues */ + "X-Github-Event"?: string; + /** @example 123123 */ + "X-Github-Hook-Installation-Target-Id"?: string; + /** @example repository */ + "X-Github-Hook-Installation-Target-Type"?: string; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + "X-GitHub-Delivery"?: string; + /** @example sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e */ + "X-Hub-Signature-256"?: string; + }; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["webhook-workflow-run-requested"]; + }; + }; + responses: { + /** @description Return a 200 status to indicate that the data was received successfully */ + 200: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - }; } diff --git a/packages/openapi-typescript/examples/github-api-next.yaml b/packages/openapi-typescript/examples/github-api-next.yaml index e62e6d6e9..17bffc2ef 100644 --- a/packages/openapi-typescript/examples/github-api-next.yaml +++ b/packages/openapi-typescript/examples/github-api-next.yaml @@ -10654,6 +10654,79 @@ paths: "$ref": "#/components/responses/not_found" '500': "$ref": "#/components/responses/internal_error" + "/orgs/{org}/rulesets/rule-suites": + get: + summary: List organization rule suites + description: |- + Lists suites of rule evaluations at the organization level. + For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + tags: + - repos + operationId: repos/get-org-rule-suites + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/repository-name-in-query" + - "$ref": "#/components/parameters/time-period" + - "$ref": "#/components/parameters/actor-name-in-query" + - "$ref": "#/components/parameters/rule-suite-result" + - "$ref": "#/components/parameters/per-page" + - "$ref": "#/components/parameters/page" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/rule-suites" + examples: + default: + "$ref": "#/components/examples/rule-suite-items" + '404': + "$ref": "#/components/responses/not_found" + '500': + "$ref": "#/components/responses/internal_error" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: orgs + subcategory: rule-suites + "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": + get: + summary: Get an organization rule suite + description: |- + Gets information about a suite of rule evaluations from within an organization. + For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + tags: + - repos + operationId: repos/get-org-rule-suite + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/orgs/rule-suites#get-an-organization-rule-suite + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/rule-suite-id" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/rule-suite" + examples: + default: + "$ref": "#/components/examples/rule-suite" + '404': + "$ref": "#/components/responses/not_found" + '500': + "$ref": "#/components/responses/internal_error" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: orgs + subcategory: rule-suites "/orgs/{org}/rulesets/{ruleset_id}": get: summary: Get an organization repository ruleset @@ -19759,9 +19832,9 @@ paths: patch: summary: Update a check run description: |- - **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + + **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. tags: - checks operationId: checks/update @@ -20263,9 +20336,9 @@ paths: get: summary: List check runs in a check suite description: |- - **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. + + **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. tags: - checks operationId: checks/list-for-suite @@ -21018,7 +21091,7 @@ paths: default: "$ref": "#/components/examples/code-scanning-default-setup-update-response" '403': - "$ref": "#/components/responses/code_scanning_forbidden_read" + "$ref": "#/components/responses/code_scanning_forbidden_write" '404': "$ref": "#/components/responses/not_found" '409': @@ -21621,6 +21694,71 @@ paths: enabledForGitHubApps: true category: codespaces subcategory: codespaces + "/repos/{owner}/{repo}/codespaces/permissions_check": + get: + summary: Check if permissions defined by a devcontainer have been accepted by + the authenticated user + description: |- + Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. + + You must authenticate using an access token with the `codespace` scope to use this endpoint. + + GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + tags: + - codespaces + operationId: codespaces/check-permissions-for-devcontainer + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/codespaces/codespaces#check-if-permissions-defined-by-a-devcontainer-have-been-accepted-by-the-authenticated-user + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - name: ref + description: The git reference that points to the location of the devcontainer + configuration to use for the permission check. The value of `ref` will typically + be a branch name (`heads/BRANCH_NAME`). For more information, see "[Git + References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" + in the Git documentation. + in: query + required: true + schema: + type: string + examples: + - master + - name: devcontainer_path + description: Path to the devcontainer.json configuration to use for the permission + check. + in: query + required: true + schema: + type: string + examples: + - ".devcontainer/example/devcontainer.json" + responses: + '200': + description: Response when the permission check is successful + content: + application/json: + schema: + "$ref": "#/components/schemas/codespaces-permissions-check-for-devcontainer" + examples: + default: + "$ref": "#/components/examples/codespaces-permissions-check-for-devcontainer" + '401': + "$ref": "#/components/responses/requires_authentication" + '403': + "$ref": "#/components/responses/forbidden" + '404': + "$ref": "#/components/responses/not_found" + '422': + "$ref": "#/components/responses/validation_failed" + '503': + "$ref": "#/components/responses/service_unavailable" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: codespaces + subcategory: codespaces "/repos/{owner}/{repo}/codespaces/secrets": get: summary: List repository secrets @@ -22733,9 +22871,11 @@ paths: get: summary: List check runs for a Git reference description: |- - **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. + + **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + + If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. tags: - checks operationId: checks/list-for-ref @@ -22798,9 +22938,9 @@ paths: get: summary: List check suites for a Git reference description: |- - **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. + + **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. tags: - checks operationId: checks/list-suites-for-ref @@ -24775,7 +24915,7 @@ paths: content: application/json: schema: - "$ref": "#/components/schemas/deployment-branch-policy-name-pattern" + "$ref": "#/components/schemas/deployment-branch-policy-name-pattern-with-type" examples: example-wildcard: summary: Example of a wildcard name pattern @@ -33592,6 +33732,81 @@ paths: "$ref": "#/components/responses/not_found" '500': "$ref": "#/components/responses/internal_error" + "/repos/{owner}/{repo}/rulesets/rule-suites": + get: + summary: List repository rule suites + description: |- + Lists suites of rule evaluations at the repository level. + For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + tags: + - repos + operationId: repos/get-repo-rule-suites + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/ref-in-query" + - "$ref": "#/components/parameters/time-period" + - "$ref": "#/components/parameters/actor-name-in-query" + - "$ref": "#/components/parameters/rule-suite-result" + - "$ref": "#/components/parameters/per-page" + - "$ref": "#/components/parameters/page" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/rule-suites" + examples: + default: + "$ref": "#/components/examples/rule-suite-items" + '404': + "$ref": "#/components/responses/not_found" + '500': + "$ref": "#/components/responses/internal_error" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: repos + subcategory: rule-suites + "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": + get: + summary: Get a repository rule suite + description: |- + Gets information about a suite of rule evaluations from within a repository. + For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + tags: + - repos + operationId: repos/get-repo-rule-suite + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/repos/rule-suites#get-a-repository-rule-suite + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/rule-suite-id" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/rule-suite" + examples: + default: + "$ref": "#/components/examples/rule-suite" + '404': + "$ref": "#/components/responses/not_found" + '500': + "$ref": "#/components/responses/internal_error" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: repos + subcategory: rule-suites "/repos/{owner}/{repo}/rulesets/{ruleset_id}": get: summary: Get a repository ruleset @@ -67145,6 +67360,14 @@ components: - block - unconfigured - unknown + copilot_chat: + type: string + description: The organization policy for allowing or disallowing organization + members to use Copilot Chat within their editor. + enum: + - enabled + - disabled + - unconfigured seat_management_setting: type: string description: The mode of assigning new seats. @@ -67453,7 +67676,7 @@ components: type: object description: The assignee that has been granted access to GitHub Copilot. additionalProperties: true - enum: + oneOf: - "$ref": "#/components/schemas/simple-user" - "$ref": "#/components/schemas/team" - "$ref": "#/components/schemas/organization" @@ -68853,6 +69076,149 @@ components: updated_at: type: string format: date-time + rule-suites: + title: Rule Suites + description: Response + type: array + items: + type: object + properties: + id: + type: integer + description: The unique identifier of the rule insight. + actor_id: + type: integer + description: The number that identifies the user. + actor_name: + type: string + description: The handle for the GitHub user account. + before_sha: + type: string + description: The first commit sha before the push evaluation. + after_sha: + type: string + description: The last commit sha in the push evaluation. + ref: + type: string + description: The ref name that the evaluation ran on. + repository_id: + type: integer + description: The ID of the repository associated with the rule evaluation. + repository_name: + type: string + description: The name of the repository without the `.git` extension. + pushed_at: + type: string + format: date-time + examples: + - '2011-01-26T19:06:43Z' + result: + type: string + enum: + - pass + - fail + - bypass + description: The result of the rule evaluations for rules with the `active` + enforcement status. + evaluation_result: + type: string + enum: + - pass + - fail + description: The result of the rule evaluations for rules with the `active` + and `evaluate` enforcement statuses, demonstrating whether rules would + pass or fail if all rules in the rule suite were `active`. + rule-suite: + title: Rule Suite + description: Response + type: object + properties: + id: + type: integer + description: The unique identifier of the rule insight. + actor_id: + type: integer + description: The number that identifies the user. + actor_name: + type: string + description: The handle for the GitHub user account. + before_sha: + type: string + description: The first commit sha before the push evaluation. + after_sha: + type: string + description: The last commit sha in the push evaluation. + ref: + type: string + description: The ref name that the evaluation ran on. + repository_id: + type: integer + description: The ID of the repository associated with the rule evaluation. + repository_name: + type: string + description: The name of the repository without the `.git` extension. + pushed_at: + type: string + format: date-time + examples: + - '2011-01-26T19:06:43Z' + result: + type: string + enum: + - pass + - fail + - bypass + description: The result of the rule evaluations for rules with the `active` + enforcement status. + evaluation_result: + type: string + enum: + - pass + - fail + description: The result of the rule evaluations for rules with the `active` + and `evaluate` enforcement statuses, demonstrating whether rules would + pass or fail if all rules in the rule suite were `active`. + rule_evaluations: + type: array + description: Details on the evaluated rules. + items: + type: object + properties: + rule_source: + type: object + properties: + type: + type: string + description: The type of rule source. + id: + type: + - integer + - 'null' + description: The ID of the rule source. + name: + type: + - string + - 'null' + description: The name of the rule source. + enforcement: + type: string + enum: + - active + - evaluate + - deleted ruleset + description: The enforcement level of this rule source. + result: + type: string + enum: + - pass + - fail + description: The result of the evaluation of the individual rule. + rule_type: + type: string + description: The type of rule. + details: + type: string + description: Any associated details with the rule evaluation. repository-advisory-vulnerability: description: A product affected by the vulnerability detailed in a repository security advisory. @@ -74510,6 +74876,19 @@ components: - path required: - errors + codespaces-permissions-check-for-devcontainer: + title: Codespaces Permissions Check + description: Permission check result for a given devcontainer config. + type: object + properties: + accepted: + description: Whether the user has accepted the permissions defined by the + devcontainer config + type: boolean + examples: + - true + required: + - accepted repo-codespaces-secret: title: Codespaces Secret description: Set repository secrets for GitHub Codespaces. @@ -76866,6 +77245,21 @@ components: type: string examples: - release/* + deployment-branch-policy-name-pattern-with-type: + title: Deployment branch policy name pattern + type: object + properties: + name: + description: |- + The name pattern that branches must match in order to deploy to the environment. + + Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`. + For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + type: string + examples: + - release/* + required: + - name deployment-branch-policy-name-pattern: title: Deployment branch policy name pattern type: object @@ -113447,6 +113841,9 @@ components: git_url: type: string format: uri + has_discussions: + description: Whether the repository has discussions enabled. + type: boolean has_downloads: description: Whether downloads are enabled. type: boolean @@ -113716,6 +114113,9 @@ components: type: integer watchers_count: type: integer + web_commit_signoff_required: + description: Whether to require commit signoff. + type: boolean required: - id - node_id @@ -214818,6 +215218,63 @@ components: href: https://github.com/organizations/my-org/settings/rules/21 created_at: '2023-08-15T08:43:03Z' updated_at: '2023-09-23T16:29:47Z' + rule-suite-items: + value: + - id: 21 + actor_id: 12 + username: octocat + before_sha: 893f768e172fb1bc9c5d6f3dd48557e45f14e01d + after_sha: dedd88641a362b6b4ea872da4847d6131a164d01 + ref: refs/heads/i-see-everything + repository_id: 404 + repository_name: octo-repo + pushed_at: '2023-07-06T08:43:03Z' + result: bypass + - id: 25 + actor_id: 11 + username: not-octocat + before_sha: 48994e4e01ccc943624c6231f172702b82b233cc + after_sha: ecfd5a1025fa271a33ca5608d089476a2df3c9a1 + ref: refs/heads/i-am-everything + repository_id: 404 + repository_name: octo-repo + pushed_at: '2023-07-07T08:43:03Z' + result: pass + evaluation_result: fail + rule-suite: + value: + id: 21 + actor_id: 12 + username: octocat + before_sha: 893f768e172fb1bc9c5d6f3dd48557e45f14e01d + after_sha: dedd88641a362b6b4ea872da4847d6131a164d01 + ref: refs/heads/i-see-everything + repository_id: 404 + repository_name: octo-repo + pushed_at: '2023-07-06T08:43:03Z' + result: bypass + evaluation_result: fail + rule_evaluations: + - rule_source: + type: ruleset + id: 2 + name: Author email must be a GitHub email address + enforcement: active + result: pass + rule_type: commit_author_email_pattern + - rule_source: + type: protected_branch + enforcement: active + result: fail + rule_type: pull_request + details: Changes must be made through a pull request. + - rule_source: + type: ruleset + id: 3 + name: Evaluate commit message pattern + enforcement: evaluate + result: fail + rule_type: commit_message_pattern list-repository-advisories: value: - ghsa_id: GHSA-abcd-1234-efgh @@ -220253,6 +220710,9 @@ components: defaults: location: EastUs devcontainer_path: ".devcontainer/devcontainer.json" + codespaces-permissions-check-for-devcontainer: + value: + accepted: true collaborator-items: value: - login: octocat @@ -233795,6 +234255,60 @@ components: required: true schema: type: integer + repository-name-in-query: + name: repository_name + description: The name of the repository to filter on. When specified, only rule + evaluations from this repository will be returned. + in: query + schema: + type: integer + time-period: + name: time_period + description: |- + The time period to filter by. + + For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for insights that occurred in the past 7 days (168 hours). + in: query + required: false + schema: + type: string + enum: + - hour + - day + - week + - month + default: day + actor-name-in-query: + name: actor_name + description: The handle for the GitHub user account to filter on. When specified, + only rule evaluations triggered by this actor will be returned. + in: query + schema: + type: string + rule-suite-result: + name: rule_suite_result + description: The rule results to filter on. When specified, only suites with + this result will be returned. + in: query + schema: + type: string + enum: + - pass + - fail + - bypass + - all + default: all + rule-suite-id: + name: rule_suite_id + description: |- + The unique identifier of the rule suite result. + To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + for organizations. + in: path + required: true + schema: + type: integer secret-scanning-pagination-before-org-repo: name: before description: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). @@ -234256,6 +234770,14 @@ components: required: true schema: type: integer + ref-in-query: + name: ref + description: The name of the ref. Cannot contain wildcard characters. When specified, + only rule evaluations triggered for this ref will be returned. + in: query + schema: + type: string + x-multi-segment: true tag-protection-id: name: tag_protection_id description: The unique identifier of the tag protection. diff --git a/packages/openapi-typescript/examples/github-api.ts b/packages/openapi-typescript/examples/github-api.ts index 1f9b2be29..53a9c3b23 100644 --- a/packages/openapi-typescript/examples/github-api.ts +++ b/packages/openapi-typescript/examples/github-api.ts @@ -3,111544 +3,121601 @@ * Do not make direct changes to the file. */ - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - export interface paths { - "/": { - /** - * GitHub API Root - * @description Get Hypermedia links to resources accessible in GitHub's REST API - */ - get: operations["meta/root"]; - }; - "/advisories": { - /** - * List global security advisories - * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. - * - * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." - */ - get: operations["security-advisories/list-global-advisories"]; - }; - "/advisories/{ghsa_id}": { - /** - * Get a global security advisory - * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. - */ - get: operations["security-advisories/get-global-advisory"]; - }; - "/app": { - /** - * Get the authenticated app - * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-authenticated"]; - }; - "/app-manifests/{code}/conversions": { - /** - * Create a GitHub App from a manifest - * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. - */ - post: operations["apps/create-from-manifest"]; - }; - "/app/hook/config": { - /** - * Get a webhook configuration for an app - * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-webhook-config-for-app"]; - /** - * Update a webhook configuration for an app - * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - patch: operations["apps/update-webhook-config-for-app"]; - }; - "/app/hook/deliveries": { - /** - * List deliveries for an app webhook - * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/list-webhook-deliveries"]; - }; - "/app/hook/deliveries/{delivery_id}": { - /** - * Get a delivery for an app webhook - * @description Returns a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-webhook-delivery"]; - }; - "/app/hook/deliveries/{delivery_id}/attempts": { - /** - * Redeliver a delivery for an app webhook - * @description Redeliver a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - post: operations["apps/redeliver-webhook-delivery"]; - }; - "/app/installation-requests": { - /** - * List installation requests for the authenticated app - * @description Lists all the pending installation requests for the authenticated GitHub App. - */ - get: operations["apps/list-installation-requests-for-authenticated-app"]; - }; - "/app/installations": { - /** - * List installations for the authenticated app - * @description You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - * - * The permissions the installation has are included under the `permissions` key. - */ - get: operations["apps/list-installations"]; - }; - "/app/installations/{installation_id}": { - /** - * Get an installation for the authenticated app - * @description Enables an authenticated GitHub App to find an installation's information using the installation id. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-installation"]; - /** - * Delete an installation for the authenticated app - * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - delete: operations["apps/delete-installation"]; - }; - "/app/installations/{installation_id}/access_tokens": { - /** - * Create an installation access token for an app - * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - post: operations["apps/create-installation-access-token"]; - }; - "/app/installations/{installation_id}/suspended": { - /** - * Suspend an app installation - * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - put: operations["apps/suspend-installation"]; - /** - * Unsuspend an app installation - * @description Removes a GitHub App installation suspension. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - delete: operations["apps/unsuspend-installation"]; - }; - "/applications/{client_id}/grant": { - /** - * Delete an app authorization - * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. - * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). - */ - delete: operations["apps/delete-authorization"]; - }; - "/applications/{client_id}/token": { - /** - * Check a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. - */ - post: operations["apps/check-token"]; - /** - * Delete an app token - * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. - */ - delete: operations["apps/delete-token"]; - /** - * Reset a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - patch: operations["apps/reset-token"]; - }; - "/applications/{client_id}/token/scoped": { - /** - * Create a scoped access token - * @description Use a non-scoped user access token to create a repository scoped and/or permission scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - post: operations["apps/scope-token"]; - }; - "/apps/{app_slug}": { - /** - * Get an app - * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). - * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - get: operations["apps/get-by-slug"]; - }; - "/assignments/{assignment_id}": { - /** - * Get an assignment - * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/get-an-assignment"]; - }; - "/assignments/{assignment_id}/accepted_assignments": { - /** - * List accepted assignments for an assignment - * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/list-accepted-assigments-for-an-assignment"]; - }; - "/assignments/{assignment_id}/grades": { - /** - * Get assignment grades - * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - get: operations["classroom/get-assignment-grades"]; - }; - "/classrooms": { - /** - * List classrooms - * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. - */ - get: operations["classroom/list-classrooms"]; - }; - "/classrooms/{classroom_id}": { - /** - * Get a classroom - * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. - */ - get: operations["classroom/get-a-classroom"]; - }; - "/classrooms/{classroom_id}/assignments": { - /** - * List assignments for a classroom - * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. - */ - get: operations["classroom/list-assignments-for-a-classroom"]; - }; - "/codes_of_conduct": { - /** - * Get all codes of conduct - * @description Returns array of all GitHub's codes of conduct. - */ - get: operations["codes-of-conduct/get-all-codes-of-conduct"]; - }; - "/codes_of_conduct/{key}": { - /** - * Get a code of conduct - * @description Returns information about the specified GitHub code of conduct. - */ - get: operations["codes-of-conduct/get-conduct-code"]; - }; - "/emojis": { - /** - * Get emojis - * @description Lists all the emojis available to use on GitHub. - */ - get: operations["emojis/get"]; - }; - "/enterprises/{enterprise}/dependabot/alerts": { - /** - * List Dependabot alerts for an enterprise - * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. - * To use this endpoint, you must be a member of the enterprise, and you must use an - * access token with the `repo` scope or `security_events` scope. - * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - get: operations["dependabot/list-alerts-for-enterprise"]; - }; - "/enterprises/{enterprise}/secret-scanning/alerts": { - /** - * List secret scanning alerts for an enterprise - * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). - */ - get: operations["secret-scanning/list-alerts-for-enterprise"]; - }; - "/events": { - /** - * List public events - * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. - */ - get: operations["activity/list-public-events"]; - }; - "/feeds": { - /** - * Get feeds - * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: - * - * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) - * * **Current user public**: The public timeline for the authenticated user - * * **Current user**: The private timeline for the authenticated user - * * **Current user actor**: The private timeline for activity created by the authenticated user - * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. - * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. - * - * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. - */ - get: operations["activity/get-feeds"]; - }; - "/gists": { - /** - * List gists for the authenticated user - * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: - */ - get: operations["gists/list"]; - /** - * Create a gist - * @description Allows you to add a new gist with one or more files. - * - * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. - */ - post: operations["gists/create"]; - }; - "/gists/public": { - /** - * List public gists - * @description List public gists sorted by most recently updated to least recently updated. - * - * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. - */ - get: operations["gists/list-public"]; - }; - "/gists/starred": { - /** - * List starred gists - * @description List the authenticated user's starred gists: - */ - get: operations["gists/list-starred"]; - }; - "/gists/{gist_id}": { - /** Get a gist */ - get: operations["gists/get"]; - /** Delete a gist */ - delete: operations["gists/delete"]; - /** - * Update a gist - * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. - * At least one of `description` or `files` is required. - */ - patch: operations["gists/update"]; - }; - "/gists/{gist_id}/comments": { - /** List gist comments */ - get: operations["gists/list-comments"]; - /** Create a gist comment */ - post: operations["gists/create-comment"]; - }; - "/gists/{gist_id}/comments/{comment_id}": { - /** Get a gist comment */ - get: operations["gists/get-comment"]; - /** Delete a gist comment */ - delete: operations["gists/delete-comment"]; - /** Update a gist comment */ - patch: operations["gists/update-comment"]; - }; - "/gists/{gist_id}/commits": { - /** List gist commits */ - get: operations["gists/list-commits"]; - }; - "/gists/{gist_id}/forks": { - /** List gist forks */ - get: operations["gists/list-forks"]; - /** Fork a gist */ - post: operations["gists/fork"]; - }; - "/gists/{gist_id}/star": { - /** Check if a gist is starred */ - get: operations["gists/check-is-starred"]; - /** - * Star a gist - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["gists/star"]; - /** Unstar a gist */ - delete: operations["gists/unstar"]; - }; - "/gists/{gist_id}/{sha}": { - /** Get a gist revision */ - get: operations["gists/get-revision"]; - }; - "/gitignore/templates": { - /** - * Get all gitignore templates - * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). - */ - get: operations["gitignore/get-all-templates"]; - }; - "/gitignore/templates/{name}": { - /** - * Get a gitignore template - * @description The API also allows fetching the source of a single template. - * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. - */ - get: operations["gitignore/get-template"]; - }; - "/installation/repositories": { - /** - * List repositories accessible to the app installation - * @description List repositories that an app installation can access. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - get: operations["apps/list-repos-accessible-to-installation"]; - }; - "/installation/token": { - /** - * Revoke an installation access token - * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. - * - * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - delete: operations["apps/revoke-installation-access-token"]; - }; - "/issues": { - /** - * List issues assigned to the authenticated user - * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member - * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not - * necessarily assigned to you. - * - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list"]; - }; - "/licenses": { - /** - * Get all commonly used licenses - * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - get: operations["licenses/get-all-commonly-used"]; - }; - "/licenses/{license}": { - /** - * Get a license - * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - get: operations["licenses/get"]; - }; - "/markdown": { - /** Render a Markdown document */ - post: operations["markdown/render"]; - }; - "/markdown/raw": { - /** - * Render a Markdown document in raw mode - * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. - */ - post: operations["markdown/render-raw"]; - }; - "/marketplace_listing/accounts/{account_id}": { - /** - * Get a subscription plan for an account - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/get-subscription-plan-for-account"]; - }; - "/marketplace_listing/plans": { - /** - * List plans - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-plans"]; - }; - "/marketplace_listing/plans/{plan_id}/accounts": { - /** - * List accounts for a plan - * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-accounts-for-plan"]; - }; - "/marketplace_listing/stubbed/accounts/{account_id}": { - /** - * Get a subscription plan for an account (stubbed) - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/get-subscription-plan-for-account-stubbed"]; - }; - "/marketplace_listing/stubbed/plans": { - /** - * List plans (stubbed) - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-plans-stubbed"]; - }; - "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { - /** - * List accounts for a plan (stubbed) - * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - get: operations["apps/list-accounts-for-plan-stubbed"]; - }; - "/meta": { - /** - * Get GitHub meta information - * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." - * - * The API's response also includes a list of GitHub's domain names. - * - * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. - * - * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. - */ - get: operations["meta/get"]; - }; - "/networks/{owner}/{repo}/events": { - /** List public events for a network of repositories */ - get: operations["activity/list-public-events-for-repo-network"]; - }; - "/notifications": { - /** - * List notifications for the authenticated user - * @description List all notifications for the current user, sorted by most recently updated. - */ - get: operations["activity/list-notifications-for-authenticated-user"]; - /** - * Mark notifications as read - * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - put: operations["activity/mark-notifications-as-read"]; - }; - "/notifications/threads/{thread_id}": { - /** - * Get a thread - * @description Gets information about a notification thread. - */ - get: operations["activity/get-thread"]; - /** - * Mark a thread as read - * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. - */ - patch: operations["activity/mark-thread-as-read"]; - }; - "/notifications/threads/{thread_id}/subscription": { - /** - * Get a thread subscription for the authenticated user - * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). - * - * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. - */ - get: operations["activity/get-thread-subscription-for-authenticated-user"]; - /** - * Set a thread subscription - * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. - * - * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. - * - * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. - */ - put: operations["activity/set-thread-subscription"]; - /** - * Delete a thread subscription - * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. - */ - delete: operations["activity/delete-thread-subscription"]; - }; - "/octocat": { - /** - * Get Octocat - * @description Get the octocat as ASCII art - */ - get: operations["meta/get-octocat"]; - }; - "/organizations": { - /** - * List organizations - * @description Lists all organizations, in the order that they were created on GitHub. - * - * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. - */ - get: operations["orgs/list"]; - }; - "/orgs/{org}": { - /** - * Get an organization - * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." - */ - get: operations["orgs/get"]; - /** - * Delete an organization - * @description Deletes an organization and all its repositories. - * - * The organization login will be unavailable for 90 days after deletion. - * - * Please review the Terms of Service regarding account deletion before using this endpoint: - * - * https://docs.github.com/site-policy/github-terms/github-terms-of-service - */ - delete: operations["orgs/delete"]; - /** - * Update an organization - * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - * - * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. - */ - patch: operations["orgs/update"]; - }; - "/orgs/{org}/actions/cache/usage": { - /** - * Get GitHub Actions cache usage for an organization - * @description Gets the total GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage-for-org"]; - }; - "/orgs/{org}/actions/cache/usage-by-repository": { - /** - * List repositories with GitHub Actions cache usage for an organization - * @description Lists repositories and their GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; - }; - "/orgs/{org}/actions/oidc/customization/sub": { - /** - * Get the customization template for an OIDC subject claim for an organization - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - */ - get: operations["oidc/get-oidc-custom-sub-template-for-org"]; - /** - * Set the customization template for an OIDC subject claim for an organization - * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `write:org` scope to use this endpoint. - * GitHub Apps must have the `admin:org` permission to use this endpoint. - */ - put: operations["oidc/update-oidc-custom-sub-template-for-org"]; - }; - "/orgs/{org}/actions/permissions": { - /** - * Get GitHub Actions permissions for an organization - * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/get-github-actions-permissions-organization"]; - /** - * Set GitHub Actions permissions for an organization - * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-github-actions-permissions-organization"]; - }; - "/orgs/{org}/actions/permissions/repositories": { - /** - * List selected repositories enabled for GitHub Actions in an organization - * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; - /** - * Set selected repositories enabled for GitHub Actions in an organization - * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; - }; - "/orgs/{org}/actions/permissions/repositories/{repository_id}": { - /** - * Enable a selected repository for GitHub Actions in an organization - * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/enable-selected-repository-github-actions-organization"]; - /** - * Disable a selected repository for GitHub Actions in an organization - * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - delete: operations["actions/disable-selected-repository-github-actions-organization"]; - }; - "/orgs/{org}/actions/permissions/selected-actions": { - /** - * Get allowed actions and reusable workflows for an organization - * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/get-allowed-actions-organization"]; - /** - * Set allowed actions and reusable workflows for an organization - * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-allowed-actions-organization"]; - }; - "/orgs/{org}/actions/permissions/workflow": { - /** - * Get default workflow permissions for an organization - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, - * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; - /** - * Set default workflow permissions for an organization - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions - * can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; - }; - "/orgs/{org}/actions/runners": { - /** - * List self-hosted runners for an organization - * @description Lists all self-hosted runners configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-self-hosted-runners-for-org"]; - }; - "/orgs/{org}/actions/runners/downloads": { - /** - * List runner applications for an organization - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-runner-applications-for-org"]; - }; - "/orgs/{org}/actions/runners/generate-jitconfig": { - /** - * Create configuration for a just-in-time runner for an organization - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/generate-runner-jitconfig-for-org"]; - }; - "/orgs/{org}/actions/runners/registration-token": { - /** - * Create a registration token for an organization - * @description Returns a token that you can pass to the `config` script. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. - * - * ``` - * ./config.sh --url https://github.com/octo-org --token TOKEN - * ``` - */ - post: operations["actions/create-registration-token-for-org"]; - }; - "/orgs/{org}/actions/runners/remove-token": { - /** - * Create a remove token for an organization - * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this - * endpoint. - * - * ``` - * ./config.sh remove --token TOKEN - * ``` - */ - post: operations["actions/create-remove-token-for-org"]; - }; - "/orgs/{org}/actions/runners/{runner_id}": { - /** - * Get a self-hosted runner for an organization - * @description Gets a specific self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/get-self-hosted-runner-for-org"]; - /** - * Delete a self-hosted runner from an organization - * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/delete-self-hosted-runner-from-org"]; - }; - "/orgs/{org}/actions/runners/{runner_id}/labels": { - /** - * List labels for a self-hosted runner for an organization - * @description Lists all labels for a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; - /** - * Set custom labels for a self-hosted runner for an organization - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; - /** - * Add custom labels to a self-hosted runner for an organization - * @description Add custom labels to a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/add-custom-labels-to-self-hosted-runner-for-org"]; - /** - * Remove all custom labels from a self-hosted runner for an organization - * @description Remove all custom labels from a self-hosted runner configured in an - * organization. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; - }; - "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { - /** - * Remove a custom label from a self-hosted runner for an organization - * @description Remove a custom label from a self-hosted runner configured - * in an organization. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; - }; - "/orgs/{org}/actions/secrets": { - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-org-secrets"]; - }; - "/orgs/{org}/actions/secrets/public-key": { - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-org-public-key"]; - }; - "/orgs/{org}/actions/secrets/{secret_name}": { - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/create-or-update-org-secret"]; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/delete-org-secret"]; - }; - "/orgs/{org}/actions/secrets/{secret_name}/repositories": { - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` - * for repository access to a secret is set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-selected-repos-for-org-secret"]; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/set-selected-repos-for-org-secret"]; - }; - "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for - * repository access is set to `selected`. The visibility is set when you [Create or - * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/add-selected-repo-to-org-secret"]; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/remove-selected-repo-from-org-secret"]; - }; - "/orgs/{org}/actions/variables": { - /** - * List organization variables - * @description Lists all organization variables. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-org-variables"]; - /** - * Create an organization variable - * @description Creates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - post: operations["actions/create-org-variable"]; - }; - "/orgs/{org}/actions/variables/{name}": { - /** - * Get an organization variable - * @description Gets a specific variable in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/get-org-variable"]; - /** - * Delete an organization variable - * @description Deletes an organization variable using the variable name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/delete-org-variable"]; - /** - * Update an organization variable - * @description Updates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - patch: operations["actions/update-org-variable"]; - }; - "/orgs/{org}/actions/variables/{name}/repositories": { - /** - * List selected repositories for an organization variable - * @description Lists all repositories that can access an organization variable - * that is available to selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-selected-repos-for-org-variable"]; - /** - * Set selected repositories for an organization variable - * @description Replaces all repositories for an organization variable that is available - * to selected repositories. Organization variables that are available to selected - * repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this - * endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - put: operations["actions/set-selected-repos-for-org-variable"]; - }; - "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization variable - * @description Adds a repository to an organization variable that is available to selected repositories. - * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - put: operations["actions/add-selected-repo-to-org-variable"]; - /** - * Remove selected repository from an organization variable - * @description Removes a repository from an organization variable that is - * available to selected repositories. Organization variables that are available to - * selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/remove-selected-repo-from-org-variable"]; - }; - "/orgs/{org}/blocks": { - /** - * List users blocked by an organization - * @description List the users blocked by an organization. - */ - get: operations["orgs/list-blocked-users"]; - }; - "/orgs/{org}/blocks/{username}": { - /** - * Check if a user is blocked by an organization - * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. - */ - get: operations["orgs/check-blocked-user"]; - /** - * Block a user from an organization - * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. - */ - put: operations["orgs/block-user"]; - /** - * Unblock a user from an organization - * @description Unblocks the given user on behalf of the specified organization. - */ - delete: operations["orgs/unblock-user"]; - }; - "/orgs/{org}/code-scanning/alerts": { - /** - * List code scanning alerts for an organization - * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/list-alerts-for-org"]; - }; - "/orgs/{org}/codespaces": { - /** - * List codespaces for the organization - * @description Lists the codespaces associated to a specified organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-in-organization"]; - }; - "/orgs/{org}/codespaces/access": { - /** - * Manage access control for organization codespaces - * @deprecated - * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/set-codespaces-access"]; - }; - "/orgs/{org}/codespaces/access/selected_users": { - /** - * Add users to Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - post: operations["codespaces/set-codespaces-access-users"]; - /** - * Remove users from Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will no longer be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-codespaces-access-users"]; - }; - "/orgs/{org}/codespaces/secrets": { - /** - * List organization secrets - * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-org-secrets"]; - }; - "/orgs/{org}/codespaces/secrets/public-key": { - /** - * Get an organization public key - * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-org-public-key"]; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}": { - /** - * Get an organization secret - * @description Gets an organization secret without revealing its encrypted value. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/create-or-update-org-secret"]; - /** - * Delete an organization secret - * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-org-secret"]; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/list-selected-repos-for-org-secret"]; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/set-selected-repos-for-org-secret"]; - }; - "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - put: operations["codespaces/add-selected-repo-to-org-secret"]; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/remove-selected-repo-from-org-secret"]; - }; - "/orgs/{org}/copilot/billing": { - /** - * Get Copilot for Business seat information and settings for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets information about an organization's Copilot for Business subscription, including seat breakdown - * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. - * For more information, see "[Configuring GitHub Copilot settings in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - get: operations["copilot/get-copilot-organization-details"]; - }; - "/orgs/{org}/copilot/billing/seats": { - /** - * List all Copilot for Business seat assignments for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Lists all Copilot for Business seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - get: operations["copilot/list-copilot-seats"]; - }; - "/orgs/{org}/copilot/billing/selected_teams": { - /** - * Add teams to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for all users within each specified team. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - post: operations["copilot/add-copilot-for-business-seats-for-teams"]; - /** - * Remove teams from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for all members of each team specified. - * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; - }; - "/orgs/{org}/copilot/billing/selected_users": { - /** - * Add users to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for each user specified. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - post: operations["copilot/add-copilot-for-business-seats-for-users"]; - /** - * Remove users from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for each user specified. - * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)" - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; - }; - "/orgs/{org}/dependabot/alerts": { - /** - * List Dependabot alerts for an organization - * @description Lists Dependabot alerts for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - get: operations["dependabot/list-alerts-for-org"]; - }; - "/orgs/{org}/dependabot/secrets": { - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/list-org-secrets"]; - }; - "/orgs/{org}/dependabot/secrets/public-key": { - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/get-org-public-key"]; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}": { - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/get-org-secret"]; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization - * permission to use this endpoint. - */ - put: operations["dependabot/create-or-update-org-secret"]; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - delete: operations["dependabot/delete-org-secret"]; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - get: operations["dependabot/list-selected-repos-for-org-secret"]; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - put: operations["dependabot/set-selected-repos-for-org-secret"]; - }; - "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - put: operations["dependabot/add-selected-repo-to-org-secret"]; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - delete: operations["dependabot/remove-selected-repo-from-org-secret"]; - }; - "/orgs/{org}/docker/conflicts": { - /** - * Get list of conflicting packages during Docker migration for organization - * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; - }; - "/orgs/{org}/events": { - /** List public organization events */ - get: operations["activity/list-public-org-events"]; - }; - "/orgs/{org}/failed_invitations": { - /** - * List failed organization invitations - * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. - */ - get: operations["orgs/list-failed-invitations"]; - }; - "/orgs/{org}/hooks": { - /** List organization webhooks */ - get: operations["orgs/list-webhooks"]; - /** - * Create an organization webhook - * @description Here's how you can create a hook that posts payloads in JSON format: - */ - post: operations["orgs/create-webhook"]; - }; - "/orgs/{org}/hooks/{hook_id}": { - /** - * Get an organization webhook - * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." - */ - get: operations["orgs/get-webhook"]; - /** Delete an organization webhook */ - delete: operations["orgs/delete-webhook"]; - /** - * Update an organization webhook - * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." - */ - patch: operations["orgs/update-webhook"]; - }; - "/orgs/{org}/hooks/{hook_id}/config": { - /** - * Get a webhook configuration for an organization - * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. - */ - get: operations["orgs/get-webhook-config-for-org"]; - /** - * Update a webhook configuration for an organization - * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. - */ - patch: operations["orgs/update-webhook-config-for-org"]; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries": { - /** - * List deliveries for an organization webhook - * @description Returns a list of webhook deliveries for a webhook configured in an organization. - */ - get: operations["orgs/list-webhook-deliveries"]; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { - /** - * Get a webhook delivery for an organization webhook - * @description Returns a delivery for a webhook configured in an organization. - */ - get: operations["orgs/get-webhook-delivery"]; - }; - "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - /** - * Redeliver a delivery for an organization webhook - * @description Redeliver a delivery for a webhook configured in an organization. - */ - post: operations["orgs/redeliver-webhook-delivery"]; - }; - "/orgs/{org}/hooks/{hook_id}/pings": { - /** - * Ping an organization webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - post: operations["orgs/ping-webhook"]; - }; - "/orgs/{org}/installation": { - /** - * Get an organization installation for the authenticated app - * @description Enables an authenticated GitHub App to find the organization's installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-org-installation"]; - }; - "/orgs/{org}/installations": { - /** - * List app installations for an organization - * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. - */ - get: operations["orgs/list-app-installations"]; - }; - "/orgs/{org}/interaction-limits": { - /** - * Get interaction restrictions for an organization - * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. - */ - get: operations["interactions/get-restrictions-for-org"]; - /** - * Set interaction restrictions for an organization - * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. - */ - put: operations["interactions/set-restrictions-for-org"]; - /** - * Remove interaction restrictions for an organization - * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. - */ - delete: operations["interactions/remove-restrictions-for-org"]; - }; - "/orgs/{org}/invitations": { - /** - * List pending organization invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - get: operations["orgs/list-pending-invitations"]; - /** - * Create an organization invitation - * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["orgs/create-invitation"]; - }; - "/orgs/{org}/invitations/{invitation_id}": { - /** - * Cancel an organization invitation - * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - */ - delete: operations["orgs/cancel-invitation"]; - }; - "/orgs/{org}/invitations/{invitation_id}/teams": { - /** - * List organization invitation teams - * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. - */ - get: operations["orgs/list-invitation-teams"]; - }; - "/orgs/{org}/issues": { - /** - * List organization issues assigned to the authenticated user - * @description List issues in an organization assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list-for-org"]; - }; - "/orgs/{org}/members": { - /** - * List organization members - * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. - */ - get: operations["orgs/list-members"]; - }; - "/orgs/{org}/members/{username}": { - /** - * Check organization membership for a user - * @description Check if a user is, publicly or privately, a member of the organization. - */ - get: operations["orgs/check-membership-for-user"]; - /** - * Remove an organization member - * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. - */ - delete: operations["orgs/remove-member"]; - }; - "/orgs/{org}/members/{username}/codespaces": { - /** - * List codespaces for a user in organization - * @description Lists the codespaces that a member of an organization has for repositories in that organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - get: operations["codespaces/get-codespaces-for-user-in-org"]; - }; - "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { - /** - * Delete a codespace from the organization - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - delete: operations["codespaces/delete-from-organization"]; - }; - "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { - /** - * Stop a codespace for an organization user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - post: operations["codespaces/stop-in-organization"]; - }; - "/orgs/{org}/members/{username}/copilot": { - /** - * Get Copilot for Business seat assignment details for a user - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets the GitHub Copilot for Business seat assignment details for a member of an organization who currently has access to GitHub Copilot. - * - * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - get: operations["copilot/get-copilot-seat-assignment-details-for-user"]; - }; - "/orgs/{org}/memberships/{username}": { - /** - * Get organization membership for a user - * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. - */ - get: operations["orgs/get-membership-for-user"]; - /** - * Set organization membership for a user - * @description Only authenticated organization owners can add a member to the organization or update the member's role. - * - * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. - * - * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. - * - * **Rate limits** - * - * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. - */ - put: operations["orgs/set-membership-for-user"]; - /** - * Remove organization membership for a user - * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. - * - * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. - */ - delete: operations["orgs/remove-membership-for-user"]; - }; - "/orgs/{org}/migrations": { - /** - * List organization migrations - * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). - * - * A list of `repositories` is only returned for export migrations. - */ - get: operations["migrations/list-for-org"]; - /** - * Start an organization migration - * @description Initiates the generation of a migration archive. - */ - post: operations["migrations/start-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}": { - /** - * Get an organization migration status - * @description Fetches the status of a migration. - * - * The `state` of a migration can be one of the following values: - * - * * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ - get: operations["migrations/get-status-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}/archive": { - /** - * Download an organization migration archive - * @description Fetches the URL to a migration archive. - */ - get: operations["migrations/download-archive-for-org"]; - /** - * Delete an organization migration archive - * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. - */ - delete: operations["migrations/delete-archive-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { - /** - * Unlock an organization repository - * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. - */ - delete: operations["migrations/unlock-repo-for-org"]; - }; - "/orgs/{org}/migrations/{migration_id}/repositories": { - /** - * List repositories in an organization migration - * @description List all the repositories for this organization migration. - */ - get: operations["migrations/list-repos-for-org"]; - }; - "/orgs/{org}/outside_collaborators": { - /** - * List outside collaborators for an organization - * @description List all users who are outside collaborators of an organization. - */ - get: operations["orgs/list-outside-collaborators"]; - }; - "/orgs/{org}/outside_collaborators/{username}": { - /** - * Convert an organization member to outside collaborator - * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - */ - put: operations["orgs/convert-member-to-outside-collaborator"]; - /** - * Remove outside collaborator from an organization - * @description Removing a user from this list will remove them from all the organization's repositories. - */ - delete: operations["orgs/remove-outside-collaborator"]; - }; - "/orgs/{org}/packages": { - /** - * List packages for an organization - * @description Lists packages in an organization readable by the user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-organization"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}": { - /** - * Get a package for an organization - * @description Gets a specific package in an organization. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-organization"]; - /** - * Delete a package for an organization - * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-for-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/restore": { - /** - * Restore a package for an organization - * @description Restores an entire package in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-for-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions": { - /** - * List package versions for a package owned by an organization - * @description Lists package versions for a package owned by an organization. - * - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { - /** - * Get a package version for an organization - * @description Gets a specific package version in an organization. - * - * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-organization"]; - /** - * Delete package version for an organization - * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-org"]; - }; - "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - /** - * Restore package version for an organization - * @description Restores a specific package version in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-org"]; - }; - "/orgs/{org}/personal-access-token-requests": { - /** - * List requests to access organization resources with fine-grained personal access tokens - * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-requests"]; - /** - * Review requests to access organization resources with fine-grained personal access tokens - * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/review-pat-grant-requests-in-bulk"]; - }; - "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { - /** - * Review a request to access organization resources with a fine-grained personal access token - * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/review-pat-grant-request"]; - }; - "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { - /** - * List repositories requested to be accessed by a fine-grained personal access token - * @description Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-request-repositories"]; - }; - "/orgs/{org}/personal-access-tokens": { - /** - * List fine-grained personal access tokens with access to organization resources - * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grants"]; - /** - * Update the access to organization resources via fine-grained personal access tokens - * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/update-pat-accesses"]; - }; - "/orgs/{org}/personal-access-tokens/{pat_id}": { - /** - * Update the access a fine-grained personal access token has to organization resources - * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - post: operations["orgs/update-pat-access"]; - }; - "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { - /** - * List repositories a fine-grained personal access token has access to - * @description Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - get: operations["orgs/list-pat-grant-repositories"]; - }; - "/orgs/{org}/projects": { - /** - * List organization projects - * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - get: operations["projects/list-for-org"]; - /** - * Create an organization project - * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - post: operations["projects/create-for-org"]; - }; - "/orgs/{org}/public_members": { - /** - * List public organization members - * @description Members of an organization can choose to have their membership publicized or not. - */ - get: operations["orgs/list-public-members"]; - }; - "/orgs/{org}/public_members/{username}": { - /** - * Check public organization membership for a user - * @description Check if the provided user is a public member of the organization. - */ - get: operations["orgs/check-public-membership-for-user"]; - /** - * Set public organization membership for the authenticated user - * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["orgs/set-public-membership-for-authenticated-user"]; - /** - * Remove public organization membership for the authenticated user - * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. - */ - delete: operations["orgs/remove-public-membership-for-authenticated-user"]; - }; - "/orgs/{org}/repos": { - /** - * List organization repositories - * @description Lists repositories for the specified organization. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - get: operations["repos/list-for-org"]; - /** - * Create an organization repository - * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - post: operations["repos/create-in-org"]; - }; - "/orgs/{org}/rulesets": { - /** - * Get all organization repository rulesets - * @description Get all the repository rulesets for an organization. - */ - get: operations["repos/get-org-rulesets"]; - /** - * Create an organization repository ruleset - * @description Create a repository ruleset for an organization. - */ - post: operations["repos/create-org-ruleset"]; - }; - "/orgs/{org}/rulesets/{ruleset_id}": { - /** - * Get an organization repository ruleset - * @description Get a repository ruleset for an organization. - */ - get: operations["repos/get-org-ruleset"]; - /** - * Update an organization repository ruleset - * @description Update a ruleset for an organization. - */ - put: operations["repos/update-org-ruleset"]; - /** - * Delete an organization repository ruleset - * @description Delete a ruleset for an organization. - */ - delete: operations["repos/delete-org-ruleset"]; - }; - "/orgs/{org}/secret-scanning/alerts": { - /** - * List secret scanning alerts for an organization - * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/list-alerts-for-org"]; - }; - "/orgs/{org}/security-advisories": { - /** - * List repository security advisories for an organization - * @description Lists repository security advisories for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission. - */ - get: operations["security-advisories/list-org-repository-advisories"]; - }; - "/orgs/{org}/security-managers": { - /** - * List security manager teams - * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. - * - * GitHub Apps must have the `administration` organization read permission to use this endpoint. - */ - get: operations["orgs/list-security-manager-teams"]; - }; - "/orgs/{org}/security-managers/teams/{team_slug}": { - /** - * Add a security manager team - * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - put: operations["orgs/add-security-manager-team"]; - /** - * Remove a security manager team - * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - delete: operations["orgs/remove-security-manager-team"]; - }; - "/orgs/{org}/settings/billing/actions": { - /** - * Get GitHub Actions billing for an organization - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - get: operations["billing/get-github-actions-billing-org"]; - }; - "/orgs/{org}/settings/billing/packages": { - /** - * Get GitHub Packages billing for an organization - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - get: operations["billing/get-github-packages-billing-org"]; - }; - "/orgs/{org}/settings/billing/shared-storage": { - /** - * Get shared storage billing for an organization - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - get: operations["billing/get-shared-storage-billing-org"]; - }; - "/orgs/{org}/teams": { - /** - * List teams - * @description Lists all teams in an organization that are visible to the authenticated user. - */ - get: operations["teams/list"]; - /** - * Create a team - * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." - * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". - */ - post: operations["teams/create"]; - }; - "/orgs/{org}/teams/{team_slug}": { - /** - * Get a team by name - * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. - */ - get: operations["teams/get-by-name"]; - /** - * Delete a team - * @description To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. - */ - delete: operations["teams/delete-in-org"]; - /** - * Update a team - * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. - */ - patch: operations["teams/update-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions": { - /** - * List discussions - * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. - */ - get: operations["teams/list-discussions-in-org"]; - /** - * Create a discussion - * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. - */ - post: operations["teams/create-discussion-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { - /** - * Get a discussion - * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - get: operations["teams/get-discussion-in-org"]; - /** - * Delete a discussion - * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - delete: operations["teams/delete-discussion-in-org"]; - /** - * Update a discussion - * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - patch: operations["teams/update-discussion-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { - /** - * List discussion comments - * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - get: operations["teams/list-discussion-comments-in-org"]; - /** - * Create a discussion comment - * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - post: operations["teams/create-discussion-comment-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { - /** - * Get a discussion comment - * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - get: operations["teams/get-discussion-comment-in-org"]; - /** - * Delete a discussion comment - * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - delete: operations["teams/delete-discussion-comment-in-org"]; - /** - * Update a discussion comment - * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - patch: operations["teams/update-discussion-comment-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - /** - * List reactions for a team discussion comment - * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - get: operations["reactions/list-for-team-discussion-comment-in-org"]; - /** - * Create reaction for a team discussion comment - * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - post: operations["reactions/create-for-team-discussion-comment-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { - /** - * Delete team discussion comment reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["reactions/delete-for-team-discussion-comment"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { - /** - * List reactions for a team discussion - * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - get: operations["reactions/list-for-team-discussion-in-org"]; - /** - * Create reaction for a team discussion - * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - post: operations["reactions/create-for-team-discussion-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { - /** - * Delete team discussion reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["reactions/delete-for-team-discussion"]; - }; - "/orgs/{org}/teams/{team_slug}/invitations": { - /** - * List pending team invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. - */ - get: operations["teams/list-pending-invitations-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/members": { - /** - * List team members - * @description Team members will include the members of child teams. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - get: operations["teams/list-members-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/memberships/{username}": { - /** - * Get team membership for a user - * @description Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - get: operations["teams/get-membership-for-user-in-org"]; - /** - * Add or update team membership for a user - * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - put: operations["teams/add-or-update-membership-for-user-in-org"]; - /** - * Remove team membership for a user - * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - delete: operations["teams/remove-membership-for-user-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/projects": { - /** - * List team projects - * @description Lists the organization projects for a team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. - */ - get: operations["teams/list-projects-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { - /** - * Check team permissions for a project - * @description Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - get: operations["teams/check-permissions-for-project-in-org"]; - /** - * Add or update team project permissions - * @description Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - put: operations["teams/add-or-update-project-permissions-in-org"]; - /** - * Remove a project from a team - * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - delete: operations["teams/remove-project-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/repos": { - /** - * List team repositories - * @description Lists a team's repositories visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. - */ - get: operations["teams/list-repos-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { - /** - * Check team permissions for a repository - * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. - * - * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - get: operations["teams/check-permissions-for-repo-in-org"]; - /** - * Add or update team repository permissions - * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - * - * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". - */ - put: operations["teams/add-or-update-repo-permissions-in-org"]; - /** - * Remove a repository from a team - * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - delete: operations["teams/remove-repo-in-org"]; - }; - "/orgs/{org}/teams/{team_slug}/teams": { - /** - * List child teams - * @description Lists the child teams of the team specified by `{team_slug}`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. - */ - get: operations["teams/list-child-in-org"]; - }; - "/orgs/{org}/{security_product}/{enablement}": { - /** - * Enable or disable a security feature for an organization - * @description Enables or disables the specified security feature for all eligible repositories in an organization. - * - * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. - * A token with the 'write:org' scope is also required. - * - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - * - * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; - }; - "/projects/columns/cards/{card_id}": { - /** - * Get a project card - * @description Gets information about a project card. - */ - get: operations["projects/get-card"]; - /** - * Delete a project card - * @description Deletes a project card - */ - delete: operations["projects/delete-card"]; - /** Update an existing project card */ - patch: operations["projects/update-card"]; - }; - "/projects/columns/cards/{card_id}/moves": { - /** Move a project card */ - post: operations["projects/move-card"]; - }; - "/projects/columns/{column_id}": { - /** - * Get a project column - * @description Gets information about a project column. - */ - get: operations["projects/get-column"]; - /** - * Delete a project column - * @description Deletes a project column. - */ - delete: operations["projects/delete-column"]; - /** Update an existing project column */ - patch: operations["projects/update-column"]; - }; - "/projects/columns/{column_id}/cards": { - /** - * List project cards - * @description Lists the project cards in a project. - */ - get: operations["projects/list-cards"]; - /** Create a project card */ - post: operations["projects/create-card"]; - }; - "/projects/columns/{column_id}/moves": { - /** Move a project column */ - post: operations["projects/move-column"]; - }; - "/projects/{project_id}": { - /** - * Get a project - * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - get: operations["projects/get"]; - /** - * Delete a project - * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. - */ - delete: operations["projects/delete"]; - /** - * Update a project - * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - patch: operations["projects/update"]; - }; - "/projects/{project_id}/collaborators": { - /** - * List project collaborators - * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. - */ - get: operations["projects/list-collaborators"]; - }; - "/projects/{project_id}/collaborators/{username}": { - /** - * Add project collaborator - * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. - */ - put: operations["projects/add-collaborator"]; - /** - * Remove user as a collaborator - * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. - */ - delete: operations["projects/remove-collaborator"]; - }; - "/projects/{project_id}/collaborators/{username}/permission": { - /** - * Get project permission for a user - * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. - */ - get: operations["projects/get-permission-for-user"]; - }; - "/projects/{project_id}/columns": { - /** - * List project columns - * @description Lists the project columns in a project. - */ - get: operations["projects/list-columns"]; - /** - * Create a project column - * @description Creates a new project column. - */ - post: operations["projects/create-column"]; - }; - "/rate_limit": { - /** - * Get rate limit status for the authenticated user - * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. - * - * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: - * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. - * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search)." - * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." - * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." - * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." - * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." - * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." - * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." - * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." - * - * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. - */ - get: operations["rate-limit/get"]; - }; - "/repos/{owner}/{repo}": { - /** - * Get a repository - * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - get: operations["repos/get"]; - /** - * Delete a repository - * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. - * - * If an organization owner has configured the organization to prevent members from deleting organization-owned - * repositories, you will get a `403 Forbidden` response. - */ - delete: operations["repos/delete"]; - /** - * Update a repository - * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. - */ - patch: operations["repos/update"]; - }; - "/repos/{owner}/{repo}/actions/artifacts": { - /** - * List artifacts for a repository - * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-artifacts-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { - /** - * Get an artifact - * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-artifact"]; - /** - * Delete an artifact - * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-artifact"]; - }; - "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { - /** - * Download an artifact - * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in - * the response header to find the URL for the download. The `:archive_format` must be `zip`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-artifact"]; - }; - "/repos/{owner}/{repo}/actions/cache/usage": { - /** - * Get GitHub Actions cache usage for a repository - * @description Gets GitHub Actions cache usage for a repository. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-usage"]; - }; - "/repos/{owner}/{repo}/actions/caches": { - /** - * List GitHub Actions caches for a repository - * @description Lists the GitHub Actions caches for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-actions-cache-list"]; - /** - * Delete GitHub Actions caches for a repository (using a cache key) - * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-actions-cache-by-key"]; - }; - "/repos/{owner}/{repo}/actions/caches/{cache_id}": { - /** - * Delete a GitHub Actions cache for a repository (using a cache ID) - * @description Deletes a GitHub Actions cache for a repository, using a cache ID. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-actions-cache-by-id"]; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}": { - /** - * Get a job for a workflow run - * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-job-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { - /** - * Download job logs for a workflow run - * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look - * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can - * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must - * have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-job-logs-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { - /** - * Re-run a job from a workflow run - * @description Re-run a job and its dependent jobs in a workflow run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/re-run-job-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/oidc/customization/sub": { - /** - * Get the customization template for an OIDC subject claim for a repository - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. - */ - get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; - /** - * Set the customization template for an OIDC subject claim for a repository - * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/organization-secrets": { - /** - * List repository organization secrets - * @description Lists all organization secrets shared with a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-repo-organization-secrets"]; - }; - "/repos/{owner}/{repo}/actions/organization-variables": { - /** - * List repository organization variables - * @description Lists all organiation variables shared with a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-repo-organization-variables"]; - }; - "/repos/{owner}/{repo}/actions/permissions": { - /** - * Get GitHub Actions permissions for a repository - * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - get: operations["actions/get-github-actions-permissions-repository"]; - /** - * Set GitHub Actions permissions for a repository - * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - put: operations["actions/set-github-actions-permissions-repository"]; - }; - "/repos/{owner}/{repo}/actions/permissions/access": { - /** - * Get the level of access for workflows outside of the repository - * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - get: operations["actions/get-workflow-access-to-repository"]; - /** - * Set the level of access for workflows outside of the repository - * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - put: operations["actions/set-workflow-access-to-repository"]; - }; - "/repos/{owner}/{repo}/actions/permissions/selected-actions": { - /** - * Get allowed actions and reusable workflows for a repository - * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - get: operations["actions/get-allowed-actions-repository"]; - /** - * Set allowed actions and reusable workflows for a repository - * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - put: operations["actions/set-allowed-actions-repository"]; - }; - "/repos/{owner}/{repo}/actions/permissions/workflow": { - /** - * Get default workflow permissions for a repository - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, - * as well as if GitHub Actions can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; - /** - * Set default workflow permissions for a repository - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions - * can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; - }; - "/repos/{owner}/{repo}/actions/runners": { - /** - * List self-hosted runners for a repository - * @description Lists all self-hosted runners configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-self-hosted-runners-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/downloads": { - /** - * List runner applications for a repository - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-runner-applications-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { - /** - * Create configuration for a just-in-time runner for a repository - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/generate-runner-jitconfig-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/registration-token": { - /** - * Create a registration token for a repository - * @description Returns a token that you can pass to the `config` script. The token - * expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided - * by this endpoint. - * - * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN``` - */ - post: operations["actions/create-registration-token-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/remove-token": { - /** - * Create a remove token for a repository - * @description Returns a token that you can pass to remove a self-hosted runner from - * a repository. The token expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from a repository, replace TOKEN with - * the remove token provided by this endpoint. - * - * ```config.sh remove --token TOKEN``` - */ - post: operations["actions/create-remove-token-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}": { - /** - * Get a self-hosted runner for a repository - * @description Gets a specific self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/get-self-hosted-runner-for-repo"]; - /** - * Delete a self-hosted runner from a repository - * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/delete-self-hosted-runner-from-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { - /** - * List labels for a self-hosted runner for a repository - * @description Lists all labels for a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; - /** - * Set custom labels for a self-hosted runner for a repository - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; - /** - * Add custom labels to a self-hosted runner for a repository - * @description Add custom labels to a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - post: operations["actions/add-custom-labels-to-self-hosted-runner-for-repo"]; - /** - * Remove all custom labels from a self-hosted runner for a repository - * @description Remove all custom labels from a self-hosted runner configured in a - * repository. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { - /** - * Remove a custom label from a self-hosted runner for a repository - * @description Remove a custom label from a self-hosted runner configured - * in a repository. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runs": { - /** - * List workflow runs for a repository - * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-workflow-runs-for-repo"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}": { - /** - * Get a workflow run - * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow-run"]; - /** - * Delete a workflow run - * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is - * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use - * this endpoint. - */ - delete: operations["actions/delete-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { - /** - * Get the review history for a workflow run - * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-reviews-for-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { - /** - * Approve a workflow run for a fork pull request - * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/approve-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { - /** - * List workflow run artifacts - * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-workflow-run-artifacts"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { - /** - * Get a workflow run attempt - * @description Gets a specific workflow run attempt. Anyone with read access to the repository - * can use this endpoint. If the repository is private you must use an access token - * with the `repo` scope. GitHub Apps must have the `actions:read` permission to - * use this endpoint. - */ - get: operations["actions/get-workflow-run-attempt"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { - /** - * List jobs for a workflow run attempt - * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - get: operations["actions/list-jobs-for-workflow-run-attempt"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { - /** - * Download workflow run attempt logs - * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after - * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-workflow-run-attempt-logs"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { - /** - * Cancel a workflow run - * @description Cancels a workflow run using its `id`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/cancel-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { - /** - * Review custom deployment protection rules for a workflow run - * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * **Note:** GitHub Apps can only review their own custom deployment protection rules. - * To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). - * - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. - */ - post: operations["actions/review-custom-gates-for-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": { - /** - * Force cancel a workflow run - * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. - * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/force-cancel-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { - /** - * List jobs for a workflow run - * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - get: operations["actions/list-jobs-for-workflow-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { - /** - * Download workflow run logs - * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for - * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use - * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have - * the `actions:read` permission to use this endpoint. - */ - get: operations["actions/download-workflow-run-logs"]; - /** - * Delete workflow run logs - * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - delete: operations["actions/delete-workflow-run-logs"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { - /** - * Get pending deployments for a workflow run - * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-pending-deployments-for-run"]; - /** - * Review pending deployments for a workflow run - * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. - * - * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. - */ - post: operations["actions/review-pending-deployments-for-run"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { - /** - * Re-run a workflow - * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - post: operations["actions/re-run-workflow"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { - /** - * Re-run failed jobs from a workflow run - * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. - */ - post: operations["actions/re-run-workflow-failed-jobs"]; - }; - "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { - /** - * Get workflow run usage - * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow-run-usage"]; - }; - "/repos/{owner}/{repo}/actions/secrets": { - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-repo-secrets"]; - }; - "/repos/{owner}/{repo}/actions/secrets/public-key": { - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-repo-public-key"]; - }; - "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/create-or-update-repo-secret"]; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/delete-repo-secret"]; - }; - "/repos/{owner}/{repo}/actions/variables": { - /** - * List repository variables - * @description Lists all repository variables. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-repo-variables"]; - /** - * Create a repository variable - * @description Creates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - post: operations["actions/create-repo-variable"]; - }; - "/repos/{owner}/{repo}/actions/variables/{name}": { - /** - * Get a repository variable - * @description Gets a specific variable in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/get-repo-variable"]; - /** - * Delete a repository variable - * @description Deletes a repository variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/delete-repo-variable"]; - /** - * Update a repository variable - * @description Updates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - patch: operations["actions/update-repo-variable"]; - }; - "/repos/{owner}/{repo}/actions/workflows": { - /** - * List repository workflows - * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/list-repo-workflows"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { - /** - * Get a workflow - * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { - /** - * Disable a workflow - * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - put: operations["actions/disable-workflow"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { - /** - * Create a workflow dispatch event - * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." - */ - post: operations["actions/create-workflow-dispatch"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { - /** - * Enable a workflow - * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - put: operations["actions/enable-workflow"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { - /** - * List workflow runs for a workflow - * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - */ - get: operations["actions/list-workflow-runs"]; - }; - "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { - /** - * Get workflow usage - * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["actions/get-workflow-usage"]; - }; - "/repos/{owner}/{repo}/activity": { - /** - * List repository activities - * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. - * - * For more information about viewing repository activity, - * see "[Viewing repository activity](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/viewing-repository-activity)." - */ - get: operations["repos/list-activities"]; - }; - "/repos/{owner}/{repo}/assignees": { - /** - * List assignees - * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. - */ - get: operations["issues/list-assignees"]; - }; - "/repos/{owner}/{repo}/assignees/{assignee}": { - /** - * Check if a user can be assigned - * @description Checks if a user has permission to be assigned to an issue in this repository. - * - * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - get: operations["issues/check-user-can-be-assigned"]; - }; - "/repos/{owner}/{repo}/autolinks": { - /** - * List all autolinks of a repository - * @description This returns a list of autolinks configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - get: operations["repos/list-autolinks"]; - /** - * Create an autolink reference for a repository - * @description Users with admin access to the repository can create an autolink. - */ - post: operations["repos/create-autolink"]; - }; - "/repos/{owner}/{repo}/autolinks/{autolink_id}": { - /** - * Get an autolink reference of a repository - * @description This returns a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - get: operations["repos/get-autolink"]; - /** - * Delete an autolink reference from a repository - * @description This deletes a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - delete: operations["repos/delete-autolink"]; - }; - "/repos/{owner}/{repo}/automated-security-fixes": { - /** - * Check if automated security fixes are enabled for a repository - * @description Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - get: operations["repos/check-automated-security-fixes"]; - /** - * Enable automated security fixes - * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - put: operations["repos/enable-automated-security-fixes"]; - /** - * Disable automated security fixes - * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - delete: operations["repos/disable-automated-security-fixes"]; - }; - "/repos/{owner}/{repo}/branches": { - /** List branches */ - get: operations["repos/list-branches"]; - }; - "/repos/{owner}/{repo}/branches/{branch}": { - /** Get a branch */ - get: operations["repos/get-branch"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection": { - /** - * Get branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-branch-protection"]; - /** - * Update branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Protecting a branch requires admin or owner permissions to the repository. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - * - * **Note**: The list of users, apps, and teams in total is limited to 100 items. - */ - put: operations["repos/update-branch-protection"]; - /** - * Delete branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/delete-branch-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { - /** - * Get admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-admin-branch-protection"]; - /** - * Set admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - post: operations["repos/set-admin-branch-protection"]; - /** - * Delete admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - delete: operations["repos/delete-admin-branch-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { - /** - * Get pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-pull-request-review-protection"]; - /** - * Delete pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/delete-pull-request-review-protection"]; - /** - * Update pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - */ - patch: operations["repos/update-pull-request-review-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { - /** - * Get commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. - * - * **Note**: You must enable branch protection to require signed commits. - */ - get: operations["repos/get-commit-signature-protection"]; - /** - * Create commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. - */ - post: operations["repos/create-commit-signature-protection"]; - /** - * Delete commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. - */ - delete: operations["repos/delete-commit-signature-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { - /** - * Get status checks protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-status-checks-protection"]; - /** - * Remove status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/remove-status-check-protection"]; - /** - * Update status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. - */ - patch: operations["repos/update-status-check-protection"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { - /** - * Get all status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["repos/get-all-status-check-contexts"]; - /** - * Set status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - put: operations["repos/set-status-check-contexts"]; - /** - * Add status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - post: operations["repos/add-status-check-contexts"]; - /** - * Remove status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - delete: operations["repos/remove-status-check-contexts"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { - /** - * Get access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists who has access to this protected branch. - * - * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. - */ - get: operations["repos/get-access-restrictions"]; - /** - * Delete access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Disables the ability to restrict who can push to this branch. - */ - delete: operations["repos/delete-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { - /** - * Get apps with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - get: operations["repos/get-apps-with-access-to-protected-branch"]; - /** - * Set app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - put: operations["repos/set-app-access-restrictions"]; - /** - * Add app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - post: operations["repos/add-app-access-restrictions"]; - /** - * Remove app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - delete: operations["repos/remove-app-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { - /** - * Get teams with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the teams who have push access to this branch. The list includes child teams. - */ - get: operations["repos/get-teams-with-access-to-protected-branch"]; - /** - * Set team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. - */ - put: operations["repos/set-team-access-restrictions"]; - /** - * Add team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified teams push access for this branch. You can also give push access to child teams. - */ - post: operations["repos/add-team-access-restrictions"]; - /** - * Remove team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a team to push to this branch. You can also remove push access for child teams. - */ - delete: operations["repos/remove-team-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { - /** - * Get users with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the people who have push access to this branch. - */ - get: operations["repos/get-users-with-access-to-protected-branch"]; - /** - * Set user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - put: operations["repos/set-user-access-restrictions"]; - /** - * Add user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified people push access for this branch. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - post: operations["repos/add-user-access-restrictions"]; - /** - * Remove user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a user to push to this branch. - * - * | Type | Description | - * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - delete: operations["repos/remove-user-access-restrictions"]; - }; - "/repos/{owner}/{repo}/branches/{branch}/rename": { - /** - * Rename a branch - * @description Renames a branch in a repository. - * - * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". - * - * The permissions required to use this endpoint depends on whether you are renaming the default branch. - * - * To rename a non-default branch: - * - * * Users must have push access. - * * GitHub Apps must have the `contents:write` repository permission. - * - * To rename the default branch: - * - * * Users must have admin or owner permissions. - * * GitHub Apps must have the `administration:write` repository permission. - */ - post: operations["repos/rename-branch"]; - }; - "/repos/{owner}/{repo}/check-runs": { - /** - * Create a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. - * - * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. - */ - post: operations["checks/create"]; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}": { - /** - * Get a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - get: operations["checks/get"]; - /** - * Update a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. - */ - patch: operations["checks/update"]; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { - /** - * List check run annotations - * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. - */ - get: operations["checks/list-annotations"]; - }; - "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { - /** - * Rerequest a check run - * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. - * - * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". - */ - post: operations["checks/rerequest-run"]; - }; - "/repos/{owner}/{repo}/check-suites": { - /** - * Create a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. - */ - post: operations["checks/create-suite"]; - }; - "/repos/{owner}/{repo}/check-suites/preferences": { - /** - * Update repository preferences for check suites - * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. - */ - patch: operations["checks/set-suites-preferences"]; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { - /** - * Get a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - get: operations["checks/get-suite"]; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { - /** - * List check runs in a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - get: operations["checks/list-for-suite"]; - }; - "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { - /** - * Rerequest a check suite - * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository. - */ - post: operations["checks/rerequest-suite"]; - }; - "/repos/{owner}/{repo}/code-scanning/alerts": { - /** - * List code scanning alerts for a repository - * @description Lists code scanning alerts. - * - * To use this endpoint, you must use an access token with the `security_events` scope or, for alerts from public repositories only, an access token with the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read - * permission to use this endpoint. - * - * The response includes a `most_recent_instance` object. - * This provides details of the most recent instance of this alert - * for the default branch (or for the specified Git reference if you used `ref` in the request). - */ - get: operations["code-scanning/list-alerts-for-repo"]; - }; - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { - /** - * Get a code scanning alert - * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/get-alert"]; - /** - * Update a code scanning alert - * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. - */ - patch: operations["code-scanning/update-alert"]; - }; - "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { - /** - * List instances of a code scanning alert - * @description Lists all instances of the specified code scanning alert. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/list-alert-instances"]; - }; - "/repos/{owner}/{repo}/code-scanning/analyses": { - /** - * List code scanning analyses for a repository - * @description Lists the details of all code scanning analyses for a repository, - * starting with the most recent. - * The response is paginated and you can use the `page` and `per_page` parameters - * to list the analyses you're interested in. - * By default 30 analyses are listed per page. - * - * The `rules_count` field in the response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * **Deprecation notice**: - * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. - */ - get: operations["code-scanning/list-recent-analyses"]; - }; - "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { - /** - * Get a code scanning analysis for a repository - * @description Gets a specified code scanning analysis for a repository. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * The default JSON response contains fields that describe the analysis. - * This includes the Git reference and commit SHA to which the analysis relates, - * the datetime of the analysis, the name of the code scanning tool, - * and the number of alerts. - * - * The `rules_count` field in the default response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * If you use the Accept header `application/sarif+json`, - * the response contains the analysis data that was uploaded. - * This is formatted as - * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). - */ - get: operations["code-scanning/get-analysis"]; - /** - * Delete a code scanning analysis from a repository - * @description Deletes a specified code scanning analysis from a repository. For - * private repositories, you must use an access token with the `repo` scope. For public repositories, - * you must use an access token with `public_repo` scope. - * GitHub Apps must have the `security_events` write permission to use this endpoint. - * - * You can delete one analysis at a time. - * To delete a series of analyses, start with the most recent analysis and work backwards. - * Conceptually, the process is similar to the undo function in a text editor. - * - * When you list the analyses for a repository, - * one or more will be identified as deletable in the response: - * - * ``` - * "deletable": true - * ``` - * - * An analysis is deletable when it's the most recent in a set of analyses. - * Typically, a repository will have multiple sets of analyses - * for each enabled code scanning tool, - * where a set is determined by a unique combination of analysis values: - * - * * `ref` - * * `tool` - * * `category` - * - * If you attempt to delete an analysis that is not the most recent in a set, - * you'll get a 400 response with the message: - * - * ``` - * Analysis specified is not deletable. - * ``` - * - * The response from a successful `DELETE` operation provides you with - * two alternative URLs for deleting the next analysis in the set: - * `next_analysis_url` and `confirm_delete_url`. - * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis - * in a set. This is a useful option if you want to preserve at least one analysis - * for the specified tool in your repository. - * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. - * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` - * in the 200 response is `null`. - * - * As an example of the deletion process, - * let's imagine that you added a workflow that configured a particular code scanning tool - * to analyze the code in a repository. This tool has added 15 analyses: - * 10 on the default branch, and another 5 on a topic branch. - * You therefore have two separate sets of analyses for this tool. - * You've now decided that you want to remove all of the analyses for the tool. - * To do this you must make 15 separate deletion requests. - * To start, you must find an analysis that's identified as deletable. - * Each set of analyses always has one that's identified as deletable. - * Having found the deletable analysis for one of the two sets, - * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. - * Then repeat the process for the second set. - * The procedure therefore consists of a nested loop: - * - * **Outer loop**: - * * List the analyses for the repository, filtered by tool. - * * Parse this list to find a deletable analysis. If found: - * - * **Inner loop**: - * * Delete the identified analysis. - * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. - * - * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. - */ - delete: operations["code-scanning/delete-analysis"]; - }; - "/repos/{owner}/{repo}/code-scanning/codeql/databases": { - /** - * List CodeQL databases for a repository - * @description Lists the CodeQL databases that are available in a repository. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - get: operations["code-scanning/list-codeql-databases"]; - }; - "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { - /** - * Get a CodeQL database for a repository - * @description Gets a CodeQL database for a language in a repository. - * - * By default this endpoint returns JSON metadata about the CodeQL database. To - * download the CodeQL database binary content, set the `Accept` header of the request - * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure - * your HTTP client is configured to follow redirects or use the `Location` header - * to make a second request to get the redirect URL. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - get: operations["code-scanning/get-codeql-database"]; - }; - "/repos/{owner}/{repo}/code-scanning/default-setup": { - /** - * Get a code scanning default setup configuration - * @description Gets a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - get: operations["code-scanning/get-default-setup"]; - /** - * Update a code scanning default setup configuration - * @description Updates a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - patch: operations["code-scanning/update-default-setup"]; - }; - "/repos/{owner}/{repo}/code-scanning/sarifs": { - /** - * Upload an analysis as SARIF data - * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." - * - * There are two places where you can upload code scanning results. - * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." - * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." - * - * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: - * - * ``` - * gzip -c analysis-data.sarif | base64 -w0 - * ``` - *
- * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. - * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." - * - * - * | **SARIF data** | **Maximum values** | **Additional limits** | - * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| - * | Runs per file | 20 | | - * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | - * | Rules per run | 25,000 | | - * | Tool extensions per run | 100 | | - * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | - * | Location per result | 1,000 | Only 100 locations will be included. | - * | Tags per rule | 20 | Only 10 tags will be included. | - * - * - * The `202 Accepted` response includes an `id` value. - * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. - * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." - */ - post: operations["code-scanning/upload-sarif"]; - }; - "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { - /** - * Get information about a SARIF upload - * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - get: operations["code-scanning/get-sarif"]; - }; - "/repos/{owner}/{repo}/codeowners/errors": { - /** - * List CODEOWNERS errors - * @description List any syntax errors that are detected in the CODEOWNERS - * file. - * - * For more information about the correct CODEOWNERS syntax, - * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." - */ - get: operations["repos/codeowners-errors"]; - }; - "/repos/{owner}/{repo}/codespaces": { - /** - * List codespaces in a repository for the authenticated user - * @description Lists the codespaces associated to a specified repository and the authenticated user. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/list-in-repository-for-authenticated-user"]; - /** - * Create a codespace in a repository - * @description Creates a codespace owned by the authenticated user in the specified repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/create-with-repo-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/devcontainers": { - /** - * List devcontainer configurations in a repository for the authenticated user - * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files - * specify launchpoint configurations for codespaces created within the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/machines": { - /** - * List available machine types for a repository - * @description List the machine types available for a given repository based on its configuration. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. - */ - get: operations["codespaces/repo-machines-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/new": { - /** - * Get default attributes for a codespace - * @description Gets the default attributes for codespaces created by the user with the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/codespaces/secrets": { - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - get: operations["codespaces/list-repo-secrets"]; - }; - "/repos/{owner}/{repo}/codespaces/secrets/public-key": { - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - get: operations["codespaces/get-repo-public-key"]; - }; - "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - get: operations["codespaces/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` - * repository permission to use this endpoint. - */ - put: operations["codespaces/create-or-update-repo-secret"]; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - delete: operations["codespaces/delete-repo-secret"]; - }; - "/repos/{owner}/{repo}/collaborators": { - /** - * List repository collaborators - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - get: operations["repos/list-collaborators"]; - }; - "/repos/{owner}/{repo}/collaborators/{username}": { - /** - * Check if a user is a repository collaborator - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - get: operations["repos/check-collaborator"]; - /** - * Add a repository collaborator - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - * - * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: - * - * ``` - * Cannot assign {member} permission of {role name} - * ``` - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). - * - * **Updating an existing collaborator's permission level** - * - * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. - * - * **Rate limits** - * - * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. - */ - put: operations["repos/add-collaborator"]; - /** - * Remove a repository collaborator - * @description Removes a collaborator from a repository. - * - * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. - * - * This endpoint also: - * - Cancels any outstanding invitations - * - Unasigns the user from any issues - * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. - * - Unstars the repository - * - Updates access permissions to packages - * - * Removing a user as a collaborator has the following effects on forks: - * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. - * - If the user had their own fork of the repository, the fork will be deleted. - * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. - * - * **Note**: A user can still have access to the repository through organization permissions like base repository permissions. - * - * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. - * - * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". - */ - delete: operations["repos/remove-collaborator"]; - }; - "/repos/{owner}/{repo}/collaborators/{username}/permission": { - /** - * Get repository permissions for a user - * @description Checks the repository permission of a collaborator. The possible repository - * permissions are `admin`, `write`, `read`, and `none`. - * - * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the - * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the - * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The - * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. - */ - get: operations["repos/get-collaborator-permission-level"]; - }; - "/repos/{owner}/{repo}/comments": { - /** - * List commit comments for a repository - * @description Commit Comments use [these custom media types](https://docs.github.com/rest/overview/media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). - * - * Comments are ordered by ascending ID. - */ - get: operations["repos/list-commit-comments-for-repo"]; - }; - "/repos/{owner}/{repo}/comments/{comment_id}": { - /** Get a commit comment */ - get: operations["repos/get-commit-comment"]; - /** Delete a commit comment */ - delete: operations["repos/delete-commit-comment"]; - /** Update a commit comment */ - patch: operations["repos/update-commit-comment"]; - }; - "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { - /** - * List reactions for a commit comment - * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - get: operations["reactions/list-for-commit-comment"]; - /** - * Create reaction for a commit comment - * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. - */ - post: operations["reactions/create-for-commit-comment"]; - }; - "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { - /** - * Delete a commit comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - delete: operations["reactions/delete-for-commit-comment"]; - }; - "/repos/{owner}/{repo}/commits": { - /** - * List commits - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["repos/list-commits"]; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { - /** - * List branches for HEAD commit - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. - */ - get: operations["repos/list-branches-for-head-commit"]; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { - /** - * List commit comments - * @description Use the `:commit_sha` to specify the commit that will have its comments listed. - */ - get: operations["repos/list-comments-for-commit"]; - /** - * Create a commit comment - * @description Create a comment for a commit using its `:commit_sha`. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["repos/create-commit-comment"]; - }; - "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { - /** - * List pull requests associated with a commit - * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. - * - * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. - */ - get: operations["repos/list-pull-requests-associated-with-commit"]; - }; - "/repos/{owner}/{repo}/commits/{ref}": { - /** - * Get a commit - * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. - * - * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. - * - * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. - * - * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["repos/get-commit"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/check-runs": { - /** - * List check runs for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - get: operations["checks/list-for-ref"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/check-suites": { - /** - * List check suites for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - get: operations["checks/list-suites-for-ref"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/status": { - /** - * Get the combined status for a specific reference - * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. - * - * - * Additionally, a combined `state` is returned. The `state` is one of: - * - * * **failure** if any of the contexts report as `error` or `failure` - * * **pending** if there are no statuses or a context is `pending` - * * **success** if the latest status for all contexts is `success` - */ - get: operations["repos/get-combined-status-for-ref"]; - }; - "/repos/{owner}/{repo}/commits/{ref}/statuses": { - /** - * List commit statuses for a reference - * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. - * - * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. - */ - get: operations["repos/list-commit-statuses-for-ref"]; - }; - "/repos/{owner}/{repo}/community/profile": { - /** - * Get community profile metrics - * @description Returns all community profile metrics for a repository. The repository cannot be a fork. - * - * The returned metrics include an overall health score, the repository description, the presence of documentation, the - * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, - * README, and CONTRIBUTING files. - * - * The `health_percentage` score is defined as a percentage of how many of - * the recommended community health files are present. For more information, see - * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." - * - * `content_reports_enabled` is only returned for organization-owned repositories. - */ - get: operations["repos/get-community-profile-metrics"]; - }; - "/repos/{owner}/{repo}/compare/{basehead}": { - /** - * Compare two commits - * @description Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." - * - * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: - * - * - The list of changed files is only shown on the first page of results, but it includes all changed files for the entire comparison. - * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. - * - * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["repos/compare-commits"]; - }; - "/repos/{owner}/{repo}/contents/{path}": { - /** - * Get repository content - * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit - * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. - * - * Files and symlinks support [a custom media type](https://docs.github.com/rest/overview/media-types) for - * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media - * type](https://docs.github.com/rest/overview/media-types) to ensure the content is returned in a consistent - * object format. - * - * **Notes**: - * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). - * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees - * API](https://docs.github.com/rest/git/trees#get-a-tree). - * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - * Size limits: - * If the requested file's size is: - * * 1 MB or smaller: All features of this endpoint are supported. - * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. - * * Greater than 100 MB: This endpoint is not supported. - * - * If the content is a directory: - * The response will be an array of objects, one object for each item in the directory. - * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value - * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). - * In the next major version of the API, the type will be returned as "submodule". - * - * If the content is a symlink: - * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the - * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object - * describing the symlink itself. - * - * If the content is a submodule: - * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific - * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out - * the submodule at that specific commit. - * - * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the - * github.com URLs (`html_url` and `_links["html"]`) will have null values. - */ - get: operations["repos/get-content"]; - /** - * Create or update file contents - * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. If you want to modify files in the `.github/workflows` directory, you must authenticate using an access token with the `workflow` scope. - * - * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - put: operations["repos/create-or-update-file-contents"]; - /** - * Delete a file - * @description Deletes a file in a repository. - * - * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. - * - * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. - * - * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. - * - * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - delete: operations["repos/delete-file"]; - }; - "/repos/{owner}/{repo}/contributors": { - /** - * List repository contributors - * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. - * - * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. - */ - get: operations["repos/list-contributors"]; - }; - "/repos/{owner}/{repo}/dependabot/alerts": { - /** - * List Dependabot alerts for a repository - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - get: operations["dependabot/list-alerts-for-repo"]; - }; - "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { - /** - * Get a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - get: operations["dependabot/get-alert"]; - /** - * Update a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. - * - * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." - */ - patch: operations["dependabot/update-alert"]; - }; - "/repos/{owner}/{repo}/dependabot/secrets": { - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - get: operations["dependabot/list-repo-secrets"]; - }; - "/repos/{owner}/{repo}/dependabot/secrets/public-key": { - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - get: operations["dependabot/get-repo-public-key"]; - }; - "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - get: operations["dependabot/get-repo-secret"]; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository - * permission to use this endpoint. - */ - put: operations["dependabot/create-or-update-repo-secret"]; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - delete: operations["dependabot/delete-repo-secret"]; - }; - "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { - /** - * Get a diff of the dependencies between commits - * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. - */ - get: operations["dependency-graph/diff-range"]; - }; - "/repos/{owner}/{repo}/dependency-graph/sbom": { - /** - * Export a software bill of materials (SBOM) for a repository. - * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. - */ - get: operations["dependency-graph/export-sbom"]; - }; - "/repos/{owner}/{repo}/dependency-graph/snapshots": { - /** - * Create a snapshot of dependencies for a repository - * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. - */ - post: operations["dependency-graph/create-repository-snapshot"]; - }; - "/repos/{owner}/{repo}/deployments": { - /** - * List deployments - * @description Simple filtering of deployments is available via query parameters: - */ - get: operations["repos/list-deployments"]; - /** - * Create a deployment - * @description Deployments offer a few configurable parameters with certain defaults. - * - * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them - * before we merge a pull request. - * - * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have - * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter - * makes it easier to track which environments have requested deployments. The default environment is `production`. - * - * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If - * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, - * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will - * return a failure response. - * - * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` - * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to - * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do - * not require any contexts or create any commit statuses, the deployment will always succeed. - * - * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text - * field that will be passed on when a deployment event is dispatched. - * - * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might - * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an - * application with debugging enabled. - * - * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. - * - * Merged branch response: - * - * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating - * a deployment. This auto-merge happens when: - * * Auto-merge option is enabled in the repository - * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example - * * There are no merge conflicts - * - * If there are no new commits in the base branch, a new request to create a deployment should give a successful - * response. - * - * Merge conflict response: - * - * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't - * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. - * - * Failed commit status checks: - * - * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` - * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. - */ - post: operations["repos/create-deployment"]; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}": { - /** Get a deployment */ - get: operations["repos/get-deployment"]; - /** - * Delete a deployment - * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. - * - * To set a deployment as inactive, you must: - * - * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. - * * Mark the active deployment as inactive by adding any non-successful deployment status. - * - * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." - */ - delete: operations["repos/delete-deployment"]; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { - /** - * List deployment statuses - * @description Users with pull access can view deployment statuses for a deployment: - */ - get: operations["repos/list-deployment-statuses"]; - /** - * Create a deployment status - * @description Users with `push` access can create deployment statuses for a given deployment. - * - * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope. - */ - post: operations["repos/create-deployment-status"]; - }; - "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { - /** - * Get a deployment status - * @description Users with pull access can view a deployment status for a deployment: - */ - get: operations["repos/get-deployment-status"]; - }; - "/repos/{owner}/{repo}/dispatches": { - /** - * Create a repository dispatch event - * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." - * - * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. - * - * This endpoint requires write access to the repository by providing either: - * - * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. - * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. - * - * This input example shows how you can use the `client_payload` as a test to debug your workflow. - */ - post: operations["repos/create-dispatch-event"]; - }; - "/repos/{owner}/{repo}/environments": { - /** - * List environments - * @description Lists the environments for a repository. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/get-all-environments"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}": { - /** - * Get an environment - * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." - * - * Anyone with read access to the repository can use this endpoint. If the - * repository is private, you must use an access token with the `repo` scope. GitHub - * Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/get-environment"]; - /** - * Create or update an environment - * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." - * - * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." - * - * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - put: operations["repos/create-or-update-environment"]; - /** - * Delete an environment - * @description You must authenticate using an access token with the repo scope to use this endpoint. - */ - delete: operations["repos/delete-an-environment"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { - /** - * List deployment branch policies - * @description Lists the deployment branch policies for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/list-deployment-branch-policies"]; - /** - * Create a deployment branch policy - * @description Creates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - post: operations["repos/create-deployment-branch-policy"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { - /** - * Get a deployment branch policy - * @description Gets a deployment branch policy for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - get: operations["repos/get-deployment-branch-policy"]; - /** - * Update a deployment branch policy - * @description Updates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - put: operations["repos/update-deployment-branch-policy"]; - /** - * Delete a deployment branch policy - * @description Deletes a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - delete: operations["repos/delete-deployment-branch-policy"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { - /** - * Get all deployment protection rules for an environment - * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - get: operations["repos/get-all-deployment-protection-rules"]; - /** - * Create a custom deployment protection rule on an environment - * @description Enable a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - post: operations["repos/create-deployment-protection-rule"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { - /** - * List custom deployment rule integrations available for an environment - * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. - * - * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - get: operations["repos/list-custom-deployment-rule-integrations"]; - }; - "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { - /** - * Get a custom deployment protection rule - * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). - */ - get: operations["repos/get-custom-deployment-protection-rule"]; - /** - * Disable a custom protection rule for an environment - * @description Disables a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - delete: operations["repos/disable-deployment-protection-rule"]; - }; - "/repos/{owner}/{repo}/events": { - /** - * List repository events - * @description **Note**: This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - get: operations["activity/list-repo-events"]; - }; - "/repos/{owner}/{repo}/forks": { - /** List forks */ - get: operations["repos/list-forks"]; - /** - * Create a fork - * @description Create a fork for the authenticated user. - * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * - * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. - */ - post: operations["repos/create-fork"]; - }; - "/repos/{owner}/{repo}/git/blobs": { - /** Create a blob */ - post: operations["git/create-blob"]; - }; - "/repos/{owner}/{repo}/git/blobs/{file_sha}": { - /** - * Get a blob - * @description The `content` in the response will always be Base64 encoded. - * - * _Note_: This API supports blobs up to 100 megabytes in size. - */ - get: operations["git/get-blob"]; - }; - "/repos/{owner}/{repo}/git/commits": { - /** - * Create a commit - * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - post: operations["git/create-commit"]; - }; - "/repos/{owner}/{repo}/git/commits/{commit_sha}": { - /** - * Get a commit object - * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["git/get-commit"]; - }; - "/repos/{owner}/{repo}/git/matching-refs/{ref}": { - /** - * List matching references - * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. - * - * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. - */ - get: operations["git/list-matching-refs"]; - }; - "/repos/{owner}/{repo}/git/ref/{ref}": { - /** - * Get a reference - * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - */ - get: operations["git/get-ref"]; - }; - "/repos/{owner}/{repo}/git/refs": { - /** - * Create a reference - * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. - */ - post: operations["git/create-ref"]; - }; - "/repos/{owner}/{repo}/git/refs/{ref}": { - /** Delete a reference */ - delete: operations["git/delete-ref"]; - /** Update a reference */ - patch: operations["git/update-ref"]; - }; - "/repos/{owner}/{repo}/git/tags": { - /** - * Create a tag object - * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - post: operations["git/create-tag"]; - }; - "/repos/{owner}/{repo}/git/tags/{tag_sha}": { - /** - * Get a tag - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - get: operations["git/get-tag"]; - }; - "/repos/{owner}/{repo}/git/trees": { - /** - * Create a tree - * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. - * - * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." - * - * Returns an error if you try to delete a file that does not exist. - */ - post: operations["git/create-tree"]; - }; - "/repos/{owner}/{repo}/git/trees/{tree_sha}": { - /** - * Get a tree - * @description Returns a single tree using the SHA1 value or ref name for that tree. - * - * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. - * - * - * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. - */ - get: operations["git/get-tree"]; - }; - "/repos/{owner}/{repo}/hooks": { - /** - * List repository webhooks - * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. - */ - get: operations["repos/list-webhooks"]; - /** - * Create a repository webhook - * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can - * share the same `config` as long as those webhooks do not have any `events` that overlap. - */ - post: operations["repos/create-webhook"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}": { - /** - * Get a repository webhook - * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." - */ - get: operations["repos/get-webhook"]; - /** Delete a repository webhook */ - delete: operations["repos/delete-webhook"]; - /** - * Update a repository webhook - * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." - */ - patch: operations["repos/update-webhook"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/config": { - /** - * Get a webhook configuration for a repository - * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." - * - * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. - */ - get: operations["repos/get-webhook-config-for-repo"]; - /** - * Update a webhook configuration for a repository - * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." - * - * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. - */ - patch: operations["repos/update-webhook-config-for-repo"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { - /** - * List deliveries for a repository webhook - * @description Returns a list of webhook deliveries for a webhook configured in a repository. - */ - get: operations["repos/list-webhook-deliveries"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { - /** - * Get a delivery for a repository webhook - * @description Returns a delivery for a webhook configured in a repository. - */ - get: operations["repos/get-webhook-delivery"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { - /** - * Redeliver a delivery for a repository webhook - * @description Redeliver a webhook delivery for a webhook configured in a repository. - */ - post: operations["repos/redeliver-webhook-delivery"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { - /** - * Ping a repository webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - post: operations["repos/ping-webhook"]; - }; - "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { - /** - * Test the push repository webhook - * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. - * - * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` - */ - post: operations["repos/test-push-webhook"]; - }; - "/repos/{owner}/{repo}/import": { - /** - * Get an import status - * @description View the progress of an import. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - * - * **Import status** - * - * This section includes details about the possible values of the `status` field of the Import Progress response. - * - * An import that does not have errors will progress through these steps: - * - * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. - * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). - * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. - * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". - * * `complete` - the import is complete, and the repository is ready on GitHub. - * - * If there are problems, you will see one of these in the `status` field: - * - * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. - * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. - * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * - * **The project_choices field** - * - * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. - * - * **Git LFS related fields** - * - * This section includes details about Git LFS related fields that may be present in the Import Progress response. - * - * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. - * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. - * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. - * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. - */ - get: operations["migrations/get-import-status"]; - /** - * Start an import - * @description Start a source import to a GitHub repository using GitHub Importer. Importing into a GitHub repository with GitHub Actions enabled is not supported and will return a status `422 Unprocessable Entity` response. - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - put: operations["migrations/start-import"]; - /** - * Cancel an import - * @description Stop an import for a repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - delete: operations["migrations/cancel-import"]; - /** - * Update an import - * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API - * request. If no parameters are provided, the import will be restarted. - * - * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will - * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. - * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - patch: operations["migrations/update-import"]; - }; - "/repos/{owner}/{repo}/import/authors": { - /** - * Get commit authors - * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. - * - * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - get: operations["migrations/get-commit-authors"]; - }; - "/repos/{owner}/{repo}/import/authors/{author_id}": { - /** - * Map a commit author - * @description Update an author's identity for the import. Your application can continue updating authors any time before you push - * new commits to the repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - patch: operations["migrations/map-commit-author"]; - }; - "/repos/{owner}/{repo}/import/large_files": { - /** - * Get large files - * @description List files larger than 100MB found during the import - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - get: operations["migrations/get-large-files"]; - }; - "/repos/{owner}/{repo}/import/lfs": { - /** - * Update Git LFS preference - * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability - * is powered by [Git LFS](https://git-lfs.com). - * - * You can learn more about our LFS feature and working with large files [on our help - * site](https://docs.github.com/repositories/working-with-files/managing-large-files). - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - patch: operations["migrations/set-lfs-preference"]; - }; - "/repos/{owner}/{repo}/installation": { - /** - * Get a repository installation for the authenticated app - * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-repo-installation"]; - }; - "/repos/{owner}/{repo}/interaction-limits": { - /** - * Get interaction restrictions for a repository - * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. - */ - get: operations["interactions/get-restrictions-for-repo"]; - /** - * Set interaction restrictions for a repository - * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - put: operations["interactions/set-restrictions-for-repo"]; - /** - * Remove interaction restrictions for a repository - * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - delete: operations["interactions/remove-restrictions-for-repo"]; - }; - "/repos/{owner}/{repo}/invitations": { - /** - * List repository invitations - * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. - */ - get: operations["repos/list-invitations"]; - }; - "/repos/{owner}/{repo}/invitations/{invitation_id}": { - /** Delete a repository invitation */ - delete: operations["repos/delete-invitation"]; - /** Update a repository invitation */ - patch: operations["repos/update-invitation"]; - }; - "/repos/{owner}/{repo}/issues": { - /** - * List repository issues - * @description List issues in a repository. Only open issues will be listed. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list-for-repo"]; - /** - * Create an issue - * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["issues/create"]; - }; - "/repos/{owner}/{repo}/issues/comments": { - /** - * List issue comments for a repository - * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. - * - * By default, issue comments are ordered by ascending ID. - */ - get: operations["issues/list-comments-for-repo"]; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}": { - /** - * Get an issue comment - * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - get: operations["issues/get-comment"]; - /** - * Delete an issue comment - * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - delete: operations["issues/delete-comment"]; - /** - * Update an issue comment - * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - patch: operations["issues/update-comment"]; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { - /** - * List reactions for an issue comment - * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - get: operations["reactions/list-for-issue-comment"]; - /** - * Create reaction for an issue comment - * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. - */ - post: operations["reactions/create-for-issue-comment"]; - }; - "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { - /** - * Delete an issue comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - delete: operations["reactions/delete-for-issue-comment"]; - }; - "/repos/{owner}/{repo}/issues/events": { - /** - * List issue events for a repository - * @description Lists events for a repository. - */ - get: operations["issues/list-events-for-repo"]; - }; - "/repos/{owner}/{repo}/issues/events/{event_id}": { - /** - * Get an issue event - * @description Gets a single event by the event id. - */ - get: operations["issues/get-event"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}": { - /** - * Get an issue - * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was - * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If - * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API - * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read - * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe - * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/get"]; - /** - * Update an issue - * @description Issue owners and users with push access can edit an issue. - */ - patch: operations["issues/update"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { - /** - * Add assignees to an issue - * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. - */ - post: operations["issues/add-assignees"]; - /** - * Remove assignees from an issue - * @description Removes one or more assignees from an issue. - */ - delete: operations["issues/remove-assignees"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { - /** - * Check if a user can be assigned to a issue - * @description Checks if a user has permission to be assigned to a specific issue. - * - * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - get: operations["issues/check-user-can-be-assigned-to-issue"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/comments": { - /** - * List issue comments - * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * Issue comments are ordered by ascending ID. - */ - get: operations["issues/list-comments"]; - /** - * Create an issue comment - * @description - * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - * Creating content too quickly using this endpoint may result in secondary rate limiting. - * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" - * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" - * for details. - */ - post: operations["issues/create-comment"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/events": { - /** - * List issue events - * @description Lists all events for an issue. - */ - get: operations["issues/list-events"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/labels": { - /** - * List labels for an issue - * @description Lists all labels for an issue. - */ - get: operations["issues/list-labels-on-issue"]; - /** - * Set labels for an issue - * @description Removes any previous labels and sets the new labels for an issue. - */ - put: operations["issues/set-labels"]; - /** - * Add labels to an issue - * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. - */ - post: operations["issues/add-labels"]; - /** - * Remove all labels from an issue - * @description Removes all labels from an issue. - */ - delete: operations["issues/remove-all-labels"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { - /** - * Remove a label from an issue - * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. - */ - delete: operations["issues/remove-label"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/lock": { - /** - * Lock an issue - * @description Users with push access can lock an issue or pull request's conversation. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["issues/lock"]; - /** - * Unlock an issue - * @description Users with push access can unlock an issue's conversation. - */ - delete: operations["issues/unlock"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { - /** - * List reactions for an issue - * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - get: operations["reactions/list-for-issue"]; - /** - * Create reaction for an issue - * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. - */ - post: operations["reactions/create-for-issue"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { - /** - * Delete an issue reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. - * - * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - delete: operations["reactions/delete-for-issue"]; - }; - "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { - /** - * List timeline events for an issue - * @description List all timeline events for an issue. - */ - get: operations["issues/list-events-for-timeline"]; - }; - "/repos/{owner}/{repo}/keys": { - /** List deploy keys */ - get: operations["repos/list-deploy-keys"]; - /** - * Create a deploy key - * @description You can create a read-only deploy key. - */ - post: operations["repos/create-deploy-key"]; - }; - "/repos/{owner}/{repo}/keys/{key_id}": { - /** Get a deploy key */ - get: operations["repos/get-deploy-key"]; - /** - * Delete a deploy key - * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. - */ - delete: operations["repos/delete-deploy-key"]; - }; - "/repos/{owner}/{repo}/labels": { - /** - * List labels for a repository - * @description Lists all labels for a repository. - */ - get: operations["issues/list-labels-for-repo"]; - /** - * Create a label - * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). - */ - post: operations["issues/create-label"]; - }; - "/repos/{owner}/{repo}/labels/{name}": { - /** - * Get a label - * @description Gets a label using the given name. - */ - get: operations["issues/get-label"]; - /** - * Delete a label - * @description Deletes a label using the given label name. - */ - delete: operations["issues/delete-label"]; - /** - * Update a label - * @description Updates a label using the given label name. - */ - patch: operations["issues/update-label"]; - }; - "/repos/{owner}/{repo}/languages": { - /** - * List repository languages - * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. - */ - get: operations["repos/list-languages"]; - }; - "/repos/{owner}/{repo}/license": { - /** - * Get the license for a repository - * @description This method returns the contents of the repository's license file, if one is detected. - * - * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. - */ - get: operations["licenses/get-for-repo"]; - }; - "/repos/{owner}/{repo}/merge-upstream": { - /** - * Sync a fork branch with the upstream repository - * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. - */ - post: operations["repos/merge-upstream"]; - }; - "/repos/{owner}/{repo}/merges": { - /** Merge a branch */ - post: operations["repos/merge"]; - }; - "/repos/{owner}/{repo}/milestones": { - /** - * List milestones - * @description Lists milestones for a repository. - */ - get: operations["issues/list-milestones"]; - /** - * Create a milestone - * @description Creates a milestone. - */ - post: operations["issues/create-milestone"]; - }; - "/repos/{owner}/{repo}/milestones/{milestone_number}": { - /** - * Get a milestone - * @description Gets a milestone using the given milestone number. - */ - get: operations["issues/get-milestone"]; - /** - * Delete a milestone - * @description Deletes a milestone using the given milestone number. - */ - delete: operations["issues/delete-milestone"]; - /** Update a milestone */ - patch: operations["issues/update-milestone"]; - }; - "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { - /** - * List labels for issues in a milestone - * @description Lists labels for issues in a milestone. - */ - get: operations["issues/list-labels-for-milestone"]; - }; - "/repos/{owner}/{repo}/notifications": { - /** - * List repository notifications for the authenticated user - * @description Lists all notifications for the current user in the specified repository. - */ - get: operations["activity/list-repo-notifications-for-authenticated-user"]; - /** - * Mark repository notifications as read - * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - put: operations["activity/mark-repo-notifications-as-read"]; - }; - "/repos/{owner}/{repo}/pages": { - /** - * Get a GitHub Pages site - * @description Gets information about a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/get-pages"]; - /** - * Update information about a GitHub Pages site - * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - put: operations["repos/update-information-about-pages-site"]; - /** - * Create a GitHub Pages site - * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - post: operations["repos/create-pages-site"]; - /** - * Delete a GitHub Pages site - * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - delete: operations["repos/delete-pages-site"]; - }; - "/repos/{owner}/{repo}/pages/builds": { - /** - * List GitHub Pages builds - * @description Lists builts of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/list-pages-builds"]; - /** - * Request a GitHub Pages build - * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. - * - * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. - */ - post: operations["repos/request-pages-build"]; - }; - "/repos/{owner}/{repo}/pages/builds/latest": { - /** - * Get latest Pages build - * @description Gets information about the single most recent build of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/get-latest-pages-build"]; - }; - "/repos/{owner}/{repo}/pages/builds/{build_id}": { - /** - * Get GitHub Pages build - * @description Gets information about a GitHub Pages build. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - get: operations["repos/get-pages-build"]; - }; - "/repos/{owner}/{repo}/pages/deployment": { - /** - * Create a GitHub Pages deployment - * @description Create a GitHub Pages deployment for a repository. - * - * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. - */ - post: operations["repos/create-pages-deployment"]; - }; - "/repos/{owner}/{repo}/pages/health": { - /** - * Get a DNS health check for GitHub Pages - * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. - * - * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. - */ - get: operations["repos/get-pages-health-check"]; - }; - "/repos/{owner}/{repo}/private-vulnerability-reporting": { - /** - * Enable private vulnerability reporting for a repository - * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." - */ - put: operations["repos/enable-private-vulnerability-reporting"]; - /** - * Disable private vulnerability reporting for a repository - * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". - */ - delete: operations["repos/disable-private-vulnerability-reporting"]; - }; - "/repos/{owner}/{repo}/projects": { - /** - * List repository projects - * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - get: operations["projects/list-for-repo"]; - /** - * Create a repository project - * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - post: operations["projects/create-for-repo"]; - }; - "/repos/{owner}/{repo}/pulls": { - /** - * List pull requests - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - get: operations["pulls/list"]; - /** - * Create a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. - */ - post: operations["pulls/create"]; - }; - "/repos/{owner}/{repo}/pulls/comments": { - /** - * List review comments in a repository - * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. - */ - get: operations["pulls/list-review-comments-for-repo"]; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { - /** - * Get a review comment for a pull request - * @description Provides details for a review comment. - */ - get: operations["pulls/get-review-comment"]; - /** - * Delete a review comment for a pull request - * @description Deletes a review comment. - */ - delete: operations["pulls/delete-review-comment"]; - /** - * Update a review comment for a pull request - * @description Enables you to edit a review comment. - */ - patch: operations["pulls/update-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { - /** - * List reactions for a pull request review comment - * @description List the reactions to a [pull request review comment](https://docs.github.com/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - get: operations["reactions/list-for-pull-request-review-comment"]; - /** - * Create reaction for a pull request review comment - * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. - */ - post: operations["reactions/create-for-pull-request-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { - /** - * Delete a pull request comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` - * - * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - delete: operations["reactions/delete-for-pull-request-comment"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}": { - /** - * Get a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists details of a pull request by providing its number. - * - * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. - * - * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: - * - * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. - * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. - * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. - * - * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - */ - get: operations["pulls/get"]; - /** - * Update a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - */ - patch: operations["pulls/update"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { - /** - * Create a codespace from a pull request - * @description Creates a codespace owned by the authenticated user for the specified pull request. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/create-with-pr-for-authenticated-user"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { - /** - * List review comments on a pull request - * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. - */ - get: operations["pulls/list-review-comments"]; - /** - * Create a review comment for a pull request - * @description - * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. - * - * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. - * - * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["pulls/create-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { - /** - * Create a reply for a review comment - * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["pulls/create-reply-for-review-comment"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { - /** - * List commits on a pull request - * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. - */ - get: operations["pulls/list-commits"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/files": { - /** - * List pull requests files - * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. - */ - get: operations["pulls/list-files"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { - /** - * Check if a pull request has been merged - * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. - */ - get: operations["pulls/check-if-merged"]; - /** - * Merge a pull request - * @description Merges a pull request into the base branch. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - put: operations["pulls/merge"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { - /** - * Get all requested reviewers for a pull request - * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. - */ - get: operations["pulls/list-requested-reviewers"]; - /** - * Request reviewers for a pull request - * @description Requests reviews for a pull request from a given set of users and/or teams. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["pulls/request-reviewers"]; - /** - * Remove requested reviewers from a pull request - * @description Removes review requests from a pull request for a given set of users and/or teams. - */ - delete: operations["pulls/remove-requested-reviewers"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { - /** - * List reviews for a pull request - * @description The list of reviews returns in chronological order. - */ - get: operations["pulls/list-reviews"]; - /** - * Create a review for a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." - * - * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. - * - * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - */ - post: operations["pulls/create-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { - /** - * Get a review for a pull request - * @description Retrieves a pull request review by its ID. - */ - get: operations["pulls/get-review"]; - /** - * Update a review for a pull request - * @description Update the review summary comment with new text. - */ - put: operations["pulls/update-review"]; - /** - * Delete a pending review for a pull request - * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. - */ - delete: operations["pulls/delete-pending-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { - /** - * List comments for a pull request review - * @description List comments for a specific pull request review. - */ - get: operations["pulls/list-comments-for-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { - /** - * Dismiss a review for a pull request - * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. - */ - put: operations["pulls/dismiss-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { - /** - * Submit a review for a pull request - * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." - */ - post: operations["pulls/submit-review"]; - }; - "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { - /** - * Update a pull request branch - * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. - */ - put: operations["pulls/update-branch"]; - }; - "/repos/{owner}/{repo}/readme": { - /** - * Get a repository README - * @description Gets the preferred README for a repository. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - get: operations["repos/get-readme"]; - }; - "/repos/{owner}/{repo}/readme/{dir}": { - /** - * Get a repository README for a directory - * @description Gets the README from a repository directory. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - get: operations["repos/get-readme-in-directory"]; - }; - "/repos/{owner}/{repo}/releases": { - /** - * List releases - * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). - * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. - */ - get: operations["repos/list-releases"]; - /** - * Create a release - * @description Users with push access to the repository can create a release. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["repos/create-release"]; - }; - "/repos/{owner}/{repo}/releases/assets/{asset_id}": { - /** - * Get a release asset - * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. - */ - get: operations["repos/get-release-asset"]; - /** Delete a release asset */ - delete: operations["repos/delete-release-asset"]; - /** - * Update a release asset - * @description Users with push access to the repository can edit a release asset. - */ - patch: operations["repos/update-release-asset"]; - }; - "/repos/{owner}/{repo}/releases/generate-notes": { - /** - * Generate release notes content for a release - * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. - */ - post: operations["repos/generate-release-notes"]; - }; - "/repos/{owner}/{repo}/releases/latest": { - /** - * Get the latest release - * @description View the latest published full release for the repository. - * - * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. - */ - get: operations["repos/get-latest-release"]; - }; - "/repos/{owner}/{repo}/releases/tags/{tag}": { - /** - * Get a release by tag name - * @description Get a published release with the specified tag. - */ - get: operations["repos/get-release-by-tag"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}": { - /** - * Get a release - * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). - */ - get: operations["repos/get-release"]; - /** - * Delete a release - * @description Users with push access to the repository can delete a release. - */ - delete: operations["repos/delete-release"]; - /** - * Update a release - * @description Users with push access to the repository can edit a release. - */ - patch: operations["repos/update-release"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}/assets": { - /** List release assets */ - get: operations["repos/list-release-assets"]; - /** - * Upload a release asset - * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in - * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. - * - * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. - * - * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: - * - * `application/zip` - * - * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, - * you'll still need to pass your authentication to be able to upload an asset. - * - * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. - * - * **Notes:** - * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" - * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). - * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. - */ - post: operations["repos/upload-release-asset"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}/reactions": { - /** - * List reactions for a release - * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - get: operations["reactions/list-for-release"]; - /** - * Create reaction for a release - * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. - */ - post: operations["reactions/create-for-release"]; - }; - "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { - /** - * Delete a release reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. - * - * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - delete: operations["reactions/delete-for-release"]; - }; - "/repos/{owner}/{repo}/rules/branches/{branch}": { - /** - * Get rules for a branch - * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply - * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level - * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" - * enforcement statuses are not returned. - */ - get: operations["repos/get-branch-rules"]; - }; - "/repos/{owner}/{repo}/rulesets": { - /** - * Get all repository rulesets - * @description Get all the rulesets for a repository. - */ - get: operations["repos/get-repo-rulesets"]; - /** - * Create a repository ruleset - * @description Create a ruleset for a repository. - */ - post: operations["repos/create-repo-ruleset"]; - }; - "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { - /** - * Get a repository ruleset - * @description Get a ruleset for a repository. - */ - get: operations["repos/get-repo-ruleset"]; - /** - * Update a repository ruleset - * @description Update a ruleset for a repository. - */ - put: operations["repos/update-repo-ruleset"]; - /** - * Delete a repository ruleset - * @description Delete a ruleset for a repository. - */ - delete: operations["repos/delete-repo-ruleset"]; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts": { - /** - * List secret scanning alerts for a repository - * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/list-alerts-for-repo"]; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { - /** - * Get a secret scanning alert - * @description Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/get-alert"]; - /** - * Update a secret scanning alert - * @description Updates the status of a secret scanning alert in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. - */ - patch: operations["secret-scanning/update-alert"]; - }; - "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { - /** - * List locations for a secret scanning alert - * @description Lists all locations for a given secret scanning alert for an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - get: operations["secret-scanning/list-locations-for-alert"]; - }; - "/repos/{owner}/{repo}/security-advisories": { - /** - * List repository security advisories - * @description Lists security advisories in a repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to. - * - * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. - */ - get: operations["security-advisories/list-repository-advisories"]; - /** - * Create a repository security advisory - * @description Creates a new repository security advisory. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. - */ - post: operations["security-advisories/create-repository-advisory"]; - }; - "/repos/{owner}/{repo}/security-advisories/reports": { - /** - * Privately report a security vulnerability - * @description Report a security vulnerability to the maintainers of the repository. - * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. - */ - post: operations["security-advisories/create-private-vulnerability-report"]; - }; - "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { - /** - * Get a repository security advisory - * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You can access any published security advisory on a public repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to. - * - * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a - * collaborator on the security advisory. - */ - get: operations["security-advisories/get-repository-advisory"]; - /** - * Update a repository security advisory - * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to update any security advisory, you must be a security manager or administrator of that repository, - * or a collaborator on the repository security advisory. - */ - patch: operations["security-advisories/update-repository-advisory"]; - }; - "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { - /** - * Request a CVE for a repository security advisory - * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." - * - * You may request a CVE for public repositories, but cannot do so for private repositories. - * - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository. - */ - post: operations["security-advisories/create-repository-advisory-cve-request"]; - }; - "/repos/{owner}/{repo}/stargazers": { - /** - * List stargazers - * @description Lists the people that have starred the repository. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - get: operations["activity/list-stargazers-for-repo"]; - }; - "/repos/{owner}/{repo}/stats/code_frequency": { - /** - * Get the weekly commit activity - * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. - */ - get: operations["repos/get-code-frequency-stats"]; - }; - "/repos/{owner}/{repo}/stats/commit_activity": { - /** - * Get the last year of commit activity - * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. - */ - get: operations["repos/get-commit-activity-stats"]; - }; - "/repos/{owner}/{repo}/stats/contributors": { - /** - * Get all contributor commit activity - * @description - * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: - * - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). - * * `a` - Number of additions - * * `d` - Number of deletions - * * `c` - Number of commits - */ - get: operations["repos/get-contributors-stats"]; - }; - "/repos/{owner}/{repo}/stats/participation": { - /** - * Get the weekly commit count - * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. - * - * The array order is oldest week (index 0) to most recent week. - * - * The most recent week is seven days ago at UTC midnight to today at UTC midnight. - */ - get: operations["repos/get-participation-stats"]; - }; - "/repos/{owner}/{repo}/stats/punch_card": { - /** - * Get the hourly commit count for each day - * @description Each array contains the day number, hour number, and number of commits: - * - * * `0-6`: Sunday - Saturday - * * `0-23`: Hour of day - * * Number of commits - * - * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. - */ - get: operations["repos/get-punch-card-stats"]; - }; - "/repos/{owner}/{repo}/statuses/{sha}": { - /** - * Create a commit status - * @description Users with push access in a repository can create commit statuses for a given SHA. - * - * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. - */ - post: operations["repos/create-commit-status"]; - }; - "/repos/{owner}/{repo}/subscribers": { - /** - * List watchers - * @description Lists the people watching the specified repository. - */ - get: operations["activity/list-watchers-for-repo"]; - }; - "/repos/{owner}/{repo}/subscription": { - /** - * Get a repository subscription - * @description Gets information about whether the authenticated user is subscribed to the repository. - */ - get: operations["activity/get-repo-subscription"]; - /** - * Set a repository subscription - * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. - */ - put: operations["activity/set-repo-subscription"]; - /** - * Delete a repository subscription - * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). - */ - delete: operations["activity/delete-repo-subscription"]; - }; - "/repos/{owner}/{repo}/tags": { - /** List repository tags */ - get: operations["repos/list-tags"]; - }; - "/repos/{owner}/{repo}/tags/protection": { - /** - * List tag protection states for a repository - * @description This returns the tag protection states of a repository. - * - * This information is only available to repository administrators. - */ - get: operations["repos/list-tag-protection"]; - /** - * Create a tag protection state for a repository - * @description This creates a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - post: operations["repos/create-tag-protection"]; - }; - "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { - /** - * Delete a tag protection state for a repository - * @description This deletes a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - delete: operations["repos/delete-tag-protection"]; - }; - "/repos/{owner}/{repo}/tarball/{ref}": { - /** - * Download a repository archive (tar) - * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * **Note**: For private repositories, these links are temporary and expire after five minutes. - */ - get: operations["repos/download-tarball-archive"]; - }; - "/repos/{owner}/{repo}/teams": { - /** - * List repository teams - * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. - * - * For a public repository, a team is listed only if that team added the public repository explicitly. - * - * Personal access tokens require the following scopes: - * * `public_repo` to call this endpoint on a public repository - * * `repo` to call this endpoint on a private repository (this scope also includes public repositories) - * - * This endpoint is not compatible with fine-grained personal access tokens. - */ - get: operations["repos/list-teams"]; - }; - "/repos/{owner}/{repo}/topics": { - /** Get all repository topics */ - get: operations["repos/get-all-topics"]; - /** Replace all repository topics */ - put: operations["repos/replace-all-topics"]; - }; - "/repos/{owner}/{repo}/traffic/clones": { - /** - * Get repository clones - * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - get: operations["repos/get-clones"]; - }; - "/repos/{owner}/{repo}/traffic/popular/paths": { - /** - * Get top referral paths - * @description Get the top 10 popular contents over the last 14 days. - */ - get: operations["repos/get-top-paths"]; - }; - "/repos/{owner}/{repo}/traffic/popular/referrers": { - /** - * Get top referral sources - * @description Get the top 10 referrers over the last 14 days. - */ - get: operations["repos/get-top-referrers"]; - }; - "/repos/{owner}/{repo}/traffic/views": { - /** - * Get page views - * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - get: operations["repos/get-views"]; - }; - "/repos/{owner}/{repo}/transfer": { - /** - * Transfer a repository - * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). - * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account. - */ - post: operations["repos/transfer"]; - }; - "/repos/{owner}/{repo}/vulnerability-alerts": { - /** - * Check if vulnerability alerts are enabled for a repository - * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - get: operations["repos/check-vulnerability-alerts"]; - /** - * Enable vulnerability alerts - * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - put: operations["repos/enable-vulnerability-alerts"]; - /** - * Disable vulnerability alerts - * @description Disables dependency alerts and the dependency graph for a repository. - * The authenticated user must have admin access to the repository. For more information, - * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - delete: operations["repos/disable-vulnerability-alerts"]; - }; - "/repos/{owner}/{repo}/zipball/{ref}": { - /** - * Download a repository archive (zip) - * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * - * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. - */ - get: operations["repos/download-zipball-archive"]; - }; - "/repos/{template_owner}/{template_repo}/generate": { - /** - * Create a repository using a template - * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - post: operations["repos/create-using-template"]; - }; - "/repositories": { - /** - * List public repositories - * @description Lists all public repositories in the order that they were created. - * - * Note: - * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. - */ - get: operations["repos/list-public"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/secrets": { - /** - * List environment secrets - * @description Lists all secrets available in an environment without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/list-environment-secrets"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { - /** - * Get an environment public key - * @description Get the public key for an environment, which you need to encrypt environment - * secrets. You need to encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-environment-public-key"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { - /** - * Get an environment secret - * @description Gets a single environment secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - get: operations["actions/get-environment-secret"]; - /** - * Create or update an environment secret - * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - put: operations["actions/create-or-update-environment-secret"]; - /** - * Delete an environment secret - * @description Deletes a secret in an environment using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - delete: operations["actions/delete-environment-secret"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/variables": { - /** - * List environment variables - * @description Lists all environment variables. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/list-environment-variables"]; - /** - * Create an environment variable - * @description Create an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - post: operations["actions/create-environment-variable"]; - }; - "/repositories/{repository_id}/environments/{environment_name}/variables/{name}": { - /** - * Get an environment variable - * @description Gets a specific variable in an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - get: operations["actions/get-environment-variable"]; - /** - * Delete an environment variable - * @description Deletes an environment variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - delete: operations["actions/delete-environment-variable"]; - /** - * Update an environment variable - * @description Updates an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - patch: operations["actions/update-environment-variable"]; - }; - "/search/code": { - /** - * Search code - * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: - * - * `q=addClass+in:file+language:js+repo:jquery/jquery` - * - * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. - * - * Considerations for code search: - * - * Due to the complexity of searching code, there are a few restrictions on how searches are performed: - * - * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. - * * Only files smaller than 384 KB are searchable. - * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing - * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. - * - * This endpoint requires you to authenticate and limits you to 10 requests per minute. - */ - get: operations["search/code"]; - }; - "/search/commits": { - /** - * Search commits - * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match - * metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: - * - * `q=repo:octocat/Spoon-Knife+css` - */ - get: operations["search/commits"]; - }; - "/search/issues": { - /** - * Search issues and pull requests - * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted - * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. - * - * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` - * - * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. - * - * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." - */ - get: operations["search/issues-and-pull-requests"]; - }; - "/search/labels": { - /** - * Search labels - * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: - * - * `q=bug+defect+enhancement&repository_id=64778136` - * - * The labels that best match the query appear first in the search results. - */ - get: operations["search/labels"]; - }; - "/search/repositories": { - /** - * Search repositories - * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: - * - * `q=tetris+language:assembly&sort=stars&order=desc` - * - * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. - */ - get: operations["search/repos"]; - }; - "/search/topics": { - /** - * Search topics - * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. - * - * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: - * - * `q=ruby+is:featured` - * - * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. - */ - get: operations["search/topics"]; - }; - "/search/users": { - /** - * Search users - * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you're looking for a list of popular users, you might try this query: - * - * `q=tom+repos:%3E42+followers:%3E1000` - * - * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. - * - * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." - */ - get: operations["search/users"]; - }; - "/teams/{team_id}": { - /** - * Get a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. - */ - get: operations["teams/get-legacy"]; - /** - * Delete a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. - * - * To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - */ - delete: operations["teams/delete-legacy"]; - /** - * Update a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. - * - * To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. - */ - patch: operations["teams/update-legacy"]; - }; - "/teams/{team_id}/discussions": { - /** - * List discussions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. - * - * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/list-discussions-legacy"]; - /** - * Create a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. - * - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["teams/create-discussion-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}": { - /** - * Get a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. - * - * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/get-discussion-legacy"]; - /** - * Delete a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. - * - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["teams/delete-discussion-legacy"]; - /** - * Update a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. - * - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - patch: operations["teams/update-discussion-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments": { - /** - * List discussion comments (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. - * - * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/list-discussion-comments-legacy"]; - /** - * Create a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. - * - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - post: operations["teams/create-discussion-comment-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { - /** - * Get a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. - * - * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["teams/get-discussion-comment-legacy"]; - /** - * Delete a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. - * - * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["teams/delete-discussion-comment-legacy"]; - /** - * Update a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. - * - * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - patch: operations["teams/update-discussion-comment-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { - /** - * List reactions for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. - * - * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["reactions/list-for-team-discussion-comment-legacy"]; - /** - * Create reaction for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. - * - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - */ - post: operations["reactions/create-for-team-discussion-comment-legacy"]; - }; - "/teams/{team_id}/discussions/{discussion_number}/reactions": { - /** - * List reactions for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. - * - * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["reactions/list-for-team-discussion-legacy"]; - /** - * Create reaction for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. - * - * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - */ - post: operations["reactions/create-for-team-discussion-legacy"]; - }; - "/teams/{team_id}/invitations": { - /** - * List pending team invitations (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. - * - * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - get: operations["teams/list-pending-invitations-legacy"]; - }; - "/teams/{team_id}/members": { - /** - * List team members (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. - * - * Team members will include the members of child teams. - */ - get: operations["teams/list-members-legacy"]; - }; - "/teams/{team_id}/members/{username}": { - /** - * Get team member (Legacy) - * @deprecated - * @description The "Get team member" endpoint (described below) is deprecated. - * - * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - get: operations["teams/get-member-legacy"]; - /** - * Add team member (Legacy) - * @deprecated - * @description The "Add team member" endpoint (described below) is deprecated. - * - * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["teams/add-member-legacy"]; - /** - * Remove team member (Legacy) - * @deprecated - * @description The "Remove team member" endpoint (described below) is deprecated. - * - * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - delete: operations["teams/remove-member-legacy"]; - }; - "/teams/{team_id}/memberships/{username}": { - /** - * Get team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. - * - * Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - get: operations["teams/get-membership-for-user-legacy"]; - /** - * Add or update team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - */ - put: operations["teams/add-or-update-membership-for-user-legacy"]; - /** - * Remove team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - delete: operations["teams/remove-membership-for-user-legacy"]; - }; - "/teams/{team_id}/projects": { - /** - * List team projects (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/teams/teams#list-team-projects) endpoint. - * - * Lists the organization projects for a team. - */ - get: operations["teams/list-projects-legacy"]; - }; - "/teams/{team_id}/projects/{project_id}": { - /** - * Check team permissions for a project (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project) endpoint. - * - * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - */ - get: operations["teams/check-permissions-for-project-legacy"]; - /** - * Add or update team project permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions) endpoint. - * - * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - */ - put: operations["teams/add-or-update-project-permissions-legacy"]; - /** - * Remove a project from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team) endpoint. - * - * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. - */ - delete: operations["teams/remove-project-legacy"]; - }; - "/teams/{team_id}/repos": { - /** - * List team repositories (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. - */ - get: operations["teams/list-repos-legacy"]; - }; - "/teams/{team_id}/repos/{owner}/{repo}": { - /** - * Check team permissions for a repository (Legacy) - * @deprecated - * @description **Note**: Repositories inherited through a parent team will also be checked. - * - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: - */ - get: operations["teams/check-permissions-for-repo-legacy"]; - /** - * Add or update team repository permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. - * - * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["teams/add-or-update-repo-permissions-legacy"]; - /** - * Remove a repository from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. - * - * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. - */ - delete: operations["teams/remove-repo-legacy"]; - }; - "/teams/{team_id}/teams": { - /** - * List child teams (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. - */ - get: operations["teams/list-child-legacy"]; - }; - "/user": { - /** - * Get the authenticated user - * @description If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information. - * - * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. - */ - get: operations["users/get-authenticated"]; - /** - * Update the authenticated user - * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. - */ - patch: operations["users/update-authenticated"]; - }; - "/user/blocks": { - /** - * List users blocked by the authenticated user - * @description List the users you've blocked on your personal account. - */ - get: operations["users/list-blocked-by-authenticated-user"]; - }; - "/user/blocks/{username}": { - /** - * Check if a user is blocked by the authenticated user - * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. - */ - get: operations["users/check-blocked"]; - /** - * Block a user - * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. - */ - put: operations["users/block"]; - /** - * Unblock a user - * @description Unblocks the given user and returns a 204. - */ - delete: operations["users/unblock"]; - }; - "/user/codespaces": { - /** - * List codespaces for the authenticated user - * @description Lists the authenticated user's codespaces. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/list-for-authenticated-user"]; - /** - * Create a codespace for the authenticated user - * @description Creates a new codespace, owned by the authenticated user. - * - * This endpoint requires either a `repository_id` OR a `pull_request` but not both. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/create-for-authenticated-user"]; - }; - "/user/codespaces/secrets": { - /** - * List secrets for the authenticated user - * @description Lists all secrets available for a user's Codespaces without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - get: operations["codespaces/list-secrets-for-authenticated-user"]; - }; - "/user/codespaces/secrets/public-key": { - /** - * Get public key for the authenticated user - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - get: operations["codespaces/get-public-key-for-authenticated-user"]; - }; - "/user/codespaces/secrets/{secret_name}": { - /** - * Get a secret for the authenticated user - * @description Gets a secret available to a user's codespaces without revealing its encrypted value. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - get: operations["codespaces/get-secret-for-authenticated-user"]; - /** - * Create or update a secret for the authenticated user - * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; - /** - * Delete a secret for the authenticated user - * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - delete: operations["codespaces/delete-secret-for-authenticated-user"]; - }; - "/user/codespaces/secrets/{secret_name}/repositories": { - /** - * List selected repositories for a user secret - * @description List the repositories that have been granted the ability to use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; - /** - * Set selected repositories for a user secret - * @description Select the repositories that will use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; - }; - "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { - /** - * Add a selected repository to a user secret - * @description Adds a repository to the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. - */ - put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; - /** - * Remove a selected repository from a user secret - * @description Removes a repository from the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}": { - /** - * Get a codespace for the authenticated user - * @description Gets information about a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - get: operations["codespaces/get-for-authenticated-user"]; - /** - * Delete a codespace for the authenticated user - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - delete: operations["codespaces/delete-for-authenticated-user"]; - /** - * Update a codespace for the authenticated user - * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. - * - * If you specify a new machine type it will be applied the next time your codespace is started. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - patch: operations["codespaces/update-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/exports": { - /** - * Export a codespace for the authenticated user - * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. - * - * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - post: operations["codespaces/export-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/exports/{export_id}": { - /** - * Get details about a codespace export - * @description Gets information about an export of a codespace. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - get: operations["codespaces/get-export-details-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/machines": { - /** - * List machine types for a codespace - * @description List the machine types a codespace can transition to use. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - get: operations["codespaces/codespace-machines-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/publish": { - /** - * Create a repository from an unpublished codespace - * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. - * - * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. - * - * This will fail for a codespace that is already published, meaning it has an associated repository. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - post: operations["codespaces/publish-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/start": { - /** - * Start a codespace for the authenticated user - * @description Starts a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - post: operations["codespaces/start-for-authenticated-user"]; - }; - "/user/codespaces/{codespace_name}/stop": { - /** - * Stop a codespace for the authenticated user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - post: operations["codespaces/stop-for-authenticated-user"]; - }; - "/user/docker/conflicts": { - /** - * Get list of conflicting packages during Docker migration for authenticated-user - * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; - }; - "/user/email/visibility": { - /** - * Set primary email visibility for the authenticated user - * @description Sets the visibility for your primary email addresses. - */ - patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; - }; - "/user/emails": { - /** - * List email addresses for the authenticated user - * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. - */ - get: operations["users/list-emails-for-authenticated-user"]; - /** - * Add an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - post: operations["users/add-email-for-authenticated-user"]; - /** - * Delete an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - delete: operations["users/delete-email-for-authenticated-user"]; - }; - "/user/followers": { - /** - * List followers of the authenticated user - * @description Lists the people following the authenticated user. - */ - get: operations["users/list-followers-for-authenticated-user"]; - }; - "/user/following": { - /** - * List the people the authenticated user follows - * @description Lists the people who the authenticated user follows. - */ - get: operations["users/list-followed-by-authenticated-user"]; - }; - "/user/following/{username}": { - /** Check if a person is followed by the authenticated user */ - get: operations["users/check-person-is-followed-by-authenticated"]; - /** - * Follow a user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - put: operations["users/follow"]; - /** - * Unfollow a user - * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - delete: operations["users/unfollow"]; - }; - "/user/gpg_keys": { - /** - * List GPG keys for the authenticated user - * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/list-gpg-keys-for-authenticated-user"]; - /** - * Create a GPG key for the authenticated user - * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - post: operations["users/create-gpg-key-for-authenticated-user"]; - }; - "/user/gpg_keys/{gpg_key_id}": { - /** - * Get a GPG key for the authenticated user - * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/get-gpg-key-for-authenticated-user"]; - /** - * Delete a GPG key for the authenticated user - * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["users/delete-gpg-key-for-authenticated-user"]; - }; - "/user/installations": { - /** - * List app installations accessible to the user access token - * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You can find the permissions for the installation under the `permissions` key. - */ - get: operations["apps/list-installations-for-authenticated-user"]; - }; - "/user/installations/{installation_id}/repositories": { - /** - * List repositories accessible to the user access token - * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The access the user has to each repository is included in the hash under the `permissions` key. - */ - get: operations["apps/list-installation-repos-for-authenticated-user"]; - }; - "/user/installations/{installation_id}/repositories/{repository_id}": { - /** - * Add a repository to an app installation - * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - put: operations["apps/add-repo-to-installation-for-authenticated-user"]; - /** - * Remove a repository from an app installation - * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; - }; - "/user/interaction-limits": { - /** - * Get interaction restrictions for your public repositories - * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. - */ - get: operations["interactions/get-restrictions-for-authenticated-user"]; - /** - * Set interaction restrictions for your public repositories - * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. - */ - put: operations["interactions/set-restrictions-for-authenticated-user"]; - /** - * Remove interaction restrictions from your public repositories - * @description Removes any interaction restrictions from your public repositories. - */ - delete: operations["interactions/remove-restrictions-for-authenticated-user"]; - }; - "/user/issues": { - /** - * List user account issues assigned to the authenticated user - * @description List issues across owned and member repositories assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - get: operations["issues/list-for-authenticated-user"]; - }; - "/user/keys": { - /** - * List public SSH keys for the authenticated user - * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/list-public-ssh-keys-for-authenticated-user"]; - /** - * Create a public SSH key for the authenticated user - * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - post: operations["users/create-public-ssh-key-for-authenticated-user"]; - }; - "/user/keys/{key_id}": { - /** - * Get a public SSH key for the authenticated user - * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - get: operations["users/get-public-ssh-key-for-authenticated-user"]; - /** - * Delete a public SSH key for the authenticated user - * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; - }; - "/user/marketplace_purchases": { - /** - * List subscriptions for the authenticated user - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - get: operations["apps/list-subscriptions-for-authenticated-user"]; - }; - "/user/marketplace_purchases/stubbed": { - /** - * List subscriptions for the authenticated user (stubbed) - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; - }; - "/user/memberships/orgs": { - /** - * List organization memberships for the authenticated user - * @description Lists all of the authenticated user's organization memberships. - */ - get: operations["orgs/list-memberships-for-authenticated-user"]; - }; - "/user/memberships/orgs/{org}": { - /** - * Get an organization membership for the authenticated user - * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. - */ - get: operations["orgs/get-membership-for-authenticated-user"]; - /** - * Update an organization membership for the authenticated user - * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. - */ - patch: operations["orgs/update-membership-for-authenticated-user"]; - }; - "/user/migrations": { - /** - * List user migrations - * @description Lists all migrations a user has started. - */ - get: operations["migrations/list-for-authenticated-user"]; - /** - * Start a user migration - * @description Initiates the generation of a user migration archive. - */ - post: operations["migrations/start-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}": { - /** - * Get a user migration status - * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: - * - * * `pending` - the migration hasn't started yet. - * * `exporting` - the migration is in progress. - * * `exported` - the migration finished successfully. - * * `failed` - the migration failed. - * - * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). - */ - get: operations["migrations/get-status-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/archive": { - /** - * Download a user migration archive - * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: - * - * * attachments - * * bases - * * commit\_comments - * * issue\_comments - * * issue\_events - * * issues - * * milestones - * * organizations - * * projects - * * protected\_branches - * * pull\_request\_reviews - * * pull\_requests - * * releases - * * repositories - * * review\_comments - * * schema - * * users - * - * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. - */ - get: operations["migrations/get-archive-for-authenticated-user"]; - /** - * Delete a user migration archive - * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. - */ - delete: operations["migrations/delete-archive-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/repos/{repo_name}/lock": { - /** - * Unlock a user repository - * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. - */ - delete: operations["migrations/unlock-repo-for-authenticated-user"]; - }; - "/user/migrations/{migration_id}/repositories": { - /** - * List repositories for a user migration - * @description Lists all the repositories for this user migration. - */ - get: operations["migrations/list-repos-for-authenticated-user"]; - }; - "/user/orgs": { - /** - * List organizations for the authenticated user - * @description List organizations for the authenticated user. - * - * **OAuth scope requirements** - * - * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. - */ - get: operations["orgs/list-for-authenticated-user"]; - }; - "/user/packages": { - /** - * List packages for the authenticated user's namespace - * @description Lists packages owned by the authenticated user within the user's namespace. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}": { - /** - * Get a package for the authenticated user - * @description Gets a specific package for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-authenticated-user"]; - /** - * Delete a package for the authenticated user - * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/restore": { - /** - * Restore a package for the authenticated user - * @description Restores a package owned by the authenticated user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/versions": { - /** - * List package versions for a package owned by the authenticated user - * @description Lists package versions for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { - /** - * Get a package version for the authenticated user - * @description Gets a specific package version for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-authenticated-user"]; - /** - * Delete a package version for the authenticated user - * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-authenticated-user"]; - }; - "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - /** - * Restore a package version for the authenticated user - * @description Restores a package version owned by the authenticated user. - * - * You can restore a deleted package version under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-authenticated-user"]; - }; - "/user/projects": { - /** - * Create a user project - * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - post: operations["projects/create-for-authenticated-user"]; - }; - "/user/public_emails": { - /** - * List public email addresses for the authenticated user - * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. - */ - get: operations["users/list-public-emails-for-authenticated-user"]; - }; - "/user/repos": { - /** - * List repositories for the authenticated user - * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - */ - get: operations["repos/list-for-authenticated-user"]; - /** - * Create a repository for the authenticated user - * @description Creates a new repository for the authenticated user. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository. - */ - post: operations["repos/create-for-authenticated-user"]; - }; - "/user/repository_invitations": { - /** - * List repository invitations for the authenticated user - * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. - */ - get: operations["repos/list-invitations-for-authenticated-user"]; - }; - "/user/repository_invitations/{invitation_id}": { - /** Decline a repository invitation */ - delete: operations["repos/decline-invitation-for-authenticated-user"]; - /** Accept a repository invitation */ - patch: operations["repos/accept-invitation-for-authenticated-user"]; - }; - "/user/social_accounts": { - /** - * List social accounts for the authenticated user - * @description Lists all of your social accounts. - */ - get: operations["users/list-social-accounts-for-authenticated-user"]; - /** - * Add social accounts for the authenticated user - * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - post: operations["users/add-social-account-for-authenticated-user"]; - /** - * Delete social accounts for the authenticated user - * @description Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - delete: operations["users/delete-social-account-for-authenticated-user"]; - }; - "/user/ssh_signing_keys": { - /** - * List SSH signing keys for the authenticated user - * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; - /** - * Create a SSH signing key for the authenticated user - * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - post: operations["users/create-ssh-signing-key-for-authenticated-user"]; - }; - "/user/ssh_signing_keys/{ssh_signing_key_id}": { - /** - * Get an SSH signing key for the authenticated user - * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - get: operations["users/get-ssh-signing-key-for-authenticated-user"]; - /** - * Delete an SSH signing key for the authenticated user - * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; - }; - "/user/starred": { - /** - * List repositories starred by the authenticated user - * @description Lists repositories the authenticated user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - get: operations["activity/list-repos-starred-by-authenticated-user"]; - }; - "/user/starred/{owner}/{repo}": { - /** - * Check if a repository is starred by the authenticated user - * @description Whether the authenticated user has starred the repository. - */ - get: operations["activity/check-repo-is-starred-by-authenticated-user"]; - /** - * Star a repository for the authenticated user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - put: operations["activity/star-repo-for-authenticated-user"]; - /** - * Unstar a repository for the authenticated user - * @description Unstar a repository that the authenticated user has previously starred. - */ - delete: operations["activity/unstar-repo-for-authenticated-user"]; - }; - "/user/subscriptions": { - /** - * List repositories watched by the authenticated user - * @description Lists repositories the authenticated user is watching. - */ - get: operations["activity/list-watched-repos-for-authenticated-user"]; - }; - "/user/teams": { - /** - * List teams for the authenticated user - * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. - */ - get: operations["teams/list-for-authenticated-user"]; - }; - "/users": { - /** - * List users - * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. - * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. - */ - get: operations["users/list"]; - }; - "/users/{username}": { - /** - * Get a user - * @description Provides publicly available information about someone with a GitHub account. - * - * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" - * - * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). - * - * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". - */ - get: operations["users/get-by-username"]; - }; - "/users/{username}/docker/conflicts": { - /** - * Get list of conflicting packages during Docker migration for user - * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; - }; - "/users/{username}/events": { - /** - * List events for the authenticated user - * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. - */ - get: operations["activity/list-events-for-authenticated-user"]; - }; - "/users/{username}/events/orgs/{org}": { - /** - * List organization events for the authenticated user - * @description This is the user's organization dashboard. You must be authenticated as the user to view this. - */ - get: operations["activity/list-org-events-for-authenticated-user"]; - }; - "/users/{username}/events/public": { - /** List public events for a user */ - get: operations["activity/list-public-events-for-user"]; - }; - "/users/{username}/followers": { - /** - * List followers of a user - * @description Lists the people following the specified user. - */ - get: operations["users/list-followers-for-user"]; - }; - "/users/{username}/following": { - /** - * List the people a user follows - * @description Lists the people who the specified user follows. - */ - get: operations["users/list-following-for-user"]; - }; - "/users/{username}/following/{target_user}": { - /** Check if a user follows another user */ - get: operations["users/check-following-for-user"]; - }; - "/users/{username}/gists": { - /** - * List gists for a user - * @description Lists public gists for the specified user: - */ - get: operations["gists/list-for-user"]; - }; - "/users/{username}/gpg_keys": { - /** - * List GPG keys for a user - * @description Lists the GPG keys for a user. This information is accessible by anyone. - */ - get: operations["users/list-gpg-keys-for-user"]; - }; - "/users/{username}/hovercard": { - /** - * Get contextual information for a user - * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. - * - * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: - * - * ```shell - * curl -u username:token - * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 - * ``` - */ - get: operations["users/get-context-for-user"]; - }; - "/users/{username}/installation": { - /** - * Get a user installation for the authenticated app - * @description Enables an authenticated GitHub App to find the user’s installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - get: operations["apps/get-user-installation"]; - }; - "/users/{username}/keys": { - /** - * List public keys for a user - * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. - */ - get: operations["users/list-public-keys-for-user"]; - }; - "/users/{username}/orgs": { - /** - * List organizations for a user - * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. - * - * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. - */ - get: operations["orgs/list-for-user"]; - }; - "/users/{username}/packages": { - /** - * List packages for a user - * @description Lists all packages in a user's namespace for which the requesting user has access. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/list-packages-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}": { - /** - * Get a package for a user - * @description Gets a specific package metadata for a public package owned by a user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-for-user"]; - /** - * Delete a package for a user - * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/restore": { - /** - * Restore a package for a user - * @description Restores an entire package for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions": { - /** - * List package versions for a package owned by a user - * @description Lists package versions for a public package owned by a specified user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { - /** - * Get a package version for a user - * @description Gets a specific package version for a public package owned by a specified user. - * - * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - get: operations["packages/get-package-version-for-user"]; - /** - * Delete package version for a user - * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - delete: operations["packages/delete-package-version-for-user"]; - }; - "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { - /** - * Restore package version for a user - * @description Restores a specific package version for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - post: operations["packages/restore-package-version-for-user"]; - }; - "/users/{username}/projects": { - /** - * List user projects - * @description Lists projects for a user. - */ - get: operations["projects/list-for-user"]; - }; - "/users/{username}/received_events": { - /** - * List events received by the authenticated user - * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. - */ - get: operations["activity/list-received-events-for-user"]; - }; - "/users/{username}/received_events/public": { - /** List public events received by a user */ - get: operations["activity/list-received-public-events-for-user"]; - }; - "/users/{username}/repos": { - /** - * List repositories for a user - * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. - */ - get: operations["repos/list-for-user"]; - }; - "/users/{username}/settings/billing/actions": { - /** - * Get GitHub Actions billing for a user - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `user` scope. - */ - get: operations["billing/get-github-actions-billing-user"]; - }; - "/users/{username}/settings/billing/packages": { - /** - * Get GitHub Packages billing for a user - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - get: operations["billing/get-github-packages-billing-user"]; - }; - "/users/{username}/settings/billing/shared-storage": { - /** - * Get shared storage billing for a user - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - get: operations["billing/get-shared-storage-billing-user"]; - }; - "/users/{username}/social_accounts": { - /** - * List social accounts for a user - * @description Lists social media accounts for a user. This endpoint is accessible by anyone. - */ - get: operations["users/list-social-accounts-for-user"]; - }; - "/users/{username}/ssh_signing_keys": { - /** - * List SSH signing keys for a user - * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. - */ - get: operations["users/list-ssh-signing-keys-for-user"]; - }; - "/users/{username}/starred": { - /** - * List repositories starred by a user - * @description Lists repositories a user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - get: operations["activity/list-repos-starred-by-user"]; - }; - "/users/{username}/subscriptions": { - /** - * List repositories watched by a user - * @description Lists repositories a user is watching. - */ - get: operations["activity/list-repos-watched-by-user"]; - }; - "/versions": { - /** - * Get all API versions - * @description Get all supported GitHub API versions. - */ - get: operations["meta/get-all-versions"]; - }; - "/zen": { - /** - * Get the Zen of GitHub - * @description Get a random sentence from the Zen of GitHub - */ - get: operations["meta/get-zen"]; - }; -} - -export type webhooks = Record; - -export interface components { - schemas: { - root: { - /** Format: uri-template */ - current_user_url: string; - /** Format: uri-template */ - current_user_authorizations_html_url: string; - /** Format: uri-template */ - authorizations_url: string; - /** Format: uri-template */ - code_search_url: string; - /** Format: uri-template */ - commit_search_url: string; - /** Format: uri-template */ - emails_url: string; - /** Format: uri-template */ - emojis_url: string; - /** Format: uri-template */ - events_url: string; - /** Format: uri-template */ - feeds_url: string; - /** Format: uri-template */ - followers_url: string; - /** Format: uri-template */ - following_url: string; - /** Format: uri-template */ - gists_url: string; - /** Format: uri-template */ - hub_url: string; - /** Format: uri-template */ - issue_search_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - label_search_url: string; - /** Format: uri-template */ - notifications_url: string; - /** Format: uri-template */ - organization_url: string; - /** Format: uri-template */ - organization_repositories_url: string; - /** Format: uri-template */ - organization_teams_url: string; - /** Format: uri-template */ - public_gists_url: string; - /** Format: uri-template */ - rate_limit_url: string; - /** Format: uri-template */ - repository_url: string; - /** Format: uri-template */ - repository_search_url: string; - /** Format: uri-template */ - current_user_repositories_url: string; - /** Format: uri-template */ - starred_url: string; - /** Format: uri-template */ - starred_gists_url: string; - /** Format: uri-template */ - topic_search_url?: string; - /** Format: uri-template */ - user_url: string; - /** Format: uri-template */ - user_organizations_url: string; - /** Format: uri-template */ - user_repositories_url: string; - /** Format: uri-template */ - user_search_url: string; - }; - /** - * @description The package's language or package management ecosystem. - * @enum {string} - */ - "security-advisory-ecosystems": "rubygems" | "npm" | "pip" | "maven" | "nuget" | "composer" | "go" | "rust" | "erlang" | "actions" | "pub" | "other" | "swift"; - /** - * Simple User - * @description A GitHub user. - */ - "simple-user": { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** - * @description The type of credit the user is receiving. - * @enum {string} - */ - "security-advisory-credit-types": "analyst" | "finder" | "reporter" | "coordinator" | "remediation_developer" | "remediation_reviewer" | "remediation_verifier" | "tool" | "sponsor" | "other"; - /** @description A GitHub Security Advisory. */ - "global-advisory": { - /** @description The GitHub Security Advisory ID. */ - ghsa_id: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id: string | null; - /** @description The API URL for the advisory. */ - url: string; - /** - * Format: uri - * @description The URL for the advisory. - */ - html_url: string; - /** - * Format: uri - * @description The API URL for the repository advisory. - */ - repository_advisory_url: string | null; - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory entails. */ - description: string | null; - /** - * @description The type of advisory. - * @enum {string} - */ - type: "reviewed" | "unreviewed" | "malware"; - /** - * @description The severity of the advisory. - * @enum {string} - */ - severity: "critical" | "high" | "medium" | "low" | "unknown"; - /** - * Format: uri - * @description The URL of the advisory's source code. - */ - source_code_location: string | null; - identifiers: (readonly ({ - /** - * @description The type of identifier. - * @enum {string} - */ - type: "CVE" | "GHSA"; - /** @description The identifier value. */ - value: string; - })[]) | null; - references: string[] | null; - /** - * Format: date-time - * @description The date and time of when the advisory was published, in ISO 8601 format. - */ - published_at: string; - /** - * Format: date-time - * @description The date and time of when the advisory was last updated, in ISO 8601 format. - */ - updated_at: string; - /** - * Format: date-time - * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format. - */ - github_reviewed_at: string | null; - /** - * Format: date-time - * @description The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format. - * This field is only populated when the advisory is imported from the National Vulnerability Database. - */ - nvd_published_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. - */ - withdrawn_at: string | null; - /** @description The products and respective version ranges affected by the advisory. */ - vulnerabilities: (({ - /** @description The name of the package affected by the vulnerability. */ - package: ({ - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name: string | null; - }) | null; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range: string | null; - /** @description The package version that resolve the vulnerability. */ - first_patched_version: string | null; - /** @description The functions in the package that are affected by the vulnerability. */ - vulnerable_functions: (readonly string[]) | null; - })[]) | null; - cvss: ({ - /** @description The CVSS vector. */ - vector_string: string | null; - /** @description The CVSS score. */ - score: number | null; - }) | null; - cwes: { - /** @description The Common Weakness Enumeration (CWE) identifier. */ - cwe_id: string; - /** @description The name of the CWE. */ - name: string; - }[] | null; - /** @description The users who contributed to the advisory. */ - credits: (readonly { - user: components["schemas"]["simple-user"]; - type: components["schemas"]["security-advisory-credit-types"]; - }[]) | null; - }; - /** - * Basic Error - * @description Basic Error - */ - "basic-error": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - /** - * Validation Error Simple - * @description Validation Error Simple - */ - "validation-error-simple": { - message: string; - documentation_url: string; - errors?: string[]; - }; - /** - * Simple User - * @description A GitHub user. - */ - "nullable-simple-user": ({ - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }) | null; - /** - * GitHub app - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - integration: { - /** - * @description Unique identifier of the GitHub app - * @example 37 - */ - id: number; - /** - * @description The slug name of the GitHub app - * @example probot-owners - */ - slug?: string; - /** @example MDExOkludGVncmF0aW9uMQ== */ - node_id: string; - owner: components["schemas"]["nullable-simple-user"]; - /** - * @description The name of the GitHub app - * @example Probot Owners - */ - name: string; - /** @example The description of the app. */ - description: string | null; - /** - * Format: uri - * @example https://example.com - */ - external_url: string; - /** - * Format: uri - * @example https://github.com/apps/super-ci - */ - html_url: string; - /** - * Format: date-time - * @example 2017-07-08T16:18:44-04:00 - */ - created_at: string; - /** - * Format: date-time - * @example 2017-07-08T16:18:44-04:00 - */ - updated_at: string; - /** - * @description The set of permissions for the GitHub app - * @example { - * "issues": "read", - * "deployments": "write" - * } - */ - permissions: { - issues?: string; - checks?: string; - metadata?: string; - contents?: string; - deployments?: string; - [key: string]: string | undefined; - }; - /** - * @description The list of events for the GitHub app - * @example [ - * "label", - * "deployment" - * ] - */ - events: string[]; - /** - * @description The number of installations associated with the GitHub app - * @example 5 - */ - installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; - /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ - client_secret?: string; - /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ - webhook_secret?: string | null; - /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ - pem?: string; - }; - /** - * Format: uri - * @description The URL to which the payloads will be delivered. - * @example https://example.com/webhook - */ - "webhook-config-url": string; - /** - * @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. - * @example "json" - */ - "webhook-config-content-type": string; - /** - * @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). - * @example "********" - */ - "webhook-config-secret": string; - "webhook-config-insecure-ssl": string | number; - /** - * Webhook Configuration - * @description Configuration object of the webhook - */ - "webhook-config": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - /** - * Simple webhook delivery - * @description Delivery made by a webhook, without request and response information. - */ - "hook-delivery-item": { - /** - * @description Unique identifier of the webhook delivery. - * @example 42 - */ - id: number; - /** - * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). - * @example 58474f00-b361-11eb-836d-0e4f3503ccbe - */ - guid: string; - /** - * Format: date-time - * @description Time when the webhook delivery occurred. - * @example 2021-05-12T20:33:44Z - */ - delivered_at: string; - /** - * @description Whether the webhook delivery is a redelivery. - * @example false - */ - redelivery: boolean; - /** - * @description Time spent delivering. - * @example 0.03 - */ - duration: number; - /** - * @description Describes the response returned after attempting the delivery. - * @example failed to connect - */ - status: string; - /** - * @description Status code received when delivery was made. - * @example 502 - */ - status_code: number; - /** - * @description The event that triggered the delivery. - * @example issues - */ - event: string; - /** - * @description The type of activity for the event that triggered the delivery. - * @example opened - */ - action: string | null; - /** - * @description The id of the GitHub App installation associated with this event. - * @example 123 - */ - installation_id: number | null; - /** - * @description The id of the repository associated with this event. - * @example 123 - */ - repository_id: number | null; - }; - /** - * Scim Error - * @description Scim Error - */ - "scim-error": { - message?: string | null; - documentation_url?: string | null; - detail?: string | null; - status?: number; - scimType?: string | null; - schemas?: string[]; - }; - /** - * Validation Error - * @description Validation Error - */ - "validation-error": { - message: string; - documentation_url: string; - errors?: ({ - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - })[]; - }; - /** - * Webhook delivery - * @description Delivery made by a webhook. - */ - "hook-delivery": { - /** - * @description Unique identifier of the delivery. - * @example 42 - */ - id: number; - /** - * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). - * @example 58474f00-b361-11eb-836d-0e4f3503ccbe - */ - guid: string; - /** - * Format: date-time - * @description Time when the delivery was delivered. - * @example 2021-05-12T20:33:44Z - */ - delivered_at: string; - /** - * @description Whether the delivery is a redelivery. - * @example false - */ - redelivery: boolean; - /** - * @description Time spent delivering. - * @example 0.03 - */ - duration: number; - /** - * @description Description of the status of the attempted delivery - * @example failed to connect - */ - status: string; - /** - * @description Status code received when delivery was made. - * @example 502 - */ - status_code: number; - /** - * @description The event that triggered the delivery. - * @example issues - */ - event: string; - /** - * @description The type of activity for the event that triggered the delivery. - * @example opened - */ - action: string | null; - /** - * @description The id of the GitHub App installation associated with this event. - * @example 123 - */ - installation_id: number | null; - /** - * @description The id of the repository associated with this event. - * @example 123 - */ - repository_id: number | null; - /** - * @description The URL target of the delivery. - * @example https://www.example.com - */ - url?: string; - request: { - /** @description The request headers sent with the webhook delivery. */ - headers: { - [key: string]: unknown; - } | null; - /** @description The webhook payload. */ - payload: { - [key: string]: unknown; - } | null; - }; - response: { - /** @description The response headers received when the delivery was made. */ - headers: { - [key: string]: unknown; - } | null; - /** @description The response payload received. */ - payload: string | null; - }; - }; - /** - * Enterprise - * @description An enterprise on GitHub. - */ - enterprise: { - /** @description A short description of the enterprise. */ - description?: string | null; - /** - * Format: uri - * @example https://github.com/enterprises/octo-business - */ - html_url: string; - /** - * Format: uri - * @description The enterprise's website URL. - */ - website_url?: string | null; - /** - * @description Unique identifier of the enterprise - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the enterprise. - * @example Octo Business - */ - name: string; - /** - * @description The slug url identifier for the enterprise. - * @example octo-business - */ - slug: string; - /** - * Format: date-time - * @example 2019-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2019-01-26T19:14:43Z - */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }; - /** - * Integration Installation Request - * @description Request to install an integration on a target - */ - "integration-installation-request": { - /** - * @description Unique identifier of the request installation. - * @example 42 - */ - id: number; - /** @example MDExOkludGVncmF0aW9uMQ== */ - node_id?: string; - account: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; - requester: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @example 2022-07-08T16:18:44-04:00 - */ - created_at: string; - }; - /** - * App Permissions - * @description The permissions granted to the user access token. - * @example { - * "contents": "read", - * "issues": "read", - * "deployments": "write", - * "single_file": "read" - * } - */ - "app-permissions": { - /** - * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - * @enum {string} - */ - actions?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - * @enum {string} - */ - administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token for checks on code. - * @enum {string} - */ - checks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - * @enum {string} - */ - contents?: "read" | "write"; - /** - * @description The level of permission to grant the access token for deployments and deployment statuses. - * @enum {string} - */ - deployments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for managing repository environments. - * @enum {string} - */ - environments?: "read" | "write"; - /** - * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - * @enum {string} - */ - issues?: "read" | "write"; - /** - * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - * @enum {string} - */ - metadata?: "read" | "write"; - /** - * @description The level of permission to grant the access token for packages published to GitHub Packages. - * @enum {string} - */ - packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - * @enum {string} - */ - pages?: "read" | "write"; - /** - * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - * @enum {string} - */ - pull_requests?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - * @enum {string} - */ - repository_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository projects, columns, and cards. - * @enum {string} - */ - repository_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token to view and manage secret scanning alerts. - * @enum {string} - */ - secret_scanning_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage repository secrets. - * @enum {string} - */ - secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - * @enum {string} - */ - security_events?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage just a single file. - * @enum {string} - */ - single_file?: "read" | "write"; - /** - * @description The level of permission to grant the access token for commit statuses. - * @enum {string} - */ - statuses?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage Dependabot alerts. - * @enum {string} - */ - vulnerability_alerts?: "read" | "write"; - /** - * @description The level of permission to grant the access token to update GitHub Actions workflow files. - * @enum {string} - */ - workflows?: "write"; - /** - * @description The level of permission to grant the access token for organization teams and members. - * @enum {string} - */ - members?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage access to an organization. - * @enum {string} - */ - organization_administration?: "read" | "write"; - /** - * @description The level of permission to grant the access token for custom repository roles management. This property is in beta and is subject to change. - * @enum {string} - */ - organization_custom_roles?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage announcement banners for an organization. - * @enum {string} - */ - organization_announcement_banners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - * @enum {string} - */ - organization_hooks?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization. - * @enum {string} - */ - organization_personal_access_tokens?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. - * @enum {string} - */ - organization_personal_access_token_requests?: "read" | "write"; - /** - * @description The level of permission to grant the access token for viewing an organization's plan. - * @enum {string} - */ - organization_plan?: "read"; - /** - * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - * @enum {string} - */ - organization_projects?: "read" | "write" | "admin"; - /** - * @description The level of permission to grant the access token for organization packages published to GitHub Packages. - * @enum {string} - */ - organization_packages?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage organization secrets. - * @enum {string} - */ - organization_secrets?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - * @enum {string} - */ - organization_self_hosted_runners?: "read" | "write"; - /** - * @description The level of permission to grant the access token to view and manage users blocked by the organization. - * @enum {string} - */ - organization_user_blocking?: "read" | "write"; - /** - * @description The level of permission to grant the access token to manage team discussions and related comments. - * @enum {string} - */ - team_discussions?: "read" | "write"; - }; - /** - * Installation - * @description Installation - */ - installation: { - /** - * @description The ID of the installation. - * @example 1 - */ - id: number; - account: (components["schemas"]["simple-user"] | components["schemas"]["enterprise"]) | null; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** - * Format: uri - * @example https://api.github.com/app/installations/1/access_tokens - */ - access_tokens_url: string; - /** - * Format: uri - * @example https://api.github.com/installation/repositories - */ - repositories_url: string; - /** - * Format: uri - * @example https://github.com/organizations/github/settings/installations/1 - */ - html_url: string; - /** @example 1 */ - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - /** @example Organization */ - target_type: string; - permissions: components["schemas"]["app-permissions"]; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** - * @example [ - * "config.yml", - * ".github/issue_TEMPLATE.md" - * ] - */ - single_file_paths?: string[]; - /** @example github-actions */ - app_slug: string; - suspended_by: components["schemas"]["nullable-simple-user"]; - /** Format: date-time */ - suspended_at: string | null; - /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ - contact_email?: string | null; - }; - /** - * License Simple - * @description License Simple - */ - "nullable-license-simple": ({ - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** - * Format: uri - * @example https://api.github.com/licenses/mit - */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - }) | null; - /** - * Repository - * @description A repository on GitHub. - */ - repository: { - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @deprecated - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions?: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: ({ - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + "/": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * GitHub API Root + * @description Get Hypermedia links to resources accessible in GitHub's REST API + */ + get: operations["meta/root"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/advisories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List global security advisories + * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. + * + * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." + */ + get: operations["security-advisories/list-global-advisories"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/advisories/{ghsa_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a global security advisory + * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. + */ + get: operations["security-advisories/get-global-advisory"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the authenticated app + * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-authenticated"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app-manifests/{code}/conversions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a GitHub App from a manifest + * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. + */ + post: operations["apps/create-from-manifest"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/hook/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a webhook configuration for an app + * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + get: operations["apps/get-webhook-config-for-app"]; + put: never; + post: never; + delete: never; + options: never; + head: never; /** - * @description The default value for a squash merge commit message: + * Update a webhook configuration for an app + * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + patch: operations["apps/update-webhook-config-for-app"]; + trace: never; + }; + "/app/hook/deliveries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description The default value for a merge commit title. + * List deliveries for an app webhook + * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/list-webhook-deliveries"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/hook/deliveries/{delivery_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a delivery for an app webhook + * @description Returns a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-webhook-delivery"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/hook/deliveries/{delivery_id}/attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Redeliver a delivery for an app webhook + * @description Redeliver a delivery for the webhook configured for a GitHub App. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/redeliver-webhook-delivery"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installation-requests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List installation requests for the authenticated app + * @description Lists all the pending installation requests for the authenticated GitHub App. + */ + get: operations["apps/list-installation-requests-for-authenticated-app"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List installations for the authenticated app + * @description You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ + get: operations["apps/list-installations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installations/{installation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an installation for the authenticated app + * @description Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + get: operations["apps/get-installation"]; + put: never; + post: never; /** - * @description The default value for a merge commit message. + * Delete an installation for the authenticated app + * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - }) | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - * @example false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; - /** - * Installation Token - * @description Authentication token for a GitHub App installed on a user or org. - */ - "installation-token": { - token: string; - expires_at: string; - permissions?: components["schemas"]["app-permissions"]; - /** @enum {string} */ - repository_selection?: "all" | "selected"; - repositories?: components["schemas"]["repository"][]; - /** @example README.md */ - single_file?: string; - /** @example true */ - has_multiple_single_files?: boolean; - /** - * @example [ - * "config.yml", - * ".github/issue_TEMPLATE.md" - * ] - */ - single_file_paths?: string[]; - }; - /** Scoped Installation */ - "nullable-scoped-installation": ({ - permissions: components["schemas"]["app-permissions"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** - * @example [ - * "config.yml", - * ".github/issue_TEMPLATE.md" - * ] - */ - single_file_paths?: string[]; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repositories_url: string; - account: components["schemas"]["simple-user"]; - }) | null; - /** - * Authorization - * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. - */ - authorization: { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - user?: components["schemas"]["nullable-simple-user"]; - installation?: components["schemas"]["nullable-scoped-installation"]; - /** Format: date-time */ - expires_at: string | null; - }; - /** - * Simple Classroom Repository - * @description A GitHub repository view for Classroom - */ - "simple-classroom-repository": { - /** - * @description A unique identifier of the repository. - * @example 1296269 - */ - id: number; - /** - * @description The full, globally unique name of the repository. - * @example octocat/Hello-World - */ - full_name: string; - /** - * Format: uri - * @description The URL to view the repository on GitHub.com. - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** - * @description The GraphQL identifier of the repository. - * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 - */ - node_id: string; - /** @description Whether the repository is private. */ - private: boolean; - /** - * @description The default branch for the repository. - * @example main - */ - default_branch: string; - }; - /** - * Organization Simple for Classroom - * @description A GitHub organization. - */ - "simple-classroom-organization": { - /** @example 1 */ - id: number; - /** @example github */ - login: string; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/github - */ - html_url: string; - /** @example Github - Code thigns happen here */ - name: string | null; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - }; - /** - * Classroom - * @description A GitHub Classroom classroom - */ - classroom: { - /** - * @description Unique identifier of the classroom. - * @example 42 - */ - id: number; - /** - * @description The name of the classroom. - * @example Programming Elixir - */ - name: string; - /** - * @description Whether classroom is archived. - * @example false - */ - archived: boolean; - organization: components["schemas"]["simple-classroom-organization"]; - /** - * @description The URL of the classroom on GitHub Classroom. - * @example https://classroom.github.com/classrooms/1-programming-elixir - */ - url: string; - }; - /** - * Classroom Assignment - * @description A GitHub Classroom assignment - */ - "classroom-assignment": { - /** - * @description Unique identifier of the repository. - * @example 42 - */ - id: number; - /** - * @description Whether an accepted assignment creates a public repository. - * @example true - */ - public_repo: boolean; - /** - * @description Assignment title. - * @example Intro to Binaries - */ - title: string; - /** - * @description Whether it's a group assignment or individual assignment. - * @example individual - * @enum {string} - */ - type: "individual" | "group"; - /** - * @description The link that a student can use to accept the assignment. - * @example https://classroom.github.com/a/Lx7jiUgx - */ - invite_link: string; - /** - * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. - * @example true - */ - invitations_enabled: boolean; - /** - * @description Sluggified name of the assignment. - * @example intro-to-binaries - */ - slug: string; - /** - * @description Whether students are admins on created repository when a student accepts the assignment. - * @example true - */ - students_are_repo_admins: boolean; - /** - * @description Whether feedback pull request will be created when a student accepts the assignment. - * @example true - */ - feedback_pull_requests_enabled: boolean; - /** - * @description The maximum allowable teams for the assignment. - * @example 0 - */ - max_teams: number | null; - /** - * @description The maximum allowable members per team. - * @example 0 - */ - max_members: number | null; - /** - * @description The selected editor for the assignment. - * @example codespaces - */ - editor: string; - /** - * @description The number of students that have accepted the assignment. - * @example 25 - */ - accepted: number; - /** - * @description The number of students that have submitted the assignment. - * @example 10 - */ - submitted: number; - /** - * @description The number of students that have passed the assignment. - * @example 10 - */ - passing: number; - /** - * @description The programming language used in the assignment. - * @example elixir - */ - language: string; - /** - * Format: date-time - * @description The time at which the assignment is due. - * @example 2011-01-26T19:06:43Z - */ - deadline: string | null; - starter_code_repository: components["schemas"]["simple-classroom-repository"]; - classroom: components["schemas"]["classroom"]; - }; - /** - * Simple Classroom User - * @description A GitHub user simplified for Classroom. - */ - "simple-classroom-user": { - /** @example 1 */ - id: number; - /** @example octocat */ - login: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - }; - /** - * Simple Classroom - * @description A GitHub Classroom classroom - */ - "simple-classroom": { - /** - * @description Unique identifier of the classroom. - * @example 42 - */ - id: number; - /** - * @description The name of the classroom. - * @example Programming Elixir - */ - name: string; - /** - * @description Returns whether classroom is archived or not. - * @example false - */ - archived: boolean; - /** - * @description The url of the classroom on GitHub Classroom. - * @example https://classroom.github.com/classrooms/1-programming-elixir - */ - url: string; - }; - /** - * Simple Classroom Assignment - * @description A GitHub Classroom assignment - */ - "simple-classroom-assignment": { - /** - * @description Unique identifier of the repository. - * @example 42 - */ - id: number; - /** - * @description Whether an accepted assignment creates a public repository. - * @example true - */ - public_repo: boolean; - /** - * @description Assignment title. - * @example Intro to Binaries - */ - title: string; - /** - * @description Whether it's a Group Assignment or Individual Assignment. - * @example individual - * @enum {string} - */ - type: "individual" | "group"; - /** - * @description The link that a student can use to accept the assignment. - * @example https://classroom.github.com/a/Lx7jiUgx - */ - invite_link: string; - /** - * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. - * @example true - */ - invitations_enabled: boolean; - /** - * @description Sluggified name of the assignment. - * @example intro-to-binaries - */ - slug: string; - /** - * @description Whether students are admins on created repository on accepted assignment. - * @example true - */ - students_are_repo_admins: boolean; - /** - * @description Whether feedback pull request will be created on assignment acceptance. - * @example true - */ - feedback_pull_requests_enabled: boolean; - /** - * @description The maximum allowable teams for the assignment. - * @example 0 - */ - max_teams?: number | null; - /** - * @description The maximum allowable members per team. - * @example 0 - */ - max_members?: number | null; - /** - * @description The selected editor for the assignment. - * @example codespaces - */ - editor: string; - /** - * @description The number of students that have accepted the assignment. - * @example 25 - */ - accepted: number; - /** - * @description The number of students that have submitted the assignment. - * @example 10 - */ - submitted: number; - /** - * @description The number of students that have passed the assignment. - * @example 10 - */ - passing: number; - /** - * @description The programming language used in the assignment. - * @example elixir - */ - language: string; - /** - * Format: date-time - * @description The time at which the assignment is due. - * @example 2011-01-26T19:06:43Z - */ - deadline: string | null; - classroom: components["schemas"]["simple-classroom"]; - }; - /** - * Classroom Accepted Assignment - * @description A GitHub Classroom accepted assignment - */ - "classroom-accepted-assignment": { - /** - * @description Unique identifier of the repository. - * @example 42 - */ - id: number; - /** - * @description Whether an accepted assignment has been submitted. - * @example true - */ - submitted: boolean; - /** - * @description Whether a submission passed. - * @example true - */ - passing: boolean; - /** - * @description Count of student commits. - * @example 5 - */ - commit_count: number; - /** - * @description Most recent grade. - * @example 10/10 - */ - grade: string; - students: components["schemas"]["simple-classroom-user"][]; - repository: components["schemas"]["simple-classroom-repository"]; - assignment: components["schemas"]["simple-classroom-assignment"]; - }; - /** - * Classroom Assignment Grade - * @description Grade for a student or groups GitHub Classroom assignment - */ - "classroom-assignment-grade": { - /** @description Name of the assignment */ - assignment_name: string; - /** @description URL of the assignment */ - assignment_url: string; - /** @description URL of the starter code for the assignment */ - starter_code_url: string; - /** @description GitHub username of the student */ - github_username: string; - /** @description Roster identifier of the student */ - roster_identifier: string; - /** @description Name of the student's assignment repository */ - student_repository_name: string; - /** @description URL of the student's assignment repository */ - student_repository_url: string; - /** @description Timestamp of the student's assignment submission */ - submission_timestamp: string; - /** @description Number of points awarded to the student */ - points_awarded: number; - /** @description Number of points available for the assignment */ - points_available: number; - /** @description If a group assignment, name of the group the student is in */ - group_name?: string; - }; - /** - * Code Of Conduct - * @description Code Of Conduct - */ - "code-of-conduct": { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** - * Format: uri - * @example https://api.github.com/codes_of_conduct/contributor_covenant - */ - url: string; - /** - * @example # Contributor Covenant Code of Conduct - * - * ## Our Pledge - * - * In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - * - * ## Our Standards - * - * Examples of behavior that contributes to creating a positive environment include: - * - * * Using welcoming and inclusive language - * * Being respectful of differing viewpoints and experiences - * * Gracefully accepting constructive criticism - * * Focusing on what is best for the community - * * Showing empathy towards other community members - * - * Examples of unacceptable behavior by participants include: - * - * * The use of sexualized language or imagery and unwelcome sexual attention or advances - * * Trolling, insulting/derogatory comments, and personal or political attacks - * * Public or private harassment - * * Publishing others' private information, such as a physical or electronic address, without explicit permission - * * Other conduct which could reasonably be considered inappropriate in a professional setting - * - * ## Our Responsibilities - * - * Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - * to any instances of unacceptable behavior. - * - * Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - * - * ## Scope - * - * This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - * posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - * - * ## Enforcement - * - * Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - * - * Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - * - * ## Attribution - * - * This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - * - * [homepage]: http://contributor-covenant.org - * [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - /** @description The security alert number. */ - readonly "alert-number": number; - /** @description Details for the vulnerable package. */ - readonly "dependabot-alert-package": { - /** @description The package's language or package management ecosystem. */ - readonly ecosystem: string; - /** @description The unique package name within its ecosystem. */ - readonly name: string; - }; - /** @description Details pertaining to one vulnerable version range for the advisory. */ - readonly "dependabot-alert-security-vulnerability": { - readonly package: components["schemas"]["dependabot-alert-package"]; - /** - * @description The severity of the vulnerability. - * @enum {string} - */ - readonly severity: "low" | "medium" | "high" | "critical"; - /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ - readonly vulnerable_version_range: string; - /** @description Details pertaining to the package version that patches this vulnerability. */ - readonly first_patched_version: { - /** @description The package version that patches this vulnerability. */ - readonly identifier: string; - } | null; - }; - /** @description Details for the GitHub Security Advisory. */ - readonly "dependabot-alert-security-advisory": { - /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ - readonly ghsa_id: string; - /** @description The unique CVE ID assigned to the advisory. */ - readonly cve_id: string | null; - /** @description A short, plain text summary of the advisory. */ - readonly summary: string; - /** @description A long-form Markdown-supported description of the advisory. */ - readonly description: string; - /** @description Vulnerable version range information for the advisory. */ - readonly vulnerabilities: readonly components["schemas"]["dependabot-alert-security-vulnerability"][]; - /** - * @description The severity of the advisory. - * @enum {string} - */ - readonly severity: "low" | "medium" | "high" | "critical"; - /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ - readonly cvss: { - /** @description The overall CVSS score of the advisory. */ - readonly score: number; - /** @description The full CVSS vector string for the advisory. */ - readonly vector_string: string | null; - }; - /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ - readonly cwes: readonly { - /** @description The unique CWE ID. */ - readonly cwe_id: string; - /** @description The short, plain text name of the CWE. */ - readonly name: string; - }[]; - /** @description Values that identify this advisory among security information sources. */ - readonly identifiers: readonly ({ - /** - * @description The type of advisory identifier. - * @enum {string} - */ - readonly type: "CVE" | "GHSA"; - /** @description The value of the advisory identifer. */ - readonly value: string; - })[]; - /** @description Links to additional advisory information. */ - readonly references: readonly { - /** - * Format: uri - * @description The URL of the reference. - */ - readonly url: string; - }[]; - /** - * Format: date-time - * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly published_at: string; - /** - * Format: date-time - * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly updated_at: string; - /** - * Format: date-time - * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly withdrawn_at: string | null; - }; - /** - * Format: uri - * @description The REST API URL of the alert resource. - */ - readonly "alert-url": string; - /** - * Format: uri - * @description The GitHub URL of the alert resource. - */ - readonly "alert-html-url": string; - /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-created-at": string; - /** - * Format: date-time - * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-updated-at": string; - /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-dismissed-at": string | null; - /** - * Format: date-time - * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-fixed-at": string | null; - /** - * Format: date-time - * @description The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "alert-auto-dismissed-at": string | null; - /** - * Simple Repository - * @description A GitHub repository. - */ - "simple-repository": { - /** - * @description A unique identifier of the repository. - * @example 1296269 - */ - id: number; - /** - * @description The GraphQL identifier of the repository. - * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 - */ - node_id: string; - /** - * @description The name of the repository. - * @example Hello-World - */ - name: string; - /** - * @description The full, globally unique, name of the repository. - * @example octocat/Hello-World - */ - full_name: string; - owner: components["schemas"]["simple-user"]; - /** @description Whether the repository is private. */ - private: boolean; - /** - * Format: uri - * @description The URL to view the repository on GitHub.com. - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** - * @description The repository description. - * @example This your first repo! - */ - description: string | null; - /** @description Whether the repository is a fork. */ - fork: boolean; - /** - * Format: uri - * @description The URL to get more information about the repository from the GitHub API. - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** - * @description A template for the API URL to download the repository as an archive. - * @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} - */ - archive_url: string; - /** - * @description A template for the API URL to list the available assignees for issues in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} - */ - assignees_url: string; - /** - * @description A template for the API URL to create or retrieve a raw Git blob in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} - */ - blobs_url: string; - /** - * @description A template for the API URL to get information about branches in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} - */ - branches_url: string; - /** - * @description A template for the API URL to get information about collaborators of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} - */ - collaborators_url: string; - /** - * @description A template for the API URL to get information about comments on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/comments{/number} - */ - comments_url: string; - /** - * @description A template for the API URL to get information about commits on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} - */ - commits_url: string; - /** - * @description A template for the API URL to compare two commits or refs. - * @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} - */ - compare_url: string; - /** - * @description A template for the API URL to get the contents of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} - */ - contents_url: string; - /** - * Format: uri - * @description A template for the API URL to list the contributors to the repository. - * @example https://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @description The API URL to list the deployments of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @description The API URL to list the downloads on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @description The API URL to list the events of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @description The API URL to list the forks of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** - * @description A template for the API URL to get information about Git commits of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} - */ - git_commits_url: string; - /** - * @description A template for the API URL to get information about Git refs of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} - */ - git_refs_url: string; - /** - * @description A template for the API URL to get information about Git tags of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} - */ - git_tags_url: string; - /** - * @description A template for the API URL to get information about issue comments on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} - */ - issue_comment_url: string; - /** - * @description A template for the API URL to get information about issue events on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} - */ - issue_events_url: string; - /** - * @description A template for the API URL to get information about issues on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/issues{/number} - */ - issues_url: string; - /** - * @description A template for the API URL to get information about deploy keys on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} - */ - keys_url: string; - /** - * @description A template for the API URL to get information about labels of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/labels{/name} - */ - labels_url: string; - /** - * Format: uri - * @description The API URL to get information about the languages of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @description The API URL to merge branches in the repository. - * @example https://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** - * @description A template for the API URL to get information about milestones of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} - */ - milestones_url: string; - /** - * @description A template for the API URL to get information about notifications on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} - */ - notifications_url: string; - /** - * @description A template for the API URL to get information about pull requests on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} - */ - pulls_url: string; - /** - * @description A template for the API URL to get information about releases on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/releases{/id} - */ - releases_url: string; - /** - * Format: uri - * @description The API URL to list the stargazers on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** - * @description A template for the API URL to get information about statuses of a commit. - * @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} - */ - statuses_url: string; - /** - * Format: uri - * @description The API URL to list the subscribers on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @description The API URL to subscribe to notifications for this repository. - * @example https://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @description The API URL to get information about tags on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @description The API URL to list the teams on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** - * @description A template for the API URL to create or retrieve a raw Git tree of the repository. - * @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} - */ - trees_url: string; - /** - * Format: uri - * @description The API URL to list the hooks on the repository. - * @example https://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - }; - /** @description A Dependabot alert. */ - "dependabot-alert-with-repository": { - number: components["schemas"]["alert-number"]; - /** - * @description The state of the Dependabot alert. - * @enum {string} - */ - state: "auto_dismissed" | "dismissed" | "fixed" | "open"; - /** @description Details for the vulnerable dependency. */ - dependency: { - readonly package?: components["schemas"]["dependabot-alert-package"]; - /** @description The full path to the dependency manifest file, relative to the root of the repository. */ - readonly manifest_path?: string; - /** - * @description The execution scope of the vulnerable dependency. - * @enum {string|null} - */ - readonly scope?: "development" | "runtime" | null; - }; - security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; - security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at: components["schemas"]["alert-updated-at"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - /** - * @description The reason that the alert was dismissed. - * @enum {string|null} - */ - dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; - /** @description An optional comment associated with the alert's dismissal. */ - dismissed_comment: string | null; - fixed_at: components["schemas"]["alert-fixed-at"]; - auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; - repository: components["schemas"]["simple-repository"]; - }; - /** - * Format: date-time - * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "nullable-alert-updated-at": string | null; - /** - * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - * @enum {string} - */ - "secret-scanning-alert-state": "open" | "resolved"; - /** - * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - * @enum {string|null} - */ - "secret-scanning-alert-resolution": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | null; - "organization-secret-scanning-alert": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["nullable-alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - state?: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: string | null; - resolved_by?: components["schemas"]["nullable-simple-user"]; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** - * @description User-friendly name for the detected secret, matching the `secret_type`. - * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." - */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - repository?: components["schemas"]["simple-repository"]; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: string | null; - /** @description The comment that was optionally added when this alert was closed */ - resolution_comment?: string | null; - }; - /** - * Actor - * @description Actor - */ - actor: { - id: number; - login: string; - display_login?: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - avatar_url: string; - }; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - "nullable-milestone": ({ - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/milestones/v1.0 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels - */ - labels_url: string; - /** @example 1002604 */ - id: number; - /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ - node_id: string; - /** - * @description The number of the milestone. - * @example 42 - */ - number: number; - /** - * @description The state of the milestone. - * @default open - * @example open - * @enum {string} - */ - state: "open" | "closed"; - /** - * @description The title of the milestone. - * @example v1.0 - */ - title: string; - /** @example Tracking milestone for version 1.0 */ - description: string | null; - creator: components["schemas"]["nullable-simple-user"]; - /** @example 4 */ - open_issues: number; - /** @example 8 */ - closed_issues: number; - /** - * Format: date-time - * @example 2011-04-10T20:09:31Z - */ - created_at: string; - /** - * Format: date-time - * @example 2014-03-03T18:58:10Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2013-02-12T13:22:01Z - */ - closed_at: string | null; - /** - * Format: date-time - * @example 2012-10-09T23:39:01Z - */ - due_on: string | null; - }) | null; - /** - * GitHub app - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - "nullable-integration": ({ - /** - * @description Unique identifier of the GitHub app - * @example 37 - */ - id: number; - /** - * @description The slug name of the GitHub app - * @example probot-owners - */ - slug?: string; - /** @example MDExOkludGVncmF0aW9uMQ== */ - node_id: string; - owner: components["schemas"]["nullable-simple-user"]; - /** - * @description The name of the GitHub app - * @example Probot Owners - */ - name: string; - /** @example The description of the app. */ - description: string | null; - /** - * Format: uri - * @example https://example.com - */ - external_url: string; - /** - * Format: uri - * @example https://github.com/apps/super-ci - */ - html_url: string; - /** - * Format: date-time - * @example 2017-07-08T16:18:44-04:00 - */ - created_at: string; - /** - * Format: date-time - * @example 2017-07-08T16:18:44-04:00 - */ - updated_at: string; - /** - * @description The set of permissions for the GitHub app - * @example { - * "issues": "read", - * "deployments": "write" - * } - */ - permissions: { - issues?: string; - checks?: string; - metadata?: string; - contents?: string; - deployments?: string; - [key: string]: string | undefined; - }; - /** - * @description The list of events for the GitHub app - * @example [ - * "label", - * "deployment" - * ] - */ - events: string[]; - /** - * @description The number of installations associated with the GitHub app - * @example 5 - */ - installations_count?: number; - /** @example "Iv1.25b5d1e65ffc4022" */ - client_id?: string; - /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ - client_secret?: string; - /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ - webhook_secret?: string | null; - /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ - pem?: string; - }) | null; - /** - * author_association - * @description How the author is associated with the repository. - * @example OWNER - * @enum {string} - */ - "author-association": "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** Reaction Rollup */ - "reaction-rollup": { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - "-1": number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; - /** - * Issue - * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. - */ - issue: { - /** Format: int64 */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue - * @example https://api.github.com/repositories/42/issues/1 - */ - url: string; - /** Format: uri */ - repository_url: string; - labels_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** - * @description Number uniquely identifying the issue within its repository - * @example 42 - */ - number: number; - /** - * @description State of the issue; either 'open' or 'closed' - * @example open - */ - state: string; - /** - * @description The reason for the current state - * @example not_planned - * @enum {string|null} - */ - state_reason?: "completed" | "reopened" | "not_planned" | null; - /** - * @description Title of the issue - * @example Widget creation fails in Safari on OS X 10.8 - */ - title: string; - /** - * @description Contents of the issue - * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? - */ - body?: string | null; - user: components["schemas"]["nullable-simple-user"]; - /** - * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository - * @example [ - * "bug", - * "registration" - * ] - */ - labels: (OneOf<[string, { - /** Format: int64 */ - id?: number; - node_id?: string; - /** Format: uri */ - url?: string; - name?: string; - description?: string | null; - color?: string | null; - default?: boolean; - }]>)[]; - assignee: components["schemas"]["nullable-simple-user"]; - assignees?: components["schemas"]["simple-user"][] | null; - milestone: components["schemas"]["nullable-milestone"]; - locked: boolean; - active_lock_reason?: string | null; - comments: number; - pull_request?: { - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - diff_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - patch_url: string | null; - /** Format: uri */ - url: string | null; - }; - /** Format: date-time */ - closed_at: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - draft?: boolean; - closed_by?: components["schemas"]["nullable-simple-user"]; - body_html?: string; - body_text?: string; - /** Format: uri */ - timeline_url?: string; - repository?: components["schemas"]["repository"]; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Issue Comment - * @description Comments provide a way for people to collaborate on an issue. - */ - "issue-comment": { - /** - * Format: int64 - * @description Unique identifier of the issue comment - * @example 42 - */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue comment - * @example https://api.github.com/repositories/42/issues/comments/1 - */ - url: string; - /** - * @description Contents of the issue comment - * @example What version of Safari were you using when you observed this bug? - */ - body?: string; - body_text?: string; - body_html?: string; - /** Format: uri */ - html_url: string; - user: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - updated_at: string; - /** Format: uri */ - issue_url: string; - author_association: components["schemas"]["author-association"]; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Event - * @description Event - */ - event: { - id: string; - type: string | null; - actor: components["schemas"]["actor"]; - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - org?: components["schemas"]["actor"]; - payload: { - action?: string; - issue?: components["schemas"]["issue"]; - comment?: components["schemas"]["issue-comment"]; - pages?: ({ - page_name?: string; - title?: string; - summary?: string | null; - action?: string; - sha?: string; - html_url?: string; - })[]; - }; - public: boolean; - /** Format: date-time */ - created_at: string | null; - }; - /** - * Link With Type - * @description Hypermedia Link with Type - */ - "link-with-type": { - href: string; - type: string; - }; - /** - * Feed - * @description Feed - */ - feed: { - /** @example https://github.com/timeline */ - timeline_url: string; - /** @example https://github.com/{user} */ - user_url: string; - /** @example https://github.com/octocat */ - current_user_public_url?: string; - /** @example https://github.com/octocat.private?token=abc123 */ - current_user_url?: string; - /** @example https://github.com/octocat.private.actor?token=abc123 */ - current_user_actor_url?: string; - /** @example https://github.com/octocat-org */ - current_user_organization_url?: string; - /** - * @example [ - * "https://github.com/organizations/github/octocat.private.atom?token=abc123" - * ] - */ - current_user_organization_urls?: string[]; - /** @example https://github.com/security-advisories */ - security_advisories_url?: string; - /** - * @description A feed of discussions for a given repository. - * @example https://github.com/{user}/{repo}/discussions - */ - repository_discussions_url?: string; - /** - * @description A feed of discussions for a given repository and category. - * @example https://github.com/{user}/{repo}/discussions/categories/{category} - */ - repository_discussions_category_url?: string; - _links: { - timeline: components["schemas"]["link-with-type"]; - user: components["schemas"]["link-with-type"]; - security_advisories?: components["schemas"]["link-with-type"]; - current_user?: components["schemas"]["link-with-type"]; - current_user_public?: components["schemas"]["link-with-type"]; - current_user_actor?: components["schemas"]["link-with-type"]; - current_user_organization?: components["schemas"]["link-with-type"]; - current_user_organizations?: components["schemas"]["link-with-type"][]; - repository_discussions?: components["schemas"]["link-with-type"]; - repository_discussions_category?: components["schemas"]["link-with-type"]; - }; - }; - /** - * Base Gist - * @description Base Gist - */ - "base-gist": { - /** Format: uri */ - url: string; - /** Format: uri */ - forks_url: string; - /** Format: uri */ - commits_url: string; - id: string; - node_id: string; - /** Format: uri */ - git_pull_url: string; - /** Format: uri */ - git_push_url: string; - /** Format: uri */ - html_url: string; - files: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - }; - }; - public: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - description: string | null; - comments: number; - user: components["schemas"]["nullable-simple-user"]; - /** Format: uri */ - comments_url: string; - owner?: components["schemas"]["simple-user"]; - truncated?: boolean; - forks?: unknown[]; - history?: unknown[]; - }; - /** - * Public User - * @description Public User - */ - "public-user": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - events_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - site_admin: boolean; - name: string | null; - company: string | null; - blog: string | null; - location: string | null; - /** Format: email */ - email: string | null; - hireable: boolean | null; - bio: string | null; - twitter_username?: string | null; - public_repos: number; - public_gists: number; - followers: number; - following: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - plan?: { - collaborators: number; - name: string; - space: number; - private_repos: number; - }; - /** Format: date-time */ - suspended_at?: string | null; - /** @example 1 */ - private_gists?: number; - /** @example 2 */ - total_private_repos?: number; - /** @example 2 */ - owned_private_repos?: number; - /** @example 1 */ - disk_usage?: number; - /** @example 3 */ - collaborators?: number; - }; - /** - * Gist History - * @description Gist History - */ - "gist-history": { - user?: components["schemas"]["nullable-simple-user"]; - version?: string; - /** Format: date-time */ - committed_at?: string; - change_status?: { - total?: number; - additions?: number; - deletions?: number; - }; - /** Format: uri */ - url?: string; - }; - /** - * Gist Simple - * @description Gist Simple - */ - "gist-simple": { - /** @deprecated */ - forks?: { - id?: string; - /** Format: uri */ - url?: string; - user?: components["schemas"]["public-user"]; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - }[] | null; - /** @deprecated */ - history?: components["schemas"]["gist-history"][] | null; - /** - * Gist - * @description Gist - */ - fork_of?: ({ - /** Format: uri */ - url: string; - /** Format: uri */ - forks_url: string; - /** Format: uri */ - commits_url: string; - id: string; - node_id: string; - /** Format: uri */ - git_pull_url: string; - /** Format: uri */ - git_push_url: string; - /** Format: uri */ - html_url: string; - files: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - }; - }; - public: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - description: string | null; - comments: number; - user: components["schemas"]["nullable-simple-user"]; - /** Format: uri */ - comments_url: string; - owner?: components["schemas"]["nullable-simple-user"]; - truncated?: boolean; - forks?: unknown[]; - history?: unknown[]; - }) | null; - url?: string; - forks_url?: string; - commits_url?: string; - id?: string; - node_id?: string; - git_pull_url?: string; - git_push_url?: string; - html_url?: string; - files?: { - [key: string]: { - filename?: string; - type?: string; - language?: string; - raw_url?: string; - size?: number; - truncated?: boolean; - content?: string; - } | null; - }; - public?: boolean; - created_at?: string; - updated_at?: string; - description?: string | null; - comments?: number; - user?: string | null; - comments_url?: string; - owner?: components["schemas"]["simple-user"]; - truncated?: boolean; - }; - /** - * Gist Comment - * @description A comment made to a gist. - */ - "gist-comment": { - /** @example 1 */ - id: number; - /** @example MDExOkdpc3RDb21tZW50MQ== */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 - */ - url: string; - /** - * @description The comment text. - * @example Body of the attachment - */ - body: string; - user: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @example 2011-04-18T23:23:56Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-04-18T23:23:56Z - */ - updated_at: string; - author_association: components["schemas"]["author-association"]; - }; - /** - * Gist Commit - * @description Gist Commit - */ - "gist-commit": { - /** - * Format: uri - * @example https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f - */ - url: string; - /** @example 57a7f021a713b1c5a6a199b54cc514735d2d462f */ - version: string; - user: components["schemas"]["nullable-simple-user"]; - change_status: { - total?: number; - additions?: number; - deletions?: number; - }; - /** - * Format: date-time - * @example 2010-04-14T02:15:15Z - */ - committed_at: string; - }; - /** - * Gitignore Template - * @description Gitignore Template - */ - "gitignore-template": { - /** @example C */ - name: string; - /** - * @example # Object files - * *.o - * - * # Libraries - * *.lib - * *.a - * - * # Shared objects (inc. Windows DLLs) - * *.dll - * *.so - * *.so.* - * *.dylib - * - * # Executables - * *.exe - * *.out - * *.app - */ - source: string; - }; - /** - * License Simple - * @description License Simple - */ - "license-simple": { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** - * Format: uri - * @example https://api.github.com/licenses/mit - */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - }; - /** - * License - * @description License - */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** @example MIT */ - spdx_id: string | null; - /** - * Format: uri - * @example https://api.github.com/licenses/mit - */ - url: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** - * Format: uri - * @example http://choosealicense.com/licenses/mit/ - */ - html_url: string; - /** @example A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty. */ - description: string; - /** @example Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders. */ - implementation: string; - /** - * @example [ - * "commercial-use", - * "modifications", - * "distribution", - * "sublicense", - * "private-use" - * ] - */ - permissions: string[]; - /** - * @example [ - * "include-copyright" - * ] - */ - conditions: string[]; - /** - * @example [ - * "no-liability" - * ] - */ - limitations: string[]; - /** - * @example - * - * The MIT License (MIT) - * - * Copyright (c) [year] [fullname] - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - body: string; - /** @example true */ - featured: boolean; - }; - /** - * Marketplace Listing Plan - * @description Marketplace Listing Plan - */ - "marketplace-listing-plan": { - /** - * Format: uri - * @example https://api.github.com/marketplace_listing/plans/1313 - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/marketplace_listing/plans/1313/accounts - */ - accounts_url: string; - /** @example 1313 */ - id: number; - /** @example 3 */ - number: number; - /** @example Pro */ - name: string; - /** @example A professional-grade CI solution */ - description: string; - /** @example 1099 */ - monthly_price_in_cents: number; - /** @example 11870 */ - yearly_price_in_cents: number; - /** - * @example FLAT_RATE - * @enum {string} - */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - /** @example true */ - has_free_trial: boolean; - unit_name: string | null; - /** @example published */ - state: string; - /** - * @example [ - * "Up to 25 private repositories", - * "11 concurrent builds" - * ] - */ - bullets: string[]; - }; - /** - * Marketplace Purchase - * @description Marketplace Purchase - */ - "marketplace-purchase": { - url: string; - type: string; - id: number; - login: string; - organization_billing_email?: string; - email?: string | null; - marketplace_pending_change?: ({ - is_installed?: boolean; - effective_date?: string; - unit_count?: number | null; - id?: number; - plan?: components["schemas"]["marketplace-listing-plan"]; - }) | null; - marketplace_purchase: { - billing_cycle?: string; - next_billing_date?: string | null; - is_installed?: boolean; - unit_count?: number | null; - on_free_trial?: boolean; - free_trial_ends_on?: string | null; - updated_at?: string; - plan?: components["schemas"]["marketplace-listing-plan"]; - }; - }; - /** - * Api Overview - * @description Api Overview - */ - "api-overview": { - /** @example true */ - verifiable_password_authentication: boolean; - ssh_key_fingerprints?: { - SHA256_RSA?: string; - SHA256_DSA?: string; - SHA256_ECDSA?: string; - SHA256_ED25519?: string; - }; - /** - * @example [ - * "ssh-ed25519 ABCDEFGHIJKLMNOPQRSTUVWXYZ" - * ] - */ - ssh_keys?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - hooks?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - github_enterprise_importer?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - web?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - api?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - git?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - packages?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - pages?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - importer?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - actions?: string[]; - /** - * @example [ - * "192.0.2.1" - * ] - */ - dependabot?: string[]; - domains?: { - website?: string[]; - codespaces?: string[]; - copilot?: string[]; - packages?: string[]; - }; - }; - "security-and-analysis": ({ - advanced_security?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - /** @description Enable or disable Dependabot security updates for the repository. */ - dependabot_security_updates?: { - /** - * @description The enablement status of Dependabot security updates for the repository. - * @enum {string} + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/delete-installation"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installations/{installation_id}/access_tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create an installation access token for an app + * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + post: operations["apps/create-installation-access-token"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/app/installations/{installation_id}/suspended": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Suspend an app installation + * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ - status?: "enabled" | "disabled"; - }; - secret_scanning?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning_push_protection?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - }) | null; - /** - * Minimal Repository - * @description Minimal Repository - */ - "minimal-repository": { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - has_discussions?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - code_of_conduct?: components["schemas"]["code-of-conduct"]; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; - /** - * Thread - * @description Thread - */ - thread: { - id: string; - repository: components["schemas"]["minimal-repository"]; - subject: { - title: string; - url: string; - latest_comment_url: string; - type: string; - }; - reason: string; - unread: boolean; - updated_at: string; - last_read_at: string | null; - url: string; - /** @example https://api.github.com/notifications/threads/2/subscription */ - subscription_url: string; - }; - /** - * Thread Subscription - * @description Thread Subscription - */ - "thread-subscription": { - /** @example true */ - subscribed: boolean; - ignored: boolean; - reason: string | null; - /** - * Format: date-time - * @example 2012-10-06T21:34:12Z - */ - created_at: string | null; - /** - * Format: uri - * @example https://api.github.com/notifications/threads/1/subscription - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/notifications/threads/1 - */ - thread_url?: string; - /** - * Format: uri - * @example https://api.github.com/repos/1 - */ - repository_url?: string; - }; - /** - * Organization Simple - * @description A GitHub organization. - */ - "organization-simple": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - }; - /** - * Organization Full - * @description Organization Full - */ - "organization-full": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - /** @example github */ - name?: string; - /** @example GitHub */ - company?: string; - /** - * Format: uri - * @example https://github.com/blog - */ - blog?: string; - /** @example San Francisco */ - location?: string; - /** - * Format: email - * @example octocat@github.com - */ - email?: string; - /** @example github */ - twitter_username?: string | null; - /** @example true */ - is_verified?: boolean; - /** @example true */ - has_organization_projects: boolean; - /** @example true */ - has_repository_projects: boolean; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** @example Organization */ - type: string; - /** @example 100 */ - total_private_repos?: number; - /** @example 100 */ - owned_private_repos?: number; - /** @example 81 */ - private_gists?: number | null; - /** @example 10000 */ - disk_usage?: number | null; - /** @example 8 */ - collaborators?: number | null; - /** - * Format: email - * @example org@example.com - */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - /** @example true */ - members_can_create_repositories?: boolean | null; - /** @example true */ - two_factor_requirement_enabled?: boolean | null; - /** @example all */ - members_allowed_repository_creation_type?: string; - /** @example true */ - members_can_create_public_repositories?: boolean; - /** @example true */ - members_can_create_private_repositories?: boolean; - /** @example true */ - members_can_create_internal_repositories?: boolean; - /** @example true */ - members_can_create_pages?: boolean; - /** @example true */ - members_can_create_public_pages?: boolean; - /** @example true */ - members_can_create_private_pages?: boolean; - /** @example false */ - members_can_fork_private_repositories?: boolean | null; - /** @example false */ - web_commit_signoff_required?: boolean; - /** - * @description Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - advanced_security_enabled_for_new_repositories?: boolean; - /** - * @description Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to - * this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - dependabot_alerts_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependabot security updates are automatically enabled for new repositories and repositories transferred - * to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - dependabot_security_updates_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependency graph is automatically enabled for new repositories and repositories transferred to this - * organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - dependency_graph_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning is automatically enabled for new repositories and repositories transferred to this - * organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - secret_scanning_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning push protection is automatically enabled for new repositories and repositories - * transferred to this organization. - * - * This field is only visible to organization owners or members of a team with the security manager role. - * @example false - */ - secret_scanning_push_protection_enabled_for_new_repositories?: boolean; - /** - * @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. - * @example false - */ - secret_scanning_push_protection_custom_link_enabled?: boolean; - /** - * @description An optional URL string to display to contributors who are blocked from pushing a secret. - * @example https://github.com/test-org/test-repo/blob/main/README.md - */ - secret_scanning_push_protection_custom_link?: string | null; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - archived_at: string | null; - }; - "actions-cache-usage-org-enterprise": { - /** @description The count of active caches across all repositories of an enterprise or an organization. */ - total_active_caches_count: number; - /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ - total_active_caches_size_in_bytes: number; - }; - /** - * Actions Cache Usage by repository - * @description GitHub Actions Cache Usage by repository. - */ - "actions-cache-usage-by-repository": { - /** - * @description The repository owner and name for the cache usage being shown. - * @example octo-org/Hello-World - */ - full_name: string; - /** - * @description The sum of the size in bytes of all the active cache items in the repository. - * @example 2322142 - */ - active_caches_size_in_bytes: number; - /** - * @description The number of active caches in the repository. - * @example 3 - */ - active_caches_count: number; - }; - /** - * Actions OIDC Subject customization - * @description Actions OIDC Subject customization - */ - "oidc-custom-sub": { - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys: string[]; - }; - /** - * Empty Object - * @description An object without any properties. - */ - "empty-object": Record; - /** - * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. - * @enum {string} - */ - "enabled-repositories": "all" | "none" | "selected"; - /** - * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. - * @enum {string} - */ - "allowed-actions": "all" | "local_only" | "selected"; - /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ - "selected-actions-url": string; - "actions-organization-permissions": { - enabled_repositories: components["schemas"]["enabled-repositories"]; - /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ - selected_repositories_url?: string; - allowed_actions?: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; - }; - "selected-actions": { - /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed?: boolean; - /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ - verified_allowed?: boolean; - /** - * @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`. - * - * **Note**: The `patterns_allowed` setting only applies to public repositories. - */ - patterns_allowed?: string[]; - }; - /** - * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. - * @enum {string} - */ - "actions-default-workflow-permissions": "read" | "write"; - /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ - "actions-can-approve-pull-request-reviews": boolean; - "actions-get-default-workflow-permissions": { - default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; - can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; - }; - "actions-set-default-workflow-permissions": { - default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; - can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; - }; - /** - * Self hosted runner label - * @description A label for a self hosted runner - */ - "runner-label": { - /** @description Unique identifier of the label. */ - id?: number; - /** @description Name of the label. */ - name: string; - /** - * @description The type of label. Read-only labels are applied automatically when the runner is configured. - * @enum {string} - */ - type?: "read-only" | "custom"; - }; - /** - * Self hosted runners - * @description A self hosted runner - */ - runner: { - /** - * @description The id of the runner. - * @example 5 - */ - id: number; - /** - * @description The id of the runner group. - * @example 1 - */ - runner_group_id?: number; - /** - * @description The name of the runner. - * @example iMac - */ - name: string; - /** - * @description The Operating System of the runner. - * @example macos - */ - os: string; - /** - * @description The status of the runner. - * @example online - */ - status: string; - busy: boolean; - labels: components["schemas"]["runner-label"][]; - }; - /** - * Runner Application - * @description Runner Application - */ - "runner-application": { - os: string; - architecture: string; - download_url: string; - filename: string; - /** @description A short lived bearer token used to download the runner, if needed. */ - temp_download_token?: string; - sha256_checksum?: string; - }; - /** - * Authentication Token - * @description Authentication Token - */ - "authentication-token": { - /** - * @description The token used for authentication - * @example v1.1f699f1069f60xxx - */ - token: string; - /** - * Format: date-time - * @description The time this token expires - * @example 2016-07-11T22:14:10Z - */ - expires_at: string; - /** - * @example { - * "issues": "read", - * "deployments": "write" - * } - */ - permissions?: Record; - /** @description The repositories this token has access to */ - repositories?: components["schemas"]["repository"][]; - /** @example config.yaml */ - single_file?: string | null; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection?: "all" | "selected"; - }; - /** - * Actions Secret for an Organization - * @description Secrets for GitHub Actions for an organization. - */ - "organization-actions-secret": { - /** - * @description The name of the secret. - * @example SECRET_TOKEN - */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description Visibility of a secret - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @example https://api.github.com/organizations/org/secrets/my_secret/repositories - */ - selected_repositories_url?: string; - }; - /** - * ActionsPublicKey - * @description The public key used for setting Actions Secrets. - */ - "actions-public-key": { - /** - * @description The identifier for the key. - * @example 1234567 - */ - key_id: string; - /** - * @description The Base64 encoded public key. - * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= - */ - key: string; - /** @example 2 */ - id?: number; - /** @example https://api.github.com/user/keys/2 */ - url?: string; - /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ - title?: string; - /** @example 2011-01-26T19:01:12Z */ - created_at?: string; - }; - /** - * Actions Variable for an Organization - * @description Organization variable for GitHub Actions. - */ - "organization-actions-variable": { - /** - * @description The name of the variable. - * @example USERNAME - */ - name: string; - /** - * @description The value of the variable. - * @example octocat - */ - value: string; - /** - * Format: date-time - * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - updated_at: string; - /** - * @description Visibility of a variable - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @example https://api.github.com/organizations/org/variables/USERNAME/repositories - */ - selected_repositories_url?: string; - }; - /** @description The name of the tool used to generate the code scanning analysis. */ - "code-scanning-analysis-tool-name": string; - /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ - "code-scanning-analysis-tool-guid": string | null; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - "code-scanning-alert-state-query": "open" | "closed" | "dismissed" | "fixed"; - /** - * @description Severity of a code scanning alert. - * @enum {string} - */ - "code-scanning-alert-severity": "critical" | "high" | "medium" | "low" | "warning" | "note" | "error"; - /** - * Format: uri - * @description The REST API URL for fetching the list of instances for an alert. - */ - readonly "alert-instances-url": string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - "code-scanning-alert-state": "open" | "dismissed" | "fixed"; - /** - * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. - * @enum {string|null} - */ - "code-scanning-alert-dismissed-reason": null | "false positive" | "won't fix" | "used in tests"; - /** @description The dismissal comment associated with the dismissal of the alert. */ - "code-scanning-alert-dismissed-comment": string | null; - "code-scanning-alert-rule": { - /** @description A unique identifier for the rule used to detect the alert. */ - id?: string | null; - /** @description The name of the rule used to detect the alert. */ - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity?: "none" | "note" | "warning" | "error" | null; - /** - * @description The security severity of the alert. - * @enum {string|null} - */ - security_severity_level?: "low" | "medium" | "high" | "critical" | null; - /** @description A short description of the rule used to detect the alert. */ - description?: string; - /** @description description of the rule used to detect the alert. */ - full_description?: string; - /** @description A set of tags applicable for the rule. */ - tags?: string[] | null; - /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - }; - /** @description The version of the tool used to generate the code scanning analysis. */ - "code-scanning-analysis-tool-version": string | null; - "code-scanning-analysis-tool": { - name?: components["schemas"]["code-scanning-analysis-tool-name"]; - version?: components["schemas"]["code-scanning-analysis-tool-version"]; - guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; - }; - /** - * @description The full Git reference, formatted as `refs/heads/`, - * `refs/pull//merge`, or `refs/pull//head`. - */ - "code-scanning-ref": string; - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - "code-scanning-analysis-analysis-key": string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - "code-scanning-alert-environment": string; - /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ - "code-scanning-analysis-category": string; - /** @description Describe a region within a file for the alert. */ - "code-scanning-alert-location": { - path?: string; - start_line?: number; - end_line?: number; - start_column?: number; - end_column?: number; - }; - /** - * @description A classification of the file. For example to identify it as generated. - * @enum {string|null} - */ - "code-scanning-alert-classification": "source" | "generated" | "test" | "library" | null; - "code-scanning-alert-instance": { - ref?: components["schemas"]["code-scanning-ref"]; - analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; - environment?: components["schemas"]["code-scanning-alert-environment"]; - category?: components["schemas"]["code-scanning-analysis-category"]; - state?: components["schemas"]["code-scanning-alert-state"]; - commit_sha?: string; - message?: { - text?: string; - }; - location?: components["schemas"]["code-scanning-alert-location"]; - html_url?: string; - /** - * @description Classifications that have been applied to the file that triggered the alert. - * For example identifying it as documentation, or a generated file. - */ - classifications?: components["schemas"]["code-scanning-alert-classification"][]; - }; - "code-scanning-organization-alert-items": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - repository: components["schemas"]["simple-repository"]; - }; - /** - * Codespace machine - * @description A description of the machine powering a codespace. - */ - "nullable-codespace-machine": ({ - /** - * @description The name of the machine. - * @example standardLinux - */ - name: string; - /** - * @description The display name of the machine includes cores, memory, and storage. - * @example 4 cores, 16 GB RAM, 64 GB storage - */ - display_name: string; - /** - * @description The operating system of the machine. - * @example linux - */ - operating_system: string; - /** - * @description How much storage is available to the codespace. - * @example 68719476736 - */ - storage_in_bytes: number; - /** - * @description How much memory is available to the codespace. - * @example 17179869184 - */ - memory_in_bytes: number; - /** - * @description How many cores are available to the codespace. - * @example 4 - */ - cpus: number; - /** - * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. - * @example ready - * @enum {string|null} - */ - prebuild_availability: "none" | "ready" | "in_progress" | null; - }) | null; - /** - * Codespace - * @description A codespace. - */ - codespace: { - /** @example 1 */ - id: number; - /** - * @description Automatically generated name of this codespace. - * @example monalisa-octocat-hello-world-g4wpq6h95q - */ - name: string; - /** - * @description Display name for this codespace. - * @example bookish space pancake - */ - display_name?: string | null; - /** - * @description UUID identifying this codespace's environment. - * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 - */ - environment_id: string | null; - owner: components["schemas"]["simple-user"]; - billable_owner: components["schemas"]["simple-user"]; - repository: components["schemas"]["minimal-repository"]; - machine: components["schemas"]["nullable-codespace-machine"]; - /** - * @description Path to devcontainer.json from repo root used to create Codespace. - * @example .devcontainer/example/devcontainer.json - */ - devcontainer_path?: string | null; - /** - * @description Whether the codespace was created from a prebuild. - * @example false - */ - prebuild: boolean | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - updated_at: string; - /** - * Format: date-time - * @description Last known time this codespace was started. - * @example 2011-01-26T19:01:12Z - */ - last_used_at: string; - /** - * @description State of this codespace. - * @example Available - * @enum {string} - */ - state: "Unknown" | "Created" | "Queued" | "Provisioning" | "Available" | "Awaiting" | "Unavailable" | "Deleted" | "Moved" | "Shutdown" | "Archived" | "Starting" | "ShuttingDown" | "Failed" | "Exporting" | "Updating" | "Rebuilding"; - /** - * Format: uri - * @description API URL for this codespace. - */ - url: string; - /** @description Details about the codespace's git repository. */ - git_status: { - /** - * @description The number of commits the local repository is ahead of the remote. - * @example 0 - */ - ahead?: number; - /** - * @description The number of commits the local repository is behind the remote. - * @example 0 - */ - behind?: number; - /** @description Whether the local repository has unpushed changes. */ - has_unpushed_changes?: boolean; - /** @description Whether the local repository has uncommitted changes. */ - has_uncommitted_changes?: boolean; - /** - * @description The current branch (or SHA if in detached HEAD state) of the local repository. - * @example main - */ - ref?: string; - }; - /** - * @description The initally assigned location of a new codespace. - * @example WestUs2 - * @enum {string} - */ - location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; - /** - * @description The number of minutes of inactivity after which this codespace will be automatically stopped. - * @example 60 - */ - idle_timeout_minutes: number | null; - /** - * Format: uri - * @description URL to access this codespace on the web. - */ - web_url: string; - /** - * Format: uri - * @description API URL to access available alternate machine types for this codespace. - */ - machines_url: string; - /** - * Format: uri - * @description API URL to start this codespace. - */ - start_url: string; - /** - * Format: uri - * @description API URL to stop this codespace. - */ - stop_url: string; - /** - * Format: uri - * @description API URL to publish this codespace to a new repository. - */ - publish_url?: string | null; - /** - * Format: uri - * @description API URL for the Pull Request associated with this codespace, if any. - */ - pulls_url: string | null; - recent_folders: string[]; - runtime_constraints?: { - /** @description The privacy settings a user can select from when forwarding a port. */ - allowed_port_privacy_settings?: string[] | null; - }; - /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ - pending_operation?: boolean | null; - /** @description Text to show user when codespace is disabled by a pending operation */ - pending_operation_disabled_reason?: string | null; - /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ - idle_timeout_notice?: string | null; - /** - * @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). - * @example 60 - */ - retention_period_minutes?: number | null; - /** - * Format: date-time - * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" - * @example 2011-01-26T20:01:12Z - */ - retention_expires_at?: string | null; - /** - * @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. - * @example you've used 100% of your spending limit for Codespaces - */ - last_known_stop_notice?: string | null; - }; - /** - * Codespaces Secret - * @description Secrets for a GitHub Codespace. - */ - "codespaces-org-secret": { - /** - * @description The name of the secret - * @example SECRET_NAME - */ - name: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * @description The type of repositories in the organization that the secret is visible to - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @description The API URL at which the list of repositories this secret is visible to can be retrieved - * @example https://api.github.com/orgs/ORGANIZATION/codespaces/secrets/SECRET_NAME/repositories - */ - selected_repositories_url?: string; - }; - /** - * CodespacesPublicKey - * @description The public key used for setting Codespaces secrets. - */ - "codespaces-public-key": { - /** - * @description The identifier for the key. - * @example 1234567 - */ - key_id: string; - /** - * @description The Base64 encoded public key. - * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= - */ - key: string; - /** @example 2 */ - id?: number; - /** @example https://api.github.com/user/keys/2 */ - url?: string; - /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ - title?: string; - /** @example 2011-01-26T19:01:12Z */ - created_at?: string; - }; - /** - * Copilot for Business Seat Breakdown - * @description The breakdown of Copilot for Business seats for the organization. - */ - "copilot-seat-breakdown": { - /** @description The total number of seats being billed for the organization as of the current billing cycle. */ - total?: number; - /** @description Seats added during the current billing cycle. */ - added_this_cycle?: number; - /** @description The number of seats that are pending cancellation at the end of the current billing cycle. */ - pending_cancellation?: number; - /** @description The number of seats that have been assigned to users that have not yet accepted an invitation to this organization. */ - pending_invitation?: number; - /** @description The number of seats that have used Copilot during the current billing cycle. */ - active_this_cycle?: number; - /** @description The number of seats that have not used Copilot during the current billing cycle. */ - inactive_this_cycle?: number; - }; - /** - * Copilot for Business Organization Details - * @description Information about the seat breakdown and policies set for an organization with a Copilot for Business subscription. - */ - "copilot-organization-details": { - seat_breakdown: components["schemas"]["copilot-seat-breakdown"]; - /** - * @description The organization policy for allowing or disallowing Copilot to make suggestions that match public code. - * @enum {string} - */ - public_code_suggestions: "allow" | "block" | "unconfigured" | "unknown"; - /** - * @description The mode of assigning new seats. - * @enum {string} - */ - seat_management_setting: "assign_all" | "assign_selected" | "disabled" | "unconfigured"; - [key: string]: unknown; - }; - /** - * Team Simple - * @description Groups of organization members that gives permissions on specified repositories. - */ - "nullable-team-simple": ({ - /** - * @description Unique identifier of the team - * @example 1 - */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; - /** - * Format: uri - * @description URL for the team - * @example https://api.github.com/organizations/1/team/1 - */ - url: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; - /** - * @description Name of the team - * @example Justice League - */ - name: string; - /** - * @description Description of the team - * @example A great team. - */ - description: string | null; - /** - * @description Permission that the team will have for its repositories - * @example admin - */ - permission: string; - /** - * @description The level of privacy this team should have - * @example closed - */ - privacy?: string; - /** - * @description The notification setting the team has set - * @example notifications_enabled - */ - notification_setting?: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/1/repos - */ - repositories_url: string; - /** @example justice-league */ - slug: string; - /** - * @description Distinguished Name (DN) that team maps to within LDAP environment - * @example uid=example,ou=users,dc=github,dc=com - */ - ldap_dn?: string; - }) | null; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - id: number; - node_id: string; - name: string; - slug: string; - description: string | null; - privacy?: string; - notification_setting?: string; - permission: string; - permissions?: { - pull: boolean; - triage: boolean; - push: boolean; - maintain: boolean; - admin: boolean; - }; - /** Format: uri */ - url: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - members_url: string; - /** Format: uri */ - repositories_url: string; - parent: components["schemas"]["nullable-team-simple"]; - }; - /** - * Organization - * @description GitHub account for managing multiple users, teams, and repositories - */ - organization: { - /** - * @description Unique login name of the organization - * @example new-org - */ - login: string; - /** - * Format: uri - * @description URL for the organization - * @example https://api.github.com/orgs/github - */ - url: string; - id: number; - node_id: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - events_url: string; - hooks_url: string; - issues_url: string; - members_url: string; - public_members_url: string; - avatar_url: string; - description: string | null; - /** - * Format: uri - * @description Display blog url for the organization - * @example blog.example-org.com - */ - blog?: string; - /** Format: uri */ - html_url: string; - /** - * @description Display name for the organization - * @example New Org - */ - name?: string; - /** - * @description Display company name for the organization - * @example Acme corporation - */ - company?: string; - /** - * @description Display location for the organization - * @example Berlin, Germany - */ - location?: string; - /** - * Format: email - * @description Display email for the organization - * @example org@example.com - */ - email?: string; - /** @description Specifies if organization projects are enabled for this org */ - has_organization_projects: boolean; - /** @description Specifies if repository projects are enabled for repositories that belong to this org */ - has_repository_projects: boolean; - is_verified?: boolean; - public_repos: number; - public_gists: number; - followers: number; - following: number; - type: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - plan?: { - name?: string; - space?: number; - private_repos?: number; - filled_seats?: number; - seats?: number; - }; - }; - /** - * Copilot for Business Seat Detail - * @description Information about a Copilot for Business seat assignment for a user, team, or organization. - */ - "copilot-seat-details": { - /** - * @description The assignee that has been granted access to GitHub Copilot. - * @enum {object} - */ - assignee: { - [key: string]: unknown; - } & (components["schemas"]["simple-user"] | components["schemas"]["team"] | components["schemas"]["organization"]); - /** @description The team that granted access to GitHub Copilot to the assignee. This will be null if the user was assigned a seat individually. */ - assigning_team?: components["schemas"]["team"] | null; - /** - * Format: date - * @description The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle. - */ - pending_cancellation_date?: string | null; - /** - * Format: date-time - * @description Timestamp of user's last GitHub Copilot activity, in ISO 8601 format. - */ - last_activity_at?: string | null; - /** @description Last editor that was used by the user for a GitHub Copilot completion. */ - last_activity_editor?: string | null; - /** - * Format: date-time - * @description Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format. - */ - created_at: string; - /** - * Format: date-time - * @description Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format. - */ - updated_at?: string; - }; - /** - * Dependabot Secret for an Organization - * @description Secrets for GitHub Dependabot for an organization. - */ - "organization-dependabot-secret": { - /** - * @description The name of the secret. - * @example SECRET_TOKEN - */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** - * @description Visibility of a secret - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @example https://api.github.com/organizations/org/dependabot/secrets/my_secret/repositories - */ - selected_repositories_url?: string; - }; - /** - * DependabotPublicKey - * @description The public key used for setting Dependabot Secrets. - */ - "dependabot-public-key": { - /** - * @description The identifier for the key. - * @example 1234567 - */ - key_id: string; - /** - * @description The Base64 encoded public key. - * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= - */ - key: string; - }; - /** - * Minimal Repository - * @description Minimal Repository - */ - "nullable-minimal-repository": ({ - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - has_discussions?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - code_of_conduct?: components["schemas"]["code-of-conduct"]; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }) | null; - /** - * Package - * @description A software package - */ - package: { - /** - * @description Unique identifier of the package. - * @example 1 - */ - id: number; - /** - * @description The name of the package. - * @example super-linter - */ - name: string; - /** - * @example docker - * @enum {string} - */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - /** @example https://api.github.com/orgs/github/packages/container/super-linter */ - url: string; - /** @example https://github.com/orgs/github/packages/container/package/super-linter */ - html_url: string; - /** - * @description The number of versions of the package. - * @example 1 - */ - version_count: number; - /** - * @example private - * @enum {string} - */ - visibility: "private" | "public"; - owner?: components["schemas"]["nullable-simple-user"]; - repository?: components["schemas"]["nullable-minimal-repository"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Organization Invitation - * @description Organization Invitation - */ - "organization-invitation": { - id: number; - login: string | null; - email: string | null; - role: string; - created_at: string; - failed_at?: string | null; - failed_reason?: string | null; - inviter: components["schemas"]["simple-user"]; - team_count: number; - /** @example "MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x" */ - node_id: string; - /** @example "https://api.github.com/organizations/16/invitations/1/teams" */ - invitation_teams_url: string; - /** @example "member" */ - invitation_source?: string; - }; - /** - * Org Hook - * @description Org Hook - */ - "org-hook": { - /** @example 1 */ - id: number; - /** - * Format: uri - * @example https://api.github.com/orgs/octocat/hooks/1 - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/octocat/hooks/1/pings - */ - ping_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/octocat/hooks/1/deliveries - */ - deliveries_url?: string; - /** @example web */ - name: string; - /** - * @example [ - * "push", - * "pull_request" - * ] - */ - events: string[]; - /** @example true */ - active: boolean; - config: { - /** @example "http://example.com/2" */ - url?: string; - /** @example "0" */ - insecure_ssl?: string; - /** @example "form" */ - content_type?: string; - /** @example "********" */ - secret?: string; - }; - /** - * Format: date-time - * @example 2011-09-06T20:39:23Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2011-09-06T17:26:27Z - */ - created_at: string; - type: string; - }; - /** - * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. - * @example collaborators_only - * @enum {string} - */ - "interaction-group": "existing_users" | "contributors_only" | "collaborators_only"; - /** - * Interaction Limits - * @description Interaction limit settings. - */ - "interaction-limit-response": { - limit: components["schemas"]["interaction-group"]; - /** @example repository */ - origin: string; - /** - * Format: date-time - * @example 2018-08-17T04:18:39Z - */ - expires_at: string; - }; - /** - * @description The duration of the interaction restriction. Default: `one_day`. - * @example one_month - * @enum {string} - */ - "interaction-expiry": "one_day" | "three_days" | "one_week" | "one_month" | "six_months"; - /** - * Interaction Restrictions - * @description Limit interactions to a specific type of user for a specified duration - */ - "interaction-limit": { - limit: components["schemas"]["interaction-group"]; - expiry?: components["schemas"]["interaction-expiry"]; - }; - /** - * Org Membership - * @description Org Membership - */ - "org-membership": { - /** - * Format: uri - * @example https://api.github.com/orgs/octocat/memberships/defunkt - */ - url: string; - /** - * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. - * @example active - * @enum {string} - */ - state: "active" | "pending"; - /** - * @description The user's membership type in the organization. - * @example admin - * @enum {string} - */ - role: "admin" | "member" | "billing_manager"; - /** - * Format: uri - * @example https://api.github.com/orgs/octocat - */ - organization_url: string; - organization: components["schemas"]["organization-simple"]; - user: components["schemas"]["nullable-simple-user"]; - permissions?: { - can_create_repository: boolean; - }; - }; - /** - * Migration - * @description A migration. - */ - migration: { - /** @example 79 */ - id: number; - owner: components["schemas"]["nullable-simple-user"]; - /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ - guid: string; - /** @example pending */ - state: string; - /** @example true */ - lock_repositories: boolean; - exclude_metadata: boolean; - exclude_git_data: boolean; - exclude_attachments: boolean; - exclude_releases: boolean; - exclude_owner_projects: boolean; - org_metadata_only: boolean; - /** @description The repositories included in the migration. Only returned for export migrations. */ - repositories: components["schemas"]["repository"][]; - /** - * Format: uri - * @example https://api.github.com/orgs/octo-org/migrations/79 - */ - url: string; - /** - * Format: date-time - * @example 2015-07-06T15:33:38-07:00 - */ - created_at: string; - /** - * Format: date-time - * @example 2015-07-06T15:33:38-07:00 - */ - updated_at: string; - node_id: string; - /** Format: uri */ - archive_url?: string; - /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ - exclude?: string[]; - }; - /** - * Package Version - * @description A version of a software package - */ - "package-version": { - /** - * @description Unique identifier of the package version. - * @example 1 - */ - id: number; - /** - * @description The name of the package version. - * @example latest - */ - name: string; - /** @example https://api.github.com/orgs/github/packages/container/super-linter/versions/786068 */ - url: string; - /** @example https://github.com/orgs/github/packages/container/package/super-linter */ - package_html_url: string; - /** @example https://github.com/orgs/github/packages/container/super-linter/786068 */ - html_url?: string; - /** @example MIT */ - license?: string; - description?: string; - /** - * Format: date-time - * @example 2011-04-10T20:09:31Z - */ - created_at: string; - /** - * Format: date-time - * @example 2014-03-03T18:58:10Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2014-03-03T18:58:10Z - */ - deleted_at?: string; - /** Package Version Metadata */ - metadata?: { - /** - * @example docker - * @enum {string} + put: operations["apps/suspend-installation"]; + post: never; + /** + * Unsuspend an app installation + * @description Removes a GitHub App installation suspension. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + delete: operations["apps/unsuspend-installation"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/applications/{client_id}/grant": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete an app authorization + * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + delete: operations["apps/delete-authorization"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/applications/{client_id}/token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Check a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/check-token"]; + /** + * Delete an app token + * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. + */ + delete: operations["apps/delete-token"]; + options: never; + head: never; + /** + * Reset a token + * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + patch: operations["apps/reset-token"]; + trace: never; + }; + "/applications/{client_id}/token/scoped": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a scoped access token + * @description Use a non-scoped user access token to create a repository scoped and/or permission scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + post: operations["apps/scope-token"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/apps/{app_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an app + * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). + * + * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + get: operations["apps/get-by-slug"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/assignments/{assignment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an assignment + * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-an-assignment"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/assignments/{assignment_id}/accepted_assignments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List accepted assignments for an assignment + * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/list-accepted-assigments-for-an-assignment"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/assignments/{assignment_id}/grades": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get assignment grades + * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. + */ + get: operations["classroom/get-assignment-grades"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/classrooms": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List classrooms + * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. + */ + get: operations["classroom/list-classrooms"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/classrooms/{classroom_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a classroom + * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/get-a-classroom"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/classrooms/{classroom_id}/assignments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List assignments for a classroom + * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. + */ + get: operations["classroom/list-assignments-for-a-classroom"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/codes_of_conduct": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all codes of conduct + * @description Returns array of all GitHub's codes of conduct. + */ + get: operations["codes-of-conduct/get-all-codes-of-conduct"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/codes_of_conduct/{key}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code of conduct + * @description Returns information about the specified GitHub code of conduct. + */ + get: operations["codes-of-conduct/get-conduct-code"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/emojis": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get emojis + * @description Lists all the emojis available to use on GitHub. + */ + get: operations["emojis/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprises/{enterprise}/dependabot/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Dependabot alerts for an enterprise + * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. + * To use this endpoint, you must be a member of the enterprise, and you must use an + * access token with the `repo` scope or `security_events` scope. + * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + get: operations["dependabot/list-alerts-for-enterprise"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/enterprises/{enterprise}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secret scanning alerts for an enterprise + * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + */ + get: operations["secret-scanning/list-alerts-for-enterprise"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public events + * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. + */ + get: operations["activity/list-public-events"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/feeds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get feeds + * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: + * + * * **Timeline**: The GitHub global public timeline + * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) + * * **Current user public**: The public timeline for the authenticated user + * * **Current user**: The private timeline for the authenticated user + * * **Current user actor**: The private timeline for activity created by the authenticated user + * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. + * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. + * + * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - /** Container Metadata */ - container?: { - tags: string[]; - }; - /** Docker Metadata */ - docker?: { - tag?: string[]; - }; - }; - }; - /** - * Simple Organization Programmatic Access Grant Request - * @description Minimal representation of an organization programmatic access grant request for enumerations - */ - "organization-programmatic-access-grant-request": { - /** @description Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. */ - id: number; - /** @description Reason for requesting access. */ - reason: string | null; - owner: components["schemas"]["simple-user"]; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. */ - repositories_url: string; - /** @description Permissions requested, categorized by type of permission. */ - permissions: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Date and time when the request for access was created. */ - created_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Organization Programmatic Access Grant - * @description Minimal representation of an organization programmatic access grant for enumerations - */ - "organization-programmatic-access-grant": { - /** @description Unique identifier of the fine-grained personal access token. The `pat_id` used to get details about an approved fine-grained personal access token. */ - id: number; - owner: components["schemas"]["simple-user"]; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ - repositories_url: string; - /** @description Permissions requested, categorized by type of permission. */ - permissions: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ - access_granted_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Project - * @description Projects are a way to organize columns and cards of work. - */ - project: { - /** - * Format: uri - * @example https://api.github.com/repos/api-playground/projects-test - */ - owner_url: string; - /** - * Format: uri - * @example https://api.github.com/projects/1002604 - */ - url: string; - /** - * Format: uri - * @example https://github.com/api-playground/projects-test/projects/12 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/projects/1002604/columns - */ - columns_url: string; - /** @example 1002604 */ - id: number; - /** @example MDc6UHJvamVjdDEwMDI2MDQ= */ - node_id: string; - /** - * @description Name of the project - * @example Week One Sprint - */ - name: string; - /** - * @description Body of the project - * @example This project represents the sprint of the first week in January - */ - body: string | null; - /** @example 1 */ - number: number; - /** - * @description State of the project; either 'open' or 'closed' - * @example open - */ - state: string; - creator: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @example 2011-04-10T20:09:31Z - */ - created_at: string; - /** - * Format: date-time - * @example 2014-03-03T18:58:10Z - */ - updated_at: string; - /** - * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. - * @enum {string} - */ - organization_permission?: "read" | "write" | "admin" | "none"; - /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ - private?: boolean; - }; - /** - * @description The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). - * @enum {string} - */ - "repository-rule-enforcement": "disabled" | "active" | "evaluate"; - /** - * Repository Ruleset Bypass Actor - * @description An actor that can bypass rules in a ruleset - */ - "repository-ruleset-bypass-actor": { - /** @description The ID of the actor that can bypass a ruleset */ - actor_id: number; - /** - * @description The type of actor that can bypass a ruleset - * @enum {string} - */ - actor_type: "RepositoryRole" | "Team" | "Integration" | "OrganizationAdmin"; - /** - * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. - * @enum {string} - */ - bypass_mode: "always" | "pull_request"; - }; - /** - * Repository ruleset conditions for ref names - * @description Parameters for a repository ruleset ref name condition - */ - "repository-ruleset-conditions": { - ref_name?: { - /** @description Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. */ - include?: string[]; - /** @description Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. */ - exclude?: string[]; - }; - }; - /** - * Repository ruleset conditions for repository names - * @description Parameters for a repository name condition - */ - "repository-ruleset-conditions-repository-name-target": { - repository_name: { - /** @description Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. */ - include?: string[]; - /** @description Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. */ - exclude?: string[]; - /** @description Whether renaming of target repositories is prevented. */ - protected?: boolean; - }; - }; - /** - * Repository ruleset conditions for repository IDs - * @description Parameters for a repository ID condition - */ - "repository-ruleset-conditions-repository-id-target": { - repository_id: { - /** @description The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. */ - repository_ids?: number[]; - }; - }; - /** - * Organization ruleset conditions - * @description Conditions for an organization ruleset. The conditions object should contain both `repository_name` and `ref_name` properties or both `repository_id` and `ref_name` properties. - */ - "org-ruleset-conditions": (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-name-target"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-id-target"]); - /** - * creation - * @description Only allow users with bypass permission to create matching refs. - */ - "repository-rule-creation": { - /** @enum {string} */ - type: "creation"; - }; - /** - * update - * @description Only allow users with bypass permission to update matching refs. - */ - "repository-rule-update": { - /** @enum {string} */ - type: "update"; - parameters?: { - /** @description Branch can pull changes from its upstream repository */ - update_allows_fetch_and_merge: boolean; - }; - }; - /** - * deletion - * @description Only allow users with bypass permissions to delete matching refs. - */ - "repository-rule-deletion": { - /** @enum {string} */ - type: "deletion"; - }; - /** - * required_linear_history - * @description Prevent merge commits from being pushed to matching refs. - */ - "repository-rule-required-linear-history": { - /** @enum {string} */ - type: "required_linear_history"; - }; - /** - * required_deployments - * @description Choose which environments must be successfully deployed to before refs can be merged into a branch that matches this rule. - */ - "repository-rule-required-deployments": { - /** @enum {string} */ - type: "required_deployments"; - parameters?: { - /** @description The environments that must be successfully deployed to before branches can be merged. */ - required_deployment_environments: string[]; - }; - }; - /** - * required_signatures - * @description Commits pushed to matching refs must have verified signatures. - */ - "repository-rule-required-signatures": { - /** @enum {string} */ - type: "required_signatures"; - }; - /** - * pull_request - * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. - */ - "repository-rule-pull-request": { - /** @enum {string} */ - type: "pull_request"; - parameters?: { - /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ - dismiss_stale_reviews_on_push: boolean; - /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ - require_code_owner_review: boolean; - /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ - require_last_push_approval: boolean; - /** @description The number of approving reviews that are required before a pull request can be merged. */ - required_approving_review_count: number; - /** @description All conversations on code must be resolved before a pull request can be merged. */ - required_review_thread_resolution: boolean; - }; - }; - /** - * StatusCheckConfiguration - * @description Required status check - */ - "repository-rule-params-status-check-configuration": { - /** @description The status check context name that must be present on the commit. */ - context: string; - /** @description The optional integration ID that this status check must originate from. */ - integration_id?: number; - }; - /** - * required_status_checks - * @description Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a ref that matches this rule after status checks have passed. - */ - "repository-rule-required-status-checks": { - /** @enum {string} */ - type: "required_status_checks"; - parameters?: { - /** @description Status checks that are required. */ - required_status_checks: components["schemas"]["repository-rule-params-status-check-configuration"][]; - /** @description Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. */ - strict_required_status_checks_policy: boolean; - }; - }; - /** - * non_fast_forward - * @description Prevent users with push access from force pushing to refs. - */ - "repository-rule-non-fast-forward": { - /** @enum {string} */ - type: "non_fast_forward"; - }; - /** - * commit_message_pattern - * @description Parameters to be used for the commit_message_pattern rule - */ - "repository-rule-commit-message-pattern": { - /** @enum {string} */ - type: "commit_message_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} + get: operations["activity/get-feeds"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List gists for the authenticated user + * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * commit_author_email_pattern - * @description Parameters to be used for the commit_author_email_pattern rule - */ - "repository-rule-commit-author-email-pattern": { - /** @enum {string} */ - type: "commit_author_email_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} + get: operations["gists/list"]; + put: never; + /** + * Create a gist + * @description Allows you to add a new gist with one or more files. + * + * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * committer_email_pattern - * @description Parameters to be used for the committer_email_pattern rule - */ - "repository-rule-committer-email-pattern": { - /** @enum {string} */ - type: "committer_email_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} + post: operations["gists/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public gists + * @description List public gists sorted by most recently updated to least recently updated. + * + * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. + */ + get: operations["gists/list-public"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/starred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List starred gists + * @description List the authenticated user's starred gists: + */ + get: operations["gists/list-starred"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/{gist_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a gist */ + get: operations["gists/get"]; + put: never; + post: never; + /** Delete a gist */ + delete: operations["gists/delete"]; + options: never; + head: never; + /** + * Update a gist + * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. + * At least one of `description` or `files` is required. + */ + patch: operations["gists/update"]; + trace: never; + }; + "/gists/{gist_id}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List gist comments */ + get: operations["gists/list-comments"]; + put: never; + /** Create a gist comment */ + post: operations["gists/create-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/{gist_id}/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a gist comment */ + get: operations["gists/get-comment"]; + put: never; + post: never; + /** Delete a gist comment */ + delete: operations["gists/delete-comment"]; + options: never; + head: never; + /** Update a gist comment */ + patch: operations["gists/update-comment"]; + trace: never; + }; + "/gists/{gist_id}/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List gist commits */ + get: operations["gists/list-commits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/{gist_id}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List gist forks */ + get: operations["gists/list-forks"]; + put: never; + /** Fork a gist */ + post: operations["gists/fork"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/{gist_id}/star": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Check if a gist is starred */ + get: operations["gists/check-is-starred"]; + /** + * Star a gist + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["gists/star"]; + post: never; + /** Unstar a gist */ + delete: operations["gists/unstar"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gists/{gist_id}/{sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a gist revision */ + get: operations["gists/get-revision"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gitignore/templates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all gitignore templates + * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). + */ + get: operations["gitignore/get-all-templates"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/gitignore/templates/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a gitignore template + * @description The API also allows fetching the source of a single template. + * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. + */ + get: operations["gitignore/get-template"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/installation/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories accessible to the app installation + * @description List repositories that an app installation can access. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + get: operations["apps/list-repos-accessible-to-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/installation/token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Revoke an installation access token + * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. + * + * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. + * + * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. + */ + delete: operations["apps/revoke-installation-access-token"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issues assigned to the authenticated user + * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member + * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not + * necessarily assigned to you. + * + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/licenses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all commonly used licenses + * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: operations["licenses/get-all-commonly-used"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/licenses/{license}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a license + * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." + */ + get: operations["licenses/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/markdown": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Render a Markdown document */ + post: operations["markdown/render"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/markdown/raw": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Render a Markdown document in raw mode + * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. + */ + post: operations["markdown/render-raw"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/accounts/{account_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a subscription plan for an account + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/plans": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List plans + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/plans/{plan_id}/accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List accounts for a plan + * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/stubbed/accounts/{account_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a subscription plan for an account (stubbed) + * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/get-subscription-plan-for-account-stubbed"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/stubbed/plans": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List plans (stubbed) + * @description Lists all plans that are part of your GitHub Marketplace listing. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-plans-stubbed"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List accounts for a plan (stubbed) + * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. + * + * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. + */ + get: operations["apps/list-accounts-for-plan-stubbed"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/meta": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub meta information + * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." + * + * The API's response also includes a list of GitHub's domain names. + * + * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. + * + * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. + */ + get: operations["meta/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/networks/{owner}/{repo}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List public events for a network of repositories */ + get: operations["activity/list-public-events-for-repo-network"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/notifications": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List notifications for the authenticated user + * @description List all notifications for the current user, sorted by most recently updated. + */ + get: operations["activity/list-notifications-for-authenticated-user"]; + /** + * Mark notifications as read + * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-notifications-as-read"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/notifications/threads/{thread_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a thread + * @description Gets information about a notification thread. + */ + get: operations["activity/get-thread"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Mark a thread as read + * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. + */ + patch: operations["activity/mark-thread-as-read"]; + trace: never; + }; + "/notifications/threads/{thread_id}/subscription": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a thread subscription for the authenticated user + * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). + * + * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * branch_name_pattern - * @description Parameters to be used for the branch_name_pattern rule - */ - "repository-rule-branch-name-pattern": { - /** @enum {string} */ - type: "branch_name_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} + get: operations["activity/get-thread-subscription-for-authenticated-user"]; + /** + * Set a thread subscription + * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. + * + * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. + * + * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. + */ + put: operations["activity/set-thread-subscription"]; + post: never; + /** + * Delete a thread subscription + * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. + */ + delete: operations["activity/delete-thread-subscription"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/octocat": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Octocat + * @description Get the octocat as ASCII art + */ + get: operations["meta/get-octocat"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/organizations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organizations + * @description Lists all organizations, in the order that they were created on GitHub. + * + * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. + */ + get: operations["orgs/list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization + * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * tag_name_pattern - * @description Parameters to be used for the tag_name_pattern rule - */ - "repository-rule-tag-name-pattern": { - /** @enum {string} */ - type: "tag_name_pattern"; - parameters?: { - /** @description How this rule will appear to users. */ - name?: string; - /** @description If true, the rule will fail if the pattern matches. */ - negate?: boolean; - /** - * @description The operator to use for matching. - * @enum {string} + get: operations["orgs/get"]; + put: never; + post: never; + /** + * Delete an organization + * @description Deletes an organization and all its repositories. + * + * The organization login will be unavailable for 90 days after deletion. + * + * Please review the Terms of Service regarding account deletion before using this endpoint: + * + * https://docs.github.com/site-policy/github-terms/github-terms-of-service */ - operator: "starts_with" | "ends_with" | "contains" | "regex"; - /** @description The pattern to match with. */ - pattern: string; - }; - }; - /** - * Repository Rule - * @description A repository rule. - */ - "repository-rule": components["schemas"]["repository-rule-creation"] | components["schemas"]["repository-rule-update"] | components["schemas"]["repository-rule-deletion"] | components["schemas"]["repository-rule-required-linear-history"] | components["schemas"]["repository-rule-required-deployments"] | components["schemas"]["repository-rule-required-signatures"] | components["schemas"]["repository-rule-pull-request"] | components["schemas"]["repository-rule-required-status-checks"] | components["schemas"]["repository-rule-non-fast-forward"] | components["schemas"]["repository-rule-commit-message-pattern"] | components["schemas"]["repository-rule-commit-author-email-pattern"] | components["schemas"]["repository-rule-committer-email-pattern"] | components["schemas"]["repository-rule-branch-name-pattern"] | components["schemas"]["repository-rule-tag-name-pattern"]; - /** - * Repository ruleset - * @description A set of rules to apply when specified conditions are met. - */ - "repository-ruleset": { - /** @description The ID of the ruleset */ - id: number; - /** @description The name of the ruleset */ - name: string; - /** - * @description The target of the ruleset - * @enum {string} - */ - target?: "branch" | "tag"; - /** - * @description The type of the source of the ruleset - * @enum {string} - */ - source_type?: "Repository" | "Organization"; - /** @description The name of the source */ - source: string; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - /** - * @description The bypass type of the user making the API request for this ruleset. This field is only returned when - * querying the repository-level endpoint. - * @enum {string} - */ - current_user_can_bypass?: "always" | "pull_requests_only" | "never"; - node_id?: string; - _links?: { - self?: { - /** @description The URL of the ruleset */ - href?: string; - }; - html?: { - /** @description The html URL of the ruleset */ - href?: string; - }; - }; - conditions?: components["schemas"]["repository-ruleset-conditions"] | components["schemas"]["org-ruleset-conditions"]; - rules?: components["schemas"]["repository-rule"][]; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - }; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - "repository-advisory-vulnerability": { - /** @description The name of the package affected by the vulnerability. */ - package: ({ - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name: string | null; - }) | null; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions: string[] | null; - }; - /** @description A credit given to a user for a repository security advisory. */ - "repository-advisory-credit": { - user: components["schemas"]["simple-user"]; - type: components["schemas"]["security-advisory-credit-types"]; - /** - * @description The state of the user's acceptance of the credit. - * @enum {string} - */ - state: "accepted" | "declined" | "pending"; - }; - /** @description A repository security advisory. */ - "repository-advisory": { - /** @description The GitHub Security Advisory ID. */ - ghsa_id: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id: string | null; - /** @description The API URL for the advisory. */ - url: string; - /** - * Format: uri - * @description The URL for the advisory. - */ - html_url: string; - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory entails. */ - description: string | null; - /** - * @description The severity of the advisory. - * @enum {string|null} - */ - severity: "critical" | "high" | "medium" | "low" | null; - /** @description The author of the advisory. */ - author: components["schemas"]["simple-user"] | null; - /** @description The publisher of the advisory. */ - publisher: components["schemas"]["simple-user"] | null; - identifiers: readonly ({ - /** - * @description The type of identifier. - * @enum {string} - */ - type: "CVE" | "GHSA"; - /** @description The identifier value. */ - value: string; - })[]; - /** - * @description The state of the advisory. - * @enum {string} - */ - state: "published" | "closed" | "withdrawn" | "draft" | "triage"; - /** - * Format: date-time - * @description The date and time of when the advisory was created, in ISO 8601 format. - */ - created_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was last updated, in ISO 8601 format. - */ - updated_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was published, in ISO 8601 format. - */ - published_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was closed, in ISO 8601 format. - */ - closed_at: string | null; - /** - * Format: date-time - * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. - */ - withdrawn_at: string | null; - submission: { - /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ - readonly accepted: boolean; - } | null; - vulnerabilities: components["schemas"]["repository-advisory-vulnerability"][] | null; - cvss: ({ - /** @description The CVSS vector. */ - vector_string: string | null; - /** @description The CVSS score. */ - score: number | null; - }) | null; - cwes: (readonly { - /** @description The Common Weakness Enumeration (CWE) identifier. */ - cwe_id: string; - /** @description The name of the CWE. */ - name: string; - }[]) | null; - /** @description A list of only the CWE IDs. */ - cwe_ids: string[] | null; - credits: { - /** @description The username of the user credited. */ - login?: string; - type?: components["schemas"]["security-advisory-credit-types"]; - }[] | null; - credits_detailed: (readonly components["schemas"]["repository-advisory-credit"][]) | null; - /** @description A list of users that collaborate on the advisory. */ - collaborating_users: components["schemas"]["simple-user"][] | null; - /** @description A list of teams that collaborate on the advisory. */ - collaborating_teams: components["schemas"]["team"][] | null; - /** @description A temporary private fork of the advisory's repository for collaborating on a fix. */ - private_fork: components["schemas"]["simple-repository"] | null; - }; - /** - * Team Simple - * @description Groups of organization members that gives permissions on specified repositories. - */ - "team-simple": { - /** - * @description Unique identifier of the team - * @example 1 - */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; - /** - * Format: uri - * @description URL for the team - * @example https://api.github.com/organizations/1/team/1 - */ - url: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; - /** - * @description Name of the team - * @example Justice League - */ - name: string; - /** - * @description Description of the team - * @example A great team. - */ - description: string | null; - /** - * @description Permission that the team will have for its repositories - * @example admin - */ - permission: string; - /** - * @description The level of privacy this team should have - * @example closed - */ - privacy?: string; - /** - * @description The notification setting the team has set - * @example notifications_enabled - */ - notification_setting?: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/1/repos - */ - repositories_url: string; - /** @example justice-league */ - slug: string; - /** - * @description Distinguished Name (DN) that team maps to within LDAP environment - * @example uid=example,ou=users,dc=github,dc=com - */ - ldap_dn?: string; - }; - "actions-billing-usage": { - /** @description The sum of the free and paid GitHub Actions minutes used. */ - total_minutes_used: number; - /** @description The total paid GitHub Actions minutes used. */ - total_paid_minutes_used: number; - /** @description The amount of free GitHub Actions minutes available. */ - included_minutes: number; - minutes_used_breakdown: { - /** @description Total minutes used on Ubuntu runner machines. */ - UBUNTU?: number; - /** @description Total minutes used on macOS runner machines. */ - MACOS?: number; - /** @description Total minutes used on Windows runner machines. */ - WINDOWS?: number; - /** @description Total minutes used on Ubuntu 4 core runner machines. */ - ubuntu_4_core?: number; - /** @description Total minutes used on Ubuntu 8 core runner machines. */ - ubuntu_8_core?: number; - /** @description Total minutes used on Ubuntu 16 core runner machines. */ - ubuntu_16_core?: number; - /** @description Total minutes used on Ubuntu 32 core runner machines. */ - ubuntu_32_core?: number; - /** @description Total minutes used on Ubuntu 64 core runner machines. */ - ubuntu_64_core?: number; - /** @description Total minutes used on Windows 4 core runner machines. */ - windows_4_core?: number; - /** @description Total minutes used on Windows 8 core runner machines. */ - windows_8_core?: number; - /** @description Total minutes used on Windows 16 core runner machines. */ - windows_16_core?: number; - /** @description Total minutes used on Windows 32 core runner machines. */ - windows_32_core?: number; - /** @description Total minutes used on Windows 64 core runner machines. */ - windows_64_core?: number; - /** @description Total minutes used on macOS 12 core runner machines. */ - macos_12_core?: number; - /** @description Total minutes used on all runner machines. */ - total?: number; - }; - }; - "packages-billing-usage": { - /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ - total_gigabytes_bandwidth_used: number; - /** @description Total paid storage space (GB) for GitHuub Packages. */ - total_paid_gigabytes_bandwidth_used: number; - /** @description Free storage space (GB) for GitHub Packages. */ - included_gigabytes_bandwidth: number; - }; - "combined-billing-usage": { - /** @description Numbers of days left in billing cycle. */ - days_left_in_billing_cycle: number; - /** @description Estimated storage space (GB) used in billing cycle. */ - estimated_paid_storage_for_month: number; - /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ - estimated_storage_for_month: number; - }; - /** - * Team Organization - * @description Team Organization - */ - "team-organization": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - /** @example github */ - name?: string; - /** @example GitHub */ - company?: string; - /** - * Format: uri - * @example https://github.com/blog - */ - blog?: string; - /** @example San Francisco */ - location?: string; - /** - * Format: email - * @example octocat@github.com - */ - email?: string; - /** @example github */ - twitter_username?: string | null; - /** @example true */ - is_verified?: boolean; - /** @example true */ - has_organization_projects: boolean; - /** @example true */ - has_repository_projects: boolean; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - created_at: string; - /** @example Organization */ - type: string; - /** @example 100 */ - total_private_repos?: number; - /** @example 100 */ - owned_private_repos?: number; - /** @example 81 */ - private_gists?: number | null; - /** @example 10000 */ - disk_usage?: number | null; - /** @example 8 */ - collaborators?: number | null; - /** - * Format: email - * @example org@example.com - */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - /** @example true */ - members_can_create_repositories?: boolean | null; - /** @example true */ - two_factor_requirement_enabled?: boolean | null; - /** @example all */ - members_allowed_repository_creation_type?: string; - /** @example true */ - members_can_create_public_repositories?: boolean; - /** @example true */ - members_can_create_private_repositories?: boolean; - /** @example true */ - members_can_create_internal_repositories?: boolean; - /** @example true */ - members_can_create_pages?: boolean; - /** @example true */ - members_can_create_public_pages?: boolean; - /** @example true */ - members_can_create_private_pages?: boolean; - /** @example false */ - members_can_fork_private_repositories?: boolean | null; - /** @example false */ - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - archived_at: string | null; - }; - /** - * Full Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - "team-full": { - /** - * @description Unique identifier of the team - * @example 42 - */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; - /** - * Format: uri - * @description URL for the team - * @example https://api.github.com/organizations/1/team/1 - */ - url: string; - /** - * Format: uri - * @example https://github.com/orgs/rails/teams/core - */ - html_url: string; - /** - * @description Name of the team - * @example Developers - */ - name: string; - /** @example justice-league */ - slug: string; - /** @example A great team. */ - description: string | null; - /** - * @description The level of privacy this team should have - * @example closed - * @enum {string} - */ - privacy?: "closed" | "secret"; - /** - * @description The notification setting the team has set - * @example notifications_enabled - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @description Permission that the team will have for its repositories - * @example push - */ - permission: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/1/repos - */ - repositories_url: string; - parent?: components["schemas"]["nullable-team-simple"]; - /** @example 3 */ - members_count: number; - /** @example 10 */ - repos_count: number; - /** - * Format: date-time - * @example 2017-07-14T16:53:42Z - */ - created_at: string; - /** - * Format: date-time - * @example 2017-08-17T12:37:15Z - */ - updated_at: string; - organization: components["schemas"]["team-organization"]; - /** - * @description Distinguished Name (DN) that team maps to within LDAP environment - * @example uid=example,ou=users,dc=github,dc=com - */ - ldap_dn?: string; - }; - /** - * Team Discussion - * @description A team discussion is a persistent record of a free-form conversation within a team. - */ - "team-discussion": { - author: components["schemas"]["nullable-simple-user"]; - /** - * @description The main text of the discussion. - * @example Please suggest improvements to our workflow in comments. - */ - body: string; - /** @example

Hi! This is an area for us to collaborate as a team

*/ - body_html: string; - /** - * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. - * @example 0307116bbf7ced493b8d8a346c650b71 - */ - body_version: string; - /** @example 0 */ - comments_count: number; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2343027/discussions/1/comments - */ - comments_url: string; - /** - * Format: date-time - * @example 2018-01-25T18:56:31Z - */ - created_at: string; - /** Format: date-time */ - last_edited_at: string | null; - /** - * Format: uri - * @example https://github.com/orgs/github/teams/justice-league/discussions/1 - */ - html_url: string; - /** @example MDE0OlRlYW1EaXNjdXNzaW9uMQ== */ - node_id: string; - /** - * @description The unique sequence number of a team discussion. - * @example 42 - */ - number: number; - /** - * @description Whether or not this discussion should be pinned for easy retrieval. - * @example true - */ - pinned: boolean; - /** - * @description Whether or not this discussion should be restricted to team members and organization administrators. - * @example true - */ - private: boolean; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2343027 - */ - team_url: string; - /** - * @description The title of the discussion. - * @example How can we improve our workflow? - */ - title: string; - /** - * Format: date-time - * @example 2018-01-25T18:56:31Z - */ - updated_at: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2343027/discussions/1 - */ - url: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Team Discussion Comment - * @description A reply to a discussion within a team. - */ - "team-discussion-comment": { - author: components["schemas"]["nullable-simple-user"]; - /** - * @description The main text of the comment. - * @example I agree with this suggestion. - */ - body: string; - /** @example

Do you like apples?

*/ - body_html: string; - /** - * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. - * @example 0307116bbf7ced493b8d8a346c650b71 - */ - body_version: string; - /** - * Format: date-time - * @example 2018-01-15T23:53:58Z - */ - created_at: string; - /** Format: date-time */ - last_edited_at: string | null; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2403582/discussions/1 - */ - discussion_url: string; - /** - * Format: uri - * @example https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1 - */ - html_url: string; - /** @example MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE= */ - node_id: string; - /** - * @description The unique sequence number of a team discussion comment. - * @example 42 - */ - number: number; - /** - * Format: date-time - * @example 2018-01-15T23:53:58Z - */ - updated_at: string; - /** - * Format: uri - * @example https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1 - */ - url: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Reaction - * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively. - */ - reaction: { - /** @example 1 */ - id: number; - /** @example MDg6UmVhY3Rpb24x */ - node_id: string; - user: components["schemas"]["nullable-simple-user"]; - /** - * @description The reaction to use - * @example heart - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - /** - * Format: date-time - * @example 2016-05-20T20:09:31Z - */ - created_at: string; - }; - /** - * Team Membership - * @description Team Membership - */ - "team-membership": { - /** Format: uri */ - url: string; - /** - * @description The role of the user in the team. - * @default member - * @example member - * @enum {string} - */ - role: "member" | "maintainer"; - /** - * @description The state of the user's membership in the team. - * @enum {string} - */ - state: "active" | "pending"; - }; - /** - * Team Project - * @description A team's access to a project. - */ - "team-project": { - owner_url: string; - url: string; - html_url: string; - columns_url: string; - id: number; - node_id: string; - name: string; - body: string | null; - number: number; - state: string; - creator: components["schemas"]["simple-user"]; - created_at: string; - updated_at: string; - /** @description The organization permission for this project. Only present when owner is an organization. */ - organization_permission?: string; - /** @description Whether the project is private or not. Only present when owner is an organization. */ - private?: boolean; - permissions: { - read: boolean; - write: boolean; - admin: boolean; - }; - }; - /** - * Repository - * @description A repository on GitHub. - */ - "nullable-repository": ({ - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @deprecated - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions?: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: ({ - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + delete: operations["orgs/delete"]; + options: never; + head: never; + /** + * Update an organization + * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. + */ + patch: operations["orgs/update"]; + trace: never; + }; + "/orgs/{org}/actions/cache/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions cache usage for an organization + * @description Gets the total GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/cache/usage-by-repository": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories with GitHub Actions cache usage for an organization + * @description Lists repositories and their GitHub Actions cache usage for an organization. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/oidc/customization/sub": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the customization template for an OIDC subject claim for an organization + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `read:org` scope to use this endpoint. + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + */ + get: operations["oidc/get-oidc-custom-sub-template-for-org"]; + /** + * Set the customization template for an OIDC subject claim for an organization + * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `write:org` scope to use this endpoint. + * GitHub Apps must have the `admin:org` permission to use this endpoint. + */ + put: operations["oidc/update-oidc-custom-sub-template-for-org"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions permissions for an organization + * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + get: operations["actions/get-github-actions-permissions-organization"]; /** - * @description The default value for a squash merge commit message: + * Set GitHub Actions permissions for an organization + * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-github-actions-permissions-organization"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/permissions/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories enabled for GitHub Actions in an organization + * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + get: operations["actions/list-selected-repositories-enabled-github-actions-organization"]; /** - * @description The default value for a merge commit title. + * Set selected repositories enabled for GitHub Actions in an organization + * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/permissions/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Enable a selected repository for GitHub Actions in an organization + * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + put: operations["actions/enable-selected-repository-github-actions-organization"]; + post: never; /** - * @description The default value for a merge commit message. + * Disable a selected repository for GitHub Actions in an organization + * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - }) | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - * @example false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }) | null; - /** - * Team Repository - * @description A team's access to a repository. - */ - "team-repository": { - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** @example admin */ - role_name?: string; - owner: components["schemas"]["nullable-simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @example 108 */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: components["schemas"]["nullable-repository"]; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow forking this repo - * @default false - * @example false - */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - * @example false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - }; - /** - * Project Card - * @description Project cards represent a scope of work. - */ - "project-card": { - /** - * Format: uri - * @example https://api.github.com/projects/columns/cards/1478 - */ - url: string; - /** - * @description The project card's ID - * @example 42 - */ - id: number; - /** @example MDExOlByb2plY3RDYXJkMTQ3OA== */ - node_id: string; - /** @example Add payload for delete Project column */ - note: string | null; - creator: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @example 2016-09-05T14:21:06Z - */ - created_at: string; - /** - * Format: date-time - * @example 2016-09-05T14:20:22Z - */ - updated_at: string; - /** - * @description Whether or not the card is archived - * @example false - */ - archived?: boolean; - column_name?: string; - project_id?: string; - /** - * Format: uri - * @example https://api.github.com/projects/columns/367 - */ - column_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/api-playground/projects-test/issues/3 - */ - content_url?: string; - /** - * Format: uri - * @example https://api.github.com/projects/120 - */ - project_url: string; - }; - /** - * Project Column - * @description Project columns contain cards of work. - */ - "project-column": { - /** - * Format: uri - * @example https://api.github.com/projects/columns/367 - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/projects/120 - */ - project_url: string; - /** - * Format: uri - * @example https://api.github.com/projects/columns/367/cards - */ - cards_url: string; - /** - * @description The unique identifier of the project column - * @example 42 - */ - id: number; - /** @example MDEzOlByb2plY3RDb2x1bW4zNjc= */ - node_id: string; - /** - * @description Name of the project column - * @example Remaining tasks - */ - name: string; - /** - * Format: date-time - * @example 2016-09-05T14:18:44Z - */ - created_at: string; - /** - * Format: date-time - * @example 2016-09-05T14:22:28Z - */ - updated_at: string; - }; - /** - * Project Collaborator Permission - * @description Project Collaborator Permission - */ - "project-collaborator-permission": { - permission: string; - user: components["schemas"]["nullable-simple-user"]; - }; - /** Rate Limit */ - "rate-limit": { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** - * Rate Limit Overview - * @description Rate Limit Overview - */ - "rate-limit-overview": { - resources: { - core: components["schemas"]["rate-limit"]; - graphql?: components["schemas"]["rate-limit"]; - search: components["schemas"]["rate-limit"]; - code_search?: components["schemas"]["rate-limit"]; - source_import?: components["schemas"]["rate-limit"]; - integration_manifest?: components["schemas"]["rate-limit"]; - code_scanning_upload?: components["schemas"]["rate-limit"]; - actions_runner_registration?: components["schemas"]["rate-limit"]; - scim?: components["schemas"]["rate-limit"]; - dependency_snapshots?: components["schemas"]["rate-limit"]; - }; - rate: components["schemas"]["rate-limit"]; - }; - /** - * Code Of Conduct Simple - * @description Code of Conduct Simple - */ - "code-of-conduct-simple": { - /** - * Format: uri - * @example https://api.github.com/repos/github/docs/community/code_of_conduct - */ - url: string; - /** @example citizen_code_of_conduct */ - key: string; - /** @example Citizen Code of Conduct */ - name: string; - /** - * Format: uri - * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md - */ - html_url: string | null; - }; - /** - * Full Repository - * @description Full Repository - */ - "full-repository": { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - owner: components["schemas"]["simple-user"]; - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @example true */ - is_template?: boolean; - /** - * @example [ - * "octocat", - * "atom", - * "electron", - * "API" - * ] - */ - topics?: string[]; - /** @example true */ - has_issues: boolean; - /** @example true */ - has_projects: boolean; - /** @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @example true */ - has_downloads: boolean; - /** @example true */ - has_discussions: boolean; - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @example public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - /** @example true */ - allow_rebase_merge?: boolean; - template_repository?: components["schemas"]["nullable-repository"]; - temp_clone_token?: string | null; - /** @example true */ - allow_squash_merge?: boolean; - /** @example false */ - allow_auto_merge?: boolean; - /** @example false */ - delete_branch_on_merge?: boolean; - /** @example true */ - allow_merge_commit?: boolean; - /** @example true */ - allow_update_branch?: boolean; - /** @example false */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @example PR_TITLE - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @example PR_BODY - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @example PR_TITLE - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @example PR_BODY - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @example true */ - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - /** @example 42 */ - subscribers_count: number; - /** @example 0 */ - network_count: number; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - parent?: components["schemas"]["repository"]; - source?: components["schemas"]["repository"]; - forks: number; - master_branch?: string; - open_issues: number; - watchers: number; - /** - * @description Whether anonymous git access is allowed. - * @default true - */ - anonymous_access_enabled?: boolean; - code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; - /** - * Artifact - * @description An artifact - */ - artifact: { - /** @example 5 */ - id: number; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** - * @description The name of the artifact. - * @example AdventureWorks.Framework - */ - name: string; - /** - * @description The size in bytes of the artifact. - * @example 12345 - */ - size_in_bytes: number; - /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5 */ - url: string; - /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip */ - archive_download_url: string; - /** @description Whether or not the artifact has expired. */ - expired: boolean; - /** Format: date-time */ - created_at: string | null; - /** Format: date-time */ - expires_at: string | null; - /** Format: date-time */ - updated_at: string | null; - workflow_run?: { - /** @example 10 */ - id?: number; - /** @example 42 */ - repository_id?: number; - /** @example 42 */ - head_repository_id?: number; - /** @example main */ - head_branch?: string; - /** @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ - head_sha?: string; - } | null; - }; - /** - * Repository actions caches - * @description Repository actions caches - */ - "actions-cache-list": { - /** - * @description Total number of caches - * @example 2 - */ - total_count: number; - /** @description Array of caches */ - actions_caches: { - /** @example 2 */ - id?: number; - /** @example refs/heads/main */ - ref?: string; - /** @example Linux-node-958aff96db2d75d67787d1e634ae70b659de937b */ - key?: string; - /** @example 73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0 */ - version?: string; - /** - * Format: date-time - * @example 2019-01-24T22:45:36.000Z - */ - last_accessed_at?: string; - /** - * Format: date-time - * @example 2019-01-24T22:45:36.000Z - */ - created_at?: string; - /** @example 1024 */ - size_in_bytes?: number; - }[]; + delete: operations["actions/disable-selected-repository-github-actions-organization"]; + options: never; + head: never; + patch: never; + trace: never; }; - /** - * Job - * @description Information of a job execution in a workflow run - */ - job: { - /** - * @description The id of the job. - * @example 21 - */ - id: number; - /** - * @description The id of the associated workflow run. - * @example 5 - */ - run_id: number; - /** @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ - run_url: string; - /** - * @description Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. - * @example 1 - */ - run_attempt?: number; - /** @example MDg6Q2hlY2tSdW40 */ - node_id: string; - /** - * @description The SHA of the commit that is being run. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** @example https://api.github.com/repos/github/hello-world/actions/jobs/21 */ - url: string; - /** @example https://github.com/github/hello-world/runs/4 */ - html_url: string | null; - /** - * @description The phase of the lifecycle that the job is currently in. - * @example queued - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** - * @description The outcome of the job. - * @example success - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; - /** - * Format: date-time - * @description The time that the job created, in ISO 8601 format. - * @example 2019-08-08T08:00:00-07:00 - */ - created_at: string; - /** - * Format: date-time - * @description The time that the job started, in ISO 8601 format. - * @example 2019-08-08T08:00:00-07:00 - */ - started_at: string; - /** - * Format: date-time - * @description The time that the job finished, in ISO 8601 format. - * @example 2019-08-08T08:00:00-07:00 - */ - completed_at: string | null; - /** - * @description The name of the job. - * @example test-coverage - */ - name: string; - /** @description Steps in this job. */ - steps?: ({ - /** - * @description The phase of the lifecycle that the job is currently in. - * @example queued - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** - * @description The outcome of the job. - * @example success - */ - conclusion: string | null; - /** - * @description The name of the job. - * @example test-coverage - */ - name: string; - /** @example 1 */ - number: number; - /** - * Format: date-time - * @description The time that the step started, in ISO 8601 format. - * @example 2019-08-08T08:00:00-07:00 - */ - started_at?: string | null; - /** - * Format: date-time - * @description The time that the job finished, in ISO 8601 format. - * @example 2019-08-08T08:00:00-07:00 - */ - completed_at?: string | null; - })[]; - /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ - check_run_url: string; - /** - * @description Labels for the workflow job. Specified by the "runs_on" attribute in the action's workflow file. - * @example [ - * "self-hosted", - * "foo", - * "bar" - * ] - */ - labels: string[]; - /** - * @description The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) - * @example 1 - */ - runner_id: number | null; - /** - * @description The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) - * @example my runner - */ - runner_name: string | null; - /** - * @description The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) - * @example 2 - */ - runner_group_id: number | null; - /** - * @description The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) - * @example my runner group - */ - runner_group_name: string | null; - /** - * @description The name of the workflow. - * @example Build - */ - workflow_name: string | null; - /** - * @description The name of the current branch. - * @example main - */ - head_branch: string | null; - }; - /** - * Actions OIDC subject customization for a repository - * @description Actions OIDC subject customization for a repository - */ - "oidc-custom-sub-repo": { - /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ - use_default: boolean; - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys?: string[]; - }; - /** - * Actions Secret - * @description Set secrets for GitHub Actions. - */ - "actions-secret": { - /** - * @description The name of the secret. - * @example SECRET_TOKEN - */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** Actions Variable */ - "actions-variable": { - /** - * @description The name of the variable. - * @example USERNAME - */ - name: string; - /** - * @description The value of the variable. - * @example octocat - */ - value: string; - /** - * Format: date-time - * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - * @example 2019-01-24T22:45:36.000Z - */ - updated_at: string; - }; - /** @description Whether GitHub Actions is enabled on the repository. */ - "actions-enabled": boolean; - "actions-repository-permissions": { - enabled: components["schemas"]["actions-enabled"]; - allowed_actions?: components["schemas"]["allowed-actions"]; - selected_actions_url?: components["schemas"]["selected-actions-url"]; - }; - "actions-workflow-access-to-repository": { - /** - * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the - * repository. - * - * `none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repos only. `organization` level access allows sharing across the organization. - * @enum {string} - */ - access_level: "none" | "user" | "organization"; - }; - /** - * Referenced workflow - * @description A workflow referenced/reused by the initial caller workflow - */ - "referenced-workflow": { - path: string; - sha: string; - ref?: string; - }; - /** Pull Request Minimal */ - "pull-request-minimal": { - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - base: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - }; - /** - * Simple Commit - * @description A commit. - */ - "nullable-simple-commit": ({ - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - id: string; - /** @description SHA for the commit's tree */ - tree_id: string; - /** - * @description Message describing the purpose of the commit - * @example Fix #42 - */ - message: string; - /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - timestamp: string; - /** @description Information about the Git author */ - author: { - /** - * @description Name of the commit's author - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's author - * @example monalisa.octocat@example.com - */ - email: string; - } | null; - /** @description Information about the Git committer */ - committer: { - /** - * @description Name of the commit's committer - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's committer - * @example monalisa.octocat@example.com - */ - email: string; - } | null; - }) | null; - /** - * Workflow Run - * @description An invocation of a workflow - */ - "workflow-run": { - /** - * @description The ID of the workflow run. - * @example 5 - */ - id: number; - /** - * @description The name of the workflow run. - * @example Build - */ - name?: string | null; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** - * @description The ID of the associated check suite. - * @example 42 - */ - check_suite_id?: number; - /** - * @description The node ID of the associated check suite. - * @example MDEwOkNoZWNrU3VpdGU0Mg== - */ - check_suite_node_id?: string; - /** @example master */ - head_branch: string | null; - /** - * @description The SHA of the head commit that points to the version of the workflow being run. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** - * @description The full path of the workflow - * @example octocat/octo-repo/.github/workflows/ci.yml@main - */ - path: string; - /** - * @description The auto incrementing run number for the workflow run. - * @example 106 - */ - run_number: number; - /** - * @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. - * @example 1 - */ - run_attempt?: number; - referenced_workflows?: components["schemas"]["referenced-workflow"][] | null; - /** @example push */ - event: string; - /** @example completed */ - status: string | null; - /** @example neutral */ - conclusion: string | null; - /** - * @description The ID of the parent workflow. - * @example 5 - */ - workflow_id: number; - /** - * @description The URL to the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5 - */ - url: string; - /** @example https://github.com/github/hello-world/suites/4 */ - html_url: string; - /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the workflow run. The returned pull requests do not necessarily indicate pull requests that triggered the run. */ - pull_requests: components["schemas"]["pull-request-minimal"][] | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - actor?: components["schemas"]["simple-user"]; - triggering_actor?: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @description The start time of the latest run. Resets on re-run. - */ - run_started_at?: string; - /** - * @description The URL to the jobs for the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs - */ - jobs_url: string; - /** - * @description The URL to download the logs for the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs - */ - logs_url: string; - /** - * @description The URL to the associated check suite. - * @example https://api.github.com/repos/github/hello-world/check-suites/12 - */ - check_suite_url: string; - /** - * @description The URL to the artifacts for the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts - */ - artifacts_url: string; - /** - * @description The URL to cancel the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel - */ - cancel_url: string; - /** - * @description The URL to rerun the workflow run. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun - */ - rerun_url: string; - /** - * @description The URL to the previous attempted run of this workflow, if one exists. - * @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 - */ - previous_attempt_url?: string | null; - /** - * @description The URL to the workflow. - * @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml - */ - workflow_url: string; - head_commit: components["schemas"]["nullable-simple-commit"]; - repository: components["schemas"]["minimal-repository"]; - head_repository: components["schemas"]["minimal-repository"]; - /** @example 5 */ - head_repository_id?: number; - /** - * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. - * @example Simple Workflow - */ - display_title: string; - }; - /** - * Environment Approval - * @description An entry in the reviews log for environment deployments - */ - "environment-approvals": { - /** @description The list of environments that were approved or rejected */ - environments: { - /** - * @description The id of the environment. - * @example 56780428 - */ - id?: number; - /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ - node_id?: string; - /** - * @description The name of the environment. - * @example staging - */ - name?: string; - /** @example https://api.github.com/repos/github/hello-world/environments/staging */ - url?: string; - /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ - html_url?: string; - /** - * Format: date-time - * @description The time that the environment was created, in ISO 8601 format. - * @example 2020-11-23T22:00:40Z - */ - created_at?: string; - /** - * Format: date-time - * @description The time that the environment was last updated, in ISO 8601 format. - * @example 2020-11-23T22:00:40Z - */ - updated_at?: string; - }[]; - /** - * @description Whether deployment to the environment(s) was approved or rejected or pending (with comments) - * @example approved - * @enum {string} - */ - state: "approved" | "rejected" | "pending"; - user: components["schemas"]["simple-user"]; - /** - * @description The comment submitted with the deployment review - * @example Ship it! - */ - comment: string; - }; - "review-custom-gates-comment-required": { - /** @description The name of the environment to approve or reject. */ - environment_name: string; - /** @description Comment associated with the pending deployment protection rule. **Required when state is not provided.** */ - comment: string; - }; - "review-custom-gates-state-required": { - /** @description The name of the environment to approve or reject. */ - environment_name: string; - /** - * @description Whether to approve or reject deployment to the specified environments. - * @enum {string} - */ - state: "approved" | "rejected"; - /** @description Optional comment to include with the review. */ - comment?: string; - }; - /** - * @description The type of reviewer. - * @example User - * @enum {string} - */ - "deployment-reviewer-type": "User" | "Team"; - /** - * Pending Deployment - * @description Details of a deployment that is waiting for protection rules to pass - */ - "pending-deployment": { - environment: { - /** - * @description The id of the environment. - * @example 56780428 - */ - id?: number; - /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ - node_id?: string; - /** - * @description The name of the environment. - * @example staging - */ - name?: string; - /** @example https://api.github.com/repos/github/hello-world/environments/staging */ - url?: string; - /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ - html_url?: string; - }; - /** - * @description The set duration of the wait timer - * @example 30 - */ - wait_timer: number; - /** - * Format: date-time - * @description The time that the wait timer began. - * @example 2020-11-23T22:00:40Z - */ - wait_timer_started_at: string | null; - /** - * @description Whether the currently authenticated user can approve the deployment - * @example true - */ - current_user_can_approve: boolean; - /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers: ({ - type?: components["schemas"]["deployment-reviewer-type"]; - reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; - })[]; - }; - /** - * Deployment - * @description A request for a specific ref(branch,sha,tag) to be deployed - */ - deployment: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/1 - */ - url: string; - /** - * @description Unique identifier of the deployment - * @example 42 - */ - id: number; - /** @example MDEwOkRlcGxveW1lbnQx */ - node_id: string; - /** @example a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d */ - sha: string; - /** - * @description The ref to deploy. This can be a branch, tag, or sha. - * @example topic-branch - */ - ref: string; - /** - * @description Parameter to specify a task to execute - * @example deploy - */ - task: string; - payload: OneOf<[{ - [key: string]: unknown; - }, string]>; - /** @example staging */ - original_environment?: string; - /** - * @description Name for the target deployment environment. - * @example production - */ - environment: string; - /** @example Deploy request from hubot */ - description: string | null; - creator: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - created_at: string; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - updated_at: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/1/statuses - */ - statuses_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example - */ - repository_url: string; - /** - * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. - * @example true - */ - transient_environment?: boolean; - /** - * @description Specifies if the given environment is one that end-users directly interact with. Default: false. - * @example true - */ - production_environment?: boolean; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - }; - /** - * Workflow Run Usage - * @description Workflow Run Usage - */ - "workflow-run-usage": { - billable: { - UBUNTU?: { - total_ms: number; - jobs: number; - job_runs?: { - job_id: number; - duration_ms: number; - }[]; - }; - MACOS?: { - total_ms: number; - jobs: number; - job_runs?: { - job_id: number; - duration_ms: number; - }[]; - }; - WINDOWS?: { - total_ms: number; - jobs: number; - job_runs?: { - job_id: number; - duration_ms: number; - }[]; + "/orgs/{org}/actions/permissions/selected-actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - }; - run_duration_ms?: number; - }; - /** - * Workflow - * @description A GitHub Actions workflow - */ - workflow: { - /** @example 5 */ - id: number; - /** @example MDg6V29ya2Zsb3cxMg== */ - node_id: string; - /** @example CI */ - name: string; - /** @example ruby.yaml */ - path: string; - /** - * @example active - * @enum {string} - */ - state: "active" | "deleted" | "disabled_fork" | "disabled_inactivity" | "disabled_manually"; - /** - * Format: date-time - * @example 2019-12-06T14:20:20.000Z - */ - created_at: string; - /** - * Format: date-time - * @example 2019-12-06T14:20:20.000Z - */ - updated_at: string; - /** @example https://api.github.com/repos/actions/setup-ruby/workflows/5 */ - url: string; - /** @example https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml */ - html_url: string; - /** @example https://github.com/actions/setup-ruby/workflows/CI/badge.svg */ - badge_url: string; - /** - * Format: date-time - * @example 2019-12-06T14:20:20.000Z - */ - deleted_at?: string; - }; - /** - * Workflow Usage - * @description Workflow Usage - */ - "workflow-usage": { - billable: { - UBUNTU?: { - total_ms?: number; - }; - MACOS?: { - total_ms?: number; - }; - WINDOWS?: { - total_ms?: number; - }; - }; - }; - /** - * Activity - * @description Activity - */ - activity: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The SHA of the commit before the activity. - * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - before: string; - /** - * @description The SHA of the commit after the activity. - * @example 827efc6d56897b048c772eb4087f854f46256132 - */ - after: string; - /** - * @description The full Git reference, formatted as `refs/heads/`. - * @example refs/heads/main - */ - ref: string; - /** - * Format: date-time - * @description The time when the activity occurred. - * @example 2011-01-26T19:06:43Z - */ - timestamp: string; - /** - * @description The type of the activity that was performed. - * @example force_push - * @enum {string} - */ - activity_type: "push" | "force_push" | "branch_deletion" | "branch_creation" | "pr_merge" | "merge_queue_merge"; - actor: components["schemas"]["nullable-simple-user"]; - }; - /** - * Autolink reference - * @description An autolink reference. - */ - autolink: { - /** @example 3 */ - id: number; - /** - * @description The prefix of a key that is linkified. - * @example TICKET- - */ - key_prefix: string; - /** - * @description A template for the target URL that is generated if a key was found. - * @example https://example.com/TICKET?query= - */ - url_template: string; - /** - * @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. - * @example true - */ - is_alphanumeric: boolean; - }; - /** - * Check Automated Security Fixes - * @description Check Automated Security Fixes - */ - "check-automated-security-fixes": { - /** - * @description Whether automated security fixes are enabled for the repository. - * @example true - */ - enabled: boolean; - /** - * @description Whether automated security fixes are paused for the repository. - * @example false - */ - paused: boolean; - }; - /** - * Protected Branch Required Status Check - * @description Protected Branch Required Status Check - */ - "protected-branch-required-status-check": { - url?: string; - enforcement_level?: string; - contexts: string[]; - checks: ({ - context: string; - app_id: number | null; - })[]; - contexts_url?: string; - strict?: boolean; - }; - /** - * Protected Branch Admin Enforced - * @description Protected Branch Admin Enforced - */ - "protected-branch-admin-enforced": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins - */ - url: string; - /** @example true */ - enabled: boolean; - }; - /** - * Protected Branch Pull Request Review - * @description Protected Branch Pull Request Review - */ - "protected-branch-pull-request-review": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions - */ - url?: string; - dismissal_restrictions?: { - /** @description The list of users with review dismissal access. */ - users?: components["schemas"]["simple-user"][]; - /** @description The list of teams with review dismissal access. */ - teams?: components["schemas"]["team"][]; - /** @description The list of apps with review dismissal access. */ - apps?: components["schemas"]["integration"][]; - /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions" */ - url?: string; - /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users" */ - users_url?: string; - /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams" */ - teams_url?: string; - }; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of users allowed to bypass pull request requirements. */ - users?: components["schemas"]["simple-user"][]; - /** @description The list of teams allowed to bypass pull request requirements. */ - teams?: components["schemas"]["team"][]; - /** @description The list of apps allowed to bypass pull request requirements. */ - apps?: components["schemas"]["integration"][]; - }; - /** @example true */ - dismiss_stale_reviews: boolean; - /** @example true */ - require_code_owner_reviews: boolean; - /** @example 2 */ - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. - * @default false - * @example true - */ - require_last_push_approval?: boolean; - }; - /** - * Branch Restriction Policy - * @description Branch Restriction Policy - */ - "branch-restriction-policy": { - /** Format: uri */ - url: string; - /** Format: uri */ - users_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri */ - apps_url: string; - users: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }[]; - teams: ({ - id?: number; - node_id?: string; - url?: string; - html_url?: string; - name?: string; - slug?: string; - description?: string | null; - privacy?: string; - notification_setting?: string; - permission?: string; - members_url?: string; - repositories_url?: string; - parent?: string | null; - })[]; - apps: { - id?: number; - slug?: string; - node_id?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - url?: string; - repos_url?: string; - events_url?: string; - hooks_url?: string; - issues_url?: string; - members_url?: string; - public_members_url?: string; - avatar_url?: string; - description?: string; - /** @example "" */ - gravatar_id?: string; - /** @example "https://github.com/testorg-ea8ec76d71c3af4b" */ - html_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers" */ - followers_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}" */ - following_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}" */ - gists_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}" */ - starred_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions" */ - subscriptions_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs" */ - organizations_url?: string; - /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events" */ - received_events_url?: string; - /** @example "Organization" */ - type?: string; - /** @example false */ - site_admin?: boolean; - }; - name?: string; - description?: string; - external_url?: string; - html_url?: string; - created_at?: string; - updated_at?: string; - permissions?: { - metadata?: string; - contents?: string; - issues?: string; - single_file?: string; - }; - events?: string[]; - }[]; - }; - /** - * Branch Protection - * @description Branch Protection - */ - "branch-protection": { - url?: string; - enabled?: boolean; - required_status_checks?: components["schemas"]["protected-branch-required-status-check"]; - enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; - required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; - restrictions?: components["schemas"]["branch-restriction-policy"]; - required_linear_history?: { - enabled?: boolean; - }; - allow_force_pushes?: { - enabled?: boolean; - }; - allow_deletions?: { - enabled?: boolean; - }; - block_creations?: { - enabled?: boolean; - }; - required_conversation_resolution?: { - enabled?: boolean; - }; - /** @example "branch/with/protection" */ - name?: string; - /** @example "https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection" */ - protection_url?: string; - required_signatures?: { /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures - */ - url: string; - /** @example true */ - enabled: boolean; - }; - /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ - lock_branch?: { - /** @default false */ - enabled?: boolean; - }; - /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ - allow_fork_syncing?: { - /** @default false */ - enabled?: boolean; - }; - }; - /** - * Short Branch - * @description Short Branch - */ - "short-branch": { - name: string; - commit: { - sha: string; - /** Format: uri */ - url: string; - }; - protected: boolean; - protection?: components["schemas"]["branch-protection"]; - /** Format: uri */ - protection_url?: string; - }; - /** - * Git User - * @description Metaproperties for Git author/committer information. - */ - "nullable-git-user": { - /** @example "Chris Wanstrath" */ - name?: string; - /** @example "chris@ozmm.org" */ - email?: string; - /** @example "2007-10-29T02:42:39.000-07:00" */ - date?: string; - } | null; - /** Verification */ - verification: { - verified: boolean; - reason: string; - payload: string | null; - signature: string | null; - }; - /** - * Diff Entry - * @description Diff Entry - */ - "diff-entry": { - /** @example bbcd538c8e72b8c175046e27cc8f907076331401 */ - sha: string; - /** @example file1.txt */ - filename: string; - /** - * @example added - * @enum {string} - */ - status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged"; - /** @example 103 */ - additions: number; - /** @example 21 */ - deletions: number; - /** @example 124 */ - changes: number; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt - */ - blob_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt - */ - raw_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - contents_url: string; - /** @example @@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test */ - patch?: string; - /** @example file.txt */ - previous_filename?: string; - }; - /** - * Commit - * @description Commit - */ - commit: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - url: string; - /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ - sha: string; - /** @example MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ== */ - node_id: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments - */ - comments_url: string; - commit: { + * Get allowed actions and reusable workflows for an organization + * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-allowed-actions-organization"]; /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - url: string; - author: components["schemas"]["nullable-git-user"]; - committer: components["schemas"]["nullable-git-user"]; - /** @example Fix all the bugs */ - message: string; - /** @example 0 */ - comment_count: number; - tree: { - /** @example 827efc6d56897b048c772eb4087f854f46256132 */ - sha: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132 - */ - url: string; - }; - verification?: components["schemas"]["verification"]; - }; - author: components["schemas"]["nullable-simple-user"]; - committer: components["schemas"]["nullable-simple-user"]; - parents: { - /** @example 7638417db6d59f3c431d3e1f261cc637155684cd */ - sha: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd - */ - html_url?: string; - }[]; - stats?: { - additions?: number; - deletions?: number; - total?: number; - }; - files?: components["schemas"]["diff-entry"][]; - }; - /** - * Branch With Protection - * @description Branch With Protection - */ - "branch-with-protection": { - name: string; - commit: components["schemas"]["commit"]; - _links: { - html: string; - /** Format: uri */ - self: string; - }; - protected: boolean; - protection: components["schemas"]["branch-protection"]; - /** Format: uri */ - protection_url: string; - /** @example "mas*" */ - pattern?: string; - /** @example 1 */ - required_approving_review_count?: number; - }; - /** - * Status Check Policy - * @description Status Check Policy - */ - "status-check-policy": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks - */ - url: string; - /** @example true */ - strict: boolean; - /** - * @example [ - * "continuous-integration/travis-ci" - * ] - */ - contexts: string[]; - checks: ({ - /** @example continuous-integration/travis-ci */ - context: string; - app_id: number | null; - })[]; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts - */ - contexts_url: string; - }; - /** - * Protected Branch - * @description Branch protections protect branches - */ - "protected-branch": { - /** Format: uri */ - url: string; - required_status_checks?: components["schemas"]["status-check-policy"]; - required_pull_request_reviews?: { - /** Format: uri */ - url: string; - dismiss_stale_reviews?: boolean; - require_code_owner_reviews?: boolean; - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. - * @default false - */ - require_last_push_approval?: boolean; - dismissal_restrictions?: { - /** Format: uri */ - url: string; - /** Format: uri */ - users_url: string; - /** Format: uri */ - teams_url: string; - users: components["schemas"]["simple-user"][]; - teams: components["schemas"]["team"][]; - apps?: components["schemas"]["integration"][]; - }; - bypass_pull_request_allowances?: { - users: components["schemas"]["simple-user"][]; - teams: components["schemas"]["team"][]; - apps?: components["schemas"]["integration"][]; - }; - }; - required_signatures?: { + * Set allowed actions and reusable workflows for an organization + * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-allowed-actions-organization"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/permissions/workflow": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default workflow permissions for an organization + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, + * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-organization"]; /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures - */ - url: string; - /** @example true */ - enabled: boolean; - }; - enforce_admins?: { - /** Format: uri */ - url: string; - enabled: boolean; - }; - required_linear_history?: { - enabled: boolean; - }; - allow_force_pushes?: { - enabled: boolean; - }; - allow_deletions?: { - enabled: boolean; - }; - restrictions?: components["schemas"]["branch-restriction-policy"]; - required_conversation_resolution?: { - enabled?: boolean; - }; - block_creations?: { - enabled: boolean; - }; - /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ - lock_branch?: { - /** @default false */ - enabled?: boolean; - }; - /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ - allow_fork_syncing?: { - /** @default false */ - enabled?: boolean; - }; - }; - /** - * Deployment - * @description A deployment created as the result of an Actions check run from a workflow that references an environment - */ - "deployment-simple": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/1 - */ - url: string; - /** - * @description Unique identifier of the deployment - * @example 42 - */ - id: number; - /** @example MDEwOkRlcGxveW1lbnQx */ - node_id: string; - /** - * @description Parameter to specify a task to execute - * @example deploy - */ - task: string; - /** @example staging */ - original_environment?: string; - /** - * @description Name for the target deployment environment. - * @example production - */ - environment: string; - /** @example Deploy request from hubot */ - description: string | null; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - created_at: string; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - updated_at: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/1/statuses - */ - statuses_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example - */ - repository_url: string; - /** - * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. - * @example true - */ - transient_environment?: boolean; - /** - * @description Specifies if the given environment is one that end-users directly interact with. Default: false. - * @example true - */ - production_environment?: boolean; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - }; - /** - * CheckRun - * @description A check performed on the code of a given code change - */ - "check-run": { - /** - * @description The id of the check. - * @example 21 - */ - id: number; - /** - * @description The SHA of the commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** @example MDg6Q2hlY2tSdW40 */ - node_id: string; - /** @example 42 */ - external_id: string | null; - /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ - url: string; - /** @example https://github.com/github/hello-world/runs/4 */ - html_url: string | null; - /** @example https://example.com */ - details_url: string | null; - /** - * @description The phase of the lifecycle that the check is currently in. - * @example queued - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** - * @example neutral - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; - /** - * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - started_at: string | null; - /** - * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - completed_at: string | null; - output: { - title: string | null; - summary: string | null; - text: string | null; - annotations_count: number; - /** Format: uri */ - annotations_url: string; - }; - /** - * @description The name of the check. - * @example test-coverage - */ - name: string; - check_suite: { - id: number; - } | null; - app: components["schemas"]["nullable-integration"]; - /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the check. The returned pull requests do not necessarily indicate pull requests that triggered the check. */ - pull_requests: components["schemas"]["pull-request-minimal"][]; - deployment?: components["schemas"]["deployment-simple"]; - }; - /** - * Check Annotation - * @description Check Annotation - */ - "check-annotation": { - /** @example README.md */ - path: string; - /** @example 2 */ - start_line: number; - /** @example 2 */ - end_line: number; - /** @example 5 */ - start_column: number | null; - /** @example 10 */ - end_column: number | null; - /** @example warning */ - annotation_level: string | null; - /** @example Spell Checker */ - title: string | null; - /** @example Check your spelling for 'banaas'. */ - message: string | null; - /** @example Do you mean 'bananas' or 'banana'? */ - raw_details: string | null; - blob_href: string; - }; - /** - * Simple Commit - * @description A commit. - */ - "simple-commit": { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - id: string; - /** @description SHA for the commit's tree */ - tree_id: string; - /** - * @description Message describing the purpose of the commit - * @example Fix #42 - */ - message: string; - /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - timestamp: string; - /** @description Information about the Git author */ - author: { - /** - * @description Name of the commit's author - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's author - * @example monalisa.octocat@example.com - */ - email: string; - } | null; - /** @description Information about the Git committer */ - committer: { - /** - * @description Name of the commit's committer - * @example Monalisa Octocat - */ - name: string; - /** - * Format: email - * @description Git email address of the commit's committer - * @example monalisa.octocat@example.com - */ - email: string; - } | null; - }; - /** - * CheckSuite - * @description A suite of checks performed on the code of a given code change - */ - "check-suite": { - /** @example 5 */ - id: number; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** @example master */ - head_branch: string | null; - /** - * @description The SHA of the head commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** - * @example completed - * @enum {string|null} - */ - status: "queued" | "in_progress" | "completed" | null; - /** - * @example neutral - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "startup_failure" | "stale" | null; - /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ - url: string | null; - /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ - before: string | null; - /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ - after: string | null; - pull_requests: components["schemas"]["pull-request-minimal"][] | null; - app: components["schemas"]["nullable-integration"]; - repository: components["schemas"]["minimal-repository"]; - /** Format: date-time */ - created_at: string | null; - /** Format: date-time */ - updated_at: string | null; - head_commit: components["schemas"]["simple-commit"]; - latest_check_runs_count: number; - check_runs_url: string; - rerequestable?: boolean; - runs_rerequestable?: boolean; - }; - /** - * Check Suite Preference - * @description Check suite configuration preferences for a repository. - */ - "check-suite-preference": { - preferences: { - auto_trigger_checks?: { - app_id: number; - setting: boolean; - }[]; - }; - repository: components["schemas"]["minimal-repository"]; - }; - "code-scanning-alert-rule-summary": { - /** @description A unique identifier for the rule used to detect the alert. */ - id?: string | null; - /** @description The name of the rule used to detect the alert. */ - name?: string; - /** @description A set of tags applicable for the rule. */ - tags?: string[] | null; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity?: "none" | "note" | "warning" | "error" | null; - /** @description A short description of the rule used to detect the alert. */ - description?: string; - }; - "code-scanning-alert-items": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule-summary"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - }; - "code-scanning-alert": { - number: components["schemas"]["alert-number"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["alert-updated-at"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - instances_url: components["schemas"]["alert-instances-url"]; - state: components["schemas"]["code-scanning-alert-state"]; - fixed_at?: components["schemas"]["alert-fixed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - rule: components["schemas"]["code-scanning-alert-rule"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; - }; - /** - * @description Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`. - * @enum {string} - */ - "code-scanning-alert-set-state": "open" | "dismissed"; - /** - * @description An identifier for the upload. - * @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 - */ - "code-scanning-analysis-sarif-id": string; - /** @description The SHA of the commit to which the analysis you are uploading relates. */ - "code-scanning-analysis-commit-sha": string; - /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ - "code-scanning-analysis-environment": string; - /** - * Format: date-time - * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - readonly "code-scanning-analysis-created-at": string; - /** - * Format: uri - * @description The REST API URL of the analysis resource. - */ - readonly "code-scanning-analysis-url": string; - "code-scanning-analysis": { - ref: components["schemas"]["code-scanning-ref"]; - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; - environment: components["schemas"]["code-scanning-analysis-environment"]; - category?: components["schemas"]["code-scanning-analysis-category"]; - /** @example error reading field xyz */ - error: string; - created_at: components["schemas"]["code-scanning-analysis-created-at"]; - /** @description The total number of results in the analysis. */ - results_count: number; - /** @description The total number of rules used in the analysis. */ - rules_count: number; - /** @description Unique identifier for this analysis. */ - id: number; - url: components["schemas"]["code-scanning-analysis-url"]; - sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; - tool: components["schemas"]["code-scanning-analysis-tool"]; - deletable: boolean; - /** - * @description Warning generated when processing the analysis - * @example 123 results were ignored - */ - warning: string; - }; - /** - * Analysis deletion - * @description Successful deletion of a code scanning analysis - */ - "code-scanning-analysis-deletion": { - /** - * Format: uri - * @description Next deletable analysis in chain, without last analysis deletion confirmation - */ - next_analysis_url: string | null; - /** - * Format: uri - * @description Next deletable analysis in chain, with last analysis deletion confirmation - */ - confirm_delete_url: string | null; - }; - /** - * CodeQL Database - * @description A CodeQL database. - */ - "code-scanning-codeql-database": { - /** @description The ID of the CodeQL database. */ - id: number; - /** @description The name of the CodeQL database. */ - name: string; - /** @description The language of the CodeQL database. */ - language: string; - uploader: components["schemas"]["simple-user"]; - /** @description The MIME type of the CodeQL database file. */ - content_type: string; - /** @description The size of the CodeQL database file in bytes. */ - size: number; - /** - * Format: date-time - * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * Format: uri - * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. - */ - url: string; - }; - /** @description Configuration for code scanning default setup. */ - "code-scanning-default-setup": { - /** - * @description Code scanning default setup has been configured or not. - * @enum {string} - */ - state?: "configured" | "not-configured"; - /** @description Languages to be analysed. */ - languages?: ("c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "javascript" | "python" | "ruby" | "typescript" | "swift")[]; - /** - * @description CodeQL query suite to be used. - * @enum {string} - */ - query_suite?: "default" | "extended"; - /** - * Format: date-time - * @description Timestamp of latest configuration update. - * @example 2023-12-06T14:20:20.000Z - */ - updated_at?: string | null; - /** - * @description The frequency of the periodic analysis. - * @enum {string|null} - */ - schedule?: "weekly" | null; - }; - /** @description Configuration for code scanning default setup. */ - "code-scanning-default-setup-update": { - /** - * @description Whether code scanning default setup has been configured or not. - * @enum {string} - */ - state: "configured" | "not-configured"; - /** - * @description CodeQL query suite to be used. - * @enum {string} - */ - query_suite?: "default" | "extended"; - /** @description CodeQL languages to be analyzed. Supported values are: `c-cpp`, `csharp`, `go`, `java-kotlin`, `javascript-typescript`, `python`, `ruby`, and `swift`. */ - languages?: ("c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "python" | "ruby" | "swift")[]; - }; - /** - * @description You can use `run_url` to track the status of the run. This includes a property status and conclusion. - * You should not rely on this always being an actions workflow run object. - */ - "code-scanning-default-setup-update-response": { - /** @description ID of the corresponding run. */ - run_id?: number; - /** @description URL of the corresponding run. */ - run_url?: string; - }; - /** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ - "code-scanning-analysis-sarif-file": string; - "code-scanning-sarifs-receipt": { - id?: components["schemas"]["code-scanning-analysis-sarif-id"]; - /** - * Format: uri - * @description The REST API URL for checking the status of the upload. - */ - url?: string; - }; - "code-scanning-sarifs-status": { - /** - * @description `pending` files have not yet been processed, while `complete` means results from the SARIF have been stored. `failed` files have either not been processed at all, or could only be partially processed. - * @enum {string} - */ - processing_status?: "pending" | "complete" | "failed"; - /** - * Format: uri - * @description The REST API URL for getting the analyses associated with the upload. - */ - analyses_url?: string | null; - /** @description Any errors that ocurred during processing of the delivery. */ - errors?: (readonly string[]) | null; - }; - /** - * CODEOWNERS errors - * @description A list of errors found in a repo's CODEOWNERS file - */ - "codeowners-errors": { - errors: ({ - /** - * @description The line number where this errors occurs. - * @example 7 - */ - line: number; - /** - * @description The column number where this errors occurs. - * @example 3 - */ - column: number; - /** - * @description The contents of the line where the error occurs. - * @example * user - */ - source?: string; - /** - * @description The type of error. - * @example Invalid owner - */ - kind: string; - /** - * @description Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. - * @example The pattern `/` will never match anything, did you mean `*` instead? - */ - suggestion?: string | null; - /** - * @description A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). - * @example Invalid owner on line 7: - * - * * user - * ^ - */ - message: string; - /** - * @description The path of the file where the error occured. - * @example .github/CODEOWNERS - */ - path: string; - })[]; - }; - /** - * Codespace machine - * @description A description of the machine powering a codespace. - */ - "codespace-machine": { - /** - * @description The name of the machine. - * @example standardLinux - */ - name: string; - /** - * @description The display name of the machine includes cores, memory, and storage. - * @example 4 cores, 16 GB RAM, 64 GB storage - */ - display_name: string; - /** - * @description The operating system of the machine. - * @example linux - */ - operating_system: string; - /** - * @description How much storage is available to the codespace. - * @example 68719476736 - */ - storage_in_bytes: number; - /** - * @description How much memory is available to the codespace. - * @example 17179869184 - */ - memory_in_bytes: number; - /** - * @description How many cores are available to the codespace. - * @example 4 - */ - cpus: number; - /** - * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. - * @example ready - * @enum {string|null} - */ - prebuild_availability: "none" | "ready" | "in_progress" | null; - }; - /** - * Codespaces Secret - * @description Set repository secrets for GitHub Codespaces. - */ - "repo-codespaces-secret": { - /** - * @description The name of the secret. - * @example SECRET_TOKEN - */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Collaborator - * @description Collaborator - */ - collaborator: { - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - email?: string | null; - name?: string | null; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - permissions?: { - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - admin: boolean; - }; - /** @example admin */ - role_name: string; - }; - /** - * Repository Invitation - * @description Repository invitations let you manage who you collaborate with. - */ - "repository-invitation": { - /** - * @description Unique identifier of the repository invitation. - * @example 42 - */ - id: number; - repository: components["schemas"]["minimal-repository"]; - invitee: components["schemas"]["nullable-simple-user"]; - inviter: components["schemas"]["nullable-simple-user"]; - /** - * @description The permission associated with the invitation. - * @example read - * @enum {string} - */ - permissions: "read" | "write" | "admin" | "triage" | "maintain"; - /** - * Format: date-time - * @example 2016-06-13T14:52:50-05:00 - */ - created_at: string; - /** @description Whether or not the invitation has expired */ - expired?: boolean; - /** - * @description URL for the repository invitation - * @example https://api.github.com/user/repository-invitations/1 - */ - url: string; - /** @example https://github.com/octocat/Hello-World/invitations */ - html_url: string; - node_id: string; - }; - /** - * Collaborator - * @description Collaborator - */ - "nullable-collaborator": ({ - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - email?: string | null; - name?: string | null; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - permissions?: { - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - admin: boolean; - }; - /** @example admin */ - role_name: string; - }) | null; - /** - * Repository Collaborator Permission - * @description Repository Collaborator Permission - */ - "repository-collaborator-permission": { - permission: string; - /** @example admin */ - role_name: string; - user: components["schemas"]["nullable-collaborator"]; - }; - /** - * Commit Comment - * @description Commit Comment - */ - "commit-comment": { - /** Format: uri */ - html_url: string; - /** Format: uri */ - url: string; - id: number; - node_id: string; - body: string; - path: string | null; - position: number | null; - line: number | null; - commit_id: string; - user: components["schemas"]["nullable-simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Branch Short - * @description Branch Short - */ - "branch-short": { - name: string; - commit: { - sha: string; - url: string; - }; - protected: boolean; - }; - /** - * Link - * @description Hypermedia Link - */ - link: { - href: string; - }; - /** - * Auto merge - * @description The status of auto merging a pull request. - */ - "auto-merge": ({ - enabled_by: components["schemas"]["simple-user"]; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - /** @description Title for the merge commit message. */ - commit_title: string; - /** @description Commit message for the merge commit. */ - commit_message: string; - }) | null; - /** - * Pull Request Simple - * @description Pull Request Simple - */ - "pull-request-simple": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 - */ - url: string; - /** @example 1 */ - id: number; - /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ - node_id: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347 - */ - html_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347.diff - */ - diff_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347.patch - */ - patch_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 - */ - issue_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits - */ - commits_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments - */ - review_comments_url: string; - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ - review_comment_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments - */ - comments_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - statuses_url: string; - /** @example 1347 */ - number: number; - /** @example open */ - state: string; - /** @example true */ - locked: boolean; - /** @example new-feature */ - title: string; - user: components["schemas"]["nullable-simple-user"]; - /** @example Please pull these awesome changes */ - body: string | null; - labels: { - /** Format: int64 */ - id: number; - node_id: string; - url: string; - name: string; - description: string; - color: string; - default: boolean; - }[]; - milestone: components["schemas"]["nullable-milestone"]; - /** @example too heated */ - active_lock_reason?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - closed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - merged_at: string | null; - /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ - merge_commit_sha: string | null; - assignee: components["schemas"]["nullable-simple-user"]; - assignees?: components["schemas"]["simple-user"][] | null; - requested_reviewers?: components["schemas"]["simple-user"][] | null; - requested_teams?: components["schemas"]["team"][] | null; - head: { - label: string; - ref: string; - repo: components["schemas"]["repository"]; - sha: string; - user: components["schemas"]["nullable-simple-user"]; - }; - base: { - label: string; - ref: string; - repo: components["schemas"]["repository"]; - sha: string; - user: components["schemas"]["nullable-simple-user"]; - }; - _links: { - comments: components["schemas"]["link"]; - commits: components["schemas"]["link"]; - statuses: components["schemas"]["link"]; - html: components["schemas"]["link"]; - issue: components["schemas"]["link"]; - review_comments: components["schemas"]["link"]; - review_comment: components["schemas"]["link"]; - self: components["schemas"]["link"]; - }; - author_association: components["schemas"]["author-association"]; - auto_merge: components["schemas"]["auto-merge"]; - /** - * @description Indicates whether or not the pull request is a draft. - * @example false - */ - draft?: boolean; - }; - /** Simple Commit Status */ - "simple-commit-status": { - description: string | null; - id: number; - node_id: string; - state: string; - context: string; - /** Format: uri */ - target_url: string | null; - required?: boolean | null; - /** Format: uri */ - avatar_url: string | null; - /** Format: uri */ - url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Combined Commit Status - * @description Combined Commit Status - */ - "combined-commit-status": { - state: string; - statuses: components["schemas"]["simple-commit-status"][]; - sha: string; - total_count: number; - repository: components["schemas"]["minimal-repository"]; - /** Format: uri */ - commit_url: string; - /** Format: uri */ - url: string; - }; - /** - * Status - * @description The status of a commit. - */ - status: { - url: string; - avatar_url: string | null; - id: number; - node_id: string; - state: string; - description: string | null; - target_url: string | null; - context: string; - created_at: string; - updated_at: string; - creator: components["schemas"]["nullable-simple-user"]; - }; - /** - * Code Of Conduct Simple - * @description Code of Conduct Simple - */ - "nullable-code-of-conduct-simple": ({ - /** - * Format: uri - * @example https://api.github.com/repos/github/docs/community/code_of_conduct - */ - url: string; - /** @example citizen_code_of_conduct */ - key: string; - /** @example Citizen Code of Conduct */ - name: string; - /** - * Format: uri - * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md - */ - html_url: string | null; - }) | null; - /** Community Health File */ - "nullable-community-health-file": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - } | null; - /** - * Community Profile - * @description Community Profile - */ - "community-profile": { - /** @example 100 */ - health_percentage: number; - /** @example My first repository on GitHub! */ - description: string | null; - /** @example example.com */ - documentation: string | null; - files: { - code_of_conduct: components["schemas"]["nullable-code-of-conduct-simple"]; - code_of_conduct_file: components["schemas"]["nullable-community-health-file"]; - license: components["schemas"]["nullable-license-simple"]; - contributing: components["schemas"]["nullable-community-health-file"]; - readme: components["schemas"]["nullable-community-health-file"]; - issue_template: components["schemas"]["nullable-community-health-file"]; - pull_request_template: components["schemas"]["nullable-community-health-file"]; - }; - /** - * Format: date-time - * @example 2017-02-28T19:09:29Z - */ - updated_at: string | null; - /** @example true */ - content_reports_enabled?: boolean; - }; - /** - * Commit Comparison - * @description Commit Comparison - */ - "commit-comparison": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/compare/master...topic - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/compare/master...topic - */ - html_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17 - */ - permalink_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/compare/master...topic.diff - */ - diff_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/compare/master...topic.patch - */ - patch_url: string; - base_commit: components["schemas"]["commit"]; - merge_base_commit: components["schemas"]["commit"]; - /** - * @example ahead - * @enum {string} - */ - status: "diverged" | "ahead" | "behind" | "identical"; - /** @example 4 */ - ahead_by: number; - /** @example 5 */ - behind_by: number; - /** @example 6 */ - total_commits: number; - commits: components["schemas"]["commit"][]; - files?: components["schemas"]["diff-entry"][]; - }; - /** - * Content Tree - * @description Content Tree - */ - "content-tree": { - type: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - entries?: ({ - type: string; - size: number; - name: string; - path: string; - content?: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - })[]; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }; - /** - * Content Directory - * @description A list of directory items - */ - "content-directory": ({ - /** @enum {string} */ - type: "dir" | "file" | "submodule" | "symlink"; - size: number; - name: string; - path: string; - content?: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - })[]; - /** - * Content File - * @description Content File - */ - "content-file": { - /** @enum {string} */ - type: "file"; - encoding: string; - size: number; - name: string; - path: string; - content: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - /** @example "actual/actual.md" */ - target?: string; - /** @example "git://example.com/defunkt/dotjs.git" */ - submodule_git_url?: string; - }; - /** - * Symlink Content - * @description An object describing a symlink - */ - "content-symlink": { - /** @enum {string} */ - type: "symlink"; - target: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }; - /** - * Submodule Content - * @description An object describing a submodule - */ - "content-submodule": { - /** @enum {string} */ - type: "submodule"; - /** Format: uri */ - submodule_git_url: string; - size: number; - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - download_url: string | null; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - }; - /** - * File Commit - * @description File Commit - */ - "file-commit": { - content: { - name?: string; - path?: string; - sha?: string; - size?: number; - url?: string; - html_url?: string; - git_url?: string; - download_url?: string; - type?: string; - _links?: { - self?: string; - git?: string; - html?: string; - }; - } | null; - commit: { - sha?: string; - node_id?: string; - url?: string; - html_url?: string; - author?: { - date?: string; - name?: string; - email?: string; - }; - committer?: { - date?: string; - name?: string; - email?: string; - }; - message?: string; - tree?: { - url?: string; - sha?: string; - }; - parents?: { - url?: string; - html_url?: string; - sha?: string; - }[]; - verification?: { - verified?: boolean; - reason?: string; - signature?: string | null; - payload?: string | null; - }; - }; - }; - /** - * Contributor - * @description Contributor - */ - contributor: { - login?: string; - id?: number; - node_id?: string; - /** Format: uri */ - avatar_url?: string; - gravatar_id?: string | null; - /** Format: uri */ - url?: string; - /** Format: uri */ - html_url?: string; - /** Format: uri */ - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - repos_url?: string; - events_url?: string; - /** Format: uri */ - received_events_url?: string; - type: string; - site_admin?: boolean; - contributions: number; - email?: string; - name?: string; - }; - /** @description A Dependabot alert. */ - "dependabot-alert": { - number: components["schemas"]["alert-number"]; - /** - * @description The state of the Dependabot alert. - * @enum {string} - */ - state: "auto_dismissed" | "dismissed" | "fixed" | "open"; - /** @description Details for the vulnerable dependency. */ - dependency: { - readonly package?: components["schemas"]["dependabot-alert-package"]; - /** @description The full path to the dependency manifest file, relative to the root of the repository. */ - readonly manifest_path?: string; - /** - * @description The execution scope of the vulnerable dependency. - * @enum {string|null} + * Set default workflow permissions for an organization + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions + * can submit approving pull request reviews. For more information, see + * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List self-hosted runners for an organization + * @description Lists all self-hosted runners configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-self-hosted-runners-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/downloads": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List runner applications for an organization + * @description Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-runner-applications-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/generate-jitconfig": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create configuration for a just-in-time runner for an organization + * @description Generates a configuration that can be passed to the runner application at startup. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + post: operations["actions/generate-runner-jitconfig-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/registration-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a registration token for an organization + * @description Returns a token that you can pass to the `config` script. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + * + * Example using registration token: + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. + * + * ``` + * ./config.sh --url https://github.com/octo-org --token TOKEN + * ``` + */ + post: operations["actions/create-registration-token-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/remove-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a remove token for an organization + * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + * + * Example using remove token: + * + * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this + * endpoint. + * + * ``` + * ./config.sh remove --token TOKEN + * ``` + */ + post: operations["actions/create-remove-token-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/{runner_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a self-hosted runner for an organization + * @description Gets a specific self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ - readonly scope?: "development" | "runtime" | null; - }; - security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; - security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; - url: components["schemas"]["alert-url"]; - html_url: components["schemas"]["alert-html-url"]; - created_at: components["schemas"]["alert-created-at"]; - updated_at: components["schemas"]["alert-updated-at"]; - dismissed_at: components["schemas"]["alert-dismissed-at"]; - dismissed_by: components["schemas"]["nullable-simple-user"]; - /** - * @description The reason that the alert was dismissed. - * @enum {string|null} - */ - dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk" | null; - /** @description An optional comment associated with the alert's dismissal. */ - dismissed_comment: string | null; - fixed_at: components["schemas"]["alert-fixed-at"]; - auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; - }; - /** - * Dependabot Secret - * @description Set secrets for Dependabot. - */ - "dependabot-secret": { - /** - * @description The name of the secret. - * @example MY_ARTIFACTORY_PASSWORD - */ - name: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Dependency Graph Diff - * @description A diff of the dependencies between two commits. - */ - "dependency-graph-diff": ({ - /** @enum {string} */ - change_type: "added" | "removed"; - /** @example path/to/package-lock.json */ - manifest: string; - /** @example npm */ - ecosystem: string; - /** @example @actions/core */ - name: string; - /** @example 1.0.0 */ - version: string; - /** @example pkg:/npm/%40actions/core@1.1.0 */ - package_url: string | null; - /** @example MIT */ - license: string | null; - /** @example https://github.com/github/actions */ - source_repository_url: string | null; - vulnerabilities: { - /** @example critical */ - severity: string; - /** @example GHSA-rf4j-j272-fj86 */ - advisory_ghsa_id: string; - /** @example A summary of the advisory. */ - advisory_summary: string; - /** @example https://github.com/advisories/GHSA-rf4j-j272-fj86 */ - advisory_url: string; - }[]; - /** - * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. - * @enum {string} + get: operations["actions/get-self-hosted-runner-for-org"]; + put: never; + post: never; + /** + * Delete a self-hosted runner from an organization + * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/delete-self-hosted-runner-from-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for a self-hosted runner for an organization + * @description Lists all labels for a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-org"]; + /** + * Set custom labels for a self-hosted runner for an organization + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"]; + /** + * Add custom labels to a self-hosted runner for an organization + * @description Add custom labels to a self-hosted runner configured in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-org"]; + /** + * Remove all custom labels from a self-hosted runner for an organization + * @description Remove all custom labels from a self-hosted runner configured in an + * organization. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Remove a custom label from a self-hosted runner for an organization + * @description Remove a custom label from a self-hosted runner configured + * in an organization. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their + * encrypted values. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/list-org-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-org-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + put: operations["actions/create-or-update-org-secret"]; + post: never; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + delete: operations["actions/delete-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` + * for repository access to a secret is set to `selected`. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + put: operations["actions/set-selected-repos-for-org-secret"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for + * repository access is set to `selected`. The visibility is set when you [Create or + * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + put: operations["actions/add-selected-repo-to-org-secret"]; + post: never; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` + * for repository access is set to `selected`. The visibility is set when you [Create + * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + delete: operations["actions/remove-selected-repo-from-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization variables + * @description Lists all organization variables. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/list-org-variables"]; + put: never; + /** + * Create an organization variable + * @description Creates an organization variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + post: operations["actions/create-org-variable"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/variables/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization variable + * @description Gets a specific variable in an organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ - scope: "unknown" | "runtime" | "development"; - })[]; - /** - * Dependency Graph SPDX SBOM - * @description A schema for the SPDX JSON format returned by the Dependency Graph. - */ - "dependency-graph-spdx-sbom": { - sbom: { + get: operations["actions/get-org-variable"]; + put: never; + post: never; /** - * @description The SPDX identifier for the SPDX document. - * @example SPDXRef-DOCUMENT + * Delete an organization variable + * @description Deletes an organization variable using the variable name. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ - SPDXID: string; + delete: operations["actions/delete-org-variable"]; + options: never; + head: never; /** - * @description The version of the SPDX specification that this document conforms to. - * @example SPDX-2.3 + * Update an organization variable + * @description Updates an organization variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ - spdxVersion: string; - creationInfo: { - /** - * @description The date and time the SPDX document was created. - * @example 2021-11-03T00:00:00Z - */ - created: string; - /** @description The tools that were used to generate the SPDX document. */ - creators: string[]; + patch: operations["actions/update-org-variable"]; + trace: never; + }; + "/orgs/{org}/actions/variables/{name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description The name of the SPDX document. - * @example github/github + * List selected repositories for an organization variable + * @description Lists all repositories that can access an organization variable + * that is available to selected repositories. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/list-selected-repos-for-org-variable"]; + /** + * Set selected repositories for an organization variable + * @description Replaces all repositories for an organization variable that is available + * to selected repositories. Organization variables that are available to selected + * repositories have their `visibility` field set to `selected`. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this + * endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + put: operations["actions/set-selected-repos-for-org-variable"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add selected repository to an organization variable + * @description Adds a repository to an organization variable that is available to selected repositories. + * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + put: operations["actions/add-selected-repo-to-org-variable"]; + post: never; + /** + * Remove selected repository from an organization variable + * @description Removes a repository from an organization variable that is + * available to selected repositories. Organization variables that are available to + * selected repositories have their `visibility` field set to `selected`. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + delete: operations["actions/remove-selected-repo-from-org-variable"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/blocks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users blocked by an organization + * @description List the users blocked by an organization. + */ + get: operations["orgs/list-blocked-users"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/blocks/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user is blocked by an organization + * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. + */ + get: operations["orgs/check-blocked-user"]; + /** + * Block a user from an organization + * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. + */ + put: operations["orgs/block-user"]; + post: never; + /** + * Unblock a user from an organization + * @description Unblocks the given user on behalf of the specified organization. + */ + delete: operations["orgs/unblock-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/code-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List code scanning alerts for an organization + * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/list-alerts-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for the organization + * @description Lists the codespaces associated to a specified organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-in-organization"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/access": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Manage access control for organization codespaces + * @deprecated + * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + put: operations["codespaces/set-codespaces-access"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/access/selected_users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add users to Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - name: string; + post: operations["codespaces/set-codespaces-access-users"]; /** - * @description The license under which the SPDX document is licensed. - * @example CC0-1.0 + * Remove users from Codespaces access for an organization + * @deprecated + * @description Codespaces for the specified users will no longer be billed to the organization. + * + * To use this endpoint, the access settings for the organization must be set to `selected_members`. + * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-codespaces-access-users"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization secrets + * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/list-org-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization public key + * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization secret + * @description Gets an organization secret without revealing its encrypted value. + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. */ - dataLicense: string; - /** @description The name of the repository that the SPDX document describes. */ - documentDescribes: string[]; + put: operations["codespaces/create-or-update-org-secret"]; + post: never; /** - * @description The namespace for the SPDX document. - * @example https://github.com/example/dependency_graph/sbom-123 + * Delete an organization secret + * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - documentNamespace: string; - packages: { - /** - * @description A unique SPDX identifier for the package. - * @example SPDXRef-Package - */ - SPDXID?: string; - /** - * @description The name of the package. - * @example rubygems:github/github - */ - name?: string; - /** - * @description The version of the package. If the package does not have an exact version specified, - * a version range is given. - * @example 1.0.0 - */ - versionInfo?: string; - /** - * @description The location where the package can be downloaded, - * or NOASSERTION if this has not been determined. - * @example NOASSERTION - */ - downloadLocation?: string; - /** - * @description Whether the package's file content has been subjected to - * analysis during the creation of the SPDX document. - * @example false - */ - filesAnalyzed?: boolean; - /** - * @description The license of the package as determined while creating the SPDX document. - * @example MIT - */ - licenseConcluded?: string; - /** - * @description The license of the package as declared by its author, or NOASSERTION if this information - * was not available when the SPDX document was created. - * @example NOASSERTION - */ - licenseDeclared?: string; - /** - * @description The distribution source of this package, or NOASSERTION if this was not determined. - * @example NOASSERTION - */ - supplier?: string; - externalRefs?: { - /** - * @description The category of reference to an external resource this reference refers to. - * @example PACKAGE-MANAGER - */ - referenceCategory: string; - /** - * @description A locator for the particular external resource this reference refers to. - * @example pkg:gem/rails@6.0.1 - */ - referenceLocator: string; - /** - * @description The category of reference to an external resource this reference refers to. - * @example purl - */ - referenceType: string; - }[]; - }[]; - }; - }; - /** - * metadata - * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. - */ - metadata: { - [key: string]: (string | number | boolean) | null; - }; - dependency: { - /** - * @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details. - * @example pkg:/npm/%40actions/http-client@1.0.11 - */ - package_url?: string; - metadata?: components["schemas"]["metadata"]; - /** - * @description A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency. - * @example direct - * @enum {string} - */ - relationship?: "direct" | "indirect"; - /** - * @description A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes. - * @example runtime - * @enum {string} - */ - scope?: "runtime" | "development"; - /** - * @description Array of package-url (PURLs) of direct child dependencies. - * @example @actions/http-client - */ - dependencies?: string[]; - }; - manifest: { - /** - * @description The name of the manifest. - * @example package-lock.json - */ - name: string; - file?: { - /** - * @description The path of the manifest file relative to the root of the Git repository. - * @example /src/build/package-lock.json - */ - source_location?: string; - }; - metadata?: components["schemas"]["metadata"]; - /** @description A collection of resolved package dependencies. */ - resolved?: { - [key: string]: components["schemas"]["dependency"]; - }; - }; - /** - * snapshot - * @description Create a new snapshot of a repository's dependencies. - */ - snapshot: { - /** @description The version of the repository snapshot submission. */ - version: number; - job: { - /** - * @description The external ID of the job. - * @example 5622a2b0-63f6-4732-8c34-a1ab27e102a11 - */ - id: string; - /** - * @description Correlator provides a key that is used to group snapshots submitted over time. Only the "latest" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given "wave" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation. - * @example yourworkflowname_yourjobname - */ - correlator: string; - /** - * @description The url for the job. - * @example http://example.com/build - */ - html_url?: string; - }; - /** - * @description The commit SHA associated with this dependency snapshot. Maximum length: 40 characters. - * @example ddc951f4b1293222421f2c8df679786153acf689 - */ - sha: string; - /** - * @description The repository branch that triggered this snapshot. - * @example refs/heads/main - */ - ref: string; - /** @description A description of the detector used. */ - detector: { - /** - * @description The name of the detector used. - * @example docker buildtime detector - */ - name: string; - /** - * @description The version of the detector used. - * @example 1.0.0 - */ - version: string; - /** - * @description The url of the detector used. - * @example http://example.com/docker-buildtimer-detector - */ - url: string; - }; - metadata?: components["schemas"]["metadata"]; - /** @description A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ - manifests?: { - [key: string]: components["schemas"]["manifest"]; - }; - /** - * Format: date-time - * @description The time at which the snapshot was scanned. - * @example 2020-06-13T14:52:50-05:00 - */ - scanned: string; - }; - /** - * Deployment Status - * @description The status of a deployment. - */ - "deployment-status": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 - */ - url: string; - /** @example 1 */ - id: number; - /** @example MDE2OkRlcGxveW1lbnRTdGF0dXMx */ - node_id: string; - /** - * @description The state of the status. - * @example success - * @enum {string} - */ - state: "error" | "failure" | "inactive" | "pending" | "success" | "queued" | "in_progress"; - creator: components["schemas"]["nullable-simple-user"]; - /** - * @description A short description of the status. - * @default - * @example Deployment finished successfully. - */ - description: string; - /** - * @description The environment of the deployment that the status is for. - * @default - * @example production - */ - environment?: string; - /** - * Format: uri - * @description Deprecated: the URL to associate with this status. - * @default - * @example https://example.com/deployment/42/output - */ - target_url: string; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - created_at: string; - /** - * Format: date-time - * @example 2012-07-20T01:19:13Z - */ - updated_at: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/deployments/42 - */ - deployment_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example - */ - repository_url: string; - /** - * Format: uri - * @description The URL for accessing your environment. - * @default - * @example https://staging.example.com/ - */ - environment_url?: string; - /** - * Format: uri - * @description The URL to associate with this status. - * @default - * @example https://example.com/deployment/42/output - */ - log_url?: string; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - }; - /** - * @description The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). - * @example 30 - */ - "wait-timer": number; - /** @description The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. */ - "deployment-branch-policy-settings": { - /** @description Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`. */ - protected_branches: boolean; - /** @description Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`. */ - custom_branch_policies: boolean; - } | null; - /** - * Environment - * @description Details of a deployment environment - */ - environment: { - /** - * @description The id of the environment. - * @example 56780428 - */ - id: number; - /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ - node_id: string; - /** - * @description The name of the environment. - * @example staging - */ - name: string; - /** @example https://api.github.com/repos/github/hello-world/environments/staging */ - url: string; - /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ - html_url: string; - /** - * Format: date-time - * @description The time that the environment was created, in ISO 8601 format. - * @example 2020-11-23T22:00:40Z - */ - created_at: string; - /** - * Format: date-time - * @description The time that the environment was last updated, in ISO 8601 format. - * @example 2020-11-23T22:00:40Z - */ - updated_at: string; - /** @description Built-in deployment protection rules for the environment. */ - protection_rules?: ({ - /** @example 3515 */ - id: number; - /** @example MDQ6R2F0ZTM1MTU= */ - node_id: string; - /** @example wait_timer */ - type: string; - wait_timer?: components["schemas"]["wait-timer"]; - } | ({ - /** @example 3755 */ - id: number; - /** @example MDQ6R2F0ZTM3NTU= */ - node_id: string; - /** - * @description Whether deployments to this environment can be approved by the user who created the deployment. - * @example false - */ - prevent_self_review?: boolean; - /** @example required_reviewers */ - type: string; - /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers?: ({ - type?: components["schemas"]["deployment-reviewer-type"]; - reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; - })[]; - }) | { - /** @example 3515 */ - id: number; - /** @example MDQ6R2F0ZTM1MTU= */ - node_id: string; - /** @example branch_policy */ - type: string; - })[]; - deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; - }; - /** - * Deployment branch policy - * @description Details of a deployment branch policy. - */ - "deployment-branch-policy": { - /** - * @description The unique identifier of the branch policy. - * @example 361471 - */ - id?: number; - /** @example MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE= */ - node_id?: string; - /** - * @description The name pattern that branches must match in order to deploy to the environment. - * @example release/* - */ - name?: string; - }; - /** Deployment branch policy name pattern */ - "deployment-branch-policy-name-pattern": { - /** - * @description The name pattern that branches must match in order to deploy to the environment. - * - * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. - * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). - * @example release/* - */ - name: string; - }; - /** - * Custom deployment protection rule app - * @description A GitHub App that is providing a custom deployment protection rule. - */ - "custom-deployment-rule-app": { - /** - * @description The unique identifier of the deployment protection rule integration. - * @example 3515 - */ - id: number; - /** - * @description The slugified name of the deployment protection rule integration. - * @example my-custom-app - */ - slug: string; - /** - * @description The URL for the endpoint to get details about the app. - * @example https://api.github.com/apps/custom-app-slug - */ - integration_url: string; - /** - * @description The node ID for the deployment protection rule integration. - * @example MDQ6R2F0ZTM1MTU= - */ - node_id: string; - }; - /** - * Deployment protection rule - * @description Deployment protection rule - */ - "deployment-protection-rule": { - /** - * @description The unique identifier for the deployment protection rule. - * @example 3515 - */ - id: number; - /** - * @description The node ID for the deployment protection rule. - * @example MDQ6R2F0ZTM1MTU= - */ - node_id: string; - /** - * @description Whether the deployment protection rule is enabled for the environment. - * @example true - */ - enabled: boolean; - app: components["schemas"]["custom-deployment-rule-app"]; - }; - /** - * Short Blob - * @description Short Blob - */ - "short-blob": { - url: string; - sha: string; - }; - /** - * Blob - * @description Blob - */ - blob: { - content: string; - encoding: string; - /** Format: uri */ - url: string; - sha: string; - size: number | null; - node_id: string; - highlighted_content?: string; - }; - /** - * Git Commit - * @description Low-level Git commit operations within a repository - */ - "git-commit": { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - node_id: string; - /** Format: uri */ - url: string; - /** @description Identifying information for the git-user */ - author: { + delete: operations["codespaces/delete-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - date: string; + get: operations["codespaces/list-selected-repos-for-org-secret"]; /** - * @description Git email address of the user - * @example monalisa.octocat@example.com + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - email: string; + put: operations["codespaces/set-selected-repos-for-org-secret"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; /** - * @description Name of the git user - * @example Monalisa Octocat + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - name: string; - }; - /** @description Identifying information for the git-user */ - committer: { + put: operations["codespaces/add-selected-repo-to-org-secret"]; + post: never; /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - date: string; - /** - * @description Git email address of the user - * @example monalisa.octocat@example.com - */ - email: string; - /** - * @description Name of the git user - * @example Monalisa Octocat - */ - name: string; - }; - /** - * @description Message describing the purpose of the commit - * @example Fix #42 - */ - message: string; - tree: { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - /** Format: uri */ - url: string; - }; - parents: { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - }[]; - verification: { - verified: boolean; - reason: string; - signature: string | null; - payload: string | null; - }; - /** Format: uri */ - html_url: string; - }; - /** - * Git Reference - * @description Git references within a repository - */ - "git-ref": { - ref: string; - node_id: string; - /** Format: uri */ - url: string; - object: { - type: string; - /** - * @description SHA for the reference - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - /** Format: uri */ - url: string; - }; - }; - /** - * Git Tag - * @description Metadata for a Git tag - */ - "git-tag": { - /** @example MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw== */ - node_id: string; - /** - * @description Name of the tag - * @example v0.0.1 - */ - tag: string; - /** @example 940bd336248efae0f9ee5bc7b2d5c985887b16ac */ - sha: string; - /** - * Format: uri - * @description URL for the tag - * @example https://api.github.com/repositories/42/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac - */ - url: string; - /** - * @description Message describing the purpose of the tag - * @example Initial public release - */ - message: string; - tagger: { - date: string; - email: string; - name: string; - }; - object: { - sha: string; - type: string; - /** Format: uri */ - url: string; - }; - verification?: components["schemas"]["verification"]; - }; - /** - * Git Tree - * @description The hierarchy between files in a Git repository. - */ - "git-tree": { - sha: string; - /** Format: uri */ - url: string; - truncated: boolean; - /** - * @description Objects specifying a tree structure - * @example [ - * { - * "path": "file.rb", - * "mode": "100644", - * "type": "blob", - * "size": 30, - * "sha": "44b4fc6d56897b048c772eb4087f854f46256132", - * "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132", - * "properties": { - * "path": { - * "type": "string" - * }, - * "mode": { - * "type": "string" - * }, - * "type": { - * "type": "string" - * }, - * "size": { - * "type": "integer" - * }, - * "sha": { - * "type": "string" - * }, - * "url": { - * "type": "string" - * } - * }, - * "required": [ - * "path", - * "mode", - * "type", - * "sha", - * "url", - * "size" - * ] - * } - * ] - */ - tree: { - /** @example test/file.rb */ - path?: string; - /** @example 040000 */ - mode?: string; - /** @example tree */ - type?: string; - /** @example 23f6827669e43831def8a7ad935069c8bd418261 */ - sha?: string; - /** @example 12 */ - size?: number; - /** @example https://api.github.com/repos/owner-482f3203ecf01f67e9deb18e/BBB_Private_Repo/git/blobs/23f6827669e43831def8a7ad935069c8bd418261 */ - url?: string; - }[]; + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/remove-selected-repo-from-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; }; - /** Hook Response */ - "hook-response": { - code: number | null; - status: string | null; - message: string | null; - }; - /** - * Webhook - * @description Webhooks for repositories. - */ - hook: { - type: string; - /** - * @description Unique identifier of the webhook. - * @example 42 - */ - id: number; - /** - * @description The name of a valid service, use 'web' for a webhook. - * @example web - */ - name: string; - /** - * @description Determines whether the hook is actually triggered on pushes. - * @example true - */ - active: boolean; - /** - * @description Determines what events the hook is triggered for. Default: ['push']. - * @example [ - * "push", - * "pull_request" - * ] - */ - events: string[]; - config: { - /** @example "foo@bar.com" */ - email?: string; - /** @example "foo" */ - password?: string; - /** @example "roomer" */ - room?: string; - /** @example "foo" */ - subdomain?: string; - url?: components["schemas"]["webhook-config-url"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - /** @example "sha256" */ - digest?: string; - secret?: components["schemas"]["webhook-config-secret"]; - /** @example "abc" */ - token?: string; - }; - /** - * Format: date-time - * @example 2011-09-06T20:39:23Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2011-09-06T17:26:27Z - */ - created_at: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/hooks/1 - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/test - */ - test_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/pings - */ - ping_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/deliveries - */ - deliveries_url?: string; - last_response: components["schemas"]["hook-response"]; - }; - /** - * Import - * @description A repository import from an external source. - */ - import: { - vcs: string | null; - use_lfs?: boolean; - /** @description The URL of the originating repository. */ - vcs_url: string; - svc_root?: string; - tfvc_project?: string; - /** @enum {string} */ - status: "auth" | "error" | "none" | "detecting" | "choose" | "auth_failed" | "importing" | "mapping" | "waiting_to_push" | "pushing" | "complete" | "setup" | "unknown" | "detection_found_multiple" | "detection_found_nothing" | "detection_needs_auth"; - status_text?: string | null; - failed_step?: string | null; - error_message?: string | null; - import_percent?: number | null; - commit_count?: number | null; - push_percent?: number | null; - has_large_files?: boolean; - large_files_size?: number; - large_files_count?: number; - project_choices?: { - vcs?: string; - tfvc_project?: string; - human_name?: string; - }[]; - message?: string; - authors_count?: number | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - authors_url: string; - /** Format: uri */ - repository_url: string; - svn_root?: string; - }; - /** - * Porter Author - * @description Porter Author - */ - "porter-author": { - id: number; - remote_id: string; - remote_name: string; - email: string; - name: string; - /** Format: uri */ - url: string; - /** Format: uri */ - import_url: string; - }; - /** - * Porter Large File - * @description Porter Large File - */ - "porter-large-file": { - ref_name: string; - path: string; - oid: string; - size: number; - }; - /** - * Issue - * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. - */ - "nullable-issue": ({ - /** Format: int64 */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue - * @example https://api.github.com/repositories/42/issues/1 - */ - url: string; - /** Format: uri */ - repository_url: string; - labels_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** - * @description Number uniquely identifying the issue within its repository - * @example 42 - */ - number: number; - /** - * @description State of the issue; either 'open' or 'closed' - * @example open - */ - state: string; - /** - * @description The reason for the current state - * @example not_planned - * @enum {string|null} - */ - state_reason?: "completed" | "reopened" | "not_planned" | null; - /** - * @description Title of the issue - * @example Widget creation fails in Safari on OS X 10.8 - */ - title: string; - /** - * @description Contents of the issue - * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? - */ - body?: string | null; - user: components["schemas"]["nullable-simple-user"]; - /** - * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository - * @example [ - * "bug", - * "registration" - * ] - */ - labels: (OneOf<[string, { - /** Format: int64 */ - id?: number; - node_id?: string; - /** Format: uri */ - url?: string; - name?: string; - description?: string | null; - color?: string | null; - default?: boolean; - }]>)[]; - assignee: components["schemas"]["nullable-simple-user"]; - assignees?: components["schemas"]["simple-user"][] | null; - milestone: components["schemas"]["nullable-milestone"]; - locked: boolean; - active_lock_reason?: string | null; - comments: number; - pull_request?: { - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - diff_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - patch_url: string | null; - /** Format: uri */ - url: string | null; - }; - /** Format: date-time */ - closed_at: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - draft?: boolean; - closed_by?: components["schemas"]["nullable-simple-user"]; - body_html?: string; - body_text?: string; - /** Format: uri */ - timeline_url?: string; - repository?: components["schemas"]["repository"]; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - author_association: components["schemas"]["author-association"]; - reactions?: components["schemas"]["reaction-rollup"]; - }) | null; - /** - * Issue Event Label - * @description Issue Event Label - */ - "issue-event-label": { - name: string | null; - color: string | null; - }; - /** Issue Event Dismissed Review */ - "issue-event-dismissed-review": { - state: string; - review_id: number; - dismissal_message: string | null; - dismissal_commit_id?: string | null; - }; - /** - * Issue Event Milestone - * @description Issue Event Milestone - */ - "issue-event-milestone": { - title: string; - }; - /** - * Issue Event Project Card - * @description Issue Event Project Card - */ - "issue-event-project-card": { - /** Format: uri */ - url: string; - id: number; - /** Format: uri */ - project_url: string; - project_id: number; - column_name: string; - previous_column_name?: string; - }; - /** - * Issue Event Rename - * @description Issue Event Rename - */ - "issue-event-rename": { - from: string; - to: string; - }; - /** - * Issue Event - * @description Issue Event - */ - "issue-event": { - /** - * Format: int64 - * @example 1 - */ - id: number; - /** @example MDEwOklzc3VlRXZlbnQx */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/issues/events/1 - */ - url: string; - actor: components["schemas"]["nullable-simple-user"]; - /** @example closed */ - event: string; - /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ - commit_id: string | null; - /** @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e */ - commit_url: string | null; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - created_at: string; - issue?: components["schemas"]["nullable-issue"]; - label?: components["schemas"]["issue-event-label"]; - assignee?: components["schemas"]["nullable-simple-user"]; - assigner?: components["schemas"]["nullable-simple-user"]; - review_requester?: components["schemas"]["nullable-simple-user"]; - requested_reviewer?: components["schemas"]["nullable-simple-user"]; - requested_team?: components["schemas"]["team"]; - dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; - milestone?: components["schemas"]["issue-event-milestone"]; - project_card?: components["schemas"]["issue-event-project-card"]; - rename?: components["schemas"]["issue-event-rename"]; - author_association?: components["schemas"]["author-association"]; - lock_reason?: string | null; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - }; - /** - * Labeled Issue Event - * @description Labeled Issue Event - */ - "labeled-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - label: { - name: string; - color: string; - }; - }; - /** - * Unlabeled Issue Event - * @description Unlabeled Issue Event - */ - "unlabeled-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - label: { - name: string; - color: string; - }; - }; - /** - * Assigned Issue Event - * @description Assigned Issue Event - */ - "assigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["integration"]; - assignee: components["schemas"]["simple-user"]; - assigner: components["schemas"]["simple-user"]; - }; - /** - * Unassigned Issue Event - * @description Unassigned Issue Event - */ - "unassigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - assignee: components["schemas"]["simple-user"]; - assigner: components["schemas"]["simple-user"]; - }; - /** - * Milestoned Issue Event - * @description Milestoned Issue Event - */ - "milestoned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - milestone: { - title: string; - }; - }; - /** - * Demilestoned Issue Event - * @description Demilestoned Issue Event - */ - "demilestoned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - milestone: { - title: string; - }; - }; - /** - * Renamed Issue Event - * @description Renamed Issue Event - */ - "renamed-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - rename: { - from: string; - to: string; - }; - }; - /** - * Review Requested Issue Event - * @description Review Requested Issue Event - */ - "review-requested-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - review_requester: components["schemas"]["simple-user"]; - requested_team?: components["schemas"]["team"]; - requested_reviewer?: components["schemas"]["simple-user"]; - }; - /** - * Review Request Removed Issue Event - * @description Review Request Removed Issue Event - */ - "review-request-removed-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - review_requester: components["schemas"]["simple-user"]; - requested_team?: components["schemas"]["team"]; - requested_reviewer?: components["schemas"]["simple-user"]; - }; - /** - * Review Dismissed Issue Event - * @description Review Dismissed Issue Event - */ - "review-dismissed-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - dismissed_review: { - state: string; - review_id: number; - dismissal_message: string | null; - dismissal_commit_id?: string; - }; - }; - /** - * Locked Issue Event - * @description Locked Issue Event - */ - "locked-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - /** @example "off-topic" */ - lock_reason: string | null; - }; - /** - * Added to Project Issue Event - * @description Added to Project Issue Event - */ - "added-to-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Moved Column in Project Issue Event - * @description Moved Column in Project Issue Event - */ - "moved-column-in-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Removed from Project Issue Event - * @description Removed from Project Issue Event - */ - "removed-from-project-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Converted Note to Issue Issue Event - * @description Converted Note to Issue Issue Event - */ - "converted-note-to-issue-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["integration"]; - project_card?: { - id: number; - /** Format: uri */ - url: string; - project_id: number; - /** Format: uri */ - project_url: string; - column_name: string; - previous_column_name?: string; - }; - }; - /** - * Issue Event for Issue - * @description Issue Event for Issue - */ - "issue-event-for-issue": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["assigned-issue-event"] | components["schemas"]["unassigned-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"]; - /** - * Label - * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). - */ - label: { - /** - * Format: int64 - * @example 208045946 - */ - id: number; - /** @example MDU6TGFiZWwyMDgwNDU5NDY= */ - node_id: string; - /** - * Format: uri - * @description URL for the label - * @example https://api.github.com/repositories/42/labels/bug - */ - url: string; - /** - * @description The name of the label. - * @example bug - */ - name: string; - /** @example Something isn't working */ - description: string | null; - /** - * @description 6-character hex code, without the leading #, identifying the color - * @example FFFFFF - */ - color: string; - /** @example true */ - default: boolean; - }; - /** - * Timeline Comment Event - * @description Timeline Comment Event - */ - "timeline-comment-event": { - event: string; - actor: components["schemas"]["simple-user"]; - /** - * @description Unique identifier of the issue comment - * @example 42 - */ - id: number; - node_id: string; - /** - * Format: uri - * @description URL for the issue comment - * @example https://api.github.com/repositories/42/issues/comments/1 - */ - url: string; - /** - * @description Contents of the issue comment - * @example What version of Safari were you using when you observed this bug? - */ - body?: string; - body_text?: string; - body_html?: string; - /** Format: uri */ - html_url: string; - user: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - updated_at: string; - /** Format: uri */ - issue_url: string; - author_association: components["schemas"]["author-association"]; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Timeline Cross Referenced Event - * @description Timeline Cross Referenced Event - */ - "timeline-cross-referenced-event": { - event: string; - actor?: components["schemas"]["simple-user"]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - source: { - type?: string; - issue?: components["schemas"]["issue"]; - }; - }; - /** - * Timeline Committed Event - * @description Timeline Committed Event - */ - "timeline-committed-event": { - event?: string; - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - node_id: string; - /** Format: uri */ - url: string; - /** @description Identifying information for the git-user */ - author: { + "/orgs/{org}/copilot/billing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 + * Get Copilot for Business seat information and settings for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Gets information about an organization's Copilot for Business subscription, including seat breakdown + * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. + * For more information, see "[Configuring GitHub Copilot settings in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization)". + * + * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + */ + get: operations["copilot/get-copilot-organization-details"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/copilot/billing/seats": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List all Copilot for Business seat assignments for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Lists all Copilot for Business seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). + * + * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + */ + get: operations["copilot/list-copilot-seats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/copilot/billing/selected_teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add teams to the Copilot for Business subscription for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot for Business seat for all users within each specified team. + * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". + * + * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + * + * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". */ - date: string; + post: operations["copilot/add-copilot-for-business-seats-for-teams"]; /** - * @description Git email address of the user - * @example monalisa.octocat@example.com + * Remove teams from the Copilot for Business subscription for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Cancels the Copilot for Business seat assignment for all members of each team specified. + * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". + * + * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + */ + delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/copilot/billing/selected_users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add users to the Copilot for Business subscription for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Purchases a GitHub Copilot for Business seat for each user specified. + * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". + * + * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. + * + * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. + * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". + * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". */ - email: string; + post: operations["copilot/add-copilot-for-business-seats-for-users"]; /** - * @description Name of the git user - * @example Monalisa Octocat + * Remove users from the Copilot for Business subscription for an organization + * @description **Note**: This endpoint is in beta and is subject to change. + * + * Cancels the Copilot for Business seat assignment for each user specified. + * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. + * + * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)" + * + * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". + * + * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must + * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ - name: string; - }; - /** @description Identifying information for the git-user */ - committer: { + delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description Timestamp of the commit - * @example 2014-08-09T08:02:04+12:00 - */ - date: string; - /** - * @description Git email address of the user - * @example monalisa.octocat@example.com - */ - email: string; - /** - * @description Name of the git user - * @example Monalisa Octocat - */ - name: string; - }; - /** - * @description Message describing the purpose of the commit - * @example Fix #42 - */ - message: string; - tree: { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - /** Format: uri */ - url: string; - }; - parents: { - /** - * @description SHA for the commit - * @example 7638417db6d59f3c431d3e1f261cc637155684cd - */ - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - }[]; - verification: { - verified: boolean; - reason: string; - signature: string | null; - payload: string | null; - }; - /** Format: uri */ - html_url: string; - }; - /** - * Timeline Reviewed Event - * @description Timeline Reviewed Event - */ - "timeline-reviewed-event": { - event: string; - /** - * @description Unique identifier of the review - * @example 42 - */ - id: number; - /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ - node_id: string; - user: components["schemas"]["simple-user"]; - /** - * @description The text of the review. - * @example This looks great. - */ - body: string | null; - /** @example CHANGES_REQUESTED */ - state: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 - */ - pull_request_url: string; - _links: { - html: { - href: string; - }; - pull_request: { - href: string; - }; - }; - /** Format: date-time */ - submitted_at?: string; - /** - * @description A commit SHA for the review. - * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 - */ - commit_id: string; - body_html?: string; - body_text?: string; - author_association: components["schemas"]["author-association"]; - }; - /** - * Pull Request Review Comment - * @description Pull Request Review Comments are comments on a portion of the Pull Request's diff. - */ - "pull-request-review-comment": { - /** - * @description URL for the pull request review comment - * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 - */ - url: string; - /** - * @description The ID of the pull request review to which the comment belongs. - * @example 42 - */ - pull_request_review_id: number | null; - /** - * @description The ID of the pull request review comment. - * @example 1 - */ - id: number; - /** - * @description The node ID of the pull request review comment. - * @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw - */ - node_id: string; - /** - * @description The diff of the line that the comment refers to. - * @example @@ -16,33 +16,40 @@ public class Connection : IConnection... - */ - diff_hunk: string; - /** - * @description The relative path of the file to which the comment applies. - * @example config/database.yaml - */ - path: string; - /** - * @description The line index in the diff to which the comment applies. This field is deprecated; use `line` instead. - * @example 1 - */ - position?: number; - /** - * @description The index of the original line in the diff to which the comment applies. This field is deprecated; use `original_line` instead. - * @example 4 - */ - original_position?: number; - /** - * @description The SHA of the commit to which the comment applies. - * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - commit_id: string; - /** - * @description The SHA of the original commit to which the comment applies. - * @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 - */ - original_commit_id: string; - /** - * @description The comment ID to reply to. - * @example 8 - */ - in_reply_to_id?: number; - user: components["schemas"]["simple-user"]; - /** - * @description The text of the comment. - * @example We should probably include a check for null values here. - */ - body: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - updated_at: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 - */ - html_url: string; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 - */ - pull_request_url: string; - author_association: components["schemas"]["author-association"]; - _links: { - self: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 - */ - href: string; - }; - html: { - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 - */ - href: string; - }; - pull_request: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 - */ - href: string; - }; - }; - /** - * @description The first line of the range for a multi-line comment. - * @example 2 - */ - start_line?: number | null; - /** - * @description The first line of the range for a multi-line comment. - * @example 2 - */ - original_start_line?: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side?: "LEFT" | "RIGHT" | null; - /** - * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment - * @example 2 - */ - line?: number; - /** - * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment - * @example 2 - */ - original_line?: number; - /** - * @description The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment - * @default RIGHT - * @enum {string} - */ - side?: "LEFT" | "RIGHT"; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} - */ - subject_type?: "line" | "file"; - reactions?: components["schemas"]["reaction-rollup"]; - /** @example "

comment body

" */ - body_html?: string; - /** @example "comment body" */ - body_text?: string; - }; - /** - * Timeline Line Commented Event - * @description Timeline Line Commented Event - */ - "timeline-line-commented-event": { - event?: string; - node_id?: string; - comments?: components["schemas"]["pull-request-review-comment"][]; - }; - /** - * Timeline Commit Commented Event - * @description Timeline Commit Commented Event - */ - "timeline-commit-commented-event": { - event?: string; - node_id?: string; - commit_id?: string; - comments?: components["schemas"]["commit-comment"][]; - }; - /** - * Timeline Assigned Issue Event - * @description Timeline Assigned Issue Event - */ - "timeline-assigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - assignee: components["schemas"]["simple-user"]; - }; - /** - * Timeline Unassigned Issue Event - * @description Timeline Unassigned Issue Event - */ - "timeline-unassigned-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - assignee: components["schemas"]["simple-user"]; - }; - /** - * State Change Issue Event - * @description State Change Issue Event - */ - "state-change-issue-event": { - id: number; - node_id: string; - url: string; - actor: components["schemas"]["simple-user"]; - event: string; - commit_id: string | null; - commit_url: string | null; - created_at: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - state_reason?: string | null; - }; - /** - * Timeline Event - * @description Timeline Event - */ - "timeline-issue-events": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"] | components["schemas"]["timeline-comment-event"] | components["schemas"]["timeline-cross-referenced-event"] | components["schemas"]["timeline-committed-event"] | components["schemas"]["timeline-reviewed-event"] | components["schemas"]["timeline-line-commented-event"] | components["schemas"]["timeline-commit-commented-event"] | components["schemas"]["timeline-assigned-issue-event"] | components["schemas"]["timeline-unassigned-issue-event"] | components["schemas"]["state-change-issue-event"]; - /** - * Deploy Key - * @description An SSH key granting access to a single repository. - */ - "deploy-key": { - id: number; - key: string; - url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; - added_by?: string | null; - last_used?: string | null; - }; - /** - * Language - * @description Language - */ - language: { - [key: string]: number; - }; - /** - * License Content - * @description License Content - */ - "license-content": { - name: string; - path: string; - sha: string; - size: number; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - git_url: string | null; - /** Format: uri */ - download_url: string | null; - type: string; - content: string; - encoding: string; - _links: { - /** Format: uri */ - git: string | null; - /** Format: uri */ - html: string | null; - /** Format: uri */ - self: string; - }; - license: components["schemas"]["nullable-license-simple"]; - }; - /** - * Merged upstream - * @description Results of a successful merge upstream request - */ - "merged-upstream": { - message?: string; - /** @enum {string} */ - merge_type?: "merge" | "fast-forward" | "none"; - base_branch?: string; - }; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/milestones/v1.0 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels - */ - labels_url: string; - /** @example 1002604 */ - id: number; - /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ - node_id: string; - /** - * @description The number of the milestone. - * @example 42 - */ - number: number; - /** - * @description The state of the milestone. - * @default open - * @example open - * @enum {string} - */ - state: "open" | "closed"; - /** - * @description The title of the milestone. - * @example v1.0 - */ - title: string; - /** @example Tracking milestone for version 1.0 */ - description: string | null; - creator: components["schemas"]["nullable-simple-user"]; - /** @example 4 */ - open_issues: number; - /** @example 8 */ - closed_issues: number; - /** - * Format: date-time - * @example 2011-04-10T20:09:31Z - */ - created_at: string; - /** - * Format: date-time - * @example 2014-03-03T18:58:10Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2013-02-12T13:22:01Z - */ - closed_at: string | null; - /** - * Format: date-time - * @example 2012-10-09T23:39:01Z - */ - due_on: string | null; - }; - /** Pages Source Hash */ - "pages-source-hash": { - branch: string; - path: string; - }; - /** Pages Https Certificate */ - "pages-https-certificate": { - /** - * @example approved - * @enum {string} - */ - state: "new" | "authorization_created" | "authorization_pending" | "authorized" | "authorization_revoked" | "issued" | "uploaded" | "approved" | "errored" | "bad_authz" | "destroy_pending" | "dns_changed"; - /** @example Certificate is approved */ - description: string; - /** - * @description Array of the domain set and its alternate name (if it is configured) - * @example [ - * "example.com", - * "www.example.com" - * ] - */ - domains: string[]; - /** Format: date */ - expires_at?: string; - }; - /** - * GitHub Pages - * @description The configuration for GitHub Pages for a repository. - */ - page: { - /** - * Format: uri - * @description The API address for accessing this Page resource. - * @example https://api.github.com/repos/github/hello-world/pages - */ - url: string; - /** - * @description The status of the most recent build of the Page. - * @example built - * @enum {string|null} - */ - status: "built" | "building" | "errored" | null; - /** - * @description The Pages site's custom domain - * @example example.com - */ - cname: string | null; - /** - * @description The state if the domain is verified - * @example pending - * @enum {string|null} - */ - protected_domain_state?: "pending" | "verified" | "unverified" | null; - /** - * Format: date-time - * @description The timestamp when a pending domain becomes unverified. - */ - pending_domain_unverified_at?: string | null; - /** - * @description Whether the Page has a custom 404 page. - * @default false - * @example false - */ - custom_404: boolean; - /** - * Format: uri - * @description The web address the Page can be accessed from. - * @example https://example.com - */ - html_url?: string; - /** - * @description The process in which the Page will be built. - * @example legacy - * @enum {string|null} - */ - build_type?: "legacy" | "workflow" | null; - source?: components["schemas"]["pages-source-hash"]; - /** - * @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. - * @example true - */ - public: boolean; - https_certificate?: components["schemas"]["pages-https-certificate"]; - /** - * @description Whether https is enabled on the domain - * @example true - */ - https_enforced?: boolean; - }; - /** - * Page Build - * @description Page Build - */ - "page-build": { - /** Format: uri */ - url: string; - status: string; - error: { - message: string | null; - }; - pusher: components["schemas"]["nullable-simple-user"]; - commit: string; - duration: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - }; - /** - * Page Build Status - * @description Page Build Status - */ - "page-build-status": { - /** - * Format: uri - * @example https://api.github.com/repos/github/hello-world/pages/builds/latest - */ - url: string; - /** @example queued */ - status: string; - }; - /** - * GitHub Pages - * @description The GitHub Pages deployment status. - */ - "page-deployment": { - /** - * Format: uri - * @description The URI to monitor GitHub Pages deployment status. - * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251/status - */ - status_url: string; - /** - * Format: uri - * @description The URI to the deployed GitHub Pages. - * @example hello-world.github.io - */ - page_url: string; - /** - * Format: uri - * @description The URI to the deployed GitHub Pages preview. - * @example monalisa-1231a2312sa32-23sda74.drafts.github.io - */ - preview_url?: string; - }; - /** - * Pages Health Check Status - * @description Pages Health Check Status - */ - "pages-health-check": { - domain?: { - host?: string; - uri?: string; - nameservers?: string; - dns_resolves?: boolean; - is_proxied?: boolean | null; - is_cloudflare_ip?: boolean | null; - is_fastly_ip?: boolean | null; - is_old_ip_address?: boolean | null; - is_a_record?: boolean | null; - has_cname_record?: boolean | null; - has_mx_records_present?: boolean | null; - is_valid_domain?: boolean; - is_apex_domain?: boolean; - should_be_a_record?: boolean | null; - is_cname_to_github_user_domain?: boolean | null; - is_cname_to_pages_dot_github_dot_com?: boolean | null; - is_cname_to_fastly?: boolean | null; - is_pointed_to_github_pages_ip?: boolean | null; - is_non_github_pages_ip_present?: boolean | null; - is_pages_domain?: boolean; - is_served_by_pages?: boolean | null; - is_valid?: boolean; - reason?: string | null; - responds_to_https?: boolean; - enforces_https?: boolean; - https_error?: string | null; - is_https_eligible?: boolean | null; - caa_error?: string | null; - }; - alt_domain?: ({ - host?: string; - uri?: string; - nameservers?: string; - dns_resolves?: boolean; - is_proxied?: boolean | null; - is_cloudflare_ip?: boolean | null; - is_fastly_ip?: boolean | null; - is_old_ip_address?: boolean | null; - is_a_record?: boolean | null; - has_cname_record?: boolean | null; - has_mx_records_present?: boolean | null; - is_valid_domain?: boolean; - is_apex_domain?: boolean; - should_be_a_record?: boolean | null; - is_cname_to_github_user_domain?: boolean | null; - is_cname_to_pages_dot_github_dot_com?: boolean | null; - is_cname_to_fastly?: boolean | null; - is_pointed_to_github_pages_ip?: boolean | null; - is_non_github_pages_ip_present?: boolean | null; - is_pages_domain?: boolean; - is_served_by_pages?: boolean | null; - is_valid?: boolean; - reason?: string | null; - responds_to_https?: boolean; - enforces_https?: boolean; - https_error?: string | null; - is_https_eligible?: boolean | null; - caa_error?: string | null; - }) | null; - }; - /** - * Pull Request - * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. - */ - "pull-request": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 - */ - url: string; - /** @example 1 */ - id: number; - /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ - node_id: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347 - */ - html_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347.diff - */ - diff_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1347.patch - */ - patch_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 - */ - issue_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits - */ - commits_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments - */ - review_comments_url: string; - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ - review_comment_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments - */ - comments_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e - */ - statuses_url: string; - /** - * @description Number uniquely identifying the pull request within its repository. - * @example 42 - */ - number: number; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @example open - * @enum {string} - */ - state: "open" | "closed"; - /** @example true */ - locked: boolean; - /** - * @description The title of the pull request. - * @example Amazing new feature - */ - title: string; - user: components["schemas"]["simple-user"]; - /** @example Please pull these awesome changes */ - body: string | null; - labels: ({ - /** Format: int64 */ - id: number; - node_id: string; - url: string; - name: string; - description: string | null; - color: string; - default: boolean; - })[]; - milestone: components["schemas"]["nullable-milestone"]; - /** @example too heated */ - active_lock_reason?: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - closed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - merged_at: string | null; - /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ - merge_commit_sha: string | null; - assignee: components["schemas"]["nullable-simple-user"]; - assignees?: components["schemas"]["simple-user"][] | null; - requested_reviewers?: components["schemas"]["simple-user"][] | null; - requested_teams?: components["schemas"]["team-simple"][] | null; - head: { - label: string; - ref: string; - repo: ({ - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - name: string; - notifications_url: string; - owner: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - private: boolean; - pulls_url: string; - releases_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - /** Format: uri */ - url: string; - clone_url: string; - default_branch: string; - forks: number; - forks_count: number; - git_url: string; - has_downloads: boolean; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_discussions: boolean; - /** Format: uri */ - homepage: string | null; - language: string | null; - master_branch?: string; - archived: boolean; - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - /** Format: uri */ - mirror_url: string | null; - open_issues: number; - open_issues_count: number; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - license: ({ - key: string; - name: string; - /** Format: uri */ - url: string | null; - spdx_id: string | null; - node_id: string; - }) | null; - /** Format: date-time */ - pushed_at: string; - size: number; - ssh_url: string; - stargazers_count: number; - /** Format: uri */ - svn_url: string; - topics?: string[]; - watchers: number; - watchers_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - allow_forking?: boolean; - is_template?: boolean; - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - user: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - }; - base: { - label: string; - ref: string; - repo: { - archive_url: string; - assignees_url: string; - blobs_url: string; - branches_url: string; - collaborators_url: string; - comments_url: string; - commits_url: string; - compare_url: string; - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - git_commits_url: string; - git_refs_url: string; - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - id: number; - is_template?: boolean; - node_id: string; - issue_comment_url: string; - issue_events_url: string; - issues_url: string; - keys_url: string; - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - milestones_url: string; - name: string; - notifications_url: string; - owner: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - private: boolean; - pulls_url: string; - releases_url: string; - /** Format: uri */ - stargazers_url: string; - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - trees_url: string; - /** Format: uri */ - url: string; - clone_url: string; - default_branch: string; - forks: number; - forks_count: number; - git_url: string; - has_downloads: boolean; - has_issues: boolean; - has_projects: boolean; - has_wiki: boolean; - has_pages: boolean; - has_discussions: boolean; - /** Format: uri */ - homepage: string | null; - language: string | null; - master_branch?: string; - archived: boolean; - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - /** Format: uri */ - mirror_url: string | null; - open_issues: number; - open_issues_count: number; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - license: components["schemas"]["nullable-license-simple"]; - /** Format: date-time */ - pushed_at: string; - size: number; - ssh_url: string; - stargazers_count: number; - /** Format: uri */ - svn_url: string; - topics?: string[]; - watchers: number; - watchers_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - allow_forking?: boolean; - web_commit_signoff_required?: boolean; - }; - sha: string; - user: { - /** Format: uri */ - avatar_url: string; - events_url: string; - /** Format: uri */ - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string | null; - /** Format: uri */ - html_url: string; - id: number; - node_id: string; - login: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - received_events_url: string; - /** Format: uri */ - repos_url: string; - site_admin: boolean; - starred_url: string; - /** Format: uri */ - subscriptions_url: string; - type: string; - /** Format: uri */ - url: string; - }; - }; - _links: { - comments: components["schemas"]["link"]; - commits: components["schemas"]["link"]; - statuses: components["schemas"]["link"]; - html: components["schemas"]["link"]; - issue: components["schemas"]["link"]; - review_comments: components["schemas"]["link"]; - review_comment: components["schemas"]["link"]; - self: components["schemas"]["link"]; - }; - author_association: components["schemas"]["author-association"]; - auto_merge: components["schemas"]["auto-merge"]; - /** - * @description Indicates whether or not the pull request is a draft. - * @example false - */ - draft?: boolean; - merged: boolean; - /** @example true */ - mergeable: boolean | null; - /** @example true */ - rebaseable?: boolean | null; - /** @example clean */ - mergeable_state: string; - merged_by: components["schemas"]["nullable-simple-user"]; - /** @example 10 */ - comments: number; - /** @example 0 */ - review_comments: number; - /** - * @description Indicates whether maintainers can modify the pull request. - * @example true - */ - maintainer_can_modify: boolean; - /** @example 3 */ - commits: number; - /** @example 100 */ - additions: number; - /** @example 3 */ - deletions: number; - /** @example 5 */ - changed_files: number; - }; - /** - * Pull Request Merge Result - * @description Pull Request Merge Result - */ - "pull-request-merge-result": { - sha: string; - merged: boolean; - message: string; - }; - /** - * Pull Request Review Request - * @description Pull Request Review Request - */ - "pull-request-review-request": { - users: components["schemas"]["simple-user"][]; - teams: components["schemas"]["team"][]; - }; - /** - * Pull Request Review - * @description Pull Request Reviews are reviews on pull requests. - */ - "pull-request-review": { - /** - * @description Unique identifier of the review - * @example 42 - */ - id: number; - /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ - node_id: string; - user: components["schemas"]["nullable-simple-user"]; - /** - * @description The text of the review. - * @example This looks great. - */ - body: string; - /** @example CHANGES_REQUESTED */ - state: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 - */ - pull_request_url: string; - _links: { - html: { - href: string; - }; - pull_request: { - href: string; - }; - }; - /** Format: date-time */ - submitted_at?: string; - /** - * @description A commit SHA for the review. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`. - * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 - */ - commit_id: string | null; - body_html?: string; - body_text?: string; - author_association: components["schemas"]["author-association"]; - }; - /** - * Legacy Review Comment - * @description Legacy Review Comment - */ - "review-comment": { - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 - */ - url: string; - /** @example 42 */ - pull_request_review_id: number | null; - /** @example 10 */ - id: number; - /** @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw */ - node_id: string; - /** @example @@ -16,33 +16,40 @@ public class Connection : IConnection... */ - diff_hunk: string; - /** @example file1.txt */ - path: string; - /** @example 1 */ - position: number | null; - /** @example 4 */ - original_position: number; - /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ - commit_id: string; - /** @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 */ - original_commit_id: string; - /** @example 8 */ - in_reply_to_id?: number; - user: components["schemas"]["nullable-simple-user"]; - /** @example Great stuff */ - body: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-04-14T16:00:49Z - */ - updated_at: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 - */ - pull_request_url: string; - author_association: components["schemas"]["author-association"]; - _links: { - self: components["schemas"]["link"]; - html: components["schemas"]["link"]; - pull_request: components["schemas"]["link"]; - }; - body_text?: string; - body_html?: string; - reactions?: components["schemas"]["reaction-rollup"]; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string} - */ - side?: "LEFT" | "RIGHT"; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side?: "LEFT" | "RIGHT" | null; - /** - * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment - * @example 2 - */ - line?: number; - /** - * @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment - * @example 2 - */ - original_line?: number; - /** - * @description The first line of the range for a multi-line comment. - * @example 2 - */ - start_line?: number | null; - /** - * @description The original first line of the range for a multi-line comment. - * @example 2 - */ - original_start_line?: number | null; - }; - /** - * Release Asset - * @description Data related to a release. - */ - "release-asset": { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; - id: number; - node_id: string; - /** - * @description The file name of the asset. - * @example Team Environment - */ - name: string; - label: string | null; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - uploader: components["schemas"]["nullable-simple-user"]; - }; - /** - * Release - * @description A release. - */ - release: { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - assets_url: string; - upload_url: string; - /** Format: uri */ - tarball_url: string | null; - /** Format: uri */ - zipball_url: string | null; - id: number; - node_id: string; - /** - * @description The name of the tag. - * @example v1.0.0 - */ - tag_name: string; - /** - * @description Specifies the commitish value that determines where the Git tag is created from. - * @example master - */ - target_commitish: string; - name: string | null; - body?: string | null; - /** - * @description true to create a draft (unpublished) release, false to create a published one. - * @example false - */ - draft: boolean; - /** - * @description Whether to identify the release as a prerelease or a full release. - * @example false - */ - prerelease: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - published_at: string | null; - author: components["schemas"]["simple-user"]; - assets: components["schemas"]["release-asset"][]; - body_html?: string; - body_text?: string; - mentions_count?: number; - /** - * Format: uri - * @description The URL of the release discussion. - */ - discussion_url?: string; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Generated Release Notes Content - * @description Generated name and body describing a release - */ - "release-notes-content": { - /** - * @description The generated name of the release - * @example Release v1.0.0 is now available! - */ - name: string; - /** @description The generated body describing the contents of the release supporting markdown formatting */ - body: string; - }; - /** - * repository ruleset data for rule - * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. - */ - "repository-rule-ruleset-info": { - /** - * @description The type of source for the ruleset that includes this rule. - * @enum {string} - */ - ruleset_source_type?: "Repository" | "Organization"; - /** @description The name of the source of the ruleset that includes this rule. */ - ruleset_source?: string; - /** @description The ID of the ruleset that includes this rule. */ - ruleset_id?: number; - }; - /** - * Repository Rule - * @description A repository rule with ruleset details. - */ - "repository-rule-detailed": (components["schemas"]["repository-rule-creation"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-update"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-deletion"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-linear-history"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-deployments"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-signatures"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-pull-request"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-status-checks"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-non-fast-forward"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-message-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-author-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-committer-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-branch-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-tag-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]); - "secret-scanning-alert": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["nullable-alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - state?: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: string | null; - resolved_by?: components["schemas"]["nullable-simple-user"]; - /** @description An optional comment to resolve an alert. */ - resolution_comment?: string | null; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** - * @description User-friendly name for the detected secret, matching the `secret_type`. - * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." - */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: string | null; - }; - /** @description An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`. */ - "secret-scanning-alert-resolution-comment": string | null; - /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ - "secret-scanning-location-commit": { - /** - * @description The file path in the repository - * @example /example/secrets.txt - */ - path: string; - /** @description Line number at which the secret starts in the file */ - start_line: number; - /** @description Line number at which the secret ends in the file */ - end_line: number; - /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ - start_column: number; - /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ - end_column: number; - /** - * @description SHA-1 hash ID of the associated blob - * @example af5626b4a114abcb82d63db7c8082c3c4756e51b - */ - blob_sha: string; - /** @description The API URL to get the associated blob resource */ - blob_url: string; - /** - * @description SHA-1 hash ID of the associated commit - * @example af5626b4a114abcb82d63db7c8082c3c4756e51b - */ - commit_sha: string; - /** @description The API URL to get the associated commit resource */ - commit_url: string; - }; - /** @description Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. */ - "secret-scanning-location-issue-title": { - /** - * Format: uri - * @description The API URL to get the issue where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 - */ - issue_title_url: string; - }; - /** @description Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. */ - "secret-scanning-location-issue-body": { - /** - * Format: uri - * @description The API URL to get the issue where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 - */ - issue_body_url: string; - }; - /** @description Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. */ - "secret-scanning-location-issue-comment": { - /** - * Format: uri - * @description The API URL to get the issue comment where the secret was detected. - * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 - */ - issue_comment_url: string; - }; - "secret-scanning-location": { - /** - * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues), this field identifies the type of resource where the secret was found. - * @example commit - * @enum {string} - */ - type: "commit" | "issue_title" | "issue_body" | "issue_comment"; - details: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"]; - }; - "repository-advisory-create": { - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory impacts. */ - description: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id?: string | null; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities: ({ - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - })[]; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** @description A list of users receiving credit for their participation in the security advisory. */ - credits?: { - /** @description The username of the user credited. */ - login: string; - type: components["schemas"]["security-advisory-credit-types"]; - }[] | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - }; - "private-vulnerability-report-create": { - /** @description A short summary of the advisory. */ - summary: string; - /** @description A detailed description of what the advisory impacts. */ - description: string; - /** @description An array of products affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities?: (({ - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - })[]) | null; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - }; - "repository-advisory-update": { - /** @description A short summary of the advisory. */ - summary?: string; - /** @description A detailed description of what the advisory impacts. */ - description?: string; - /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ - cve_id?: string | null; - /** @description A product affected by the vulnerability detailed in a repository security advisory. */ - vulnerabilities?: ({ - /** @description The name of the package affected by the vulnerability. */ - package: { - ecosystem: components["schemas"]["security-advisory-ecosystems"]; - /** @description The unique package name within its ecosystem. */ - name?: string | null; - }; - /** @description The range of the package versions affected by the vulnerability. */ - vulnerable_version_range?: string | null; - /** @description The package version(s) that resolve the vulnerability. */ - patched_versions?: string | null; - /** @description The functions in the package that are affected. */ - vulnerable_functions?: string[] | null; - })[]; - /** @description A list of Common Weakness Enumeration (CWE) IDs. */ - cwe_ids?: string[] | null; - /** @description A list of users receiving credit for their participation in the security advisory. */ - credits?: { - /** @description The username of the user credited. */ - login: string; - type: components["schemas"]["security-advisory-credit-types"]; - }[] | null; - /** - * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. - * @enum {string|null} - */ - severity?: "critical" | "high" | "medium" | "low" | null; - /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ - cvss_vector_string?: string | null; - /** - * @description The state of the advisory. - * @enum {string} - */ - state?: "published" | "closed" | "draft"; - /** @description A list of usernames who have been granted write access to the advisory. */ - collaborating_users?: string[] | null; - /** @description A list of team slugs which have been granted write access to the advisory. */ - collaborating_teams?: string[] | null; - }; - /** - * Stargazer - * @description Stargazer - */ - stargazer: { - /** Format: date-time */ - starred_at: string; - user: components["schemas"]["nullable-simple-user"]; - }; - /** - * Code Frequency Stat - * @description Code Frequency Stat - */ - "code-frequency-stat": number[]; - /** - * Commit Activity - * @description Commit Activity - */ - "commit-activity": { - /** - * @example [ - * 0, - * 3, - * 26, - * 20, - * 39, - * 1, - * 0 - * ] - */ - days: number[]; - /** @example 89 */ - total: number; - /** @example 1336280400 */ - week: number; - }; - /** - * Contributor Activity - * @description Contributor Activity - */ - "contributor-activity": { - author: components["schemas"]["nullable-simple-user"]; - /** @example 135 */ - total: number; - /** - * @example [ - * { - * "w": "1367712000", - * "a": 6898, - * "d": 77, - * "c": 10 - * } - * ] - */ - weeks: { - w?: number; - a?: number; - d?: number; - c?: number; - }[]; + * List Dependabot alerts for an organization + * @description Lists Dependabot alerts for an organization. + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + */ + get: operations["dependabot/list-alerts-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization secrets + * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + get: operations["dependabot/list-org-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization public key + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + get: operations["dependabot/get-org-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization secret + * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + get: operations["dependabot/get-org-secret"]; + /** + * Create or update an organization secret + * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access + * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization + * permission to use this endpoint. + */ + put: operations["dependabot/create-or-update-org-secret"]; + post: never; + /** + * Delete an organization secret + * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + delete: operations["dependabot/delete-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for an organization secret + * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + get: operations["dependabot/list-selected-repos-for-org-secret"]; + /** + * Set selected repositories for an organization secret + * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + put: operations["dependabot/set-selected-repos-for-org-secret"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add selected repository to an organization secret + * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + put: operations["dependabot/add-selected-repo-to-org-secret"]; + post: never; + /** + * Remove selected repository from an organization secret + * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. + */ + delete: operations["dependabot/remove-selected-repo-from-org-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for organization + * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List public organization events */ + get: operations["activity/list-public-org-events"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/failed_invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List failed organization invitations + * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. + */ + get: operations["orgs/list-failed-invitations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List organization webhooks */ + get: operations["orgs/list-webhooks"]; + put: never; + /** + * Create an organization webhook + * @description Here's how you can create a hook that posts payloads in JSON format: + */ + post: operations["orgs/create-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization webhook + * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." + */ + get: operations["orgs/get-webhook"]; + put: never; + post: never; + /** Delete an organization webhook */ + delete: operations["orgs/delete-webhook"]; + options: never; + head: never; + /** + * Update an organization webhook + * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." + */ + patch: operations["orgs/update-webhook"]; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a webhook configuration for an organization + * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. + */ + get: operations["orgs/get-webhook-config-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a webhook configuration for an organization + * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." + * + * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. + */ + patch: operations["orgs/update-webhook-config-for-org"]; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deliveries for an organization webhook + * @description Returns a list of webhook deliveries for a webhook configured in an organization. + */ + get: operations["orgs/list-webhook-deliveries"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a webhook delivery for an organization webhook + * @description Returns a delivery for a webhook configured in an organization. + */ + get: operations["orgs/get-webhook-delivery"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Redeliver a delivery for an organization webhook + * @description Redeliver a delivery for a webhook configured in an organization. + */ + post: operations["orgs/redeliver-webhook-delivery"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/hooks/{hook_id}/pings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Ping an organization webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + post: operations["orgs/ping-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization installation for the authenticated app + * @description Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-org-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; }; - /** Participation Stats */ - "participation-stats": { - all: number[]; - owner: number[]; - }; - /** - * Repository Invitation - * @description Repository invitations let you manage who you collaborate with. - */ - "repository-subscription": { - /** - * @description Determines if notifications should be received from this repository. - * @example true - */ - subscribed: boolean; - /** @description Determines if all notifications should be blocked from this repository. */ - ignored: boolean; - reason: string | null; - /** - * Format: date-time - * @example 2012-10-06T21:34:12Z - */ - created_at: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example/subscription - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/example - */ - repository_url: string; - }; - /** - * Tag - * @description Tag - */ - tag: { - /** @example v0.1 */ - name: string; - commit: { - sha: string; - /** Format: uri */ - url: string; - }; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/zipball/v0.1 - */ - zipball_url: string; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World/tarball/v0.1 - */ - tarball_url: string; - node_id: string; - }; - /** - * Tag protection - * @description Tag protection - */ - "tag-protection": { - /** @example 2 */ - id?: number; - /** @example 2011-01-26T19:01:12Z */ - created_at?: string; - /** @example 2011-01-26T19:01:12Z */ - updated_at?: string; - /** @example true */ - enabled?: boolean; - /** @example v1.* */ - pattern: string; - }; - /** - * Topic - * @description A topic aggregates entities that are related to a subject. - */ - topic: { - names: string[]; - }; - /** Traffic */ - traffic: { - /** Format: date-time */ - timestamp: string; - uniques: number; - count: number; - }; - /** - * Clone Traffic - * @description Clone Traffic - */ - "clone-traffic": { - /** @example 173 */ - count: number; - /** @example 128 */ - uniques: number; - clones: components["schemas"]["traffic"][]; - }; - /** - * Content Traffic - * @description Content Traffic - */ - "content-traffic": { - /** @example /github/hubot */ - path: string; - /** @example github/hubot: A customizable life embetterment robot. */ - title: string; - /** @example 3542 */ - count: number; - /** @example 2225 */ - uniques: number; - }; - /** - * Referrer Traffic - * @description Referrer Traffic - */ - "referrer-traffic": { - /** @example Google */ - referrer: string; - /** @example 4 */ - count: number; - /** @example 3 */ - uniques: number; - }; - /** - * View Traffic - * @description View Traffic - */ - "view-traffic": { - /** @example 14850 */ - count: number; - /** @example 3782 */ - uniques: number; - views: components["schemas"]["traffic"][]; - }; - /** Search Result Text Matches */ - "search-result-text-matches": ({ - object_url?: string; - object_type?: string | null; - property?: string; - fragment?: string; - matches?: { - text?: string; - indices?: number[]; - }[]; - })[]; - /** - * Code Search Result Item - * @description Code Search Result Item - */ - "code-search-result-item": { - name: string; - path: string; - sha: string; - /** Format: uri */ - url: string; - /** Format: uri */ - git_url: string; - /** Format: uri */ - html_url: string; - repository: components["schemas"]["minimal-repository"]; - score: number; - file_size?: number; - language?: string | null; - /** Format: date-time */ - last_modified_at?: string; - /** - * @example [ - * "73..77", - * "77..78" - * ] - */ - line_numbers?: string[]; - text_matches?: components["schemas"]["search-result-text-matches"]; - }; - /** - * Commit Search Result Item - * @description Commit Search Result Item - */ - "commit-search-result-item": { - /** Format: uri */ - url: string; - sha: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - comments_url: string; - commit: { - author: { - name: string; - email: string; - /** Format: date-time */ - date: string; - }; - committer: components["schemas"]["nullable-git-user"]; - comment_count: number; - message: string; - tree: { - sha: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - url: string; - verification?: components["schemas"]["verification"]; - }; - author: components["schemas"]["nullable-simple-user"]; - committer: components["schemas"]["nullable-git-user"]; - parents: { - url?: string; - html_url?: string; - sha?: string; - }[]; - repository: components["schemas"]["minimal-repository"]; - score: number; - node_id: string; - text_matches?: components["schemas"]["search-result-text-matches"]; - }; - /** - * Issue Search Result Item - * @description Issue Search Result Item - */ - "issue-search-result-item": { - /** Format: uri */ - url: string; - /** Format: uri */ - repository_url: string; - labels_url: string; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - node_id: string; - number: number; - title: string; - locked: boolean; - active_lock_reason?: string | null; - assignees?: components["schemas"]["simple-user"][] | null; - user: components["schemas"]["nullable-simple-user"]; - labels: ({ - /** Format: int64 */ - id?: number; - node_id?: string; - url?: string; - name?: string; - color?: string; - default?: boolean; - description?: string | null; - })[]; - state: string; - state_reason?: string | null; - assignee: components["schemas"]["nullable-simple-user"]; - milestone: components["schemas"]["nullable-milestone"]; - comments: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - closed_at: string | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - pull_request?: { - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - diff_url: string | null; - /** Format: uri */ - html_url: string | null; - /** Format: uri */ - patch_url: string | null; - /** Format: uri */ - url: string | null; - }; - body?: string; - score: number; - author_association: components["schemas"]["author-association"]; - draft?: boolean; - repository?: components["schemas"]["repository"]; - body_html?: string; - body_text?: string; - /** Format: uri */ - timeline_url?: string; - performed_via_github_app?: components["schemas"]["nullable-integration"]; - reactions?: components["schemas"]["reaction-rollup"]; - }; - /** - * Label Search Result Item - * @description Label Search Result Item - */ - "label-search-result-item": { - id: number; - node_id: string; - /** Format: uri */ - url: string; - name: string; - color: string; - default: boolean; - description: string | null; - score: number; - text_matches?: components["schemas"]["search-result-text-matches"]; - }; - /** - * Repo Search Result Item - * @description Repo Search Result Item - */ - "repo-search-result-item": { - id: number; - node_id: string; - name: string; - full_name: string; - owner: components["schemas"]["nullable-simple-user"]; - private: boolean; - /** Format: uri */ - html_url: string; - description: string | null; - fork: boolean; - /** Format: uri */ - url: string; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - pushed_at: string; - /** Format: uri */ - homepage: string | null; - size: number; - stargazers_count: number; - watchers_count: number; - language: string | null; - forks_count: number; - open_issues_count: number; - master_branch?: string; - default_branch: string; - score: number; - /** Format: uri */ - forks_url: string; - keys_url: string; - collaborators_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri */ - hooks_url: string; - issue_events_url: string; - /** Format: uri */ - events_url: string; - assignees_url: string; - branches_url: string; - /** Format: uri */ - tags_url: string; - blobs_url: string; - git_tags_url: string; - git_refs_url: string; - trees_url: string; - statuses_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - commits_url: string; - git_commits_url: string; - comments_url: string; - issue_comment_url: string; - contents_url: string; - compare_url: string; - /** Format: uri */ - merges_url: string; - archive_url: string; - /** Format: uri */ - downloads_url: string; - issues_url: string; - pulls_url: string; - milestones_url: string; - notifications_url: string; - labels_url: string; - releases_url: string; - /** Format: uri */ - deployments_url: string; - git_url: string; - ssh_url: string; - clone_url: string; - /** Format: uri */ - svn_url: string; - forks: number; - open_issues: number; - watchers: number; - topics?: string[]; - /** Format: uri */ - mirror_url: string | null; - has_issues: boolean; - has_projects: boolean; - has_pages: boolean; - has_wiki: boolean; - has_downloads: boolean; - has_discussions?: boolean; - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. */ - visibility?: string; - license: components["schemas"]["nullable-license-simple"]; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - text_matches?: components["schemas"]["search-result-text-matches"]; - temp_clone_token?: string; - allow_merge_commit?: boolean; - allow_squash_merge?: boolean; - allow_rebase_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_forking?: boolean; - is_template?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - /** - * Topic Search Result Item - * @description Topic Search Result Item - */ - "topic-search-result-item": { - name: string; - display_name: string | null; - short_description: string | null; - description: string | null; - created_by: string | null; - released: string | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - featured: boolean; - curated: boolean; - score: number; - repository_count?: number | null; - /** Format: uri */ - logo_url?: string | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - related?: { - topic_relation?: { - id?: number; - name?: string; - topic_id?: number; - relation_type?: string; - }; - }[] | null; - aliases?: { - topic_relation?: { - id?: number; - name?: string; - topic_id?: number; - relation_type?: string; - }; - }[] | null; - }; - /** - * User Search Result Item - * @description User Search Result Item - */ - "user-search-result-item": { - login: string; - id: number; - node_id: string; - /** Format: uri */ - avatar_url: string; - gravatar_id: string | null; - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - followers_url: string; - /** Format: uri */ - subscriptions_url: string; - /** Format: uri */ - organizations_url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - received_events_url: string; - type: string; - score: number; - following_url: string; - gists_url: string; - starred_url: string; - events_url: string; - public_repos?: number; - public_gists?: number; - followers?: number; - following?: number; - /** Format: date-time */ - created_at?: string; - /** Format: date-time */ - updated_at?: string; - name?: string | null; - bio?: string | null; - /** Format: email */ - email?: string | null; - location?: string | null; - site_admin: boolean; - hireable?: boolean | null; - text_matches?: components["schemas"]["search-result-text-matches"]; - blog?: string | null; - company?: string | null; - /** Format: date-time */ - suspended_at?: string | null; - }; - /** - * Private User - * @description Private User - */ - "private-user": { - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example monalisa octocat */ - name: string | null; - /** @example GitHub */ - company: string | null; - /** @example https://github.com/blog */ - blog: string | null; - /** @example San Francisco */ - location: string | null; - /** - * Format: email - * @example octocat@github.com - */ - email: string | null; - hireable: boolean | null; - /** @example There once was... */ - bio: string | null; - /** @example monalisa */ - twitter_username?: string | null; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - created_at: string; - /** - * Format: date-time - * @example 2008-01-14T04:33:35Z - */ - updated_at: string; - /** @example 81 */ - private_gists: number; - /** @example 100 */ - total_private_repos: number; - /** @example 100 */ - owned_private_repos: number; - /** @example 10000 */ - disk_usage: number; - /** @example 8 */ - collaborators: number; - /** @example true */ - two_factor_authentication: boolean; - plan?: { - collaborators: number; - name: string; - space: number; - private_repos: number; - }; - /** Format: date-time */ - suspended_at?: string | null; - business_plus?: boolean; - ldap_dn?: string; - }; - /** - * Codespaces Secret - * @description Secrets for a GitHub Codespace. - */ - "codespaces-secret": { - /** - * @description The name of the secret - * @example SECRET_NAME - */ - name: string; - /** - * Format: date-time - * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - created_at: string; - /** - * Format: date-time - * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. - */ - updated_at: string; - /** - * @description The type of repositories in the organization that the secret is visible to - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** - * Format: uri - * @description The API URL at which the list of repositories this secret is visible to can be retrieved - * @example https://api.github.com/user/secrets/SECRET_NAME/repositories - */ - selected_repositories_url: string; - }; - /** - * CodespacesUserPublicKey - * @description The public key used for setting user Codespaces' Secrets. - */ - "codespaces-user-public-key": { - /** - * @description The identifier for the key. - * @example 1234567 - */ - key_id: string; - /** - * @description The Base64 encoded public key. - * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= - */ - key: string; - }; - /** - * Fetches information about an export of a codespace. - * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest - */ - "codespace-export-details": { - /** - * @description State of the latest export - * @example succeeded | failed | in_progress - */ - state?: string | null; - /** - * Format: date-time - * @description Completion time of the last export operation - * @example 2021-01-01T19:01:12Z - */ - completed_at?: string | null; - /** - * @description Name of the exported branch - * @example codespace-monalisa-octocat-hello-world-g4wpq6h95q - */ - branch?: string | null; - /** - * @description Git commit SHA of the exported branch - * @example fd95a81ca01e48ede9f39c799ecbcef817b8a3b2 - */ - sha?: string | null; - /** - * @description Id for the export details - * @example latest - */ - id?: string; - /** - * @description Url for fetching export details - * @example https://api.github.com/user/codespaces/:name/exports/latest - */ - export_url?: string; - /** - * @description Web url for the exported branch - * @example https://github.com/octocat/hello-world/tree/:branch - */ - html_url?: string | null; - }; - /** - * Codespace - * @description A codespace. - */ - "codespace-with-full-repository": { - /** @example 1 */ - id: number; - /** - * @description Automatically generated name of this codespace. - * @example monalisa-octocat-hello-world-g4wpq6h95q - */ - name: string; - /** - * @description Display name for this codespace. - * @example bookish space pancake - */ - display_name?: string | null; - /** - * @description UUID identifying this codespace's environment. - * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 - */ - environment_id: string | null; - owner: components["schemas"]["simple-user"]; - billable_owner: components["schemas"]["simple-user"]; - repository: components["schemas"]["full-repository"]; - machine: components["schemas"]["nullable-codespace-machine"]; - /** - * @description Path to devcontainer.json from repo root used to create Codespace. - * @example .devcontainer/example/devcontainer.json - */ - devcontainer_path?: string | null; - /** - * @description Whether the codespace was created from a prebuild. - * @example false - */ - prebuild: boolean | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - updated_at: string; - /** - * Format: date-time - * @description Last known time this codespace was started. - * @example 2011-01-26T19:01:12Z - */ - last_used_at: string; - /** - * @description State of this codespace. - * @example Available - * @enum {string} - */ - state: "Unknown" | "Created" | "Queued" | "Provisioning" | "Available" | "Awaiting" | "Unavailable" | "Deleted" | "Moved" | "Shutdown" | "Archived" | "Starting" | "ShuttingDown" | "Failed" | "Exporting" | "Updating" | "Rebuilding"; - /** - * Format: uri - * @description API URL for this codespace. - */ - url: string; - /** @description Details about the codespace's git repository. */ - git_status: { - /** - * @description The number of commits the local repository is ahead of the remote. - * @example 0 - */ - ahead?: number; - /** - * @description The number of commits the local repository is behind the remote. - * @example 0 - */ - behind?: number; - /** @description Whether the local repository has unpushed changes. */ - has_unpushed_changes?: boolean; - /** @description Whether the local repository has uncommitted changes. */ - has_uncommitted_changes?: boolean; - /** - * @description The current branch (or SHA if in detached HEAD state) of the local repository. - * @example main - */ - ref?: string; - }; - /** - * @description The initally assigned location of a new codespace. - * @example WestUs2 - * @enum {string} - */ - location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; - /** - * @description The number of minutes of inactivity after which this codespace will be automatically stopped. - * @example 60 - */ - idle_timeout_minutes: number | null; - /** - * Format: uri - * @description URL to access this codespace on the web. - */ - web_url: string; - /** - * Format: uri - * @description API URL to access available alternate machine types for this codespace. - */ - machines_url: string; - /** - * Format: uri - * @description API URL to start this codespace. - */ - start_url: string; - /** - * Format: uri - * @description API URL to stop this codespace. - */ - stop_url: string; - /** - * Format: uri - * @description API URL to publish this codespace to a new repository. - */ - publish_url?: string | null; - /** - * Format: uri - * @description API URL for the Pull Request associated with this codespace, if any. - */ - pulls_url: string | null; - recent_folders: string[]; - runtime_constraints?: { - /** @description The privacy settings a user can select from when forwarding a port. */ - allowed_port_privacy_settings?: string[] | null; - }; - /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ - pending_operation?: boolean | null; - /** @description Text to show user when codespace is disabled by a pending operation */ - pending_operation_disabled_reason?: string | null; - /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ - idle_timeout_notice?: string | null; - /** - * @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). - * @example 60 - */ - retention_period_minutes?: number | null; - /** - * Format: date-time - * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" - * @example 2011-01-26T20:01:12Z - */ - retention_expires_at?: string | null; - }; - /** - * Email - * @description Email - */ - email: { - /** - * Format: email - * @example octocat@github.com - */ - email: string; - /** @example true */ - primary: boolean; - /** @example true */ - verified: boolean; - /** @example public */ - visibility: string | null; - }; - /** - * GPG Key - * @description A unique encryption key - */ - "gpg-key": { - /** @example 3 */ - id: number; - /** @example Octocat's GPG Key */ - name?: string | null; - primary_key_id: number | null; - /** @example 3262EFF25BA0D270 */ - key_id: string; - /** @example xsBNBFayYZ... */ - public_key: string; - /** - * @example [ - * { - * "email": "octocat@users.noreply.github.com", - * "verified": true - * } - * ] - */ - emails: { - email?: string; - verified?: boolean; - }[]; - /** - * @example [ - * { - * "id": 4, - * "primary_key_id": 3, - * "key_id": "4A595D4C72EE49C7", - * "public_key": "zsBNBFayYZ...", - * "emails": [], - * "can_sign": false, - * "can_encrypt_comms": true, - * "can_encrypt_storage": true, - * "can_certify": false, - * "created_at": "2016-03-24T11:31:04-06:00", - * "expires_at": null, - * "revoked": false - * } - * ] - */ - subkeys: ({ - id?: number; - primary_key_id?: number; - key_id?: string; - public_key?: string; - emails?: { - email?: string; - verified?: boolean; - }[]; - subkeys?: unknown[]; - can_sign?: boolean; - can_encrypt_comms?: boolean; - can_encrypt_storage?: boolean; - can_certify?: boolean; - created_at?: string; - expires_at?: string | null; - raw_key?: string | null; - revoked?: boolean; - })[]; - /** @example true */ - can_sign: boolean; - can_encrypt_comms: boolean; - can_encrypt_storage: boolean; - /** @example true */ - can_certify: boolean; - /** - * Format: date-time - * @example 2016-03-24T11:31:04-06:00 - */ - created_at: string; - /** Format: date-time */ - expires_at: string | null; - /** @example true */ - revoked: boolean; - raw_key: string | null; - }; - /** - * Key - * @description Key - */ - key: { - key: string; - id: number; - url: string; - title: string; - /** Format: date-time */ - created_at: string; - verified: boolean; - read_only: boolean; - }; - /** Marketplace Account */ - "marketplace-account": { - /** Format: uri */ - url: string; - id: number; - type: string; - node_id?: string; - login: string; - /** Format: email */ - email?: string | null; - /** Format: email */ - organization_billing_email?: string | null; - }; - /** - * User Marketplace Purchase - * @description User Marketplace Purchase - */ - "user-marketplace-purchase": { - /** @example monthly */ - billing_cycle: string; - /** - * Format: date-time - * @example 2017-11-11T00:00:00Z - */ - next_billing_date: string | null; - unit_count: number | null; - /** @example true */ - on_free_trial: boolean; - /** - * Format: date-time - * @example 2017-11-11T00:00:00Z - */ - free_trial_ends_on: string | null; - /** - * Format: date-time - * @example 2017-11-02T01:12:12Z - */ - updated_at: string | null; - account: components["schemas"]["marketplace-account"]; - plan: components["schemas"]["marketplace-listing-plan"]; - }; - /** - * Social account - * @description Social media account - */ - "social-account": { - /** @example linkedin */ - provider: string; - /** @example https://www.linkedin.com/company/github/ */ - url: string; - }; - /** - * SSH Signing Key - * @description A public SSH key used to sign Git commits - */ - "ssh-signing-key": { - key: string; - id: number; - title: string; - /** Format: date-time */ - created_at: string; - }; - /** - * Starred Repository - * @description Starred Repository - */ - "starred-repository": { - /** Format: date-time */ - starred_at: string; - repo: components["schemas"]["repository"]; - }; - /** - * Hovercard - * @description Hovercard - */ - hovercard: { - contexts: { - message: string; - octicon: string; - }[]; + "/orgs/{org}/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List app installations for an organization + * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + */ + get: operations["orgs/list-app-installations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; }; - /** - * Key Simple - * @description Key Simple - */ - "key-simple": { - id: number; - key: string; - }; - /** - * Enterprise - * @description An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - * on an enterprise account or an organization that's part of an enterprise account. For more information, - * see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - */ - "enterprise-webhooks": { - /** @description A short description of the enterprise. */ - description?: string | null; - /** - * Format: uri - * @example https://github.com/enterprises/octo-business - */ - html_url: string; - /** - * Format: uri - * @description The enterprise's website URL. - */ - website_url?: string | null; - /** - * @description Unique identifier of the enterprise - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the enterprise. - * @example Octo Business - */ - name: string; - /** - * @description The slug url identifier for the enterprise. - * @example octo-business - */ - slug: string; - /** - * Format: date-time - * @example 2019-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2019-01-26T19:14:43Z - */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }; - /** - * Simple Installation - * @description The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - * for and sent to a GitHub App. For more information, - * see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - */ - "simple-installation": { - /** - * @description The ID of the installation. - * @example 1 - */ - id: number; - /** - * @description The global node ID of the installation. - * @example MDQ6VXNlcjU4MzIzMQ== - */ - node_id: string; - }; - /** - * Organization Simple - * @description A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - * organization, or when the event occurs from activity in a repository owned by an organization. - */ - "organization-simple-webhooks": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github - */ - url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/repos - */ - repos_url: string; - /** - * Format: uri - * @example https://api.github.com/orgs/github/events - */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - }; - /** - * Repository - * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - * when the event occurs from activity in a repository. - */ - "repository-webhooks": { - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions?: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: ({ - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + "/orgs/{org}/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get interaction restrictions for an organization + * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + get: operations["interactions/get-restrictions-for-org"]; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Set interaction restrictions for an organization + * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. + */ + put: operations["interactions/set-restrictions-for-org"]; + post: never; + /** + * Remove interaction restrictions for an organization + * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. + */ + delete: operations["interactions/remove-restrictions-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pending organization invitations + * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + get: operations["orgs/list-pending-invitations"]; + put: never; /** - * @description The default value for a merge commit title. + * Create an organization invitation + * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["orgs/create-invitation"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Cancel an organization invitation + * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + */ + delete: operations["orgs/cancel-invitation"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/invitations/{invitation_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization invitation teams + * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. + */ + get: operations["orgs/list-invitation-teams"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization issues assigned to the authenticated user + * @description List issues in an organization assigned to the authenticated user. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization members + * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. + */ + get: operations["orgs/list-members"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check organization membership for a user + * @description Check if a user is, publicly or privately, a member of the organization. + */ + get: operations["orgs/check-membership-for-user"]; + put: never; + post: never; + /** + * Remove an organization member + * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. + */ + delete: operations["orgs/remove-member"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members/{username}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for a user in organization + * @description Lists the codespaces that a member of an organization has for repositories in that organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + get: operations["codespaces/get-codespaces-for-user-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a codespace from the organization + * @description Deletes a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. + */ + delete: operations["codespaces/delete-from-organization"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Stop a codespace for an organization user + * @description Stops a user's codespace. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + post: operations["codespaces/stop-in-organization"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/members/{username}/copilot": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description The default value for a merge commit message. + * Get Copilot for Business seat assignment details for a user + * @description **Note**: This endpoint is in beta and is subject to change. * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Gets the GitHub Copilot for Business seat assignment details for a member of an organization who currently has access to GitHub Copilot. + * + * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - }) | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - * @example false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; - /** - * Simple User - * @description The GitHub user that triggered the event. This property is included in every webhook payload. - */ - "simple-user-webhooks": { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** - * Format: uri - * @example https://github.com/images/error/octocat_happy.gif - */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** - * Format: uri - * @example https://api.github.com/users/octocat - */ - url: string; - /** - * Format: uri - * @example https://github.com/octocat - */ - html_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/followers - */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/subscriptions - */ - subscriptions_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/orgs - */ - organizations_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/repos - */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** - * Format: uri - * @example https://api.github.com/users/octocat/received_events - */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description A suite of checks performed on the code of a given code change */ - "simple-check-suite": { - /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ - after?: string | null; - app?: components["schemas"]["integration"]; - /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ - before?: string | null; - /** - * @example neutral - * @enum {string|null} - */ - conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "stale" | "startup_failure" | null; - /** Format: date-time */ - created_at?: string; - /** @example master */ - head_branch?: string | null; - /** - * @description The SHA of the head commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha?: string; - /** @example 5 */ - id?: number; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id?: string; - pull_requests?: components["schemas"]["pull-request-minimal"][]; - repository?: components["schemas"]["minimal-repository"]; - /** - * @example completed - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; - /** Format: date-time */ - updated_at?: string; - /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ - url?: string; - }; - /** - * CheckRun - * @description A check performed on the code of a given code change - */ - "check-run-with-simple-check-suite": { - app: components["schemas"]["nullable-integration"]; - check_suite: components["schemas"]["simple-check-suite"]; - /** - * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - completed_at: string | null; - /** - * @example neutral - * @enum {string|null} - */ - conclusion: "waiting" | "pending" | "startup_failure" | "stale" | "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | null; - deployment?: components["schemas"]["deployment-simple"]; - /** @example https://example.com */ - details_url: string; - /** @example 42 */ - external_id: string; - /** - * @description The SHA of the commit that is being checked. - * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d - */ - head_sha: string; - /** @example https://github.com/github/hello-world/runs/4 */ - html_url: string; - /** - * @description The id of the check. - * @example 21 - */ - id: number; - /** - * @description The name of the check. - * @example test-coverage - */ - name: string; - /** @example MDg6Q2hlY2tSdW40 */ - node_id: string; - output: { - annotations_count: number; - /** Format: uri */ - annotations_url: string; - summary: string | null; - text: string | null; - title: string | null; - }; - pull_requests: components["schemas"]["pull-request-minimal"][]; - /** - * Format: date-time - * @example 2018-05-04T01:14:52Z - */ - started_at: string; - /** - * @description The phase of the lifecycle that the check is currently in. - * @example queued - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "pending"; - /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ - url: string; - }; - /** - * Discussion - * @description A Discussion in a repository. - */ - discussion: { - active_lock_reason: string | null; - answer_chosen_at: string | null; - /** User */ - answer_chosen_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - answer_html_url: string | null; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** - * @description The current state of the discussion. - * `converting` means that the discussion is being converted from an issue. - * `transferring` means that the discussion is being transferred from another repository. - * @enum {string} - */ - state: "open" | "closed" | "locked" | "converting" | "transferring"; - /** - * @description The reason for the current state - * @example resolved - * @enum {string|null} - */ - state_reason: "resolved" | "outdated" | "duplicate" | "reopened" | null; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** - * Merge Group - * @description A group of pull requests that the merge queue has grouped together to be merged. - */ - "merge-group": { - /** @description The SHA of the merge group. */ - head_sha: string; - /** @description The full ref of the merge group. */ - head_ref: string; - /** @description The SHA of the merge group's parent commit. */ - base_sha: string; - /** @description The full ref of the branch the merge group will be merged into. */ - base_ref: string; - head_commit: components["schemas"]["simple-commit"]; - }; - /** - * Repository - * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - * when the event occurs from activity in a repository. - */ - "nullable-repository-webhooks": ({ - /** - * @description Unique identifier of the repository - * @example 42 - */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - license: components["schemas"]["nullable-license-simple"]; - organization?: components["schemas"]["nullable-simple-user"]; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - owner: components["schemas"]["simple-user"]; - /** - * @description Whether the repository is private or public. - * @default false - */ - private: boolean; - /** - * Format: uri - * @example https://github.com/octocat/Hello-World - */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** - * Format: uri - * @example https://api.github.com/repos/octocat/Hello-World - */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/contributors - */ - contributors_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/deployments - */ - deployments_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/downloads - */ - downloads_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/events - */ - events_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/forks - */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/languages - */ - languages_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/merges - */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/stargazers - */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscribers - */ - subscribers_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/subscription - */ - subscription_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/tags - */ - tags_url: string; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/teams - */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** - * Format: uri - * @example git:git.example.com/octocat/Hello-World - */ - mirror_url: string | null; - /** - * Format: uri - * @example http://api.github.com/repos/octocat/Hello-World/hooks - */ - hooks_url: string; - /** - * Format: uri - * @example https://svn.github.com/octocat/Hello-World - */ - svn_url: string; - /** - * Format: uri - * @example https://github.com - */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** - * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - * @example 108 - */ - size: number; - /** - * @description The default branch of the repository. - * @example master - */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - topics?: string[]; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki: boolean; - has_pages: boolean; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions?: boolean; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** - * @description The repository visibility: public, private, or internal. - * @default public - */ - visibility?: string; - /** - * Format: date-time - * @example 2011-01-26T19:06:43Z - */ - pushed_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:01:12Z - */ - created_at: string | null; - /** - * Format: date-time - * @example 2011-01-26T19:14:43Z - */ - updated_at: string | null; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - template_repository?: ({ - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + get: operations["copilot/get-copilot-seat-assignment-details-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get organization membership for a user + * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + get: operations["orgs/get-membership-for-user"]; /** - * @description The default value for a squash merge commit message: + * Set organization membership for a user + * @description Only authenticated organization owners can add a member to the organization or update the member's role. * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. + * + * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. + * + * **Rate limits** + * + * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + put: operations["orgs/set-membership-for-user"]; + post: never; /** - * @description The default value for a merge commit title. + * Remove organization membership for a user + * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + delete: operations["orgs/remove-membership-for-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/migrations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description The default value for a merge commit message. + * List organization migrations + * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * A list of `repositories` is only returned for export migrations. */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - }) | null; - temp_clone_token?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - * @default false - * @example false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** - * @description Whether to require contributors to sign off on web-based commits - * @default false - */ - web_commit_signoff_required?: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }) | null; - /** - * Personal Access Token Request - * @description Details of a Personal Access Token Request. - */ - "personal-access-token-request": { - /** @description Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls. */ - id: number; - owner: components["schemas"]["simple-user"]; - /** @description New requested permissions, categorized by type of permission. */ - permissions_added: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ - permissions_upgraded: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ - permissions_result: { - organization?: { - [key: string]: string; - }; - repository?: { - [key: string]: string; - }; - other?: { - [key: string]: string; - }; - }; - /** - * @description Type of repository selection requested. - * @enum {string} - */ - repository_selection: "none" | "all" | "subset"; - /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ - repository_count: number | null; - /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ - repositories: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[] | null; - /** @description Date and time when the request for access was created. */ - created_at: string; - /** @description Whether the associated fine-grained personal access token has expired. */ - token_expired: boolean; - /** @description Date and time when the associated fine-grained personal access token expires. */ - token_expires_at: string | null; - /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ - token_last_used_at: string | null; - }; - /** - * Projects v2 Project - * @description A projects v2 project - */ - "projects-v2": { - id: number; - node_id: string; - owner: components["schemas"]["simple-user"]; - creator: components["schemas"]["simple-user"]; - title: string; - description: string | null; - public: boolean; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - closed_at: string | null; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - created_at: string; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - updated_at: string; - number: number; - short_description: string | null; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - deleted_at: string | null; - deleted_by: components["schemas"]["nullable-simple-user"]; - }; - /** - * Projects v2 Item Content Type - * @description The type of content tracked in a project item - * @enum {string} - */ - "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; - /** - * Projects v2 Item - * @description An item belonging to a project - */ - "projects-v2-item": { - id: number; - node_id?: string; - project_node_id?: string; - content_node_id: string; - content_type: components["schemas"]["projects-v2-item-content-type"]; - creator?: components["schemas"]["simple-user"]; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - created_at: string; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - updated_at: string; - /** - * Format: date-time - * @example 2022-04-28T12:00:00Z - */ - archived_at: string | null; - }; - /** - * @description The reason for resolving the alert. - * @enum {string|null} - */ - "secret-scanning-alert-resolution-webhook": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | "pattern_deleted" | "pattern_edited" | null; - "secret-scanning-alert-webhook": { - number?: components["schemas"]["alert-number"]; - created_at?: components["schemas"]["alert-created-at"]; - updated_at?: components["schemas"]["nullable-alert-updated-at"]; - url?: components["schemas"]["alert-url"]; - html_url?: components["schemas"]["alert-html-url"]; - /** - * Format: uri - * @description The REST API URL of the code locations for this alert. - */ - locations_url?: string; - resolution?: components["schemas"]["secret-scanning-alert-resolution-webhook"]; - /** - * Format: date-time - * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - resolved_at?: string | null; - resolved_by?: components["schemas"]["nullable-simple-user"]; - /** @description An optional comment to resolve an alert. */ - resolution_comment?: string | null; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; - /** - * Format: date-time - * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - push_protection_bypassed_at?: string | null; - }; - /** branch protection configuration disabled event */ - "webhook-branch-protection-configuration-disabled": { - /** @enum {string} */ - action: "disabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection configuration enabled event */ - "webhook-branch-protection-configuration-enabled": { - /** @enum {string} */ - action: "enabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection rule created event */ - "webhook-branch-protection-rule-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ - require_last_push_approval?: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection rule deleted event */ - "webhook-branch-protection-rule-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ - require_last_push_approval?: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** branch protection rule edited event */ - "webhook-branch-protection-rule-edited": { - /** @enum {string} */ - action: "edited"; - /** @description If the action was `edited`, the changes to the rule. */ - changes?: { - admin_enforced?: { - from: boolean | null; - }; - authorized_actor_names?: { - from: string[]; - }; - authorized_actors_only?: { - from: boolean | null; - }; - authorized_dismissal_actors_only?: { - from: boolean | null; - }; - linear_history_requirement_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - required_status_checks?: { - from: string[]; - }; - required_status_checks_enforcement_level?: { - /** @enum {string} */ - from: "off" | "non_admins" | "everyone"; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** - * branch protection rule - * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. - */ - rule: { - admin_enforced: boolean; - /** @enum {string} */ - allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; - authorized_actor_names: string[]; - authorized_actors_only: boolean; - authorized_dismissal_actors_only: boolean; - create_protected?: boolean; - /** Format: date-time */ - created_at: string; - dismiss_stale_reviews_on_push: boolean; - id: number; - ignore_approvals_from_contributors: boolean; - /** @enum {string} */ - linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; - name: string; - /** @enum {string} */ - pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; - repository_id: number; - require_code_owner_review: boolean; - /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ - require_last_push_approval?: boolean; - required_approving_review_count: number; - /** @enum {string} */ - required_conversation_resolution_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; - required_status_checks: string[]; - /** @enum {string} */ - required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; - /** @enum {string} */ - signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; - strict_required_status_checks_policy: boolean; - /** Format: date-time */ - updated_at: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Check Run Completed Event */ - "webhook-check-run-completed": { - /** @enum {string} */ - action?: "completed"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Completed Event - * @description The check_run.completed webhook encoded with URL encoding - */ - "webhook-check-run-completed-form-encoded": { - /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Created Event */ - "webhook-check-run-created": { - /** @enum {string} */ - action?: "created"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Created Event - * @description The check_run.created webhook encoded with URL encoding - */ - "webhook-check-run-created-form-encoded": { - /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Requested Action Event */ - "webhook-check-run-requested-action": { - /** @enum {string} */ - action: "requested_action"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** @description The action requested by the user. */ - requested_action?: { - /** @description The integrator reference of the action requested by the user. */ - identifier?: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Requested Action Event - * @description The check_run.requested_action webhook encoded with URL encoding - */ - "webhook-check-run-requested-action-form-encoded": { - /** @description A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** Check Run Re-Requested Event */ - "webhook-check-run-rerequested": { - /** @enum {string} */ - action?: "rerequested"; - check_run: components["schemas"]["check-run-with-simple-check-suite"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * Check Run Re-Requested Event - * @description The check_run.rerequested webhook encoded with URL encoding - */ - "webhook-check-run-rerequested-form-encoded": { - /** @description A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** check_suite completed event */ - "webhook-check-suite-completed": { - /** @enum {string} */ - action: "completed"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + get: operations["migrations/list-for-org"]; + put: never; + /** + * Start an organization migration + * @description Initiates the generation of a migration archive. */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_group" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "projects_v2_item" | "secret_scanning_alert_location")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has `completed`. - * @enum {string|null} + post: operations["migrations/start-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/migrations/{migration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization migration status + * @description Fetches the status of a migration. + * + * The `state` of a migration can be one of the following values: + * + * * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. + */ + get: operations["migrations/get-status-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/migrations/{migration_id}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download an organization migration archive + * @description Fetches the URL to a migration archive. + */ + get: operations["migrations/download-archive-for-org"]; + put: never; + post: never; + /** + * Delete an organization migration archive + * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. + */ + delete: operations["migrations/delete-archive-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Unlock an organization repository + * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. + */ + delete: operations["migrations/unlock-repo-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/migrations/{migration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories in an organization migration + * @description List all the repositories for this organization migration. + */ + get: operations["migrations/list-repos-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/outside_collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List outside collaborators for an organization + * @description List all users who are outside collaborators of an organization. + */ + get: operations["orgs/list-outside-collaborators"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/outside_collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Convert an organization member to outside collaborator + * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + */ + put: operations["orgs/convert-member-to-outside-collaborator"]; + post: never; + /** + * Remove outside collaborator from an organization + * @description Removing a user from this list will remove them from all the organization's repositories. + */ + delete: operations["orgs/remove-outside-collaborator"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for an organization + * @description Lists packages in an organization readable by the user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-organization"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for an organization + * @description Gets a specific package in an organization. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; + get: operations["packages/get-package-for-organization"]; + put: never; + post: never; /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} + * Delete a package for an organization + * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + delete: operations["packages/delete-package-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore a package for an organization + * @description Restores an entire package in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + post: operations["packages/restore-package-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by an organization + * @description Lists package versions for a package owned by an organization. + * + * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for an organization + * @description Gets a specific package version in an organization. + * + * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ - status: "requested" | "in_progress" | "completed" | "queued" | null | "pending"; - /** Format: date-time */ - updated_at: string; + get: operations["packages/get-package-version-for-organization"]; + put: never; + post: never; /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** check_suite requested event */ - "webhook-check-suite-requested": { - /** @enum {string} */ - action: "requested"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + * Delete package version for an organization + * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore package version for an organization + * @description Restores a specific package version in an organization. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-token-requests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List requests to access organization resources with fine-grained personal access tokens + * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can call this API, + * using the `organization_personal_access_token_requests: read` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "secret_scanning_alert_location" | "projects_v2_item" | "merge_group" | "repository_import")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped"; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; + get: operations["orgs/list-pat-grant-requests"]; + put: never; /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} + * Review requests to access organization resources with fine-grained personal access tokens + * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, + * using the `organization_personal_access_token_requests: write` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + post: operations["orgs/review-pat-grant-requests-in-bulk"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Review a request to access organization resources with a fine-grained personal access token + * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, + * using the `organization_personal_access_token_requests: write` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + post: operations["orgs/review-pat-grant-request"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories requested to be accessed by a fine-grained personal access token + * @description Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can call this API, + * using the `organization_personal_access_token_requests: read` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + get: operations["orgs/list-pat-grant-request-repositories"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List fine-grained personal access tokens with access to organization resources + * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can call this API, + * using the `organization_personal_access_tokens: read` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ - status: "requested" | "in_progress" | "completed" | "queued" | null; - /** Format: date-time */ - updated_at: string; + get: operations["orgs/list-pat-grants"]; + put: never; /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** check_suite rerequested event */ - "webhook-check-suite-rerequested": { - /** @enum {string} */ - action: "rerequested"; - /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ - check_suite: { - after: string | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - app: { - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }; - before: string | null; - /** Format: uri */ - check_runs_url: string; - /** - * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} + * Update the access to organization resources via fine-grained personal access tokens + * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, + * using the `organization_personal_access_tokens: write` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + post: operations["orgs/update-pat-accesses"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Update the access a fine-grained personal access token has to organization resources + * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, + * using the `organization_personal_access_tokens: write` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + post: operations["orgs/update-pat-access"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories a fine-grained personal access token has access to + * @description Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can call this API, + * using the `organization_personal_access_tokens: read` permission. + * + * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. + */ + get: operations["orgs/list-pat-grant-repositories"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization projects + * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: operations["projects/list-for-org"]; + put: never; + /** + * Create an organization project + * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + post: operations["projects/create-for-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/public_members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public organization members + * @description Members of an organization can choose to have their membership publicized or not. + */ + get: operations["orgs/list-public-members"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/public_members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check public organization membership for a user + * @description Check if the provided user is a public member of the organization. + */ + get: operations["orgs/check-public-membership-for-user"]; + /** + * Set public organization membership for the authenticated user + * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - /** @description The head branch name the changes are on. */ - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** @description The SHA of the head commit that is being checked. */ - head_sha: string; - id: number; - latest_check_runs_count: number; - node_id: string; - /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - rerequestable?: boolean; - runs_rerequestable?: boolean; + put: operations["orgs/set-public-membership-for-authenticated-user"]; + post: never; /** - * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. - * @enum {string|null} + * Remove public organization membership for the authenticated user + * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. */ - status: "requested" | "in_progress" | "completed" | "queued" | null; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL that points to the check suite API resource. - */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert appeared_in_branch event */ - "webhook-code-scanning-alert-appeared-in-branch": { - /** @enum {string} */ - action: "appeared_in_branch"; - /** @description The code scanning alert involved in the event. */ - alert: { + delete: operations["orgs/remove-public-membership-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * List organization repositories + * @description Lists repositories for the specified organization. + * + * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ - created_at: string; + get: operations["repos/list-for-org"]; + put: never; /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + * Create an organization repository + * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + post: operations["repos/create-in-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/rulesets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all organization repository rulesets + * @description Get all the repository rulesets for an organization. + */ + get: operations["repos/get-org-rulesets"]; + put: never; + /** + * Create an organization repository ruleset + * @description Create a repository ruleset for an organization. + */ + post: operations["repos/create-org-ruleset"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/rulesets/rule-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization rule suites + * @description Lists suites of rule evaluations at the organization level. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suites"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization rule suite + * @description Gets information about a suite of rule evaluations from within an organization. + * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-org-rule-suite"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/rulesets/{ruleset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization repository ruleset + * @description Get a repository ruleset for an organization. + */ + get: operations["repos/get-org-ruleset"]; + /** + * Update an organization repository ruleset + * @description Update a ruleset for an organization. + */ + put: operations["repos/update-org-ruleset"]; + post: never; + /** + * Delete an organization repository ruleset + * @description Delete a ruleset for an organization. + */ + delete: operations["repos/delete-org-ruleset"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secret scanning alerts for an organization + * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/security-advisories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository security advisories for an organization + * @description Lists repository security advisories for an organization. + * + * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission. + */ + get: operations["security-advisories/list-org-repository-advisories"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/security-managers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List security manager teams + * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. + * + * GitHub Apps must have the `administration` organization read permission to use this endpoint. + */ + get: operations["orgs/list-security-manager-teams"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/security-managers/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add a security manager team + * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." + * + * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. + * + * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. */ - dismissed_at: string | null; - /** User */ - dismissed_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} + put: operations["orgs/add-security-manager-team"]; + post: never; + /** + * Remove a security manager team + * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." + * + * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. + * + * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + delete: operations["orgs/remove-security-manager-team"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/settings/billing/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * Get GitHub Actions billing for an organization + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-github-actions-billing-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/settings/billing/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Packages billing for an organization + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. + */ + get: operations["billing/get-github-packages-billing-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/settings/billing/shared-storage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get shared storage billing for an organization + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `repo` or `admin:org` scope. */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; + get: operations["billing/get-shared-storage-billing-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * List teams + * @description Lists all teams in an organization that are visible to the authenticated user. */ - state: "open" | "dismissed" | "fixed"; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert closed_by_user event */ - "webhook-code-scanning-alert-closed-by-user": { - /** @enum {string} */ - action: "closed_by_user"; - /** @description The code scanning alert involved in the event. */ - alert: { + get: operations["teams/list"]; + put: never; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * Create a team + * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". */ - created_at: string; + post: operations["teams/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + * Get a team by name + * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. */ - dismissed_at: string; - /** User */ - dismissed_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} + get: operations["teams/get-by-name"]; + put: never; + post: never; + /** + * Delete a team + * @description To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + delete: operations["teams/delete-in-org"]; + options: never; + head: never; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * Update a team + * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; + patch: operations["teams/update-in-org"]; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * List discussions + * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. */ - state: "dismissed" | "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert created event */ - "webhook-code-scanning-alert-created": { - /** @enum {string} */ - action: "created"; - /** @description The code scanning alert involved in the event. */ - alert: { + get: operations["teams/list-discussions-in-org"]; + put: never; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * Create a discussion + * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. */ - created_at: string | null; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: Record | null; - dismissed_by: Record | null; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: Record | null; - fixed_at?: Record | null; + post: operations["teams/create-discussion-in-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * Get a discussion + * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. */ - html_url: string; - instances_url?: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; + get: operations["teams/get-discussion-in-org"]; + put: never; + post: never; + /** + * Delete a discussion + * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + delete: operations["teams/delete-discussion-in-org"]; + options: never; + head: never; + /** + * Update a discussion + * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. + */ + patch: operations["teams/update-discussion-in-org"]; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * List discussion comments + * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. */ - state: "open" | "dismissed"; - tool: ({ - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }) | null; - updated_at?: string | null; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert fixed event */ - "webhook-code-scanning-alert-fixed": { - /** @enum {string} */ - action: "fixed"; - /** @description The code scanning alert involved in the event. */ - alert: { + get: operations["teams/list-discussion-comments-in-org"]; + put: never; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * Create a discussion comment + * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. */ - created_at: string; + post: operations["teams/create-discussion-comment-in-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * Format: date-time - * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + * Get a discussion comment + * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. */ - dismissed_at: string | null; - /** User */ - dismissed_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. - * @enum {string|null} + get: operations["teams/get-discussion-comment-in-org"]; + put: never; + post: never; + /** + * Delete a discussion comment + * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. */ - dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + delete: operations["teams/delete-discussion-comment-in-org"]; + options: never; + head: never; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * Update a discussion comment + * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. */ - html_url: string; - /** Format: uri */ - instances_url?: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; + patch: operations["teams/update-discussion-comment-in-org"]; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * List reactions for a team discussion comment + * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. */ - state: "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert reopened event */ - "webhook-code-scanning-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - /** @description The code scanning alert involved in the event. */ - alert: ({ + get: operations["reactions/list-for-team-discussion-comment-in-org"]; + put: never; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * Create reaction for a team discussion comment + * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. + */ + post: operations["reactions/create-for-team-discussion-comment-in-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete team discussion comment reaction + * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["reactions/delete-for-team-discussion-comment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion + * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: string | null; - dismissed_by: Record | null; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: string | null; + get: operations["reactions/list-for-team-discussion-in-org"]; + put: never; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * Create reaction for a team discussion + * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. + */ + post: operations["reactions/create-for-team-discussion-in-org"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete team discussion reaction + * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. + * + * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - full_description?: string; - help?: string | null; - /** @description A link to the documentation for the rule used to detect the alert. */ - help_uri?: string | null; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - name?: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; - tags?: string[] | null; + delete: operations["reactions/delete-for-team-discussion"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * List pending team invitations + * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. + */ + get: operations["teams/list-pending-invitations-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team members + * @description Team members will include the members of child teams. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/list-members-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team membership for a user + * @description Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). */ - state: "open" | "dismissed" | "fixed"; - tool: { - guid?: string | null; - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }) | null; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string | null; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** code_scanning_alert reopened_by_user event */ - "webhook-code-scanning-alert-reopened-by-user": { - /** @enum {string} */ - action: "reopened_by_user"; - /** @description The code scanning alert involved in the event. */ - alert: { + get: operations["teams/get-membership-for-user-in-org"]; /** - * Format: date-time - * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + * Add or update team membership for a user + * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. */ - created_at: string; - /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - dismissed_at: Record | null; - dismissed_by: Record | null; - /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ - dismissed_reason: Record | null; + put: operations["teams/add-or-update-membership-for-user-in-org"]; + post: never; /** - * Format: uri - * @description The GitHub URL of the alert resource. + * Remove team membership for a user + * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. */ - html_url: string; - /** Alert Instance */ - most_recent_instance?: ({ - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the configuration under which the analysis was executed. */ - category?: string; - classifications?: string[]; - commit_sha?: string; - /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ - environment: string; - location?: { - end_column?: number; - end_line?: number; - path?: string; - start_column?: number; - start_line?: number; - }; - message?: { - text?: string; - }; - /** @description The full Git reference, formatted as `refs/heads/`. */ - ref: string; - /** - * @description State of a code scanning alert. - * @enum {string} - */ - state: "open" | "dismissed" | "fixed"; - }) | null; - /** @description The code scanning alert number. */ - number: number; - rule: { - /** @description A short description of the rule used to detect the alert. */ - description: string; - /** @description A unique identifier for the rule used to detect the alert. */ - id: string; - /** - * @description The severity of the alert. - * @enum {string|null} - */ - severity: "none" | "note" | "warning" | "error" | null; + delete: operations["teams/remove-membership-for-user-in-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; /** - * @description State of a code scanning alert. - * @enum {string} + * List team projects + * @description Lists the organization projects for a team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. + */ + get: operations["teams/list-projects-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a project + * @description Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ - state: "open" | "fixed"; - tool: { - /** @description The name of the tool used to generate the code scanning analysis alert. */ - name: string; - /** @description The version of the tool used to detect the alert. */ - version: string | null; - }; - /** Format: uri */ - url: string; - }; - /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - commit_oid: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** commit_comment created event */ - "webhook-commit-comment-created": { - /** - * @description The action performed. Can be `created`. - * @enum {string} - */ - action: "created"; - /** @description The [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment) resource. */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + get: operations["teams/check-permissions-for-project-in-org"]; + /** + * Add or update team project permissions + * @description Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - created_at: string; - /** Format: uri */ - html_url: string; - /** @description The ID of the commit comment. */ - id: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the commit comment. */ - node_id: string; - /** @description The relative path of the file to which the comment applies. */ - path: string | null; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** create event */ - "webhook-create": { - /** @description The repository's current description. */ - description: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The name of the repository's default branch (usually `main`). */ - master_branch: string; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The pusher type for the event. Can be either `user` or a deploy key. */ - pusher_type: string; - /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ - ref: string; - /** - * @description The type of Git ref object created in the repository. - * @enum {string} - */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** delete event */ - "webhook-delete": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The pusher type for the event. Can be either `user` or a deploy key. */ - pusher_type: string; - /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ - ref: string; - /** - * @description The type of Git ref object deleted in the repository. - * @enum {string} - */ - ref_type: "tag" | "branch"; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert auto-dismissed event */ - "webhook-dependabot-alert-auto-dismissed": { - /** @enum {string} */ - action: "auto_dismissed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert auto-reopened event */ - "webhook-dependabot-alert-auto-reopened": { - /** @enum {string} */ - action: "auto_reopened"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert created event */ - "webhook-dependabot-alert-created": { - /** @enum {string} */ - action: "created"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert dismissed event */ - "webhook-dependabot-alert-dismissed": { - /** @enum {string} */ - action: "dismissed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert fixed event */ - "webhook-dependabot-alert-fixed": { - /** @enum {string} */ - action: "fixed"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert reintroduced event */ - "webhook-dependabot-alert-reintroduced": { - /** @enum {string} */ - action: "reintroduced"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Dependabot alert reopened event */ - "webhook-dependabot-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - alert: components["schemas"]["dependabot-alert"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** deploy_key created event */ - "webhook-deploy-key-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ - key: { - added_by?: string | null; - created_at: string; - id: number; - key: string; - last_used?: string | null; - read_only: boolean; - title: string; - /** Format: uri */ - url: string; - verified: boolean; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** deploy_key deleted event */ - "webhook-deploy-key-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ - key: { - added_by?: string | null; - created_at: string; - id: number; - key: string; - last_used?: string | null; - read_only: boolean; - title: string; - /** Format: uri */ - url: string; - verified: boolean; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** deployment created event */ - "webhook-deployment-created": { - /** @enum {string} */ - action: "created"; - /** - * Deployment - * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). - */ - deployment: { - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - environment: string; - id: number; - node_id: string; - original_environment: string; - payload: Record | string; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + put: operations["teams/add-or-update-project-permissions-in-org"]; + post: never; + /** + * Remove a project from a team + * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "workflow_job" | "pull_request_review_thread" | "merge_queue_entry" | "secret_scanning_alert_location" | "merge_group")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - production_environment?: boolean; - ref: string; - /** Format: uri */ - repository_url: string; - sha: string; - /** Format: uri */ - statuses_url: string; - task: string; - transient_environment?: boolean; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - /** Deployment Workflow Run */ - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: Record | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: Record | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: Record | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - }) | null; - }; - /** deployment protection rule requested event */ - "webhook-deployment-protection-rule-requested": { - /** @enum {string} */ - action?: "requested"; - /** @description The name of the environment that has the deployment protection rule. */ - environment?: string; - /** @description The event that triggered the deployment protection rule. */ - event?: string; - /** - * Format: uri - * @description The URL to review the deployment protection rule. - */ - deployment_callback_url?: string; - deployment?: components["schemas"]["deployment"]; - pull_requests?: components["schemas"]["pull-request"][]; - repository?: components["schemas"]["repository-webhooks"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-deployment-review-approved": { - /** @enum {string} */ - action: "approved"; - approver?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - comment?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - reviewers?: ({ - /** User */ - reviewer?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @enum {string} */ - type?: "User"; - })[]; - sender: components["schemas"]["simple-user-webhooks"]; - since: string; - workflow_job_run?: { - conclusion: Record | null; - created_at: string; - environment: string; - html_url: string; - id: number; - name: Record | null; - status: string; - updated_at: string; - }; - workflow_job_runs?: ({ - conclusion?: Record | null; - created_at?: string; - environment?: string; - html_url?: string; - id?: number; - name?: string | null; - status?: string; - updated_at?: string; - })[]; - /** Deployment Workflow Run */ - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - }) | null; - }; - "webhook-deployment-review-rejected": { - /** @enum {string} */ - action: "rejected"; - approver?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - comment?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - reviewers?: ({ - /** User */ - reviewer?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @enum {string} */ - type?: "User"; - })[]; - sender: components["schemas"]["simple-user-webhooks"]; - since: string; - workflow_job_run?: { - conclusion: Record | null; - created_at: string; - environment: string; - html_url: string; - id: number; - name: Record | null; - status: string; - updated_at: string; - }; - workflow_job_runs?: ({ - conclusion?: string | null; - created_at?: string; - environment?: string; - html_url?: string; - id?: number; - name?: string | null; - status?: string; - updated_at?: string; - })[]; - /** Deployment Workflow Run */ - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - display_title: string; - }) | null; - }; - "webhook-deployment-review-requested": { - /** @enum {string} */ - action: "requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - environment: string; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - /** User */ - requestor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - reviewers: ({ - /** User */ - reviewer?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @enum {string} */ - type?: "User" | "Team"; - })[]; - sender: components["schemas"]["simple-user-webhooks"]; - since: string; - workflow_job_run: { - conclusion: Record | null; - created_at: string; - environment: string; - html_url: string; - id: number; - name: string | null; - status: string; - updated_at: string; - }; - /** Deployment Workflow Run */ - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - display_title: string; - }) | null; - }; - /** deployment_status created event */ - "webhook-deployment-status-created": { - /** @enum {string} */ - action: "created"; - check_run?: ({ - /** Format: date-time */ - completed_at: string | null; - /** - * @description The result of the completed check run. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. - * @enum {string|null} - */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | null; - /** Format: uri */ - details_url: string; - external_id: string; - /** @description The SHA of the commit that is being checked. */ - head_sha: string; - /** Format: uri */ - html_url: string; - /** @description The id of the check. */ - id: number; - /** @description The name of the check run. */ - name: string; - node_id: string; - /** Format: date-time */ - started_at: string; - /** - * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; - /** Format: uri */ - url: string; - }) | null; - /** - * Deployment - * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). - */ - deployment: { - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - environment: string; - id: number; - node_id: string; - original_environment: string; - payload: string | Record | null; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_queue_entry" | "workflow_job" | "pull_request_review_thread" | "secret_scanning_alert_location" | "merge_group")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - production_environment?: boolean; - ref: string; - /** Format: uri */ - repository_url: string; - sha: string; - /** Format: uri */ - statuses_url: string; - task: string; - transient_environment?: boolean; - updated_at: string; - /** Format: uri */ - url: string; - }; - /** @description The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses). */ - deployment_status: { - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - deployment_url: string; - /** @description The optional human-readable description added to the status. */ - description: string; - environment: string; - /** Format: uri */ - environment_url?: string; - id: number; - /** Format: uri */ - log_url?: string; - node_id: string; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job" | "merge_group" | "secret_scanning_alert_location")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - /** Format: uri */ - repository_url: string; - /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ - state: string; - /** @description The optional link added to the status. */ - target_url: string; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow?: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - /** Deployment Workflow Run */ - workflow_run?: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - artifacts_url?: string; - cancel_url?: string; - check_suite_id: number; - check_suite_node_id: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "startup_failure"; - /** Format: date-time */ - created_at: string; - display_title: string; - event: string; - head_branch: string; - head_commit?: Record | null; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: Record | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - jobs_url?: string; - logs_url?: string; - name: string; - node_id: string; - path: string; - previous_attempt_url?: Record | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; - /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: Record | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - workflow_url?: string; - }) | null; - }; - /** discussion answered event */ - "webhook-discussion-answered": { - /** @enum {string} */ - action: "answered"; - answer: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - /** Format: date-time */ - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: Record | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion category changed event */ - "webhook-discussion-category-changed": { - /** @enum {string} */ - action: "category_changed"; - changes: { - category: { - from: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - }; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion closed event */ - "webhook-discussion-closed": { - /** @enum {string} */ - action: "closed"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion_comment created event */ - "webhook-discussion-comment-created": { - /** @enum {string} */ - action: "created"; - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: number | null; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion_comment deleted event */ - "webhook-discussion-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: number | null; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion_comment edited event */ - "webhook-discussion-comment-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body: { - from: string; - }; - }; - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: number | null; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion created event */ - "webhook-discussion-created": { - /** @enum {string} */ - action: "created"; - discussion: ({ - active_lock_reason: string | null; - answer_chosen_at: string | null; - /** User */ - answer_chosen_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - answer_html_url: string | null; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string | null; - category: { - /** Format: date-time */ - created_at: string; - description: string; - emoji: string; - id: number; - is_answerable: boolean; - name: string; - node_id?: string; - repository_id: number; - slug: string; - updated_at: string; - }; - comments: number; - /** Format: date-time */ - created_at: string; - html_url: string; - id: number; - locked: boolean; - node_id: string; - number: number; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** @enum {string} */ - state: "open" | "locked" | "converting" | "transferring"; - timeline_url?: string; - title: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: Record | null; - answer_chosen_at: Record | null; - answer_chosen_by: Record | null; - answer_html_url: string | null; - author_association?: string; - body?: string | null; - category?: { - created_at?: string; - description?: string; - emoji?: string; - id?: number; - is_answerable?: boolean; - name?: string; - node_id?: string; - repository_id?: number; - slug?: string; - updated_at?: string; - }; - comments?: number; - created_at?: string; - html_url?: string; - id?: number; - /** @enum {boolean} */ - locked: false; - node_id?: string; - number?: number; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "open" | "converting" | "transferring"; - timeline_url?: string; - title?: string; - updated_at?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion deleted event */ - "webhook-discussion-deleted": { - /** @enum {string} */ - action: "deleted"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion edited event */ - "webhook-discussion-edited": { - /** @enum {string} */ - action: "edited"; - changes?: { - body?: { - from: string; - }; - title?: { - from: string; - }; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion labeled event */ - "webhook-discussion-labeled": { - /** @enum {string} */ - action: "labeled"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion locked event */ - "webhook-discussion-locked": { - /** @enum {string} */ - action: "locked"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion pinned event */ - "webhook-discussion-pinned": { - /** @enum {string} */ - action: "pinned"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion reopened event */ - "webhook-discussion-reopened": { - /** @enum {string} */ - action: "reopened"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion transferred event */ - "webhook-discussion-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - new_discussion: components["schemas"]["discussion"]; - new_repository: components["schemas"]["repository-webhooks"]; - }; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unanswered event */ - "webhook-discussion-unanswered": { - /** @enum {string} */ - action: "unanswered"; - discussion: components["schemas"]["discussion"]; - old_answer: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - body: string; - child_comment_count: number; - /** Format: date-time */ - created_at: string; - discussion_id: number; - html_url: string; - id: number; - node_id: string; - parent_id: Record | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - repository_url: string; - /** Format: date-time */ - updated_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unlabeled event */ - "webhook-discussion-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unlocked event */ - "webhook-discussion-unlocked": { - /** @enum {string} */ - action: "unlocked"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** discussion unpinned event */ - "webhook-discussion-unpinned": { - /** @enum {string} */ - action: "unpinned"; - discussion: components["schemas"]["discussion"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** - * fork event - * @description A user forks a repository. - */ - "webhook-fork": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. */ - forkee: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) & ({ - allow_forking?: boolean; - archive_url?: string; - archived?: boolean; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - clone_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - created_at?: string; - default_branch?: string; - deployments_url?: string; - description?: string | null; - disabled?: boolean; - downloads_url?: string; - events_url?: string; - /** @enum {boolean} */ - fork?: true; - forks?: number; - forks_count?: number; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - has_downloads?: boolean; - has_issues?: boolean; - has_pages?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - homepage?: string | null; - hooks_url?: string; - html_url?: string; - id?: number; - is_template?: boolean; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - language?: Record | null; - languages_url?: string; - license?: Record | null; - merges_url?: string; - milestones_url?: string; - mirror_url?: Record | null; - name?: string; - node_id?: string; - notifications_url?: string; - open_issues?: number; - open_issues_count?: number; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - public?: boolean; - pulls_url?: string; - pushed_at?: string; - releases_url?: string; - size?: number; - ssh_url?: string; - stargazers_count?: number; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - svn_url?: string; - tags_url?: string; - teams_url?: string; - topics?: (Record | null)[]; - trees_url?: string; - updated_at?: string; - url?: string; - visibility?: string; - watchers?: number; - watchers_count?: number; - }); - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** github_app_authorization revoked event */ - "webhook-github-app-authorization-revoked": { - /** @enum {string} */ - action: "revoked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** gollum event */ - "webhook-gollum": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description The pages that were updated. */ - pages: ({ - /** - * @description The action that was performed on the page. Can be `created` or `edited`. - * @enum {string} - */ - action: "created" | "edited"; - /** - * Format: uri - * @description Points to the HTML wiki page. - */ - html_url: string; - /** @description The name of the page. */ - page_name: string; - /** @description The latest commit SHA of the page. */ - sha: string; - summary: string | null; - /** @description The current page title. */ - title: string; - })[]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation created event */ - "webhook-installation-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - /** User */ - requester?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation deleted event */ - "webhook-installation-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: Record | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation new_permissions_accepted event */ - "webhook-installation-new-permissions-accepted": { - /** @enum {string} */ - action: "new_permissions_accepted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: Record | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation_repositories added event */ - "webhook-installation-repositories-added": { - /** @enum {string} */ - action: "added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects, which were added to the installation. */ - repositories_added: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - /** @description An array of repository objects, which were removed from the installation. */ - repositories_removed: { - full_name?: string; - /** @description Unique identifier of the repository */ - id?: number; - /** @description The name of the repository. */ - name?: string; - node_id?: string; - /** @description Whether the repository is private or public. */ - private?: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** User */ - requester: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation_repositories removed event */ - "webhook-installation-repositories-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects, which were added to the installation. */ - repositories_added: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - /** @description An array of repository objects, which were removed from the installation. */ - repositories_removed: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description Describe whether all repositories have been selected or there's a selection involved - * @enum {string} - */ - repository_selection: "all" | "selected"; - /** User */ - requester: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** installation suspend event */ - "webhook-installation-suspend": { - /** @enum {string} */ - action: "suspend"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: Record | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-installation-target-renamed": { - account: { - archived_at?: string | null; - avatar_url: string; - created_at?: string; - description?: Record | null; - events_url?: string; - followers?: number; - followers_url?: string; - following?: number; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - has_organization_projects?: boolean; - has_repository_projects?: boolean; - hooks_url?: string; - html_url: string; - id: number; - is_verified?: boolean; - issues_url?: string; - login?: string; - members_url?: string; - name?: string; - node_id: string; - organizations_url?: string; - public_gists?: number; - public_members_url?: string; - public_repos?: number; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - slug?: string; - starred_url?: string; - subscriptions_url?: string; - type?: string; - updated_at?: string; - url?: string; - website_url?: Record | null; - }; - /** @enum {string} */ - action: "renamed"; - changes: { - login?: { - from: string; - }; - slug?: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - target_type: string; - }; - /** installation unsuspend event */ - "webhook-installation-unsuspend": { - /** @enum {string} */ - action: "unsuspend"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description An array of repository objects that the installation can access. */ - repositories?: { - full_name: string; - /** @description Unique identifier of the repository */ - id: number; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** @description Whether the repository is private or public. */ - private: boolean; - }[]; - repository?: components["schemas"]["repository-webhooks"]; - requester?: Record | null; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issue_comment created event */ - "webhook-issue-comment-created": { - /** @enum {string} */ - action: "created"; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. - */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issue_comment deleted event */ - "webhook-issue-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. - */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issue_comment edited event */ - "webhook-issue-comment-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment. */ - changes: { - body?: { - /** @description The previous version of the body. */ - from: string; - }; - }; - /** - * issue comment - * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. - */ - comment: { - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue comment */ - body: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - /** - * Format: int64 - * @description Unique identifier of the issue comment - */ - id: number; - /** Format: uri */ - issue_url: string; - node_id: string; - performed_via_github_app: components["schemas"]["nullable-integration"]; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - labels_url?: string; - locked: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues assigned event */ - "webhook-issues-assigned": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "assigned"; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues closed event */ - "webhook-issues-closed": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "closed" | "open"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues deleted event */ - "webhook-issues-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues demilestoned event */ - "webhook-issues-demilestoned": { - /** @enum {string} */ - action: "demilestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone?: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues edited event */ - "webhook-issues-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the issue. */ - changes: { - body?: { - /** @description The previous version of the body. */ - from: string; - }; - title?: { - /** @description The previous version of the title. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues labeled event */ - "webhook-issues-labeled": { - /** @enum {string} */ - action: "labeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues locked event */ - "webhook-issues-locked": { - /** @enum {string} */ - action: "locked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "security_and_analysis")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - /** @enum {boolean} */ - locked: true; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues milestoned event */ - "webhook-issues-milestoned": { - /** @enum {string} */ - action: "milestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues opened event */ - "webhook-issues-opened": { - /** @enum {string} */ - action: "opened"; - changes?: { - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - old_issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }) | null; - /** - * Repository - * @description A git repository - */ - old_repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues pinned event */ - "webhook-issues-pinned": { - /** @enum {string} */ - action: "pinned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues reopened event */ - "webhook-issues-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason?: string | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - locked?: boolean; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - /** @enum {string} */ - state: "open" | "closed"; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues transferred event */ - "webhook-issues-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - new_issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** - * Repository - * @description A git repository - */ - new_repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unassigned event */ - "webhook-issues-unassigned": { - /** - * @description The action that was performed. - * @enum {string} - */ - action: "unassigned"; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unlabeled event */ - "webhook-issues-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unlocked event */ - "webhook-issues-unlocked": { - /** @enum {string} */ - action: "unlocked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - issue: ({ - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }) & ({ - active_lock_reason: Record | null; - assignee?: Record | null; - assignees?: (Record | null)[]; - author_association?: string; - body?: string | null; - closed_at?: string | null; - comments?: number; - comments_url?: string; - created_at?: string; - events_url?: string; - html_url?: string; - id?: number; - labels?: (Record | null)[]; - labels_url?: string; - /** @enum {boolean} */ - locked: false; - milestone?: Record | null; - node_id?: string; - number?: number; - performed_via_github_app?: Record | null; - reactions?: { - "+1"?: number; - "-1"?: number; - confused?: number; - eyes?: number; - heart?: number; - hooray?: number; - laugh?: number; - rocket?: number; - total_count?: number; - url?: string; - }; - repository_url?: string; - state?: string; - timeline_url?: string; - title?: string; - updated_at?: string; - url?: string; - user?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** issues unpinned event */ - "webhook-issues-unpinned": { - /** @enum {string} */ - action: "unpinned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Issue - * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. - */ - issue: { - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description Contents of the issue */ - body: string | null; - /** Format: date-time */ - closed_at: string | null; - comments: number; - /** Format: uri */ - comments_url: string; - /** Format: date-time */ - created_at: string; - draft?: boolean; - /** Format: uri */ - events_url: string; - /** Format: uri */ - html_url: string; - /** Format: int64 */ - id: number; - labels?: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - /** Format: uri-template */ - labels_url: string; - locked?: boolean; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** - * App - * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. - */ - performed_via_github_app?: ({ - /** Format: date-time */ - created_at: string | null; - description: string | null; - /** @description The list of events for the GitHub app */ - events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; - /** Format: uri */ - external_url: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the GitHub app */ - id: number | null; - /** @description The name of the GitHub app */ - name: string; - node_id: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The set of permissions for the GitHub app */ - permissions?: { - /** @enum {string} */ - actions?: "read" | "write"; - /** @enum {string} */ - administration?: "read" | "write"; - /** @enum {string} */ - checks?: "read" | "write"; - /** @enum {string} */ - content_references?: "read" | "write"; - /** @enum {string} */ - contents?: "read" | "write"; - /** @enum {string} */ - deployments?: "read" | "write"; - /** @enum {string} */ - discussions?: "read" | "write"; - /** @enum {string} */ - emails?: "read" | "write"; - /** @enum {string} */ - environments?: "read" | "write"; - /** @enum {string} */ - issues?: "read" | "write"; - /** @enum {string} */ - keys?: "read" | "write"; - /** @enum {string} */ - members?: "read" | "write"; - /** @enum {string} */ - metadata?: "read" | "write"; - /** @enum {string} */ - organization_administration?: "read" | "write"; - /** @enum {string} */ - organization_hooks?: "read" | "write"; - /** @enum {string} */ - organization_packages?: "read" | "write"; - /** @enum {string} */ - organization_plan?: "read" | "write"; - /** @enum {string} */ - organization_projects?: "read" | "write"; - /** @enum {string} */ - organization_secrets?: "read" | "write"; - /** @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @enum {string} */ - packages?: "read" | "write"; - /** @enum {string} */ - pages?: "read" | "write"; - /** @enum {string} */ - pull_requests?: "read" | "write"; - /** @enum {string} */ - repository_hooks?: "read" | "write"; - /** @enum {string} */ - repository_projects?: "read" | "write"; - /** @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @enum {string} */ - secrets?: "read" | "write"; - /** @enum {string} */ - security_events?: "read" | "write"; - /** @enum {string} */ - security_scanning_alert?: "read" | "write"; - /** @enum {string} */ - single_file?: "read" | "write"; - /** @enum {string} */ - statuses?: "read" | "write"; - /** @enum {string} */ - team_discussions?: "read" | "write"; - /** @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @enum {string} */ - workflows?: "read" | "write"; - }; - /** @description The slug name of the GitHub app */ - slug?: string; - /** Format: date-time */ - updated_at: string | null; - }) | null; - pull_request?: { - /** Format: uri */ - diff_url?: string; - /** Format: uri */ - html_url?: string; - /** Format: date-time */ - merged_at?: string | null; - /** Format: uri */ - patch_url?: string; - /** Format: uri */ - url?: string; - }; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - repository_url: string; - /** - * @description State of the issue; either 'open' or 'closed' - * @enum {string} - */ - state?: "open" | "closed"; - state_reason?: string | null; - /** Format: uri */ - timeline_url?: string; - /** @description Title of the issue */ - title: string; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the issue - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** label created event */ - "webhook-label-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** label deleted event */ - "webhook-label-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** label edited event */ - "webhook-label-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the label if the action was `edited`. */ - changes?: { - color?: { - /** @description The previous version of the color if the action was `edited`. */ - from: string; - }; - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase cancelled event */ - "webhook-marketplace-purchase-cancelled": { - /** @enum {string} */ - action: "cancelled"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: ({ - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }) & ({ - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: Record | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase changed event */ - "webhook-marketplace-purchase-changed": { - /** @enum {string} */ - action: "changed"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: ({ - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }) & ({ - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean | null; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase pending_change event */ - "webhook-marketplace-purchase-pending-change": { - /** @enum {string} */ - action: "pending_change"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: ({ - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }) & ({ - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase pending_change_cancelled event */ - "webhook-marketplace-purchase-pending-change-cancelled": { - /** @enum {string} */ - action: "pending_change_cancelled"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: ({ - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: Record | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }) & { - next_billing_date: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: Record | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** marketplace_purchase purchased event */ - "webhook-marketplace-purchase-purchased": { - /** @enum {string} */ - action: "purchased"; - effective_date: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - marketplace_purchase: ({ - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: string | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }) & ({ - account?: { - id?: number; - login?: string; - node_id?: string; - organization_billing_email?: string | null; - type?: string; - }; - billing_cycle?: string; - free_trial_ends_on?: string | null; - next_billing_date: string | null; - on_free_trial?: boolean; - plan?: { - bullets?: (string | null)[]; - description?: string; - has_free_trial?: boolean; - id?: number; - monthly_price_in_cents?: number; - name?: string; - /** @enum {string} */ - price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name?: string | null; - yearly_price_in_cents?: number; - }; - unit_count?: number; - }); - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Marketplace Purchase */ - previous_marketplace_purchase?: { - account: { - id: number; - login: string; - node_id: string; - organization_billing_email: string | null; - type: string; - }; - billing_cycle: string; - free_trial_ends_on: Record | null; - next_billing_date?: string | null; - on_free_trial: boolean; - plan: { - bullets: string[]; - description: string; - has_free_trial: boolean; - id: number; - monthly_price_in_cents: number; - name: string; - /** @enum {string} */ - price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; - unit_name: string | null; - yearly_price_in_cents: number; - }; - unit_count: number; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** member added event */ - "webhook-member-added": { - /** @enum {string} */ - action: "added"; - changes?: { - permission?: { - /** @enum {string} */ - to: "write" | "admin" | "read"; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** member edited event */ - "webhook-member-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the collaborator permissions */ - changes: { - old_permission?: { - /** @description The previous permissions of the collaborator if the action was edited. */ - from: string; - }; - permission?: { - from?: string | null; - to?: string | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** member removed event */ - "webhook-member-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** membership added event */ - "webhook-membership-added": { - /** @enum {string} */ - action: "added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description The scope of the membership. Currently, can only be `team`. - * @enum {string} - */ - scope: "team"; - /** User */ - sender: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** @enum {string} */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** membership removed event */ - "webhook-membership-removed": { - /** @enum {string} */ - action: "removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** User */ - member: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** - * @description The scope of the membership. Currently, can only be `team`. - * @enum {string} - */ - scope: "team" | "organization"; - /** User */ - sender: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** @enum {string} */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - "webhook-merge-group-checks-requested": { - /** @enum {string} */ - action: "checks_requested"; - installation?: components["schemas"]["simple-installation"]; - merge_group: components["schemas"]["merge-group"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-merge-group-destroyed": { - /** @enum {string} */ - action: "destroyed"; - /** - * @description Explains why the merge group is being destroyed. The group could have been merged, removed from the queue (dequeued), or invalidated by an earlier queue entry being dequeued (invalidated). - * @enum {string} - */ - reason?: "merged" | "invalidated" | "dequeued"; - installation?: components["schemas"]["simple-installation"]; - merge_group: components["schemas"]["merge-group"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** meta deleted event */ - "webhook-meta-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The modified webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ - hook: { - active: boolean; - config: { - /** @enum {string} */ - content_type: "json" | "form"; - insecure_ssl: string; - secret?: string; - /** Format: uri */ - url: string; - }; - created_at: string; - events: ("*" | "branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "create" | "delete" | "deployment" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "meta" | "milestone" | "organization" | "org_block" | "package" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "pull_request_review_thread" | "push" | "registry_package" | "release" | "repository" | "repository_import" | "repository_vulnerability_alert" | "secret_scanning_alert" | "secret_scanning_alert_location" | "security_and_analysis" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_job" | "workflow_run" | "repository_dispatch" | "projects_v2_item")[]; - id: number; - name: string; - type: string; - updated_at: string; - }; - /** @description The id of the modified webhook. */ - hook_id: number; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone closed event */ - "webhook-milestone-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone created event */ - "webhook-milestone-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone deleted event */ - "webhook-milestone-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone edited event */ - "webhook-milestone-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the milestone if the action was `edited`. */ - changes: { - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - due_on?: { - /** @description The previous version of the due date if the action was `edited`. */ - from: string; - }; - title?: { - /** @description The previous version of the title if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** milestone opened event */ - "webhook-milestone-opened": { - /** @enum {string} */ - action: "opened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: { - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** org_block blocked event */ - "webhook-org-block-blocked": { - /** @enum {string} */ - action: "blocked"; - /** User */ - blocked_user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** org_block unblocked event */ - "webhook-org-block-unblocked": { - /** @enum {string} */ - action: "unblocked"; - /** User */ - blocked_user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization deleted event */ - "webhook-organization-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership?: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization member_added event */ - "webhook-organization-member-added": { - /** @enum {string} */ - action: "member_added"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization member_invited event */ - "webhook-organization-member-invited": { - /** @enum {string} */ - action: "member_invited"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The invitation for the user or email if the action is `member_invited`. */ - invitation: { - /** Format: date-time */ - created_at: string; - email: string | null; - /** Format: date-time */ - failed_at: string | null; - failed_reason: string | null; - id: number; - /** Format: uri */ - invitation_teams_url: string; - /** User */ - inviter: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - login: string | null; - node_id: string; - role: string; - team_count: number; - invitation_source?: string; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** User */ - user?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** organization member_removed event */ - "webhook-organization-member-removed": { - /** @enum {string} */ - action: "member_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** organization renamed event */ - "webhook-organization-renamed": { - /** @enum {string} */ - action: "renamed"; - changes?: { - login?: { - from?: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** - * Membership - * @description The membership between the user and the organization. Not present when the action is `member_invited`. - */ - membership?: { - /** Format: uri */ - organization_url: string; - role: string; - state: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - organization: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Ruby Gems metadata */ - "webhook-rubygems-metadata": { - name?: string; - description?: string; - readme?: string; - homepage?: string; - version_info?: { - version?: string; - }; - platform?: string; - metadata?: { - [key: string]: string; - }; - repo?: string; - dependencies?: { - [key: string]: string; - }[]; - commit_oid?: string; - }; - /** package published event */ - "webhook-package-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description Information about the package. */ - package: { - created_at: string | null; - description: string | null; - ecosystem: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - namespace: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - package_type: string; - package_version: ({ - /** User */ - author?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body?: string | Record; - body_html?: string; - container_metadata?: ({ - labels?: Record | null; - manifest?: Record | null; - tag?: { - digest?: string; - name?: string; - }; - }) | null; - created_at?: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - /** Format: uri */ - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - npm_metadata?: ({ - name?: string; - version?: string; - npm_user?: string; - author?: Record | null; - bugs?: Record | null; - dependencies?: Record; - dev_dependencies?: Record; - peer_dependencies?: Record; - optional_dependencies?: Record; - description?: string; - dist?: Record | null; - git_head?: string; - homepage?: string; - license?: string; - main?: string; - repository?: Record | null; - scripts?: Record; - id?: string; - node_version?: string; - npm_version?: string; - has_shrinkwrap?: boolean; - maintainers?: Record[]; - contributors?: Record[]; - engines?: Record; - keywords?: string[]; - files?: string[]; - bin?: Record; - man?: Record; - directories?: Record | null; - os?: string[]; - cpu?: string[]; - readme?: string; - installation_command?: string; - release_id?: number; - commit_oid?: string; - published_via_actions?: boolean; - deleted_by_id?: number; - }) | null; - nuget_metadata?: (({ - id?: number | string; - name?: string; - value?: OneOf<[boolean, string, number, { - url?: string; - branch?: string; - commit?: string; - type?: string; - }]>; - })[]) | null; - package_files: ({ - content_type: string; - created_at: string; - /** Format: uri */ - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string | null; - size: number; - state: string | null; - updated_at: string; - })[]; - package_url?: string; - prerelease?: boolean; - release?: { - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - created_at: string; - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - /** Format: uri */ - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - source_url?: string; - summary: string; - tag_name?: string; - target_commitish?: string; - target_oid?: string; - updated_at?: string; - version: string; - }) | null; - registry: { - /** Format: uri */ - about_url: string; - name: string; - type: string; - /** Format: uri */ - url: string; - vendor: string; - } | null; - updated_at: string | null; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** package updated event */ - "webhook-package-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** @description Information about the package. */ - package: { - created_at: string; - description: string | null; - ecosystem: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - namespace: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - package_type: string; - package_version: { - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string; - body_html: string; - created_at: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - /** Format: uri */ - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - package_files: ({ - content_type: string; - created_at: string; - /** Format: uri */ - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string; - size: number; - state: string; - updated_at: string; - })[]; - package_url?: string; - prerelease?: boolean; - release?: { - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - created_at: string; - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - /** Format: uri */ - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - /** Format: uri */ - source_url?: string; - summary: string; - tag_name?: string; - target_commitish: string; - target_oid: string; - updated_at: string; - version: string; - }; - registry: { - /** Format: uri */ - about_url: string; - name: string; - type: string; - /** Format: uri */ - url: string; - vendor: string; - } | null; - updated_at: string; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** page_build event */ - "webhook-page-build": { - /** @description The [List GitHub Pages builds](https://docs.github.com/rest/pages/pages#list-github-pages-builds) itself. */ - build: { - commit: string | null; - created_at: string; - duration: number; - error: { - message: string | null; - }; - /** User */ - pusher: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - status: string; - updated_at: string; - /** Format: uri */ - url: string; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - id: number; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** personal_access_token_request approved event */ - "webhook-personal-access-token-request-approved": { - /** @enum {string} */ - action: "approved"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request cancelled event */ - "webhook-personal-access-token-request-cancelled": { - /** @enum {string} */ - action: "cancelled"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request created event */ - "webhook-personal-access-token-request-created": { - /** @enum {string} */ - action: "created"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - /** personal_access_token_request denied event */ - "webhook-personal-access-token-request-denied": { - /** @enum {string} */ - action: "denied"; - personal_access_token_request: components["schemas"]["personal-access-token-request"]; - organization: components["schemas"]["organization-simple-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - installation: components["schemas"]["simple-installation"]; - }; - "webhook-ping": { - /** - * Webhook - * @description The webhook that is being pinged - */ - hook?: { - /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ - active: boolean; - /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ - app_id?: number; - config: { - content_type?: components["schemas"]["webhook-config-content-type"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - secret?: components["schemas"]["webhook-config-secret"]; - url?: components["schemas"]["webhook-config-url"]; - }; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - deliveries_url?: string; - /** @description Determines what events the hook is triggered for. Default: ['push']. */ - events: string[]; - /** @description Unique identifier of the webhook. */ - id: number; - last_response?: components["schemas"]["hook-response"]; - /** - * @description The type of webhook. The only valid value is 'web'. - * @enum {string} - */ - name: "web"; - /** Format: uri */ - ping_url?: string; - /** Format: uri */ - test_url?: string; - type: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url?: string; - }; - /** @description The ID of the webhook that triggered the ping. */ - hook_id?: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - /** @description Random string of GitHub zen. */ - zen?: string; - }; - /** @description The webhooks ping payload encoded with URL encoding. */ - "webhook-ping-form-encoded": { - /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** project_card converted event */ - "webhook-project-card-converted": { - /** @enum {string} */ - action: "converted"; - changes: { - note: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card created event */ - "webhook-project-card-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card deleted event */ - "webhook-project-card-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number | null; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card edited event */ - "webhook-project-card-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - note: { - from: string | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Card */ - project_card: { - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_card moved event */ - "webhook-project-card-moved": { - /** @enum {string} */ - action: "moved"; - changes?: { - column_id: { - from: number; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - project_card: ({ - after_id?: number | null; - /** @description Whether or not the card is archived */ - archived: boolean; - column_id: number; - /** Format: uri */ - column_url: string; - /** Format: uri */ - content_url?: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** @description The project card's ID */ - id: number; - node_id: string; - note: string | null; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) & ({ - after_id: number | null; - archived?: boolean; - column_id?: number; - column_url?: string; - created_at?: string; - creator?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - } | null; - id?: number; - node_id?: string; - note?: string | null; - project_url?: string; - updated_at?: string; - url?: string; - }); - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project closed event */ - "webhook-project-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column created event */ - "webhook-project-column-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column deleted event */ - "webhook-project-column-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column edited event */ - "webhook-project-column-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - name?: { - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project_column moved event */ - "webhook-project-column-moved": { - /** @enum {string} */ - action: "moved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project Column */ - project_column: { - after_id?: number | null; - /** Format: uri */ - cards_url: string; - /** Format: date-time */ - created_at: string; - /** @description The unique identifier of the project column */ - id: number; - /** @description Name of the project column */ - name: string; - node_id: string; - /** Format: uri */ - project_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project created event */ - "webhook-project-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** project deleted event */ - "webhook-project-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["nullable-repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project edited event */ - "webhook-project-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the project if the action was `edited`. */ - changes?: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The changes to the project if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** project reopened event */ - "webhook-project-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Project */ - project: { - /** @description Body of the project */ - body: string | null; - /** Format: uri */ - columns_url: string; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - id: number; - /** @description Name of the project */ - name: string; - node_id: string; - number: number; - /** Format: uri */ - owner_url: string; - /** - * @description State of the project; either 'open' or 'closed' - * @enum {string} - */ - state: "open" | "closed"; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Closed Event */ - "webhook-projects-v2-project-closed": { - /** @enum {string} */ - action: "closed"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** @description A project was created */ - "webhook-projects-v2-project-created": { - /** @enum {string} */ - action: "created"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Deleted Event */ - "webhook-projects-v2-project-deleted": { - /** @enum {string} */ - action: "deleted"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Edited Event */ - "webhook-projects-v2-project-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - description?: { - from?: string | null; - to?: string | null; - }; - public?: { - from?: boolean; - to?: boolean; - }; - short_description?: { - from?: string | null; - to?: string | null; - }; - title?: { - from?: string; - to?: string; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Archived Event */ - "webhook-projects-v2-item-archived": { - /** @enum {string} */ - action: "archived"; - changes: { - archived_at?: { - /** Format: date-time */ - from?: string | null; - /** Format: date-time */ - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Converted Event */ - "webhook-projects-v2-item-converted": { - /** @enum {string} */ - action: "converted"; - changes: { - content_type?: { - from?: string | null; - to?: string; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Created Event */ - "webhook-projects-v2-item-created": { - /** @enum {string} */ - action: "created"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Deleted Event */ - "webhook-projects-v2-item-deleted": { - /** @enum {string} */ - action: "deleted"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Edited Event */ - "webhook-projects-v2-item-edited": { - /** @enum {string} */ - action: "edited"; - changes?: OneOf<[{ - field_value: { - field_node_id?: string; - field_type?: string; - }; - }, { - body: { - from?: string | null; - to?: string | null; - }; - }]>; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Reordered Event */ - "webhook-projects-v2-item-reordered": { - /** @enum {string} */ - action: "reordered"; - changes: { - previous_projects_v2_item_node_id?: { - from?: string | null; - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Item Restored Event */ - "webhook-projects-v2-item-restored": { - /** @enum {string} */ - action: "restored"; - changes: { - archived_at?: { - /** Format: date-time */ - from?: string | null; - /** Format: date-time */ - to?: string | null; - }; - }; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2_item: components["schemas"]["projects-v2-item"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Projects v2 Project Reopened Event */ - "webhook-projects-v2-project-reopened": { - /** @enum {string} */ - action: "reopened"; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - projects_v2: components["schemas"]["projects-v2"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** public event */ - "webhook-public": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request assigned event */ - "webhook-pull-request-assigned": { - /** @enum {string} */ - action: "assigned"; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request auto_merge_disabled event */ - "webhook-pull-request-auto-merge-disabled": { - /** @enum {string} */ - action: "auto_merge_disabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - reason: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request auto_merge_enabled event */ - "webhook-pull-request-auto-merge-enabled": { - /** @enum {string} */ - action: "auto_merge_enabled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - reason?: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request closed event */ - "webhook-pull-request-closed": { - /** @enum {string} */ - action: "closed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request converted_to_draft event */ - "webhook-pull-request-converted-to-draft": { - /** @enum {string} */ - action: "converted_to_draft"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request demilestoned event */ - "webhook-pull-request-demilestoned": { - /** @enum {string} */ - action: "demilestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - milestone?: components["schemas"]["milestone"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request dequeued event */ - "webhook-pull-request-dequeued": { - /** @enum {string} */ - action: "dequeued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - reason: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request edited event */ - "webhook-pull-request-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment if the action was `edited`. */ - changes: { - base?: { - ref: { - from: string; - }; - sha: { - from: string; - }; - }; - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - title?: { - /** @description The previous version of the title if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request enqueued event */ - "webhook-pull-request-enqueued": { - /** @enum {string} */ - action: "enqueued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request labeled event */ - "webhook-pull-request-labeled": { - /** @enum {string} */ - action: "labeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request locked event */ - "webhook-pull-request-locked": { - /** @enum {string} */ - action: "locked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request milestoned event */ - "webhook-pull-request-milestoned": { - /** @enum {string} */ - action: "milestoned"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - milestone?: components["schemas"]["milestone"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; + delete: operations["teams/remove-project-in-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team repositories + * @description Lists a team's repositories visible to the authenticated user. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. + */ + get: operations["teams/list-repos-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a repository + * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. + * + * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + get: operations["teams/check-permissions-for-repo-in-org"]; + /** + * Add or update team repository permissions + * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + * + * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". + */ + put: operations["teams/add-or-update-repo-permissions-in-org"]; + post: never; + /** + * Remove a repository from a team + * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. + */ + delete: operations["teams/remove-repo-in-org"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/teams/{team_slug}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List child teams + * @description Lists the child teams of the team specified by `{team_slug}`. + * + * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. + */ + get: operations["teams/list-child-in-org"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/orgs/{org}/{security_product}/{enablement}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Enable or disable a security feature for an organization + * @description Enables or disables the specified security feature for all eligible repositories in an organization. + * + * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. + * A token with the 'write:org' scope is also required. + * + * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. + * + * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/columns/cards/{card_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project card + * @description Gets information about a project card. + */ + get: operations["projects/get-card"]; + put: never; + post: never; + /** + * Delete a project card + * @description Deletes a project card + */ + delete: operations["projects/delete-card"]; + options: never; + head: never; + /** Update an existing project card */ + patch: operations["projects/update-card"]; + trace: never; + }; + "/projects/columns/cards/{card_id}/moves": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Move a project card */ + post: operations["projects/move-card"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/columns/{column_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project column + * @description Gets information about a project column. + */ + get: operations["projects/get-column"]; + put: never; + post: never; + /** + * Delete a project column + * @description Deletes a project column. + */ + delete: operations["projects/delete-column"]; + options: never; + head: never; + /** Update an existing project column */ + patch: operations["projects/update-column"]; + trace: never; + }; + "/projects/columns/{column_id}/cards": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project cards + * @description Lists the project cards in a project. + */ + get: operations["projects/list-cards"]; + put: never; + /** Create a project card */ + post: operations["projects/create-card"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/columns/{column_id}/moves": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Move a project column */ + post: operations["projects/move-column"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a project + * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: operations["projects/get"]; + put: never; + post: never; + /** + * Delete a project + * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. + */ + delete: operations["projects/delete"]; + options: never; + head: never; + /** + * Update a project + * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + patch: operations["projects/update"]; + trace: never; + }; + "/projects/{project_id}/collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project collaborators + * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. + */ + get: operations["projects/list-collaborators"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/{project_id}/collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add project collaborator + * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. + */ + put: operations["projects/add-collaborator"]; + post: never; + /** + * Remove user as a collaborator + * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. + */ + delete: operations["projects/remove-collaborator"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/{project_id}/collaborators/{username}/permission": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get project permission for a user + * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. + */ + get: operations["projects/get-permission-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/projects/{project_id}/columns": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List project columns + * @description Lists the project columns in a project. + */ + get: operations["projects/list-columns"]; + put: never; + /** + * Create a project column + * @description Creates a new project column. + */ + post: operations["projects/create-column"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/rate_limit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get rate limit status for the authenticated user + * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: + * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. + * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search)." + * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." + * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." + * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." + * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." + * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." + * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." + * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ + get: operations["rate-limit/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository + * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. + * + * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + */ + get: operations["repos/get"]; + put: never; + post: never; + /** + * Delete a repository + * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. + * + * If an organization owner has configured the organization to prevent members from deleting organization-owned + * repositories, you will get a `403 Forbidden` response. + */ + delete: operations["repos/delete"]; + options: never; + head: never; + /** + * Update a repository + * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. + */ + patch: operations["repos/update"]; + trace: never; + }; + "/repos/{owner}/{repo}/actions/artifacts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List artifacts for a repository + * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/list-artifacts-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an artifact + * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-artifact"]; + put: never; + post: never; + /** + * Delete an artifact + * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-artifact"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download an artifact + * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in + * the response header to find the URL for the download. The `:archive_format` must be `zip`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-artifact"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/cache/usage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions cache usage for a repository + * @description Gets GitHub Actions cache usage for a repository. + * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-usage"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/caches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GitHub Actions caches for a repository + * @description Lists the GitHub Actions caches for a repository. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-actions-cache-list"]; + put: never; + post: never; + /** + * Delete GitHub Actions caches for a repository (using a cache key) + * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-key"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/caches/{cache_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a GitHub Actions cache for a repository (using a cache ID) + * @description Deletes a GitHub Actions cache for a repository, using a cache ID. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-actions-cache-by-id"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a job for a workflow run + * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-job-for-workflow-run"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download job logs for a workflow run + * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look + * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can + * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must + * have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-job-logs-for-workflow-run"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Re-run a job from a workflow run + * @description Re-run a job and its dependent jobs in a workflow run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/re-run-job-for-workflow-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/oidc/customization/sub": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the customization template for an OIDC subject claim for a repository + * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. + */ + get: operations["actions/get-custom-oidc-sub-claim-for-repo"]; + /** + * Set the customization template for an OIDC subject claim for a repository + * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. + * You must authenticate using an access token with the `repo` scope to use this + * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/organization-secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository organization secrets + * @description Lists all organization secrets shared with a repository without revealing their encrypted + * values. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/list-repo-organization-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/organization-variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository organization variables + * @description Lists all organiation variables shared with a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/list-repo-organization-variables"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/permissions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions permissions for a repository + * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + get: operations["actions/get-github-actions-permissions-repository"]; + /** + * Set GitHub Actions permissions for a repository + * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + put: operations["actions/set-github-actions-permissions-repository"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/permissions/access": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the level of access for workflows outside of the repository + * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + get: operations["actions/get-workflow-access-to-repository"]; + /** + * Set the level of access for workflows outside of the repository + * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. + * This endpoint only applies to private repositories. + * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the + * repository `administration` permission to use this endpoint. + */ + put: operations["actions/set-workflow-access-to-repository"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/permissions/selected-actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get allowed actions and reusable workflows for a repository + * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + get: operations["actions/get-allowed-actions-repository"]; + /** + * Set allowed actions and reusable workflows for a repository + * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ + put: operations["actions/set-allowed-actions-repository"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/permissions/workflow": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default workflow permissions for a repository + * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, + * as well as if GitHub Actions can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + get: operations["actions/get-github-actions-default-workflow-permissions-repository"]; + /** + * Set default workflow permissions for a repository + * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions + * can submit approving pull request reviews. + * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. + */ + put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List self-hosted runners for a repository + * @description Lists all self-hosted runners configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-self-hosted-runners-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/downloads": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List runner applications for a repository + * @description Lists binaries for the runner application that you can download and run. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-runner-applications-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create configuration for a just-in-time runner for a repository + * @description Generates a configuration that can be passed to the runner application at startup. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + post: operations["actions/generate-runner-jitconfig-for-repo"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/registration-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a registration token for a repository + * @description Returns a token that you can pass to the `config` script. The token + * expires after one hour. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + * + * Example using registration token: + * + * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided + * by this endpoint. + * + * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN``` + */ + post: operations["actions/create-registration-token-for-repo"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/remove-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a remove token for a repository + * @description Returns a token that you can pass to remove a self-hosted runner from + * a repository. The token expires after one hour. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + * + * Example using remove token: + * + * To remove your self-hosted runner from a repository, replace TOKEN with + * the remove token provided by this endpoint. + * + * ```config.sh remove --token TOKEN``` + */ + post: operations["actions/create-remove-token-for-repo"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a self-hosted runner for a repository + * @description Gets a specific self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/get-self-hosted-runner-for-repo"]; + put: never; + post: never; + /** + * Delete a self-hosted runner from a repository + * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/delete-self-hosted-runner-from-repo"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for a self-hosted runner for a repository + * @description Lists all labels for a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + get: operations["actions/list-labels-for-self-hosted-runner-for-repo"]; + /** + * Set custom labels for a self-hosted runner for a repository + * @description Remove all previous custom labels and set the new custom labels for a specific + * self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"]; + /** + * Add custom labels to a self-hosted runner for a repository + * @description Add custom labels to a self-hosted runner configured in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + post: operations["actions/add-custom-labels-to-self-hosted-runner-for-repo"]; + /** + * Remove all custom labels from a self-hosted runner for a repository + * @description Remove all custom labels from a self-hosted runner configured in a + * repository. Returns the remaining read-only labels from the runner. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Remove a custom label from a self-hosted runner for a repository + * @description Remove a custom label from a self-hosted runner configured + * in a repository. Returns the remaining labels from the runner. + * + * This endpoint returns a `404 Not Found` status if the custom label is not + * present on the runner. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. + * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. + */ + delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List workflow runs for a repository + * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/list-workflow-runs-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a workflow run + * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-run"]; + put: never; + post: never; + /** + * Delete a workflow run + * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is + * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use + * this endpoint. + */ + delete: operations["actions/delete-workflow-run"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the review history for a workflow run + * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-reviews-for-run"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Approve a workflow run for a fork pull request + * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/approve-workflow-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List workflow run artifacts + * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/list-workflow-run-artifacts"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a workflow run attempt + * @description Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. + */ + get: operations["actions/get-workflow-run-attempt"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List jobs for a workflow run attempt + * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + */ + get: operations["actions/list-jobs-for-workflow-run-attempt"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download workflow run attempt logs + * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after + * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to + * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-workflow-run-attempt-logs"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Cancel a workflow run + * @description Cancels a workflow run using its `id`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/cancel-workflow-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Review custom deployment protection rules for a workflow run + * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * **Note:** GitHub Apps can only review their own custom deployment protection rules. + * To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). + * + * If the repository is private, you must use an access token with the `repo` scope. + * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. + */ + post: operations["actions/review-custom-gates-for-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Force cancel a workflow run + * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. + * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/force-cancel-workflow-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List jobs for a workflow run + * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + */ + get: operations["actions/list-jobs-for-workflow-run"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download workflow run logs + * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for + * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use + * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have + * the `actions:read` permission to use this endpoint. + */ + get: operations["actions/download-workflow-run-logs"]; + put: never; + post: never; + /** + * Delete workflow run logs + * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + delete: operations["actions/delete-workflow-run-logs"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get pending deployments for a workflow run + * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-pending-deployments-for-run"]; + put: never; + /** + * Review pending deployments for a workflow run + * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. + * + * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. + */ + post: operations["actions/review-pending-deployments-for-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Re-run a workflow + * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + post: operations["actions/re-run-workflow"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Re-run failed jobs from a workflow run + * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. + */ + post: operations["actions/re-run-workflow-failed-jobs"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workflow run usage + * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-run-usage"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted + * values. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/list-repo-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to + * encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-repo-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + put: operations["actions/create-or-update-repo-secret"]; + post: never; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + delete: operations["actions/delete-repo-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository variables + * @description Lists all repository variables. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/list-repo-variables"]; + put: never; + /** + * Create a repository variable + * @description Creates a repository variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + post: operations["actions/create-repo-variable"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/variables/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository variable + * @description Gets a specific variable in a repository. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/get-repo-variable"]; + put: never; + post: never; + /** + * Delete a repository variable + * @description Deletes a repository variable using the variable name. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + delete: operations["actions/delete-repo-variable"]; + options: never; + head: never; + /** + * Update a repository variable + * @description Updates a repository variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + patch: operations["actions/update-repo-variable"]; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository workflows + * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/list-repo-workflows"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a workflow + * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Disable a workflow + * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/disable-workflow"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a workflow dispatch event + * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." + */ + post: operations["actions/create-workflow-dispatch"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Enable a workflow + * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. + */ + put: operations["actions/enable-workflow"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List workflow runs for a workflow + * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ + get: operations["actions/list-workflow-runs"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get workflow usage + * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["actions/get-workflow-usage"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/activity": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository activities + * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. + * + * For more information about viewing repository activity, + * see "[Viewing repository activity](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/viewing-repository-activity)." + */ + get: operations["repos/list-activities"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/assignees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List assignees + * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. + */ + get: operations["issues/list-assignees"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/assignees/{assignee}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user can be assigned + * @description Checks if a user has permission to be assigned to an issue in this repository. + * + * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/autolinks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List all autolinks of a repository + * @description This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/list-autolinks"]; + put: never; + /** + * Create an autolink reference for a repository + * @description Users with admin access to the repository can create an autolink. + */ + post: operations["repos/create-autolink"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/autolinks/{autolink_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an autolink reference of a repository + * @description This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + get: operations["repos/get-autolink"]; + put: never; + post: never; + /** + * Delete an autolink reference from a repository + * @description This deletes a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ + delete: operations["repos/delete-autolink"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if automated security fixes are enabled for a repository + * @description Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + get: operations["repos/check-automated-security-fixes"]; + /** + * Enable automated security fixes + * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + put: operations["repos/enable-automated-security-fixes"]; + post: never; + /** + * Disable automated security fixes + * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". + */ + delete: operations["repos/disable-automated-security-fixes"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List branches */ + get: operations["repos/list-branches"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a branch */ + get: operations["repos/get-branch"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-branch-protection"]; + /** + * Update branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Protecting a branch requires admin or owner permissions to the repository. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + * + * **Note**: The list of users, apps, and teams in total is limited to 100 items. + */ + put: operations["repos/update-branch-protection"]; + post: never; + /** + * Delete branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-branch-protection"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-admin-branch-protection"]; + put: never; + /** + * Set admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + post: operations["repos/set-admin-branch-protection"]; + /** + * Delete admin branch protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + */ + delete: operations["repos/delete-admin-branch-protection"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-pull-request-review-protection"]; + put: never; + post: never; + /** + * Delete pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/delete-pull-request-review-protection"]; + options: never; + head: never; + /** + * Update pull request review protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. + * + * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. + */ + patch: operations["repos/update-pull-request-review-protection"]; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. + * + * **Note**: You must enable branch protection to require signed commits. + */ + get: operations["repos/get-commit-signature-protection"]; + put: never; + /** + * Create commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. + */ + post: operations["repos/create-commit-signature-protection"]; + /** + * Delete commit signature protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. + */ + delete: operations["repos/delete-commit-signature-protection"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get status checks protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-status-checks-protection"]; + put: never; + post: never; + /** + * Remove status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-protection"]; + options: never; + head: never; + /** + * Update status check protection + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. + */ + patch: operations["repos/update-status-check-protection"]; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["repos/get-all-status-check-contexts"]; + /** + * Set status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + put: operations["repos/set-status-check-contexts"]; + /** + * Add status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + post: operations["repos/add-status-check-contexts"]; + /** + * Remove status check contexts + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + delete: operations["repos/remove-status-check-contexts"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists who has access to this protected branch. + * + * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. + */ + get: operations["repos/get-access-restrictions"]; + put: never; + post: never; + /** + * Delete access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Disables the ability to restrict who can push to this branch. + */ + delete: operations["repos/delete-access-restrictions"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get apps with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + get: operations["repos/get-apps-with-access-to-protected-branch"]; + /** + * Set app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + put: operations["repos/set-app-access-restrictions"]; + /** + * Add app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + post: operations["repos/add-app-access-restrictions"]; + /** + * Remove app access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. + */ + delete: operations["repos/remove-app-access-restrictions"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get teams with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the teams who have push access to this branch. The list includes child teams. + */ + get: operations["repos/get-teams-with-access-to-protected-branch"]; + /** + * Set team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. + */ + put: operations["repos/set-team-access-restrictions"]; + /** + * Add team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified teams push access for this branch. You can also give push access to child teams. + */ + post: operations["repos/add-team-access-restrictions"]; + /** + * Remove team access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a team to push to this branch. You can also remove push access for child teams. + */ + delete: operations["repos/remove-team-access-restrictions"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get users with access to the protected branch + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists the people who have push access to this branch. + */ + get: operations["repos/get-users-with-access-to-protected-branch"]; + /** + * Set user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + put: operations["repos/set-user-access-restrictions"]; + /** + * Add user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Grants the specified people push access for this branch. + * + * | Type | Description | + * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + post: operations["repos/add-user-access-restrictions"]; + /** + * Remove user access restrictions + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Removes the ability of a user to push to this branch. + * + * | Type | Description | + * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | + * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | + */ + delete: operations["repos/remove-user-access-restrictions"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/branches/{branch}/rename": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Rename a branch + * @description Renames a branch in a repository. + * + * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". + * + * The permissions required to use this endpoint depends on whether you are renaming the default branch. + * + * To rename a non-default branch: + * + * * Users must have push access. + * * GitHub Apps must have the `contents:write` repository permission. + * + * To rename the default branch: + * + * * Users must have admin or owner permissions. + * * GitHub Apps must have the `administration:write` repository permission. + */ + post: operations["repos/rename-branch"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a check run + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. + * + * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. + */ + post: operations["checks/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a check run + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. + */ + get: operations["checks/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a check run + * @description Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + */ + patch: operations["checks/update"]; + trace: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check run annotations + * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. + */ + get: operations["checks/list-annotations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Rerequest a check run + * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. + * + * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". + */ + post: operations["checks/rerequest-run"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a check suite + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. + */ + post: operations["checks/create-suite"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-suites/preferences": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update repository preferences for check suites + * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. + */ + patch: operations["checks/set-suites-preferences"]; + trace: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a check suite + * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + * + * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. + */ + get: operations["checks/get-suite"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check runs in a check suite + * @description Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + */ + get: operations["checks/list-for-suite"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Rerequest a check suite + * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. + * + * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository. + */ + post: operations["checks/rerequest-suite"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List code scanning alerts for a repository + * @description Lists code scanning alerts. + * + * To use this endpoint, you must use an access token with the `security_events` scope or, for alerts from public repositories only, an access token with the `public_repo` scope. + * + * GitHub Apps must have the `security_events` read + * permission to use this endpoint. + * + * The response includes a `most_recent_instance` object. + * This provides details of the most recent instance of this alert + * for the default branch (or for the specified Git reference if you used `ref` in the request). + */ + get: operations["code-scanning/list-alerts-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning alert + * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/get-alert"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a code scanning alert + * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. + */ + patch: operations["code-scanning/update-alert"]; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List instances of a code scanning alert + * @description Lists all instances of the specified code scanning alert. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/list-alert-instances"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/analyses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List code scanning analyses for a repository + * @description Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ + get: operations["code-scanning/list-recent-analyses"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning analysis for a repository + * @description Gets a specified code scanning analysis for a repository. + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * The default JSON response contains fields that describe the analysis. + * This includes the Git reference and commit SHA to which the analysis relates, + * the datetime of the analysis, the name of the code scanning tool, + * and the number of alerts. + * + * The `rules_count` field in the default response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * If you use the Accept header `application/sarif+json`, + * the response contains the analysis data that was uploaded. + * This is formatted as + * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). + */ + get: operations["code-scanning/get-analysis"]; + put: never; + post: never; + /** + * Delete a code scanning analysis from a repository + * @description Deletes a specified code scanning analysis from a repository. For + * private repositories, you must use an access token with the `repo` scope. For public repositories, + * you must use an access token with `public_repo` scope. + * GitHub Apps must have the `security_events` write permission to use this endpoint. + * + * You can delete one analysis at a time. + * To delete a series of analyses, start with the most recent analysis and work backwards. + * Conceptually, the process is similar to the undo function in a text editor. + * + * When you list the analyses for a repository, + * one or more will be identified as deletable in the response: + * + * ``` + * "deletable": true + * ``` + * + * An analysis is deletable when it's the most recent in a set of analyses. + * Typically, a repository will have multiple sets of analyses + * for each enabled code scanning tool, + * where a set is determined by a unique combination of analysis values: + * + * * `ref` + * * `tool` + * * `category` + * + * If you attempt to delete an analysis that is not the most recent in a set, + * you'll get a 400 response with the message: + * + * ``` + * Analysis specified is not deletable. + * ``` + * + * The response from a successful `DELETE` operation provides you with + * two alternative URLs for deleting the next analysis in the set: + * `next_analysis_url` and `confirm_delete_url`. + * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis + * in a set. This is a useful option if you want to preserve at least one analysis + * for the specified tool in your repository. + * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. + * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` + * in the 200 response is `null`. + * + * As an example of the deletion process, + * let's imagine that you added a workflow that configured a particular code scanning tool + * to analyze the code in a repository. This tool has added 15 analyses: + * 10 on the default branch, and another 5 on a topic branch. + * You therefore have two separate sets of analyses for this tool. + * You've now decided that you want to remove all of the analyses for the tool. + * To do this you must make 15 separate deletion requests. + * To start, you must find an analysis that's identified as deletable. + * Each set of analyses always has one that's identified as deletable. + * Having found the deletable analysis for one of the two sets, + * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. + * Then repeat the process for the second set. + * The procedure therefore consists of a nested loop: + * + * **Outer loop**: + * * List the analyses for the repository, filtered by tool. + * * Parse this list to find a deletable analysis. If found: + * + * **Inner loop**: + * * Delete the identified analysis. + * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. + * + * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. + */ + delete: operations["code-scanning/delete-analysis"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List CodeQL databases for a repository + * @description Lists the CodeQL databases that are available in a repository. + * + * For private repositories, you must use an access token with the `security_events` scope. + * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. + * GitHub Apps must have the `contents` read permission to use this endpoint. + */ + get: operations["code-scanning/list-codeql-databases"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a CodeQL database for a repository + * @description Gets a CodeQL database for a language in a repository. + * + * By default this endpoint returns JSON metadata about the CodeQL database. To + * download the CodeQL database binary content, set the `Accept` header of the request + * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure + * your HTTP client is configured to follow redirects or use the `Location` header + * to make a second request to get the redirect URL. + * + * For private repositories, you must use an access token with the `security_events` scope. + * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. + * GitHub Apps must have the `contents` read permission to use this endpoint. + */ + get: operations["code-scanning/get-codeql-database"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/default-setup": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a code scanning default setup configuration + * @description Gets a code scanning default setup configuration. + * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` + * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. + */ + get: operations["code-scanning/get-default-setup"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a code scanning default setup configuration + * @description Updates a code scanning default setup configuration. + * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` + * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. + */ + patch: operations["code-scanning/update-default-setup"]; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Upload an analysis as SARIF data + * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." + * + * There are two places where you can upload code scanning results. + * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." + * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." + * + * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: + * + * ``` + * gzip -c analysis-data.sarif | base64 -w0 + * ``` + *
+ * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. + * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." + * + * + * | **SARIF data** | **Maximum values** | **Additional limits** | + * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| + * | Runs per file | 20 | | + * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | + * | Rules per run | 25,000 | | + * | Tool extensions per run | 100 | | + * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | + * | Location per result | 1,000 | Only 100 locations will be included. | + * | Tags per rule | 20 | Only 10 tags will be included. | + * + * + * The `202 Accepted` response includes an `id` value. + * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. + * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." + */ + post: operations["code-scanning/upload-sarif"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get information about a SARIF upload + * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. + */ + get: operations["code-scanning/get-sarif"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codeowners/errors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List CODEOWNERS errors + * @description List any syntax errors that are detected in the CODEOWNERS + * file. + * + * For more information about the correct CODEOWNERS syntax, + * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." + */ + get: operations["repos/codeowners-errors"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces in a repository for the authenticated user + * @description Lists the codespaces associated to a specified repository and the authenticated user. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/list-in-repository-for-authenticated-user"]; + put: never; + /** + * Create a codespace in a repository + * @description Creates a codespace owned by the authenticated user in the specified repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-with-repo-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/devcontainers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List devcontainer configurations in a repository for the authenticated user + * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files + * specify launchpoint configurations for codespaces created within the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/machines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List available machine types for a repository + * @description List the machine types available for a given repository based on its configuration. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/repo-machines-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/new": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get default attributes for a codespace + * @description Gets the default attributes for codespaces created by the user with the repository. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/permissions_check": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if permissions defined by a devcontainer have been accepted by the authenticated user + * @description Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/check-permissions-for-devcontainer"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + */ + get: operations["codespaces/list-repo-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + */ + get: operations["codespaces/get-repo-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + */ + get: operations["codespaces/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` + * repository permission to use this endpoint. + */ + put: operations["codespaces/create-or-update-repo-secret"]; + post: never; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. + */ + delete: operations["codespaces/delete-repo-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/collaborators": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository collaborators + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + get: operations["repos/list-collaborators"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/collaborators/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user is a repository collaborator + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ + get: operations["repos/check-collaborator"]; + /** + * Add a repository collaborator + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." + * + * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: + * + * ``` + * Cannot assign {member} permission of {role name} + * ``` + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). + * + * **Updating an existing collaborator's permission level** + * + * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. + * + * **Rate limits** + * + * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. + */ + put: operations["repos/add-collaborator"]; + post: never; + /** + * Remove a repository collaborator + * @description Removes a collaborator from a repository. + * + * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. + * + * This endpoint also: + * - Cancels any outstanding invitations + * - Unasigns the user from any issues + * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. + * - Unstars the repository + * - Updates access permissions to packages + * + * Removing a user as a collaborator has the following effects on forks: + * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. + * - If the user had their own fork of the repository, the fork will be deleted. + * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. + * + * **Note**: A user can still have access to the repository through organization permissions like base repository permissions. + * + * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. + * + * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". + */ + delete: operations["repos/remove-collaborator"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/collaborators/{username}/permission": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository permissions for a user + * @description Checks the repository permission of a collaborator. The possible repository + * permissions are `admin`, `write`, `read`, and `none`. + * + * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the + * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the + * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The + * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. + */ + get: operations["repos/get-collaborator-permission-level"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commit comments for a repository + * @description Commit Comments use [these custom media types](https://docs.github.com/rest/overview/media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). + * + * Comments are ordered by ascending ID. + */ + get: operations["repos/list-commit-comments-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a commit comment */ + get: operations["repos/get-commit-comment"]; + put: never; + post: never; + /** Delete a commit comment */ + delete: operations["repos/delete-commit-comment"]; + options: never; + head: never; + /** Update a commit comment */ + patch: operations["repos/update-commit-comment"]; + trace: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a commit comment + * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + get: operations["reactions/list-for-commit-comment"]; + put: never; + /** + * Create reaction for a commit comment + * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. + */ + post: operations["reactions/create-for-commit-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a commit comment reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). + */ + delete: operations["reactions/delete-for-commit-comment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commits + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/list-commits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List branches for HEAD commit + * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. + */ + get: operations["repos/list-branches-for-head-commit"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commit comments + * @description Use the `:commit_sha` to specify the commit that will have its comments listed. + */ + get: operations["repos/list-comments-for-commit"]; + put: never; + /** + * Create a commit comment + * @description Create a comment for a commit using its `:commit_sha`. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["repos/create-commit-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests associated with a commit + * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. + * + * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. + */ + get: operations["repos/list-pull-requests-associated-with-commit"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a commit + * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. + * + * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. + * + * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. + * + * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/get-commit"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check runs for a Git reference + * @description Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + * + * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. + */ + get: operations["checks/list-for-ref"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/check-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List check suites for a Git reference + * @description Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. + * + * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. + */ + get: operations["checks/list-suites-for-ref"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/status": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the combined status for a specific reference + * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. + * + * + * Additionally, a combined `state` is returned. The `state` is one of: + * + * * **failure** if any of the contexts report as `error` or `failure` + * * **pending** if there are no statuses or a context is `pending` + * * **success** if the latest status for all contexts is `success` + */ + get: operations["repos/get-combined-status-for-ref"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/commits/{ref}/statuses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commit statuses for a reference + * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. + * + * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. + */ + get: operations["repos/list-commit-statuses-for-ref"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/community/profile": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get community profile metrics + * @description Returns all community profile metrics for a repository. The repository cannot be a fork. + * + * The returned metrics include an overall health score, the repository description, the presence of documentation, the + * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, + * README, and CONTRIBUTING files. + * + * The `health_percentage` score is defined as a percentage of how many of + * the recommended community health files are present. For more information, see + * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." + * + * `content_reports_enabled` is only returned for organization-owned repositories. + */ + get: operations["repos/get-community-profile-metrics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/compare/{basehead}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Compare two commits + * @description Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." + * + * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + * + * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. + * + * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. + * + * **Working with large comparisons** + * + * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: + * + * - The list of changed files is only shown on the first page of results, but it includes all changed files for the entire comparison. + * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. + * + * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["repos/compare-commits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/contents/{path}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository content + * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit + * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. + * + * Files and symlinks support [a custom media type](https://docs.github.com/rest/overview/media-types) for + * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media + * type](https://docs.github.com/rest/overview/media-types) to ensure the content is returned in a consistent + * object format. + * + * **Notes**: + * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). + * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees + * API](https://docs.github.com/rest/git/trees#get-a-tree). + * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. + * Size limits: + * If the requested file's size is: + * * 1 MB or smaller: All features of this endpoint are supported. + * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. + * * Greater than 100 MB: This endpoint is not supported. + * + * If the content is a directory: + * The response will be an array of objects, one object for each item in the directory. + * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value + * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). + * In the next major version of the API, the type will be returned as "submodule". + * + * If the content is a symlink: + * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the + * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object + * describing the symlink itself. + * + * If the content is a submodule: + * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific + * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out + * the submodule at that specific commit. + * + * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the + * github.com URLs (`html_url` and `_links["html"]`) will have null values. + */ + get: operations["repos/get-content"]; + /** + * Create or update file contents + * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. If you want to modify files in the `.github/workflows` directory, you must authenticate using an access token with the `workflow` scope. + * + * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + put: operations["repos/create-or-update-file-contents"]; + post: never; + /** + * Delete a file + * @description Deletes a file in a repository. + * + * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. + * + * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. + * + * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. + * + * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. + */ + delete: operations["repos/delete-file"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/contributors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository contributors + * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. + * + * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. + */ + get: operations["repos/list-contributors"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependabot/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List Dependabot alerts for a repository + * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + */ + get: operations["dependabot/list-alerts-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a Dependabot alert + * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. + */ + get: operations["dependabot/get-alert"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a Dependabot alert + * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. + * You can also use tokens with the `public_repo` scope for public repositories only. + * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. + * + * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." + */ + patch: operations["dependabot/update-alert"]; + trace: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository secrets + * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + */ + get: operations["dependabot/list-repo-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository public key + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + */ + get: operations["dependabot/get-repo-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository secret + * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + */ + get: operations["dependabot/get-repo-secret"]; + /** + * Create or update a repository secret + * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access + * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository + * permission to use this endpoint. + */ + put: operations["dependabot/create-or-update-repo-secret"]; + post: never; + /** + * Delete a repository secret + * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. + */ + delete: operations["dependabot/delete-repo-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a diff of the dependencies between commits + * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. + */ + get: operations["dependency-graph/diff-range"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependency-graph/sbom": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Export a software bill of materials (SBOM) for a repository. + * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. + */ + get: operations["dependency-graph/export-sbom"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dependency-graph/snapshots": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a snapshot of dependencies for a repository + * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. + */ + post: operations["dependency-graph/create-repository-snapshot"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/deployments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployments + * @description Simple filtering of deployments is available via query parameters: + */ + get: operations["repos/list-deployments"]; + put: never; + /** + * Create a deployment + * @description Deployments offer a few configurable parameters with certain defaults. + * + * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them + * before we merge a pull request. + * + * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have + * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter + * makes it easier to track which environments have requested deployments. The default environment is `production`. + * + * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If + * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, + * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will + * return a failure response. + * + * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` + * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to + * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do + * not require any contexts or create any commit statuses, the deployment will always succeed. + * + * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text + * field that will be passed on when a deployment event is dispatched. + * + * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might + * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an + * application with debugging enabled. + * + * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. + * + * Merged branch response: + * + * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating + * a deployment. This auto-merge happens when: + * * Auto-merge option is enabled in the repository + * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example + * * There are no merge conflicts + * + * If there are no new commits in the base branch, a new request to create a deployment should give a successful + * response. + * + * Merge conflict response: + * + * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't + * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. + * + * Failed commit status checks: + * + * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` + * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. + */ + post: operations["repos/create-deployment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a deployment */ + get: operations["repos/get-deployment"]; + put: never; + post: never; + /** + * Delete a deployment + * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. + * + * To set a deployment as inactive, you must: + * + * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. + * * Mark the active deployment as inactive by adding any non-successful deployment status. + * + * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." + */ + delete: operations["repos/delete-deployment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployment statuses + * @description Users with pull access can view deployment statuses for a deployment: + */ + get: operations["repos/list-deployment-statuses"]; + put: never; + /** + * Create a deployment status + * @description Users with `push` access can create deployment statuses for a given deployment. + * + * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope. + */ + post: operations["repos/create-deployment-status"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a deployment status + * @description Users with pull access can view a deployment status for a deployment: + */ + get: operations["repos/get-deployment-status"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/dispatches": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a repository dispatch event + * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." + * + * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. + * + * This endpoint requires write access to the repository by providing either: + * + * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. + * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. + * + * This input example shows how you can use the `client_payload` as a test to debug your workflow. + */ + post: operations["repos/create-dispatch-event"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environments + * @description Lists the environments for a repository. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/get-all-environments"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment + * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." + * + * Anyone with read access to the repository can use this endpoint. If the + * repository is private, you must use an access token with the `repo` scope. GitHub + * Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/get-environment"]; + /** + * Create or update an environment + * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." + * + * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." + * + * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + */ + put: operations["repos/create-or-update-environment"]; + post: never; + /** + * Delete an environment + * @description You must authenticate using an access token with the repo scope to use this endpoint. + */ + delete: operations["repos/delete-an-environment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deployment branch policies + * @description Lists the deployment branch policies for an environment. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/list-deployment-branch-policies"]; + put: never; + /** + * Create a deployment branch policy + * @description Creates a deployment branch policy for an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + */ + post: operations["repos/create-deployment-branch-policy"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a deployment branch policy + * @description Gets a deployment branch policy for an environment. + * + * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ + get: operations["repos/get-deployment-branch-policy"]; + /** + * Update a deployment branch policy + * @description Updates a deployment branch policy for an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + */ + put: operations["repos/update-deployment-branch-policy"]; + post: never; + /** + * Delete a deployment branch policy + * @description Deletes a deployment branch policy for an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. + */ + delete: operations["repos/delete-deployment-branch-policy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all deployment protection rules for an environment + * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + */ + get: operations["repos/get-all-deployment-protection-rules"]; + put: never; + /** + * Create a custom deployment protection rule on an environment + * @description Enable a custom deployment protection rule for an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. + * + * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). + */ + post: operations["repos/create-deployment-protection-rule"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List custom deployment rule integrations available for an environment + * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. + * + * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". + */ + get: operations["repos/list-custom-deployment-rule-integrations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a custom deployment protection rule + * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." + * + * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). + */ + get: operations["repos/get-custom-deployment-protection-rule"]; + put: never; + post: never; + /** + * Disable a custom protection rule for an environment + * @description Disables a custom deployment protection rule for an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". + */ + delete: operations["repos/disable-deployment-protection-rule"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository events + * @description **Note**: This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. + * + */ + get: operations["activity/list-repo-events"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/forks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List forks */ + get: operations["repos/list-forks"]; + put: never; + /** + * Create a fork + * @description Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * + * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. + */ + post: operations["repos/create-fork"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/blobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Create a blob */ + post: operations["git/create-blob"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/blobs/{file_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a blob + * @description The `content` in the response will always be Base64 encoded. + * + * _Note_: This API supports blobs up to 100 megabytes in size. + */ + get: operations["git/get-blob"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a commit + * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-commit"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/commits/{commit_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a commit object + * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). + * + * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-commit"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/matching-refs/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List matching references + * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. + * + * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. + */ + get: operations["git/list-matching-refs"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/ref/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a reference + * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. + * + * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + */ + get: operations["git/get-ref"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/refs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a reference + * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. + */ + post: operations["git/create-ref"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/refs/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** Delete a reference */ + delete: operations["git/delete-ref"]; + options: never; + head: never; + /** Update a reference */ + patch: operations["git/update-ref"]; + trace: never; + }; + "/repos/{owner}/{repo}/git/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a tag object + * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. + * + * **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + post: operations["git/create-tag"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/tags/{tag_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a tag + * @description **Signature verification object** + * + * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: + * + * | Name | Type | Description | + * | ---- | ---- | ----------- | + * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | + * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | + * | `signature` | `string` | The signature that was extracted from the commit. | + * | `payload` | `string` | The value that was signed. | + * + * These are the possible values for `reason` in the `verification` object: + * + * | Value | Description | + * | ----- | ----------- | + * | `expired_key` | The key that made the signature is expired. | + * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | + * | `gpgverify_error` | There was an error communicating with the signature verification service. | + * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | + * | `unsigned` | The object does not include a signature. | + * | `unknown_signature_type` | A non-PGP signature was found in the commit. | + * | `no_user` | No user was associated with the `committer` email address in the commit. | + * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | + * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | + * | `unknown_key` | The key that made the signature has not been registered with any user's account. | + * | `malformed_signature` | There was an error parsing the signature. | + * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | + * | `valid` | None of the above errors applied, so the signature is considered to be verified. | + */ + get: operations["git/get-tag"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/trees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a tree + * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. + * + * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." + * + * Returns an error if you try to delete a file that does not exist. + */ + post: operations["git/create-tree"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/git/trees/{tree_sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a tree + * @description Returns a single tree using the SHA1 value or ref name for that tree. + * + * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. + * + * + * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. + */ + get: operations["git/get-tree"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository webhooks + * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. + */ + get: operations["repos/list-webhooks"]; + put: never; + /** + * Create a repository webhook + * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can + * share the same `config` as long as those webhooks do not have any `events` that overlap. + */ + post: operations["repos/create-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository webhook + * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." + */ + get: operations["repos/get-webhook"]; + put: never; + post: never; + /** Delete a repository webhook */ + delete: operations["repos/delete-webhook"]; + options: never; + head: never; + /** + * Update a repository webhook + * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." + */ + patch: operations["repos/update-webhook"]; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/config": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a webhook configuration for a repository + * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." + * + * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. + */ + get: operations["repos/get-webhook-config-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a webhook configuration for a repository + * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." + * + * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. + */ + patch: operations["repos/update-webhook-config-for-repo"]; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List deliveries for a repository webhook + * @description Returns a list of webhook deliveries for a webhook configured in a repository. + */ + get: operations["repos/list-webhook-deliveries"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a delivery for a repository webhook + * @description Returns a delivery for a webhook configured in a repository. + */ + get: operations["repos/get-webhook-delivery"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Redeliver a delivery for a repository webhook + * @description Redeliver a webhook delivery for a webhook configured in a repository. + */ + post: operations["repos/redeliver-webhook-delivery"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Ping a repository webhook + * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. + */ + post: operations["repos/ping-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Test the push repository webhook + * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. + * + * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` + */ + post: operations["repos/test-push-webhook"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/import": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an import status + * @description View the progress of an import. + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * + * **Import status** + * + * This section includes details about the possible values of the `status` field of the Import Progress response. + * + * An import that does not have errors will progress through these steps: + * + * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. + * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). + * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. + * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". + * * `complete` - the import is complete, and the repository is ready on GitHub. + * + * If there are problems, you will see one of these in the `status` field: + * + * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. + * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. + * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. + * + * **The project_choices field** + * + * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. + * + * **Git LFS related fields** + * + * This section includes details about Git LFS related fields that may be present in the Import Progress response. + * + * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. + * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. + * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. + * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. + */ + get: operations["migrations/get-import-status"]; + /** + * Start an import + * @description Start a source import to a GitHub repository using GitHub Importer. Importing into a GitHub repository with GitHub Actions enabled is not supported and will return a status `422 Unprocessable Entity` response. + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + */ + put: operations["migrations/start-import"]; + post: never; + /** + * Cancel an import + * @description Stop an import for a repository. + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * + */ + delete: operations["migrations/cancel-import"]; + options: never; + head: never; + /** + * Update an import + * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API + * request. If no parameters are provided, the import will be restarted. + * + * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will + * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. + * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + */ + patch: operations["migrations/update-import"]; + trace: never; + }; + "/repos/{owner}/{repo}/import/authors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get commit authors + * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. + * + * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + */ + get: operations["migrations/get-commit-authors"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/import/authors/{author_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Map a commit author + * @description Update an author's identity for the import. Your application can continue updating authors any time before you push + * new commits to the repository. + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * + */ + patch: operations["migrations/map-commit-author"]; + trace: never; + }; + "/repos/{owner}/{repo}/import/large_files": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get large files + * @description List files larger than 100MB found during the import + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * + */ + get: operations["migrations/get-large-files"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/import/lfs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update Git LFS preference + * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability + * is powered by [Git LFS](https://git-lfs.com). + * + * You can learn more about our LFS feature and working with large files [on our help + * site](https://docs.github.com/repositories/working-with-files/managing-large-files). + * + * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end + * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update + * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. + * + */ + patch: operations["migrations/set-lfs-preference"]; + trace: never; + }; + "/repos/{owner}/{repo}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository installation for the authenticated app + * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-repo-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get interaction restrictions for a repository + * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. + */ + get: operations["interactions/get-restrictions-for-repo"]; + /** + * Set interaction restrictions for a repository + * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + put: operations["interactions/set-restrictions-for-repo"]; + post: never; + /** + * Remove interaction restrictions for a repository + * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. + */ + delete: operations["interactions/remove-restrictions-for-repo"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository invitations + * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. + */ + get: operations["repos/list-invitations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** Delete a repository invitation */ + delete: operations["repos/delete-invitation"]; + options: never; + head: never; + /** Update a repository invitation */ + patch: operations["repos/update-invitation"]; + trace: never; + }; + "/repos/{owner}/{repo}/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository issues + * @description List issues in a repository. Only open issues will be listed. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-repo"]; + put: never; + /** + * Create an issue + * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["issues/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue comments for a repository + * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. + * + * By default, issue comments are ordered by ascending ID. + */ + get: operations["issues/list-comments-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue comment + * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + get: operations["issues/get-comment"]; + put: never; + post: never; + /** + * Delete an issue comment + * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + delete: operations["issues/delete-comment"]; + options: never; + head: never; + /** + * Update an issue comment + * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + */ + patch: operations["issues/update-comment"]; + trace: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for an issue comment + * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + get: operations["reactions/list-for-issue-comment"]; + put: never; + /** + * Create reaction for an issue comment + * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. + */ + post: operations["reactions/create-for-issue-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete an issue comment reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. + * + * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). + */ + delete: operations["reactions/delete-for-issue-comment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue events for a repository + * @description Lists events for a repository. + */ + get: operations["issues/list-events-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/events/{event_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue event + * @description Gets a single event by the event id. + */ + get: operations["issues/get-event"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an issue + * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was + * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If + * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API + * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read + * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe + * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update an issue + * @description Issue owners and users with push access can edit an issue. + */ + patch: operations["issues/update"]; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Add assignees to an issue + * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. + */ + post: operations["issues/add-assignees"]; + /** + * Remove assignees from an issue + * @description Removes one or more assignees from an issue. + */ + delete: operations["issues/remove-assignees"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user can be assigned to a issue + * @description Checks if a user has permission to be assigned to a specific issue. + * + * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. + * + * Otherwise a `404` status code is returned. + */ + get: operations["issues/check-user-can-be-assigned-to-issue"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue comments + * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * Issue comments are ordered by ascending ID. + */ + get: operations["issues/list-comments"]; + put: never; + /** + * Create an issue comment + * @description + * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). + * Creating content too quickly using this endpoint may result in secondary rate limiting. + * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" + * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" + * for details. + */ + post: operations["issues/create-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List issue events + * @description Lists all events for an issue. + */ + get: operations["issues/list-events"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for an issue + * @description Lists all labels for an issue. + */ + get: operations["issues/list-labels-on-issue"]; + /** + * Set labels for an issue + * @description Removes any previous labels and sets the new labels for an issue. + */ + put: operations["issues/set-labels"]; + /** + * Add labels to an issue + * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. + */ + post: operations["issues/add-labels"]; + /** + * Remove all labels from an issue + * @description Removes all labels from an issue. + */ + delete: operations["issues/remove-all-labels"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Remove a label from an issue + * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. + */ + delete: operations["issues/remove-label"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Lock an issue + * @description Users with push access can lock an issue or pull request's conversation. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["issues/lock"]; + post: never; + /** + * Unlock an issue + * @description Users with push access can unlock an issue's conversation. + */ + delete: operations["issues/unlock"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for an issue + * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + get: operations["reactions/list-for-issue"]; + put: never; + /** + * Create reaction for an issue + * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. + */ + post: operations["reactions/create-for-issue"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete an issue reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. + * + * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). + */ + delete: operations["reactions/delete-for-issue"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List timeline events for an issue + * @description List all timeline events for an issue. + */ + get: operations["issues/list-events-for-timeline"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List deploy keys */ + get: operations["repos/list-deploy-keys"]; + put: never; + /** + * Create a deploy key + * @description You can create a read-only deploy key. + */ + post: operations["repos/create-deploy-key"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/keys/{key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a deploy key */ + get: operations["repos/get-deploy-key"]; + put: never; + post: never; + /** + * Delete a deploy key + * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. + */ + delete: operations["repos/delete-deploy-key"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for a repository + * @description Lists all labels for a repository. + */ + get: operations["issues/list-labels-for-repo"]; + put: never; + /** + * Create a label + * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). + */ + post: operations["issues/create-label"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/labels/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a label + * @description Gets a label using the given name. + */ + get: operations["issues/get-label"]; + put: never; + post: never; + /** + * Delete a label + * @description Deletes a label using the given label name. + */ + delete: operations["issues/delete-label"]; + options: never; + head: never; + /** + * Update a label + * @description Updates a label using the given label name. + */ + patch: operations["issues/update-label"]; + trace: never; + }; + "/repos/{owner}/{repo}/languages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository languages + * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. + */ + get: operations["repos/list-languages"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/license": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the license for a repository + * @description This method returns the contents of the repository's license file, if one is detected. + * + * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. + */ + get: operations["licenses/get-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/merge-upstream": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Sync a fork branch with the upstream repository + * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. + */ + post: operations["repos/merge-upstream"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/merges": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** Merge a branch */ + post: operations["repos/merge"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/milestones": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List milestones + * @description Lists milestones for a repository. + */ + get: operations["issues/list-milestones"]; + put: never; + /** + * Create a milestone + * @description Creates a milestone. + */ + post: operations["issues/create-milestone"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a milestone + * @description Gets a milestone using the given milestone number. + */ + get: operations["issues/get-milestone"]; + put: never; + post: never; + /** + * Delete a milestone + * @description Deletes a milestone using the given milestone number. + */ + delete: operations["issues/delete-milestone"]; + options: never; + head: never; + /** Update a milestone */ + patch: operations["issues/update-milestone"]; + trace: never; + }; + "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List labels for issues in a milestone + * @description Lists labels for issues in a milestone. + */ + get: operations["issues/list-labels-for-milestone"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/notifications": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository notifications for the authenticated user + * @description Lists all notifications for the current user in the specified repository. + */ + get: operations["activity/list-repo-notifications-for-authenticated-user"]; + /** + * Mark repository notifications as read + * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. + */ + put: operations["activity/mark-repo-notifications-as-read"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a GitHub Pages site + * @description Gets information about a GitHub Pages site. + * + * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + */ + get: operations["repos/get-pages"]; + /** + * Update information about a GitHub Pages site + * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + */ + put: operations["repos/update-information-about-pages-site"]; + /** + * Create a GitHub Pages site + * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." + * + * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + */ + post: operations["repos/create-pages-site"]; + /** + * Delete a GitHub Pages site + * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). + * + * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. + */ + delete: operations["repos/delete-pages-site"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages/builds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GitHub Pages builds + * @description Lists builts of a GitHub Pages site. + * + * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + */ + get: operations["repos/list-pages-builds"]; + put: never; + /** + * Request a GitHub Pages build + * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. + * + * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. + */ + post: operations["repos/request-pages-build"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages/builds/latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get latest Pages build + * @description Gets information about the single most recent build of a GitHub Pages site. + * + * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + */ + get: operations["repos/get-latest-pages-build"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages/builds/{build_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Pages build + * @description Gets information about a GitHub Pages build. + * + * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. + */ + get: operations["repos/get-pages-build"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages/deployment": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a GitHub Pages deployment + * @description Create a GitHub Pages deployment for a repository. + * + * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. + */ + post: operations["repos/create-pages-deployment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pages/health": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a DNS health check for GitHub Pages + * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. + * + * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. + * + * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. + */ + get: operations["repos/get-pages-health-check"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Enable private vulnerability reporting for a repository + * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." + */ + put: operations["repos/enable-private-vulnerability-reporting"]; + post: never; + /** + * Disable private vulnerability reporting for a repository + * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". + */ + delete: operations["repos/disable-private-vulnerability-reporting"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository projects + * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + get: operations["projects/list-for-repo"]; + put: never; + /** + * Create a repository project + * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + post: operations["projects/create-for-repo"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ + get: operations["pulls/list"]; + put: never; + /** + * Create a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. + */ + post: operations["pulls/create"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List review comments in a repository + * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. + */ + get: operations["pulls/list-review-comments-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a review comment for a pull request + * @description Provides details for a review comment. + */ + get: operations["pulls/get-review-comment"]; + put: never; + post: never; + /** + * Delete a review comment for a pull request + * @description Deletes a review comment. + */ + delete: operations["pulls/delete-review-comment"]; + options: never; + head: never; + /** + * Update a review comment for a pull request + * @description Enables you to edit a review comment. + */ + patch: operations["pulls/update-review-comment"]; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a pull request review comment + * @description List the reactions to a [pull request review comment](https://docs.github.com/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + get: operations["reactions/list-for-pull-request-review-comment"]; + put: never; + /** + * Create reaction for a pull request review comment + * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. + */ + post: operations["reactions/create-for-pull-request-review-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a pull request comment reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` + * + * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). + */ + delete: operations["reactions/delete-for-pull-request-comment"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * Lists details of a pull request by providing its number. + * + * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". + * + * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. + * + * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: + * + * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. + * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. + * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. + * + * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. + */ + get: operations["pulls/get"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a pull request + * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. + */ + patch: operations["pulls/update"]; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a codespace from a pull request + * @description Creates a codespace owned by the authenticated user for the specified pull request. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-with-pr-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List review comments on a pull request + * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. + */ + get: operations["pulls/list-review-comments"]; + put: never; + /** + * Create a review comment for a pull request + * @description + * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. + * + * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. + * + * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/create-review-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a reply for a review comment + * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/create-reply-for-review-comment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List commits on a pull request + * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. + */ + get: operations["pulls/list-commits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/files": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pull requests files + * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. + */ + get: operations["pulls/list-files"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a pull request has been merged + * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. + */ + get: operations["pulls/check-if-merged"]; + /** + * Merge a pull request + * @description Merges a pull request into the base branch. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + put: operations["pulls/merge"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all requested reviewers for a pull request + * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. + */ + get: operations["pulls/list-requested-reviewers"]; + put: never; + /** + * Request reviewers for a pull request + * @description Requests reviews for a pull request from a given set of users and/or teams. + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["pulls/request-reviewers"]; + /** + * Remove requested reviewers from a pull request + * @description Removes review requests from a pull request for a given set of users and/or teams. + */ + delete: operations["pulls/remove-requested-reviewers"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reviews for a pull request + * @description The list of reviews returns in chronological order. + */ + get: operations["pulls/list-reviews"]; + put: never; + /** + * Create a review for a pull request + * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + * + * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." + * + * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. + * + * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. + */ + post: operations["pulls/create-review"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a review for a pull request + * @description Retrieves a pull request review by its ID. + */ + get: operations["pulls/get-review"]; + /** + * Update a review for a pull request + * @description Update the review summary comment with new text. + */ + put: operations["pulls/update-review"]; + post: never; + /** + * Delete a pending review for a pull request + * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. + */ + delete: operations["pulls/delete-pending-review"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List comments for a pull request review + * @description List comments for a specific pull request review. + */ + get: operations["pulls/list-comments-for-review"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Dismiss a review for a pull request + * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. + */ + put: operations["pulls/dismiss-review"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Submit a review for a pull request + * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." + */ + post: operations["pulls/submit-review"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Update a pull request branch + * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. + */ + put: operations["pulls/update-branch"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/readme": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository README + * @description Gets the preferred README for a repository. + * + * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. + */ + get: operations["repos/get-readme"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/readme/{dir}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository README for a directory + * @description Gets the README from a repository directory. + * + * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. + */ + get: operations["repos/get-readme-in-directory"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List releases + * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ + get: operations["repos/list-releases"]; + put: never; + /** + * Create a release + * @description Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["repos/create-release"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/assets/{asset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release asset + * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. + */ + get: operations["repos/get-release-asset"]; + put: never; + post: never; + /** Delete a release asset */ + delete: operations["repos/delete-release-asset"]; + options: never; + head: never; + /** + * Update a release asset + * @description Users with push access to the repository can edit a release asset. + */ + patch: operations["repos/update-release-asset"]; + trace: never; + }; + "/repos/{owner}/{repo}/releases/generate-notes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Generate release notes content for a release + * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. + */ + post: operations["repos/generate-release-notes"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/latest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the latest release + * @description View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ + get: operations["repos/get-latest-release"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/tags/{tag}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release by tag name + * @description Get a published release with the specified tag. + */ + get: operations["repos/get-release-by-tag"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a release + * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). + */ + get: operations["repos/get-release"]; + put: never; + post: never; + /** + * Delete a release + * @description Users with push access to the repository can delete a release. + */ + delete: operations["repos/delete-release"]; + options: never; + head: never; + /** + * Update a release + * @description Users with push access to the repository can edit a release. + */ + patch: operations["repos/update-release"]; + trace: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/assets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List release assets */ + get: operations["repos/list-release-assets"]; + put: never; + /** + * Upload a release asset + * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in + * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. + * + * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. + * + * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: + * + * `application/zip` + * + * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, + * you'll still need to pass your authentication to be able to upload an asset. + * + * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. + * + * **Notes:** + * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" + * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). + * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). + * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. + */ + post: operations["repos/upload-release-asset"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a release + * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + get: operations["reactions/list-for-release"]; + put: never; + /** + * Create reaction for a release + * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. + */ + post: operations["reactions/create-for-release"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a release reaction + * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. + * + * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). + */ + delete: operations["reactions/delete-for-release"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/rules/branches/{branch}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get rules for a branch + * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply + * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level + * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" + * enforcement statuses are not returned. + */ + get: operations["repos/get-branch-rules"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/rulesets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all repository rulesets + * @description Get all the rulesets for a repository. + */ + get: operations["repos/get-repo-rulesets"]; + put: never; + /** + * Create a repository ruleset + * @description Create a ruleset for a repository. + */ + post: operations["repos/create-repo-ruleset"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository rule suites + * @description Lists suites of rule evaluations at the repository level. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suites"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository rule suite + * @description Gets information about a suite of rule evaluations from within a repository. + * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + */ + get: operations["repos/get-repo-rule-suite"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository ruleset + * @description Get a ruleset for a repository. + */ + get: operations["repos/get-repo-ruleset"]; + /** + * Update a repository ruleset + * @description Update a ruleset for a repository. + */ + put: operations["repos/update-repo-ruleset"]; + post: never; + /** + * Delete a repository ruleset + * @description Delete a ruleset for a repository. + */ + delete: operations["repos/delete-repo-ruleset"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secret scanning alerts for a repository + * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-alerts-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a secret scanning alert + * @description Gets a single secret scanning alert detected in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/get-alert"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a secret scanning alert + * @description Updates the status of a secret scanning alert in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ + patch: operations["secret-scanning/update-alert"]; + trace: never; + }; + "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List locations for a secret scanning alert + * @description Lists all locations for a given secret scanning alert for an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ + get: operations["secret-scanning/list-locations-for-alert"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/security-advisories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository security advisories + * @description Lists security advisories in a repository. + * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission + * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to. + * + * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. + */ + get: operations["security-advisories/list-repository-advisories"]; + put: never; + /** + * Create a repository security advisory + * @description Creates a new repository security advisory. + * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. + * + * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. + */ + post: operations["security-advisories/create-repository-advisory"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/security-advisories/reports": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Privately report a security vulnerability + * @description Report a security vulnerability to the maintainers of the repository. + * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. + */ + post: operations["security-advisories/create-private-vulnerability-report"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository security advisory + * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * You can access any published security advisory on a public repository. + * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission + * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to. + * + * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a + * collaborator on the security advisory. + */ + get: operations["security-advisories/get-repository-advisory"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update a repository security advisory + * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. + * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. + * + * In order to update any security advisory, you must be a security manager or administrator of that repository, + * or a collaborator on the repository security advisory. + */ + patch: operations["security-advisories/update-repository-advisory"]; + trace: never; + }; + "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Request a CVE for a repository security advisory + * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." + * + * You may request a CVE for public repositories, but cannot do so for private repositories. + * + * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. + * + * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository. + */ + post: operations["security-advisories/create-repository-advisory-cve-request"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stargazers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List stargazers + * @description Lists the people that have starred the repository. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + */ + get: operations["activity/list-stargazers-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stats/code_frequency": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the weekly commit activity + * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. + */ + get: operations["repos/get-code-frequency-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stats/commit_activity": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the last year of commit activity + * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. + */ + get: operations["repos/get-commit-activity-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stats/contributors": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all contributor commit activity + * @description + * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: + * + * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). + * * `a` - Number of additions + * * `d` - Number of deletions + * * `c` - Number of commits + */ + get: operations["repos/get-contributors-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stats/participation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the weekly commit count + * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. + * + * The array order is oldest week (index 0) to most recent week. + * + * The most recent week is seven days ago at UTC midnight to today at UTC midnight. + */ + get: operations["repos/get-participation-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/stats/punch_card": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the hourly commit count for each day + * @description Each array contains the day number, hour number, and number of commits: + * + * * `0-6`: Sunday - Saturday + * * `0-23`: Hour of day + * * Number of commits + * + * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. + */ + get: operations["repos/get-punch-card-stats"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/statuses/{sha}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a commit status + * @description Users with push access in a repository can create commit statuses for a given SHA. + * + * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. + */ + post: operations["repos/create-commit-status"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/subscribers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List watchers + * @description Lists the people watching the specified repository. + */ + get: operations["activity/list-watchers-for-repo"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/subscription": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a repository subscription + * @description Gets information about whether the authenticated user is subscribed to the repository. + */ + get: operations["activity/get-repo-subscription"]; + /** + * Set a repository subscription + * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. + */ + put: operations["activity/set-repo-subscription"]; + post: never; + /** + * Delete a repository subscription + * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). + */ + delete: operations["activity/delete-repo-subscription"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/tags": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List repository tags */ + get: operations["repos/list-tags"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/tags/protection": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List tag protection states for a repository + * @description This returns the tag protection states of a repository. + * + * This information is only available to repository administrators. + */ + get: operations["repos/list-tag-protection"]; + put: never; + /** + * Create a tag protection state for a repository + * @description This creates a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + post: operations["repos/create-tag-protection"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Delete a tag protection state for a repository + * @description This deletes a tag protection state for a repository. + * This endpoint is only available to repository administrators. + */ + delete: operations["repos/delete-tag-protection"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/tarball/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download a repository archive (tar) + * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * **Note**: For private repositories, these links are temporary and expire after five minutes. + */ + get: operations["repos/download-tarball-archive"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository teams + * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. + * + * For a public repository, a team is listed only if that team added the public repository explicitly. + * + * Personal access tokens require the following scopes: + * * `public_repo` to call this endpoint on a public repository + * * `repo` to call this endpoint on a private repository (this scope also includes public repositories) + * + * This endpoint is not compatible with fine-grained personal access tokens. + */ + get: operations["repos/list-teams"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/topics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get all repository topics */ + get: operations["repos/get-all-topics"]; + /** Replace all repository topics */ + put: operations["repos/replace-all-topics"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/traffic/clones": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get repository clones + * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + get: operations["repos/get-clones"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/traffic/popular/paths": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get top referral paths + * @description Get the top 10 popular contents over the last 14 days. + */ + get: operations["repos/get-top-paths"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/traffic/popular/referrers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get top referral sources + * @description Get the top 10 referrers over the last 14 days. + */ + get: operations["repos/get-top-referrers"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/traffic/views": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get page views + * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. + */ + get: operations["repos/get-views"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/transfer": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Transfer a repository + * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). + * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account. + */ + post: operations["repos/transfer"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if vulnerability alerts are enabled for a repository + * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + get: operations["repos/check-vulnerability-alerts"]; + /** + * Enable vulnerability alerts + * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + put: operations["repos/enable-vulnerability-alerts"]; + post: never; + /** + * Disable vulnerability alerts + * @description Disables dependency alerts and the dependency graph for a repository. + * The authenticated user must have admin access to the repository. For more information, + * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". + */ + delete: operations["repos/disable-vulnerability-alerts"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{owner}/{repo}/zipball/{ref}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download a repository archive (zip) + * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually + * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use + * the `Location` header to make a second `GET` request. + * + * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. + */ + get: operations["repos/download-zipball-archive"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repos/{template_owner}/{template_repo}/generate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a repository using a template + * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository + */ + post: operations["repos/create-using-template"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public repositories + * @description Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. + */ + get: operations["repos/list-public"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environment secrets + * @description Lists all secrets available in an environment without revealing their + * encrypted values. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/list-environment-secrets"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment public key + * @description Get the public key for an environment, which you need to encrypt environment + * secrets. You need to encrypt a secret before you can create or update secrets. + * + * Anyone with read access to the repository can use this endpoint. + * If the repository is private you must use an access token with the `repo` scope. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-environment-public-key"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment secret + * @description Gets a single environment secret without revealing its encrypted value. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + get: operations["actions/get-environment-secret"]; + /** + * Create or update an environment secret + * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + put: operations["actions/create-or-update-environment-secret"]; + post: never; + /** + * Delete an environment secret + * @description Deletes a secret in an environment using the secret name. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `secrets` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read secrets. + */ + delete: operations["actions/delete-environment-secret"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories/{repository_id}/environments/{environment_name}/variables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List environment variables + * @description Lists all environment variables. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `environments:read` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/list-environment-variables"]; + put: never; + /** + * Create an environment variable + * @description Create an environment variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + post: operations["actions/create-environment-variable"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/repositories/{repository_id}/environments/{environment_name}/variables/{name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an environment variable + * @description Gets a specific variable in an environment. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `environments:read` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + get: operations["actions/get-environment-variable"]; + put: never; + post: never; + /** + * Delete an environment variable + * @description Deletes an environment variable using the variable name. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + delete: operations["actions/delete-environment-variable"]; + options: never; + head: never; + /** + * Update an environment variable + * @description Updates an environment variable that you can reference in a GitHub Actions workflow. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `environment:write` repository permission to use this endpoint. + * Authenticated users must have collaborator access to a repository to create, update, or read variables. + */ + patch: operations["actions/update-environment-variable"]; + trace: never; + }; + "/search/code": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search code + * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: + * + * `q=addClass+in:file+language:js+repo:jquery/jquery` + * + * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. + * + * Considerations for code search: + * + * Due to the complexity of searching code, there are a few restrictions on how searches are performed: + * + * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. + * * Only files smaller than 384 KB are searchable. + * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing + * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. + * + * This endpoint requires you to authenticate and limits you to 10 requests per minute. + */ + get: operations["search/code"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/commits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search commits + * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match + * metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: + * + * `q=repo:octocat/Spoon-Knife+css` + */ + get: operations["search/commits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search issues and pull requests + * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted + * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. + * + * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` + * + * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. + * + * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." + */ + get: operations["search/issues-and-pull-requests"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search labels + * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: + * + * `q=bug+defect+enhancement&repository_id=64778136` + * + * The labels that best match the query appear first in the search results. + */ + get: operations["search/labels"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search repositories + * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: + * + * `q=tetris+language:assembly&sort=stars&order=desc` + * + * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. + */ + get: operations["search/repos"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/topics": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search topics + * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. + * + * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: + * + * `q=ruby+is:featured` + * + * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. + */ + get: operations["search/topics"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/search/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Search users + * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). + * + * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). + * + * For example, if you're looking for a list of popular users, you might try this query: + * + * `q=tom+repos:%3E42+followers:%3E1000` + * + * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. + * + * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." + */ + get: operations["search/users"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. + */ + get: operations["teams/get-legacy"]; + put: never; + post: never; + /** + * Delete a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. + * + * To delete a team, the authenticated user must be an organization owner or team maintainer. + * + * If you are an organization owner, deleting a parent team will delete all of its child teams as well. + */ + delete: operations["teams/delete-legacy"]; + options: never; + head: never; + /** + * Update a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. + * + * To edit a team, the authenticated user must either be an organization owner or a team maintainer. + * + * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. + */ + patch: operations["teams/update-legacy"]; + trace: never; + }; + "/teams/{team_id}/discussions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussions (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. + * + * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/list-discussions-legacy"]; + put: never; + /** + * Create a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. + * + * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["teams/create-discussion-legacy"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/discussions/{discussion_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. + * + * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/get-discussion-legacy"]; + put: never; + post: never; + /** + * Delete a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. + * + * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["teams/delete-discussion-legacy"]; + options: never; + head: never; + /** + * Update a discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. + * + * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + patch: operations["teams/update-discussion-legacy"]; + trace: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List discussion comments (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. + * + * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/list-discussion-comments-legacy"]; + put: never; + /** + * Create a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. + * + * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + * + * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ + post: operations["teams/create-discussion-comment-legacy"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. + * + * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["teams/get-discussion-comment-legacy"]; + put: never; + post: never; + /** + * Delete a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. + * + * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["teams/delete-discussion-comment-legacy"]; + options: never; + head: never; + /** + * Update a discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. + * + * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + patch: operations["teams/update-discussion-comment-legacy"]; + trace: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. + * + * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["reactions/list-for-team-discussion-comment-legacy"]; + put: never; + /** + * Create reaction for a team discussion comment (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. + * + * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. + */ + post: operations["reactions/create-for-team-discussion-comment-legacy"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/discussions/{discussion_number}/reactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List reactions for a team discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. + * + * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["reactions/list-for-team-discussion-legacy"]; + put: never; + /** + * Create reaction for a team discussion (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. + * + * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. + */ + post: operations["reactions/create-for-team-discussion-legacy"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List pending team invitations (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. + * + * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. + */ + get: operations["teams/list-pending-invitations-legacy"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/members": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team members (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. + * + * Team members will include the members of child teams. + */ + get: operations["teams/list-members-legacy"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/members/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team member (Legacy) + * @deprecated + * @description The "Get team member" endpoint (described below) is deprecated. + * + * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. + * + * To list members in a team, the team must be visible to the authenticated user. + */ + get: operations["teams/get-member-legacy"]; + /** + * Add team member (Legacy) + * @deprecated + * @description The "Add team member" endpoint (described below) is deprecated. + * + * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["teams/add-member-legacy"]; + post: never; + /** + * Remove team member (Legacy) + * @deprecated + * @description The "Remove team member" endpoint (described below) is deprecated. + * + * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-member-legacy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/memberships/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get team membership for a user (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. + * + * Team members will include the members of child teams. + * + * To get a user's membership with a team, the team must be visible to the authenticated user. + * + * **Note:** + * The response contains the `state` of the membership and the member's `role`. + * + * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). + */ + get: operations["teams/get-membership-for-user-legacy"]; + /** + * Add or update team membership for a user (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + * + * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. + * + * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. + */ + put: operations["teams/add-or-update-membership-for-user-legacy"]; + post: never; + /** + * Remove team membership for a user (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. + * + * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + * + * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. + * + * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." + */ + delete: operations["teams/remove-membership-for-user-legacy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team projects (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/teams/teams#list-team-projects) endpoint. + * + * Lists the organization projects for a team. + */ + get: operations["teams/list-projects-legacy"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/projects/{project_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a project (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project) endpoint. + * + * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. + */ + get: operations["teams/check-permissions-for-project-legacy"]; + /** + * Add or update team project permissions (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions) endpoint. + * + * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. + */ + put: operations["teams/add-or-update-project-permissions-legacy"]; + post: never; + /** + * Remove a project from a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team) endpoint. + * + * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. + */ + delete: operations["teams/remove-project-legacy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List team repositories (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. + */ + get: operations["teams/list-repos-legacy"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/repos/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check team permissions for a repository (Legacy) + * @deprecated + * @description **Note**: Repositories inherited through a parent team will also be checked. + * + * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. + * + * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: + */ + get: operations["teams/check-permissions-for-repo-legacy"]; + /** + * Add or update team repository permissions (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. + * + * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["teams/add-or-update-repo-permissions-legacy"]; + post: never; + /** + * Remove a repository from a team (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. + * + * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. + */ + delete: operations["teams/remove-repo-legacy"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/teams/{team_id}/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List child teams (Legacy) + * @deprecated + * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. + */ + get: operations["teams/list-child-legacy"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the authenticated user + * @description If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information. + * + * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. + */ + get: operations["users/get-authenticated"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update the authenticated user + * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. + */ + patch: operations["users/update-authenticated"]; + trace: never; + }; + "/user/blocks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users blocked by the authenticated user + * @description List the users you've blocked on your personal account. + */ + get: operations["users/list-blocked-by-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/blocks/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a user is blocked by the authenticated user + * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. + */ + get: operations["users/check-blocked"]; + /** + * Block a user + * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. + */ + put: operations["users/block"]; + post: never; + /** + * Unblock a user + * @description Unblocks the given user and returns a 204. + */ + delete: operations["users/unblock"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List codespaces for the authenticated user + * @description Lists the authenticated user's codespaces. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/list-for-authenticated-user"]; + put: never; + /** + * Create a codespace for the authenticated user + * @description Creates a new codespace, owned by the authenticated user. + * + * This endpoint requires either a `repository_id` OR a `pull_request` but not both. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/create-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List secrets for the authenticated user + * @description Lists all secrets available for a user's Codespaces without revealing their + * encrypted values. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/list-secrets-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/secrets/public-key": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get public key for the authenticated user + * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/get-public-key-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/secrets/{secret_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a secret for the authenticated user + * @description Gets a secret available to a user's codespaces without revealing its encrypted value. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + get: operations["codespaces/get-secret-for-authenticated-user"]; + /** + * Create or update a secret for the authenticated user + * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using + * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; + post: never; + /** + * Delete a secret for the authenticated user + * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + delete: operations["codespaces/delete-secret-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/secrets/{secret_name}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List selected repositories for a user secret + * @description List the repositories that have been granted the ability to use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"]; + /** + * Set selected repositories for a user secret + * @description Select the repositories that will use a user's codespace secret. + * + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. + */ + put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add a selected repository to a user secret + * @description Adds a repository to the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. + */ + put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; + post: never; + /** + * Remove a selected repository from a user secret + * @description Removes a repository from the selected repositories for a user's codespace secret. + * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. + * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. + */ + delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a codespace for the authenticated user + * @description Gets information about a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. + */ + get: operations["codespaces/get-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a codespace for the authenticated user + * @description Deletes a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + delete: operations["codespaces/delete-for-authenticated-user"]; + options: never; + head: never; + /** + * Update a codespace for the authenticated user + * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. + * + * If you specify a new machine type it will be applied the next time your codespace is started. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + patch: operations["codespaces/update-for-authenticated-user"]; + trace: never; + }; + "/user/codespaces/{codespace_name}/exports": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Export a codespace for the authenticated user + * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. + * + * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/export-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}/exports/{export_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get details about a codespace export + * @description Gets information about an export of a codespace. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + get: operations["codespaces/get-export-details-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}/machines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List machine types for a codespace + * @description List the machine types a codespace can transition to use. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. + */ + get: operations["codespaces/codespace-machines-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}/publish": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a repository from an unpublished codespace + * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. + * + * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. + * + * This will fail for a codespace that is already published, meaning it has an associated repository. + * + * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + */ + post: operations["codespaces/publish-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}/start": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Start a codespace for the authenticated user + * @description Starts a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/start-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/codespaces/{codespace_name}/stop": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Stop a codespace for the authenticated user + * @description Stops a user's codespace. + * + * You must authenticate using an access token with the `codespace` scope to use this endpoint. + * + * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. + */ + post: operations["codespaces/stop-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for authenticated-user + * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/email/visibility": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Set primary email visibility for the authenticated user + * @description Sets the visibility for your primary email addresses. + */ + patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; + trace: never; + }; + "/user/emails": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List email addresses for the authenticated user + * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. + */ + get: operations["users/list-emails-for-authenticated-user"]; + put: never; + /** + * Add an email address for the authenticated user + * @description This endpoint is accessible with the `user` scope. + */ + post: operations["users/add-email-for-authenticated-user"]; + /** + * Delete an email address for the authenticated user + * @description This endpoint is accessible with the `user` scope. + */ + delete: operations["users/delete-email-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/followers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List followers of the authenticated user + * @description Lists the people following the authenticated user. + */ + get: operations["users/list-followers-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/following": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List the people the authenticated user follows + * @description Lists the people who the authenticated user follows. + */ + get: operations["users/list-followed-by-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/following/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Check if a person is followed by the authenticated user */ + get: operations["users/check-person-is-followed-by-authenticated"]; + /** + * Follow a user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * + * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + put: operations["users/follow"]; + post: never; + /** + * Unfollow a user + * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. + */ + delete: operations["users/unfollow"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/gpg_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GPG keys for the authenticated user + * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["users/list-gpg-keys-for-authenticated-user"]; + put: never; + /** + * Create a GPG key for the authenticated user + * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + post: operations["users/create-gpg-key-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/gpg_keys/{gpg_key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a GPG key for the authenticated user + * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["users/get-gpg-key-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a GPG key for the authenticated user + * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["users/delete-gpg-key-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/installations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List app installations accessible to the user access token + * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ + get: operations["apps/list-installations-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/installations/{installation_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories accessible to the user access token + * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The access the user has to each repository is included in the hash under the `permissions` key. + */ + get: operations["apps/list-installation-repos-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/installations/{installation_id}/repositories/{repository_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + /** + * Add a repository to an app installation + * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + put: operations["apps/add-repo-to-installation-for-authenticated-user"]; + post: never; + /** + * Remove a repository from an app installation + * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. + * + * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. + */ + delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/interaction-limits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get interaction restrictions for your public repositories + * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. + */ + get: operations["interactions/get-restrictions-for-authenticated-user"]; + /** + * Set interaction restrictions for your public repositories + * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. + */ + put: operations["interactions/set-restrictions-for-authenticated-user"]; + post: never; + /** + * Remove interaction restrictions from your public repositories + * @description Removes any interaction restrictions from your public repositories. + */ + delete: operations["interactions/remove-restrictions-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/issues": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user account issues assigned to the authenticated user + * @description List issues across owned and member repositories assigned to the authenticated user. + * + * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this + * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by + * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull + * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. + */ + get: operations["issues/list-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public SSH keys for the authenticated user + * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["users/list-public-ssh-keys-for-authenticated-user"]; + put: never; + /** + * Create a public SSH key for the authenticated user + * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + post: operations["users/create-public-ssh-key-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/keys/{key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a public SSH key for the authenticated user + * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + get: operations["users/get-public-ssh-key-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a public SSH key for the authenticated user + * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). + */ + delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/marketplace_purchases": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List subscriptions for the authenticated user + * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). + */ + get: operations["apps/list-subscriptions-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/marketplace_purchases/stubbed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List subscriptions for the authenticated user (stubbed) + * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). + */ + get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/memberships/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization memberships for the authenticated user + * @description Lists all of the authenticated user's organization memberships. + */ + get: operations["orgs/list-memberships-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/memberships/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an organization membership for the authenticated user + * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. + */ + get: operations["orgs/get-membership-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + /** + * Update an organization membership for the authenticated user + * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. + */ + patch: operations["orgs/update-membership-for-authenticated-user"]; + trace: never; + }; + "/user/migrations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user migrations + * @description Lists all migrations a user has started. + */ + get: operations["migrations/list-for-authenticated-user"]; + put: never; + /** + * Start a user migration + * @description Initiates the generation of a user migration archive. + */ + post: operations["migrations/start-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/migrations/{migration_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user migration status + * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: + * + * * `pending` - the migration hasn't started yet. + * * `exporting` - the migration is in progress. + * * `exported` - the migration finished successfully. + * * `failed` - the migration failed. + * + * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). + */ + get: operations["migrations/get-status-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/migrations/{migration_id}/archive": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Download a user migration archive + * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: + * + * * attachments + * * bases + * * commit\_comments + * * issue\_comments + * * issue\_events + * * issues + * * milestones + * * organizations + * * projects + * * protected\_branches + * * pull\_request\_reviews + * * pull\_requests + * * releases + * * repositories + * * review\_comments + * * schema + * * users + * + * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. + */ + get: operations["migrations/get-archive-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a user migration archive + * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. + */ + delete: operations["migrations/delete-archive-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/migrations/{migration_id}/repos/{repo_name}/lock": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** + * Unlock a user repository + * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. + */ + delete: operations["migrations/unlock-repo-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/migrations/{migration_id}/repositories": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for a user migration + * @description Lists all the repositories for this user migration. + */ + get: operations["migrations/list-repos-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organizations for the authenticated user + * @description List organizations for the authenticated user. + * + * **OAuth scope requirements** + * + * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. + */ + get: operations["orgs/list-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for the authenticated user's namespace + * @description Lists packages owned by the authenticated user within the user's namespace. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for the authenticated user + * @description Gets a specific package for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a package for the authenticated user + * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. + * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore a package for the authenticated user + * @description Restores a package owned by the authenticated user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by the authenticated user + * @description Lists package versions for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for the authenticated user + * @description Gets a specific package version for a package owned by the authenticated user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete a package version for the authenticated user + * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. + * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore a package version for the authenticated user + * @description Restores a package version owned by the authenticated user. + * + * You can restore a deleted package version under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Create a user project + * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. + */ + post: operations["projects/create-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/public_emails": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public email addresses for the authenticated user + * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. + */ + get: operations["users/list-public-emails-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for the authenticated user + * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + */ + get: operations["repos/list-for-authenticated-user"]; + put: never; + /** + * Create a repository for the authenticated user + * @description Creates a new repository for the authenticated user. + * + * **OAuth scope requirements** + * + * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: + * + * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. + * * `repo` scope to create a private repository. + */ + post: operations["repos/create-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/repository_invitations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repository invitations for the authenticated user + * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. + */ + get: operations["repos/list-invitations-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/repository_invitations/{invitation_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** Decline a repository invitation */ + delete: operations["repos/decline-invitation-for-authenticated-user"]; + options: never; + head: never; + /** Accept a repository invitation */ + patch: operations["repos/accept-invitation-for-authenticated-user"]; + trace: never; + }; + "/user/social_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List social accounts for the authenticated user + * @description Lists all of your social accounts. + */ + get: operations["users/list-social-accounts-for-authenticated-user"]; + put: never; + /** + * Add social accounts for the authenticated user + * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. + */ + post: operations["users/add-social-account-for-authenticated-user"]; + /** + * Delete social accounts for the authenticated user + * @description Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. + */ + delete: operations["users/delete-social-account-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/ssh_signing_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List SSH signing keys for the authenticated user + * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + */ + get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; + put: never; + /** + * Create a SSH signing key for the authenticated user + * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + */ + post: operations["users/create-ssh-signing-key-for-authenticated-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/ssh_signing_keys/{ssh_signing_key_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get an SSH signing key for the authenticated user + * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + */ + get: operations["users/get-ssh-signing-key-for-authenticated-user"]; + put: never; + post: never; + /** + * Delete an SSH signing key for the authenticated user + * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." + */ + delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/starred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories starred by the authenticated user + * @description Lists repositories the authenticated user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + */ + get: operations["activity/list-repos-starred-by-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/starred/{owner}/{repo}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Check if a repository is starred by the authenticated user + * @description Whether the authenticated user has starred the repository. + */ + get: operations["activity/check-repo-is-starred-by-authenticated-user"]; + /** + * Star a repository for the authenticated user + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + */ + put: operations["activity/star-repo-for-authenticated-user"]; + post: never; + /** + * Unstar a repository for the authenticated user + * @description Unstar a repository that the authenticated user has previously starred. + */ + delete: operations["activity/unstar-repo-for-authenticated-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/subscriptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories watched by the authenticated user + * @description Lists repositories the authenticated user is watching. + */ + get: operations["activity/list-watched-repos-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/user/teams": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List teams for the authenticated user + * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. + */ + get: operations["teams/list-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List users + * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. + * + * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. + */ + get: operations["users/list"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user + * @description Provides publicly available information about someone with a GitHub account. + * + * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" + * + * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). + * + * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". + */ + get: operations["users/get-by-username"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/docker/conflicts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get list of conflicting packages during Docker migration for user + * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. + */ + get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List events for the authenticated user + * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. + */ + get: operations["activity/list-events-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/events/orgs/{org}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organization events for the authenticated user + * @description This is the user's organization dashboard. You must be authenticated as the user to view this. + */ + get: operations["activity/list-org-events-for-authenticated-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/events/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List public events for a user */ + get: operations["activity/list-public-events-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/followers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List followers of a user + * @description Lists the people following the specified user. + */ + get: operations["users/list-followers-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/following": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List the people a user follows + * @description Lists the people who the specified user follows. + */ + get: operations["users/list-following-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/following/{target_user}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Check if a user follows another user */ + get: operations["users/check-following-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/gists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List gists for a user + * @description Lists public gists for the specified user: + */ + get: operations["gists/list-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/gpg_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List GPG keys for a user + * @description Lists the GPG keys for a user. This information is accessible by anyone. + */ + get: operations["users/list-gpg-keys-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/hovercard": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get contextual information for a user + * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. + * + * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: + * + * ```shell + * curl -u username:token + * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 + * ``` + */ + get: operations["users/get-context-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/installation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a user installation for the authenticated app + * @description Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ + get: operations["apps/get-user-installation"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List public keys for a user + * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. + */ + get: operations["users/list-public-keys-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/orgs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List organizations for a user + * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. + * + * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. + */ + get: operations["orgs/list-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List packages for a user + * @description Lists all packages in a user's namespace for which the requesting user has access. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/list-packages-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages/{package_type}/{package_name}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package for a user + * @description Gets a specific package metadata for a public package owned by a user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-for-user"]; + put: never; + post: never; + /** + * Delete a package for a user + * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + delete: operations["packages/delete-package-for-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore a package for a user + * @description Restores an entire package for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + post: operations["packages/restore-package-for-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List package versions for a package owned by a user + * @description Lists package versions for a public package owned by a specified user. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a package version for a user + * @description Gets a specific package version for a public package owned by a specified user. + * + * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + */ + get: operations["packages/get-package-version-for-user"]; + put: never; + post: never; + /** + * Delete package version for a user + * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + delete: operations["packages/delete-package-version-for-user"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** + * Restore package version for a user + * @description Restores a specific package version for a user. + * + * You can restore a deleted package under the following conditions: + * - The package was deleted within the last 30 days. + * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. + * + * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: + * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." + * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." + */ + post: operations["packages/restore-package-version-for-user"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/projects": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List user projects + * @description Lists projects for a user. + */ + get: operations["projects/list-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/received_events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List events received by the authenticated user + * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. + */ + get: operations["activity/list-received-events-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/received_events/public": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List public events received by a user */ + get: operations["activity/list-received-public-events-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/repos": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories for a user + * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. + */ + get: operations["repos/list-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/settings/billing/actions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Actions billing for a user + * @description Gets the summary of the free and paid GitHub Actions minutes used. + * + * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-actions-billing-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/settings/billing/packages": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get GitHub Packages billing for a user + * @description Gets the free and paid storage used for GitHub Packages in gigabytes. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-github-packages-billing-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/settings/billing/shared-storage": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get shared storage billing for a user + * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. + * + * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." + * + * Access tokens must have the `user` scope. + */ + get: operations["billing/get-shared-storage-billing-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/social_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List social accounts for a user + * @description Lists social media accounts for a user. This endpoint is accessible by anyone. + */ + get: operations["users/list-social-accounts-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/ssh_signing_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List SSH signing keys for a user + * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. + */ + get: operations["users/list-ssh-signing-keys-for-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/starred": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories starred by a user + * @description Lists repositories a user has starred. + * + * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. + */ + get: operations["activity/list-repos-starred-by-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/users/{username}/subscriptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * List repositories watched by a user + * @description Lists repositories a user is watching. + */ + get: operations["activity/list-repos-watched-by-user"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get all API versions + * @description Get all supported GitHub API versions. + */ + get: operations["meta/get-all-versions"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/zen": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get the Zen of GitHub + * @description Get a random sentence from the Zen of GitHub + */ + get: operations["meta/get-zen"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + root: { /** Format: uri-template */ - assignees_url: string; + current_user_url: string; /** Format: uri-template */ - blobs_url: string; + current_user_authorizations_html_url: string; /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; + authorizations_url: string; /** Format: uri-template */ - collaborators_url: string; + code_search_url: string; /** Format: uri-template */ - comments_url: string; + commit_search_url: string; /** Format: uri-template */ - commits_url: string; + emails_url: string; /** Format: uri-template */ - compare_url: string; + emojis_url: string; /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; /** Format: uri-template */ - git_commits_url: string; + feeds_url: string; /** Format: uri-template */ - git_refs_url: string; + followers_url: string; /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; + following_url: string; /** Format: uri-template */ - issue_comment_url: string; + gists_url: string; /** Format: uri-template */ - issue_events_url: string; + hub_url: string; + /** Format: uri-template */ + issue_search_url: string; /** Format: uri-template */ issues_url: string; /** Format: uri-template */ keys_url: string; /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; + label_search_url: string; /** Format: uri-template */ notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; + organization_url: string; /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; + organization_repositories_url: string; /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; + organization_teams_url: string; /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; + public_gists_url: string; /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; + rate_limit_url: string; /** Format: uri-template */ - following_url?: string; + repository_url: string; /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; + repository_search_url: string; /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; + current_user_repositories_url: string; /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; + starred_url: string; /** Format: uri-template */ - following_url?: string; + starred_gists_url: string; /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; + topic_search_url?: string; /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; + user_url: string; /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; + user_organizations_url: string; /** Format: uri-template */ - following_url?: string; + user_repositories_url: string; /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; + user_search_url: string; + }; + /** + * @description The package's language or package management ecosystem. + * @enum {string} + */ + "security-advisory-ecosystems": "rubygems" | "npm" | "pip" | "maven" | "nuget" | "composer" | "go" | "rust" | "erlang" | "actions" | "pub" | "other" | "swift"; + /** + * Simple User + * @description A GitHub user. + */ + "simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; /** * Format: uri - * @description URL for the team + * @example https://github.com/images/error/octocat_happy.gif */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; /** * Format: uri - * @description URL for the team + * @example https://api.github.com/users/octocat */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request opened event */ - "webhook-pull-request-opened": { - /** @enum {string} */ - action: "opened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request ready_for_review event */ - "webhook-pull-request-ready-for-review": { - /** @enum {string} */ - action: "ready_for_review"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * @description The type of credit the user is receiving. * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + "security-advisory-credit-types": "analyst" | "finder" | "reporter" | "coordinator" | "remediation_developer" | "remediation_reviewer" | "remediation_verifier" | "tool" | "sponsor" | "other"; + /** @description A GitHub Security Advisory. */ + "global-advisory": { + /** @description The GitHub Security Advisory ID. */ + readonly ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + readonly cve_id: string | null; + /** @description The API URL for the advisory. */ + readonly url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + readonly html_url: string; + /** + * Format: uri + * @description The API URL for the repository advisory. + */ + readonly repository_advisory_url: string | null; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ + description: string | null; + /** + * @description The type of advisory. + * @enum {string} + */ + readonly type: "reviewed" | "unreviewed" | "malware"; + /** + * @description The severity of the advisory. + * @enum {string} + */ + severity: "critical" | "high" | "medium" | "low" | "unknown"; + /** + * Format: uri + * @description The URL of the advisory's source code. + */ + source_code_location: string | null; + readonly identifiers: { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[] | null; + references: string[] | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + readonly published_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + readonly updated_at: string; + /** + * Format: date-time + * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format. + */ + readonly github_reviewed_at: string | null; + /** + * Format: date-time + * @description The date and time when the advisory was published in the National Vulnerability Database, in ISO 8601 format. + * This field is only populated when the advisory is imported from the National Vulnerability Database. + */ + readonly nvd_published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + readonly withdrawn_at: string | null; + /** @description The products and respective version ranges affected by the advisory. */ + vulnerabilities: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version that resolve the vulnerability. */ + first_patched_version: string | null; + /** @description The functions in the package that are affected by the vulnerability. */ + readonly vulnerable_functions: string[] | null; + }[] | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + readonly score: number | null; + } | null; + cwes: { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + readonly name: string; + }[] | null; + /** @description The users who contributed to the advisory. */ + readonly credits: { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + }; /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Basic Error + * @description Basic Error */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + "basic-error": { + message?: string; + documentation_url?: string; + url?: string; + status?: string; + }; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false + * Validation Error Simple + * @description Validation Error Simple */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request reopened event */ - "webhook-pull-request-reopened": { - /** @enum {string} */ - action: "reopened"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: components["schemas"]["pull-request"] & ({ + "validation-error-simple": { + message: string; + documentation_url: string; + errors?: string[]; + }; /** - * @description Whether to allow auto-merge for pull requests. - * @default false + * Simple User + * @description A GitHub user. */ - allow_auto_merge?: boolean; - /** @description Whether to allow updating the pull request's branch. */ - allow_update_branch?: boolean; + "nullable-simple-user": { + name?: string | null; + email?: string | null; + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + } | null; /** - * @description Whether to delete head branches when pull requests are merged. - * @default false + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. */ - delete_branch_on_merge?: boolean; + integration: { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + [key: string]: string; + }; + /** + * @description The list of events for the GitHub app + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app + * @example 5 + */ + installations_count?: number; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ + client_secret?: string; + /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ + webhook_secret?: string | null; + /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ + pem?: string; + }; /** - * @description The default value for a merge commit message. - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @description The URL to which the payloads will be delivered. + * @example https://example.com/webhook */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + "webhook-config-url": string; /** - * @description The default value for a merge commit title. - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). - * @enum {string} + * @description The media type used to serialize the payloads. Supported values include `json` and `form`. The default is `form`. + * @example "json" */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + "webhook-config-content-type": string; /** - * @description The default value for a squash merge commit message: - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description If provided, the `secret` will be used as the `key` to generate the HMAC hex digest value for [delivery signature headers](https://docs.github.com/webhooks/event-payloads/#delivery-headers). + * @example "********" */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + "webhook-config-secret": string; + "webhook-config-insecure-ssl": string | number; /** - * @description The default value for a squash merge commit title: - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Webhook Configuration + * @description Configuration object of the webhook */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** - * @default false - */ - use_squash_pr_title_as_default?: boolean; - }); - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_comment created event */ - "webhook-pull-request-review-comment-created": { - /** @enum {string} */ - action: "created"; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; + "webhook-config": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number | null; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} + * Simple webhook delivery + * @description Delivery made by a webhook, without request and response information. */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; + "hook-delivery-item": { + /** + * @description Unique identifier of the webhook delivery. + * @example 42 + */ + id: number; + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the webhook delivery occurred. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the webhook delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Describes the response returned after attempting the delivery. + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + }; /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} + * Scim Error + * @description Scim Error */ - start_side: "LEFT" | "RIGHT" | null; + "scim-error": { + message?: string | null; + documentation_url?: string | null; + detail?: string | null; + status?: number; + scimType?: string | null; + schemas?: string[]; + }; /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} + * Validation Error + * @description Validation Error */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; + "validation-error": { + message: string; + documentation_url: string; + errors?: { + resource?: string; + field?: string; + message?: string; + code: string; + index?: number; + value?: (string | null) | (number | null) | (string[] | null); + }[]; + }; /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + * Webhook delivery + * @description Delivery made by a webhook. + */ + "hook-delivery": { + /** + * @description Unique identifier of the delivery. + * @example 42 + */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ + /** + * @description Unique identifier for the event (shared with all deliveries for all webhooks that subscribe to this event). + * @example 58474f00-b361-11eb-836d-0e4f3503ccbe + */ + guid: string; + /** + * Format: date-time + * @description Time when the delivery was delivered. + * @example 2021-05-12T20:33:44Z + */ + delivered_at: string; + /** + * @description Whether the delivery is a redelivery. + * @example false + */ + redelivery: boolean; + /** + * @description Time spent delivering. + * @example 0.03 + */ + duration: number; + /** + * @description Description of the status of the attempted delivery + * @example failed to connect + */ + status: string; + /** + * @description Status code received when delivery was made. + * @example 502 + */ + status_code: number; + /** + * @description The event that triggered the delivery. + * @example issues + */ + event: string; + /** + * @description The type of activity for the event that triggered the delivery. + * @example opened + */ + action: string | null; + /** + * @description The id of the GitHub App installation associated with this event. + * @example 123 + */ + installation_id: number | null; + /** + * @description The id of the repository associated with this event. + * @example 123 + */ + repository_id: number | null; + /** + * @description The URL target of the delivery. + * @example https://www.example.com + */ url?: string; - }) | null)[]; + request: { + /** @description The request headers sent with the webhook delivery. */ + headers: { + [key: string]: unknown; + } | null; + /** @description The webhook payload. */ + payload: { + [key: string]: unknown; + } | null; + }; + response: { + /** @description The response headers received when the delivery was made. */ + headers: { + [key: string]: unknown; + } | null; + /** @description The response payload received. */ + payload: string | null; + }; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Enterprise + * @description An enterprise on GitHub. */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + enterprise: { + /** @description A short description of the enterprise. */ + description?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** + * @description Unique identifier of the enterprise + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the enterprise. + * @example Octo Business + */ + name: string; + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ + slug: string; + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ + updated_at: string | null; + /** Format: uri */ + avatar_url: string; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Integration Installation Request + * @description Request to install an integration on a target */ - auto_merge?: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "integration-installation-request": { + /** + * @description Unique identifier of the request installation. + * @example 42 + */ id: number; - login: string; - name?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + account: components["schemas"]["simple-user"] | components["schemas"]["enterprise"]; + requester: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @example 2022-07-08T16:18:44-04:00 */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + created_at: string; + }; + /** + * App Permissions + * @description The permissions granted to the user access token. + * @example { + * "contents": "read", + * "issues": "read", + * "deployments": "write", + * "single_file": "read" + * } + */ + "app-permissions": { /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + * @enum {string} + */ + actions?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + * @enum {string} + */ + administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for checks on code. + * @enum {string} + */ + checks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + * @enum {string} + */ + contents?: "read" | "write"; + /** + * @description The level of permission to grant the access token for deployments and deployment statuses. + * @enum {string} + */ + deployments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for managing repository environments. + * @enum {string} + */ + environments?: "read" | "write"; + /** + * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + * @enum {string} + */ + issues?: "read" | "write"; + /** + * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + * @enum {string} + */ + metadata?: "read" | "write"; + /** + * @description The level of permission to grant the access token for packages published to GitHub Packages. + * @enum {string} + */ + packages?: "read" | "write"; + /** + * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + * @enum {string} + */ + pages?: "read" | "write"; + /** + * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + * @enum {string} + */ + pull_requests?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + * @enum {string} + */ + repository_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository projects, columns, and cards. + * @enum {string} + */ + repository_projects?: "read" | "write" | "admin"; + /** + * @description The level of permission to grant the access token to view and manage secret scanning alerts. + * @enum {string} + */ + secret_scanning_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage repository secrets. + * @enum {string} + */ + secrets?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + * @enum {string} + */ + security_events?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage just a single file. + * @enum {string} + */ + single_file?: "read" | "write"; + /** + * @description The level of permission to grant the access token for commit statuses. + * @enum {string} + */ + statuses?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage Dependabot alerts. + * @enum {string} + */ + vulnerability_alerts?: "read" | "write"; + /** + * @description The level of permission to grant the access token to update GitHub Actions workflow files. + * @enum {string} + */ + workflows?: "write"; + /** + * @description The level of permission to grant the access token for organization teams and members. + * @enum {string} + */ + members?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage access to an organization. + * @enum {string} + */ + organization_administration?: "read" | "write"; + /** + * @description The level of permission to grant the access token for custom repository roles management. This property is in beta and is subject to change. + * @enum {string} + */ + organization_custom_roles?: "read" | "write"; + /** + * @description The level of permission to grant the access token to view and manage announcement banners for an organization. + * @enum {string} + */ + organization_announcement_banners?: "read" | "write"; + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + * @enum {string} + */ + organization_hooks?: "read" | "write"; + /** + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access token requests to an organization. + * @enum {string} */ - allow_merge_commit?: boolean; + organization_personal_access_tokens?: "read" | "write"; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The level of permission to grant the access token for viewing and managing fine-grained personal access tokens that have been approved by an organization. + * @enum {string} */ - allow_rebase_merge?: boolean; + organization_personal_access_token_requests?: "read" | "write"; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The level of permission to grant the access token for viewing an organization's plan. + * @enum {string} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + organization_plan?: "read"; /** - * @description Whether the repository is archived. - * @default false + * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + * @enum {string} */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + organization_projects?: "read" | "write" | "admin"; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The level of permission to grant the access token for organization packages published to GitHub Packages. + * @enum {string} */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + organization_packages?: "read" | "write"; /** - * @description Whether downloads are enabled. - * @default true + * @description The level of permission to grant the access token to manage organization secrets. + * @enum {string} */ - has_downloads: boolean; + organization_secrets?: "read" | "write"; /** - * @description Whether issues are enabled. - * @default true + * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + * @enum {string} */ - has_issues: boolean; - has_pages: boolean; + organization_self_hosted_runners?: "read" | "write"; /** - * @description Whether projects are enabled. - * @default true + * @description The level of permission to grant the access token to view and manage users blocked by the organization. + * @enum {string} */ - has_projects: boolean; + organization_user_blocking?: "read" | "write"; /** - * @description Whether the wiki is enabled. - * @default true + * @description The level of permission to grant the access token to manage team discussions and related comments. + * @enum {string} */ - has_wiki: boolean; + team_discussions?: "read" | "write"; + }; + /** + * Installation + * @description Installation + */ + installation: { /** - * @description Whether discussions are enabled. - * @default false + * @description The ID of the installation. + * @example 1 */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + account: (components["schemas"]["simple-user"] | components["schemas"]["enterprise"]) | null; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * @description Describe whether all repositories have been selected or there's a selection involved * @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + repository_selection: "all" | "selected"; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * Format: uri + * @example https://api.github.com/app/installations/1/access_tokens */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + access_tokens_url: string; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @example https://api.github.com/installation/repositories */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + repositories_url: string; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Format: uri + * @example https://github.com/organizations/github/settings/installations/1 */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + html_url: string; + /** @example 1 */ + app_id: number; + /** @description The ID of the user or organization this token is being scoped to. */ + target_id: number; + /** @example Organization */ + target_type: string; + permissions: components["schemas"]["app-permissions"]; + events: string[]; + /** Format: date-time */ + created_at: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ - url: string; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] */ + single_file_paths?: string[]; + /** @example github-actions */ + app_slug: string; + suspended_by: components["schemas"]["nullable-simple-user"]; + /** Format: date-time */ + suspended_at: string | null; + /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ + contact_email?: string | null; + }; + /** + * License Simple + * @description License Simple + */ + "nullable-license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: uri + * @example https://api.github.com/licenses/mit */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; /** Format: uri */ html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + } | null; + /** + * Repository + * @description A repository on GitHub. + */ + repository: { + /** + * @description Unique identifier of the repository + * @example 42 */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The name of the repository. + * @example Team Environment */ - allow_merge_commit?: boolean; + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description Whether the repository is private or public. + * @default false */ - allow_rebase_merge?: boolean; + private: boolean; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat/Hello-World */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World */ - archived: boolean; - /** Format: uri-template */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ assignees_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ blobs_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ collaborators_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ comments_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ commits_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ compare_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ contents_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments */ - delete_branch_on_merge?: boolean; - /** Format: uri */ deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ downloads_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ forks_url: string; - full_name: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ git_commits_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ git_refs_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ git_tags_url: string; - /** Format: uri */ + /** @example git:github.com/octocat/Hello-World.git */ git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages */ - has_downloads: boolean; + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template: boolean; + topics?: string[]; /** * @description Whether issues are enabled. * @default true + * @example true */ has_issues: boolean; - has_pages: boolean; /** * @description Whether projects are enabled. * @default true + * @example true */ has_projects: boolean; /** * @description Whether the wiki is enabled. * @default true + * @example true */ has_wiki: boolean; + has_pages: boolean; + /** + * @deprecated + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; /** * @description Whether discussions are enabled. * @default false + * @example true */ - has_discussions?: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + has_discussions: boolean; /** - * @description The default value for a merge commit message. + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). * @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** * @description The default value for a merge commit title. * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). * @enum {string} */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; /** - * @description The default value for a squash merge commit message: + * @description The default value for a merge commit message. * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** + * Installation Token + * @description Authentication token for a GitHub App installed on a user or org. + */ + "installation-token": { + token: string; + expires_at: string; + permissions?: components["schemas"]["app-permissions"]; + /** @enum {string} */ + repository_selection?: "all" | "selected"; + repositories?: components["schemas"]["repository"][]; + /** @example README.md */ + single_file?: string; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] */ + single_file_paths?: string[]; + }; + /** Scoped Installation */ + "nullable-scoped-installation": { + permissions: components["schemas"]["app-permissions"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + repository_selection: "all" | "selected"; + /** @example config.yaml */ + single_file_name: string | null; + /** @example true */ + has_multiple_single_files?: boolean; + /** @example [ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] */ + single_file_paths?: string[]; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Format: uri + * @example https://api.github.com/users/octocat/repos */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; + repositories_url: string; + account: components["schemas"]["simple-user"]; + } | null; + /** + * Authorization + * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. + */ + authorization: { + id: number; /** Format: uri */ - tags_url: string; + url: string; + /** @description A list of scopes that this authorization is in. */ + scopes: string[] | null; + token: string; + token_last_eight: string | null; + hashed_token: string | null; + app: { + client_id: string; + name: string; + /** Format: uri */ + url: string; + }; + note: string | null; /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + note_url: string | null; /** Format: date-time */ updated_at: string; - /** Format: uri */ - url: string; + /** Format: date-time */ + created_at: string; + fingerprint: string | null; + user?: components["schemas"]["nullable-simple-user"]; + installation?: components["schemas"]["nullable-scoped-installation"]; + /** Format: date-time */ + expires_at: string | null; + }; + /** + * Simple Classroom Repository + * @description A GitHub repository view for Classroom + */ + "simple-classroom-repository": { /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * @description A unique identifier of the repository. + * @example 1296269 */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + /** + * @description The full, globally unique name of the repository. + * @example octocat/Hello-World + */ + full_name: string; /** * Format: uri - * @description URL for the label + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World */ - url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; + html_url: string; + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ + node_id: string; + /** @description Whether the repository is private. */ + private: boolean; + /** + * @description The default branch for the repository. + * @example main + */ + default_branch: string; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Organization Simple for Classroom + * @description A GitHub organization. */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "simple-classroom-organization": { + /** @example 1 */ id: number; + /** @example github */ login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/github + */ html_url: string; - /** @description Unique identifier of the team */ + /** @example Github - Code thigns happen here */ + name: string | null; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + }; + /** + * Classroom + * @description A GitHub Classroom classroom + */ + classroom: { + /** + * @description Unique identifier of the classroom. + * @example 42 + */ id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ + /** + * @description The name of the classroom. + * @example Programming Elixir + */ name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; /** - * Format: uri - * @description URL for the team + * @description Whether classroom is archived. + * @example false + */ + archived: boolean; + organization: components["schemas"]["simple-classroom-organization"]; + /** + * @description The URL of the classroom on GitHub Classroom. + * @example https://classroom.github.com/classrooms/1-programming-elixir */ url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ + }; + /** + * Classroom Assignment + * @description A GitHub Classroom assignment + */ + "classroom-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; /** - * Format: uri - * @description URL for the team + * @description Whether an accepted assignment creates a public repository. + * @example true */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_comment deleted event */ - "webhook-pull-request-review-comment-deleted": { - /** @enum {string} */ - action: "deleted"; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; + public_repo: boolean; + /** + * @description Assignment title. + * @example Intro to Binaries + */ + title: string; + /** + * @description Whether it's a group assignment or individual assignment. + * @example individual + * @enum {string} + */ + type: "individual" | "group"; + /** + * @description The link that a student can use to accept the assignment. + * @example https://classroom.github.com/a/Lx7jiUgx + */ + invite_link: string; + /** + * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. + * @example true + */ + invitations_enabled: boolean; + /** + * @description Sluggified name of the assignment. + * @example intro-to-binaries + */ + slug: string; + /** + * @description Whether students are admins on created repository when a student accepts the assignment. + * @example true + */ + students_are_repo_admins: boolean; + /** + * @description Whether feedback pull request will be created when a student accepts the assignment. + * @example true + */ + feedback_pull_requests_enabled: boolean; + /** + * @description The maximum allowable teams for the assignment. + * @example 0 + */ + max_teams: number | null; + /** + * @description The maximum allowable members per team. + * @example 0 + */ + max_members: number | null; + /** + * @description The selected editor for the assignment. + * @example codespaces + */ + editor: string; + /** + * @description The number of students that have accepted the assignment. + * @example 25 + */ + accepted: number; + /** + * @description The number of students that have submitted the assignment. + * @example 10 + */ + submitted: number; + /** + * @description The number of students that have passed the assignment. + * @example 10 + */ + passing: number; + /** + * @description The programming language used in the assignment. + * @example elixir + */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + * @example 2011-01-26T19:06:43Z + */ + deadline: string | null; + starter_code_repository: components["schemas"]["simple-classroom-repository"]; + classroom: components["schemas"]["classroom"]; }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; - /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} - */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; - /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} - */ - start_side: "LEFT" | "RIGHT" | null; - /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} + * Simple Classroom User + * @description A GitHub user simplified for Classroom. */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "simple-classroom-user": { + /** @example 1 */ id: number; + /** @example octocat */ login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Simple Classroom + * @description A GitHub Classroom classroom */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "simple-classroom": { + /** + * @description Unique identifier of the classroom. + * @example 42 + */ + id: number; + /** + * @description The name of the classroom. + * @example Programming Elixir + */ + name: string; + /** + * @description Returns whether classroom is archived or not. + * @example false + */ + archived: boolean; + /** + * @description The url of the classroom on GitHub Classroom. + * @example https://classroom.github.com/classrooms/1-programming-elixir + */ + url: string; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Simple Classroom Assignment + * @description A GitHub Classroom assignment */ - auto_merge?: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "simple-classroom-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** + * @description Whether an accepted assignment creates a public repository. + * @example true */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + public_repo: boolean; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description Assignment title. + * @example Intro to Binaries */ - allow_merge_commit?: boolean; + title: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description Whether it's a Group Assignment or Individual Assignment. + * @example individual + * @enum {string} */ - allow_rebase_merge?: boolean; + type: "individual" | "group"; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The link that a student can use to accept the assignment. + * @example https://classroom.github.com/a/Lx7jiUgx */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + invite_link: string; /** - * @description Whether the repository is archived. - * @default false + * @description Whether the invitation link is enabled. Visiting an enabled invitation link will accept the assignment. + * @example true */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + invitations_enabled: boolean; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description Sluggified name of the assignment. + * @example intro-to-binaries */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + slug: string; /** - * @description Whether downloads are enabled. - * @default true + * @description Whether students are admins on created repository on accepted assignment. + * @example true + */ + students_are_repo_admins: boolean; + /** + * @description Whether feedback pull request will be created on assignment acceptance. + * @example true + */ + feedback_pull_requests_enabled: boolean; + /** + * @description The maximum allowable teams for the assignment. + * @example 0 + */ + max_teams?: number | null; + /** + * @description The maximum allowable members per team. + * @example 0 + */ + max_members?: number | null; + /** + * @description The selected editor for the assignment. + * @example codespaces + */ + editor: string; + /** + * @description The number of students that have accepted the assignment. + * @example 25 + */ + accepted: number; + /** + * @description The number of students that have submitted the assignment. + * @example 10 + */ + submitted: number; + /** + * @description The number of students that have passed the assignment. + * @example 10 + */ + passing: number; + /** + * @description The programming language used in the assignment. + * @example elixir + */ + language: string; + /** + * Format: date-time + * @description The time at which the assignment is due. + * @example 2011-01-26T19:06:43Z + */ + deadline: string | null; + classroom: components["schemas"]["simple-classroom"]; + }; + /** + * Classroom Accepted Assignment + * @description A GitHub Classroom accepted assignment + */ + "classroom-accepted-assignment": { + /** + * @description Unique identifier of the repository. + * @example 42 + */ + id: number; + /** + * @description Whether an accepted assignment has been submitted. + * @example true + */ + submitted: boolean; + /** + * @description Whether a submission passed. + * @example true + */ + passing: boolean; + /** + * @description Count of student commits. + * @example 5 + */ + commit_count: number; + /** + * @description Most recent grade. + * @example 10/10 + */ + grade: string; + students: components["schemas"]["simple-classroom-user"][]; + repository: components["schemas"]["simple-classroom-repository"]; + assignment: components["schemas"]["simple-classroom-assignment"]; + }; + /** + * Classroom Assignment Grade + * @description Grade for a student or groups GitHub Classroom assignment + */ + "classroom-assignment-grade": { + /** @description Name of the assignment */ + assignment_name: string; + /** @description URL of the assignment */ + assignment_url: string; + /** @description URL of the starter code for the assignment */ + starter_code_url: string; + /** @description GitHub username of the student */ + github_username: string; + /** @description Roster identifier of the student */ + roster_identifier: string; + /** @description Name of the student's assignment repository */ + student_repository_name: string; + /** @description URL of the student's assignment repository */ + student_repository_url: string; + /** @description Timestamp of the student's assignment submission */ + submission_timestamp: string; + /** @description Number of points awarded to the student */ + points_awarded: number; + /** @description Number of points available for the assignment */ + points_available: number; + /** @description If a group assignment, name of the group the student is in */ + group_name?: string; + }; + /** + * Code Of Conduct + * @description Code Of Conduct + */ + "code-of-conduct": { + /** @example contributor_covenant */ + key: string; + /** @example Contributor Covenant */ + name: string; + /** + * Format: uri + * @example https://api.github.com/codes_of_conduct/contributor_covenant + */ + url: string; + /** @example # Contributor Covenant Code of Conduct + * + * ## Our Pledge + * + * In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + * + * ## Our Standards + * + * Examples of behavior that contributes to creating a positive environment include: + * + * * Using welcoming and inclusive language + * * Being respectful of differing viewpoints and experiences + * * Gracefully accepting constructive criticism + * * Focusing on what is best for the community + * * Showing empathy towards other community members + * + * Examples of unacceptable behavior by participants include: + * + * * The use of sexualized language or imagery and unwelcome sexual attention or advances + * * Trolling, insulting/derogatory comments, and personal or political attacks + * * Public or private harassment + * * Publishing others' private information, such as a physical or electronic address, without explicit permission + * * Other conduct which could reasonably be considered inappropriate in a professional setting + * + * ## Our Responsibilities + * + * Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + * to any instances of unacceptable behavior. + * + * Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + * + * ## Scope + * + * This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + * posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + * + * ## Enforcement + * + * Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + * + * Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + * + * ## Attribution + * + * This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + * + * [homepage]: http://contributor-covenant.org + * [version]: http://contributor-covenant.org/version/1/4/ + * */ + body?: string; + /** Format: uri */ + html_url: string | null; + }; + /** @description The security alert number. */ + "alert-number": number; + /** @description Details for the vulnerable package. */ + "dependabot-alert-package": { + /** @description The package's language or package management ecosystem. */ + readonly ecosystem: string; + /** @description The unique package name within its ecosystem. */ + readonly name: string; + }; + /** @description Details pertaining to one vulnerable version range for the advisory. */ + "dependabot-alert-security-vulnerability": { + package: components["schemas"]["dependabot-alert-package"]; + /** + * @description The severity of the vulnerability. + * @enum {string} + */ + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Conditions that identify vulnerable versions of this vulnerability's package. */ + readonly vulnerable_version_range: string; + /** @description Details pertaining to the package version that patches this vulnerability. */ + readonly first_patched_version: { + /** @description The package version that patches this vulnerability. */ + readonly identifier: string; + } | null; + }; + /** @description Details for the GitHub Security Advisory. */ + "dependabot-alert-security-advisory": { + /** @description The unique GitHub Security Advisory ID assigned to the advisory. */ + readonly ghsa_id: string; + /** @description The unique CVE ID assigned to the advisory. */ + readonly cve_id: string | null; + /** @description A short, plain text summary of the advisory. */ + readonly summary: string; + /** @description A long-form Markdown-supported description of the advisory. */ + readonly description: string; + /** @description Vulnerable version range information for the advisory. */ + readonly vulnerabilities: components["schemas"]["dependabot-alert-security-vulnerability"][]; + /** + * @description The severity of the advisory. + * @enum {string} */ - has_downloads: boolean; + readonly severity: "low" | "medium" | "high" | "critical"; + /** @description Details for the advisory pertaining to the Common Vulnerability Scoring System. */ + readonly cvss: { + /** @description The overall CVSS score of the advisory. */ + readonly score: number; + /** @description The full CVSS vector string for the advisory. */ + readonly vector_string: string | null; + }; + /** @description Details for the advisory pertaining to Common Weakness Enumeration. */ + readonly cwes: { + /** @description The unique CWE ID. */ + readonly cwe_id: string; + /** @description The short, plain text name of the CWE. */ + readonly name: string; + }[]; + /** @description Values that identify this advisory among security information sources. */ + readonly identifiers: { + /** + * @description The type of advisory identifier. + * @enum {string} + */ + readonly type: "CVE" | "GHSA"; + /** @description The value of the advisory identifer. */ + readonly value: string; + }[]; + /** @description Links to additional advisory information. */ + readonly references: { + /** + * Format: uri + * @description The URL of the reference. + */ + readonly url: string; + }[]; /** - * @description Whether issues are enabled. - * @default true + * Format: date-time + * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - has_issues: boolean; - has_pages: boolean; + readonly published_at: string; /** - * @description Whether projects are enabled. - * @default true + * Format: date-time + * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - has_projects: boolean; + readonly updated_at: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: date-time + * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - has_wiki: boolean; + readonly withdrawn_at: string | null; + }; + /** + * Format: uri + * @description The REST API URL of the alert resource. + */ + "alert-url": string; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + "alert-html-url": string; + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-created-at": string; + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-updated-at": string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-dismissed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-fixed-at": string | null; + /** + * Format: date-time + * @description The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "alert-auto-dismissed-at": string | null; + /** + * Simple Repository + * @description A GitHub repository. + */ + "simple-repository": { /** - * @description Whether discussions are enabled. - * @default false + * @description A unique identifier of the repository. + * @example 1296269 */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The name of the repository. + * @example Hello-World */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + name: string; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * @description The full, globally unique, name of the repository. + * @example octocat/Hello-World */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + full_name: string; + owner: components["schemas"]["simple-user"]; + /** @description Whether the repository is private. */ + private: boolean; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + html_url: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The repository description. + * @example This your first repo! */ - allow_merge_commit?: boolean; + description: string | null; + /** @description Whether the repository is a fork. */ + fork: boolean; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @description The URL to get more information about the repository from the GitHub API. + * @example https://api.github.com/repos/octocat/Hello-World */ - allow_rebase_merge?: boolean; + url: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description A template for the API URL to download the repository as an archive. + * @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ archive_url: string; /** - * @description Whether the repository is archived. - * @default false + * @description A template for the API URL to list the available assignees for issues in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - archived: boolean; - /** Format: uri-template */ assignees_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to create or retrieve a raw Git blob in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + */ blobs_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} + */ branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about collaborators of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + */ collaborators_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/comments{/number} + */ comments_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about commits on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} + */ commits_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to compare two commits or refs. + * @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + */ compare_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get the contents of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} + */ contents_url: string; - /** Format: uri */ + /** + * Format: uri + * @description A template for the API URL to list the contributors to the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contributors + */ contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @description The API URL to list the deployments of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/deployments */ - delete_branch_on_merge?: boolean; - /** Format: uri */ deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @description The API URL to list the downloads on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @description The API URL to list the events of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/events */ - has_downloads: boolean; + events_url: string; /** - * @description Whether issues are enabled. - * @default true + * Format: uri + * @description The API URL to list the forks of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/forks */ - has_issues: boolean; - has_pages: boolean; + forks_url: string; /** - * @description Whether projects are enabled. - * @default true + * @description A template for the API URL to get information about Git commits of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - has_projects: boolean; + git_commits_url: string; /** - * @description Whether the wiki is enabled. - * @default true + * @description A template for the API URL to get information about Git refs of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - has_wiki: boolean; + git_refs_url: string; /** - * @description Whether discussions are enabled. - * @default false + * @description A template for the API URL to get information about Git tags of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + */ + git_tags_url: string; + /** + * @description A template for the API URL to get information about issue comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ issue_comment_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about issue events on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + */ issue_events_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about issues on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues{/number} + */ issues_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about deploy keys on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} + */ keys_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about labels of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/labels{/name} + */ labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @description The API URL to get information about the languages of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/languages */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + languages_url: string; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * Format: uri + * @description The API URL to merge branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/merges */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ merges_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about milestones of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} + */ milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about notifications on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + */ notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about pull requests on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} + */ pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description A template for the API URL to get information about releases on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/releases{/id} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + releases_url: string; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Format: uri + * @description The API URL to list the stargazers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/stargazers */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ stargazers_url: string; - /** Format: uri-template */ + /** + * @description A template for the API URL to get information about statuses of a commit. + * @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} + */ statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: uri + * @description The API URL to list the subscribers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscribers */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + subscribers_url: string; /** * Format: uri - * @description URL for the label + * @description The API URL to subscribe to notifications for this repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscription */ - url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + subscription_url: string; /** * Format: uri - * @description URL for the team + * @description The API URL to get information about tags on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/tags */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + tags_url: string; + /** + * Format: uri + * @description The API URL to list the teams on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** + * @description A template for the API URL to create or retrieve a raw Git tree of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + */ + trees_url: string; /** * Format: uri - * @description URL for the team + * @description The API URL to list the hooks on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/hooks */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_comment edited event */ - "webhook-pull-request-review-comment-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the comment. */ - changes: { - body?: { - /** @description The previous version of the body. */ - from: string; - }; - }; - /** - * Pull Request Review Comment - * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. - */ - comment: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; + hooks_url: string; + }; + /** @description A Dependabot alert. */ + "dependabot-alert-with-repository": { + number: components["schemas"]["alert-number"]; + /** + * @description The state of the Dependabot alert. + * @enum {string} + */ + readonly state: "auto_dismissed" | "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + readonly dependency: { + package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime"; + }; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk"; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: string | null; + fixed_at: components["schemas"]["alert-fixed-at"]; + auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; + repository: components["schemas"]["simple-repository"]; }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ - created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; - /** - * Format: uri - * @description HTML URL for the pull request review comment. - */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; + "nullable-alert-updated-at": string | null; /** - * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. + * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. * @enum {string} */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; + "secret-scanning-alert-state": "open" | "resolved"; /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT + * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. * @enum {string|null} */ - start_side: "LEFT" | "RIGHT" | null; + "secret-scanning-alert-resolution": "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; + "organization-secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + repository?: components["schemas"]["simple-repository"]; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + /** @description The comment that was optionally added when this alert was closed */ + resolution_comment?: string | null; + }; /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} + * Actor + * @description Actor */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; - /** - * Format: uri - * @description URL for the pull request review comment - */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + actor: { id: number; login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + display_login?: string; + gravatar_id: string | null; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + url: string; /** Format: uri */ - url?: string; - }) | null)[]; + avatar_url: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + "nullable-milestone": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels + */ + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; + /** + * @description The number of the milestone. + * @example 42 + */ + number: number; + /** + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** + * @description The title of the milestone. + * @example v1.0 + */ + title: string; + /** @example Tracking milestone for version 1.0 */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2013-02-12T13:22:01Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2012-10-09T23:39:01Z + */ + due_on: string | null; + } | null; + /** + * GitHub app + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + "nullable-integration": { + /** + * @description Unique identifier of the GitHub app + * @example 37 + */ + id: number; + /** + * @description The slug name of the GitHub app + * @example probot-owners + */ + slug?: string; + /** @example MDExOkludGVncmF0aW9uMQ== */ + node_id: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description The name of the GitHub app + * @example Probot Owners + */ + name: string; + /** @example The description of the app. */ + description: string | null; + /** + * Format: uri + * @example https://example.com + */ + external_url: string; + /** + * Format: uri + * @example https://github.com/apps/super-ci + */ + html_url: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2017-07-08T16:18:44-04:00 + */ + updated_at: string; + /** + * @description The set of permissions for the GitHub app + * @example { + * "issues": "read", + * "deployments": "write" + * } + */ + permissions: { + issues?: string; + checks?: string; + metadata?: string; + contents?: string; + deployments?: string; + [key: string]: string; + }; + /** + * @description The list of events for the GitHub app + * @example [ + * "label", + * "deployment" + * ] + */ + events: string[]; + /** + * @description The number of installations associated with the GitHub app + * @example 5 + */ + installations_count?: number; + /** @example "Iv1.25b5d1e65ffc4022" */ + client_id?: string; + /** @example "1d4b2097ac622ba702d19de498f005747a8b21d3" */ + client_secret?: string; + /** @example "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b" */ + webhook_secret?: string | null; + /** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */ + pem?: string; + } | null; /** - * AuthorAssociation + * author_association * @description How the author is associated with the repository. + * @example OWNER * @enum {string} */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "author-association": "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** Reaction Rollup */ + "reaction-rollup": { + /** Format: uri */ + url: string; + total_count: number; + "+1": number; + "-1": number; + laugh: number; + confused: number; + heart: number; + hooray: number; + eyes: number; + rocket: number; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. */ - auto_merge?: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + issue: { + /** Format: int64 */ id: number; - login: string; - name?: string; - node_id?: string; + node_id: string; + /** + * Format: uri + * @description URL for the issue + * @example https://api.github.com/repositories/42/issues/1 + */ + url: string; /** Format: uri */ - organizations_url?: string; + repository_url: string; + labels_url: string; /** Format: uri */ - received_events_url?: string; + comments_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + events_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + html_url: string; + /** + * @description Number uniquely identifying the issue within its repository + * @example 42 + */ + number: number; + /** + * @description State of the issue; either 'open' or 'closed' + * @example open + */ + state: string; + /** + * @description The reason for the current state + * @example not_planned + * @enum {string|null} + */ + state_reason?: "completed" | "reopened" | "not_planned"; + /** + * @description Title of the issue + * @example Widget creation fails in Safari on OS X 10.8 + */ + title: string; + /** + * @description Contents of the issue + * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? + */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + * @example [ + * "bug", + * "registration" + * ] + */ + labels: (string | { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + })[]; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["nullable-milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + draft?: boolean; + closed_by?: components["schemas"]["nullable-simple-user"]; + body_html?: string; + body_text?: string; /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Issue Comment + * @description Comments provide a way for people to collaborate on an issue. + */ + "issue-comment": { + /** + * Format: int64 + * @description Unique identifier of the issue comment + * @example 42 */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + id: number; + node_id: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: uri + * @description URL for the issue comment + * @example https://api.github.com/repositories/42/issues/comments/1 */ - allow_merge_commit?: boolean; + url: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description Contents of the issue comment + * @example What version of Safari were you using when you observed this bug? */ - allow_rebase_merge?: boolean; + body?: string; + body_text?: string; + body_html?: string; + /** Format: uri */ + html_url: string; + user: components["schemas"]["nullable-simple-user"]; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: date-time + * @example 2011-04-14T16:00:49Z */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + created_at: string; /** - * @description Whether the repository is archived. - * @default false + * Format: date-time + * @example 2011-04-14T16:00:49Z */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Event + * @description Event + */ + event: { + id: string; + type: string | null; + actor: components["schemas"]["actor"]; + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + org?: components["schemas"]["actor"]; + payload: { + action?: string; + issue?: components["schemas"]["issue"]; + comment?: components["schemas"]["issue-comment"]; + pages?: { + page_name?: string; + title?: string; + summary?: string | null; + action?: string; + sha?: string; + html_url?: string; + }[]; + }; + public: boolean; + /** Format: date-time */ + created_at: string | null; + }; + /** + * Link With Type + * @description Hypermedia Link with Type + */ + "link-with-type": { + href: string; + type: string; + }; + /** + * Feed + * @description Feed + */ + feed: { + /** @example https://github.com/timeline */ + timeline_url: string; + /** @example https://github.com/{user} */ + user_url: string; + /** @example https://github.com/octocat */ + current_user_public_url?: string; + /** @example https://github.com/octocat.private?token=abc123 */ + current_user_url?: string; + /** @example https://github.com/octocat.private.actor?token=abc123 */ + current_user_actor_url?: string; + /** @example https://github.com/octocat-org */ + current_user_organization_url?: string; + /** @example [ + * "https://github.com/organizations/github/octocat.private.atom?token=abc123" + * ] */ + current_user_organization_urls?: string[]; + /** @example https://github.com/security-advisories */ + security_advisories_url?: string; + /** + * @description A feed of discussions for a given repository. + * @example https://github.com/{user}/{repo}/discussions + */ + repository_discussions_url?: string; + /** + * @description A feed of discussions for a given repository and category. + * @example https://github.com/{user}/{repo}/discussions/categories/{category} + */ + repository_discussions_category_url?: string; + _links: { + timeline: components["schemas"]["link-with-type"]; + user: components["schemas"]["link-with-type"]; + security_advisories?: components["schemas"]["link-with-type"]; + current_user?: components["schemas"]["link-with-type"]; + current_user_public?: components["schemas"]["link-with-type"]; + current_user_actor?: components["schemas"]["link-with-type"]; + current_user_organization?: components["schemas"]["link-with-type"]; + current_user_organizations?: components["schemas"]["link-with-type"][]; + repository_discussions?: components["schemas"]["link-with-type"]; + repository_discussions_category?: components["schemas"]["link-with-type"]; + }; + }; + /** + * Base Gist + * @description Base Gist + */ + "base-gist": { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; + id: string; + node_id: string; /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; + git_pull_url: string; /** Format: uri */ - deployments_url: string; + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; + comments: number; + user: components["schemas"]["nullable-simple-user"]; /** Format: uri */ - downloads_url: string; + comments_url: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + }; + /** + * Public User + * @description Public User + */ + "public-user": { + login: string; + id: number; + node_id: string; + /** Format: uri */ + avatar_url: string; + gravatar_id: string | null; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + starred_url: string; /** Format: uri */ + subscriptions_url: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + repos_url: string; events_url: string; - fork: boolean; - forks: number; - forks_count: number; /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; + received_events_url: string; + type: string; + site_admin: boolean; + name: string | null; + company: string | null; + blog: string | null; + location: string | null; + /** Format: email */ + email: string | null; + hireable: boolean | null; + bio: string | null; + twitter_username?: string | null; + public_repos: number; + public_gists: number; + followers: number; + following: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + /** @example 1 */ + private_gists?: number; + /** @example 2 */ + total_private_repos?: number; + /** @example 2 */ + owned_private_repos?: number; + /** @example 1 */ + disk_usage?: number; + /** @example 3 */ + collaborators?: number; + }; + /** + * Gist History + * @description Gist History + */ + "gist-history": { + user?: components["schemas"]["nullable-simple-user"]; + version?: string; + /** Format: date-time */ + committed_at?: string; + change_status?: { + total?: number; + additions?: number; + deletions?: number; + }; /** Format: uri */ - git_url: string; + url?: string; + }; + /** + * Gist Simple + * @description Gist Simple + */ + "gist-simple": { + /** @deprecated */ + forks?: { + id?: string; + /** Format: uri */ + url?: string; + user?: components["schemas"]["public-user"]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }[] | null; + /** @deprecated */ + history?: components["schemas"]["gist-history"][] | null; /** - * @description Whether downloads are enabled. - * @default true + * Gist + * @description Gist */ - has_downloads: boolean; + fork_of?: { + /** Format: uri */ + url: string; + /** Format: uri */ + forks_url: string; + /** Format: uri */ + commits_url: string; + id: string; + node_id: string; + /** Format: uri */ + git_pull_url: string; + /** Format: uri */ + git_push_url: string; + /** Format: uri */ + html_url: string; + files: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + }; + }; + public: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + description: string | null; + comments: number; + user: components["schemas"]["nullable-simple-user"]; + /** Format: uri */ + comments_url: string; + owner?: components["schemas"]["nullable-simple-user"]; + truncated?: boolean; + forks?: unknown[]; + history?: unknown[]; + } | null; + url?: string; + forks_url?: string; + commits_url?: string; + id?: string; + node_id?: string; + git_pull_url?: string; + git_push_url?: string; + html_url?: string; + files?: { + [key: string]: { + filename?: string; + type?: string; + language?: string; + raw_url?: string; + size?: number; + truncated?: boolean; + content?: string; + } | null; + }; + public?: boolean; + created_at?: string; + updated_at?: string; + description?: string | null; + comments?: number; + user?: string | null; + comments_url?: string; + owner?: components["schemas"]["simple-user"]; + truncated?: boolean; + }; + /** + * Gist Comment + * @description A comment made to a gist. + */ + "gist-comment": { + /** @example 1 */ + id: number; + /** @example MDExOkdpc3RDb21tZW50MQ== */ + node_id: string; /** - * @description Whether issues are enabled. - * @default true + * Format: uri + * @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ - has_issues: boolean; - has_pages: boolean; + url: string; /** - * @description Whether projects are enabled. - * @default true + * @description The comment text. + * @example Body of the attachment */ - has_projects: boolean; + body: string; + user: components["schemas"]["nullable-simple-user"]; /** - * @description Whether the wiki is enabled. - * @default true + * Format: date-time + * @example 2011-04-18T23:23:56Z */ - has_wiki: boolean; + created_at: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: date-time + * @example 2011-04-18T23:23:56Z */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + updated_at: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Gist Commit + * @description Gist Commit + */ + "gist-commit": { /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @example https://api.github.com/gists/aa5a315d61ae9438b18d/57a7f021a713b1c5a6a199b54cc514735d2d462f */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + url: string; + /** @example 57a7f021a713b1c5a6a199b54cc514735d2d462f */ + version: string; + user: components["schemas"]["nullable-simple-user"]; + change_status: { + total?: number; + additions?: number; + deletions?: number; + }; /** - * @description The default value for a merge commit title. + * Format: date-time + * @example 2010-04-14T02:15:15Z + */ + committed_at: string; + }; + /** + * Gitignore Template + * @description Gitignore Template + */ + "gitignore-template": { + /** @example C */ + name: string; + /** @example # Object files + * *.o * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * # Libraries + * *.lib + * *.a + * + * # Shared objects (inc. Windows DLLs) + * *.dll + * *.so + * *.so.* + * *.dylib + * + * # Executables + * *.exe + * *.out + * *.app + * */ + source: string; + }; + /** + * License Simple + * @description License Simple + */ + "license-simple": { + /** @example mit */ + key: string; + /** @example MIT License */ + name: string; + /** + * Format: uri + * @example https://api.github.com/licenses/mit */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + url: string | null; + /** @example MIT */ + spdx_id: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ + html_url?: string; + }; + /** + * License + * @description License + */ + license: { + /** @example mit */ + key: string; + /** @example MIT License */ name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + /** @example MIT */ + spdx_id: string | null; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @example https://api.github.com/licenses/mit */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + url: string | null; + /** @example MDc6TGljZW5zZW1pdA== */ + node_id: string; /** - * @description The default value for a squash merge commit title: + * Format: uri + * @example http://choosealicense.com/licenses/mit/ + */ + html_url: string; + /** @example A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty. */ + description: string; + /** @example Create a text file (typically named LICENSE or LICENSE.txt) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders. */ + implementation: string; + /** @example [ + * "commercial-use", + * "modifications", + * "distribution", + * "sublicense", + * "private-use" + * ] */ + permissions: string[]; + /** @example [ + * "include-copyright" + * ] */ + conditions: string[]; + /** @example [ + * "no-liability" + * ] */ + limitations: string[]; + /** @example * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * The MIT License (MIT) + * + * Copyright (c) [year] [fullname] + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * */ + body: string; + /** @example true */ + featured: boolean; + }; + /** + * Marketplace Listing Plan + * @description Marketplace Listing Plan + */ + "marketplace-listing-plan": { + /** + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313 */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: uri + * @example https://api.github.com/marketplace_listing/plans/1313/accounts */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + accounts_url: string; + /** @example 1313 */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft?: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + /** @example 3 */ + number: number; + /** @example Pro */ + name: string; + /** @example A professional-grade CI solution */ + description: string; + /** @example 1099 */ + monthly_price_in_cents: number; + /** @example 11870 */ + yearly_price_in_cents: number; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @example FLAT_RATE + * @enum {string} */ - allow_merge_commit?: boolean; + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + /** @example true */ + has_free_trial: boolean; + unit_name: string | null; + /** @example published */ + state: string; + /** @example [ + * "Up to 25 private repositories", + * "11 concurrent builds" + * ] */ + bullets: string[]; + }; + /** + * Marketplace Purchase + * @description Marketplace Purchase + */ + "marketplace-purchase": { + url: string; + type: string; + id: number; + login: string; + organization_billing_email?: string; + email?: string | null; + marketplace_pending_change?: { + is_installed?: boolean; + effective_date?: string; + unit_count?: number | null; + id?: number; + plan?: components["schemas"]["marketplace-listing-plan"]; + } | null; + marketplace_purchase: { + billing_cycle?: string; + next_billing_date?: string | null; + is_installed?: boolean; + unit_count?: number | null; + on_free_trial?: boolean; + free_trial_ends_on?: string | null; + updated_at?: string; + plan?: components["schemas"]["marketplace-listing-plan"]; + }; + }; + /** + * Api Overview + * @description Api Overview + */ + "api-overview": { + /** @example true */ + verifiable_password_authentication: boolean; + ssh_key_fingerprints?: { + SHA256_RSA?: string; + SHA256_DSA?: string; + SHA256_ECDSA?: string; + SHA256_ED25519?: string; + }; + /** @example [ + * "ssh-ed25519 ABCDEFGHIJKLMNOPQRSTUVWXYZ" + * ] */ + ssh_keys?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + hooks?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + github_enterprise_importer?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + web?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + api?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + git?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + packages?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + pages?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + importer?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + actions?: string[]; + /** @example [ + * "192.0.2.1" + * ] */ + dependabot?: string[]; + domains?: { + website?: string[]; + codespaces?: string[]; + copilot?: string[]; + packages?: string[]; + }; + }; + "security-and-analysis": { + advanced_security?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + /** @description Enable or disable Dependabot security updates for the repository. */ + dependabot_security_updates?: { + /** + * @description The enablement status of Dependabot security updates for the repository. + * @enum {string} + */ + status?: "enabled" | "disabled"; + }; + secret_scanning?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + secret_scanning_push_protection?: { + /** @enum {string} */ + status?: "enabled" | "disabled"; + }; + } | null; + /** + * Minimal Repository + * @description Minimal Repository + */ + "minimal-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat/Hello-World */ - allow_rebase_merge?: boolean; + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ assignees_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ blobs_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ collaborators_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ comments_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ commits_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ compare_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors */ - has_downloads: boolean; + contributors_url: string; /** - * @description Whether issues are enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments */ - has_issues: boolean; - has_pages: boolean; + deployments_url: string; /** - * @description Whether projects are enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads */ - has_projects: boolean; + downloads_url: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events */ - has_wiki: boolean; + events_url: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ issue_comment_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ issue_events_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ issues_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ keys_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + languages_url: string; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ merges_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + ssh_url?: string; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ stargazers_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ statuses_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + subscription_url: string; /** * Format: uri - * @description URL for the label + * @example http://api.github.com/repos/octocat/Hello-World/tags */ - url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + tags_url: string; /** * Format: uri - * @description URL for the team + * @example http://api.github.com/repos/octocat/Hello-World/teams */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + clone_url?: string; + mirror_url?: string | null; /** * Format: uri - * @description URL for the team + * @example http://api.github.com/repos/octocat/Hello-World/hooks */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review dismissed event */ - "webhook-pull-request-review-dismissed": { - /** @enum {string} */ - action: "dismissed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + has_discussions?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Thread + * @description Thread */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + thread: { + id: string; + repository: components["schemas"]["minimal-repository"]; + subject: { + title: string; + url: string; + latest_comment_url: string; + type: string; + }; + reason: string; + unread: boolean; + updated_at: string; + last_read_at: string | null; + url: string; + /** @example https://api.github.com/notifications/threads/2/subscription */ + subscription_url: string; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Thread Subscription + * @description Thread Subscription */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "thread-subscription": { + /** @example true */ + subscribed: boolean; + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string | null; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1/subscription + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/notifications/threads/1 + */ + thread_url?: string; + /** + * Format: uri + * @example https://api.github.com/repos/1 + */ + repository_url?: string; + }; + /** + * Organization Simple + * @description A GitHub organization. + */ + "organization-simple": { + /** @example github */ + login: string; + /** @example 1 */ id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + }; + /** + * Organization Full + * @description Organization Full + */ + "organization-full": { + /** @example github */ login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** @example GitHub */ + company?: string; + /** + * Format: uri + * @example https://github.com/blog */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + blog?: string; + /** @example San Francisco */ + location?: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: email + * @example octocat@github.com */ - allow_merge_commit?: boolean; + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat */ - allow_rebase_merge?: boolean; + html_url: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** + * Format: email + * @example org@example.com + */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description Whether GitHub Advanced Security is enabled for new repositories and repositories transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + advanced_security_enabled_for_new_repositories?: boolean; /** - * @description Whether the repository is archived. - * @default false + * @description Whether GitHub Advanced Security is automatically enabled for new repositories and repositories transferred to + * this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + dependabot_alerts_enabled_for_new_repositories?: boolean; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description Whether dependabot security updates are automatically enabled for new repositories and repositories transferred + * to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** + * @description Whether dependency graph is automatically enabled for new repositories and repositories transferred to this + * organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** + * @description Whether secret scanning is automatically enabled for new repositories and repositories transferred to this + * organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** + * @description Whether secret scanning push protection is automatically enabled for new repositories and repositories + * transferred to this organization. + * + * This field is only visible to organization owners or members of a team with the security manager role. + * @example false + */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** + * @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. + * @example false + */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** + * @description An optional URL string to display to contributors who are blocked from pushing a secret. + * @example https://github.com/test-org/test-repo/blob/main/README.md + */ + secret_scanning_push_protection_custom_link?: string | null; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; + }; + "actions-cache-usage-org-enterprise": { + /** @description The count of active caches across all repositories of an enterprise or an organization. */ + total_active_caches_count: number; + /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */ + total_active_caches_size_in_bytes: number; + }; + /** + * Actions Cache Usage by repository + * @description GitHub Actions Cache Usage by repository. + */ + "actions-cache-usage-by-repository": { + /** + * @description The repository owner and name for the cache usage being shown. + * @example octo-org/Hello-World */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; /** - * @description Whether downloads are enabled. - * @default true + * @description The sum of the size in bytes of all the active cache items in the repository. + * @example 2322142 + */ + active_caches_size_in_bytes: number; + /** + * @description The number of active caches in the repository. + * @example 3 + */ + active_caches_count: number; + }; + /** + * Actions OIDC Subject customization + * @description Actions OIDC Subject customization + */ + "oidc-custom-sub": { + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys: string[]; + }; + /** + * Empty Object + * @description An object without any properties. + */ + "empty-object": Record; + /** + * @description The policy that controls the repositories in the organization that are allowed to run GitHub Actions. + * @enum {string} + */ + "enabled-repositories": "all" | "none" | "selected"; + /** + * @description The permissions policy that controls the actions and reusable workflows that are allowed to run. + * @enum {string} + */ + "allowed-actions": "all" | "local_only" | "selected"; + /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */ + "selected-actions-url": string; + "actions-organization-permissions": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + /** @description The API URL to use to get or set the selected repositories that are allowed to run GitHub Actions, when `enabled_repositories` is set to `selected`. */ + selected_repositories_url?: string; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "selected-actions": { + /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ + github_owned_allowed?: boolean; + /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */ + verified_allowed?: boolean; + /** @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`. + * + * **Note**: The `patterns_allowed` setting only applies to public repositories. */ + patterns_allowed?: string[]; + }; + /** + * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows. + * @enum {string} + */ + "actions-default-workflow-permissions": "read" | "write"; + /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */ + "actions-can-approve-pull-request-reviews": boolean; + "actions-get-default-workflow-permissions": { + default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + "actions-set-default-workflow-permissions": { + default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"]; + can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"]; + }; + /** + * Self hosted runner label + * @description A label for a self hosted runner + */ + "runner-label": { + /** @description Unique identifier of the label. */ + id?: number; + /** @description Name of the label. */ + name: string; + /** + * @description The type of label. Read-only labels are applied automatically when the runner is configured. + * @enum {string} + */ + type?: "read-only" | "custom"; + }; + /** + * Self hosted runners + * @description A self hosted runner + */ + runner: { + /** + * @description The id of the runner. + * @example 5 + */ + id: number; + /** + * @description The id of the runner group. + * @example 1 */ - has_downloads: boolean; + runner_group_id?: number; /** - * @description Whether issues are enabled. - * @default true + * @description The name of the runner. + * @example iMac */ - has_issues: boolean; - has_pages: boolean; + name: string; /** - * @description Whether projects are enabled. - * @default true + * @description The Operating System of the runner. + * @example macos */ - has_projects: boolean; + os: string; /** - * @description Whether the wiki is enabled. - * @default true + * @description The status of the runner. + * @example online */ - has_wiki: boolean; + status: string; + busy: boolean; + labels: components["schemas"]["runner-label"][]; + }; + /** + * Runner Application + * @description Runner Application + */ + "runner-application": { + os: string; + architecture: string; + download_url: string; + filename: string; + /** @description A short lived bearer token used to download the runner, if needed. */ + temp_download_token?: string; + sha256_checksum?: string; + }; + /** + * Authentication Token + * @description Authentication Token + */ + "authentication-token": { /** - * @description Whether discussions are enabled. - * @default false + * @description The token used for authentication + * @example v1.1f699f1069f60xxx */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + token: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * Format: date-time + * @description The time this token expires + * @example 2016-07-11T22:14:10Z + */ + expires_at: string; + /** @example { + * "issues": "read", + * "deployments": "write" + * } */ + permissions?: Record; + /** @description The repositories this token has access to */ + repositories?: components["schemas"]["repository"][]; + /** @example config.yaml */ + single_file?: string | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved * @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + repository_selection?: "all" | "selected"; + }; + /** + * Actions Secret for an Organization + * @description Secrets for GitHub Actions for an organization. + */ + "organization-actions-secret": { /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * @description The name of the secret. + * @example SECRET_TOKEN */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * @description Visibility of a secret * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + visibility: "all" | "private" | "selected"; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Format: uri + * @example https://api.github.com/organizations/org/secrets/my_secret/repositories */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + selected_repositories_url?: string; + }; + /** + * ActionsPublicKey + * @description The public key used for setting Actions Secrets. + */ + "actions-public-key": { /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * @description The identifier for the key. + * @example 1234567 */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; + /** + * Actions Variable for an Organization + * @description Organization variable for GitHub Actions. + */ + "organization-actions-variable": { + /** + * @description The name of the variable. + * @example USERNAME */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + name: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The value of the variable. + * @example octocat */ - allow_merge_commit?: boolean; + value: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: date-time + * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z */ - allow_rebase_merge?: boolean; + created_at: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: date-time + * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + updated_at: string; /** - * @description Whether the repository is archived. - * @default false + * @description Visibility of a variable + * @enum {string} */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + visibility: "all" | "private" | "selected"; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @example https://api.github.com/organizations/org/variables/USERNAME/repositories */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + selected_repositories_url?: string; + }; + /** @description The name of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-name": string; + /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ + "code-scanning-analysis-tool-guid": string | null; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-state-query": "open" | "closed" | "dismissed" | "fixed"; + /** + * @description Severity of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-severity": "critical" | "high" | "medium" | "low" | "warning" | "note" | "error"; + /** + * Format: uri + * @description The REST API URL for fetching the list of instances for an alert. + */ + "alert-instances-url": string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + "code-scanning-alert-state": "open" | "dismissed" | "fixed"; + /** + * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert. + * @enum {string|null} + */ + "code-scanning-alert-dismissed-reason": null | "false positive" | "won't fix" | "used in tests"; + /** @description The dismissal comment associated with the dismissal of the alert. */ + "code-scanning-alert-dismissed-comment": string | null; + "code-scanning-alert-rule": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity?: "none" | "note" | "warning" | "error"; + /** + * @description The security severity of the alert. + * @enum {string|null} + */ + security_severity_level?: "low" | "medium" | "high" | "critical"; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + /** @description description of the rule used to detect the alert. */ + full_description?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; + /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */ + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + }; + /** @description The version of the tool used to generate the code scanning analysis. */ + "code-scanning-analysis-tool-version": string | null; + "code-scanning-analysis-tool": { + name?: components["schemas"]["code-scanning-analysis-tool-name"]; + version?: components["schemas"]["code-scanning-analysis-tool-version"]; + guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; + }; + /** @description The full Git reference, formatted as `refs/heads/`, + * `refs/pull//merge`, or `refs/pull//head`. */ + "code-scanning-ref": string; + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + "code-scanning-analysis-analysis-key": string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + "code-scanning-alert-environment": string; + /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ + "code-scanning-analysis-category": string; + /** @description Describe a region within a file for the alert. */ + "code-scanning-alert-location": { + path?: string; + start_line?: number; + end_line?: number; + start_column?: number; + end_column?: number; + }; + /** + * @description A classification of the file. For example to identify it as generated. + * @enum {string|null} + */ + "code-scanning-alert-classification": "source" | "generated" | "test" | "library"; + "code-scanning-alert-instance": { + ref?: components["schemas"]["code-scanning-ref"]; + analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment?: components["schemas"]["code-scanning-alert-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + state?: components["schemas"]["code-scanning-alert-state"]; + commit_sha?: string; + message?: { + text?: string; + }; + location?: components["schemas"]["code-scanning-alert-location"]; + html_url?: string; + /** @description Classifications that have been applied to the file that triggered the alert. + * For example identifying it as documentation, or a generated file. */ + classifications?: components["schemas"]["code-scanning-alert-classification"][]; + }; + "code-scanning-organization-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + repository: components["schemas"]["simple-repository"]; + }; + /** + * Codespace machine + * @description A description of the machine powering a codespace. + */ + "nullable-codespace-machine": { + /** + * @description The name of the machine. + * @example standardLinux + */ + name: string; /** - * @description Whether downloads are enabled. - * @default true + * @description The display name of the machine includes cores, memory, and storage. + * @example 4 cores, 16 GB RAM, 64 GB storage */ - has_downloads: boolean; + display_name: string; /** - * @description Whether issues are enabled. - * @default true + * @description The operating system of the machine. + * @example linux */ - has_issues: boolean; - has_pages: boolean; + operating_system: string; /** - * @description Whether projects are enabled. - * @default true + * @description How much storage is available to the codespace. + * @example 68719476736 */ - has_projects: boolean; + storage_in_bytes: number; /** - * @description Whether the wiki is enabled. - * @default true + * @description How much memory is available to the codespace. + * @example 17179869184 */ - has_wiki: boolean; + memory_in_bytes: number; /** - * @description Whether discussions are enabled. - * @default false + * @description How many cores are available to the codespace. + * @example 4 */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + cpus: number; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @example ready + * @enum {string|null} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + prebuild_availability: "none" | "ready" | "in_progress"; + } | null; + /** + * Codespace + * @description A codespace. + */ + codespace: { + /** @example 1 */ + id: number; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * @description Automatically generated name of this codespace. + * @example monalisa-octocat-hello-world-g4wpq6h95q */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description Display name for this codespace. + * @example bookish space pancake */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + display_name?: string | null; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * @description UUID identifying this codespace's environment. + * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 + */ + environment_id: string | null; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["minimal-repository"]; + machine: components["schemas"]["nullable-codespace-machine"]; + /** + * @description Path to devcontainer.json from repo root used to create Codespace. + * @example .devcontainer/example/devcontainer.json + */ + devcontainer_path?: string | null; + /** + * @description Whether the codespace was created from a prebuild. + * @example false + */ + prebuild: boolean | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ updated_at: string; - /** Format: uri */ - url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: date-time + * @description Last known time this codespace was started. + * @example 2011-01-26T19:01:12Z */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + last_used_at: string; + /** + * @description State of this codespace. + * @example Available + * @enum {string} + */ + state: "Unknown" | "Created" | "Queued" | "Provisioning" | "Available" | "Awaiting" | "Unavailable" | "Deleted" | "Moved" | "Shutdown" | "Archived" | "Starting" | "ShuttingDown" | "Failed" | "Exporting" | "Updating" | "Rebuilding"; /** * Format: uri - * @description URL for the label + * @description API URL for this codespace. */ url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** + * @description The number of commits the local repository is ahead of the remote. + * @example 0 + */ + ahead?: number; + /** + * @description The number of commits the local repository is behind the remote. + * @example 0 + */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** + * @description The current branch (or SHA if in detached HEAD state) of the local repository. + * @example main + */ + ref?: string; + }; + /** + * @description The initally assigned location of a new codespace. + * @example WestUs2 + * @enum {string} + */ + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; + /** + * @description The number of minutes of inactivity after which this codespace will be automatically stopped. + * @example 60 + */ + idle_timeout_minutes: number | null; /** * Format: uri - * @description URL for the team + * @description URL to access this codespace on the web. + */ + web_url: string; + /** + * Format: uri + * @description API URL to access available alternate machine types for this codespace. + */ + machines_url: string; + /** + * Format: uri + * @description API URL to start this codespace. + */ + start_url: string; + /** + * Format: uri + * @description API URL to stop this codespace. + */ + stop_url: string; + /** + * Format: uri + * @description API URL to publish this codespace to a new repository. + */ + publish_url?: string | null; + /** + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. + */ + pulls_url: string | null; + recent_folders: string[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: string[] | null; + }; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: boolean | null; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: string | null; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: string | null; + /** + * @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). + * @example 60 + */ + retention_period_minutes?: number | null; + /** + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + * @example 2011-01-26T20:01:12Z + */ + retention_expires_at?: string | null; + /** + * @description The text to display to a user when a codespace has been stopped for a potentially actionable reason. + * @example you've used 100% of your spending limit for Codespaces + */ + last_known_stop_notice?: string | null; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-org-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; /** * Format: uri - * @description URL for the team + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + * @example https://api.github.com/orgs/ORGANIZATION/codespaces/secrets/SECRET_NAME/repositories */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; + selected_repositories_url?: string; }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * CodespacesPublicKey + * @description The public key used for setting Codespaces secrets. */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the review. */ - body: string | null; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - /** @enum {string} */ - state: "dismissed" | "approved" | "changes_requested"; - /** Format: date-time */ - submitted_at: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review edited event */ - "webhook-pull-request-review-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ + "codespaces-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + /** @example 2 */ + id?: number; + /** @example https://api.github.com/user/keys/2 */ url?: string; - }) | null)[]; + /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */ + title?: string; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Copilot for Business Seat Breakdown + * @description The breakdown of Copilot for Business seats for the organization. */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "copilot-seat-breakdown": { + /** @description The total number of seats being billed for the organization as of the current billing cycle. */ + total?: number; + /** @description Seats added during the current billing cycle. */ + added_this_cycle?: number; + /** @description The number of seats that are pending cancellation at the end of the current billing cycle. */ + pending_cancellation?: number; + /** @description The number of seats that have been assigned to users that have not yet accepted an invitation to this organization. */ + pending_invitation?: number; + /** @description The number of seats that have used Copilot during the current billing cycle. */ + active_this_cycle?: number; + /** @description The number of seats that have not used Copilot during the current billing cycle. */ + inactive_this_cycle?: number; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Copilot for Business Organization Details + * @description Information about the seat breakdown and policies set for an organization with a Copilot for Business subscription. */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "copilot-organization-details": { + seat_breakdown: components["schemas"]["copilot-seat-breakdown"]; + /** + * @description The organization policy for allowing or disallowing Copilot to make suggestions that match public code. + * @enum {string} + */ + public_code_suggestions: "allow" | "block" | "unconfigured" | "unknown"; + /** + * @description The organization policy for allowing or disallowing organization members to use Copilot Chat within their editor. + * @enum {string} + */ + copilot_chat?: "enabled" | "disabled" | "unconfigured"; + /** + * @description The mode of assigning new seats. + * @enum {string} + */ + seat_management_setting: "assign_all" | "assign_selected" | "disabled" | "unconfigured"; + [key: string]: unknown; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "nullable-team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description Name of the team + * @example Justice League */ - allow_merge_commit?: boolean; + name: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description Description of the team + * @example A great team. */ - allow_rebase_merge?: boolean; + description: string | null; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description Permission that the team will have for its repositories + * @example admin */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + permission: string; /** - * @description Whether the repository is archived. - * @default false + * @description The level of privacy this team should have + * @example closed */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; + privacy?: string; + /** + * @description The notification setting the team has set + * @example notifications_enabled + */ + notification_setting?: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ + repositories_url: string; + /** @example justice-league */ + slug: string; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + } | null; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + id: number; + node_id: string; + name: string; + slug: string; + description: string | null; + privacy?: string; + notification_setting?: string; + permission: string; + permissions?: { + pull: boolean; + triage: boolean; + push: boolean; + maintain: boolean; + admin: boolean; + }; /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; + members_url: string; /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + repositories_url: string; + parent: components["schemas"]["nullable-team-simple"]; + }; + /** + * Organization + * @description GitHub account for managing multiple users, teams, and repositories + */ + organization: { + /** + * @description Unique login name of the organization + * @example new-org + */ + login: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @description URL for the organization + * @example https://api.github.com/orgs/github */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; + url: string; + id: number; + node_id: string; /** Format: uri */ - downloads_url: string; + repos_url: string; /** Format: uri */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; + hooks_url: string; + issues_url: string; + members_url: string; + public_members_url: string; + avatar_url: string; + description: string | null; + /** + * Format: uri + * @description Display blog url for the organization + * @example blog.example-org.com + */ + blog?: string; /** Format: uri */ - git_url: string; + html_url: string; /** - * @description Whether downloads are enabled. - * @default true + * @description Display name for the organization + * @example New Org */ - has_downloads: boolean; + name?: string; /** - * @description Whether issues are enabled. - * @default true + * @description Display company name for the organization + * @example Acme corporation */ - has_issues: boolean; - has_pages: boolean; + company?: string; /** - * @description Whether projects are enabled. - * @default true + * @description Display location for the organization + * @example Berlin, Germany */ - has_projects: boolean; + location?: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: email + * @description Display email for the organization + * @example org@example.com */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + email?: string; + /** @description Specifies if organization projects are enabled for this org */ + has_organization_projects: boolean; + /** @description Specifies if repository projects are enabled for repositories that belong to this org */ + has_repository_projects: boolean; + is_verified?: boolean; + public_repos: number; + public_gists: number; + followers: number; + following: number; + type: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + plan?: { + name?: string; + space?: number; + private_repos?: number; + filled_seats?: number; + seats?: number; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + }; + /** + * Copilot for Business Seat Detail + * @description Information about a Copilot for Business seat assignment for a user, team, or organization. + */ + "copilot-seat-details": { + /** @description The assignee that has been granted access to GitHub Copilot. */ + assignee: { + [key: string]: unknown; + } & (components["schemas"]["simple-user"] | components["schemas"]["team"] | components["schemas"]["organization"]); + /** @description The team that granted access to GitHub Copilot to the assignee. This will be null if the user was assigned a seat individually. */ + assigning_team?: components["schemas"]["team"] | null; + /** + * Format: date + * @description The pending cancellation date for the seat, in `YYYY-MM-DD` format. This will be null unless the assignee's Copilot access has been canceled during the current billing cycle. If the seat has been cancelled, this corresponds to the start of the organization's next billing cycle. + */ + pending_cancellation_date?: string | null; + /** + * Format: date-time + * @description Timestamp of user's last GitHub Copilot activity, in ISO 8601 format. + */ + last_activity_at?: string | null; + /** @description Last editor that was used by the user for a GitHub Copilot completion. */ + last_activity_editor?: string | null; + /** + * Format: date-time + * @description Timestamp of when the assignee was last granted access to GitHub Copilot, in ISO 8601 format. + */ + created_at: string; + /** + * Format: date-time + * @description Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format. + */ + updated_at?: string; + }; + /** + * Dependabot Secret for an Organization + * @description Secrets for GitHub Dependabot for an organization. + */ + "organization-dependabot-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN + */ + name: string; + /** Format: date-time */ + created_at: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** + * @description Visibility of a secret + * @enum {string} */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + visibility: "all" | "private" | "selected"; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: uri + * @example https://api.github.com/organizations/org/dependabot/secrets/my_secret/repositories */ - allow_merge_commit?: boolean; + selected_repositories_url?: string; + }; + /** + * DependabotPublicKey + * @description The public key used for setting Dependabot Secrets. + */ + "dependabot-public-key": { /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The identifier for the key. + * @example 1234567 */ - allow_rebase_merge?: boolean; + key_id: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + key: string; + }; + /** + * Minimal Repository + * @description Minimal Repository + */ + "nullable-minimal-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @example https://github.com/octocat/Hello-World */ - archived: boolean; - /** Format: uri-template */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ assignees_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ blobs_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ collaborators_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ comments_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ commits_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ compare_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + contributors_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments */ - has_downloads: boolean; + deployments_url: string; /** - * @description Whether issues are enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads */ - has_issues: boolean; - has_pages: boolean; + downloads_url: string; /** - * @description Whether projects are enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events */ - has_projects: boolean; + events_url: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + git_url?: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ issue_comment_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ issue_events_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ issues_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ keys_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ labels_url: string; - language: string | null; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ merges_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ + ssh_url?: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ stargazers_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ statuses_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ subscribers_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ tags_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ teams_url: string; - topics: string[]; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ trees_url: string; + clone_url?: string; + mirror_url?: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + svn_url?: string; + homepage?: string | null; + language?: string | null; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + has_discussions?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at?: string | null; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + /** @example admin */ + role_name?: string; + temp_clone_token?: string; + delete_branch_on_merge?: boolean; + subscribers_count?: number; + network_count?: number; + code_of_conduct?: components["schemas"]["code-of-conduct"]; + license?: { + key?: string; + name?: string; + spdx_id?: string; + url?: string; + node_id?: string; + } | null; + /** @example 0 */ + forks?: number; + /** @example 0 */ + open_issues?: number; + /** @example 0 */ + watchers?: number; + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + } | null; + /** + * Package + * @description A software package + */ + package: { + /** + * @description Unique identifier of the package. + * @example 1 + */ + id: number; + /** + * @description The name of the package. + * @example super-linter + */ + name: string; + /** + * @example docker + * @enum {string} + */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** @example https://api.github.com/orgs/github/packages/container/super-linter */ + url: string; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + html_url: string; + /** + * @description The number of versions of the package. + * @example 1 + */ + version_count: number; + /** + * @example private + * @enum {string} + */ + visibility: "private" | "public"; + owner?: components["schemas"]["nullable-simple-user"]; + repository?: components["schemas"]["nullable-minimal-repository"]; + /** Format: date-time */ + created_at: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ + }; + /** + * Organization Invitation + * @description Organization Invitation + */ + "organization-invitation": { + id: number; + login: string | null; + email: string | null; + role: string; + created_at: string; + failed_at?: string | null; + failed_reason?: string | null; + inviter: components["schemas"]["simple-user"]; + team_count: number; + /** @example "MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x" */ + node_id: string; + /** @example "https://api.github.com/organizations/16/invitations/1/teams" */ + invitation_teams_url: string; + /** @example "member" */ + invitation_source?: string; + }; + /** + * Org Hook + * @description Org Hook + */ + "org-hook": { + /** @example 1 */ + id: number; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1 + */ url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/pings + */ + ping_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/hooks/1/deliveries + */ + deliveries_url?: string; + /** @example web */ + name: string; + /** @example [ + * "push", + * "pull_request" + * ] */ + events: string[]; + /** @example true */ + active: boolean; + config: { + /** @example "http://example.com/2" */ + url?: string; + /** @example "0" */ + insecure_ssl?: string; + /** @example "form" */ + content_type?: string; + /** @example "********" */ + secret?: string; + }; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ + created_at: string; + type: string; + }; + /** + * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect. + * @example collaborators_only + * @enum {string} + */ + "interaction-group": "existing_users" | "contributors_only" | "collaborators_only"; + /** + * Interaction Limits + * @description Interaction limit settings. + */ + "interaction-limit-response": { + limit: components["schemas"]["interaction-group"]; + /** @example repository */ + origin: string; + /** + * Format: date-time + * @example 2018-08-17T04:18:39Z + */ + expires_at: string; + }; + /** + * @description The duration of the interaction restriction. Default: `one_day`. + * @example one_month + * @enum {string} + */ + "interaction-expiry": "one_day" | "three_days" | "one_week" | "one_month" | "six_months"; + /** + * Interaction Restrictions + * @description Limit interactions to a specific type of user for a specified duration + */ + "interaction-limit": { + limit: components["schemas"]["interaction-group"]; + expiry?: components["schemas"]["interaction-expiry"]; + }; + /** + * Org Membership + * @description Org Membership + */ + "org-membership": { + /** + * Format: uri + * @example https://api.github.com/orgs/octocat/memberships/defunkt + */ + url: string; + /** + * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation. + * @example active + * @enum {string} + */ + state: "active" | "pending"; + /** + * @description The user's membership type in the organization. + * @example admin + * @enum {string} + */ + role: "admin" | "member" | "billing_manager"; + /** + * Format: uri + * @example https://api.github.com/orgs/octocat + */ + organization_url: string; + organization: components["schemas"]["organization-simple"]; + user: components["schemas"]["nullable-simple-user"]; + permissions?: { + can_create_repository: boolean; + }; + }; + /** + * Migration + * @description A migration. + */ + migration: { + /** @example 79 */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + owner: components["schemas"]["nullable-simple-user"]; + /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */ + guid: string; + /** @example pending */ + state: string; + /** @example true */ + lock_repositories: boolean; + exclude_metadata: boolean; + exclude_git_data: boolean; + exclude_attachments: boolean; + exclude_releases: boolean; + exclude_owner_projects: boolean; + org_metadata_only: boolean; + /** @description The repositories included in the migration. Only returned for export migrations. */ + repositories: components["schemas"]["repository"][]; + /** + * Format: uri + * @example https://api.github.com/orgs/octo-org/migrations/79 + */ + url: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + created_at: string; + /** + * Format: date-time + * @example 2015-07-06T15:33:38-07:00 + */ + updated_at: string; + node_id: string; /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; + archive_url?: string; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ + exclude?: string[]; + }; + /** + * Package Version + * @description A version of a software package + */ + "package-version": { + /** + * @description Unique identifier of the package version. + * @example 1 + */ id: number; - /** @description The name of the label. */ - name: string; - node_id: string; /** - * Format: uri - * @description URL for the label + * @description The name of the package version. + * @example latest */ + name: string; + /** @example https://api.github.com/orgs/github/packages/container/super-linter/versions/786068 */ url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; + /** @example https://github.com/orgs/github/packages/container/package/super-linter */ + package_html_url: string; + /** @example https://github.com/orgs/github/packages/container/super-linter/786068 */ + html_url?: string; + /** @example MIT */ + license?: string; + description?: string; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + deleted_at?: string; + /** Package Version Metadata */ + metadata?: { + /** + * @example docker + * @enum {string} + */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** Container Metadata */ + container?: { + tags: string[]; + }; + /** Docker Metadata */ + docker?: { + tag?: string[]; + }; + }; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Simple Organization Programmatic Access Grant Request + * @description Minimal representation of an organization programmatic access grant request for enumerations */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "organization-programmatic-access-grant-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. The `pat_request_id` used to review PAT requests. */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ + /** @description Reason for requesting access. */ + reason: string | null; + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories requested to be accessed via fine-grained personal access token. Should only be followed when `repository_selection` is `subset`. */ + repositories_url: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Organization Programmatic Access Grant + * @description Minimal representation of an organization programmatic access grant for enumerations + */ + "organization-programmatic-access-grant": { + /** @description Unique identifier of the fine-grained personal access token. The `pat_id` used to get details about an approved fine-grained personal access token. */ id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ + owner: components["schemas"]["simple-user"]; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description URL to the list of repositories the fine-grained personal access token can access. Only follow when `repository_selection` is `subset`. */ repositories_url: string; - slug: string; + /** @description Permissions requested, categorized by type of permission. */ + permissions: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ + access_granted_at: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Project + * @description Projects are a way to organize columns and cards of work. + */ + project: { /** * Format: uri - * @description URL for the team + * @example https://api.github.com/repos/api-playground/projects-test + */ + owner_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604 */ url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ + /** + * Format: uri + * @example https://github.com/api-playground/projects-test/projects/12 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/1002604/columns + */ + columns_url: string; + /** @example 1002604 */ id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ + /** @example MDc6UHJvamVjdDEwMDI2MDQ= */ + node_id: string; + /** + * @description Name of the project + * @example Week One Sprint + */ name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body: string | null; + /** @example 1 */ + number: number; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state: string; + creator: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; + /** + * @description The baseline permission that all organization members have on this project. Only present if owner is an organization. + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. Only present if owner is an organization. */ + private?: boolean; + }; + /** + * @description The enforcement level of the ruleset. `evaluate` allows admins to test rules before enforcing them. Admins can view insights on the Rule Insights page (`evaluate` is only available with GitHub Enterprise). + * @enum {string} + */ + "repository-rule-enforcement": "disabled" | "active" | "evaluate"; + /** + * Repository Ruleset Bypass Actor + * @description An actor that can bypass rules in a ruleset + */ + "repository-ruleset-bypass-actor": { + /** @description The ID of the actor that can bypass a ruleset */ + actor_id: number; + /** + * @description The type of actor that can bypass a ruleset + * @enum {string} + */ + actor_type: "RepositoryRole" | "Team" | "Integration" | "OrganizationAdmin"; + /** + * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. + * @enum {string} + */ + bypass_mode: "always" | "pull_request"; + }; + /** + * Repository ruleset conditions for ref names + * @description Parameters for a repository ruleset ref name condition + */ + "repository-ruleset-conditions": { + ref_name?: { + /** @description Array of ref names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~DEFAULT_BRANCH` to include the default branch or `~ALL` to include all branches. */ + include?: string[]; + /** @description Array of ref names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + }; + }; + /** + * Repository ruleset conditions for repository names + * @description Parameters for a repository name condition + */ + "repository-ruleset-conditions-repository-name-target": { + repository_name: { + /** @description Array of repository names or patterns to include. One of these patterns must match for the condition to pass. Also accepts `~ALL` to include all repositories. */ + include?: string[]; + /** @description Array of repository names or patterns to exclude. The condition will not pass if any of these patterns match. */ + exclude?: string[]; + /** @description Whether renaming of target repositories is prevented. */ + protected?: boolean; + }; + }; + /** + * Repository ruleset conditions for repository IDs + * @description Parameters for a repository ID condition + */ + "repository-ruleset-conditions-repository-id-target": { + repository_id: { + /** @description The repository IDs that the ruleset applies to. One of these IDs must match for the condition to pass. */ + repository_ids?: number[]; + }; + }; + /** + * Organization ruleset conditions + * @description Conditions for an organization ruleset. The conditions object should contain both `repository_name` and `ref_name` properties or both `repository_id` and `ref_name` properties. + * + */ + "org-ruleset-conditions": (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-name-target"]) | (components["schemas"]["repository-ruleset-conditions"] & components["schemas"]["repository-ruleset-conditions-repository-id-target"]); + /** + * creation + * @description Only allow users with bypass permission to create matching refs. + */ + "repository-rule-creation": { + /** @enum {string} */ + type: "creation"; + }; + /** + * update + * @description Only allow users with bypass permission to update matching refs. + */ + "repository-rule-update": { + /** @enum {string} */ + type: "update"; + parameters?: { + /** @description Branch can pull changes from its upstream repository */ + update_allows_fetch_and_merge: boolean; + }; + }; + /** + * deletion + * @description Only allow users with bypass permissions to delete matching refs. + */ + "repository-rule-deletion": { + /** @enum {string} */ + type: "deletion"; + }; + /** + * required_linear_history + * @description Prevent merge commits from being pushed to matching refs. + */ + "repository-rule-required-linear-history": { + /** @enum {string} */ + type: "required_linear_history"; + }; + /** + * required_deployments + * @description Choose which environments must be successfully deployed to before refs can be merged into a branch that matches this rule. + */ + "repository-rule-required-deployments": { + /** @enum {string} */ + type: "required_deployments"; + parameters?: { + /** @description The environments that must be successfully deployed to before branches can be merged. */ + required_deployment_environments: string[]; + }; + }; + /** + * required_signatures + * @description Commits pushed to matching refs must have verified signatures. + */ + "repository-rule-required-signatures": { + /** @enum {string} */ + type: "required_signatures"; + }; + /** + * pull_request + * @description Require all commits be made to a non-target branch and submitted via a pull request before they can be merged. + */ + "repository-rule-pull-request": { + /** @enum {string} */ + type: "pull_request"; + parameters?: { + /** @description New, reviewable commits pushed will dismiss previous pull request review approvals. */ + dismiss_stale_reviews_on_push: boolean; + /** @description Require an approving review in pull requests that modify files that have a designated code owner. */ + require_code_owner_review: boolean; + /** @description Whether the most recent reviewable push must be approved by someone other than the person who pushed it. */ + require_last_push_approval: boolean; + /** @description The number of approving reviews that are required before a pull request can be merged. */ + required_approving_review_count: number; + /** @description All conversations on code must be resolved before a pull request can be merged. */ + required_review_thread_resolution: boolean; + }; + }; + /** + * StatusCheckConfiguration + * @description Required status check + */ + "repository-rule-params-status-check-configuration": { + /** @description The status check context name that must be present on the commit. */ + context: string; + /** @description The optional integration ID that this status check must originate from. */ + integration_id?: number; + }; + /** + * required_status_checks + * @description Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a ref that matches this rule after status checks have passed. + */ + "repository-rule-required-status-checks": { + /** @enum {string} */ + type: "required_status_checks"; + parameters?: { + /** @description Status checks that are required. */ + required_status_checks: components["schemas"]["repository-rule-params-status-check-configuration"][]; + /** @description Whether pull requests targeting a matching branch must be tested with the latest code. This setting will not take effect unless at least one status check is enabled. */ + strict_required_status_checks_policy: boolean; + }; + }; + /** + * non_fast_forward + * @description Prevent users with push access from force pushing to refs. + */ + "repository-rule-non-fast-forward": { + /** @enum {string} */ + type: "non_fast_forward"; + }; + /** + * commit_message_pattern + * @description Parameters to be used for the commit_message_pattern rule + */ + "repository-rule-commit-message-pattern": { + /** @enum {string} */ + type: "commit_message_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * commit_author_email_pattern + * @description Parameters to be used for the commit_author_email_pattern rule + */ + "repository-rule-commit-author-email-pattern": { + /** @enum {string} */ + type: "commit_author_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * committer_email_pattern + * @description Parameters to be used for the committer_email_pattern rule + */ + "repository-rule-committer-email-pattern": { + /** @enum {string} */ + type: "committer_email_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; + /** + * branch_name_pattern + * @description Parameters to be used for the branch_name_pattern rule + */ + "repository-rule-branch-name-pattern": { /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; + type: "branch_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * tag_name_pattern + * @description Parameters to be used for the tag_name_pattern rule */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the review. */ - body: string | null; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - state: string; - /** Format: date-time */ - submitted_at: string | null; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request review_request_removed event */ - "webhook-pull-request-review-request-removed": OneOf<[{ - /** @enum {string} */ - action: "review_request_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + "repository-rule-tag-name-pattern": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; + type: "tag_name_pattern"; + parameters?: { + /** @description How this rule will appear to users. */ + name?: string; + /** @description If true, the rule will fail if the pattern matches. */ + negate?: boolean; + /** + * @description The operator to use for matching. + * @enum {string} + */ + operator: "starts_with" | "ends_with" | "contains" | "regex"; + /** @description The pattern to match with. */ + pattern: string; + }; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Repository Rule + * @description A repository rule. */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "repository-rule": components["schemas"]["repository-rule-creation"] | components["schemas"]["repository-rule-update"] | components["schemas"]["repository-rule-deletion"] | components["schemas"]["repository-rule-required-linear-history"] | components["schemas"]["repository-rule-required-deployments"] | components["schemas"]["repository-rule-required-signatures"] | components["schemas"]["repository-rule-pull-request"] | components["schemas"]["repository-rule-required-status-checks"] | components["schemas"]["repository-rule-non-fast-forward"] | components["schemas"]["repository-rule-commit-message-pattern"] | components["schemas"]["repository-rule-commit-author-email-pattern"] | components["schemas"]["repository-rule-committer-email-pattern"] | components["schemas"]["repository-rule-branch-name-pattern"] | components["schemas"]["repository-rule-tag-name-pattern"]; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Repository ruleset + * @description A set of rules to apply when specified conditions are met. */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "repository-ruleset": { + /** @description The ID of the ruleset */ id: number; - login: string; - name?: string; + /** @description The name of the ruleset */ + name: string; + /** + * @description The target of the ruleset + * @enum {string} + */ + target?: "branch" | "tag"; + /** + * @description The type of the source of the ruleset + * @enum {string} + */ + source_type?: "Repository" | "Organization"; + /** @description The name of the source */ + source: string; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + /** + * @description The bypass type of the user making the API request for this ruleset. This field is only returned when + * querying the repository-level endpoint. + * @enum {string} + */ + current_user_can_bypass?: "always" | "pull_requests_only" | "never"; node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + _links?: { + self?: { + /** @description The URL of the ruleset */ + href?: string; + }; + html?: { + /** @description The html URL of the ruleset */ + href?: string; + }; + }; + conditions?: components["schemas"]["repository-ruleset-conditions"] | components["schemas"]["org-ruleset-conditions"]; + rules?: components["schemas"]["repository-rule"][]; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + }; + /** + * Rule Suites + * @description Response + */ + "rule-suites": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number; + /** @description The handle for the GitHub user account. */ + actor_name?: string; + /** @description The first commit sha before the push evaluation. */ + before_sha?: string; + /** @description The last commit sha in the push evaluation. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + pushed_at?: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} */ - allow_merge_commit?: boolean; + result?: "pass" | "fail" | "bypass"; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + * @enum {string} */ - allow_rebase_merge?: boolean; + evaluation_result?: "pass" | "fail"; + }[]; + /** + * Rule Suite + * @description Response + */ + "rule-suite": { + /** @description The unique identifier of the rule insight. */ + id?: number; + /** @description The number that identifies the user. */ + actor_id?: number; + /** @description The handle for the GitHub user account. */ + actor_name?: string; + /** @description The first commit sha before the push evaluation. */ + before_sha?: string; + /** @description The last commit sha in the push evaluation. */ + after_sha?: string; + /** @description The ref name that the evaluation ran on. */ + ref?: string; + /** @description The ID of the repository associated with the rule evaluation. */ + repository_id?: number; + /** @description The name of the repository without the `.git` extension. */ + repository_name?: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: date-time + * @example 2011-01-26T19:06:43Z */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + pushed_at?: string; /** - * @description Whether the repository is archived. - * @default false + * @description The result of the rule evaluations for rules with the `active` enforcement status. + * @enum {string} */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + result?: "pass" | "fail" | "bypass"; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The result of the rule evaluations for rules with the `active` and `evaluate` enforcement statuses, demonstrating whether rules would pass or fail if all rules in the rule suite were `active`. + * @enum {string} */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; + evaluation_result?: "pass" | "fail"; + /** @description Details on the evaluated rules. */ + rule_evaluations?: { + rule_source?: { + /** @description The type of rule source. */ + type?: string; + /** @description The ID of the rule source. */ + id?: number | null; + /** @description The name of the rule source. */ + name?: string | null; + }; + /** + * @description The enforcement level of this rule source. + * @enum {string} + */ + enforcement?: "active" | "evaluate" | "deleted ruleset"; + /** + * @description The result of the evaluation of the individual rule. + * @enum {string} + */ + result?: "pass" | "fail"; + /** @description The type of rule. */ + rule_type?: string; + /** @description Any associated details with the rule evaluation. */ + details?: string; + }[]; + }; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + "repository-advisory-vulnerability": { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name: string | null; + } | null; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions: string[] | null; + }; + /** @description A credit given to a user for a repository security advisory. */ + "repository-advisory-credit": { + user: components["schemas"]["simple-user"]; + type: components["schemas"]["security-advisory-credit-types"]; + /** + * @description The state of the user's acceptance of the credit. + * @enum {string} + */ + state: "accepted" | "declined" | "pending"; + }; + /** @description A repository security advisory. */ + "repository-advisory": { + /** @description The GitHub Security Advisory ID. */ + readonly ghsa_id: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id: string | null; + /** @description The API URL for the advisory. */ + url: string; + /** + * Format: uri + * @description The URL for the advisory. + */ + readonly html_url: string; + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory entails. */ description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; /** - * @description Whether downloads are enabled. - * @default true + * @description The severity of the advisory. + * @enum {string|null} + */ + severity: "critical" | "high" | "medium" | "low"; + /** @description The author of the advisory. */ + readonly author: components["schemas"]["simple-user"] | null; + /** @description The publisher of the advisory. */ + readonly publisher: components["schemas"]["simple-user"] | null; + readonly identifiers: { + /** + * @description The type of identifier. + * @enum {string} + */ + type: "CVE" | "GHSA"; + /** @description The identifier value. */ + value: string; + }[]; + /** + * @description The state of the advisory. + * @enum {string} + */ + state: "published" | "closed" | "withdrawn" | "draft" | "triage"; + /** + * Format: date-time + * @description The date and time of when the advisory was created, in ISO 8601 format. + */ + readonly created_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was last updated, in ISO 8601 format. + */ + readonly updated_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was published, in ISO 8601 format. + */ + readonly published_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was closed, in ISO 8601 format. + */ + readonly closed_at: string | null; + /** + * Format: date-time + * @description The date and time of when the advisory was withdrawn, in ISO 8601 format. + */ + readonly withdrawn_at: string | null; + readonly submission: { + /** @description Whether a private vulnerability report was accepted by the repository's administrators. */ + readonly accepted: boolean; + } | null; + vulnerabilities: components["schemas"]["repository-advisory-vulnerability"][] | null; + cvss: { + /** @description The CVSS vector. */ + vector_string: string | null; + /** @description The CVSS score. */ + readonly score: number | null; + } | null; + readonly cwes: { + /** @description The Common Weakness Enumeration (CWE) identifier. */ + cwe_id: string; + /** @description The name of the CWE. */ + readonly name: string; + }[] | null; + /** @description A list of only the CWE IDs. */ + cwe_ids: string[] | null; + credits: { + /** @description The username of the user credited. */ + login?: string; + type?: components["schemas"]["security-advisory-credit-types"]; + }[] | null; + readonly credits_detailed: components["schemas"]["repository-advisory-credit"][] | null; + /** @description A list of users that collaborate on the advisory. */ + collaborating_users: components["schemas"]["simple-user"][] | null; + /** @description A list of teams that collaborate on the advisory. */ + collaborating_teams: components["schemas"]["team"][] | null; + /** @description A temporary private fork of the advisory's repository for collaborating on a fix. */ + readonly private_fork: components["schemas"]["simple-repository"] | null; + }; + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-simple": { + /** + * @description Unique identifier of the team + * @example 1 + */ + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 */ - has_downloads: boolean; + url: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; /** - * @description Whether issues are enabled. - * @default true + * @description Name of the team + * @example Justice League */ - has_issues: boolean; - has_pages: boolean; + name: string; /** - * @description Whether projects are enabled. - * @default true + * @description Description of the team + * @example A great team. */ - has_projects: boolean; + description: string | null; /** - * @description Whether the wiki is enabled. - * @default true + * @description Permission that the team will have for its repositories + * @example admin */ - has_wiki: boolean; + permission: string; /** - * @description Whether discussions are enabled. - * @default false + * @description The level of privacy this team should have + * @example closed */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + privacy?: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The notification setting the team has set + * @example notifications_enabled */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + notification_setting?: string; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * Format: uri + * @example https://github.com/orgs/rails/teams/core */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + html_url: string; /** - * @description The default value for a squash merge commit message. - * @enum {string} + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + repositories_url: string; + /** @example justice-league */ + slug: string; /** - * @description The default value for a squash merge commit title. - * @enum {string} + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ + ldap_dn?: string; + }; + "actions-billing-usage": { + /** @description The sum of the free and paid GitHub Actions minutes used. */ + total_minutes_used: number; + /** @description The total paid GitHub Actions minutes used. */ + total_paid_minutes_used: number; + /** @description The amount of free GitHub Actions minutes available. */ + included_minutes: number; + minutes_used_breakdown: { + /** @description Total minutes used on Ubuntu runner machines. */ + UBUNTU?: number; + /** @description Total minutes used on macOS runner machines. */ + MACOS?: number; + /** @description Total minutes used on Windows runner machines. */ + WINDOWS?: number; + /** @description Total minutes used on Ubuntu 4 core runner machines. */ + ubuntu_4_core?: number; + /** @description Total minutes used on Ubuntu 8 core runner machines. */ + ubuntu_8_core?: number; + /** @description Total minutes used on Ubuntu 16 core runner machines. */ + ubuntu_16_core?: number; + /** @description Total minutes used on Ubuntu 32 core runner machines. */ + ubuntu_32_core?: number; + /** @description Total minutes used on Ubuntu 64 core runner machines. */ + ubuntu_64_core?: number; + /** @description Total minutes used on Windows 4 core runner machines. */ + windows_4_core?: number; + /** @description Total minutes used on Windows 8 core runner machines. */ + windows_8_core?: number; + /** @description Total minutes used on Windows 16 core runner machines. */ + windows_16_core?: number; + /** @description Total minutes used on Windows 32 core runner machines. */ + windows_32_core?: number; + /** @description Total minutes used on Windows 64 core runner machines. */ + windows_64_core?: number; + /** @description Total minutes used on macOS 12 core runner machines. */ + macos_12_core?: number; + /** @description Total minutes used on all runner machines. */ + total?: number; + }; + }; + "packages-billing-usage": { + /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */ + total_gigabytes_bandwidth_used: number; + /** @description Total paid storage space (GB) for GitHuub Packages. */ + total_paid_gigabytes_bandwidth_used: number; + /** @description Free storage space (GB) for GitHub Packages. */ + included_gigabytes_bandwidth: number; + }; + "combined-billing-usage": { + /** @description Numbers of days left in billing cycle. */ + days_left_in_billing_cycle: number; + /** @description Estimated storage space (GB) used in billing cycle. */ + estimated_paid_storage_for_month: number; + /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */ + estimated_storage_for_month: number; + }; + /** + * Team Organization + * @description Team Organization + */ + "team-organization": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: uri + * @example https://api.github.com/orgs/github/repos */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; + repos_url: string; + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + /** @example github */ name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** @example GitHub */ + company?: string; + /** + * Format: uri + * @example https://github.com/blog */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + blog?: string; + /** @example San Francisco */ + location?: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: email + * @example octocat@github.com */ - allow_merge_commit?: boolean; + email?: string; + /** @example github */ + twitter_username?: string | null; + /** @example true */ + is_verified?: boolean; + /** @example true */ + has_organization_projects: boolean; + /** @example true */ + has_repository_projects: boolean; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat */ - allow_rebase_merge?: boolean; + html_url: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: date-time + * @example 2008-01-14T04:33:35Z */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + created_at: string; + /** @example Organization */ + type: string; + /** @example 100 */ + total_private_repos?: number; + /** @example 100 */ + owned_private_repos?: number; + /** @example 81 */ + private_gists?: number | null; + /** @example 10000 */ + disk_usage?: number | null; + /** @example 8 */ + collaborators?: number | null; + /** + * Format: email + * @example org@example.com + */ + billing_email?: string | null; + plan?: { + name: string; + space: number; + private_repos: number; + filled_seats?: number; + seats?: number; + }; + default_repository_permission?: string | null; + /** @example true */ + members_can_create_repositories?: boolean | null; + /** @example true */ + two_factor_requirement_enabled?: boolean | null; + /** @example all */ + members_allowed_repository_creation_type?: string; + /** @example true */ + members_can_create_public_repositories?: boolean; + /** @example true */ + members_can_create_private_repositories?: boolean; + /** @example true */ + members_can_create_internal_repositories?: boolean; + /** @example true */ + members_can_create_pages?: boolean; + /** @example true */ + members_can_create_public_pages?: boolean; + /** @example true */ + members_can_create_private_pages?: boolean; + /** @example false */ + members_can_fork_private_repositories?: boolean | null; + /** @example false */ + web_commit_signoff_required?: boolean; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + archived_at: string | null; + }; + /** + * Full Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + "team-full": { /** - * @description Whether the repository is archived. - * @default false + * @description Unique identifier of the team + * @example 42 */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + id: number; + /** @example MDQ6VGVhbTE= */ + node_id: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + url: string; + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ + html_url: string; /** - * @description Whether downloads are enabled. - * @default true + * @description Name of the team + * @example Developers */ - has_downloads: boolean; + name: string; + /** @example justice-league */ + slug: string; + /** @example A great team. */ + description: string | null; /** - * @description Whether issues are enabled. - * @default true + * @description The level of privacy this team should have + * @example closed + * @enum {string} */ - has_issues: boolean; - has_pages: boolean; + privacy?: "closed" | "secret"; /** - * @description Whether projects are enabled. - * @default true + * @description The notification setting the team has set + * @example notifications_enabled + * @enum {string} */ - has_projects: boolean; + notification_setting?: "notifications_enabled" | "notifications_disabled"; /** - * @description Whether the wiki is enabled. - * @default true + * @description Permission that the team will have for its repositories + * @example push */ - has_wiki: boolean; + permission: string; + /** @example https://api.github.com/organizations/1/team/1/members{/member} */ + members_url: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + repositories_url: string; + parent?: components["schemas"]["nullable-team-simple"]; + /** @example 3 */ + members_count: number; + /** @example 10 */ + repos_count: number; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: date-time + * @example 2017-07-14T16:53:42Z */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + created_at: string; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * Format: date-time + * @example 2017-08-17T12:37:15Z */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + updated_at: string; + organization: components["schemas"]["team-organization"]; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + ldap_dn?: string; + }; + /** + * Team Discussion + * @description A team discussion is a persistent record of a free-form conversation within a team. + */ + "team-discussion": { + author: components["schemas"]["nullable-simple-user"]; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * @description The main text of the discussion. + * @example Please suggest improvements to our workflow in comments. */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + body: string; + /** @example

Hi! This is an area for us to collaborate as a team

*/ + body_html: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. + * @example 0307116bbf7ced493b8d8a346c650b71 */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + body_version: string; + /** @example 0 */ + comments_count: number; /** * Format: uri - * @description URL for the label + * @example https://api.github.com/organizations/1/team/2343027/discussions/1/comments + */ + comments_url: string; + /** + * Format: date-time + * @example 2018-01-25T18:56:31Z + */ + created_at: string; + /** Format: date-time */ + last_edited_at: string | null; + /** + * Format: uri + * @example https://github.com/orgs/github/teams/justice-league/discussions/1 */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; + /** @example MDE0OlRlYW1EaXNjdXNzaW9uMQ== */ node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + /** + * @description The unique sequence number of a team discussion. + * @example 42 + */ + number: number; + /** + * @description Whether or not this discussion should be pinned for easy retrieval. + * @example true + */ + pinned: boolean; + /** + * @description Whether or not this discussion should be restricted to team members and organization administrators. + * @example true + */ + private: boolean; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2343027 + */ + team_url: string; + /** + * @description The title of the discussion. + * @example How can we improve our workflow? + */ + title: string; + /** + * Format: date-time + * @example 2018-01-25T18:56:31Z + */ + updated_at: string; /** * Format: uri - * @description URL for the team + * @example https://api.github.com/organizations/1/team/2343027/discussions/1 */ url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Team Discussion Comment + * @description A reply to a discussion within a team. + */ + "team-discussion-comment": { + author: components["schemas"]["nullable-simple-user"]; + /** + * @description The main text of the comment. + * @example I agree with this suggestion. + */ + body: string; + /** @example

Do you like apples?

*/ + body_html: string; + /** + * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server. + * @example 0307116bbf7ced493b8d8a346c650b71 + */ + body_version: string; + /** + * Format: date-time + * @example 2018-01-15T23:53:58Z + */ + created_at: string; + /** Format: date-time */ + last_edited_at: string | null; + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/2403582/discussions/1 + */ + discussion_url: string; + /** + * Format: uri + * @example https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1 + */ html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; + /** @example MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE= */ node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + /** + * @description The unique sequence number of a team discussion comment. + * @example 42 + */ + number: number; + /** + * Format: date-time + * @example 2018-01-15T23:53:58Z + */ + updated_at: string; /** * Format: uri - * @description URL for the team + * @example https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1 */ url: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Reaction + * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively. */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** User */ - requested_reviewer: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - sender: components["schemas"]["simple-user-webhooks"]; - }, { - /** @enum {string} */ - action: "review_request_removed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + reaction: { + /** @example 1 */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + /** @example MDg6UmVhY3Rpb24x */ + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description The reaction to use + * @example heart + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** + * Format: date-time + * @example 2016-05-20T20:09:31Z + */ + created_at: string; + }; + /** + * Team Membership + * @description Team Membership + */ + "team-membership": { /** Format: uri */ - url?: string; - }) | null)[]; + url: string; + /** + * @description The role of the user in the team. + * @default member + * @example member + * @enum {string} + */ + role: "member" | "maintainer"; + /** + * @description The state of the user's membership in the team. + * @enum {string} + */ + state: "active" | "pending"; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Team Project + * @description A team's access to a project. */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "team-project": { + owner_url: string; + url: string; + html_url: string; + columns_url: string; + id: number; + node_id: string; + name: string; + body: string | null; + number: number; + state: string; + creator: components["schemas"]["simple-user"]; + created_at: string; + updated_at: string; + /** @description The organization permission for this project. Only present when owner is an organization. */ + organization_permission?: string; + /** @description Whether the project is private or not. Only present when owner is an organization. */ + private?: boolean; + permissions: { + read: boolean; + write: boolean; + admin: boolean; + }; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Repository + * @description A repository on GitHub. */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "nullable-repository": { + /** + * @description Unique identifier of the repository + * @example 42 + */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. * @default false + * @example true */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + is_template: boolean; + topics?: string[]; /** - * @description Whether to allow merge commits for pull requests. + * @description Whether issues are enabled. * @default true + * @example true */ - allow_merge_commit?: boolean; + has_issues: boolean; /** - * @description Whether to allow rebase merges for pull requests. + * @description Whether projects are enabled. * @default true + * @example true */ - allow_rebase_merge?: boolean; + has_projects: boolean; /** - * @description Whether to allow squash merges for pull requests. + * @description Whether the wiki is enabled. * @default true + * @example true */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + has_wiki: boolean; + has_pages: boolean; + /** + * @deprecated + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions: boolean; /** * @description Whether the repository is archived. * @default false */ archived: boolean; - /** Format: uri-template */ + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + /** + * Team Repository + * @description A team's access to a repository. + */ + "team-repository": { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + /** @example admin */ + role_name?: string; + owner: components["schemas"]["nullable-simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ assignees_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ blobs_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ collaborators_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ comments_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ commits_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ compare_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ contents_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments */ - delete_branch_on_merge?: boolean; - /** Format: uri */ deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ downloads_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ forks_url: string; - full_name: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ git_commits_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ git_refs_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ git_tags_url: string; - /** Format: uri */ + /** @example git:github.com/octocat/Hello-World.git */ git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ issue_comment_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ issue_events_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ issues_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ keys_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + languages_url: string; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ merges_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ stargazers_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ statuses_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ subscribers_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ tags_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ teams_url: string; - topics: string[]; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: uri + * @example git:git.example.com/octocat/Hello-World */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. + /** @example 108 */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. * @default false + * @example true */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + is_template: boolean; + topics?: string[]; /** - * @description Whether to allow merge commits for pull requests. + * @description Whether issues are enabled. * @default true + * @example true */ - allow_merge_commit?: boolean; + has_issues: boolean; /** - * @description Whether to allow rebase merges for pull requests. + * @description Whether projects are enabled. * @default true + * @example true */ - allow_rebase_merge?: boolean; + has_projects: boolean; /** - * @description Whether to allow squash merges for pull requests. + * @description Whether the wiki is enabled. * @default true + * @example true */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; /** * @description Whether the repository is archived. * @default false */ archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The repository visibility: public, private, or internal. + * @default public */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + visibility: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: date-time + * @example 2011-01-26T19:06:43Z */ - has_downloads: boolean; + pushed_at: string | null; /** - * @description Whether issues are enabled. - * @default true + * Format: date-time + * @example 2011-01-26T19:01:12Z */ - has_issues: boolean; - has_pages: boolean; + created_at: string | null; /** - * @description Whether projects are enabled. + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. * @default true + * @example true */ - has_projects: boolean; + allow_rebase_merge: boolean; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string; /** - * @description Whether the wiki is enabled. + * @description Whether to allow squash merges for pull requests. * @default true + * @example true */ - has_wiki: boolean; + allow_squash_merge: boolean; /** - * @description Whether discussions are enabled. + * @description Whether to allow Auto-merge to be used on pull requests. * @default false + * @example false */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; + allow_auto_merge: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow forking this repo + * @default false + * @example false + */ + allow_forking: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + * @example false + */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; master_branch?: string; + }; + /** + * Project Card + * @description Project cards represent a scope of work. + */ + "project-card": { /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @example https://api.github.com/projects/columns/cards/1478 */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + url: string; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * @description The project card's ID + * @example 42 */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; + id: number; + /** @example MDExOlByb2plY3RDYXJkMTQ3OA== */ node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + /** @example Add payload for delete Project column */ + note: string | null; + creator: components["schemas"]["nullable-simple-user"]; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: date-time + * @example 2016-09-05T14:21:06Z */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + created_at: string; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Format: date-time + * @example 2016-09-05T14:20:22Z */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ updated_at: string; - /** Format: uri */ - url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * @description Whether or not the card is archived + * @example false */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + archived?: boolean; + column_name?: string; + project_id?: string; /** * Format: uri - * @description URL for the label + * @example https://api.github.com/projects/columns/367 */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + column_url: string; /** * Format: uri - * @description URL for the team + * @example https://api.github.com/repos/api-playground/projects-test/issues/3 */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + content_url?: string; /** * Format: uri - * @description URL for the team + * @example https://api.github.com/projects/120 */ - url: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - requested_team: { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + project_url: string; + }; /** - * Format: uri - * @description URL for the team - */ - url: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }]>; - /** pull_request review_requested event */ - "webhook-pull-request-review-requested": OneOf<[{ - /** @enum {string} */ - action: "review_requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + * Project Column + * @description Project columns contain cards of work. + */ + "project-column": { + /** + * Format: uri + * @example https://api.github.com/projects/columns/367 + */ + url: string; + /** + * Format: uri + * @example https://api.github.com/projects/120 + */ + project_url: string; + /** + * Format: uri + * @example https://api.github.com/projects/columns/367/cards + */ + cards_url: string; + /** + * @description The unique identifier of the project column + * @example 42 + */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; + /** @example MDEzOlByb2plY3RDb2x1bW4zNjc= */ + node_id: string; + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + /** + * Format: date-time + * @example 2016-09-05T14:18:44Z + */ + created_at: string; + /** + * Format: date-time + * @example 2016-09-05T14:22:28Z + */ + updated_at: string; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Project Collaborator Permission + * @description Project Collaborator Permission */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "project-collaborator-permission": { + permission: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** Rate Limit */ + "rate-limit": { + limit: number; + remaining: number; + reset: number; + used: number; + }; + /** + * Rate Limit Overview + * @description Rate Limit Overview + */ + "rate-limit-overview": { + resources: { + core: components["schemas"]["rate-limit"]; + graphql?: components["schemas"]["rate-limit"]; + search: components["schemas"]["rate-limit"]; + code_search?: components["schemas"]["rate-limit"]; + source_import?: components["schemas"]["rate-limit"]; + integration_manifest?: components["schemas"]["rate-limit"]; + code_scanning_upload?: components["schemas"]["rate-limit"]; + actions_runner_registration?: components["schemas"]["rate-limit"]; + scim?: components["schemas"]["rate-limit"]; + dependency_snapshots?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Code Of Conduct Simple + * @description Code of Conduct Simple */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + "code-of-conduct-simple": { /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: uri + * @example https://api.github.com/repos/github/docs/community/code_of_conduct */ - allow_merge_commit?: boolean; + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md */ - allow_rebase_merge?: boolean; + html_url: string | null; + }; + /** + * Full Repository + * @description Full Repository + */ + "full-repository": { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** @example Hello-World */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + owner: components["schemas"]["simple-user"]; + private: boolean; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat/Hello-World */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World */ - archived: boolean; - /** Format: uri-template */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ assignees_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ blobs_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ collaborators_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ comments_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ commits_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ compare_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ contents_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments */ - delete_branch_on_merge?: boolean; - /** Format: uri */ deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ downloads_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ forks_url: string; - full_name: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ git_commits_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ git_refs_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ git_tags_url: string; - /** Format: uri */ + /** @example git:github.com/octocat/Hello-World.git */ git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages */ - has_downloads: boolean; + languages_url: string; /** - * @description Whether issues are enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** @example master */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** @example true */ + is_template?: boolean; + /** @example [ + * "octocat", + * "atom", + * "electron", + * "API" + * ] */ + topics?: string[]; + /** @example true */ has_issues: boolean; + /** @example true */ + has_projects: boolean; + /** @example true */ + has_wiki: boolean; has_pages: boolean; + /** @example true */ + has_downloads: boolean; + /** @example true */ + has_discussions: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; /** - * @description Whether projects are enabled. - * @default true + * @description The repository visibility: public, private, or internal. + * @example public */ - has_projects: boolean; + visibility?: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: date-time + * @example 2011-01-26T19:06:43Z */ - has_wiki: boolean; + pushed_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + /** @example true */ + allow_rebase_merge?: boolean; + template_repository?: components["schemas"]["nullable-repository"]; + temp_clone_token?: string | null; + /** @example true */ + allow_squash_merge?: boolean; + /** @example false */ + allow_auto_merge?: boolean; + /** @example false */ + delete_branch_on_merge?: boolean; + /** @example true */ + allow_merge_commit?: boolean; + /** @example true */ + allow_update_branch?: boolean; + /** @example false */ + use_squash_pr_title_as_default?: boolean; /** - * @description Whether discussions are enabled. - * @default false + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @example PR_TITLE + * @enum {string} */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; /** - * @description The default value for a merge commit message. + * @description The default value for a squash merge commit message: * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY * @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** * @description The default value for a merge commit title. * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @example PR_TITLE * @enum {string} */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; /** - * @description The default value for a squash merge commit message: + * @description The default value for a merge commit message. * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** @example true */ + allow_forking?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + /** @example 42 */ + subscribers_count: number; + /** @example 0 */ + network_count: number; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + parent?: components["schemas"]["repository"]; + source?: components["schemas"]["repository"]; + forks: number; + master_branch?: string; + open_issues: number; + watchers: number; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * @description Whether anonymous git access is allowed. + * @default true */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ + anonymous_access_enabled: boolean; + code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + /** + * Artifact + * @description An artifact + */ + artifact: { + /** @example 5 */ + id: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; + /** + * @description The name of the artifact. + * @example AdventureWorks.Framework + */ + name: string; + /** + * @description The size in bytes of the artifact. + * @example 12345 + */ + size_in_bytes: number; + /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5 */ url: string; + /** @example https://api.github.com/repos/github/hello-world/actions/artifacts/5/zip */ + archive_download_url: string; + /** @description Whether or not the artifact has expired. */ + expired: boolean; + /** Format: date-time */ + created_at: string | null; + /** Format: date-time */ + expires_at: string | null; + /** Format: date-time */ + updated_at: string | null; + workflow_run?: { + /** @example 10 */ + id?: number; + /** @example 42 */ + repository_id?: number; + /** @example 42 */ + head_repository_id?: number; + /** @example main */ + head_branch?: string; + /** @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ + head_sha?: string; + } | null; + }; + /** + * Repository actions caches + * @description Repository actions caches + */ + "actions-cache-list": { /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * @description Total number of caches + * @example 2 + */ + total_count: number; + /** @description Array of caches */ + actions_caches: { + /** @example 2 */ + id?: number; + /** @example refs/heads/main */ + ref?: string; + /** @example Linux-node-958aff96db2d75d67787d1e634ae70b659de937b */ + key?: string; + /** @example 73885106f58cc52a7df9ec4d4a5622a5614813162cb516c759a30af6bf56e6f0 */ + version?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + last_accessed_at?: string; + /** + * Format: date-time + * @example 2019-01-24T22:45:36.000Z + */ + created_at?: string; + /** @example 1024 */ + size_in_bytes?: number; + }[]; + }; + /** + * Job + * @description Information of a job execution in a workflow run + */ + job: { + /** + * @description The id of the job. + * @example 21 */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** + * @description The id of the associated workflow run. + * @example 5 */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + run_id: number; + /** @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ + run_url: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description Attempt number of the associated workflow run, 1 for first attempt and higher if the workflow was re-run. + * @example 1 */ - allow_merge_commit?: boolean; + run_attempt?: number; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The SHA of the commit that is being run. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ - allow_rebase_merge?: boolean; + head_sha: string; + /** @example https://api.github.com/repos/github/hello-world/actions/jobs/21 */ + url: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string | null; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The phase of the lifecycle that the job is currently in. + * @example queued + * @enum {string} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + status: "queued" | "in_progress" | "completed"; /** - * @description Whether the repository is archived. - * @default false + * @description The outcome of the job. + * @example success + * @enum {string|null} */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required"; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: date-time + * @description The time that the job created, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + created_at: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: date-time + * @description The time that the job started, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 */ - has_downloads: boolean; + started_at: string; + /** + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + completed_at: string | null; + /** + * @description The name of the job. + * @example test-coverage + */ + name: string; + /** @description Steps in this job. */ + steps?: { + /** + * @description The phase of the lifecycle that the job is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** + * @description The outcome of the job. + * @example success + */ + conclusion: string | null; + /** + * @description The name of the job. + * @example test-coverage + */ + name: string; + /** @example 1 */ + number: number; + /** + * Format: date-time + * @description The time that the step started, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + started_at?: string | null; + /** + * Format: date-time + * @description The time that the job finished, in ISO 8601 format. + * @example 2019-08-08T08:00:00-07:00 + */ + completed_at?: string | null; + }[]; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + check_run_url: string; /** - * @description Whether issues are enabled. - * @default true + * @description Labels for the workflow job. Specified by the "runs_on" attribute in the action's workflow file. + * @example [ + * "self-hosted", + * "foo", + * "bar" + * ] */ - has_issues: boolean; - has_pages: boolean; + labels: string[]; /** - * @description Whether projects are enabled. - * @default true + * @description The ID of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example 1 */ - has_projects: boolean; + runner_id: number | null; /** - * @description Whether the wiki is enabled. - * @default true + * @description The name of the runner to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example my runner */ - has_wiki: boolean; + runner_name: string | null; /** - * @description Whether discussions are enabled. - * @default false + * @description The ID of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example 2 */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + runner_group_id: number | null; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The name of the runner group to which this job has been assigned. (If a runner hasn't yet been assigned, this will be null.) + * @example my runner group */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + runner_group_name: string | null; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * @description The name of the workflow. + * @example Build */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + workflow_name: string | null; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The name of the current branch. + * @example main */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + head_branch: string | null; + }; + /** + * Actions OIDC subject customization for a repository + * @description Actions OIDC subject customization for a repository + */ + "oidc-custom-sub-repo": { + /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ + use_default: boolean; + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys?: string[]; + }; + /** + * Actions Secret + * @description Set secrets for GitHub Actions. + */ + "actions-secret": { /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * @description The name of the secret. + * @example SECRET_TOKEN */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + name: string; + /** Format: date-time */ + created_at: string; /** Format: date-time */ updated_at: string; - /** Format: uri */ - url: string; + }; + /** Actions Variable */ + "actions-variable": { /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * @description The name of the variable. + * @example USERNAME */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ name: string; - node_id: string; /** - * Format: uri - * @description URL for the label + * @description The value of the variable. + * @example octocat */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + value: string; /** - * Format: uri - * @description URL for the team + * Format: date-time + * @description The date and time at which the variable was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + created_at: string; /** - * Format: uri - * @description URL for the team + * Format: date-time + * @description The date and time at which the variable was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + * @example 2019-01-24T22:45:36.000Z */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} + updated_at: string; + }; + /** @description Whether GitHub Actions is enabled on the repository. */ + "actions-enabled": boolean; + "actions-repository-permissions": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + selected_actions_url?: components["schemas"]["selected-actions-url"]; + }; + "actions-workflow-access-to-repository": { + /** + * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the + * repository. + * + * `none` means the access is only possible from workflows in this repository. `user` level access allows sharing across user owned private repos only. `organization` level access allows sharing across the organization. + * @enum {string} + */ + access_level: "none" | "user" | "organization"; + }; + /** + * Referenced workflow + * @description A workflow referenced/reused by the initial caller workflow */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** User */ - requested_reviewer: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - sender: components["schemas"]["simple-user-webhooks"]; - }, { - /** @enum {string} */ - action: "review_requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "referenced-workflow": { + path: string; + sha: string; + ref?: string; + }; + /** Pull Request Minimal */ + "pull-request-minimal": { id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; + number: number; + url: string; + head: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + base: { + ref: string; + sha: string; + repo: { + id: number; + url: string; + name: string; + }; + }; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Simple Commit + * @description A commit. */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "nullable-simple-commit": { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + id: string; + /** @description SHA for the commit's tree */ + tree_id: string; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + timestamp: string; + /** @description Information about the Git author */ + author: { + /** + * @description Name of the commit's author + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's author + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + /** @description Information about the Git committer */ + committer: { + /** + * @description Name of the commit's committer + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's committer + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + } | null; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Workflow Run + * @description An invocation of a workflow */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "workflow-run": { + /** + * @description The ID of the workflow run. + * @example 5 + */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** + * @description The name of the workflow run. + * @example Build */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + name?: string | null; + /** @example MDEwOkNoZWNrU3VpdGU1 */ + node_id: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The ID of the associated check suite. + * @example 42 */ - allow_merge_commit?: boolean; + check_suite_id?: number; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The node ID of the associated check suite. + * @example MDEwOkNoZWNrU3VpdGU0Mg== */ - allow_rebase_merge?: boolean; + check_suite_node_id?: string; + /** @example master */ + head_branch: string | null; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The SHA of the head commit that points to the version of the workflow being run. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + head_sha: string; /** - * @description Whether the repository is archived. - * @default false + * @description The full path of the workflow + * @example octocat/octo-repo/.github/workflows/ci.yml@main */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + path: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The auto incrementing run number for the workflow run. + * @example 106 */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + run_number: number; + /** + * @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. + * @example 1 + */ + run_attempt?: number; + referenced_workflows?: components["schemas"]["referenced-workflow"][] | null; + /** @example push */ + event: string; + /** @example completed */ + status: string | null; + /** @example neutral */ + conclusion: string | null; + /** + * @description The ID of the parent workflow. + * @example 5 + */ + workflow_id: number; + /** + * @description The URL to the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5 + */ + url: string; + /** @example https://github.com/github/hello-world/suites/4 */ + html_url: string; + /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the workflow run. The returned pull requests do not necessarily indicate pull requests that triggered the run. */ + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + actor?: components["schemas"]["simple-user"]; + triggering_actor?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The start time of the latest run. Resets on re-run. + */ + run_started_at?: string; + /** + * @description The URL to the jobs for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs + */ + jobs_url: string; + /** + * @description The URL to download the logs for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs + */ + logs_url: string; + /** + * @description The URL to the associated check suite. + * @example https://api.github.com/repos/github/hello-world/check-suites/12 + */ + check_suite_url: string; + /** + * @description The URL to the artifacts for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts + */ + artifacts_url: string; + /** + * @description The URL to cancel the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel + */ + cancel_url: string; + /** + * @description The URL to rerun the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun + */ + rerun_url: string; + /** + * @description The URL to the previous attempted run of this workflow, if one exists. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 + */ + previous_attempt_url?: string | null; + /** + * @description The URL to the workflow. + * @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml + */ + workflow_url: string; + head_commit: components["schemas"]["nullable-simple-commit"]; + repository: components["schemas"]["minimal-repository"]; + head_repository: components["schemas"]["minimal-repository"]; + /** @example 5 */ + head_repository_id?: number; + /** + * @description The event-specific title associated with the run or the run-name if set, or the value of `run-name` if it is set in the workflow. + * @example Simple Workflow + */ + display_title: string; + }; + /** + * Environment Approval + * @description An entry in the reviews log for environment deployments + */ + "environment-approvals": { + /** @description The list of environments that were approved or rejected */ + environments: { + /** + * @description The id of the environment. + * @example 56780428 + */ + id?: number; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id?: string; + /** + * @description The name of the environment. + * @example staging + */ + name?: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url?: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url?: string; + /** + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + created_at?: string; + /** + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + updated_at?: string; + }[]; + /** + * @description Whether deployment to the environment(s) was approved or rejected or pending (with comments) + * @example approved + * @enum {string} + */ + state: "approved" | "rejected" | "pending"; + user: components["schemas"]["simple-user"]; + /** + * @description The comment submitted with the deployment review + * @example Ship it! + */ + comment: string; + }; + "review-custom-gates-comment-required": { + /** @description The name of the environment to approve or reject. */ + environment_name: string; + /** @description Comment associated with the pending deployment protection rule. **Required when state is not provided.** */ + comment: string; + }; + "review-custom-gates-state-required": { + /** @description The name of the environment to approve or reject. */ + environment_name: string; + /** + * @description Whether to approve or reject deployment to the specified environments. + * @enum {string} + */ + state: "approved" | "rejected"; + /** @description Optional comment to include with the review. */ + comment?: string; + }; + /** + * @description The type of reviewer. + * @example User + * @enum {string} + */ + "deployment-reviewer-type": "User" | "Team"; + /** + * Pending Deployment + * @description Details of a deployment that is waiting for protection rules to pass + */ + "pending-deployment": { + environment: { + /** + * @description The id of the environment. + * @example 56780428 + */ + id?: number; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id?: string; + /** + * @description The name of the environment. + * @example staging + */ + name?: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url?: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url?: string; + }; /** - * @description Whether downloads are enabled. - * @default true + * @description The set duration of the wait timer + * @example 30 */ - has_downloads: boolean; + wait_timer: number; /** - * @description Whether issues are enabled. - * @default true + * Format: date-time + * @description The time that the wait timer began. + * @example 2020-11-23T22:00:40Z */ - has_issues: boolean; - has_pages: boolean; + wait_timer_started_at: string | null; /** - * @description Whether projects are enabled. - * @default true + * @description Whether the currently authenticated user can approve the deployment + * @example true */ - has_projects: boolean; + current_user_can_approve: boolean; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; + }[]; + }; + /** + * Deployment + * @description A request for a specific ref(branch,sha,tag) to be deployed + */ + deployment: { /** - * @description Whether the wiki is enabled. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1 */ - has_wiki: boolean; + url: string; /** - * @description Whether discussions are enabled. - * @default false + * @description Unique identifier of the deployment + * @example 42 */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + /** @example MDEwOkRlcGxveW1lbnQx */ + node_id: string; + /** @example a84d88e7554fc1fa21bcbc4efae3c782a70d2b9d */ + sha: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The ref to deploy. This can be a branch, tag, or sha. + * @example topic-branch */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + ref: string; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * @description Parameter to specify a task to execute + * @example deploy */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + task: string; + payload: { + [key: string]: unknown; + } | string; + /** @example staging */ + original_environment?: string; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description Name for the target deployment environment. + * @example production */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + environment: string; + /** @example Deploy request from hubot */ + description: string | null; + creator: components["schemas"]["nullable-simple-user"]; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Format: date-time + * @example 2012-07-20T01:19:13Z + */ + created_at: string; + /** + * Format: date-time + * @example 2012-07-20T01:19:13Z */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ updated_at: string; - /** Format: uri */ - url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1/statuses */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + statuses_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + repository_url: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. + * @example true */ - allow_merge_commit?: boolean; + transient_environment?: boolean; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description Specifies if the given environment is one that end-users directly interact with. Default: false. + * @example true */ - allow_rebase_merge?: boolean; + production_environment?: boolean; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * Workflow Run Usage + * @description Workflow Run Usage + */ + "workflow-run-usage": { + billable: { + UBUNTU?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + MACOS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + WINDOWS?: { + total_ms: number; + jobs: number; + job_runs?: { + job_id: number; + duration_ms: number; + }[]; + }; + }; + run_duration_ms?: number; + }; + /** + * Workflow + * @description A GitHub Actions workflow + */ + workflow: { + /** @example 5 */ + id: number; + /** @example MDg6V29ya2Zsb3cxMg== */ + node_id: string; + /** @example CI */ + name: string; + /** @example ruby.yaml */ + path: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @example active + * @enum {string} */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + state: "active" | "deleted" | "disabled_fork" | "disabled_inactivity" | "disabled_manually"; /** - * @description Whether the repository is archived. - * @default false + * Format: date-time + * @example 2019-12-06T14:20:20.000Z */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + created_at: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: date-time + * @example 2019-12-06T14:20:20.000Z */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + updated_at: string; + /** @example https://api.github.com/repos/actions/setup-ruby/workflows/5 */ + url: string; + /** @example https://github.com/actions/setup-ruby/blob/master/.github/workflows/ruby.yaml */ + html_url: string; + /** @example https://github.com/actions/setup-ruby/workflows/CI/badge.svg */ + badge_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: date-time + * @example 2019-12-06T14:20:20.000Z + */ + deleted_at?: string; + }; + /** + * Workflow Usage + * @description Workflow Usage + */ + "workflow-usage": { + billable: { + UBUNTU?: { + total_ms?: number; + }; + MACOS?: { + total_ms?: number; + }; + WINDOWS?: { + total_ms?: number; + }; + }; + }; + /** + * Activity + * @description Activity + */ + activity: { + /** @example 1296269 */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The SHA of the commit before the activity. + * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ - has_downloads: boolean; + before: string; /** - * @description Whether issues are enabled. - * @default true + * @description The SHA of the commit after the activity. + * @example 827efc6d56897b048c772eb4087f854f46256132 */ - has_issues: boolean; - has_pages: boolean; + after: string; /** - * @description Whether projects are enabled. - * @default true + * @description The full Git reference, formatted as `refs/heads/`. + * @example refs/heads/main */ - has_projects: boolean; + ref: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: date-time + * @description The time when the activity occurred. + * @example 2011-01-26T19:06:43Z */ - has_wiki: boolean; + timestamp: string; /** - * @description Whether discussions are enabled. - * @default false + * @description The type of the activity that was performed. + * @example force_push + * @enum {string} */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ + activity_type: "push" | "force_push" | "branch_deletion" | "branch_creation" | "pr_merge" | "merge_queue_merge"; + actor: components["schemas"]["nullable-simple-user"]; + }; + /** + * Autolink reference + * @description An autolink reference. + */ + autolink: { + /** @example 3 */ id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The prefix of a key that is linkified. + * @example TICKET- */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + key_prefix: string; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * @description A template for the target URL that is generated if a key was found. + * @example https://example.com/TICKET?query= */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + url_template: string; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters. + * @example true */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + is_alphanumeric: boolean; + }; + /** + * Check Automated Security Fixes + * @description Check Automated Security Fixes + */ + "check-automated-security-fixes": { /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * @description Whether automated security fixes are enabled for the repository. + * @example true */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + enabled: boolean; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * @description Whether automated security fixes are paused for the repository. + * @example false */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ + paused: boolean; + }; + /** + * Protected Branch Required Status Check + * @description Protected Branch Required Status Check + */ + "protected-branch-required-status-check": { url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + enforcement_level?: string; + contexts: string[]; + checks: { + context: string; + app_id: number | null; + }[]; + contexts_url?: string; + strict?: boolean; + }; + /** + * Protected Branch Admin Enforced + * @description Protected Branch Admin Enforced + */ + "protected-branch-admin-enforced": { /** * Format: uri - * @description URL for the label + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/enforce_admins */ url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; + /** @example true */ + enabled: boolean; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Protected Branch Pull Request Review + * @description Protected Branch Pull Request Review */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + "protected-branch-pull-request-review": { /** * Format: uri - * @description URL for the team + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/dismissal_restrictions */ url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + dismissal_restrictions?: { + /** @description The list of users with review dismissal access. */ + users?: components["schemas"]["simple-user"][]; + /** @description The list of teams with review dismissal access. */ + teams?: components["schemas"]["team"][]; + /** @description The list of apps with review dismissal access. */ + apps?: components["schemas"]["integration"][]; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions" */ + url?: string; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/users" */ + users_url?: string; + /** @example "https://api.github.com/repos/the-org/an-org-repo/branches/master/protection/dismissal_restrictions/teams" */ + teams_url?: string; + }; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of users allowed to bypass pull request requirements. */ + users?: components["schemas"]["simple-user"][]; + /** @description The list of teams allowed to bypass pull request requirements. */ + teams?: components["schemas"]["team"][]; + /** @description The list of apps allowed to bypass pull request requirements. */ + apps?: components["schemas"]["integration"][]; + }; + /** @example true */ + dismiss_stale_reviews: boolean; + /** @example true */ + require_code_owner_reviews: boolean; + /** @example 2 */ + required_approving_review_count?: number; /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - requested_team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false + * @example true + */ + require_last_push_approval: boolean; + }; /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }]>; - /** pull_request_review submitted event */ - "webhook-pull-request-review-submitted": { - /** @enum {string} */ - action: "submitted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; + * Branch Restriction Policy + * @description Branch Restriction Policy + */ + "branch-restriction-policy": { /** Format: uri */ - received_events_url?: string; + url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + users_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + teams_url: string; /** Format: uri */ - url?: string; - }) | null)[]; + apps_url: string; + users: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }[]; + teams: { + id?: number; + node_id?: string; + url?: string; + html_url?: string; + name?: string; + slug?: string; + description?: string | null; + privacy?: string; + notification_setting?: string; + permission?: string; + members_url?: string; + repositories_url?: string; + parent?: string | null; + }[]; + apps: { + id?: number; + slug?: string; + node_id?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + url?: string; + repos_url?: string; + events_url?: string; + hooks_url?: string; + issues_url?: string; + members_url?: string; + public_members_url?: string; + avatar_url?: string; + description?: string; + /** @example "" */ + gravatar_id?: string; + /** @example "https://github.com/testorg-ea8ec76d71c3af4b" */ + html_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/followers" */ + followers_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/following{/other_user}" */ + following_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/gists{/gist_id}" */ + gists_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/starred{/owner}{/repo}" */ + starred_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/subscriptions" */ + subscriptions_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/orgs" */ + organizations_url?: string; + /** @example "https://api.github.com/users/testorg-ea8ec76d71c3af4b/received_events" */ + received_events_url?: string; + /** @example "Organization" */ + type?: string; + /** @example false */ + site_admin?: boolean; + }; + name?: string; + description?: string; + external_url?: string; + html_url?: string; + created_at?: string; + updated_at?: string; + permissions?: { + metadata?: string; + contents?: string; + issues?: string; + single_file?: string; + }; + events?: string[]; + }[]; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Branch Protection + * @description Branch Protection */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "branch-protection": { + url?: string; + enabled?: boolean; + required_status_checks?: components["schemas"]["protected-branch-required-status-check"]; + enforce_admins?: components["schemas"]["protected-branch-admin-enforced"]; + required_pull_request_reviews?: components["schemas"]["protected-branch-pull-request-review"]; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_linear_history?: { + enabled?: boolean; + }; + allow_force_pushes?: { + enabled?: boolean; + }; + allow_deletions?: { + enabled?: boolean; + }; + block_creations?: { + enabled?: boolean; + }; + required_conversation_resolution?: { + enabled?: boolean; + }; + /** @example "branch/with/protection" */ + name?: string; + /** @example "https://api.github.com/repos/owner-79e94e2d36b3fd06a32bb213/AAA_Public_Repo/branches/branch/with/protection/protection" */ + protection_url?: string; + required_signatures?: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures + */ + url: string; + /** @example true */ + enabled: boolean; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + enabled: boolean; + }; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Short Branch + * @description Short Branch */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + "short-branch": { + name: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; + protected: boolean; + protection?: components["schemas"]["branch-protection"]; /** Format: uri */ - html_url?: string; - id: number; - login: string; + protection_url?: string; + }; + /** + * Git User + * @description Metaproperties for Git author/committer information. + */ + "nullable-git-user": { + /** @example "Chris Wanstrath" */ name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** @example "chris@ozmm.org" */ + email?: string; + /** @example "2007-10-29T02:42:39.000-07:00" */ + date?: string; + } | null; + /** Verification */ + verification: { + verified: boolean; + reason: string; + payload: string | null; + signature: string | null; + }; + /** + * Diff Entry + * @description Diff Entry + */ + "diff-entry": { + /** @example bbcd538c8e72b8c175046e27cc8f907076331401 */ + sha: string; + /** @example file1.txt */ + filename: string; + /** + * @example added + * @enum {string} */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged"; + /** @example 103 */ + additions: number; + /** @example 21 */ + deletions: number; + /** @example 124 */ + changes: number; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat/Hello-World/blob/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt */ - allow_merge_commit?: boolean; + blob_url: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat/Hello-World/raw/6dcb09b5b57875f334f61aebed695e2e4193db5e/file1.txt */ - allow_rebase_merge?: boolean; + raw_url: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/contents/file1.txt?ref=6dcb09b5b57875f334f61aebed695e2e4193db5e */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + contents_url: string; + /** @example @@ -132,7 +132,7 @@ module Test @@ -1000,7 +1000,7 @@ module Test */ + patch?: string; + /** @example file.txt */ + previous_filename?: string; + }; + /** + * Commit + * @description Commit + */ + commit: { /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + url: string; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + sha: string; + /** @example MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; + commit: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + url: string; + author: components["schemas"]["nullable-git-user"]; + committer: components["schemas"]["nullable-git-user"]; + /** @example Fix all the bugs */ + message: string; + /** @example 0 */ + comment_count: number; + tree: { + /** @example 827efc6d56897b048c772eb4087f854f46256132 */ + sha: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/tree/827efc6d56897b048c772eb4087f854f46256132 + */ + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["nullable-simple-user"]; + committer: components["schemas"]["nullable-simple-user"]; + parents: { + /** @example 7638417db6d59f3c431d3e1f261cc637155684cd */ + sha: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/commits/7638417db6d59f3c431d3e1f261cc637155684cd + */ + url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/commit/7638417db6d59f3c431d3e1f261cc637155684cd + */ + html_url?: string; + }[]; + stats?: { + additions?: number; + deletions?: number; + total?: number; + }; + files?: components["schemas"]["diff-entry"][]; + }; + /** + * Branch With Protection + * @description Branch With Protection + */ + "branch-with-protection": { + name: string; + commit: components["schemas"]["commit"]; + _links: { + html: string; + /** Format: uri */ + self: string; + }; + protected: boolean; + protection: components["schemas"]["branch-protection"]; /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + protection_url: string; + /** @example "mas*" */ + pattern?: string; + /** @example 1 */ + required_approving_review_count?: number; + }; + /** + * Status Check Policy + * @description Status Check Policy + */ + "status-check-policy": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks + */ + url: string; + /** @example true */ + strict: boolean; + /** @example [ + * "continuous-integration/travis-ci" + * ] */ + contexts: string[]; + checks: { + /** @example continuous-integration/travis-ci */ + context: string; + app_id: number | null; + }[]; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_status_checks/contexts + */ + contexts_url: string; + }; + /** + * Protected Branch + * @description Branch protections protect branches + */ + "protected-branch": { + /** Format: uri */ + url: string; + required_status_checks?: components["schemas"]["status-check-policy"]; + required_pull_request_reviews?: { + /** Format: uri */ + url: string; + dismiss_stale_reviews?: boolean; + require_code_owner_reviews?: boolean; + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. + * @default false + */ + require_last_push_approval: boolean; + dismissal_restrictions?: { + /** Format: uri */ + url: string; + /** Format: uri */ + users_url: string; + /** Format: uri */ + teams_url: string; + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + apps?: components["schemas"]["integration"][]; + }; + bypass_pull_request_allowances?: { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + apps?: components["schemas"]["integration"][]; + }; + }; + required_signatures?: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/branches/master/protection/required_signatures + */ + url: string; + /** @example true */ + enabled: boolean; + }; + enforce_admins?: { + /** Format: uri */ + url: string; + enabled: boolean; + }; + required_linear_history?: { + enabled: boolean; + }; + allow_force_pushes?: { + enabled: boolean; + }; + allow_deletions?: { + enabled: boolean; + }; + restrictions?: components["schemas"]["branch-restriction-policy"]; + required_conversation_resolution?: { + enabled?: boolean; + }; + block_creations?: { + enabled: boolean; + }; + /** @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. */ + lock_branch?: { + /** @default false */ + enabled: boolean; + }; + /** @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. */ + allow_fork_syncing?: { + /** @default false */ + enabled: boolean; + }; + }; + /** + * Deployment + * @description A deployment created as the result of an Actions check run from a workflow that references an environment + */ + "deployment-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1 + */ + url: string; + /** + * @description Unique identifier of the deployment + * @example 42 + */ + id: number; + /** @example MDEwOkRlcGxveW1lbnQx */ + node_id: string; + /** + * @description Parameter to specify a task to execute + * @example deploy + */ + task: string; + /** @example staging */ + original_environment?: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description Name for the target deployment environment. + * @example production */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; + environment: string; + /** @example Deploy request from hubot */ description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: date-time + * @example 2012-07-20T01:19:13Z */ - has_downloads: boolean; + created_at: string; /** - * @description Whether issues are enabled. - * @default true + * Format: date-time + * @example 2012-07-20T01:19:13Z */ - has_issues: boolean; - has_pages: boolean; + updated_at: string; /** - * @description Whether projects are enabled. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/example/deployments/1/statuses */ - has_projects: boolean; + statuses_url: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/example */ - has_wiki: boolean; + repository_url: string; /** - * @description Whether discussions are enabled. - * @default false + * @description Specifies if the given environment is will no longer exist at some point in the future. Default: false. + * @example true + */ + transient_environment?: boolean; + /** + * @description Specifies if the given environment is one that end-users directly interact with. Default: false. + * @example true + */ + production_environment?: boolean; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run": { + /** + * @description The id of the check. + * @example 21 */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The SHA of the commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + head_sha: string; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + /** @example 42 */ + external_id: string | null; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + url: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string | null; + /** @example https://example.com */ + details_url: string | null; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @description The phase of the lifecycle that the check is currently in. + * @example queued * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ + status: "queued" | "in_progress" | "completed"; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required"; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + started_at: string | null; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + completed_at: string | null; + output: { + title: string | null; + summary: string | null; + text: string | null; + annotations_count: number; + /** Format: uri */ + annotations_url: string; + }; + /** + * @description The name of the check. + * @example test-coverage + */ name: string; + check_suite: { + id: number; + } | null; + app: components["schemas"]["nullable-integration"]; + /** @description Pull requests that are open with a `head_sha` or `head_branch` that matches the check. The returned pull requests do not necessarily indicate pull requests that triggered the check. */ + pull_requests: components["schemas"]["pull-request-minimal"][]; + deployment?: components["schemas"]["deployment-simple"]; + }; + /** + * Check Annotation + * @description Check Annotation + */ + "check-annotation": { + /** @example README.md */ + path: string; + /** @example 2 */ + start_line: number; + /** @example 2 */ + end_line: number; + /** @example 5 */ + start_column: number | null; + /** @example 10 */ + end_column: number | null; + /** @example warning */ + annotation_level: string | null; + /** @example Spell Checker */ + title: string | null; + /** @example Check your spelling for 'banaas'. */ + message: string | null; + /** @example Do you mean 'bananas' or 'banana'? */ + raw_details: string | null; + blob_href: string; + }; + /** + * Simple Commit + * @description A commit. + */ + "simple-commit": { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + id: string; + /** @description SHA for the commit's tree */ + tree_id: string; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + timestamp: string; + /** @description Information about the Git author */ + author: { + /** + * @description Name of the commit's author + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's author + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + /** @description Information about the Git committer */ + committer: { + /** + * @description Name of the commit's committer + * @example Monalisa Octocat + */ + name: string; + /** + * Format: email + * @description Git email address of the commit's committer + * @example monalisa.octocat@example.com + */ + email: string; + } | null; + }; + /** + * CheckSuite + * @description A suite of checks performed on the code of a given code change + */ + "check-suite": { + /** @example 5 */ + id: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + /** @example master */ + head_branch: string | null; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The SHA of the head commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + head_sha: string; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * @example completed + * @enum {string|null} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + status: "queued" | "in_progress" | "completed"; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "startup_failure" | "stale" | null; + /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ + url: string | null; + /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ + before: string | null; + /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ + after: string | null; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; + app: components["schemas"]["nullable-integration"]; + repository: components["schemas"]["minimal-repository"]; /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + created_at: string | null; + /** Format: date-time */ + updated_at: string | null; + head_commit: components["schemas"]["simple-commit"]; + latest_check_runs_count: number; + check_runs_url: string; + rerequestable?: boolean; + runs_rerequestable?: boolean; + }; + /** + * Check Suite Preference + * @description Check suite configuration preferences for a repository. + */ + "check-suite-preference": { + preferences: { + auto_trigger_checks?: { + app_id: number; + setting: boolean; + }[]; + }; + repository: components["schemas"]["minimal-repository"]; + }; + "code-scanning-alert-rule-summary": { + /** @description A unique identifier for the rule used to detect the alert. */ + id?: string | null; + /** @description The name of the rule used to detect the alert. */ + name?: string; + /** @description A set of tags applicable for the rule. */ + tags?: string[] | null; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * @description The severity of the alert. + * @enum {string|null} */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + severity?: "none" | "note" | "warning" | "error"; + /** @description A short description of the rule used to detect the alert. */ + description?: string; + }; + "code-scanning-alert-items": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule-summary"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + "code-scanning-alert": { + number: components["schemas"]["alert-number"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + instances_url: components["schemas"]["alert-instances-url"]; + state: components["schemas"]["code-scanning-alert-state"]; + fixed_at?: components["schemas"]["alert-fixed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + rule: components["schemas"]["code-scanning-alert-rule"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + most_recent_instance: components["schemas"]["code-scanning-alert-instance"]; + }; + /** + * @description Sets the state of the code scanning alert. You must provide `dismissed_reason` when you set the state to `dismissed`. + * @enum {string} + */ + "code-scanning-alert-set-state": "open" | "dismissed"; + /** + * @description An identifier for the upload. + * @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 + */ + "code-scanning-analysis-sarif-id": string; + /** @description The SHA of the commit to which the analysis you are uploading relates. */ + "code-scanning-analysis-commit-sha": string; + /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ + "code-scanning-analysis-environment": string; + /** + * Format: date-time + * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + "code-scanning-analysis-created-at": string; + /** + * Format: uri + * @description The REST API URL of the analysis resource. + */ + "code-scanning-analysis-url": string; + "code-scanning-analysis": { + ref: components["schemas"]["code-scanning-ref"]; + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment: components["schemas"]["code-scanning-analysis-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; + /** @example error reading field xyz */ + error: string; + created_at: components["schemas"]["code-scanning-analysis-created-at"]; + /** @description The total number of results in the analysis. */ + results_count: number; + /** @description The total number of rules used in the analysis. */ + rules_count: number; + /** @description Unique identifier for this analysis. */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + url: components["schemas"]["code-scanning-analysis-url"]; + sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; + deletable: boolean; + /** + * @description Warning generated when processing the analysis + * @example 123 results were ignored */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + warning: string; + }; + /** + * Analysis deletion + * @description Successful deletion of a code scanning analysis + */ + "code-scanning-analysis-deletion": { + /** + * Format: uri + * @description Next deletable analysis in chain, without last analysis deletion confirmation + */ + readonly next_analysis_url: string | null; + /** + * Format: uri + * @description Next deletable analysis in chain, with last analysis deletion confirmation + */ + readonly confirm_delete_url: string | null; + }; + /** + * CodeQL Database + * @description A CodeQL database. + */ + "code-scanning-codeql-database": { + /** @description The ID of the CodeQL database. */ + id: number; + /** @description The name of the CodeQL database. */ + name: string; + /** @description The language of the CodeQL database. */ + language: string; + uploader: components["schemas"]["simple-user"]; + /** @description The MIME type of the CodeQL database file. */ + content_type: string; + /** @description The size of the CodeQL database file in bytes. */ + size: number; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: date-time + * @description The date and time at which the CodeQL database was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. */ - allow_merge_commit?: boolean; + created_at: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: date-time + * @description The date and time at which the CodeQL database was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. */ - allow_rebase_merge?: boolean; + updated_at: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: uri + * @description The URL at which to download the CodeQL database. The `Accept` header must be set to the value of the `content_type` property. */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + url: string; + }; + /** @description Configuration for code scanning default setup. */ + "code-scanning-default-setup": { /** - * @description Whether the repository is archived. - * @default false + * @description Code scanning default setup has been configured or not. + * @enum {string} */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + state?: "configured" | "not-configured"; + /** @description Languages to be analysed. */ + languages?: ("c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "javascript" | "python" | "ruby" | "typescript" | "swift")[]; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description CodeQL query suite to be used. + * @enum {string} */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + query_suite?: "default" | "extended"; /** - * @description Whether downloads are enabled. - * @default true + * Format: date-time + * @description Timestamp of latest configuration update. + * @example 2023-12-06T14:20:20.000Z */ - has_downloads: boolean; + updated_at?: string | null; /** - * @description Whether issues are enabled. - * @default true + * @description The frequency of the periodic analysis. + * @enum {string|null} */ - has_issues: boolean; - has_pages: boolean; + schedule?: "weekly"; + }; + /** @description Configuration for code scanning default setup. */ + "code-scanning-default-setup-update": { /** - * @description Whether projects are enabled. - * @default true + * @description Whether code scanning default setup has been configured or not. + * @enum {string} */ - has_projects: boolean; + state: "configured" | "not-configured"; /** - * @description Whether the wiki is enabled. - * @default true + * @description CodeQL query suite to be used. + * @enum {string} */ - has_wiki: boolean; + query_suite?: "default" | "extended"; + /** @description CodeQL languages to be analyzed. Supported values are: `c-cpp`, `csharp`, `go`, `java-kotlin`, `javascript-typescript`, `python`, `ruby`, and `swift`. */ + languages?: ("c-cpp" | "csharp" | "go" | "java-kotlin" | "javascript-typescript" | "python" | "ruby" | "swift")[]; + }; + /** @description You can use `run_url` to track the status of the run. This includes a property status and conclusion. + * You should not rely on this always being an actions workflow run object. */ + "code-scanning-default-setup-update-response": { + /** @description ID of the corresponding run. */ + run_id?: number; + /** @description URL of the corresponding run. */ + run_url?: string; + }; + /** @description A Base64 string representing the SARIF file to upload. You must first compress your SARIF file using [`gzip`](http://www.gnu.org/software/gzip/manual/gzip.html) and then translate the contents of the file into a Base64 encoding string. For more information, see "[SARIF support for code scanning](https://docs.github.com/code-security/secure-coding/sarif-support-for-code-scanning)." */ + "code-scanning-analysis-sarif-file": string; + "code-scanning-sarifs-receipt": { + id?: components["schemas"]["code-scanning-analysis-sarif-id"]; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @description The REST API URL for checking the status of the upload. */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + readonly url?: string; + }; + "code-scanning-sarifs-status": { /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * @description `pending` files have not yet been processed, while `complete` means results from the SARIF have been stored. `failed` files have either not been processed at all, or could only be partially processed. * @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + processing_status?: "pending" | "complete" | "failed"; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * Format: uri + * @description The REST API URL for getting the analyses associated with the upload. + */ + readonly analyses_url?: string | null; + /** @description Any errors that ocurred during processing of the delivery. */ + readonly errors?: string[] | null; + }; + /** + * CODEOWNERS errors + * @description A list of errors found in a repo's CODEOWNERS file + */ + "codeowners-errors": { + errors: { + /** + * @description The line number where this errors occurs. + * @example 7 + */ + line: number; + /** + * @description The column number where this errors occurs. + * @example 3 + */ + column: number; + /** + * @description The contents of the line where the error occurs. + * @example * user + */ + source?: string; + /** + * @description The type of error. + * @example Invalid owner + */ + kind: string; + /** + * @description Suggested action to fix the error. This will usually be `null`, but is provided for some common errors. + * @example The pattern `/` will never match anything, did you mean `*` instead? + */ + suggestion?: string | null; + /** + * @description A human-readable description of the error, combining information from multiple fields, laid out for display in a monospaced typeface (for example, a command-line setting). + * @example Invalid owner on line 7: + * + * * user + * ^ + */ + message: string; + /** + * @description The path of the file where the error occured. + * @example .github/CODEOWNERS + */ + path: string; + }[]; + }; + /** + * Codespace machine + * @description A description of the machine powering a codespace. + */ + "codespace-machine": { + /** + * @description The name of the machine. + * @example standardLinux */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The display name of the machine includes cores, memory, and storage. + * @example 4 cores, 16 GB RAM, 64 GB storage */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + display_name: string; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * @description The operating system of the machine. + * @example linux */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + operating_system: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * @description How much storage is available to the codespace. + * @example 68719476736 + */ + storage_in_bytes: number; + /** + * @description How much memory is available to the codespace. + * @example 17179869184 + */ + memory_in_bytes: number; + /** + * @description How many cores are available to the codespace. + * @example 4 + */ + cpus: number; + /** + * @description Whether a prebuild is currently available when creating a codespace for this machine and repository. If a branch was not specified as a ref, the default branch will be assumed. Value will be "null" if prebuilds are not supported or prebuild availability could not be determined. Value will be "none" if no prebuild is available. Latest values "ready" and "in_progress" indicate the prebuild availability status. + * @example ready + * @enum {string|null} + */ + prebuild_availability: "none" | "ready" | "in_progress"; + }; + /** + * Codespaces Permissions Check + * @description Permission check result for a given devcontainer config. + */ + "codespaces-permissions-check-for-devcontainer": { + /** + * @description Whether the user has accepted the permissions defined by the devcontainer config + * @example true + */ + accepted: boolean; + }; + /** + * Codespaces Secret + * @description Set repository secrets for GitHub Codespaces. + */ + "repo-codespaces-secret": { + /** + * @description The name of the secret. + * @example SECRET_TOKEN */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ name: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Collaborator + * @description Collaborator + */ + collaborator: { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ node_id: string; /** * Format: uri - * @description URL for the label + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat */ url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name: string; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "repository-invitation": { + /** + * @description Unique identifier of the repository invitation. + * @example 42 + */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ + repository: components["schemas"]["minimal-repository"]; + invitee: components["schemas"]["nullable-simple-user"]; + inviter: components["schemas"]["nullable-simple-user"]; + /** + * @description The permission associated with the invitation. + * @example read + * @enum {string} + */ + permissions: "read" | "write" | "admin" | "triage" | "maintain"; + /** + * Format: date-time + * @example 2016-06-13T14:52:50-05:00 + */ + created_at: string; + /** @description Whether or not the invitation has expired */ + expired?: boolean; + /** + * @description URL for the repository invitation + * @example https://api.github.com/user/repository-invitations/1 + */ + url: string; + /** @example https://github.com/octocat/Hello-World/invitations */ html_url: string; - /** @description Unique identifier of the team */ + node_id: string; + }; + /** + * Collaborator + * @description Collaborator + */ + "nullable-collaborator": { + /** @example octocat */ + login: string; + /** @example 1 */ id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; + email?: string | null; + name?: string | null; + /** @example MDQ6VXNlcjE= */ node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; /** * Format: uri - * @description URL for the team + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat */ url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; /** * Format: uri - * @description URL for the team + * @example https://github.com/octocat */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - /** @description The review that was affected. */ - review: { - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + permissions?: { + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + admin: boolean; + }; + /** @example admin */ + role_name: string; + } | null; + /** + * Repository Collaborator Permission + * @description Repository Collaborator Permission + */ + "repository-collaborator-permission": { + permission: string; + /** @example admin */ + role_name: string; + user: components["schemas"]["nullable-collaborator"]; }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Commit Comment + * @description Commit Comment */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the review. */ - body: string | null; - /** @description A commit SHA for the review. */ - commit_id: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the review */ - id: number; - node_id: string; - /** Format: uri */ - pull_request_url: string; - state: string; - /** Format: date-time */ - submitted_at: string | null; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request_review_thread resolved event */ - "webhook-pull-request-review-thread-resolved": { - /** @enum {string} */ - action: "resolved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + "commit-comment": { /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + html_url: string; /** Format: uri */ - html_url?: string; + url: string; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; + node_id: string; + body: string; + path: string | null; + position: number | null; + line: number | null; + commit_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Branch Short + * @description Branch Short + */ + "branch-short": { + name: string; + commit: { + sha: string; + url: string; + }; + protected: boolean; + }; + /** + * Link + * @description Hypermedia Link */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + link: { + href: string; + }; /** - * PullRequestAutoMerge + * Auto merge * @description The status of auto merging a pull request. */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + "auto-merge": { + enabled_by: components["schemas"]["simple-user"]; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The merge method to use. + * @enum {string} */ - allow_merge_commit?: boolean; + merge_method: "merge" | "squash" | "rebase"; + /** @description Title for the merge commit message. */ + commit_title: string; + /** @description Commit message for the merge commit. */ + commit_message: string; + } | null; + /** + * Pull Request Simple + * @description Pull Request Simple + */ + "pull-request-simple": { /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ - allow_rebase_merge?: boolean; + url: string; + /** @example 1 */ + id: number; + /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ + node_id: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347 */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + html_url: string; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.diff */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + diff_url: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.patch */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + patch_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ - has_downloads: boolean; + issue_url: string; /** - * @description Whether issues are enabled. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits */ - has_issues: boolean; - has_pages: boolean; + commits_url: string; /** - * @description Whether projects are enabled. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments */ - has_projects: boolean; + review_comments_url: string; + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ + review_comment_url: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments */ - has_wiki: boolean; + comments_url: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + /** @example 1347 */ + number: number; + /** @example open */ + state: string; + /** @example true */ + locked: boolean; + /** @example new-feature */ + title: string; + user: components["schemas"]["nullable-simple-user"]; + /** @example Please pull these awesome changes */ + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string; + color: string; + default: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + /** @example too heated */ + active_lock_reason?: string | null; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: date-time + * @example 2011-01-26T19:01:12Z */ - allow_merge_commit?: boolean; + created_at: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: date-time + * @example 2011-01-26T19:01:12Z */ - allow_rebase_merge?: boolean; + updated_at: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: date-time + * @example 2011-01-26T19:01:12Z */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + closed_at: string | null; /** - * @description Whether the repository is archived. - * @default false + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + merged_at: string | null; + /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team"][] | null; + head: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + base: { + label: string; + ref: string; + repo: components["schemas"]["repository"]; + sha: string; + user: components["schemas"]["nullable-simple-user"]; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** + * @description Indicates whether or not the pull request is a draft. + * @example false */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; + draft?: boolean; + }; + /** Simple Commit Status */ + "simple-commit-status": { + description: string | null; + id: number; + node_id: string; + state: string; + context: string; /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; + target_url: string | null; + required?: boolean | null; /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; + avatar_url: string | null; /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Combined Commit Status + * @description Combined Commit Status + */ + "combined-commit-status": { + state: string; + statuses: components["schemas"]["simple-commit-status"][]; + sha: string; + total_count: number; + repository: components["schemas"]["minimal-repository"]; /** Format: uri */ - downloads_url: string; + commit_url: string; /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; + url: string; + }; + /** + * Status + * @description The status of a commit. + */ + status: { + url: string; + avatar_url: string | null; + id: number; + node_id: string; + state: string; + description: string | null; + target_url: string | null; + context: string; + created_at: string; + updated_at: string; + creator: components["schemas"]["nullable-simple-user"]; + }; + /** + * Code Of Conduct Simple + * @description Code of Conduct Simple + */ + "nullable-code-of-conduct-simple": { + /** + * Format: uri + * @example https://api.github.com/repos/github/docs/community/code_of_conduct + */ + url: string; + /** @example citizen_code_of_conduct */ + key: string; + /** @example Citizen Code of Conduct */ + name: string; + /** + * Format: uri + * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md + */ + html_url: string | null; + } | null; + /** Community Health File */ + "nullable-community-health-file": { /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; + url: string; /** Format: uri */ - git_url: string; + html_url: string; + } | null; + /** + * Community Profile + * @description Community Profile + */ + "community-profile": { + /** @example 100 */ + health_percentage: number; + /** @example My first repository on GitHub! */ + description: string | null; + /** @example example.com */ + documentation: string | null; + files: { + code_of_conduct: components["schemas"]["nullable-code-of-conduct-simple"]; + code_of_conduct_file: components["schemas"]["nullable-community-health-file"]; + license: components["schemas"]["nullable-license-simple"]; + contributing: components["schemas"]["nullable-community-health-file"]; + readme: components["schemas"]["nullable-community-health-file"]; + issue_template: components["schemas"]["nullable-community-health-file"]; + pull_request_template: components["schemas"]["nullable-community-health-file"]; + }; /** - * @description Whether downloads are enabled. - * @default true + * Format: date-time + * @example 2017-02-28T19:09:29Z */ - has_downloads: boolean; + updated_at: string | null; + /** @example true */ + content_reports_enabled?: boolean; + }; + /** + * Commit Comparison + * @description Commit Comparison + */ + "commit-comparison": { /** - * @description Whether issues are enabled. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/compare/master...topic */ - has_issues: boolean; - has_pages: boolean; + url: string; /** - * @description Whether projects are enabled. - * @default true + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic */ - has_projects: boolean; + html_url: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17 */ - has_wiki: boolean; + permalink_url: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic.diff */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; + diff_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/compare/master...topic.patch + */ + patch_url: string; + base_commit: components["schemas"]["commit"]; + merge_base_commit: components["schemas"]["commit"]; + /** + * @example ahead + * @enum {string} + */ + status: "diverged" | "ahead" | "behind" | "identical"; + /** @example 4 */ + ahead_by: number; + /** @example 5 */ + behind_by: number; + /** @example 6 */ + total_commits: number; + commits: components["schemas"]["commit"][]; + files?: components["schemas"]["diff-entry"][]; + }; + /** + * Content Tree + * @description Content Tree + */ + "content-tree": { + type: string; + size: number; + name: string; + path: string; + sha: string; /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; + url: string; /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + git_url: string | null; /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + html_url: string | null; /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + download_url: string | null; + entries?: { + type: string; + size: number; + name: string; + path: string; + content?: string; + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }[]; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; + }; + /** + * Content Directory + * @description A list of directory items + */ + "content-directory": { + /** @enum {string} */ + type: "dir" | "file" | "submodule" | "symlink"; size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; + name: string; + path: string; + content?: string; + sha: string; /** Format: uri */ url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + git_url: string | null; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + html_url: string | null; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }[]; + /** + * Content File + * @description Content File + */ + "content-file": { + /** @enum {string} */ + type: "file"; + encoding: string; + size: number; + name: string; + path: string; + content: string; + sha: string; /** Format: uri */ - organizations_url?: string; + url: string; /** Format: uri */ - received_events_url?: string; + git_url: string | null; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + html_url: string | null; /** Format: uri */ - subscriptions_url?: string; + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + /** @example "actual/actual.md" */ + target?: string; + /** @example "git://example.com/defunkt/dotjs.git" */ + submodule_git_url?: string; + }; + /** + * Symlink Content + * @description An object describing a symlink + */ + "content-symlink": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ + type: "symlink"; + target: string; + size: number; name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ + path: string; + sha: string; + /** Format: uri */ url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; + /** Format: uri */ + git_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Submodule Content + * @description An object describing a submodule */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + "content-submodule": { + /** @enum {string} */ + type: "submodule"; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + submodule_git_url: string; + size: number; + name: string; + path: string; + sha: string; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + url: string; /** Format: uri */ - organizations_url?: string; + git_url: string | null; /** Format: uri */ - received_events_url?: string; + html_url: string | null; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + download_url: string | null; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + }; + /** + * File Commit + * @description File Commit + */ + "file-commit": { + content: { + name?: string; + path?: string; + sha?: string; + size?: number; + url?: string; + html_url?: string; + git_url?: string; + download_url?: string; + type?: string; + _links?: { + self?: string; + git?: string; + html?: string; + }; + } | null; + commit: { + sha?: string; + node_id?: string; + url?: string; + html_url?: string; + author?: { + date?: string; + name?: string; + email?: string; + }; + committer?: { + date?: string; + name?: string; + email?: string; + }; + message?: string; + tree?: { + url?: string; + sha?: string; + }; + parents?: { + url?: string; + html_url?: string; + sha?: string; + }[]; + verification?: { + verified?: boolean; + reason?: string; + signature?: string | null; + payload?: string | null; + }; + }; + }; + /** + * Contributor + * @description Contributor + */ + contributor: { + login?: string; + id?: number; + node_id?: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + avatar_url?: string; + gravatar_id?: string | null; /** Format: uri */ url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + html_url?: string; /** Format: uri */ followers_url?: string; - /** Format: uri-template */ following_url?: string; - /** Format: uri-template */ gists_url?: string; - gravatar_id?: string; + starred_url?: string; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + subscriptions_url?: string; /** Format: uri */ organizations_url?: string; /** Format: uri */ - received_events_url?: string; - /** Format: uri */ repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; + events_url?: string; /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ + received_events_url?: string; + type: string; + site_admin?: boolean; + contributions: number; + email?: string; + name?: string; + }; + /** @description A Dependabot alert. */ + "dependabot-alert": { + number: components["schemas"]["alert-number"]; + /** + * @description The state of the Dependabot alert. + * @enum {string} + */ + readonly state: "auto_dismissed" | "dismissed" | "fixed" | "open"; + /** @description Details for the vulnerable dependency. */ + readonly dependency: { + package?: components["schemas"]["dependabot-alert-package"]; + /** @description The full path to the dependency manifest file, relative to the root of the repository. */ + readonly manifest_path?: string; + /** + * @description The execution scope of the vulnerable dependency. + * @enum {string|null} + */ + readonly scope?: "development" | "runtime"; + }; + security_advisory: components["schemas"]["dependabot-alert-security-advisory"]; + security_vulnerability: components["schemas"]["dependabot-alert-security-vulnerability"]; + url: components["schemas"]["alert-url"]; + html_url: components["schemas"]["alert-html-url"]; + created_at: components["schemas"]["alert-created-at"]; + updated_at: components["schemas"]["alert-updated-at"]; + dismissed_at: components["schemas"]["alert-dismissed-at"]; + dismissed_by: components["schemas"]["nullable-simple-user"]; + /** + * @description The reason that the alert was dismissed. + * @enum {string|null} + */ + dismissed_reason: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk"; + /** @description An optional comment associated with the alert's dismissal. */ + dismissed_comment: string | null; + fixed_at: components["schemas"]["alert-fixed-at"]; + auto_dismissed_at?: components["schemas"]["alert-auto-dismissed-at"]; + }; + /** + * Dependabot Secret + * @description Set secrets for Dependabot. + */ + "dependabot-secret": { + /** + * @description The name of the secret. + * @example MY_ARTIFACTORY_PASSWORD + */ name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Dependency Graph Diff + * @description A diff of the dependencies between two commits. + */ + "dependency-graph-diff": { /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + change_type: "added" | "removed"; + /** @example path/to/package-lock.json */ + manifest: string; + /** @example npm */ + ecosystem: string; + /** @example @actions/core */ + name: string; + /** @example 1.0.0 */ + version: string; + /** @example pkg:/npm/%40actions/core@1.1.0 */ + package_url: string | null; + /** @example MIT */ + license: string | null; + /** @example https://github.com/github/actions */ + source_repository_url: string | null; + vulnerabilities: { + /** @example critical */ + severity: string; + /** @example GHSA-rf4j-j272-fj86 */ + advisory_ghsa_id: string; + /** @example A summary of the advisory. */ + advisory_summary: string; + /** @example https://github.com/advisories/GHSA-rf4j-j272-fj86 */ + advisory_url: string; + }[]; + /** + * @description Where the dependency is utilized. `development` means that the dependency is only utilized in the development environment. `runtime` means that the dependency is utilized at runtime and in the development environment. + * @enum {string} + */ + scope: "unknown" | "runtime" | "development"; + }[]; + /** + * Dependency Graph SPDX SBOM + * @description A schema for the SPDX JSON format returned by the Dependency Graph. + */ + "dependency-graph-spdx-sbom": { + sbom: { + /** + * @description The SPDX identifier for the SPDX document. + * @example SPDXRef-DOCUMENT + */ + SPDXID: string; + /** + * @description The version of the SPDX specification that this document conforms to. + * @example SPDX-2.3 + */ + spdxVersion: string; + creationInfo: { + /** + * @description The date and time the SPDX document was created. + * @example 2021-11-03T00:00:00Z + */ + created: string; + /** @description The tools that were used to generate the SPDX document. */ + creators: string[]; + }; + /** + * @description The name of the SPDX document. + * @example github/github + */ + name: string; + /** + * @description The license under which the SPDX document is licensed. + * @example CC0-1.0 + */ + dataLicense: string; + /** @description The name of the repository that the SPDX document describes. */ + documentDescribes: string[]; + /** + * @description The namespace for the SPDX document. + * @example https://github.com/example/dependency_graph/sbom-123 + */ + documentNamespace: string; + packages: { + /** + * @description A unique SPDX identifier for the package. + * @example SPDXRef-Package + */ + SPDXID?: string; + /** + * @description The name of the package. + * @example rubygems:github/github + */ + name?: string; + /** + * @description The version of the package. If the package does not have an exact version specified, + * a version range is given. + * @example 1.0.0 + */ + versionInfo?: string; + /** + * @description The location where the package can be downloaded, + * or NOASSERTION if this has not been determined. + * @example NOASSERTION + */ + downloadLocation?: string; + /** + * @description Whether the package's file content has been subjected to + * analysis during the creation of the SPDX document. + * @example false + */ + filesAnalyzed?: boolean; + /** + * @description The license of the package as determined while creating the SPDX document. + * @example MIT + */ + licenseConcluded?: string; + /** + * @description The license of the package as declared by its author, or NOASSERTION if this information + * was not available when the SPDX document was created. + * @example NOASSERTION + */ + licenseDeclared?: string; + /** + * @description The distribution source of this package, or NOASSERTION if this was not determined. + * @example NOASSERTION + */ + supplier?: string; + externalRefs?: { + /** + * @description The category of reference to an external resource this reference refers to. + * @example PACKAGE-MANAGER + */ + referenceCategory: string; + /** + * @description A locator for the particular external resource this reference refers to. + * @example pkg:gem/rails@6.0.1 + */ + referenceLocator: string; + /** + * @description The category of reference to an external resource this reference refers to. + * @example purl + */ + referenceType: string; + }[]; + }[]; + }; + }; + /** + * metadata + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + metadata: { + [key: string]: (string | number | boolean) | null; + }; + dependency: { + /** + * @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details. + * @example pkg:/npm/%40actions/http-client@1.0.11 + */ + package_url?: string; + metadata?: components["schemas"]["metadata"]; + /** + * @description A notation of whether a dependency is requested directly by this manifest or is a dependency of another dependency. + * @example direct + * @enum {string} + */ + relationship?: "direct" | "indirect"; + /** + * @description A notation of whether the dependency is required for the primary build artifact (runtime) or is only used for development. Future versions of this specification may allow for more granular scopes. + * @example runtime + * @enum {string} + */ + scope?: "runtime" | "development"; + /** + * @description Array of package-url (PURLs) of direct child dependencies. + * @example @actions/http-client + */ + dependencies?: string[]; + }; + manifest: { + /** + * @description The name of the manifest. + * @example package-lock.json + */ + name: string; + file?: { + /** + * @description The path of the manifest file relative to the root of the Git repository. + * @example /src/build/package-lock.json + */ + source_location?: string; + }; + metadata?: components["schemas"]["metadata"]; + /** @description A collection of resolved package dependencies. */ + resolved?: { + [key: string]: components["schemas"]["dependency"]; + }; + }; + /** + * snapshot + * @description Create a new snapshot of a repository's dependencies. + */ + snapshot: { + /** @description The version of the repository snapshot submission. */ + version: number; + job: { + /** + * @description The external ID of the job. + * @example 5622a2b0-63f6-4732-8c34-a1ab27e102a11 + */ + id: string; + /** + * @description Correlator provides a key that is used to group snapshots submitted over time. Only the "latest" submitted snapshot for a given combination of `job.correlator` and `detector.name` will be considered when calculating a repository's current dependencies. Correlator should be as unique as it takes to distinguish all detection runs for a given "wave" of CI workflow you run. If you're using GitHub Actions, a good default value for this could be the environment variables GITHUB_WORKFLOW and GITHUB_JOB concatenated together. If you're using a build matrix, then you'll also need to add additional key(s) to distinguish between each submission inside a matrix variation. + * @example yourworkflowname_yourjobname + */ + correlator: string; + /** + * @description The url for the job. + * @example http://example.com/build + */ + html_url?: string; + }; + /** + * @description The commit SHA associated with this dependency snapshot. Maximum length: 40 characters. + * @example ddc951f4b1293222421f2c8df679786153acf689 + */ + sha: string; + /** + * @description The repository branch that triggered this snapshot. + * @example refs/heads/main + */ + ref: string; + /** @description A description of the detector used. */ + detector: { + /** + * @description The name of the detector used. + * @example docker buildtime detector + */ + name: string; + /** + * @description The version of the detector used. + * @example 1.0.0 + */ + version: string; + /** + * @description The url of the detector used. + * @example http://example.com/docker-buildtimer-detector + */ + url: string; + }; + metadata?: components["schemas"]["metadata"]; + /** @description A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ + manifests?: { + [key: string]: components["schemas"]["manifest"]; + }; + /** + * Format: date-time + * @description The time at which the snapshot was scanned. + * @example 2020-06-13T14:52:50-05:00 + */ + scanned: string; + }; + /** + * Deployment Status + * @description The status of a deployment. + */ + "deployment-status": { /** * Format: uri - * @description URL for the team + * @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ + /** @example 1 */ id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + /** @example MDE2OkRlcGxveW1lbnRTdGF0dXMx */ + node_id: string; + /** + * @description The state of the status. + * @example success + * @enum {string} + */ + state: "error" | "failure" | "inactive" | "pending" | "success" | "queued" | "in_progress"; + creator: components["schemas"]["nullable-simple-user"]; + /** + * @description A short description of the status. + * @default + * @example Deployment finished successfully. + */ + description: string; + /** + * @description The environment of the deployment that the status is for. + * @default + * @example production + */ + environment: string; /** * Format: uri - * @description URL for the team + * @description Deprecated: the URL to associate with this status. + * @default + * @example https://example.com/deployment/42/output */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - thread: { - comments: ({ - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; + target_url: string; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Format: date-time + * @example 2012-07-20T01:19:13Z */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; - /** Format: date-time */ created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; /** - * Format: uri - * @description HTML URL for the pull request review comment. + * Format: date-time + * @example 2012-07-20T01:19:13Z */ - html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number | null; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; + updated_at: string; /** * Format: uri - * @description URL for the pull request that the review comment belongs to. - */ - pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} + * @example https://api.github.com/repos/octocat/example/deployments/42 */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; + deployment_url: string; /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} + * Format: uri + * @example https://api.github.com/repos/octocat/example */ - start_side: "LEFT" | "RIGHT" | null; + repository_url: string; /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} + * Format: uri + * @description The URL for accessing your environment. + * @default + * @example https://staging.example.com/ */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; + environment_url: string; /** * Format: uri - * @description URL for the pull request review comment + * @description The URL to associate with this status. + * @default + * @example https://example.com/deployment/42/output */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - })[]; - node_id: string; - }; - }; - /** pull_request_review_thread unresolved event */ - "webhook-pull-request-review-thread-unresolved": { - /** @enum {string} */ - action: "unresolved"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Simple Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; + log_url: string; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * @description The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). + * @example 30 */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "wait-timer": number; + /** @description The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. */ + "deployment-branch-policy-settings": { + /** @description Whether only branches with branch protection rules can deploy to this environment. If `protected_branches` is `true`, `custom_branch_policies` must be `false`; if `protected_branches` is `false`, `custom_branch_policies` must be `true`. */ + protected_branches: boolean; + /** @description Whether only branches that match the specified name patterns can deploy to this environment. If `custom_branch_policies` is `true`, `protected_branches` must be `false`; if `custom_branch_policies` is `false`, `protected_branches` must be `true`. */ + custom_branch_policies: boolean; + } | null; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Environment + * @description Details of a deployment environment */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + environment: { + /** + * @description The id of the environment. + * @example 56780428 + */ id: number; - login: string; - name?: string; + /** @example MDExOkVudmlyb25tZW50NTY3ODA0Mjg= */ + node_id: string; + /** + * @description The name of the environment. + * @example staging + */ + name: string; + /** @example https://api.github.com/repos/github/hello-world/environments/staging */ + url: string; + /** @example https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging */ + html_url: string; + /** + * Format: date-time + * @description The time that the environment was created, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + created_at: string; + /** + * Format: date-time + * @description The time that the environment was last updated, in ISO 8601 format. + * @example 2020-11-23T22:00:40Z + */ + updated_at: string; + /** @description Built-in deployment protection rules for the environment. */ + protection_rules?: ({ + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example wait_timer */ + type: string; + wait_timer?: components["schemas"]["wait-timer"]; + } | { + /** @example 3755 */ + id: number; + /** @example MDQ6R2F0ZTM3NTU= */ + node_id: string; + /** + * @description Whether deployments to this environment can be approved by the user who created the deployment. + * @example false + */ + prevent_self_review?: boolean; + /** @example required_reviewers */ + type: string; + /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: { + type?: components["schemas"]["deployment-reviewer-type"]; + reviewer?: components["schemas"]["simple-user"] | components["schemas"]["team"]; + }[]; + } | { + /** @example 3515 */ + id: number; + /** @example MDQ6R2F0ZTM1MTU= */ + node_id: string; + /** @example branch_policy */ + type: string; + })[]; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; + }; + /** + * Deployment branch policy + * @description Details of a deployment branch policy. + */ + "deployment-branch-policy": { + /** + * @description The unique identifier of the branch policy. + * @example 361471 + */ + id?: number; + /** @example MDE2OkdhdGVCcmFuY2hQb2xpY3kzNjE0NzE= */ node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** + * @description The name pattern that branches must match in order to deploy to the environment. + * @example release/* */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + name?: string; + }; + /** Deployment branch policy name pattern */ + "deployment-branch-policy-name-pattern-with-type": { /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The name pattern that branches must match in order to deploy to the environment. + * + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`. + * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + * @example release/* */ - allow_merge_commit?: boolean; + name: string; + }; + /** Deployment branch policy name pattern */ + "deployment-branch-policy-name-pattern": { /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The name pattern that branches must match in order to deploy to the environment. + * + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`. + * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + * @example release/* */ - allow_rebase_merge?: boolean; + name: string; + }; + /** + * Custom deployment protection rule app + * @description A GitHub App that is providing a custom deployment protection rule. + */ + "custom-deployment-rule-app": { /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The unique identifier of the deployment protection rule integration. + * @example 3515 */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + id: number; /** - * @description Whether the repository is archived. - * @default false + * @description The slugified name of the deployment protection rule integration. + * @example my-custom-app */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + slug: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The URL for the endpoint to get details about the app. + * @example https://api.github.com/apps/custom-app-slug */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + integration_url: string; /** - * @description Whether downloads are enabled. - * @default true + * @description The node ID for the deployment protection rule integration. + * @example MDQ6R2F0ZTM1MTU= */ - has_downloads: boolean; + node_id: string; + }; + /** + * Deployment protection rule + * @description Deployment protection rule + */ + "deployment-protection-rule": { /** - * @description Whether issues are enabled. - * @default true + * @description The unique identifier for the deployment protection rule. + * @example 3515 */ - has_issues: boolean; - has_pages: boolean; + id: number; /** - * @description Whether projects are enabled. - * @default true + * @description The node ID for the deployment protection rule. + * @example MDQ6R2F0ZTM1MTU= */ - has_projects: boolean; + node_id: string; /** - * @description Whether the wiki is enabled. - * @default true + * @description Whether the deployment protection rule is enabled for the environment. + * @example true */ - has_wiki: boolean; + enabled: boolean; + app: components["schemas"]["custom-deployment-rule-app"]; + }; + /** + * Short Blob + * @description Short Blob + */ + "short-blob": { + url: string; + sha: string; + }; + /** + * Blob + * @description Blob + */ + blob: { + content: string; + encoding: string; + /** Format: uri */ + url: string; + sha: string; + size: number | null; + node_id: string; + highlighted_content?: string; + }; + /** + * Git Commit + * @description Low-level Git commit operations within a repository + */ + "git-commit": { /** - * @description Whether discussions are enabled. - * @default false + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd */ - has_discussions: boolean; - homepage: string | null; + sha: string; + node_id: string; /** Format: uri */ - hooks_url: string; + url: string; + /** @description Identifying information for the git-user */ + author: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + tree: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + }; /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; + }; + /** + * Git Reference + * @description Git references within a repository + */ + "git-ref": { + ref: string; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; /** Format: uri */ url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - closed_at: string | null; - /** Format: uri */ - comments_url: string; - /** Format: uri */ - commits_url: string; - created_at: string; - /** Format: uri */ - diff_url: string; - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + object: { + type: string; + /** + * @description SHA for the reference + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + }; + /** + * Git Tag + * @description Metadata for a Git tag + */ + "git-tag": { + /** @example MDM6VGFnOTQwYmQzMzYyNDhlZmFlMGY5ZWU1YmM3YjJkNWM5ODU4ODdiMTZhYw== */ + node_id: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description Name of the tag + * @example v0.0.1 */ - allow_merge_commit?: boolean; + tag: string; + /** @example 940bd336248efae0f9ee5bc7b2d5c985887b16ac */ + sha: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @description URL for the tag + * @example https://api.github.com/repositories/42/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ - allow_rebase_merge?: boolean; + url: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description Message describing the purpose of the tag + * @example Initial public release */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + message: string; + tagger: { + date: string; + email: string; + name: string; + }; + object: { + sha: string; + type: string; + /** Format: uri */ + url: string; + }; + verification?: components["schemas"]["verification"]; + }; + /** + * Git Tree + * @description The hierarchy between files in a Git repository. + */ + "git-tree": { + sha: string; + /** Format: uri */ + url: string; + truncated: boolean; + /** + * @description Objects specifying a tree structure + * @example [ + * { + * "path": "file.rb", + * "mode": "100644", + * "type": "blob", + * "size": 30, + * "sha": "44b4fc6d56897b048c772eb4087f854f46256132", + * "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132", + * "properties": { + * "path": { + * "type": "string" + * }, + * "mode": { + * "type": "string" + * }, + * "type": { + * "type": "string" + * }, + * "size": { + * "type": "integer" + * }, + * "sha": { + * "type": "string" + * }, + * "url": { + * "type": "string" + * } + * }, + * "required": [ + * "path", + * "mode", + * "type", + * "sha", + * "url", + * "size" + * ] + * } + * ] + */ + tree: { + /** @example test/file.rb */ + path?: string; + /** @example 040000 */ + mode?: string; + /** @example tree */ + type?: string; + /** @example 23f6827669e43831def8a7ad935069c8bd418261 */ + sha?: string; + /** @example 12 */ + size?: number; + /** @example https://api.github.com/repos/owner-482f3203ecf01f67e9deb18e/BBB_Private_Repo/git/blobs/23f6827669e43831def8a7ad935069c8bd418261 */ + url?: string; + }[]; + }; + /** Hook Response */ + "hook-response": { + code: number | null; + status: string | null; + message: string | null; + }; + /** + * Webhook + * @description Webhooks for repositories. + */ + hook: { + type: string; /** - * @description Whether the repository is archived. - * @default false + * @description Unique identifier of the webhook. + * @example 42 */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + id: number; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The name of a valid service, use 'web' for a webhook. + * @example web */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + name: string; /** - * @description Whether downloads are enabled. - * @default true + * @description Determines whether the hook is actually triggered on pushes. + * @example true + */ + active: boolean; + /** + * @description Determines what events the hook is triggered for. Default: ['push']. + * @example [ + * "push", + * "pull_request" + * ] + */ + events: string[]; + config: { + /** @example "foo@bar.com" */ + email?: string; + /** @example "foo" */ + password?: string; + /** @example "roomer" */ + room?: string; + /** @example "foo" */ + subdomain?: string; + url?: components["schemas"]["webhook-config-url"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + /** @example "sha256" */ + digest?: string; + secret?: components["schemas"]["webhook-config-secret"]; + /** @example "abc" */ + token?: string; + }; + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z */ - has_downloads: boolean; + updated_at: string; /** - * @description Whether issues are enabled. - * @default true + * Format: date-time + * @example 2011-09-06T17:26:27Z */ - has_issues: boolean; - has_pages: boolean; + created_at: string; /** - * @description Whether projects are enabled. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1 */ - has_projects: boolean; + url: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/test */ - has_wiki: boolean; + test_url: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/pings */ - has_discussions: boolean; - homepage: string | null; + ping_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/hooks/1/deliveries + */ + deliveries_url?: string; + last_response: components["schemas"]["hook-response"]; + }; + /** + * Import + * @description A repository import from an external source. + */ + import: { + vcs: string | null; + use_lfs?: boolean; + /** @description The URL of the originating repository. */ + vcs_url: string; + svc_root?: string; + tfvc_project?: string; + /** @enum {string} */ + status: "auth" | "error" | "none" | "detecting" | "choose" | "auth_failed" | "importing" | "mapping" | "waiting_to_push" | "pushing" | "complete" | "setup" | "unknown" | "detection_found_multiple" | "detection_found_nothing" | "detection_needs_auth"; + status_text?: string | null; + failed_step?: string | null; + error_message?: string | null; + import_percent?: number | null; + commit_count?: number | null; + push_percent?: number | null; + has_large_files?: boolean; + large_files_size?: number; + large_files_count?: number; + project_choices?: { + vcs?: string; + tfvc_project?: string; + human_name?: string; + }[]; + message?: string; + authors_count?: number | null; /** Format: uri */ - hooks_url: string; + url: string; /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + authors_url: string; /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ + repository_url: string; + svn_root?: string; + }; + /** + * Porter Author + * @description Porter Author + */ + "porter-author": { + id: number; + remote_id: string; + remote_name: string; + email: string; name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; + url: string; /** Format: uri */ - subscribers_url: string; + import_url: string; + }; + /** + * Porter Large File + * @description Porter Large File + */ + "porter-large-file": { + ref_name: string; + path: string; + oid: string; + size: number; + }; + /** + * Issue + * @description Issues are a great way to keep track of tasks, enhancements, and bugs for your projects. + */ + "nullable-issue": { + /** Format: int64 */ + id: number; + node_id: string; + /** + * Format: uri + * @description URL for the issue + * @example https://api.github.com/repositories/42/issues/1 + */ + url: string; /** Format: uri */ - subscription_url: string; + repository_url: string; + labels_url: string; /** Format: uri */ - svn_url: string; + comments_url: string; /** Format: uri */ - tags_url: string; + events_url: string; /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + html_url: string; + /** + * @description Number uniquely identifying the issue within its repository + * @example 42 + */ + number: number; + /** + * @description State of the issue; either 'open' or 'closed' + * @example open + */ + state: string; + /** + * @description The reason for the current state + * @example not_planned + * @enum {string|null} + */ + state_reason?: "completed" | "reopened" | "not_planned"; + /** + * @description Title of the issue + * @example Widget creation fails in Safari on OS X 10.8 + */ + title: string; + /** + * @description Contents of the issue + * @example It looks like the new widget form is broken on Safari. When I try and create the widget, Safari crashes. This is reproducible on 10.8, but not 10.9. Maybe a browser bug? + */ + body?: string | null; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description Labels to associate with this issue; pass one or more label names to replace the set of labels on this issue; send an empty array to clear all labels from the issue; note that the labels are silently dropped for users without push access to the repository + * @example [ + * "bug", + * "registration" + * ] + */ + labels: (string | { + /** Format: int64 */ + id?: number; + node_id?: string; + /** Format: uri */ + url?: string; + name?: string; + description?: string | null; + color?: string | null; + default?: boolean; + })[]; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + milestone: components["schemas"]["nullable-milestone"]; + locked: boolean; + active_lock_reason?: string | null; + comments: number; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + /** Format: date-time */ + closed_at: string | null; + /** Format: date-time */ + created_at: string; /** Format: date-time */ updated_at: string; + draft?: boolean; + closed_by?: components["schemas"]["nullable-simple-user"]; + body_html?: string; + body_text?: string; + /** Format: uri */ + timeline_url?: string; + repository?: components["schemas"]["repository"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + author_association: components["schemas"]["author-association"]; + reactions?: components["schemas"]["reaction-rollup"]; + } | null; + /** + * Issue Event Label + * @description Issue Event Label + */ + "issue-event-label": { + name: string | null; + color: string | null; + }; + /** Issue Event Dismissed Review */ + "issue-event-dismissed-review": { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string | null; + }; + /** + * Issue Event Milestone + * @description Issue Event Milestone + */ + "issue-event-milestone": { + title: string; + }; + /** + * Issue Event Project Card + * @description Issue Event Project Card + */ + "issue-event-project-card": { + /** Format: uri */ + url: string; + id: number; /** Format: uri */ + project_url: string; + project_id: number; + column_name: string; + previous_column_name?: string; + }; + /** + * Issue Event Rename + * @description Issue Event Rename + */ + "issue-event-rename": { + from: string; + to: string; + }; + /** + * Issue Event + * @description Issue Event + */ + "issue-event": { + /** + * Format: int64 + * @example 1 + */ + id: number; + /** @example MDEwOklzc3VlRXZlbnQx */ + node_id: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/events/1 + */ + url: string; + actor: components["schemas"]["nullable-simple-user"]; + /** @example closed */ + event: string; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_id: string | null; + /** @example https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_url: string | null; + /** + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + created_at: string; + issue?: components["schemas"]["nullable-issue"]; + label?: components["schemas"]["issue-event-label"]; + assignee?: components["schemas"]["nullable-simple-user"]; + assigner?: components["schemas"]["nullable-simple-user"]; + review_requester?: components["schemas"]["nullable-simple-user"]; + requested_reviewer?: components["schemas"]["nullable-simple-user"]; + requested_team?: components["schemas"]["team"]; + dismissed_review?: components["schemas"]["issue-event-dismissed-review"]; + milestone?: components["schemas"]["issue-event-milestone"]; + project_card?: components["schemas"]["issue-event-project-card"]; + rename?: components["schemas"]["issue-event-rename"]; + author_association?: components["schemas"]["author-association"]; + lock_reason?: string | null; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + }; + /** + * Labeled Issue Event + * @description Labeled Issue Event + */ + "labeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + label: { + name: string; + color: string; + }; + }; + /** + * Unlabeled Issue Event + * @description Unlabeled Issue Event + */ + "unlabeled-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + label: { + name: string; + color: string; + }; + }; + /** + * Assigned Issue Event + * @description Assigned Issue Event + */ + "assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Unassigned Issue Event + * @description Unassigned Issue Event + */ + "unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + assigner: components["schemas"]["simple-user"]; + }; + /** + * Milestoned Issue Event + * @description Milestoned Issue Event + */ + "milestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + milestone: { + title: string; + }; + }; + /** + * Demilestoned Issue Event + * @description Demilestoned Issue Event + */ + "demilestoned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + milestone: { + title: string; + }; + }; + /** + * Renamed Issue Event + * @description Renamed Issue Event + */ + "renamed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + rename: { + from: string; + to: string; + }; + }; + /** + * Review Requested Issue Event + * @description Review Requested Issue Event + */ + "review-requested-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Request Removed Issue Event + * @description Review Request Removed Issue Event + */ + "review-request-removed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + review_requester: components["schemas"]["simple-user"]; + requested_team?: components["schemas"]["team"]; + requested_reviewer?: components["schemas"]["simple-user"]; + }; + /** + * Review Dismissed Issue Event + * @description Review Dismissed Issue Event + */ + "review-dismissed-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + dismissed_review: { + state: string; + review_id: number; + dismissal_message: string | null; + dismissal_commit_id?: string; + }; + }; + /** + * Locked Issue Event + * @description Locked Issue Event + */ + "locked-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + /** @example "off-topic" */ + lock_reason: string | null; + }; + /** + * Added to Project Issue Event + * @description Added to Project Issue Event + */ + "added-to-project-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Moved Column in Project Issue Event + * @description Moved Column in Project Issue Event + */ + "moved-column-in-project-issue-event": { + id: number; + node_id: string; url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Removed from Project Issue Event + * @description Removed from Project Issue Event + */ + "removed-from-project-issue-event": { id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Converted Note to Issue Issue Event + * @description Converted Note to Issue Issue Event + */ + "converted-note-to-issue-issue-event": { id: number; - /** @description The name of the label. */ - name: string; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["integration"]; + project_card?: { + id: number; + /** Format: uri */ + url: string; + project_id: number; + /** Format: uri */ + project_url: string; + column_name: string; + previous_column_name?: string; + }; + }; + /** + * Issue Event for Issue + * @description Issue Event for Issue + */ + "issue-event-for-issue": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["assigned-issue-event"] | components["schemas"]["unassigned-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"]; + /** + * Label + * @description Color-coded labels help you categorize and filter your issues (just like labels in Gmail). + */ + label: { + /** + * Format: int64 + * @example 208045946 + */ + id: number; + /** @example MDU6TGFiZWwyMDgwNDU5NDY= */ node_id: string; /** * Format: uri * @description URL for the label + * @example https://api.github.com/repositories/42/labels/bug */ url: string; - })[]; - locked: boolean; - merge_commit_sha: string | null; - merged_at: string | null; + /** + * @description The name of the label. + * @example bug + */ + name: string; + /** @example Something isn't working */ + description: string | null; + /** + * @description 6-character hex code, without the leading #, identifying the color + * @example FFFFFF + */ + color: string; + /** @example true */ + default: boolean; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Timeline Comment Event + * @description Timeline Comment Event */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - number: number; - /** Format: uri */ - patch_url: string; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ + "timeline-comment-event": { + event: string; + actor: components["schemas"]["simple-user"]; + /** + * @description Unique identifier of the issue comment + * @example 42 + */ id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + node_id: string; /** * Format: uri - * @description URL for the team + * @description URL for the issue comment + * @example https://api.github.com/repositories/42/issues/comments/1 */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + url: string; + /** + * @description Contents of the issue comment + * @example What version of Safari were you using when you observed this bug? + */ + body?: string; + body_text?: string; + body_html?: string; /** Format: uri */ - repositories_url?: string; - slug?: string; + html_url: string; + user: components["schemas"]["simple-user"]; /** - * Format: uri - * @description URL for the team + * Format: date-time + * @example 2011-04-14T16:00:49Z */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - /** Format: uri */ - review_comments_url: string; - /** @enum {string} */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - title: string; - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - thread: { - comments: ({ - _links: { - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - pull_request: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - }; + created_at: string; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Format: date-time + * @example 2011-04-14T16:00:49Z */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** @description The text of the comment. */ - body: string; - /** @description The SHA of the commit to which the comment applies. */ - commit_id: string; + updated_at: string; + /** Format: uri */ + issue_url: string; + author_association: components["schemas"]["author-association"]; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Timeline Cross Referenced Event + * @description Timeline Cross Referenced Event + */ + "timeline-cross-referenced-event": { + event: string; + actor?: components["schemas"]["simple-user"]; /** Format: date-time */ created_at: string; - /** @description The diff of the line that the comment refers to. */ - diff_hunk: string; + /** Format: date-time */ + updated_at: string; + source: { + type?: string; + issue?: components["schemas"]["issue"]; + }; + }; + /** + * Timeline Committed Event + * @description Timeline Committed Event + */ + "timeline-committed-event": { + event?: string; + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + node_id: string; + /** Format: uri */ + url: string; + /** @description Identifying information for the git-user */ + author: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** @description Identifying information for the git-user */ + committer: { + /** + * Format: date-time + * @description Timestamp of the commit + * @example 2014-08-09T08:02:04+12:00 + */ + date: string; + /** + * @description Git email address of the user + * @example monalisa.octocat@example.com + */ + email: string; + /** + * @description Name of the git user + * @example Monalisa Octocat + */ + name: string; + }; + /** + * @description Message describing the purpose of the commit + * @example Fix #42 + */ + message: string; + tree: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + }; + parents: { + /** + * @description SHA for the commit + * @example 7638417db6d59f3c431d3e1f261cc637155684cd + */ + sha: string; + /** Format: uri */ + url: string; + /** Format: uri */ + html_url: string; + }[]; + verification: { + verified: boolean; + reason: string; + signature: string | null; + payload: string | null; + }; + /** Format: uri */ + html_url: string; + }; + /** + * Timeline Reviewed Event + * @description Timeline Reviewed Event + */ + "timeline-reviewed-event": { + event: string; + /** + * @description Unique identifier of the review + * @example 42 + */ + id: number; + /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ + node_id: string; + user: components["schemas"]["simple-user"]; + /** + * @description The text of the review. + * @example This looks great. + */ + body: string | null; + /** @example CHANGES_REQUESTED */ + state: string; /** * Format: uri - * @description HTML URL for the pull request review comment. + * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 */ html_url: string; - /** @description The ID of the pull request review comment. */ - id: number; - /** @description The comment ID to reply to. */ - in_reply_to_id?: number; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - line: number | null; - /** @description The node ID of the pull request review comment. */ - node_id: string; - /** @description The SHA of the original commit to which the comment applies. */ - original_commit_id: string; - /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ - original_line: number; - /** @description The index of the original line in the diff to which the comment applies. */ - original_position: number; - /** @description The first line of the range for a multi-line comment. */ - original_start_line: number | null; - /** @description The relative path of the file to which the comment applies. */ - path: string; - /** @description The line index in the diff to which the comment applies. */ - position: number | null; - /** @description The ID of the pull request review to which the comment belongs. */ - pull_request_review_id: number | null; /** * Format: uri - * @description URL for the pull request that the review comment belongs to. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 */ pull_request_url: string; - /** Reactions */ - reactions: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; }; + /** Format: date-time */ + submitted_at?: string; /** - * @description The side of the first line of the range for a multi-line comment. - * @enum {string} + * @description A commit SHA for the review. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 */ - side: "LEFT" | "RIGHT"; - /** @description The first line of the range for a multi-line comment. */ - start_line: number | null; + commit_id: string; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Pull Request Review Comment + * @description Pull Request Review Comments are comments on a portion of the Pull Request's diff. + */ + "pull-request-review-comment": { /** - * @description The side of the first line of the range for a multi-line comment. - * @default RIGHT - * @enum {string|null} + * @description URL for the pull request review comment + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ - start_side: "LEFT" | "RIGHT" | null; + url: string; /** - * @description The level at which the comment is targeted, can be a diff line or a file. - * @enum {string} + * @description The ID of the pull request review to which the comment belongs. + * @example 42 */ - subject_type?: "line" | "file"; - /** Format: date-time */ - updated_at: string; + pull_request_review_id: number | null; /** - * Format: uri - * @description URL for the pull request review comment + * @description The ID of the pull request review comment. + * @example 1 */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - })[]; - node_id: string; - }; - }; - /** pull_request synchronize event */ - "webhook-pull-request-synchronize": { - /** @enum {string} */ - action: "synchronize"; - after: string; - before: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; - /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. - */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** + * @description The node ID of the pull request review comment. + * @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + node_id: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The diff of the line that the comment refers to. + * @example @@ -16,33 +16,40 @@ public class Connection : IConnection... */ - allow_merge_commit?: boolean; + diff_hunk: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description The relative path of the file to which the comment applies. + * @example config/database.yaml */ - allow_rebase_merge?: boolean; + path: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The line index in the diff to which the comment applies. This field is deprecated; use `line` instead. + * @example 1 */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + position?: number; /** - * @description Whether the repository is archived. - * @default false + * @description The index of the original line in the diff to which the comment applies. This field is deprecated; use `original_line` instead. + * @example 4 */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + original_position?: number; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The SHA of the commit to which the comment applies. + * @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + commit_id: string; /** - * @description Whether downloads are enabled. - * @default true + * @description The SHA of the original commit to which the comment applies. + * @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 */ - has_downloads: boolean; + original_commit_id: string; /** - * @description Whether issues are enabled. - * @default true + * @description The comment ID to reply to. + * @example 8 */ - has_issues: boolean; - has_pages: boolean; + in_reply_to_id?: number; + user: components["schemas"]["simple-user"]; /** - * @description Whether projects are enabled. - * @default true + * @description The text of the comment. + * @example We should probably include a check for null values here. */ - has_projects: boolean; + body: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: date-time + * @example 2011-04-14T16:00:49Z */ - has_wiki: boolean; + created_at: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: date-time + * @example 2011-04-14T16:00:49Z + */ + updated_at: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @description URL for the pull request that the review comment belongs to. + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 + */ + href: string; + }; + html: { + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 + */ + href: string; + }; + pull_request: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 + */ + href: string; + }; + }; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + start_line?: number | null; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + original_start_line?: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + start_side: "LEFT" | "RIGHT"; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + line?: number; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + original_line?: number; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @description The side of the diff to which the comment applies. The side of the last line of the range for a multi-line comment + * @default RIGHT * @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + side: "LEFT" | "RIGHT"; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; + subject_type?: "line" | "file"; + reactions?: components["schemas"]["reaction-rollup"]; + /** @example "

comment body

" */ + body_html?: string; + /** @example "comment body" */ + body_text?: string; + }; + /** + * Timeline Line Commented Event + * @description Timeline Line Commented Event + */ + "timeline-line-commented-event": { + event?: string; + node_id?: string; + comments?: components["schemas"]["pull-request-review-comment"][]; + }; + /** + * Timeline Commit Commented Event + * @description Timeline Commit Commented Event + */ + "timeline-commit-commented-event": { + event?: string; node_id?: string; + commit_id?: string; + comments?: components["schemas"]["commit-comment"][]; + }; + /** + * Timeline Assigned Issue Event + * @description Timeline Assigned Issue Event + */ + "timeline-assigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * Timeline Unassigned Issue Event + * @description Timeline Unassigned Issue Event + */ + "timeline-unassigned-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + assignee: components["schemas"]["simple-user"]; + }; + /** + * State Change Issue Event + * @description State Change Issue Event + */ + "state-change-issue-event": { + id: number; + node_id: string; + url: string; + actor: components["schemas"]["simple-user"]; + event: string; + commit_id: string | null; + commit_url: string | null; + created_at: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + state_reason?: string | null; + }; + /** + * Timeline Event + * @description Timeline Event + */ + "timeline-issue-events": components["schemas"]["labeled-issue-event"] | components["schemas"]["unlabeled-issue-event"] | components["schemas"]["milestoned-issue-event"] | components["schemas"]["demilestoned-issue-event"] | components["schemas"]["renamed-issue-event"] | components["schemas"]["review-requested-issue-event"] | components["schemas"]["review-request-removed-issue-event"] | components["schemas"]["review-dismissed-issue-event"] | components["schemas"]["locked-issue-event"] | components["schemas"]["added-to-project-issue-event"] | components["schemas"]["moved-column-in-project-issue-event"] | components["schemas"]["removed-from-project-issue-event"] | components["schemas"]["converted-note-to-issue-issue-event"] | components["schemas"]["timeline-comment-event"] | components["schemas"]["timeline-cross-referenced-event"] | components["schemas"]["timeline-committed-event"] | components["schemas"]["timeline-reviewed-event"] | components["schemas"]["timeline-line-commented-event"] | components["schemas"]["timeline-commit-commented-event"] | components["schemas"]["timeline-assigned-issue-event"] | components["schemas"]["timeline-unassigned-issue-event"] | components["schemas"]["state-change-issue-event"]; + /** + * Deploy Key + * @description An SSH key granting access to a single repository. + */ + "deploy-key": { + id: number; + key: string; + url: string; + title: string; + verified: boolean; + created_at: string; + read_only: boolean; + added_by?: string | null; + last_used?: string | null; + }; + /** + * Language + * @description Language + */ + language: { + [key: string]: number; + }; + /** + * License Content + * @description License Content + */ + "license-content": { + name: string; + path: string; + sha: string; + size: number; /** Format: uri */ - organizations_url?: string; + url: string; /** Format: uri */ - received_events_url?: string; + html_url: string | null; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + git_url: string | null; /** Format: uri */ - subscriptions_url?: string; + download_url: string | null; + type: string; + content: string; + encoding: string; + _links: { + /** Format: uri */ + git: string | null; + /** Format: uri */ + html: string | null; + /** Format: uri */ + self: string; + }; + license: components["schemas"]["nullable-license-simple"]; + }; + /** + * Merged upstream + * @description Results of a successful merge upstream request + */ + "merged-upstream": { + message?: string; /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + merge_type?: "merge" | "fast-forward" | "none"; + base_branch?: string; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + url: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat/Hello-World/milestones/v1.0 */ - allow_merge_commit?: boolean; + html_url: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/milestones/1/labels */ - allow_rebase_merge?: boolean; + labels_url: string; + /** @example 1002604 */ + id: number; + /** @example MDk6TWlsZXN0b25lMTAwMjYwNA== */ + node_id: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description The number of the milestone. + * @example 42 */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + number: number; /** - * @description Whether the repository is archived. - * @default false + * @description The state of the milestone. + * @default open + * @example open + * @enum {string} */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + state: "open" | "closed"; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * @description The title of the milestone. + * @example v1.0 */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; + title: string; + /** @example Tracking milestone for version 1.0 */ description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + creator: components["schemas"]["nullable-simple-user"]; + /** @example 4 */ + open_issues: number; + /** @example 8 */ + closed_issues: number; + /** + * Format: date-time + * @example 2011-04-10T20:09:31Z + */ + created_at: string; + /** + * Format: date-time + * @example 2014-03-03T18:58:10Z + */ + updated_at: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: date-time + * @example 2013-02-12T13:22:01Z */ - has_downloads: boolean; + closed_at: string | null; /** - * @description Whether issues are enabled. - * @default true + * Format: date-time + * @example 2012-10-09T23:39:01Z */ - has_issues: boolean; - has_pages: boolean; + due_on: string | null; + }; + /** Pages Source Hash */ + "pages-source-hash": { + branch: string; + path: string; + }; + /** Pages Https Certificate */ + "pages-https-certificate": { /** - * @description Whether projects are enabled. - * @default true + * @example approved + * @enum {string} */ - has_projects: boolean; + state: "new" | "authorization_created" | "authorization_pending" | "authorized" | "authorization_revoked" | "issued" | "uploaded" | "approved" | "errored" | "bad_authz" | "destroy_pending" | "dns_changed"; + /** @example Certificate is approved */ + description: string; /** - * @description Whether the wiki is enabled. - * @default true + * @description Array of the domain set and its alternate name (if it is configured) + * @example [ + * "example.com", + * "www.example.com" + * ] */ - has_wiki: boolean; + domains: string[]; + /** Format: date */ + expires_at?: string; + }; + /** + * GitHub Pages + * @description The configuration for GitHub Pages for a repository. + */ + page: { /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @description The API address for accessing this Page resource. + * @example https://api.github.com/repos/github/hello-world/pages */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + url: string; /** - * @description The default value for a merge commit message. - * @enum {string} + * @description The status of the most recent build of the Page. + * @example built + * @enum {string|null} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + status: "built" | "building" | "errored"; /** - * @description The default value for a merge commit message title. - * @enum {string} + * @description The Pages site's custom domain + * @example example.com */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + cname: string | null; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The state if the domain is verified + * @example pending + * @enum {string|null} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + protected_domain_state?: "pending" | "verified" | "unverified"; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Format: date-time + * @description The timestamp when a pending domain becomes unverified. */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + pending_domain_unverified_at?: string | null; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @description Whether the Page has a custom 404 page. * @default false + * @example false + */ + custom_404: boolean; + /** + * Format: uri + * @description The web address the Page can be accessed from. + * @example https://example.com */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + /** + * @description The process in which the Page will be built. + * @example legacy + * @enum {string|null} + */ + build_type?: "legacy" | "workflow"; + source?: components["schemas"]["pages-source-hash"]; + /** + * @description Whether the GitHub Pages site is publicly visible. If set to `true`, the site is accessible to anyone on the internet. If set to `false`, the site will only be accessible to users who have at least `read` access to the repository that published the site. + * @example true + */ + public: boolean; + https_certificate?: components["schemas"]["pages-https-certificate"]; + /** + * @description Whether https is enabled on the domain + * @example true + */ + https_enforced?: boolean; + }; + /** + * Page Build + * @description Page Build + */ + "page-build": { /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + url: string; + status: string; + error: { + message: string | null; + }; + pusher: components["schemas"]["nullable-simple-user"]; + commit: string; + duration: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + }; + /** + * Page Build Status + * @description Page Build Status + */ + "page-build-status": { /** * Format: uri - * @description URL for the label + * @example https://api.github.com/repos/github/hello-world/pages/builds/latest */ url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; + /** @example queued */ + status: string; + }; /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + * GitHub Pages + * @description The GitHub Pages deployment status. + */ + "page-deployment": { /** * Format: uri - * @description URL for the team + * @description The URI to monitor GitHub Pages deployment status. + * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251/status */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + status_url: string; /** * Format: uri - * @description URL for the team + * @description The URI to the deployed GitHub Pages. + * @example hello-world.github.io */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request unassigned event */ - "webhook-pull-request-unassigned": { - /** @enum {string} */ - action: "unassigned"; - /** User */ - assignee?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null)[]; - /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} - */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + page_url: string; + /** + * Format: uri + * @description The URI to the deployed GitHub Pages preview. + * @example monalisa-1231a2312sa32-23sda74.drafts.github.io + */ + preview_url?: string; + }; + /** + * Pages Health Check Status + * @description Pages Health Check Status + */ + "pages-health-check": { + domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + }; + alt_domain?: { + host?: string; + uri?: string; + nameservers?: string; + dns_resolves?: boolean; + is_proxied?: boolean | null; + is_cloudflare_ip?: boolean | null; + is_fastly_ip?: boolean | null; + is_old_ip_address?: boolean | null; + is_a_record?: boolean | null; + has_cname_record?: boolean | null; + has_mx_records_present?: boolean | null; + is_valid_domain?: boolean; + is_apex_domain?: boolean; + should_be_a_record?: boolean | null; + is_cname_to_github_user_domain?: boolean | null; + is_cname_to_pages_dot_github_dot_com?: boolean | null; + is_cname_to_fastly?: boolean | null; + is_pointed_to_github_pages_ip?: boolean | null; + is_non_github_pages_ip_present?: boolean | null; + is_pages_domain?: boolean; + is_served_by_pages?: boolean | null; + is_valid?: boolean; + reason?: string | null; + responds_to_https?: boolean; + enforces_https?: boolean; + https_error?: string | null; + is_https_eligible?: boolean | null; + caa_error?: string | null; + } | null; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Pull Request + * @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary. */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "pull-request": { + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 + */ + url: string; + /** @example 1 */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + /** @example MDExOlB1bGxSZXF1ZXN0MQ== */ + node_id: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347 */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + html_url: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.diff */ - allow_merge_commit?: boolean; + diff_url: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1347.patch */ - allow_rebase_merge?: boolean; + patch_url: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + issue_url: string; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + review_comments_url: string; + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number} */ + review_comment_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347/comments + */ + comments_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e + */ + statuses_url: string; + /** + * @description Number uniquely identifying the pull request within its repository. + * @example 42 + */ + number: number; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @example open + * @enum {string} + */ + state: "open" | "closed"; + /** @example true */ + locked: boolean; + /** + * @description The title of the pull request. + * @example Amazing new feature + */ + title: string; + user: components["schemas"]["simple-user"]; + /** @example Please pull these awesome changes */ + body: string | null; + labels: { + /** Format: int64 */ + id: number; + node_id: string; + url: string; + name: string; + description: string | null; + color: string; + default: boolean; + }[]; + milestone: components["schemas"]["nullable-milestone"]; + /** @example too heated */ + active_lock_reason?: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + merged_at: string | null; + /** @example e5bd3914e2e596debea16f433f57875b5b90bcd6 */ + merge_commit_sha: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + assignees?: components["schemas"]["simple-user"][] | null; + requested_reviewers?: components["schemas"]["simple-user"][] | null; + requested_teams?: components["schemas"]["team-simple"][] | null; + head: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + /** Format: uri */ + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_discussions: boolean; + /** Format: uri */ + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: uri */ + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: { + key: string; + name: string; + /** Format: uri */ + url: string | null; + spdx_id: string | null; + node_id: string; + } | null; + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + /** Format: uri */ + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + allow_forking?: boolean; + is_template?: boolean; + web_commit_signoff_required?: boolean; + } | null; + sha: string; + user: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + }; + base: { + label: string; + ref: string; + repo: { + archive_url: string; + assignees_url: string; + blobs_url: string; + branches_url: string; + collaborators_url: string; + comments_url: string; + commits_url: string; + compare_url: string; + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + git_commits_url: string; + git_refs_url: string; + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + id: number; + is_template?: boolean; + node_id: string; + issue_comment_url: string; + issue_events_url: string; + issues_url: string; + keys_url: string; + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + milestones_url: string; + name: string; + notifications_url: string; + owner: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + private: boolean; + pulls_url: string; + releases_url: string; + /** Format: uri */ + stargazers_url: string; + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + trees_url: string; + /** Format: uri */ + url: string; + clone_url: string; + default_branch: string; + forks: number; + forks_count: number; + git_url: string; + has_downloads: boolean; + has_issues: boolean; + has_projects: boolean; + has_wiki: boolean; + has_pages: boolean; + has_discussions: boolean; + /** Format: uri */ + homepage: string | null; + language: string | null; + master_branch?: string; + archived: boolean; + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + /** Format: uri */ + mirror_url: string | null; + open_issues: number; + open_issues_count: number; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + license: components["schemas"]["nullable-license-simple"]; + /** Format: date-time */ + pushed_at: string; + size: number; + ssh_url: string; + stargazers_count: number; + /** Format: uri */ + svn_url: string; + topics?: string[]; + watchers: number; + watchers_count: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + allow_forking?: boolean; + web_commit_signoff_required?: boolean; + }; + sha: string; + user: { + /** Format: uri */ + avatar_url: string; + events_url: string; + /** Format: uri */ + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string | null; + /** Format: uri */ + html_url: string; + id: number; + node_id: string; + login: string; + /** Format: uri */ + organizations_url: string; + /** Format: uri */ + received_events_url: string; + /** Format: uri */ + repos_url: string; + site_admin: boolean; + starred_url: string; + /** Format: uri */ + subscriptions_url: string; + type: string; + /** Format: uri */ + url: string; + }; + }; + _links: { + comments: components["schemas"]["link"]; + commits: components["schemas"]["link"]; + statuses: components["schemas"]["link"]; + html: components["schemas"]["link"]; + issue: components["schemas"]["link"]; + review_comments: components["schemas"]["link"]; + review_comment: components["schemas"]["link"]; + self: components["schemas"]["link"]; + }; + author_association: components["schemas"]["author-association"]; + auto_merge: components["schemas"]["auto-merge"]; + /** + * @description Indicates whether or not the pull request is a draft. + * @example false + */ + draft?: boolean; + merged: boolean; + /** @example true */ + mergeable: boolean | null; + /** @example true */ + rebaseable?: boolean | null; + /** @example clean */ + mergeable_state: string; + merged_by: components["schemas"]["nullable-simple-user"]; + /** @example 10 */ + comments: number; + /** @example 0 */ + review_comments: number; + /** + * @description Indicates whether maintainers can modify the pull request. + * @example true + */ + maintainer_can_modify: boolean; + /** @example 3 */ + commits: number; + /** @example 100 */ + additions: number; + /** @example 3 */ + deletions: number; + /** @example 5 */ + changed_files: number; + }; + /** + * Pull Request Merge Result + * @description Pull Request Merge Result + */ + "pull-request-merge-result": { + sha: string; + merged: boolean; + message: string; + }; + /** + * Pull Request Review Request + * @description Pull Request Review Request + */ + "pull-request-review-request": { + users: components["schemas"]["simple-user"][]; + teams: components["schemas"]["team"][]; + }; + /** + * Pull Request Review + * @description Pull Request Reviews are reviews on pull requests. + */ + "pull-request-review": { + /** + * @description Unique identifier of the review + * @example 42 + */ + id: number; + /** @example MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA= */ + node_id: string; + user: components["schemas"]["nullable-simple-user"]; + /** + * @description The text of the review. + * @example This looks great. + */ + body: string; + /** @example CHANGES_REQUESTED */ + state: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/12#pullrequestreview-80 + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/12 + */ + pull_request_url: string; + _links: { + html: { + href: string; + }; + pull_request: { + href: string; + }; + }; + /** Format: date-time */ + submitted_at?: string; /** - * @description Whether downloads are enabled. - * @default true + * @description A commit SHA for the review. If the commit object was garbage collected or forcibly deleted, then it no longer exists in Git and this value will be `null`. + * @example 54bb654c9e6025347f57900a4a5c2313a96b8035 */ - has_downloads: boolean; + commit_id: string | null; + body_html?: string; + body_text?: string; + author_association: components["schemas"]["author-association"]; + }; + /** + * Legacy Review Comment + * @description Legacy Review Comment + */ + "review-comment": { /** - * @description Whether issues are enabled. - * @default true + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ - has_issues: boolean; - has_pages: boolean; + url: string; + /** @example 42 */ + pull_request_review_id: number | null; + /** @example 10 */ + id: number; + /** @example MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDEw */ + node_id: string; + /** @example @@ -16,33 +16,40 @@ public class Connection : IConnection... */ + diff_hunk: string; + /** @example file1.txt */ + path: string; + /** @example 1 */ + position: number | null; + /** @example 4 */ + original_position: number; + /** @example 6dcb09b5b57875f334f61aebed695e2e4193db5e */ + commit_id: string; + /** @example 9c48853fa3dc5c1c3d6f1f1cd1f2743e72652840 */ + original_commit_id: string; + /** @example 8 */ + in_reply_to_id?: number; + user: components["schemas"]["nullable-simple-user"]; + /** @example Great stuff */ + body: string; /** - * @description Whether projects are enabled. - * @default true + * Format: date-time + * @example 2011-04-14T16:00:49Z */ - has_projects: boolean; + created_at: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: date-time + * @example 2011-04-14T16:00:49Z */ - has_wiki: boolean; + updated_at: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @example https://github.com/octocat/Hello-World/pull/1#discussion-diff-1 */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World/pulls/1 */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + pull_request_url: string; + author_association: components["schemas"]["author-association"]; + _links: { + self: components["schemas"]["link"]; + html: components["schemas"]["link"]; + pull_request: components["schemas"]["link"]; + }; + body_text?: string; + body_html?: string; + reactions?: components["schemas"]["reaction-rollup"]; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + side: "LEFT" | "RIGHT"; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT"; + /** + * @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + line?: number; + /** + * @description The original line of the blob to which the comment applies. The last line of the range for a multi-line comment + * @example 2 + */ + original_line?: number; + /** + * @description The first line of the range for a multi-line comment. + * @example 2 + */ + start_line?: number | null; + /** + * @description The original first line of the range for a multi-line comment. + * @example 2 + */ + original_start_line?: number | null; + }; + /** + * Release Asset + * @description Data related to a release. + */ + "release-asset": { /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; + url: string; /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; + browser_download_url: string; + id: number; node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The file name of the asset. + * @example Team Environment */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + name: string; + label: string | null; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @description State of the release asset. * @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + state: "uploaded" | "open"; + content_type: string; + size: number; + download_count: number; + /** Format: date-time */ + created_at: string; /** Format: date-time */ updated_at: string; + uploader: components["schemas"]["nullable-simple-user"]; + }; + /** + * Release + * @description A release. + */ + release: { /** Format: uri */ url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; + html_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + assets_url: string; + upload_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + tarball_url: string | null; /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + zipball_url: string | null; + id: number; + node_id: string; + /** + * @description The name of the tag. + * @example v1.0.0 */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + tag_name: string; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description Specifies the commitish value that determines where the Git tag is created from. + * @example master */ - allow_merge_commit?: boolean; + target_commitish: string; + name: string | null; + body?: string | null; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * @description true to create a draft (unpublished) release, false to create a published one. + * @example false */ - allow_rebase_merge?: boolean; + draft: boolean; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * @description Whether to identify the release as a prerelease or a full release. + * @example false */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + prerelease: boolean; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + published_at: string | null; + author: components["schemas"]["simple-user"]; + assets: components["schemas"]["release-asset"][]; + body_html?: string; + body_text?: string; + mentions_count?: number; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @description The URL of the release discussion. */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + discussion_url?: string; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Generated Release Notes Content + * @description Generated name and body describing a release + */ + "release-notes-content": { + /** + * @description The generated name of the release + * @example Release v1.0.0 is now available! + */ + name: string; + /** @description The generated body describing the contents of the release supporting markdown formatting */ + body: string; + }; + /** + * repository ruleset data for rule + * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. + */ + "repository-rule-ruleset-info": { + /** + * @description The type of source for the ruleset that includes this rule. + * @enum {string} + */ + ruleset_source_type?: "Repository" | "Organization"; + /** @description The name of the source of the ruleset that includes this rule. */ + ruleset_source?: string; + /** @description The ID of the ruleset that includes this rule. */ + ruleset_id?: number; + }; + /** + * Repository Rule + * @description A repository rule with ruleset details. + */ + "repository-rule-detailed": (components["schemas"]["repository-rule-creation"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-update"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-deletion"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-linear-history"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-deployments"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-signatures"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-pull-request"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-required-status-checks"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-non-fast-forward"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-message-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-commit-author-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-committer-email-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-branch-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]) | (components["schemas"]["repository-rule-tag-name-pattern"] & components["schemas"]["repository-rule-ruleset-info"]); + "secret-scanning-alert": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @description The REST API URL of the code locations for this alert. */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + locations_url?: string; + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; /** - * @description Whether downloads are enabled. - * @default true + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description User-friendly name for the detected secret, matching the `secret_type`. + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + secret_type_display_name?: string; + /** @description The secret that was detected. */ + secret?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - has_downloads: boolean; + push_protection_bypassed_at?: string | null; + }; + /** @description An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`. */ + "secret-scanning-alert-resolution-comment": string | null; + /** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */ + "secret-scanning-location-commit": { /** - * @description Whether issues are enabled. - * @default true + * @description The file path in the repository + * @example /example/secrets.txt */ - has_issues: boolean; - has_pages: boolean; + path: string; + /** @description Line number at which the secret starts in the file */ + start_line: number; + /** @description Line number at which the secret ends in the file */ + end_line: number; + /** @description The column at which the secret starts within the start line when the file is interpreted as 8BIT ASCII */ + start_column: number; + /** @description The column at which the secret ends within the end line when the file is interpreted as 8BIT ASCII */ + end_column: number; /** - * @description Whether projects are enabled. - * @default true + * @description SHA-1 hash ID of the associated blob + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b */ - has_projects: boolean; + blob_sha: string; + /** @description The API URL to get the associated blob resource */ + blob_url: string; /** - * @description Whether the wiki is enabled. - * @default true + * @description SHA-1 hash ID of the associated commit + * @example af5626b4a114abcb82d63db7c8082c3c4756e51b */ - has_wiki: boolean; + commit_sha: string; + /** @description The API URL to get the associated commit resource */ + commit_url: string; + }; + /** @description Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. */ + "secret-scanning-location-issue-title": { /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @description The API URL to get the issue where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_title_url: string; + }; + /** @description Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. */ + "secret-scanning-location-issue-body": { + /** + * Format: uri + * @description The API URL to get the issue where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/1347 + */ + issue_body_url: string; + }; + /** @description Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. */ + "secret-scanning-location-issue-comment": { + /** + * Format: uri + * @description The API URL to get the issue comment where the secret was detected. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1081119451 */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + }; + "secret-scanning-location": { /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues), this field identifies the type of resource where the secret was found. + * @example commit * @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + type: "commit" | "issue_title" | "issue_body" | "issue_comment"; + details: components["schemas"]["secret-scanning-location-commit"] | components["schemas"]["secret-scanning-location-issue-title"] | components["schemas"]["secret-scanning-location-issue-body"] | components["schemas"]["secret-scanning-location-issue-comment"]; + }; + "repository-advisory-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + severity?: "critical" | "high" | "medium" | "low"; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + }; + "private-vulnerability-report-create": { + /** @description A short summary of the advisory. */ + summary: string; + /** @description A detailed description of what the advisory impacts. */ + description: string; + /** @description An array of products affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[] | null; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + severity?: "critical" | "high" | "medium" | "low"; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + }; + "repository-advisory-update": { + /** @description A short summary of the advisory. */ + summary?: string; + /** @description A detailed description of what the advisory impacts. */ + description?: string; + /** @description The Common Vulnerabilities and Exposures (CVE) ID. */ + cve_id?: string | null; + /** @description A product affected by the vulnerability detailed in a repository security advisory. */ + vulnerabilities?: { + /** @description The name of the package affected by the vulnerability. */ + package: { + ecosystem: components["schemas"]["security-advisory-ecosystems"]; + /** @description The unique package name within its ecosystem. */ + name?: string | null; + }; + /** @description The range of the package versions affected by the vulnerability. */ + vulnerable_version_range?: string | null; + /** @description The package version(s) that resolve the vulnerability. */ + patched_versions?: string | null; + /** @description The functions in the package that are affected. */ + vulnerable_functions?: string[] | null; + }[]; + /** @description A list of Common Weakness Enumeration (CWE) IDs. */ + cwe_ids?: string[] | null; + /** @description A list of users receiving credit for their participation in the security advisory. */ + credits?: { + /** @description The username of the user credited. */ + login: string; + type: components["schemas"]["security-advisory-credit-types"]; + }[] | null; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @description The severity of the advisory. You must choose between setting this field or `cvss_vector_string`. + * @enum {string|null} + */ + severity?: "critical" | "high" | "medium" | "low"; + /** @description The CVSS vector that calculates the severity of the advisory. You must choose between setting this field or `severity`. */ + cvss_vector_string?: string | null; + /** + * @description The state of the advisory. * @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + state?: "published" | "closed" | "draft"; + /** @description A list of usernames who have been granted write access to the advisory. */ + collaborating_users?: string[] | null; + /** @description A list of team slugs which have been granted write access to the advisory. */ + collaborating_teams?: string[] | null; + }; + /** + * Stargazer + * @description Stargazer + */ + stargazer: { /** Format: date-time */ - updated_at: string; - /** Format: uri */ + starred_at: string; + user: components["schemas"]["nullable-simple-user"]; + }; + /** + * Code Frequency Stat + * @description Code Frequency Stat + */ + "code-frequency-stat": number[]; + /** + * Commit Activity + * @description Commit Activity + */ + "commit-activity": { + /** @example [ + * 0, + * 3, + * 26, + * 20, + * 39, + * 1, + * 0 + * ] */ + days: number[]; + /** @example 89 */ + total: number; + /** @example 1336280400 */ + week: number; + }; + /** + * Contributor Activity + * @description Contributor Activity + */ + "contributor-activity": { + author: components["schemas"]["nullable-simple-user"]; + /** @example 135 */ + total: number; + /** @example [ + * { + * "w": "1367712000", + * "a": 6898, + * "d": 77, + * "c": 10 + * } + * ] */ + weeks: { + w?: number; + a?: number; + d?: number; + c?: number; + }[]; + }; + /** Participation Stats */ + "participation-stats": { + all: number[]; + owner: number[]; + }; + /** + * Repository Invitation + * @description Repository invitations let you manage who you collaborate with. + */ + "repository-subscription": { + /** + * @description Determines if notifications should be received from this repository. + * @example true + */ + subscribed: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored: boolean; + reason: string | null; + /** + * Format: date-time + * @example 2012-10-06T21:34:12Z + */ + created_at: string; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/example/subscription + */ url: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: uri + * @example https://api.github.com/repos/octocat/example */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ + repository_url: string; + }; + /** + * Tag + * @description Tag + */ + tag: { + /** @example v0.1 */ name: string; - node_id: string; + commit: { + sha: string; + /** Format: uri */ + url: string; + }; /** * Format: uri - * @description URL for the label + * @example https://github.com/octocat/Hello-World/zipball/v0.1 + */ + zipball_url: string; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World/tarball/v0.1 */ + tarball_url: string; + node_id: string; + }; + /** + * Tag protection + * @description Tag protection + */ + "tag-protection": { + /** @example 2 */ + id?: number; + /** @example 2011-01-26T19:01:12Z */ + created_at?: string; + /** @example 2011-01-26T19:01:12Z */ + updated_at?: string; + /** @example true */ + enabled?: boolean; + /** @example v1.* */ + pattern: string; + }; + /** + * Topic + * @description A topic aggregates entities that are related to a subject. + */ + topic: { + names: string[]; + }; + /** Traffic */ + traffic: { + /** Format: date-time */ + timestamp: string; + uniques: number; + count: number; + }; + /** + * Clone Traffic + * @description Clone Traffic + */ + "clone-traffic": { + /** @example 173 */ + count: number; + /** @example 128 */ + uniques: number; + clones: components["schemas"]["traffic"][]; + }; + /** + * Content Traffic + * @description Content Traffic + */ + "content-traffic": { + /** @example /github/hubot */ + path: string; + /** @example github/hubot: A customizable life embetterment robot. */ + title: string; + /** @example 3542 */ + count: number; + /** @example 2225 */ + uniques: number; + }; + /** + * Referrer Traffic + * @description Referrer Traffic + */ + "referrer-traffic": { + /** @example Google */ + referrer: string; + /** @example 4 */ + count: number; + /** @example 3 */ + uniques: number; + }; + /** + * View Traffic + * @description View Traffic + */ + "view-traffic": { + /** @example 14850 */ + count: number; + /** @example 3782 */ + uniques: number; + views: components["schemas"]["traffic"][]; + }; + /** Search Result Text Matches */ + "search-result-text-matches": { + object_url?: string; + object_type?: string | null; + property?: string; + fragment?: string; + matches?: { + text?: string; + indices?: number[]; + }[]; + }[]; + /** + * Code Search Result Item + * @description Code Search Result Item + */ + "code-search-result-item": { + name: string; + path: string; + sha: string; + /** Format: uri */ url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; + /** Format: uri */ + git_url: string; + /** Format: uri */ + html_url: string; + repository: components["schemas"]["minimal-repository"]; + score: number; + file_size?: number; + language?: string | null; + /** Format: date-time */ + last_modified_at?: string; + /** @example [ + * "73..77", + * "77..78" + * ] */ + line_numbers?: string[]; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; /** - * Milestone - * @description A collection of related issues and pull requests. + * Commit Search Result Item + * @description Commit Search Result Item */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + "commit-search-result-item": { /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + url: string; + sha: string; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + html_url: string; /** Format: uri */ - organizations_url?: string; + comments_url: string; + commit: { + author: { + name: string; + email: string; + /** Format: date-time */ + date: string; + }; + committer: components["schemas"]["nullable-git-user"]; + comment_count: number; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification?: components["schemas"]["verification"]; + }; + author: components["schemas"]["nullable-simple-user"]; + committer: components["schemas"]["nullable-git-user"]; + parents: { + url?: string; + html_url?: string; + sha?: string; + }[]; + repository: components["schemas"]["minimal-repository"]; + score: number; + node_id: string; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Issue Search Result Item + * @description Issue Search Result Item + */ + "issue-search-result-item": { /** Format: uri */ - received_events_url?: string; + url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + repository_url: string; + labels_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + comments_url: string; /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ + events_url: string; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + html_url: string; + /** Format: int64 */ + id: number; + node_id: string; + number: number; + title: string; + locked: boolean; + active_lock_reason?: string | null; + assignees?: components["schemas"]["simple-user"][] | null; + user: components["schemas"]["nullable-simple-user"]; + labels: { + /** Format: int64 */ + id?: number; + node_id?: string; + url?: string; + name?: string; + color?: string; + default?: boolean; + description?: string | null; + }[]; + state: string; + state_reason?: string | null; + assignee: components["schemas"]["nullable-simple-user"]; + milestone: components["schemas"]["nullable-milestone"]; + comments: number; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + closed_at: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + pull_request?: { + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + diff_url: string | null; + /** Format: uri */ + html_url: string | null; + /** Format: uri */ + patch_url: string | null; + /** Format: uri */ + url: string | null; + }; + body?: string; + score: number; + author_association: components["schemas"]["author-association"]; + draft?: boolean; + repository?: components["schemas"]["repository"]; + body_html?: string; + body_text?: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + timeline_url?: string; + performed_via_github_app?: components["schemas"]["nullable-integration"]; + reactions?: components["schemas"]["reaction-rollup"]; + }; + /** + * Label Search Result Item + * @description Label Search Result Item + */ + "label-search-result-item": { + id: number; + node_id: string; /** Format: uri */ - html_url?: string; + url: string; + name: string; + color: string; + default: boolean; + description: string | null; + score: number; + text_matches?: components["schemas"]["search-result-text-matches"]; + }; + /** + * Repo Search Result Item + * @description Repo Search Result Item + */ + "repo-search-result-item": { id: number; - login: string; - name?: string; - node_id?: string; + node_id: string; + name: string; + full_name: string; + owner: components["schemas"]["nullable-simple-user"]; + private: boolean; /** Format: uri */ - organizations_url?: string; + html_url: string; + description: string | null; + fork: boolean; /** Format: uri */ - received_events_url?: string; + url: string; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + /** Format: date-time */ + pushed_at: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + homepage: string | null; + size: number; + stargazers_count: number; + watchers_count: number; + language: string | null; + forks_count: number; + open_issues_count: number; + master_branch?: string; + default_branch: string; + score: number; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + forks_url: string; + keys_url: string; + collaborators_url: string; /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; + teams_url: string; /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; + hooks_url: string; + issue_events_url: string; /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; + events_url: string; + assignees_url: string; + branches_url: string; /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; + tags_url: string; + blobs_url: string; + git_tags_url: string; + git_refs_url: string; + trees_url: string; + statuses_url: string; /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request unlabeled event */ - "webhook-pull-request-unlabeled": { - /** @enum {string} */ - action: "unlabeled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** Label */ - label?: { - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; - /** - * Format: uri - * @description URL for the label - */ - url: string; - }; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ + languages_url: string; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + stargazers_url: string; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + contributors_url: string; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + subscribers_url: string; /** Format: uri */ - organizations_url?: string; + subscription_url: string; + commits_url: string; + git_commits_url: string; + comments_url: string; + issue_comment_url: string; + contents_url: string; + compare_url: string; /** Format: uri */ - received_events_url?: string; + merges_url: string; + archive_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + downloads_url: string; + issues_url: string; + pulls_url: string; + milestones_url: string; + notifications_url: string; + labels_url: string; + releases_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; + deployments_url: string; + git_url: string; + ssh_url: string; + clone_url: string; /** Format: uri */ - url?: string; - }) | null)[]; + svn_url: string; + forks: number; + open_issues: number; + watchers: number; + topics?: string[]; + /** Format: uri */ + mirror_url: string | null; + has_issues: boolean; + has_projects: boolean; + has_pages: boolean; + has_wiki: boolean; + has_downloads: boolean; + has_discussions?: boolean; + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** @description The repository visibility: public, private, or internal. */ + visibility?: string; + license: components["schemas"]["nullable-license-simple"]; + permissions?: { + admin: boolean; + maintain?: boolean; + push: boolean; + triage?: boolean; + pull: boolean; + }; + text_matches?: components["schemas"]["search-result-text-matches"]; + temp_clone_token?: string; + allow_merge_commit?: boolean; + allow_squash_merge?: boolean; + allow_rebase_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_forking?: boolean; + is_template?: boolean; + /** @example false */ + web_commit_signoff_required?: boolean; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Topic Search Result Item + * @description Topic Search Result Item */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "topic-search-result-item": { + name: string; + display_name: string | null; + short_description: string | null; + description: string | null; + created_by: string | null; + released: string | null; + /** Format: date-time */ + created_at: string; + /** Format: date-time */ + updated_at: string; + featured: boolean; + curated: boolean; + score: number; + repository_count?: number | null; + /** Format: uri */ + logo_url?: string | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + related?: { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] | null; + aliases?: { + topic_relation?: { + id?: number; + name?: string; + topic_id?: number; + relation_type?: string; + }; + }[] | null; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * User Search Result Item + * @description User Search Result Item */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string | null; - /** User */ - enabled_by: ({ + "user-search-result-item": { + login: string; + id: number; + node_id: string; /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; + avatar_url: string; + gravatar_id: string | null; /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; + url: string; /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; + html_url: string; /** Format: uri */ - organizations_url?: string; + followers_url: string; /** Format: uri */ - received_events_url?: string; + subscriptions_url: string; /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; + organizations_url: string; /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + repos_url: string; /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + received_events_url: string; + type: string; + score: number; + following_url: string; + gists_url: string; + starred_url: string; + events_url: string; + public_repos?: number; + public_gists?: number; + followers?: number; + following?: number; + /** Format: date-time */ + created_at?: string; + /** Format: date-time */ + updated_at?: string; + name?: string | null; + bio?: string | null; + /** Format: email */ + email?: string | null; + location?: string | null; + site_admin: boolean; + hireable?: boolean | null; + text_matches?: components["schemas"]["search-result-text-matches"]; + blog?: string | null; + company?: string | null; + /** Format: date-time */ + suspended_at?: string | null; + }; + /** + * Private User + * @description Private User + */ + "private-user": { + /** @example octocat */ + login: string; + /** @example 1 */ + id: number; + /** @example MDQ6VXNlcjE= */ + node_id: string; + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * Format: uri + * @example https://api.github.com/users/octocat */ - allow_merge_commit?: boolean; + url: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @example https://github.com/octocat */ - allow_rebase_merge?: boolean; + html_url: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: uri + * @example https://api.github.com/users/octocat/followers */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; /** - * @description Whether the repository is archived. - * @default false + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + subscriptions_url: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @example https://api.github.com/users/octocat/orgs */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example monalisa octocat */ + name: string | null; + /** @example GitHub */ + company: string | null; + /** @example https://github.com/blog */ + blog: string | null; + /** @example San Francisco */ + location: string | null; + /** + * Format: email + * @example octocat@github.com + */ + email: string | null; + hireable: boolean | null; + /** @example There once was... */ + bio: string | null; + /** @example monalisa */ + twitter_username?: string | null; + /** @example 2 */ + public_repos: number; + /** @example 1 */ + public_gists: number; + /** @example 20 */ + followers: number; + /** @example 0 */ + following: number; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + created_at: string; + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ + updated_at: string; + /** @example 81 */ + private_gists: number; + /** @example 100 */ + total_private_repos: number; + /** @example 100 */ + owned_private_repos: number; + /** @example 10000 */ + disk_usage: number; + /** @example 8 */ + collaborators: number; + /** @example true */ + two_factor_authentication: boolean; + plan?: { + collaborators: number; + name: string; + space: number; + private_repos: number; + }; + /** Format: date-time */ + suspended_at?: string | null; + business_plus?: boolean; + ldap_dn?: string; + }; + /** + * Codespaces Secret + * @description Secrets for a GitHub Codespace. + */ + "codespaces-secret": { + /** + * @description The name of the secret + * @example SECRET_NAME + */ + name: string; + /** + * Format: date-time + * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + created_at: string; + /** + * Format: date-time + * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ. + */ + updated_at: string; + /** + * @description The type of repositories in the organization that the secret is visible to + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** + * Format: uri + * @description The API URL at which the list of repositories this secret is visible to can be retrieved + * @example https://api.github.com/user/secrets/SECRET_NAME/repositories + */ + selected_repositories_url: string; + }; + /** + * CodespacesUserPublicKey + * @description The public key used for setting user Codespaces' Secrets. + */ + "codespaces-user-public-key": { + /** + * @description The identifier for the key. + * @example 1234567 + */ + key_id: string; + /** + * @description The Base64 encoded public key. + * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs= + */ + key: string; + }; + /** + * Fetches information about an export of a codespace. + * @description An export of a codespace. Also, latest export details for a codespace can be fetched with id = latest + */ + "codespace-export-details": { + /** + * @description State of the latest export + * @example succeeded | failed | in_progress + */ + state?: string | null; + /** + * Format: date-time + * @description Completion time of the last export operation + * @example 2021-01-01T19:01:12Z + */ + completed_at?: string | null; + /** + * @description Name of the exported branch + * @example codespace-monalisa-octocat-hello-world-g4wpq6h95q + */ + branch?: string | null; + /** + * @description Git commit SHA of the exported branch + * @example fd95a81ca01e48ede9f39c799ecbcef817b8a3b2 + */ + sha?: string | null; + /** + * @description Id for the export details + * @example latest + */ + id?: string; + /** + * @description Url for fetching export details + * @example https://api.github.com/user/codespaces/:name/exports/latest + */ + export_url?: string; + /** + * @description Web url for the exported branch + * @example https://github.com/octocat/hello-world/tree/:branch + */ + html_url?: string | null; + }; + /** + * Codespace + * @description A codespace. + */ + "codespace-with-full-repository": { + /** @example 1 */ + id: number; + /** + * @description Automatically generated name of this codespace. + * @example monalisa-octocat-hello-world-g4wpq6h95q + */ + name: string; + /** + * @description Display name for this codespace. + * @example bookish space pancake + */ + display_name?: string | null; + /** + * @description UUID identifying this codespace's environment. + * @example 26a7c758-7299-4a73-b978-5a92a7ae98a0 + */ + environment_id: string | null; + owner: components["schemas"]["simple-user"]; + billable_owner: components["schemas"]["simple-user"]; + repository: components["schemas"]["full-repository"]; + machine: components["schemas"]["nullable-codespace-machine"]; + /** + * @description Path to devcontainer.json from repo root used to create Codespace. + * @example .devcontainer/example/devcontainer.json + */ + devcontainer_path?: string | null; + /** + * @description Whether the codespace was created from a prebuild. + * @example false + */ + prebuild: boolean | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + updated_at: string; + /** + * Format: date-time + * @description Last known time this codespace was started. + * @example 2011-01-26T19:01:12Z + */ + last_used_at: string; + /** + * @description State of this codespace. + * @example Available + * @enum {string} + */ + state: "Unknown" | "Created" | "Queued" | "Provisioning" | "Available" | "Awaiting" | "Unavailable" | "Deleted" | "Moved" | "Shutdown" | "Archived" | "Starting" | "ShuttingDown" | "Failed" | "Exporting" | "Updating" | "Rebuilding"; + /** + * Format: uri + * @description API URL for this codespace. */ - has_downloads: boolean; + url: string; + /** @description Details about the codespace's git repository. */ + git_status: { + /** + * @description The number of commits the local repository is ahead of the remote. + * @example 0 + */ + ahead?: number; + /** + * @description The number of commits the local repository is behind the remote. + * @example 0 + */ + behind?: number; + /** @description Whether the local repository has unpushed changes. */ + has_unpushed_changes?: boolean; + /** @description Whether the local repository has uncommitted changes. */ + has_uncommitted_changes?: boolean; + /** + * @description The current branch (or SHA if in detached HEAD state) of the local repository. + * @example main + */ + ref?: string; + }; /** - * @description Whether issues are enabled. - * @default true + * @description The initally assigned location of a new codespace. + * @example WestUs2 + * @enum {string} */ - has_issues: boolean; - has_pages: boolean; + location: "EastUs" | "SouthEastAsia" | "WestEurope" | "WestUs2"; /** - * @description Whether projects are enabled. - * @default true + * @description The number of minutes of inactivity after which this codespace will be automatically stopped. + * @example 60 */ - has_projects: boolean; + idle_timeout_minutes: number | null; /** - * @description Whether the wiki is enabled. - * @default true + * Format: uri + * @description URL to access this codespace on the web. */ - has_wiki: boolean; + web_url: string; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @description API URL to access available alternate machine types for this codespace. */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + machines_url: string; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * Format: uri + * @description API URL to start this codespace. */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + start_url: string; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} + * Format: uri + * @description API URL to stop this codespace. */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + stop_url: string; + /** + * Format: uri + * @description API URL to publish this codespace to a new repository. + */ + publish_url?: string | null; + /** + * Format: uri + * @description API URL for the Pull Request associated with this codespace, if any. + */ + pulls_url: string | null; + recent_folders: string[]; + runtime_constraints?: { + /** @description The privacy settings a user can select from when forwarding a port. */ + allowed_port_privacy_settings?: string[] | null; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + /** @description Whether or not a codespace has a pending async operation. This would mean that the codespace is temporarily unavailable. The only thing that you can do with a codespace in this state is delete it. */ + pending_operation?: boolean | null; + /** @description Text to show user when codespace is disabled by a pending operation */ + pending_operation_disabled_reason?: string | null; + /** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */ + idle_timeout_notice?: string | null; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). + * @example 60 */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + retention_period_minutes?: number | null; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * Format: date-time + * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at" + * @example 2011-01-26T20:01:12Z */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; + retention_expires_at?: string | null; + }; + /** + * Email + * @description Email + */ + email: { + /** + * Format: email + * @example octocat@github.com + */ + email: string; + /** @example true */ + primary: boolean; + /** @example true */ + verified: boolean; + /** @example public */ + visibility: string | null; + }; + /** + * GPG Key + * @description A unique encryption key + */ + "gpg-key": { + /** @example 3 */ + id: number; + /** @example Octocat's GPG Key */ + name?: string | null; + primary_key_id: number | null; + /** @example 3262EFF25BA0D270 */ + key_id: string; + /** @example xsBNBFayYZ... */ + public_key: string; + /** @example [ + * { + * "email": "octocat@users.noreply.github.com", + * "verified": true + * } + * ] */ + emails: { + email?: string; + verified?: boolean; + }[]; + /** @example [ + * { + * "id": 4, + * "primary_key_id": 3, + * "key_id": "4A595D4C72EE49C7", + * "public_key": "zsBNBFayYZ...", + * "emails": [], + * "can_sign": false, + * "can_encrypt_comms": true, + * "can_encrypt_storage": true, + * "can_certify": false, + * "created_at": "2016-03-24T11:31:04-06:00", + * "expires_at": null, + * "revoked": false + * } + * ] */ + subkeys: { + id?: number; + primary_key_id?: number; + key_id?: string; + public_key?: string; + emails?: { + email?: string; + verified?: boolean; + }[]; + subkeys?: unknown[]; + can_sign?: boolean; + can_encrypt_comms?: boolean; + can_encrypt_storage?: boolean; + can_certify?: boolean; + created_at?: string; + expires_at?: string | null; + raw_key?: string | null; + revoked?: boolean; + }[]; + /** @example true */ + can_sign: boolean; + can_encrypt_comms: boolean; + can_encrypt_storage: boolean; + /** @example true */ + can_certify: boolean; + /** + * Format: date-time + * @example 2016-03-24T11:31:04-06:00 + */ + created_at: string; /** Format: date-time */ - updated_at: string; + expires_at: string | null; + /** @example true */ + revoked: boolean; + raw_key: string | null; + }; + /** + * Key + * @description Key + */ + key: { + key: string; + id: number; + url: string; + title: string; + /** Format: date-time */ + created_at: string; + verified: boolean; + read_only: boolean; + }; + /** Marketplace Account */ + "marketplace-account": { /** Format: uri */ url: string; + id: number; + type: string; + node_id?: string; + login: string; + /** Format: email */ + email?: string | null; + /** Format: email */ + organization_billing_email?: string | null; + }; + /** + * User Marketplace Purchase + * @description User Marketplace Purchase + */ + "user-marketplace-purchase": { + /** @example monthly */ + billing_cycle: string; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * Format: date-time + * @example 2017-11-11T00:00:00Z */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + next_billing_date: string | null; + unit_count: number | null; + /** @example true */ + on_free_trial: boolean; + /** + * Format: date-time + * @example 2017-11-11T00:00:00Z + */ + free_trial_ends_on: string | null; + /** + * Format: date-time + * @example 2017-11-02T01:12:12Z + */ + updated_at: string | null; + account: components["schemas"]["marketplace-account"]; + plan: components["schemas"]["marketplace-listing-plan"]; + }; + /** + * Social account + * @description Social media account + */ + "social-account": { + /** @example linkedin */ + provider: string; + /** @example https://www.linkedin.com/company/github/ */ + url: string; + }; + /** + * SSH Signing Key + * @description A public SSH key used to sign Git commits + */ + "ssh-signing-key": { + key: string; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; + title: string; + /** Format: date-time */ + created_at: string; + }; + /** + * Starred Repository + * @description Starred Repository + */ + "starred-repository": { + /** Format: date-time */ + starred_at: string; + repo: components["schemas"]["repository"]; + }; + /** + * Hovercard + * @description Hovercard + */ + hovercard: { + contexts: { + message: string; + octicon: string; + }[]; + }; + /** + * Key Simple + * @description Key Simple + */ + "key-simple": { + id: number; + key: string; + }; + /** + * Enterprise + * @description An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + * on an enterprise account or an organization that's part of an enterprise account. For more information, + * see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + * + */ + "enterprise-webhooks": { + /** @description A short description of the enterprise. */ + description?: string | null; + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ + html_url: string; + /** + * Format: uri + * @description The enterprise's website URL. + */ + website_url?: string | null; + /** + * @description Unique identifier of the enterprise + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the enterprise. + * @example Octo Business + */ + name: string; + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ + slug: string; + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ + updated_at: string | null; /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string | null; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false + avatar_url: string; + }; + /** + * Simple Installation + * @description The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + * for and sent to a GitHub App. For more information, + * see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + */ + "simple-installation": { + /** + * @description The ID of the installation. + * @example 1 */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + id: number; /** - * @description Whether to allow merge commits for pull requests. - * @default true + * @description The global node ID of the installation. + * @example MDQ6VXNlcjU4MzIzMQ== */ - allow_merge_commit?: boolean; + node_id: string; + }; + /** + * Organization Simple + * @description A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + * organization, or when the event occurs from activity in a repository owned by an organization. + */ + "organization-simple-webhooks": { + /** @example github */ + login: string; + /** @example 1 */ + id: number; + /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ + node_id: string; /** - * @description Whether to allow rebase merges for pull requests. - * @default true + * Format: uri + * @example https://api.github.com/orgs/github */ - allow_rebase_merge?: boolean; + url: string; /** - * @description Whether to allow squash merges for pull requests. - * @default true + * Format: uri + * @example https://api.github.com/orgs/github/repos */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + repos_url: string; /** - * @description Whether the repository is archived. + * Format: uri + * @example https://api.github.com/orgs/github/events + */ + events_url: string; + /** @example https://api.github.com/orgs/github/hooks */ + hooks_url: string; + /** @example https://api.github.com/orgs/github/issues */ + issues_url: string; + /** @example https://api.github.com/orgs/github/members{/member} */ + members_url: string; + /** @example https://api.github.com/orgs/github/public_members{/member} */ + public_members_url: string; + /** @example https://github.com/images/error/octocat_happy.gif */ + avatar_url: string; + /** @example A great organization */ + description: string | null; + }; + /** + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. + */ + "repository-webhooks": { + /** + * @description Unique identifier of the repository + * @example 42 + */ + id: number; + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. * @default false */ - archived: boolean; - /** Format: uri-template */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ assignees_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ blobs_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ collaborators_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ comments_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ commits_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ compare_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ contents_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; /** - * @description Whether to delete head branches when pull requests are merged - * @default false + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments */ - delete_branch_on_merge?: boolean; - /** Format: uri */ deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ downloads_url: string; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ forks_url: string; - full_name: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ git_commits_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ git_refs_url: string; - /** Format: uri-template */ + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ git_tags_url: string; - /** Format: uri */ + /** @example git:github.com/octocat/Hello-World.git */ git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; /** - * @description Whether downloads are enabled. - * @default true + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages */ - has_downloads: boolean; + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template: boolean; + topics?: string[]; /** * @description Whether issues are enabled. * @default true + * @example true */ has_issues: boolean; - has_pages: boolean; /** * @description Whether projects are enabled. * @default true + * @example true */ has_projects: boolean; /** * @description Whether the wiki is enabled. * @default true + * @example true */ has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; /** * @description Whether discussions are enabled. * @default false + * @example true */ has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; /** - * @description The default value for a merge commit message. - * @enum {string} + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + delete_branch_on_merge: boolean; + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; /** - * @description The default value for a merge commit message title. + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; /** * @description The default value for a squash merge commit message: * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. * @enum {string} */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; /** - * @description The default value for a squash merge commit title: + * @description The default value for a merge commit title. * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). * @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits * @default false */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + }; + /** + * Simple User + * @description The GitHub user that triggered the event. This property is included in every webhook payload. + */ + "simple-user-webhooks": { + name?: string | null; email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; + /** @example octocat */ login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; + /** @example 1 */ id: number; - /** @description The name of the label. */ - name: string; + /** @example MDQ6VXNlcjE= */ node_id: string; /** * Format: uri - * @description URL for the label + * @example https://github.com/images/error/octocat_happy.gif + */ + avatar_url: string; + /** @example 41d064eb2195891e12d0413f63227ea7 */ + gravatar_id: string | null; + /** + * Format: uri + * @example https://api.github.com/users/octocat */ url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; + /** + * Format: uri + * @example https://github.com/octocat + */ + html_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ + followers_url: string; + /** @example https://api.github.com/users/octocat/following{/other_user} */ + following_url: string; + /** @example https://api.github.com/users/octocat/gists{/gist_id} */ + gists_url: string; + /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ + starred_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ + subscriptions_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ + organizations_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ + repos_url: string; + /** @example https://api.github.com/users/octocat/events{/privacy} */ + events_url: string; + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ + received_events_url: string; + /** @example User */ + type: string; + site_admin: boolean; + /** @example "2020-07-09T00:17:55Z" */ + starred_at?: string; + }; + /** @description A suite of checks performed on the code of a given code change */ + "simple-check-suite": { + /** @example d6fde92930d4715a2b49857d24b940956b26d2d3 */ + after?: string | null; + app?: components["schemas"]["integration"]; + /** @example 146e867f55c26428e5f9fade55a9bbf5e95a7912 */ + before?: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | "stale" | "startup_failure"; + /** Format: date-time */ + created_at?: string; + /** @example master */ + head_branch?: string | null; + /** + * @description The SHA of the head commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha?: string; + /** @example 5 */ + id?: number; + /** @example MDEwOkNoZWNrU3VpdGU1 */ node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ + pull_requests?: components["schemas"]["pull-request-minimal"][]; + repository?: components["schemas"]["minimal-repository"]; + /** + * @example completed + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed" | "pending" | "waiting"; + /** Format: date-time */ + updated_at?: string; + /** @example https://api.github.com/repos/github/hello-world/check-suites/5 */ url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; + }; + /** + * CheckRun + * @description A check performed on the code of a given code change + */ + "check-run-with-simple-check-suite": { + app: components["schemas"]["nullable-integration"]; + check_suite: components["schemas"]["simple-check-suite"]; + /** + * Format: date-time + * @example 2018-05-04T01:14:52Z + */ + completed_at: string | null; + /** + * @example neutral + * @enum {string|null} + */ + conclusion: "waiting" | "pending" | "startup_failure" | "stale" | "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required"; + deployment?: components["schemas"]["deployment-simple"]; + /** @example https://example.com */ + details_url: string; + /** @example 42 */ + external_id: string; /** - * Format: uri - * @description URL for the team + * @description The SHA of the commit that is being checked. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ + head_sha: string; + /** @example https://github.com/github/hello-world/runs/4 */ + html_url: string; + /** + * @description The id of the check. + * @example 21 */ - url: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ + /** + * @description The name of the check. + * @example test-coverage + */ name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + /** @example MDg6Q2hlY2tSdW40 */ + node_id: string; + output: { + annotations_count: number; + /** Format: uri */ + annotations_url: string; + summary: string | null; + text: string | null; + title: string | null; + }; + pull_requests: components["schemas"]["pull-request-minimal"][]; /** - * Format: uri - * @description URL for the team + * Format: date-time + * @example 2018-05-04T01:14:52Z */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} + started_at: string; + /** + * @description The phase of the lifecycle that the check is currently in. + * @example queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "pending"; + /** @example https://api.github.com/repos/github/hello-world/check-runs/4 */ + url: string; + }; + /** + * Discussion + * @description A Discussion in a repository. */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization" | "Mannequin"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** pull_request unlocked event */ - "webhook-pull-request-unlocked": { - /** @enum {string} */ - action: "unlocked"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - /** @description The pull request number. */ - number: number; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** Pull Request */ - pull_request: { - _links: { - /** Link */ - comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - commits: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - html: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - issue: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comment: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - review_comments: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - self: { - /** Format: uri-template */ - href: string; - }; - /** Link */ - statuses: { - /** Format: uri-template */ - href: string; - }; - }; - /** @enum {string|null} */ - active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; - additions?: number; - /** User */ - assignee: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - assignees: (({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + discussion: { + active_lock_reason: string | null; + answer_chosen_at: string | null; + /** User */ + answer_chosen_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + answer_html_url: string | null; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null)[]; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** + * @description The current state of the discussion. + * `converting` means that the discussion is being converted from an issue. + * `transferring` means that the discussion is being transferred from another repository. + * @enum {string} + */ + state: "open" | "closed" | "locked" | "converting" | "transferring"; + /** + * @description The reason for the current state + * @example resolved + * @enum {string|null} + */ + state_reason: "resolved" | "outdated" | "duplicate" | "reopened"; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; /** - * AuthorAssociation - * @description How the author is associated with the repository. - * @enum {string} + * Merge Group + * @description A group of pull requests that the merge queue has grouped together to be merged. + * */ - author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + "merge-group": { + /** @description The SHA of the merge group. */ + head_sha: string; + /** @description The full ref of the merge group. */ + head_ref: string; + /** @description The SHA of the merge group's parent commit. */ + base_sha: string; + /** @description The full ref of the branch the merge group will be merged into. */ + base_ref: string; + head_commit: components["schemas"]["simple-commit"]; + }; /** - * PullRequestAutoMerge - * @description The status of auto merging a pull request. + * Repository + * @description The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + * when the event occurs from activity in a repository. */ - auto_merge: ({ - /** @description Commit message for the merge commit. */ - commit_message: string | null; - /** @description Title for the merge commit message. */ - commit_title: string; - /** User */ - enabled_by: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; + "nullable-repository-webhooks": { + /** + * @description Unique identifier of the repository + * @example 42 + */ id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method: "merge" | "squash" | "rebase"; - }) | null; - base: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: { - /** - * @description Whether to allow auto-merge for pull requests. + /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + node_id: string; + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @example octocat/Hello-World */ + full_name: string; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + forks: number; + permissions?: { + admin: boolean; + pull: boolean; + triage?: boolean; + push: boolean; + maintain?: boolean; + }; + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ + private: boolean; + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ + html_url: string; + /** @example This your first repo! */ + description: string | null; + fork: boolean; + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ + url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + archive_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + assignees_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + blobs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + branches_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + collaborators_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ + comments_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + compare_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + contents_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ + contributors_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ + deployments_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ + downloads_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ + events_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ + forks_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + git_commits_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + git_refs_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + git_tags_url: string; + /** @example git:github.com/octocat/Hello-World.git */ + git_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + issue_comment_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + issue_events_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ + issues_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + keys_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ + labels_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ + languages_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ + merges_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + milestones_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + notifications_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + pulls_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ + releases_url: string; + /** @example git@github.com:octocat/Hello-World.git */ + ssh_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ + stargazers_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + statuses_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ + subscribers_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ + subscription_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ + tags_url: string; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ + teams_url: string; + /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + trees_url: string; + /** @example https://github.com/octocat/Hello-World.git */ + clone_url: string; + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ + mirror_url: string | null; + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ + hooks_url: string; + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ + svn_url: string; + /** + * Format: uri + * @example https://github.com + */ + homepage: string | null; + language: string | null; + /** @example 9 */ + forks_count: number; + /** @example 80 */ + stargazers_count: number; + /** @example 80 */ + watchers_count: number; + /** + * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ + size: number; + /** + * @description The default branch of the repository. + * @example master + */ + default_branch: string; + /** @example 0 */ + open_issues_count: number; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. * @default false + * @example true */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; + is_template: boolean; + topics?: string[]; /** - * @description Whether to allow merge commits for pull requests. + * @description Whether issues are enabled. * @default true + * @example true */ - allow_merge_commit?: boolean; + has_issues: boolean; /** - * @description Whether to allow rebase merges for pull requests. + * @description Whether projects are enabled. * @default true + * @example true */ - allow_rebase_merge?: boolean; + has_projects: boolean; /** - * @description Whether to allow squash merges for pull requests. + * @description Whether the wiki is enabled. * @default true + * @example true */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; + has_wiki: boolean; + has_pages: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions: boolean; /** * @description Whether the repository is archived. * @default false */ archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; + /** @description Returns whether or not this repository disabled. */ + disabled: boolean; + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ + visibility: string; + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ + pushed_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ + created_at: string | null; + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ + updated_at: string | null; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge: boolean; + template_repository?: { + id?: number; + node_id?: string; + name?: string; + full_name?: string; + owner?: { + login?: string; + id?: number; + node_id?: string; + avatar_url?: string; + gravatar_id?: string; + url?: string; + html_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + starred_url?: string; + subscriptions_url?: string; + organizations_url?: string; + repos_url?: string; + events_url?: string; + received_events_url?: string; + type?: string; + site_admin?: boolean; + }; + private?: boolean; + html_url?: string; + description?: string; + fork?: boolean; + url?: string; + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + downloads_url?: string; + events_url?: string; + forks_url?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + notifications_url?: string; + pulls_url?: string; + releases_url?: string; + ssh_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + clone_url?: string; + mirror_url?: string; + hooks_url?: string; + svn_url?: string; + homepage?: string; + language?: string; + forks_count?: number; + stargazers_count?: number; + watchers_count?: number; + size?: number; + default_branch?: string; + open_issues_count?: number; + is_template?: boolean; + topics?: string[]; + has_issues?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + has_pages?: boolean; + has_downloads?: boolean; + archived?: boolean; + disabled?: boolean; + visibility?: string; + pushed_at?: string; + created_at?: string; + updated_at?: string; + permissions?: { + admin?: boolean; + maintain?: boolean; + push?: boolean; + triage?: boolean; + pull?: boolean; + }; + allow_rebase_merge?: boolean; + temp_clone_token?: string; + allow_squash_merge?: boolean; + allow_auto_merge?: boolean; + delete_branch_on_merge?: boolean; + allow_update_branch?: boolean; + use_squash_pr_title_as_default?: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + allow_merge_commit?: boolean; + subscribers_count?: number; + network_count?: number; + } | null; + temp_clone_token?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge: boolean; /** * @description Whether to delete head branches when pull requests are merged * @default false + * @example false */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; + delete_branch_on_merge: boolean; /** - * @description Whether downloads are enabled. + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ + allow_update_branch: boolean; + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to allow merge commits for pull requests. * @default true + * @example true */ - has_downloads: boolean; + allow_merge_commit: boolean; + /** @description Whether to allow forking this repo */ + allow_forking?: boolean; + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ + web_commit_signoff_required: boolean; + subscribers_count?: number; + network_count?: number; + open_issues: number; + watchers: number; + master_branch?: string; + /** @example "2020-07-09T00:17:42Z" */ + starred_at?: string; + /** @description Whether anonymous git access is enabled for this repository */ + anonymous_access_enabled?: boolean; + } | null; + /** + * Personal Access Token Request + * @description Details of a Personal Access Token Request. + */ + "personal-access-token-request": { + /** @description Unique identifier of the request for access via fine-grained personal access token. Used as the `pat_request_id` parameter in the list and review API calls. */ + id: number; + owner: components["schemas"]["simple-user"]; + /** @description New requested permissions, categorized by type of permission. */ + permissions_added: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ + permissions_upgraded: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ + permissions_result: { + organization?: { + [key: string]: string; + }; + repository?: { + [key: string]: string; + }; + other?: { + [key: string]: string; + }; + }; + /** + * @description Type of repository selection requested. + * @enum {string} + */ + repository_selection: "none" | "all" | "subset"; + /** @description The number of repositories the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repository_count: number | null; + /** @description An array of repository objects the token is requesting access to. This field is only populated when `repository_selection` is `subset`. */ + repositories: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[] | null; + /** @description Date and time when the request for access was created. */ + created_at: string; + /** @description Whether the associated fine-grained personal access token has expired. */ + token_expired: boolean; + /** @description Date and time when the associated fine-grained personal access token expires. */ + token_expires_at: string | null; + /** @description Date and time when the associated fine-grained personal access token was last used for authentication. */ + token_last_used_at: string | null; + }; + /** + * Projects v2 Project + * @description A projects v2 project + */ + "projects-v2": { + id: number; + node_id: string; + owner: components["schemas"]["simple-user"]; + creator: components["schemas"]["simple-user"]; + title: string; + description: string | null; + public: boolean; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + closed_at: string | null; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + created_at: string; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + updated_at: string; + number: number; + short_description: string | null; + /** + * Format: date-time + * @example 2022-04-28T12:00:00Z + */ + deleted_at: string | null; + deleted_by: components["schemas"]["nullable-simple-user"]; + }; + /** + * Projects v2 Item Content Type + * @description The type of content tracked in a project item + * @enum {string} + */ + "projects-v2-item-content-type": "Issue" | "PullRequest" | "DraftIssue"; + /** + * Projects v2 Item + * @description An item belonging to a project + */ + "projects-v2-item": { + id: number; + node_id?: string; + project_node_id?: string; + content_node_id: string; + content_type: components["schemas"]["projects-v2-item-content-type"]; + creator?: components["schemas"]["simple-user"]; /** - * @description Whether issues are enabled. - * @default true + * Format: date-time + * @example 2022-04-28T12:00:00Z */ - has_issues: boolean; - has_pages: boolean; + created_at: string; /** - * @description Whether projects are enabled. - * @default true + * Format: date-time + * @example 2022-04-28T12:00:00Z */ - has_projects: boolean; + updated_at: string; /** - * @description Whether the wiki is enabled. - * @default true + * Format: date-time + * @example 2022-04-28T12:00:00Z */ - has_wiki: boolean; + archived_at: string | null; + }; + /** + * @description The reason for resolving the alert. + * @enum {string|null} + */ + "secret-scanning-alert-resolution-webhook": "false_positive" | "wont_fix" | "revoked" | "used_in_tests" | "pattern_deleted" | "pattern_edited"; + "secret-scanning-alert-webhook": { + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; /** - * @description Whether discussions are enabled. - * @default false + * Format: uri + * @description The REST API URL of the code locations for this alert. */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + locations_url?: string; + resolution?: components["schemas"]["secret-scanning-alert-resolution-webhook"]; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + resolved_at?: string | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; + /** @description An optional comment to resolve an alert. */ + resolution_comment?: string | null; + /** @description The type of secret that secret scanning detected. */ + secret_type?: string; + /** @description Whether push protection was bypassed for the detected secret. */ + push_protection_bypassed?: boolean | null; + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + push_protection_bypassed_at?: string | null; + }; + /** branch protection configuration disabled event */ + "webhook-branch-protection-configuration-disabled": { + /** @enum {string} */ + action: "disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection configuration enabled event */ + "webhook-branch-protection-configuration-enabled": { + /** @enum {string} */ + action: "enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection rule created event */ + "webhook-branch-protection-rule-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection rule deleted event */ + "webhook-branch-protection-rule-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** branch protection rule edited event */ + "webhook-branch-protection-rule-edited": { + /** @enum {string} */ + action: "edited"; + /** @description If the action was `edited`, the changes to the rule. */ + changes?: { + admin_enforced?: { + from: boolean | null; + }; + authorized_actor_names?: { + from: string[]; + }; + authorized_actors_only?: { + from: boolean | null; + }; + authorized_dismissal_actors_only?: { + from: boolean | null; + }; + linear_history_requirement_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + required_status_checks?: { + from: string[]; + }; + required_status_checks_enforcement_level?: { + /** @enum {string} */ + from: "off" | "non_admins" | "everyone"; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** + * branch protection rule + * @description The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings. + */ + rule: { + admin_enforced: boolean; + /** @enum {string} */ + allow_deletions_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + allow_force_pushes_enforcement_level: "off" | "non_admins" | "everyone"; + authorized_actor_names: string[]; + authorized_actors_only: boolean; + authorized_dismissal_actors_only: boolean; + create_protected?: boolean; + /** Format: date-time */ + created_at: string; + dismiss_stale_reviews_on_push: boolean; + id: number; + ignore_approvals_from_contributors: boolean; + /** @enum {string} */ + linear_history_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + merge_queue_enforcement_level: "off" | "non_admins" | "everyone"; + name: string; + /** @enum {string} */ + pull_request_reviews_enforcement_level: "off" | "non_admins" | "everyone"; + repository_id: number; + require_code_owner_review: boolean; + /** @description Whether the most recent push must be approved by someone other than the person who pushed it */ + require_last_push_approval?: boolean; + required_approving_review_count: number; + /** @enum {string} */ + required_conversation_resolution_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + required_deployments_enforcement_level: "off" | "non_admins" | "everyone"; + required_status_checks: string[]; + /** @enum {string} */ + required_status_checks_enforcement_level: "off" | "non_admins" | "everyone"; + /** @enum {string} */ + signature_requirement_enforcement_level: "off" | "non_admins" | "everyone"; + strict_required_status_checks_policy: boolean; + /** Format: date-time */ + updated_at: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Check Run Completed Event */ + "webhook-check-run-completed": { + /** @enum {string} */ + action?: "completed"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Completed Event + * @description The check_run.completed webhook encoded with URL encoding + */ + "webhook-check-run-completed-form-encoded": { + /** @description A URL-encoded string of the check_run.completed JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Created Event */ + "webhook-check-run-created": { + /** @enum {string} */ + action?: "created"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Created Event + * @description The check_run.created webhook encoded with URL encoding + */ + "webhook-check-run-created-form-encoded": { + /** @description A URL-encoded string of the check_run.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Requested Action Event */ + "webhook-check-run-requested-action": { + /** @enum {string} */ + action: "requested_action"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** @description The action requested by the user. */ + requested_action?: { + /** @description The integrator reference of the action requested by the user. */ + identifier?: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Requested Action Event + * @description The check_run.requested_action webhook encoded with URL encoding + */ + "webhook-check-run-requested-action-form-encoded": { + /** @description A URL-encoded string of the check_run.requested_action JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** Check Run Re-Requested Event */ + "webhook-check-run-rerequested": { + /** @enum {string} */ + action?: "rerequested"; + check_run: components["schemas"]["check-run-with-simple-check-suite"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * Check Run Re-Requested Event + * @description The check_run.rerequested webhook encoded with URL encoding + */ + "webhook-check-run-rerequested-form-encoded": { + /** @description A URL-encoded string of the check_run.rerequested JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** check_suite completed event */ + "webhook-check-suite-completed": { + /** @enum {string} */ + action: "completed"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_group" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "projects_v2_item" | "secret_scanning_alert_location")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has `completed`. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null | "pending"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** check_suite requested event */ + "webhook-check-suite-requested": { + /** @enum {string} */ + action: "requested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "workflow_job" | "merge_queue_entry" | "security_and_analysis" | "secret_scanning_alert_location" | "projects_v2_item" | "merge_group" | "repository_import")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped"; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** check_suite rerequested event */ + "webhook-check-suite-rerequested": { + /** @enum {string} */ + action: "rerequested"; + /** @description The [check_suite](https://docs.github.com/rest/checks/suites#get-a-check-suite). */ + check_suite: { + after: string | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + app: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + }; + before: string | null; + /** Format: uri */ + check_runs_url: string; + /** + * @description The summary conclusion for all check runs that are part of the check suite. Can be one of `success`, `failure`,` neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + /** @description The head branch name the changes are on. */ + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** @description The SHA of the head commit that is being checked. */ + head_sha: string; + id: number; + latest_check_runs_count: number; + node_id: string; + /** @description An array of pull requests that match this check suite. A pull request matches a check suite if they have the same `head_sha` and `head_branch`. When the check suite's `head_branch` is in a forked repository it will be `null` and the `pull_requests` array will be empty. */ + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + rerequestable?: boolean; + runs_rerequestable?: boolean; + /** + * @description The summary status for all check runs that are part of the check suite. Can be `requested`, `in_progress`, or `completed`. + * @enum {string|null} + */ + status: "requested" | "in_progress" | "completed" | "queued" | null; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL that points to the check suite API resource. + */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert appeared_in_branch event */ + "webhook-code-scanning-alert-appeared-in-branch": { + /** @enum {string} */ + action: "appeared_in_branch"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert closed_by_user event */ + "webhook-code-scanning-alert-closed-by-user": { + /** @enum {string} */ + action: "closed_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "dismissed" | "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert created event */ + "webhook-code-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string | null; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: unknown; + dismissed_by: unknown; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: unknown; + fixed_at?: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + } | null; + updated_at?: string | null; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert fixed event */ + "webhook-code-scanning-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** + * Format: date-time + * @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + dismissed_at: string | null; + /** User */ + dismissed_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. + * @enum {string|null} + */ + dismissed_reason: "false positive" | "won't fix" | "used in tests" | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Format: uri */ + instances_url?: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert reopened event */ + "webhook-code-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: string | null; + dismissed_by: Record; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: string | null; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + full_description?: string; + help?: string | null; + /** @description A link to the documentation for the rule used to detect the alert. */ + help_uri?: string | null; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + name?: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + tags?: string[] | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + tool: { + guid?: string | null; + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + } | null; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string | null; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** code_scanning_alert reopened_by_user event */ + "webhook-code-scanning-alert-reopened-by-user": { + /** @enum {string} */ + action: "reopened_by_user"; + /** @description The code scanning alert involved in the event. */ + alert: { + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ.` + */ + created_at: string; + /** @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + dismissed_at: unknown; + dismissed_by: unknown; + /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */ + dismissed_reason: unknown; + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ + html_url: string; + /** Alert Instance */ + most_recent_instance?: { + /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ + analysis_key: string; + /** @description Identifies the configuration under which the analysis was executed. */ + category?: string; + classifications?: string[]; + commit_sha?: string; + /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */ + environment: string; + location?: { + end_column?: number; + end_line?: number; + path?: string; + start_column?: number; + start_line?: number; + }; + message?: { + text?: string; + }; + /** @description The full Git reference, formatted as `refs/heads/`. */ + ref: string; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "dismissed" | "fixed"; + } | null; + /** @description The code scanning alert number. */ + number: number; + rule: { + /** @description A short description of the rule used to detect the alert. */ + description: string; + /** @description A unique identifier for the rule used to detect the alert. */ + id: string; + /** + * @description The severity of the alert. + * @enum {string|null} + */ + severity: "none" | "note" | "warning" | "error" | null; + }; + /** + * @description State of a code scanning alert. + * @enum {string} + */ + state: "open" | "fixed"; + tool: { + /** @description The name of the tool used to generate the code scanning analysis alert. */ + name: string; + /** @description The version of the tool used to detect the alert. */ + version: string | null; + }; + /** Format: uri */ + url: string; + }; + /** @description The commit SHA of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + commit_oid: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event was triggered by the `sender` and this value will be empty. */ + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** commit_comment created event */ + "webhook-commit-comment-created": { + /** + * @description The action performed. Can be `created`. * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. + action: "created"; + /** @description The [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment) resource. */ + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + created_at: string; + /** Format: uri */ + html_url: string; + /** @description The ID of the commit comment. */ + id: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the commit comment. */ + node_id: string; + /** @description The relative path of the file to which the comment applies. */ + path: string | null; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** create event */ + "webhook-create": { + /** @description The repository's current description. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The name of the repository's default branch (usually `main`). */ + master_branch: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + ref: string; + /** + * @description The type of Git ref object created in the repository. * @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** delete event */ + "webhook-delete": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The pusher type for the event. Can be either `user` or a deploy key. */ + pusher_type: string; + /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */ + ref: string; + /** + * @description The type of Git ref object deleted in the repository. * @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + ref_type: "tag" | "branch"; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert auto-dismissed event */ + "webhook-dependabot-alert-auto-dismissed": { + /** @enum {string} */ + action: "auto_dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert auto-reopened event */ + "webhook-dependabot-alert-auto-reopened": { + /** @enum {string} */ + action: "auto_reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert created event */ + "webhook-dependabot-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert dismissed event */ + "webhook-dependabot-alert-dismissed": { + /** @enum {string} */ + action: "dismissed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert fixed event */ + "webhook-dependabot-alert-fixed": { + /** @enum {string} */ + action: "fixed"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert reintroduced event */ + "webhook-dependabot-alert-reintroduced": { + /** @enum {string} */ + action: "reintroduced"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Dependabot alert reopened event */ + "webhook-dependabot-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["dependabot-alert"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** deploy_key created event */ + "webhook-deploy-key-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + key: { + added_by?: string | null; + created_at: string; + id: number; + key: string; + last_used?: string | null; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** deploy_key deleted event */ + "webhook-deploy-key-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */ + key: { + added_by?: string | null; + created_at: string; + id: number; + key: string; + last_used?: string | null; + read_only: boolean; + title: string; + /** Format: uri */ + url: string; + verified: boolean; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** deployment created event */ + "webhook-deployment-created": { + /** @enum {string} */ + action: "created"; + /** + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: Record | string; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "workflow_job" | "pull_request_review_thread" | "merge_queue_entry" | "secret_scanning_alert_location" | "merge_group")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** Workflow */ + workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: unknown; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: unknown; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** deployment protection rule requested event */ + "webhook-deployment-protection-rule-requested": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - body: string | null; - changed_files?: number; - /** Format: date-time */ - closed_at: string | null; - comments?: number; - /** Format: uri */ - comments_url: string; - commits?: number; - /** Format: uri */ - commits_url: string; - /** Format: date-time */ - created_at: string; - deletions?: number; - /** Format: uri */ - diff_url: string; - /** @description Indicates whether or not the pull request is a draft. */ - draft: boolean; - head: { - label: string; - ref: string; - /** - * Repository - * @description A git repository - */ - repo: ({ - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; + action?: "requested"; + /** @description The name of the environment that has the deployment protection rule. */ + environment?: string; + /** @description The event that triggered the deployment protection rule. */ + event?: string; /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; + * Format: uri + * @description The URL to review the deployment protection rule. + */ + deployment_callback_url?: string; + deployment?: components["schemas"]["deployment"]; + pull_requests?: components["schemas"]["pull-request"][]; + repository?: components["schemas"]["repository-webhooks"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + "webhook-deployment-review-approved": { + /** @enum {string} */ + action: "approved"; + approver?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User"; + }[]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run?: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: unknown; + status: string; + updated_at: string; + }; + workflow_job_runs?: { + conclusion?: unknown; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: Record; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + "webhook-deployment-review-rejected": { + /** @enum {string} */ + action: "rejected"; + approver?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + comment?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + reviewers?: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User"; + }[]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run?: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: unknown; + status: string; + updated_at: string; + }; + workflow_job_runs?: { + conclusion?: string | null; + created_at?: string; + environment?: string; + html_url?: string; + id?: number; + name?: string | null; + status?: string; + updated_at?: string; + }[]; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + "webhook-deployment-review-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + environment: string; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requestor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + reviewers: { + /** User */ + reviewer?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @enum {string} */ + type?: "User" | "Team"; + }[]; + sender: components["schemas"]["simple-user-webhooks"]; + since: string; + workflow_job_run: { + conclusion: unknown; + created_at: string; + environment: string; + html_url: string; + id: number; + name: string | null; + status: string; + updated_at: string; + }; + /** Deployment Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string; + head_commit?: Record; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + display_title: string; + } | null; + }; + /** deployment_status created event */ + "webhook-deployment-status-created": { + /** @enum {string} */ + action: "created"; + check_run?: { + /** Format: date-time */ + completed_at: string | null; + /** + * @description The result of the completed check run. Can be one of `success`, `failure`, `neutral`, `cancelled`, `timed_out`, `action_required` or `stale`. This value will be `null` until the check run has completed. + * @enum {string|null} + */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | null; + /** Format: uri */ + details_url: string; + external_id: string; + /** @description The SHA of the commit that is being checked. */ + head_sha: string; + /** Format: uri */ + html_url: string; + /** @description The id of the check. */ + id: number; + /** @description The name of the check run. */ + name: string; + node_id: string; + /** Format: date-time */ + started_at: string; + /** + * @description The current status of the check run. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting" | "pending"; + /** Format: uri */ + url: string; + } | null; /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; + * Deployment + * @description The [deployment](https://docs.github.com/rest/deployments/deployments#list-deployments). + */ + deployment: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + environment: string; + id: number; + node_id: string; + original_environment: string; + payload: (string | Record) | null; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "merge_queue_entry" | "workflow_job" | "pull_request_review_thread" | "secret_scanning_alert_location" | "merge_group")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + production_environment?: boolean; + ref: string; + /** Format: uri */ + repository_url: string; + sha: string; + /** Format: uri */ + statuses_url: string; + task: string; + transient_environment?: boolean; + updated_at: string; + /** Format: uri */ + url: string; + }; + /** @description The [deployment status](https://docs.github.com/rest/deployments/statuses#list-deployment-statuses). */ + deployment_status: { + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + deployment_url: string; + /** @description The optional human-readable description added to the status. */ + description: string; + environment: string; + /** Format: uri */ + environment_url?: string; + id: number; + /** Format: uri */ + log_url?: string; + node_id: string; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "merge_queue_entry" | "workflow_job" | "merge_group" | "secret_scanning_alert_location")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + /** Format: uri */ + repository_url: string; + /** @description The new state. Can be `pending`, `success`, `failure`, or `error`. */ + state: string; + /** @description The optional link added to the status. */ + target_url: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** Workflow */ + workflow?: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + /** Deployment Workflow Run */ + workflow_run?: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + artifacts_url?: string; + cancel_url?: string; + check_suite_id: number; + check_suite_node_id: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "startup_failure"; + /** Format: date-time */ + created_at: string; + display_title: string; + event: string; + head_branch: string; + head_commit?: unknown; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + jobs_url?: string; + logs_url?: string; + name: string; + node_id: string; + path: string; + previous_attempt_url?: unknown; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: unknown; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "waiting" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + workflow_url?: string; + } | null; + }; + /** discussion answered event */ + "webhook-discussion-answered": { + /** @enum {string} */ + action: "answered"; + answer: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + /** Format: date-time */ + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: unknown; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion category changed event */ + "webhook-discussion-category-changed": { + /** @enum {string} */ + action: "category_changed"; + changes: { + category: { + from: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion closed event */ + "webhook-discussion-closed": { + /** @enum {string} */ + action: "closed"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion_comment created event */ + "webhook-discussion-comment-created": { + /** @enum {string} */ + action: "created"; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: number | null; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion_comment deleted event */ + "webhook-discussion-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: number | null; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion_comment edited event */ + "webhook-discussion-comment-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body: { + from: string; + }; + }; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: number | null; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion created event */ + "webhook-discussion-created": { + /** @enum {string} */ + action: "created"; + discussion: { + active_lock_reason: string | null; + answer_chosen_at: string | null; + /** User */ + answer_chosen_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + answer_html_url: string | null; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string | null; + category: { + /** Format: date-time */ + created_at: string; + description: string; + emoji: string; + id: number; + is_answerable: boolean; + name: string; + node_id?: string; + repository_id: number; + slug: string; + updated_at: string; + }; + comments: number; + /** Format: date-time */ + created_at: string; + html_url: string; + id: number; + locked: boolean; + node_id: string; + number: number; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** @enum {string} */ + state: "open" | "locked" | "converting" | "transferring"; + timeline_url?: string; + title: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: unknown; + answer_chosen_at: unknown; + answer_chosen_by: unknown; + answer_html_url: string | null; + author_association?: string; + body?: string | null; + category?: { + created_at?: string; + description?: string; + emoji?: string; + id?: number; + is_answerable?: boolean; + name?: string; + node_id?: string; + repository_id?: number; + slug?: string; + updated_at?: string; + }; + comments?: number; + created_at?: string; + html_url?: string; + id?: number; + /** @enum {boolean} */ + locked: false; + node_id?: string; + number?: number; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "open" | "converting" | "transferring"; + timeline_url?: string; + title?: string; + updated_at?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion deleted event */ + "webhook-discussion-deleted": { + /** @enum {string} */ + action: "deleted"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion edited event */ + "webhook-discussion-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + body?: { + from: string; + }; + title?: { + from: string; + }; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion labeled event */ + "webhook-discussion-labeled": { + /** @enum {string} */ + action: "labeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion locked event */ + "webhook-discussion-locked": { + /** @enum {string} */ + action: "locked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion pinned event */ + "webhook-discussion-pinned": { + /** @enum {string} */ + action: "pinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion reopened event */ + "webhook-discussion-reopened": { + /** @enum {string} */ + action: "reopened"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion transferred event */ + "webhook-discussion-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + new_discussion: components["schemas"]["discussion"]; + new_repository: components["schemas"]["repository-webhooks"]; + }; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion unanswered event */ + "webhook-discussion-unanswered": { + /** @enum {string} */ + action: "unanswered"; + discussion: components["schemas"]["discussion"]; + old_answer: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + body: string; + child_comment_count: number; + /** Format: date-time */ + created_at: string; + discussion_id: number; + html_url: string; + id: number; + node_id: string; + parent_id: unknown; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + repository_url: string; + /** Format: date-time */ + updated_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion unlabeled event */ + "webhook-discussion-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion unlocked event */ + "webhook-discussion-unlocked": { + /** @enum {string} */ + action: "unlocked"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** discussion unpinned event */ + "webhook-discussion-unpinned": { + /** @enum {string} */ + action: "unpinned"; + discussion: components["schemas"]["discussion"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** + * fork event + * @description A user forks a repository. + */ + "webhook-fork": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. */ + forkee: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } & { + allow_forking?: boolean; + archive_url?: string; + archived?: boolean; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + clone_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + created_at?: string; + default_branch?: string; + deployments_url?: string; + description?: string | null; + disabled?: boolean; + downloads_url?: string; + events_url?: string; + /** @enum {boolean} */ + fork?: true; + forks?: number; + forks_count?: number; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + git_url?: string; + has_downloads?: boolean; + has_issues?: boolean; + has_pages?: boolean; + has_projects?: boolean; + has_wiki?: boolean; + homepage?: string | null; + hooks_url?: string; + html_url?: string; + id?: number; + is_template?: boolean; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + language?: unknown; + languages_url?: string; + license?: Record; + merges_url?: string; + milestones_url?: string; + mirror_url?: unknown; + name?: string; + node_id?: string; + notifications_url?: string; + open_issues?: number; + open_issues_count?: number; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + public?: boolean; + pulls_url?: string; + pushed_at?: string; + releases_url?: string; + size?: number; + ssh_url?: string; + stargazers_count?: number; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + svn_url?: string; + tags_url?: string; + teams_url?: string; + topics?: unknown[]; + trees_url?: string; + updated_at?: string; + url?: string; + visibility?: string; + watchers?: number; + watchers_count?: number; + }; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** github_app_authorization revoked event */ + "webhook-github-app-authorization-revoked": { + /** @enum {string} */ + action: "revoked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** gollum event */ + "webhook-gollum": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description The pages that were updated. */ + pages: { + /** + * @description The action that was performed on the page. Can be `created` or `edited`. + * @enum {string} + */ + action: "created" | "edited"; + /** + * Format: uri + * @description Points to the HTML wiki page. + */ + html_url: string; + /** @description The name of the page. */ + page_name: string; + /** @description The latest commit SHA of the page. */ + sha: string; + summary: string | null; + /** @description The current page title. */ + title: string; + }[]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation created event */ + "webhook-installation-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + /** User */ + requester?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation deleted event */ + "webhook-installation-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation new_permissions_accepted event */ + "webhook-installation-new-permissions-accepted": { + /** @enum {string} */ + action: "new_permissions_accepted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation_repositories added event */ + "webhook-installation-repositories-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects, which were added to the installation. */ + repositories_added: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name?: string; + /** @description Unique identifier of the repository */ + id?: number; + /** @description The name of the repository. */ + name?: string; + node_id?: string; + /** @description Whether the repository is private or public. */ + private?: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. + * @description Describe whether all repositories have been selected or there's a selection involved * @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + repository_selection: "all" | "selected"; + /** User */ + requester: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation_repositories removed event */ + "webhook-installation-repositories-removed": { + /** @enum {string} */ + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects, which were added to the installation. */ + repositories_added: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + /** @description An array of repository objects, which were removed from the installation. */ + repositories_removed: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @description Describe whether all repositories have been selected or there's a selection involved * @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; + repository_selection: "all" | "selected"; /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; + requester: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** installation suspend event */ + "webhook-installation-suspend": { + /** @enum {string} */ + action: "suspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user-webhooks"]; + }; + "webhook-installation-target-renamed": { + account: { + archived_at?: string | null; + avatar_url: string; + created_at?: string; + description?: unknown; + events_url?: string; + followers?: number; + followers_url?: string; + following?: number; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + has_organization_projects?: boolean; + has_repository_projects?: boolean; + hooks_url?: string; + html_url: string; + id: number; + is_verified?: boolean; + issues_url?: string; + login?: string; + members_url?: string; + name?: string; + node_id: string; + organizations_url?: string; + public_gists?: number; + public_members_url?: string; + public_repos?: number; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + slug?: string; + starred_url?: string; + subscriptions_url?: string; + type?: string; + updated_at?: string; + url?: string; + website_url?: unknown; }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; + /** @enum {string} */ + action: "renamed"; + changes: { + login?: { + from: string; + }; + slug?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + target_type: string; + }; + /** installation unsuspend event */ + "webhook-installation-unsuspend": { + /** @enum {string} */ + action: "unsuspend"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description An array of repository objects that the installation can access. */ + repositories?: { + full_name: string; + /** @description Unique identifier of the repository */ + id: number; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** @description Whether the repository is private or public. */ + private: boolean; + }[]; + repository?: components["schemas"]["repository-webhooks"]; + requester?: unknown; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issue_comment created event */ + "webhook-issue-comment-created": { + /** @enum {string} */ + action: "created"; /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees?: Record[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record; + node_id?: string; + number?: number; + performed_via_github_app?: Record; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issue_comment deleted event */ + "webhook-issue-comment-deleted": { + /** @enum {string} */ + action: "deleted"; /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees?: Record[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record; + node_id?: string; + number?: number; + performed_via_github_app?: Record; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issue_comment edited event */ + "webhook-issue-comment-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the comment. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + }; /** - * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false + * issue comment + * @description The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. */ - use_squash_pr_title_as_default?: boolean; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }) | null; - sha: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - issue_url: string; - labels: ({ - /** @description 6-character hex code, without the leading #, identifying the color */ - color: string; - default: boolean; - description: string | null; - id: number; - /** @description The name of the label. */ - name: string; - node_id: string; + comment: { + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue comment */ + body: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + /** + * Format: int64 + * @description Unique identifier of the issue comment + */ + id: number; + /** Format: uri */ + issue_url: string; + node_id: string; + performed_via_github_app: components["schemas"]["nullable-integration"]; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees?: Record[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + labels_url?: string; + locked: boolean; + milestone?: Record; + node_id?: string; + number?: number; + performed_via_github_app?: Record; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues assigned event */ + "webhook-issues-assigned": { /** - * Format: uri - * @description URL for the label + * @description The action that was performed. + * @enum {string} */ - url: string; - })[]; - locked: boolean; - /** @description Indicates whether maintainers can modify the pull request. */ - maintainer_can_modify?: boolean; - merge_commit_sha: string | null; - mergeable?: boolean | null; - mergeable_state?: string; - merged?: boolean | null; - /** Format: date-time */ - merged_at: string | null; - /** User */ - merged_by?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Milestone - * @description A collection of related issues and pull requests. - */ - milestone: ({ - /** Format: date-time */ - closed_at: string | null; - closed_issues: number; - /** Format: date-time */ - created_at: string; - /** User */ - creator: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - description: string | null; - /** Format: date-time */ - due_on: string | null; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - labels_url: string; - node_id: string; - /** @description The number of the milestone. */ - number: number; - open_issues: number; - /** - * @description The state of the milestone. - * @enum {string} - */ - state: "open" | "closed"; - /** @description The title of the milestone. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - }) | null; - node_id: string; - /** @description Number uniquely identifying the pull request within its repository. */ - number: number; - /** Format: uri */ - patch_url: string; - rebaseable?: boolean | null; - requested_reviewers: (OneOf<[({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null, { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + action: "assigned"; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues closed event */ + "webhook-issues-closed": { /** - * Format: uri - * @description URL for the team + * @description The action that was performed. + * @enum {string} */ - url?: string; - }]>)[]; - requested_teams: ({ - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** Format: uri */ - repositories_url?: string; - slug?: string; + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record; + assignees?: Record[]; + author_association?: string; + body?: string | null; + closed_at: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: Record[]; + labels_url?: string; + locked?: boolean; + milestone?: Record; + node_id?: string; + number?: number; + performed_via_github_app?: Record; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "closed" | "open"; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues deleted event */ + "webhook-issues-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues demilestoned event */ + "webhook-issues-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record; + assignees?: Record[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: Record[]; + labels_url?: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id?: string; + number?: number; + performed_via_github_app?: Record; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone?: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues edited event */ + "webhook-issues-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the issue. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + title?: { + /** @description The previous version of the title. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues labeled event */ + "webhook-issues-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues locked event */ + "webhook-issues-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "security_and_analysis")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + } & { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + assignee?: Record; + assignees?: Record[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: Record[]; + labels_url?: string; + /** @enum {boolean} */ + locked: true; + milestone?: Record; + node_id?: string; + number?: number; + performed_via_github_app?: Record; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues milestoned event */ + "webhook-issues-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record; + assignees?: Record[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: Record[]; + labels_url?: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + node_id?: string; + number?: number; + performed_via_github_app?: Record; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; /** - * Format: uri - * @description URL for the team - */ - url?: string; - })[]; - /** Format: uri-template */ - review_comment_url: string; - review_comments?: number; - /** Format: uri */ - review_comments_url: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state: "open" | "closed"; - /** Format: uri */ - statuses_url: string; - /** @description The title of the pull request. */ - title: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** User */ - user: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** push event */ - "webhook-push": { - /** @description The SHA of the most recent commit on `ref` after the push. */ - after: string; - base_ref: string | null; - /** @description The SHA of the most recent commit on `ref` before the push. */ - before: string; - /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 20 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. This limit is applied to timeline events only and isn't applied to webhook deliveries. */ - commits: ({ - /** @description An array of files added in the commit. */ - added?: string[]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description Whether this commit is distinct from any that have been pushed before. */ - distinct: boolean; - id: string; - /** @description The commit message. */ - message: string; - /** @description An array of files modified by the commit. */ - modified?: string[]; - /** @description An array of files removed in the commit. */ - removed?: string[]; - /** - * Format: date-time - * @description The ISO 8601 timestamp of the commit. - */ - timestamp: string; - tree_id: string; - /** - * Format: uri - * @description URL that points to the commit API resource. - */ - url: string; - })[]; - /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ - compare: string; - /** @description Whether this push created the `ref`. */ - created: boolean; - /** @description Whether this push deleted the `ref`. */ - deleted: boolean; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description Whether this push was a force push of the `ref`. */ - forced: boolean; - /** Commit */ - head_commit: ({ - /** @description An array of files added in the commit. */ - added?: string[]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description Whether this commit is distinct from any that have been pushed before. */ - distinct: boolean; - id: string; - /** @description The commit message. */ - message: string; - /** @description An array of files modified by the commit. */ - modified?: string[]; - /** @description An array of files removed in the commit. */ - removed?: string[]; - /** - * Format: date-time - * @description The ISO 8601 timestamp of the commit. - */ - timestamp: string; - tree_id: string; - /** - * Format: uri - * @description URL that points to the commit API resource. - */ - url: string; - }) | null; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - pusher: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email?: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ - ref: string; - /** - * Repository - * @description A git repository - */ - repository: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - /** - * @description Whether discussions are enabled. - * @default false - */ - has_discussions: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - /** @description Whether to require contributors to sign off on web-based commits */ - web_commit_signoff_required?: boolean; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-registry-package-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - registry_package: { - created_at: string | null; - description: string | null; - ecosystem: string; - html_url: string; - id: number; - name: string; - namespace: string; - owner: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - package_type: string; - package_version: ({ - author?: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - body?: string | Record; - body_html?: string; - container_metadata?: { - labels?: Record | null; - manifest?: Record | null; - tag?: { - digest?: string; - name?: string; - }; - }; - created_at?: string; - description: string; - docker_metadata?: { - tags?: string[]; - }[]; - draft?: boolean; - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - npm_metadata?: ({ - name?: string; - version?: string; - npm_user?: string; - author?: string | Record | null; - bugs?: string | Record | null; - dependencies?: Record; - dev_dependencies?: Record; - peer_dependencies?: Record; - optional_dependencies?: Record; - description?: string; - dist?: string | Record | null; - git_head?: string; - homepage?: string; - license?: string; - main?: string; - repository?: string | Record | null; - scripts?: Record; - id?: string; - node_version?: string; - npm_version?: string; - has_shrinkwrap?: boolean; - maintainers?: string[]; - contributors?: string[]; - engines?: Record; - keywords?: string[]; - files?: string[]; - bin?: Record; - man?: Record; - directories?: string | Record | null; - os?: string[]; - cpu?: string[]; - readme?: string; - installation_command?: string; - release_id?: number; - commit_oid?: string; - published_via_actions?: boolean; - deleted_by_id?: number; - }) | null; - nuget_metadata?: (({ - id?: string | Record | number | null; - name?: string; - value?: OneOf<[boolean, string, number, { + /** issues opened event */ + "webhook-issues-opened": { + /** @enum {string} */ + action: "opened"; + changes?: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + old_issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + } | null; + /** + * Repository + * @description A git repository + */ + old_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** @description Whether the repository has discussions enabled. */ + has_discussions?: boolean; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require commit signoff. */ + web_commit_signoff_required?: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "security_and_analysis" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues pinned event */ + "webhook-issues-pinned": { + /** @enum {string} */ + action: "pinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues reopened event */ + "webhook-issues-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "pull_request_review_thread" | "reminder")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason?: string | null; + assignee?: Record; + assignees?: Record[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: Record[]; + labels_url?: string; + locked?: boolean; + milestone?: Record; + node_id?: string; + number?: number; + performed_via_github_app?: Record; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + /** @enum {string} */ + state: "open" | "closed"; + timeline_url?: string; + title?: string; + updated_at?: string; url?: string; - branch?: string; - commit?: string; - type?: string; - }]>; - })[]) | null; - package_files: ({ - content_type: string; - created_at: string; - download_url: string; - id: number; - md5: string | null; - name: string; - sha1: string | null; - sha256: string | null; - size: number; - state: string | null; - updated_at: string; - })[]; - package_url: string; - prerelease?: boolean; - release?: { - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues transferred event */ + "webhook-issues-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + new_issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** + * Repository + * @description A git repository + */ + new_repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; }; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - prerelease?: boolean; - published_at?: string; - tag_name?: string; - target_commitish?: string; - url?: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - summary: string; - tag_name?: string; - target_commitish?: string; - target_oid?: string; - updated_at?: string; - version: string; - }) | null; - registry: { - about_url?: string; - name?: string; - type?: string; - url?: string; - vendor?: string; - } | null; - updated_at: string | null; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - "webhook-registry-package-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - registry_package: { - created_at: string; - description: Record | null; - ecosystem: string; - html_url: string; - id: number; - name: string; - namespace: string; - owner: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - package_type: string; - package_version: { - author: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; - }; - body: string; - body_html: string; - created_at: string; - description: string; - docker_metadata?: ({ - tags?: string[]; - } | null)[]; - draft?: boolean; - html_url: string; - id: number; - installation_command: string; - manifest?: string; - metadata: { - [key: string]: unknown; - }[]; - name: string; - package_files: ({ - content_type?: string; - created_at?: string; - download_url?: string; - id?: number; - md5?: string | null; - name?: string; - sha1?: string | null; - sha256?: string; - size?: number; - state?: string; - updated_at?: string; - })[]; - package_url: string; - prerelease?: boolean; - release?: { - author: { - avatar_url: string; - events_url: string; - followers_url: string; - following_url: string; - gists_url: string; - gravatar_id: string; - html_url: string; - id: number; - login: string; - node_id: string; - organizations_url: string; - received_events_url: string; - repos_url: string; - site_admin: boolean; - starred_url: string; - subscriptions_url: string; - type: string; - url: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; }; - created_at: string; - draft: boolean; - html_url: string; - id: number; - name: string; - prerelease: boolean; - published_at: string; - tag_name: string; - target_commitish: string; - url: string; - }; - rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; - summary: string; - tag_name?: string; - target_commitish: string; - target_oid: string; - updated_at: string; - version: string; - }; - registry: Record | null; - updated_at: string; - }; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** release created event */ - "webhook-release-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** release deleted event */ - "webhook-release-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** release edited event */ - "webhook-release-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - body?: { - /** @description The previous version of the body if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - make_latest?: { - /** @description Whether this release was explicitly `edited` to be the latest. */ - to: boolean; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release prereleased event */ - "webhook-release-prereleased": { - /** @enum {string} */ - action: "prereleased"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: ({ - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }) & ({ - assets?: (Record | null)[]; - assets_url?: string; - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - body?: string | null; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - node_id?: string; - /** - * @description Whether the release is identified as a prerelease or a full release. - * @enum {boolean} - */ - prerelease: true; - published_at?: string | null; - tag_name?: string; - tarball_url?: string | null; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: string | null; - }); - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release published event */ - "webhook-release-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: ({ - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }) & ({ - assets?: (Record | null)[]; - assets_url?: string; - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - body?: string | null; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - node_id?: string; - prerelease?: boolean; - /** Format: date-time */ - published_at: string | null; - tag_name?: string; - tarball_url?: string | null; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: string | null; - }); - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release released event */ - "webhook-release-released": { - /** @enum {string} */ - action: "released"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - /** - * Release - * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. - */ - release: { - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; - /** - * @description State of the release asset. - * @enum {string} - */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; - /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** release unpublished event */ - "webhook-release-unpublished": { - /** @enum {string} */ - action: "unpublished"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - release: ({ - assets: ({ - /** Format: uri */ - browser_download_url: string; - content_type: string; - /** Format: date-time */ - created_at: string; - download_count: number; - id: number; - label: string | null; - /** @description The file name of the asset. */ - name: string; - node_id: string; - size: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues unassigned event */ + "webhook-issues-unassigned": { /** - * @description State of the release asset. + * @description The action that was performed. * @enum {string} */ - state: "uploaded"; - /** Format: date-time */ - updated_at: string; + action: "unassigned"; /** User */ - uploader?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - url: string; - })[]; - /** Format: uri */ - assets_url: string; - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - body: string | null; - /** Format: date-time */ - created_at: string | null; - /** Format: uri */ - discussion_url?: string; - /** @description Whether the release is a draft or published */ - draft: boolean; - /** Format: uri */ - html_url: string; - id: number; - name: string | null; - node_id: string; - /** @description Whether the release is identified as a prerelease or a full release. */ - prerelease: boolean; - /** Format: date-time */ - published_at: string | null; - /** Reactions */ - reactions?: { - "+1": number; - "-1": number; - confused: number; - eyes: number; - heart: number; - hooray: number; - laugh: number; - rocket: number; - total_count: number; - /** Format: uri */ - url: string; - }; - /** @description The name of the tag. */ - tag_name: string; - /** Format: uri */ - tarball_url: string | null; - /** @description Specifies the commitish value that determines where the Git tag is created from. */ - target_commitish: string; - /** Format: uri-template */ - upload_url: string; - /** Format: uri */ - url: string; - /** Format: uri */ - zipball_url: string | null; - }) & ({ - assets?: (Record | null)[]; - assets_url?: string; - author?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - body?: string | null; - created_at?: string; - draft?: boolean; - html_url?: string; - id?: number; - name?: string | null; - node_id?: string; - prerelease?: boolean; - published_at: string | null; - tag_name?: string; - tarball_url?: string | null; - target_commitish?: string; - upload_url?: string; - url?: string; - zipball_url?: string | null; - }); - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** Repository advisory published event */ - "webhook-repository-advisory-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - repository_advisory: components["schemas"]["repository-advisory"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** Repository advisory reported event */ - "webhook-repository-advisory-reported": { - /** @enum {string} */ - action: "reported"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - repository_advisory: components["schemas"]["repository-advisory"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** repository archived event */ - "webhook-repository-archived": { - /** @enum {string} */ - action: "archived"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository created event */ - "webhook-repository-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository deleted event */ - "webhook-repository-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_dispatch event */ - "webhook-repository-dispatch-sample": { - /** @enum {string} */ - action: "sample.collected"; - branch: string; - client_payload: { - [key: string]: unknown; - } | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository edited event */ - "webhook-repository-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - default_branch?: { - from: string; - }; - description?: { - from: string | null; - }; - homepage?: { - from: string | null; - }; - topics?: { - from?: string[] | null; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_import event */ - "webhook-repository-import": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @enum {string} */ - status: "success" | "cancelled" | "failure"; - }; - /** repository privatized event */ - "webhook-repository-privatized": { - /** @enum {string} */ - action: "privatized"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository publicized event */ - "webhook-repository-publicized": { - /** @enum {string} */ - action: "publicized"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository renamed event */ - "webhook-repository-renamed": { - /** @enum {string} */ - action: "renamed"; - changes: { - repository: { - name: { - from: string; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository ruleset created event */ - "webhook-repository-ruleset-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository ruleset deleted event */ - "webhook-repository-ruleset-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository ruleset edited event */ - "webhook-repository-ruleset-edited": { - /** @enum {string} */ - action: "edited"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - repository_ruleset: components["schemas"]["repository-ruleset"]; - changes?: { - name?: { - from?: string; - }; - enforcement?: { - from?: string; - }; - conditions?: { - added?: components["schemas"]["repository-ruleset-conditions"][]; - deleted?: components["schemas"]["repository-ruleset-conditions"][]; - updated?: { - condition?: components["schemas"]["repository-ruleset-conditions"]; - changes?: { - condition_type?: { - from?: string; - }; - target?: { - from?: string; - }; - include?: { - from?: string[]; - }; - exclude?: { - from?: string[]; - }; - }; - }[]; - }; - rules?: { - added?: components["schemas"]["repository-rule"][]; - deleted?: components["schemas"]["repository-rule"][]; - updated?: { - rule?: components["schemas"]["repository-rule"]; - changes?: { - configuration?: { - from?: string; + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues unlabeled event */ + "webhook-issues-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run" | "reminder" | "pull_request_review_thread")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write" | "admin"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; }; - rule_type?: { - from?: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues unlocked event */ + "webhook-issues-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; }; - pattern?: { - from?: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + } & { + active_lock_reason: unknown; + assignee?: Record; + assignees?: Record[]; + author_association?: string; + body?: string | null; + closed_at?: string | null; + comments?: number; + comments_url?: string; + created_at?: string; + events_url?: string; + html_url?: string; + id?: number; + labels?: Record[]; + labels_url?: string; + /** @enum {boolean} */ + locked: false; + milestone?: Record; + node_id?: string; + number?: number; + performed_via_github_app?: unknown; + reactions?: { + "+1"?: number; + "-1"?: number; + confused?: number; + eyes?: number; + heart?: number; + hooray?: number; + laugh?: number; + rocket?: number; + total_count?: number; + url?: string; + }; + repository_url?: string; + state?: string; + timeline_url?: string; + title?: string; + updated_at?: string; + url?: string; + user?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; }; - }; - }[]; - }; - }; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository transferred event */ - "webhook-repository-transferred": { - /** @enum {string} */ - action: "transferred"; - changes: { - owner: { - from: { - /** Organization */ - organization?: { - /** Format: uri */ - avatar_url: string; - description: string | null; - /** Format: uri */ - events_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url?: string; - id: number; - /** Format: uri */ - issues_url: string; - login: string; - /** Format: uri-template */ - members_url: string; - node_id: string; - /** Format: uri-template */ - public_members_url: string; - /** Format: uri */ - repos_url: string; - /** Format: uri */ - url: string; }; - /** User */ - user?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository unarchived event */ - "webhook-repository-unarchived": { - /** @enum {string} */ - action: "unarchived"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert create event */ - "webhook-repository-vulnerability-alert-create": { - /** @enum {string} */ - action: "create"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & ({ - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: string | null; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "open"; - }); - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert dismiss event */ - "webhook-repository-vulnerability-alert-dismiss": { - /** @enum {string} */ - action: "dismiss"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_comment?: string | null; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & ({ - affected_package_name?: string; - affected_range?: string; - created_at?: string; - dismiss_comment?: string | null; - dismiss_reason: string; - dismissed_at: string; - /** User */ - dismisser: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - external_identifier?: string; - external_reference?: string | null; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "dismissed"; - }); - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert reopen event */ - "webhook-repository-vulnerability-alert-reopen": { - /** @enum {string} */ - action: "reopen"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & ({ - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: string | null; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "open"; - }); - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** repository_vulnerability_alert resolve event */ - "webhook-repository-vulnerability-alert-resolve": { - /** @enum {string} */ - action: "resolve"; - alert: ({ - affected_package_name: string; - affected_range: string; - created_at: string; - dismiss_reason?: string; - dismissed_at?: string; - /** User */ - dismisser?: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - external_identifier: string; - /** Format: uri */ - external_reference: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id: string; - id: number; - node_id: string; - number: number; - severity: string; - /** @enum {string} */ - state: "open" | "dismissed" | "fixed"; - }) & ({ - affected_package_name?: string; - affected_range?: string; - created_at?: string; - external_identifier?: string; - external_reference?: string | null; - fix_reason?: string; - /** Format: date-time */ - fixed_at?: string; - fixed_in?: string; - ghsa_id?: string; - id?: number; - node_id?: string; - number?: number; - severity?: string; - /** @enum {string} */ - state: "fixed" | "open"; - }); - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** secret_scanning_alert created event */ - "webhook-secret-scanning-alert-created": { - /** @enum {string} */ - action: "created"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** Secret Scanning Alert Location Created Event */ - "webhook-secret-scanning-alert-location-created": { - /** @enum {string} */ - action?: "created"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - installation?: components["schemas"]["simple-installation"]; - location: components["schemas"]["secret-scanning-location"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** Secret Scanning Alert Location Created Event */ - "webhook-secret-scanning-alert-location-created-form-encoded": { - /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ - payload: string; - }; - /** secret_scanning_alert reopened event */ - "webhook-secret-scanning-alert-reopened": { - /** @enum {string} */ - action: "reopened"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** secret_scanning_alert resolved event */ - "webhook-secret-scanning-alert-resolved": { - /** @enum {string} */ - action: "resolved"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** secret_scanning_alert revoked event */ - "webhook-secret-scanning-alert-revoked": { - /** @enum {string} */ - action: "revoked"; - alert: components["schemas"]["secret-scanning-alert-webhook"]; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_advisory published event */ - "webhook-security-advisory-published": { - /** @enum {string} */ - action: "published"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: string | null; - }; - cwes: { - cwe_id: string; - name: string; - }[]; - description: string; - ghsa_id: string; - identifiers: { - type: string; - value: string; - }[]; - published_at: string; - references: { - /** Format: uri */ - url: string; - }[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: ({ - first_patched_version: { - identifier: string; - } | null; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - })[]; - withdrawn_at: string | null; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_advisory updated event */ - "webhook-security-advisory-updated": { - /** @enum {string} */ - action: "updated"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: string | null; - }; - cwes: { - cwe_id: string; - name: string; - }[]; - description: string; - ghsa_id: string; - identifiers: { - type: string; - value: string; - }[]; - published_at: string; - references: { - /** Format: uri */ - url: string; - }[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: ({ - first_patched_version: { - identifier: string; - } | null; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - })[]; - withdrawn_at: string | null; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_advisory withdrawn event */ - "webhook-security-advisory-withdrawn": { - /** @enum {string} */ - action: "withdrawn"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - /** @description The details of the security advisory, including summary, description, and severity. */ - security_advisory: { - cvss: { - score: number; - vector_string: string | null; - }; - cwes: { - cwe_id: string; - name: string; - }[]; - description: string; - ghsa_id: string; - identifiers: { - type: string; - value: string; - }[]; - published_at: string; - references: { - /** Format: uri */ - url: string; - }[]; - severity: string; - summary: string; - updated_at: string; - vulnerabilities: ({ - first_patched_version: { - identifier: string; - } | null; - package: { - ecosystem: string; - name: string; - }; - severity: string; - vulnerable_version_range: string; - })[]; - withdrawn_at: string; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** security_and_analysis event */ - "webhook-security-and-analysis": { - changes: { - from?: { - security_and_analysis?: components["schemas"]["security-and-analysis"]; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["full-repository"]; - sender?: components["schemas"]["simple-user-webhooks"]; - }; - /** sponsorship cancelled event */ - "webhook-sponsorship-cancelled": { - /** @enum {string} */ - action: "cancelled"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship created event */ - "webhook-sponsorship-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship edited event */ - "webhook-sponsorship-edited": { - /** @enum {string} */ - action: "edited"; - changes: { - privacy_level?: { - /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ - from: string; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship pending_cancellation event */ - "webhook-sponsorship-pending-cancellation": { - /** @enum {string} */ - action: "pending_cancellation"; - /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ - effective_date?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship pending_tier_change event */ - "webhook-sponsorship-pending-tier-change": { - /** @enum {string} */ - action: "pending_tier_change"; - changes: { - tier: { - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - from: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ - effective_date?: string; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** sponsorship tier_changed event */ - "webhook-sponsorship-tier-changed": { - /** @enum {string} */ - action: "tier_changed"; - changes: { - tier: { - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - from: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository?: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - sponsorship: { - created_at: string; - maintainer?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - node_id: string; - privacy_level: string; - /** User */ - sponsor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** User */ - sponsorable: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** - * Sponsorship Tier - * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. - */ - tier: { - created_at: string; - description: string; - is_custom_ammount?: boolean; - is_custom_amount?: boolean; - is_one_time: boolean; - monthly_price_in_cents: number; - monthly_price_in_dollars: number; - name: string; - node_id: string; - }; - }; - }; - /** star created event */ - "webhook-star-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ - starred_at: string | null; - }; - /** star deleted event */ - "webhook-star-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ - starred_at: Record | null; - }; - /** status event */ - "webhook-status": { - /** Format: uri */ - avatar_url?: string | null; - /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ - branches: ({ - commit: { - sha: string | null; - /** Format: uri */ - url: string | null; - }; - name: string; - protected: boolean; - })[]; - commit: { - /** User */ - author: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id?: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - comments_url: string; - commit: { - author: ({ - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }) & { - date: string; - email?: string; - name?: string; - }; - comment_count: number; - committer: ({ - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }) & { - date: string; - email?: string; - name?: string; - }; - message: string; - tree: { - sha: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - url: string; - verification: { - payload: string | null; - /** @enum {string} */ - reason: "expired_key" | "not_signing_key" | "gpgverify_error" | "gpgverify_unavailable" | "unsigned" | "unknown_signature_type" | "no_user" | "unverified_email" | "bad_email" | "unknown_key" | "malformed_signature" | "invalid" | "valid" | "bad_cert" | "ocsp_pending"; - signature: string | null; - verified: boolean; - }; - }; - /** User */ - committer: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id?: number; - login?: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - html_url: string; - node_id: string; - parents: { - /** Format: uri */ - html_url: string; - sha: string; - /** Format: uri */ - url: string; - }[]; - sha: string; - /** Format: uri */ - url: string; - }; - context: string; - created_at: string; - /** @description The optional human-readable description added to the status. */ - description: string | null; - enterprise?: components["schemas"]["enterprise-webhooks"]; - /** @description The unique identifier of the status. */ - id: number; - installation?: components["schemas"]["simple-installation"]; - name: string; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** @description The Commit SHA. */ - sha: string; - /** - * @description The new state. Can be `pending`, `success`, `failure`, or `error`. - * @enum {string} - */ - state: "pending" | "success" | "failure" | "error"; - /** @description The optional link added to the status. */ - target_url: string | null; - updated_at: string; - }; - /** team_add event */ - "webhook-team-add": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team added_to_repository event */ - "webhook-team-added-to-repository": { - /** @enum {string} */ - action: "added_to_repository"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team created event */ - "webhook-team-created": { - /** @enum {string} */ - action: "created"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team deleted event */ - "webhook-team-deleted": { - /** @enum {string} */ - action: "deleted"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender?: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team edited event */ - "webhook-team-edited": { - /** @enum {string} */ - action: "edited"; - /** @description The changes to the team if the action was `edited`. */ - changes: { - description?: { - /** @description The previous version of the description if the action was `edited`. */ - from: string; - }; - name?: { - /** @description The previous version of the name if the action was `edited`. */ - from: string; - }; - privacy?: { - /** @description The previous version of the team's privacy if the action was `edited`. */ - from: string; - }; - notification_setting?: { - /** @description The previous version of the team's notification setting if the action was `edited`. */ - from: string; - }; - repository?: { - permissions: { - from: { - /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ - admin?: boolean; - /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ - pull?: boolean; - /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ - push?: boolean; - }; - }; - }; - }; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** team removed_from_repository event */ - "webhook-team-removed-from-repository": { - /** @enum {string} */ - action: "removed_from_repository"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization: components["schemas"]["organization-simple-webhooks"]; - /** - * Repository - * @description A git repository - */ - repository?: { - /** - * @description Whether to allow auto-merge for pull requests. - * @default false - */ - allow_auto_merge?: boolean; - /** @description Whether to allow private forks */ - allow_forking?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - */ - allow_squash_merge?: boolean; - allow_update_branch?: boolean; - /** Format: uri-template */ - archive_url: string; - /** - * @description Whether the repository is archived. - * @default false - */ - archived: boolean; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri */ - clone_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - created_at: number | string; - /** @description The default branch of the repository. */ - default_branch: string; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - */ - delete_branch_on_merge?: boolean; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** @description Returns whether or not this repository is disabled. */ - disabled?: boolean; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - forks: number; - forks_count: number; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - git_url: string; - /** - * @description Whether downloads are enabled. - * @default true - */ - has_downloads: boolean; - /** - * @description Whether issues are enabled. - * @default true - */ - has_issues: boolean; - has_pages: boolean; - /** - * @description Whether projects are enabled. - * @default true - */ - has_projects: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - */ - has_wiki: boolean; - homepage: string | null; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - is_template?: boolean; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - language: string | null; - /** Format: uri */ - languages_url: string; - /** License */ - license: ({ - key: string; - name: string; - node_id: string; - spdx_id: string; - /** Format: uri */ - url: string | null; - }) | null; - master_branch?: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** Format: uri */ - mirror_url: string | null; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - open_issues: number; - open_issues_count: number; - organization?: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - permissions?: { - admin: boolean; - maintain?: boolean; - pull: boolean; - push: boolean; - triage?: boolean; - }; - /** @description Whether the repository is private or public. */ - private: boolean; - public?: boolean; - /** Format: uri-template */ - pulls_url: string; - pushed_at: number | string | null; - /** Format: uri-template */ - releases_url: string; - role_name?: string | null; - size: number; - ssh_url: string; - stargazers?: number; - stargazers_count: number; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - svn_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - topics: string[]; - /** Format: uri-template */ - trees_url: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - /** @enum {string} */ - visibility: "public" | "private" | "internal"; - watchers: number; - watchers_count: number; - }; - sender: components["schemas"]["simple-user-webhooks"]; - /** - * Team - * @description Groups of organization members that gives permissions on specified repositories. - */ - team: { - deleted?: boolean; - /** @description Description of the team */ - description?: string | null; - /** Format: uri */ - html_url?: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url?: string; - /** @description Name of the team */ - name: string; - node_id?: string; - parent?: ({ - /** @description Description of the team */ - description: string | null; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the team */ - id: number; - /** Format: uri-template */ - members_url: string; - /** @description Name of the team */ - name: string; - node_id: string; - /** @description Permission that the team will have for its repositories */ - permission: string; - /** @enum {string} */ - privacy: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url: string; - slug: string; - /** - * Format: uri - * @description URL for the team - */ - url: string; - }) | null; - /** @description Permission that the team will have for its repositories */ - permission?: string; - /** @enum {string} */ - privacy?: "open" | "closed" | "secret"; - /** - * @description Whether team members will receive notifications when their team is @mentioned - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** Format: uri */ - repositories_url?: string; - slug?: string; - /** - * Format: uri - * @description URL for the team - */ - url?: string; - }; - }; - /** watch started event */ - "webhook-watch-started": { - /** @enum {string} */ - action: "started"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - }; - /** workflow_dispatch event */ - "webhook-workflow-dispatch": { - enterprise?: components["schemas"]["enterprise-webhooks"]; - inputs: { - [key: string]: unknown; - } | null; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - ref: string; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow: string; - }; - /** workflow_job completed event */ - "webhook-workflow-job-completed": { - /** @enum {string} */ - action: "completed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: ({ - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "success" | "failure" | null | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_id: number | null; - /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_name: string | null; - /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_id: number | null; - /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_name: string | null; - started_at: string; - /** - * @description The current status of the job. Can be `queued`, `in_progress`, `waiting`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed" | "waiting"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: ({ - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued"; - })[]; - /** Format: uri */ - url: string; - }) & ({ - check_run_url?: string; - completed_at?: string; - /** @enum {string} */ - conclusion: "success" | "failure" | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; - /** @description The time that the job created. */ - created_at?: string; - head_sha?: string; - html_url?: string; - id?: number; - labels?: (string | null)[]; - name?: string; - node_id?: string; - run_attempt?: number; - run_id?: number; - run_url?: string; - runner_group_id?: number | null; - runner_group_name?: string | null; - runner_id?: number | null; - runner_name?: string | null; - started_at?: string; - status?: string; - /** @description The name of the current branch. */ - head_branch?: string | null; - /** @description The name of the workflow. */ - workflow_name?: string | null; - steps?: (Record | null)[]; - url?: string; - }); - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job in_progress event */ - "webhook-workflow-job-in-progress": { - /** @enum {string} */ - action: "in_progress"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: ({ - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "success" | "failure" | null | "cancelled" | "neutral"; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_id: number | null; - /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_group_name: string | null; - /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_id: number | null; - /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ - runner_name: string | null; - started_at: string; - /** - * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. - * @enum {string} - */ - status: "queued" | "in_progress" | "completed"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: ({ - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | null | "cancelled"; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued" | "pending"; - })[]; - /** Format: uri */ - url: string; - }) & ({ - check_run_url?: string; - completed_at?: string | null; - conclusion?: string | null; - /** @description The time that the job created. */ - created_at?: string; - head_sha?: string; - html_url?: string; - id?: number; - labels?: string[]; - name?: string; - node_id?: string; - run_attempt?: number; - run_id?: number; - run_url?: string; - runner_group_id?: number | null; - runner_group_name?: string | null; - runner_id?: number | null; - runner_name?: string | null; - started_at?: string; - /** @enum {string} */ - status: "in_progress" | "completed" | "queued"; - /** @description The name of the current branch. */ - head_branch?: string | null; - /** @description The name of the workflow. */ - workflow_name?: string | null; - steps: ({ - completed_at: string | null; - conclusion: string | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "in_progress" | "completed" | "pending" | "queued"; - })[]; - url?: string; - }); - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job queued event */ - "webhook-workflow-job-queued": { - /** @enum {string} */ - action: "queued"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - conclusion: string | null; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - runner_group_id: number | null; - runner_group_name: string | null; - runner_id: number | null; - runner_name: string | null; - /** Format: date-time */ - started_at: string; - /** @enum {string} */ - status: "queued" | "in_progress" | "completed" | "waiting"; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - steps: ({ - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "completed" | "in_progress" | "queued" | "pending"; - })[]; - /** Format: uri */ - url: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_job waiting event */ - "webhook-workflow-job-waiting": { - /** @enum {string} */ - action: "waiting"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - workflow_job: { - /** Format: uri */ - check_run_url: string; - completed_at: string | null; - conclusion: string | null; - /** @description The time that the job created. */ - created_at: string; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - labels: string[]; - name: string; - node_id: string; - run_attempt: number; - run_id: number; - /** Format: uri */ - run_url: string; - runner_group_id: number | null; - runner_group_name: string | null; - runner_id: number | null; - runner_name: string | null; - /** Format: date-time */ - started_at: string; - /** @description The name of the current branch. */ - head_branch: string | null; - /** @description The name of the workflow. */ - workflow_name: string | null; - /** @enum {string} */ - status: "queued" | "in_progress" | "completed" | "waiting"; - steps: ({ - completed_at: string | null; - /** @enum {string|null} */ - conclusion: "failure" | "skipped" | "success" | "cancelled" | null; - name: string; - number: number; - started_at: string | null; - /** @enum {string} */ - status: "completed" | "in_progress" | "queued" | "pending" | "waiting"; - })[]; - /** Format: uri */ - url: string; - }; - deployment?: components["schemas"]["deployment"]; - }; - /** workflow_run completed event */ - "webhook-workflow-run-completed": { - /** @enum {string} */ - action: "completed"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped"; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** issues unpinned event */ + "webhook-issues-unpinned": { + /** @enum {string} */ + action: "unpinned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Issue + * @description The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. + */ + issue: { + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description Contents of the issue */ + body: string | null; + /** Format: date-time */ + closed_at: string | null; + comments: number; + /** Format: uri */ + comments_url: string; + /** Format: date-time */ + created_at: string; + draft?: boolean; + /** Format: uri */ + events_url: string; + /** Format: uri */ + html_url: string; + /** Format: int64 */ + id: number; + labels?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + /** Format: uri-template */ + labels_url: string; + locked?: boolean; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** + * App + * @description GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub. + */ + performed_via_github_app?: { + /** Format: date-time */ + created_at: string | null; + description: string | null; + /** @description The list of events for the GitHub app */ + events?: ("branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "content_reference" | "create" | "delete" | "deployment" | "deployment_review" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "milestone" | "organization" | "org_block" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "push" | "registry_package" | "release" | "repository" | "repository_dispatch" | "secret_scanning_alert" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_dispatch" | "workflow_run")[]; + /** Format: uri */ + external_url: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the GitHub app */ + id: number | null; + /** @description The name of the GitHub app */ + name: string; + node_id: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The set of permissions for the GitHub app */ + permissions?: { + /** @enum {string} */ + actions?: "read" | "write"; + /** @enum {string} */ + administration?: "read" | "write"; + /** @enum {string} */ + checks?: "read" | "write"; + /** @enum {string} */ + content_references?: "read" | "write"; + /** @enum {string} */ + contents?: "read" | "write"; + /** @enum {string} */ + deployments?: "read" | "write"; + /** @enum {string} */ + discussions?: "read" | "write"; + /** @enum {string} */ + emails?: "read" | "write"; + /** @enum {string} */ + environments?: "read" | "write"; + /** @enum {string} */ + issues?: "read" | "write"; + /** @enum {string} */ + keys?: "read" | "write"; + /** @enum {string} */ + members?: "read" | "write"; + /** @enum {string} */ + metadata?: "read" | "write"; + /** @enum {string} */ + organization_administration?: "read" | "write"; + /** @enum {string} */ + organization_hooks?: "read" | "write"; + /** @enum {string} */ + organization_packages?: "read" | "write"; + /** @enum {string} */ + organization_plan?: "read" | "write"; + /** @enum {string} */ + organization_projects?: "read" | "write"; + /** @enum {string} */ + organization_secrets?: "read" | "write"; + /** @enum {string} */ + organization_self_hosted_runners?: "read" | "write"; + /** @enum {string} */ + organization_user_blocking?: "read" | "write"; + /** @enum {string} */ + packages?: "read" | "write"; + /** @enum {string} */ + pages?: "read" | "write"; + /** @enum {string} */ + pull_requests?: "read" | "write"; + /** @enum {string} */ + repository_hooks?: "read" | "write"; + /** @enum {string} */ + repository_projects?: "read" | "write"; + /** @enum {string} */ + secret_scanning_alerts?: "read" | "write"; + /** @enum {string} */ + secrets?: "read" | "write"; + /** @enum {string} */ + security_events?: "read" | "write"; + /** @enum {string} */ + security_scanning_alert?: "read" | "write"; + /** @enum {string} */ + single_file?: "read" | "write"; + /** @enum {string} */ + statuses?: "read" | "write"; + /** @enum {string} */ + team_discussions?: "read" | "write"; + /** @enum {string} */ + vulnerability_alerts?: "read" | "write"; + /** @enum {string} */ + workflows?: "read" | "write"; + }; + /** @description The slug name of the GitHub app */ + slug?: string; + /** Format: date-time */ + updated_at: string | null; + } | null; + pull_request?: { + /** Format: uri */ + diff_url?: string; + /** Format: uri */ + html_url?: string; + /** Format: date-time */ + merged_at?: string | null; + /** Format: uri */ + patch_url?: string; + /** Format: uri */ + url?: string; + }; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + repository_url: string; + /** + * @description State of the issue; either 'open' or 'closed' + * @enum {string} + */ + state?: "open" | "closed"; + state_reason?: string | null; + /** Format: uri */ + timeline_url?: string; + /** @description Title of the issue */ + title: string; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the issue + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** label created event */ + "webhook-label-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** label deleted event */ + "webhook-label-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** label edited event */ + "webhook-label-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the label if the action was `edited`. */ + changes?: { + color?: { + /** @description The previous version of the color if the action was `edited`. */ + from: string; + }; + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** marketplace_purchase cancelled event */ + "webhook-marketplace-purchase-cancelled": { + /** @enum {string} */ + action: "cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { + id?: number; + login?: string; + node_id?: string; + organization_billing_email?: string | null; + type?: string; + }; + billing_cycle?: string; + free_trial_ends_on?: string | null; + next_billing_date: string | null; + on_free_trial?: boolean; + plan?: { + bullets?: (string | null)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; + name?: string; + /** @enum {string} */ + price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name?: string | null; + yearly_price_in_cents?: number; + }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** marketplace_purchase changed event */ + "webhook-marketplace-purchase-changed": { + /** @enum {string} */ + action: "changed"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { + id?: number; + login?: string; + node_id?: string; + organization_billing_email?: string | null; + type?: string; + }; + billing_cycle?: string; + free_trial_ends_on?: string | null; + next_billing_date: string | null; + on_free_trial?: boolean; + plan?: { + bullets?: (string | null)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; + name?: string; + /** @enum {string} */ + price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name?: string | null; + yearly_price_in_cents?: number; + }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean | null; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** marketplace_purchase pending_change event */ + "webhook-marketplace-purchase-pending-change": { + /** @enum {string} */ + action: "pending_change"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { + id?: number; + login?: string; + node_id?: string; + organization_billing_email?: string | null; + type?: string; + }; + billing_cycle?: string; + free_trial_ends_on?: string | null; + next_billing_date: string | null; + on_free_trial?: boolean; + plan?: { + bullets?: (string | null)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; + name?: string; + /** @enum {string} */ + price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name?: string | null; + yearly_price_in_cents?: number; + }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** marketplace_purchase pending_change_cancelled event */ + "webhook-marketplace-purchase-pending-change-cancelled": { + /** @enum {string} */ + action: "pending_change_cancelled"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + next_billing_date: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** marketplace_purchase purchased event */ + "webhook-marketplace-purchase-purchased": { + /** @enum {string} */ + action: "purchased"; + effective_date: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + marketplace_purchase: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: string | null; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + } & { + account?: { + id?: number; + login?: string; + node_id?: string; + organization_billing_email?: string | null; + type?: string; + }; + billing_cycle?: string; + free_trial_ends_on?: string | null; + next_billing_date: string | null; + on_free_trial?: boolean; + plan?: { + bullets?: (string | null)[]; + description?: string; + has_free_trial?: boolean; + id?: number; + monthly_price_in_cents?: number; + name?: string; + /** @enum {string} */ + price_model?: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name?: string | null; + yearly_price_in_cents?: number; + }; + unit_count?: number; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Marketplace Purchase */ + previous_marketplace_purchase?: { + account: { + id: number; + login: string; + node_id: string; + organization_billing_email: string | null; + type: string; + }; + billing_cycle: string; + free_trial_ends_on: unknown; + next_billing_date?: string | null; + on_free_trial: boolean; + plan: { + bullets: string[]; + description: string; + has_free_trial: boolean; + id: number; + monthly_price_in_cents: number; + name: string; + /** @enum {string} */ + price_model: "FREE" | "FLAT_RATE" | "PER_UNIT"; + unit_name: string | null; + yearly_price_in_cents: number; + }; + unit_count: number; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** member added event */ + "webhook-member-added": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { + action: "added"; + changes?: { + permission?: { + /** @enum {string} */ + to: "write" | "admin" | "read"; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; - name: string; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - url: string; - }; - sha: string; + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** member edited event */ + "webhook-member-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the collaborator permissions */ + changes: { + old_permission?: { + /** @description The previous permissions of the collaborator if the action was edited. */ + from: string; + }; + permission?: { + from?: string | null; + to?: string | null; + }; }; - head: { - ref: string; - /** Repo Ref */ - repo: { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; - name: string; + login: string; + name?: string; + node_id?: string; /** Format: uri */ - url: string; - }; - sha: string; - }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** member removed event */ + "webhook-member-removed": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - }) & ({ - actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - artifacts_url?: string; - cancel_url?: string; - check_suite_id?: number; - check_suite_node_id?: string; - check_suite_url?: string; - /** @enum {string} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped"; - created_at?: string; - event?: string; - head_branch?: string | null; - head_commit?: { - author?: { - email?: string; - name?: string; - }; - committer?: { - email?: string; - name?: string; - }; - id?: string; - message?: string; - timestamp?: string; - tree_id?: string; - }; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha?: string; - html_url?: string; - id?: number; - jobs_url?: string; - logs_url?: string; - name?: string | null; - node_id?: string; - path?: string; - previous_attempt_url?: string | null; - pull_requests?: (Record | null)[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt?: number; - run_number?: number; - run_started_at?: string; - status?: string; - triggering_actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - } | null; - updated_at?: string; - url?: string; - workflow_id?: number; - workflow_url?: string; - }); - }; - /** workflow_run in_progress event */ - "webhook-workflow-run-in-progress": { - /** @enum {string} */ - action: "in_progress"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - workflow_run: ({ - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | null; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** membership added event */ + "webhook-membership-added": { + /** @enum {string} */ + action: "added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** @enum {string} */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + }; + /** membership removed event */ + "webhook-membership-removed": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { + action: "removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** User */ + member: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** + * @description The scope of the membership. Currently, can only be `team`. + * @enum {string} + */ + scope: "team" | "organization"; + /** User */ + sender: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** @enum {string} */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; /** Format: uri */ - url: string; - }; - sha: string; + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; }; - head: { - ref: string; - /** Repo Ref */ - repo: { + }; + "webhook-merge-group-checks-requested": { + /** @enum {string} */ + action: "checks_requested"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + "webhook-merge-group-destroyed": { + /** @enum {string} */ + action: "destroyed"; + /** + * @description Explains why the merge group is being destroyed. The group could have been merged, removed from the queue (dequeued), or invalidated by an earlier queue entry being dequeued (invalidated). + * @enum {string} + */ + reason?: "merged" | "invalidated" | "dequeued"; + installation?: components["schemas"]["simple-installation"]; + merge_group: components["schemas"]["merge-group"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** meta deleted event */ + "webhook-meta-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The modified webhook. This will contain different keys based on the type of webhook it is: repository, organization, business, app, or GitHub Marketplace. */ + hook: { + active: boolean; + config: { + /** @enum {string} */ + content_type: "json" | "form"; + insecure_ssl: string; + secret?: string; + /** Format: uri */ + url: string; + }; + created_at: string; + events: ("*" | "branch_protection_rule" | "check_run" | "check_suite" | "code_scanning_alert" | "commit_comment" | "create" | "delete" | "deployment" | "deployment_status" | "deploy_key" | "discussion" | "discussion_comment" | "fork" | "gollum" | "issues" | "issue_comment" | "label" | "member" | "membership" | "meta" | "milestone" | "organization" | "org_block" | "package" | "page_build" | "project" | "project_card" | "project_column" | "public" | "pull_request" | "pull_request_review" | "pull_request_review_comment" | "pull_request_review_thread" | "push" | "registry_package" | "release" | "repository" | "repository_import" | "repository_vulnerability_alert" | "secret_scanning_alert" | "secret_scanning_alert_location" | "security_and_analysis" | "star" | "status" | "team" | "team_add" | "watch" | "workflow_job" | "workflow_run" | "repository_dispatch" | "projects_v2_item")[]; id: number; name: string; + type: string; + updated_at: string; + }; + /** @description The id of the modified webhook. */ + hook_id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** milestone closed event */ + "webhook-milestone-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; /** Format: uri */ url: string; - }; - sha: string; }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** milestone created event */ + "webhook-milestone-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** milestone deleted event */ + "webhook-milestone-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** milestone edited event */ + "webhook-milestone-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the milestone if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + due_on?: { + /** @description The previous version of the due date if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** milestone opened event */ + "webhook-milestone-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** org_block blocked event */ + "webhook-org-block-blocked": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - }) & ({ - actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - artifacts_url?: string; - cancel_url?: string; - check_suite_id?: number; - check_suite_node_id?: string; - check_suite_url?: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "skipped" | "stale" | null; - created_at?: string; - event?: string; - head_branch?: string | null; - head_commit?: { - author?: { - email?: string; - name?: string; - }; - committer?: { - email?: string; - name?: string; - }; - id?: string; - message?: string; - timestamp?: string; - tree_id?: string; - }; - head_repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string | null; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - head_sha?: string; - html_url?: string; - id?: number; - jobs_url?: string; - logs_url?: string; - name?: string | null; - node_id?: string; - path?: string; - previous_attempt_url?: string | null; - pull_requests?: (Record | null)[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - repository?: { - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - description?: string | null; - downloads_url?: string; - events_url?: string; - fork?: boolean; - forks_url?: string; - full_name?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - hooks_url?: string; - html_url?: string; - id?: number; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - name?: string; - node_id?: string; - notifications_url?: string; - owner?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - private?: boolean; - pulls_url?: string; - releases_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - url?: string; - }; - rerun_url?: string; - run_attempt?: number; - run_number?: number; - run_started_at?: string; - status?: string; - triggering_actor?: { - avatar_url?: string; - events_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - gravatar_id?: string; - html_url?: string; - id?: number; - login?: string; - node_id?: string; - organizations_url?: string; - received_events_url?: string; - repos_url?: string; - site_admin?: boolean; - starred_url?: string; - subscriptions_url?: string; - type?: string; - url?: string; - }; - updated_at?: string; - url?: string; - workflow_id?: number; - workflow_url?: string; - }); - }; - /** workflow_run requested event */ - "webhook-workflow-run-requested": { - /** @enum {string} */ - action: "requested"; - enterprise?: components["schemas"]["enterprise-webhooks"]; - installation?: components["schemas"]["simple-installation"]; - organization?: components["schemas"]["organization-simple-webhooks"]; - repository: components["schemas"]["repository-webhooks"]; - sender: components["schemas"]["simple-user-webhooks"]; - /** Workflow */ - workflow: { - /** Format: uri */ - badge_url: string; - /** Format: date-time */ - created_at: string; - /** Format: uri */ - html_url: string; - id: number; - name: string; - node_id: string; - path: string; - state: string; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - } | null; - /** Workflow Run */ - workflow_run: { - /** User */ - actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: uri */ - artifacts_url: string; - /** Format: uri */ - cancel_url: string; - check_suite_id: number; - check_suite_node_id: string; - /** Format: uri */ - check_suite_url: string; - /** @enum {string|null} */ - conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; - /** Format: date-time */ - created_at: string; - event: string; - head_branch: string | null; - /** SimpleCommit */ - head_commit: { - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - author: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - /** - * Committer - * @description Metaproperties for Git author/committer information. - */ - committer: { - /** Format: date-time */ - date?: string; - /** Format: email */ - email: string | null; - /** @description The git author's name. */ - name: string; - username?: string; - }; - id: string; - message: string; - timestamp: string; - tree_id: string; - }; - /** Repository Lite */ - head_repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; + action: "blocked"; + /** User */ + blocked_user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** org_block unblocked event */ + "webhook-org-block-unblocked": { /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - head_sha: string; - /** Format: uri */ - html_url: string; - id: number; - /** Format: uri */ - jobs_url: string; - /** Format: uri */ - logs_url: string; - name: string | null; - node_id: string; - path: string; - /** Format: uri */ - previous_attempt_url: string | null; - pull_requests: { - base: { - ref: string; - /** Repo Ref */ - repo: { + action: "unblocked"; + /** User */ + blocked_user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; id: number; - name: string; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** organization deleted event */ + "webhook-organization-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership?: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; /** Format: uri */ url: string; - }; - sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; }; - head: { - ref: string; - /** Repo Ref */ - repo: { - id: number; - name: string; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** organization member_added event */ + "webhook-organization-member-added": { + /** @enum {string} */ + action: "member_added"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; /** Format: uri */ url: string; - }; - sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; }; - id: number; - number: number; - /** Format: uri */ - url: string; - }[]; - referenced_workflows?: { - path: string; - ref?: string; - sha: string; - }[] | null; - /** Repository Lite */ - repository: { - /** Format: uri-template */ - archive_url: string; - /** Format: uri-template */ - assignees_url: string; - /** Format: uri-template */ - blobs_url: string; - /** Format: uri-template */ - branches_url: string; - /** Format: uri-template */ - collaborators_url: string; - /** Format: uri-template */ - comments_url: string; - /** Format: uri-template */ - commits_url: string; - /** Format: uri-template */ - compare_url: string; - /** Format: uri-template */ - contents_url: string; - /** Format: uri */ - contributors_url: string; - /** Format: uri */ - deployments_url: string; - description: string | null; - /** Format: uri */ - downloads_url: string; - /** Format: uri */ - events_url: string; - fork: boolean; - /** Format: uri */ - forks_url: string; - full_name: string; - /** Format: uri-template */ - git_commits_url: string; - /** Format: uri-template */ - git_refs_url: string; - /** Format: uri-template */ - git_tags_url: string; - /** Format: uri */ - hooks_url: string; - /** Format: uri */ - html_url: string; - /** @description Unique identifier of the repository */ - id: number; - /** Format: uri-template */ - issue_comment_url: string; - /** Format: uri-template */ - issue_events_url: string; - /** Format: uri-template */ - issues_url: string; - /** Format: uri-template */ - keys_url: string; - /** Format: uri-template */ - labels_url: string; - /** Format: uri */ - languages_url: string; - /** Format: uri */ - merges_url: string; - /** Format: uri-template */ - milestones_url: string; - /** @description The name of the repository. */ - name: string; - node_id: string; - /** Format: uri-template */ - notifications_url: string; - /** User */ - owner: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** @description Whether the repository is private or public. */ - private: boolean; - /** Format: uri-template */ - pulls_url: string; - /** Format: uri-template */ - releases_url: string; - /** Format: uri */ - stargazers_url: string; - /** Format: uri-template */ - statuses_url: string; - /** Format: uri */ - subscribers_url: string; - /** Format: uri */ - subscription_url: string; - /** Format: uri */ - tags_url: string; - /** Format: uri */ - teams_url: string; - /** Format: uri-template */ - trees_url: string; - /** Format: uri */ - url: string; - }; - /** Format: uri */ - rerun_url: string; - run_attempt: number; - run_number: number; - /** Format: date-time */ - run_started_at: string; - /** @enum {string} */ - status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; - /** User */ - triggering_actor: ({ - /** Format: uri */ - avatar_url?: string; - deleted?: boolean; - email?: string | null; - /** Format: uri-template */ - events_url?: string; - /** Format: uri */ - followers_url?: string; - /** Format: uri-template */ - following_url?: string; - /** Format: uri-template */ - gists_url?: string; - gravatar_id?: string; - /** Format: uri */ - html_url?: string; - id: number; - login: string; - name?: string; - node_id?: string; - /** Format: uri */ - organizations_url?: string; - /** Format: uri */ - received_events_url?: string; - /** Format: uri */ - repos_url?: string; - site_admin?: boolean; - /** Format: uri-template */ - starred_url?: string; - /** Format: uri */ - subscriptions_url?: string; - /** @enum {string} */ - type?: "Bot" | "User" | "Organization"; - /** Format: uri */ - url?: string; - }) | null; - /** Format: date-time */ - updated_at: string; - /** Format: uri */ - url: string; - workflow_id: number; - /** Format: uri */ - workflow_url: string; - display_title: string; - }; - }; - }; - responses: { - /** @description Validation failed, or the endpoint has been spammed. */ - validation_failed_simple: { - content: { - "application/json": components["schemas"]["validation-error-simple"]; - }; - }; - /** @description Resource not found */ - not_found: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Bad Request */ - bad_request: { - content: { - "application/json": components["schemas"]["basic-error"]; - "application/scim+json": components["schemas"]["scim-error"]; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - validation_failed: { - content: { - "application/json": components["schemas"]["validation-error"]; - }; - }; - /** @description Accepted */ - accepted: { - content: { - "application/json": Record; - }; - }; - /** @description Not modified */ - not_modified: { - content: never; - }; - /** @description Requires authentication */ - requires_authentication: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Forbidden */ - forbidden: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Service unavailable */ - service_unavailable: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - }; - }; - }; - /** @description Forbidden Gist */ - forbidden_gist: { - content: { - "application/json": { - block?: { - reason?: string; - created_at?: string; - html_url?: string | null; - }; - message?: string; - documentation_url?: string; - }; - }; - }; - /** @description Moved permanently */ - moved_permanently: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Conflict */ - conflict: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response */ - actions_runner_jitconfig: { - content: { - "application/json": { - runner: components["schemas"]["runner"]; - /** @description The base64 encoded runner configuration. */ - encoded_jit_config: string; - }; - }; - }; - /** @description Response */ - actions_runner_labels: { - content: { - "application/json": { - total_count: number; - labels: components["schemas"]["runner-label"][]; - }; - }; - }; - /** @description Response */ - actions_runner_labels_readonly: { - content: { - "application/json": { - total_count: number; - labels: components["schemas"]["runner-label"][]; - }; - }; - }; - /** @description Internal Error */ - internal_error: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description The value of `per_page` multiplied by `page` cannot be greater than 10000. */ - package_es_list_error: { - content: never; - }; - /** @description A header with no content is returned. */ - no_content: { - content: never; - }; - /** @description Gone */ - gone: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Temporary Redirect */ - temporary_redirect: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if GitHub Advanced Security is not enabled for this repository */ - code_scanning_forbidden_read: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ - code_scanning_forbidden_write: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Found */ - found: { - content: never; - }; - /** @description Response if there is already a validation run in progress with a different default setup configuration */ - code_scanning_conflict: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Response if GitHub Advanced Security is not enabled for this repository */ - dependency_review_forbidden: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - /** @description Unavailable due to service under maintenance. */ - porter_maintenance: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - parameters: { - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ - "pagination-before"?: string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ - "pagination-after"?: string; - /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; - /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ - ghsa_id: string; - /** @description The number of results per page (max 100). */ - "per-page"?: number; - /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ - cursor?: string; - "delivery-id": number; - /** @description Page number of the results to fetch. */ - page?: number; - /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: string; - /** @description The unique identifier of the installation. */ - "installation-id": number; - /** @description The client ID of the GitHub app. */ - "client-id": string; - "app-slug": string; - /** @description The unique identifier of the classroom assignment. */ - "assignment-id": number; - /** @description The unique identifier of the classroom. */ - "classroom-id": number; - /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; - /** - * @description A comma-separated list of states. If specified, only alerts with these states will be returned. - * - * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` - */ - "dependabot-alert-comma-separated-states"?: string; - /** - * @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. - * - * Can be: `low`, `medium`, `high`, `critical` - */ - "dependabot-alert-comma-separated-severities"?: string; - /** - * @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. - * - * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` - */ - "dependabot-alert-comma-separated-ecosystems"?: string; - /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ - "dependabot-alert-comma-separated-packages"?: string; - /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ - "dependabot-alert-scope"?: "development" | "runtime"; - /** - * @description The property by which to sort the results. - * `created` means when the alert was created. - * `updated` means when the alert's state last changed. - */ - "dependabot-alert-sort"?: "created" | "updated"; - /** - * @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. - * This parameter must not be used in combination with `last`. - * Instead, use `per_page` in combination with `after` to fetch the first page of results. - */ - "pagination-first"?: number; - /** - * @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. - * This parameter must not be used in combination with `first`. - * Instead, use `per_page` in combination with `before` to fetch the last page of results. - */ - "pagination-last"?: number; - /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - "secret-scanning-alert-state"?: "open" | "resolved"; - /** - * @description A comma-separated list of secret types to return. By default all secret types are returned. - * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" - * for a complete list of secret types. - */ - "secret-scanning-alert-secret-type"?: string; - /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ - "secret-scanning-alert-resolution"?: string; - /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ - "secret-scanning-alert-sort"?: "created" | "updated"; - /** @description The unique identifier of the gist. */ - "gist-id": string; - /** @description The unique identifier of the comment. */ - "comment-id": number; - /** @description A list of comma separated label names. Example: `bug,ui,@high` */ - labels?: string; - /** @description account_id parameter */ - "account-id": number; - /** @description The unique identifier of the plan. */ - "plan-id": number; - /** @description The property to sort the results by. */ - sort?: "created" | "updated"; - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; - /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ - repo: string; - /** @description If `true`, show notifications marked as read. */ - all?: boolean; - /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ - participating?: boolean; - /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - before?: string; - /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ - "thread-id": number; - /** @description An organization ID. Only return organizations with an ID greater than this ID. */ - "since-org"?: number; - /** @description The organization name. The name is not case sensitive. */ - org: string; - /** @description The unique identifier of the repository. */ - "repository-id": number; - /** @description Unique identifier of the self-hosted runner. */ - "runner-id": number; - /** @description The name of a self-hosted runner's custom label. */ - "runner-label-name": string; - /** @description The name of the secret. */ - "secret-name": string; - /** @description The number of results per page (max 30). */ - "variables-per-page"?: number; - /** @description The name of the variable. */ - "variable-name": string; - /** @description The handle for the GitHub user account. */ - username: string; - /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ - "tool-name"?: components["schemas"]["code-scanning-analysis-tool-name"]; - /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ - "tool-guid"?: components["schemas"]["code-scanning-analysis-tool-guid"]; - /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ - "hook-id": number; - /** @description The unique identifier of the invitation. */ - "invitation-id": number; - /** @description The name of the codespace. */ - "codespace-name": string; - /** @description The unique identifier of the migration. */ - "migration-id": number; - /** @description repo_name parameter */ - "repo-name": string; - /** - * @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. - * - * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. - * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "package-visibility"?: "public" | "private" | "internal"; - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - "package-type": "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - /** @description The name of the package. */ - "package-name": string; - /** @description Unique identifier of the package version. */ - "package-version-id": number; - /** @description The property by which to sort the results. */ - "personal-access-token-sort"?: "created_at"; - /** @description A list of owner usernames to use to filter the results. */ - "personal-access-token-owner"?: string[]; - /** @description The name of the repository to use to filter the results. */ - "personal-access-token-repository"?: string; - /** @description The permission to use to filter the results. */ - "personal-access-token-permission"?: string; - /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "personal-access-token-before"?: string; - /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "personal-access-token-after"?: string; - /** @description The unique identifier of the fine-grained personal access token. */ - "fine-grained-personal-access-token-id": number; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ - "secret-scanning-pagination-before-org-repo"?: string; - /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ - "secret-scanning-pagination-after-org-repo"?: string; - /** @description The slug of the team name. */ - "team-slug": string; - /** @description The number that identifies the discussion. */ - "discussion-number": number; - /** @description The number that identifies the comment. */ - "comment-number": number; - /** @description The unique identifier of the reaction. */ - "reaction-id": number; - /** @description The unique identifier of the project. */ - "project-id": number; - /** @description The security feature to enable or disable. */ - "security-product": "dependency_graph" | "dependabot_alerts" | "dependabot_security_updates" | "advanced_security" | "code_scanning_default_setup" | "secret_scanning" | "secret_scanning_push_protection"; - /** - * @description The action to take. - * - * `enable_all` means to enable the specified security feature for all repositories in the organization. - * `disable_all` means to disable the specified security feature for all repositories in the organization. - */ - "org-security-product-enablement": "enable_all" | "disable_all"; - /** @description The unique identifier of the card. */ - "card-id": number; - /** @description The unique identifier of the column. */ - "column-id": number; - /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ - "artifact-name"?: string; - /** @description The unique identifier of the artifact. */ - "artifact-id": number; - /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ - "actions-cache-git-ref-full"?: string; - /** @description An explicit key or prefix for identifying the cache */ - "actions-cache-key"?: string; - /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ - "actions-cache-list-sort"?: "created_at" | "last_accessed_at" | "size_in_bytes"; - /** @description A key for identifying the cache. */ - "actions-cache-key-required": string; - /** @description The unique identifier of the GitHub Actions cache. */ - "cache-id": number; - /** @description The unique identifier of the job. */ - "job-id": number; - /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ - actor?: string; - /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - "workflow-run-branch"?: string; - /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event?: string; - /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ - "workflow-run-status"?: "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting" | "pending"; - /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ - created?: string; - /** @description If `true` pull requests are omitted from the response (empty array). */ - "exclude-pull-requests"?: boolean; - /** @description Returns workflow runs with the `check_suite_id` that you specify. */ - "workflow-run-check-suite-id"?: number; - /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ - "workflow-run-head-sha"?: string; - /** @description The unique identifier of the workflow run. */ - "run-id": number; - /** @description The attempt number of the workflow run. */ - "attempt-number": number; - /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - "workflow-id": number | string; - /** @description The unique identifier of the autolink. */ - "autolink-id": number; - /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ - branch: string; - /** @description The unique identifier of the check run. */ - "check-run-id": number; - /** @description The unique identifier of the check suite. */ - "check-suite-id": number; - /** @description Returns check runs with the specified `name`. */ - "check-name"?: string; - /** @description Returns check runs with the specified `status`. */ - status?: "queued" | "in_progress" | "completed"; - /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ - "git-ref"?: components["schemas"]["code-scanning-ref"]; - /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ - "alert-number": components["schemas"]["alert-number"]; - /** @description The SHA of the commit. */ - "commit-sha": string; - /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ - "commit-ref": string; - /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ - "dependabot-alert-comma-separated-manifests"?: string; - /** - * @description The number that identifies a Dependabot alert in its repository. - * You can find this at the end of the URL for a Dependabot alert within GitHub, - * or in `number` fields in the response from the - * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. - */ - "dependabot-alert-number": components["schemas"]["alert-number"]; - /** @description The full path, relative to the repository root, of the dependency manifest file. */ - "manifest-path"?: string; - /** @description deployment_id parameter */ - "deployment-id": number; - /** @description The name of the environment. */ - "environment-name": string; - /** @description The unique identifier of the branch policy. */ - "branch-policy-id": number; - /** @description The unique identifier of the protection rule. */ - "protection-rule-id": number; - /** @description A user ID. Only return users with an ID greater than this ID. */ - "since-user"?: number; - /** @description The number that identifies the issue. */ - "issue-number": number; - /** @description The unique identifier of the key. */ - "key-id": number; - /** @description The number that identifies the milestone. */ - "milestone-number": number; - /** @description The number that identifies the pull request. */ - "pull-number": number; - /** @description The unique identifier of the review. */ - "review-id": number; - /** @description The unique identifier of the asset. */ - "asset-id": number; - /** @description The unique identifier of the release. */ - "release-id": number; - /** @description The unique identifier of the tag protection. */ - "tag-protection-id": number; - /** @description The time frame to display results for. */ - per?: "day" | "week"; - /** @description A repository ID. Only return repositories with an ID greater than this ID. */ - "since-repo"?: number; - /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ - order?: "desc" | "asc"; - /** @description The unique identifier of the team. */ - "team-id": number; - /** @description ID of the Repository to filter on */ - "repository-id-in-query"?: number; - /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ - "export-id": string; - /** @description The unique identifier of the GPG key. */ - "gpg-key-id": number; - /** @description Only show repositories updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "since-repo-date"?: string; - /** @description Only show repositories updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - "before-repo-date"?: string; - /** @description The unique identifier of the SSH signing key. */ - "ssh-signing-key-id": number; - /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ - "sort-starred"?: "created" | "updated"; - }; - requestBodies: never; - headers: { - /** @example ; rel="next", ; rel="last" */ - link: string; - /** @example text/html */ - "content-type": string; - /** @example 0.17.4 */ - "x-common-marker-version": string; - /** @example 5000 */ - "x-rate-limit-limit": number; - /** @example 4999 */ - "x-rate-limit-remaining": number; - /** @example 1590701888 */ - "x-rate-limit-reset": number; - /** @example https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D */ - location: string; - }; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export interface operations { - - /** - * GitHub API Root - * @description Get Hypermedia links to resources accessible in GitHub's REST API - */ - "meta/root": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["root"]; - }; - }; - }; - }; - /** - * List global security advisories - * @description Lists all global security advisories that match the specified parameters. If no other parameters are defined, the request will return only GitHub-reviewed advisories that are not malware. - * - * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." - */ - "security-advisories/list-global-advisories": { - parameters: { - query?: { - /** @description If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. */ - ghsa_id?: string; - /** @description If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. */ - type?: "reviewed" | "malware" | "unreviewed"; - /** @description If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. */ - cve_id?: string; - /** @description If specified, only advisories for these ecosystems will be returned. */ - ecosystem?: "actions" | "composer" | "erlang" | "go" | "maven" | "npm" | "nuget" | "other" | "pip" | "pub" | "rubygems" | "rust"; - /** @description If specified, only advisories with these severities will be returned. */ - severity?: "unknown" | "low" | "medium" | "high" | "critical"; - /** - * @description If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. - * - * Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` - */ - cwes?: string | string[]; - /** @description Whether to only return advisories that have been withdrawn. */ - is_withdrawn?: boolean; - /** - * @description If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. - * If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. - * - * Example: `affects=package1,package2@1.0.0,package3@^2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` - */ - affects?: string | string[]; - /** - * @description If specified, only return advisories that were published on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." - */ - published?: string; - /** - * @description If specified, only return advisories that were updated on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." - */ - updated?: string; - /** - * @description If specified, only show advisories that were updated or published on a date or date range. - * - * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." - */ - modified?: string; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - direction?: components["parameters"]["direction"]; - /** @description The number of results per page (max 100). */ - per_page?: number; - /** @description The property to sort the results by. */ - sort?: "updated" | "published"; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["global-advisory"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - /** @description Too many requests */ - 429: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Get a global security advisory - * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. - */ - "security-advisories/get-global-advisory": { - parameters: { - path: { - ghsa_id: components["parameters"]["ghsa_id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["global-advisory"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the authenticated app - * @description Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-authenticated": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"]; - }; - }; - }; - }; - /** - * Create a GitHub App from a manifest - * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. - */ - "apps/create-from-manifest": { - parameters: { - path: { - code: string; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["integration"] & ({ - client_id: string; - client_secret: string; - webhook_secret: string | null; - pem: string; - [key: string]: unknown; - }); - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a webhook configuration for an app - * @description Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-webhook-config-for-app": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * Update a webhook configuration for an app - * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/update-webhook-config-for-app": { - requestBody: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * List deliveries for an app webhook - * @description Returns a list of webhook deliveries for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/list-webhook-deliveries": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - cursor?: components["parameters"]["cursor"]; - redelivery?: boolean; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a delivery for an app webhook - * @description Returns a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-webhook-delivery": { - parameters: { - path: { - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Redeliver a delivery for an app webhook - * @description Redeliver a delivery for the webhook configured for a GitHub App. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/redeliver-webhook-delivery": { - parameters: { - path: { - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List installation requests for the authenticated app - * @description Lists all the pending installation requests for the authenticated GitHub App. - */ - "apps/list-installation-requests-for-authenticated-app": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description List of integration installation requests */ - 200: { - content: { - "application/json": components["schemas"]["integration-installation-request"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * List installations for the authenticated app - * @description You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - * - * The permissions the installation has are included under the `permissions` key. - */ - "apps/list-installations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - since?: components["parameters"]["since"]; - outdated?: string; - }; - }; - responses: { - /** @description The permissions the installation has are included under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["installation"][]; - }; - }; - }; - }; - /** - * Get an installation for the authenticated app - * @description Enables an authenticated GitHub App to find an installation's information using the installation id. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an installation for the authenticated app - * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/delete-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create an installation access token for an app - * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/create-installation-access-token": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description List of repository names that the token should have access to */ - repositories?: string[]; - /** - * @description List of repository IDs that the token should have access to - * @example [ - * 1 - * ] - */ - repository_ids?: number[]; - permissions?: components["schemas"]["app-permissions"]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["installation-token"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Suspend an app installation - * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/suspend-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unsuspend an app installation - * @description Removes a GitHub App installation suspension. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/unsuspend-installation": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an app authorization - * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. - * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). - */ - "apps/delete-authorization": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. */ - access_token: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Check a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/check-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth or GitHub application. */ - access_token: string; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** organization member_invited event */ + "webhook-organization-member-invited": { + /** @enum {string} */ + action: "member_invited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The invitation for the user or email if the action is `member_invited`. */ + invitation: { + /** Format: date-time */ + created_at: string; + email: string | null; + /** Format: date-time */ + failed_at: string | null; + failed_reason: string | null; + id: number; + /** Format: uri */ + invitation_teams_url: string; + /** User */ + inviter: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + login: string | null; + node_id: string; + role: string; + team_count: number; + invitation_source?: string; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** User */ + user?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an app token - * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. - */ - "apps/delete-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. */ - access_token: string; + /** organization member_removed event */ + "webhook-organization-member-removed": { + /** @enum {string} */ + action: "member_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Reset a token - * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/reset-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The access_token of the OAuth or GitHub application. */ - access_token: string; + /** organization renamed event */ + "webhook-organization-renamed": { + /** @enum {string} */ + action: "renamed"; + changes?: { + login?: { + from?: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** + * Membership + * @description The membership between the user and the organization. Not present when the action is `member_invited`. + */ + membership?: { + /** Format: uri */ + organization_url: string; + role: string; + state: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + organization: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a scoped access token - * @description Use a non-scoped user access token to create a repository scoped and/or permission scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. - */ - "apps/scope-token": { - parameters: { - path: { - client_id: components["parameters"]["client-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The access token used to authenticate to the GitHub API. - * @example e72e16c7e42f292c6912e7710c838347ae178b4a - */ - access_token: string; - /** - * @description The name of the user or organization to scope the user access token to. **Required** unless `target_id` is specified. - * @example octocat - */ - target?: string; - /** - * @description The ID of the user or organization to scope the user access token to. **Required** unless `target` is specified. - * @example 1 - */ - target_id?: number; - /** @description The list of repository names to scope the user access token to. `repositories` may not be specified if `repository_ids` is specified. */ - repositories?: string[]; - /** - * @description The list of repository IDs to scope the user access token to. `repository_ids` may not be specified if `repositories` is specified. - * @example [ - * 1 - * ] - */ - repository_ids?: number[]; - permissions?: components["schemas"]["app-permissions"]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["authorization"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an app - * @description **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`). - * - * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - "apps/get-by-slug": { - parameters: { - path: { - app_slug: components["parameters"]["app-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get an assignment - * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - "classroom/get-an-assignment": { - parameters: { - path: { - assignment_id: components["parameters"]["assignment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom-assignment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List accepted assignments for an assignment - * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - "classroom/list-accepted-assigments-for-an-assignment": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - assignment_id: components["parameters"]["assignment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom-accepted-assignment"][]; - }; - }; - }; - }; - /** - * Get assignment grades - * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. - */ - "classroom/get-assignment-grades": { - parameters: { - path: { - assignment_id: components["parameters"]["assignment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom-assignment-grade"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List classrooms - * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. - */ - "classroom/list-classrooms": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-classroom"][]; - }; - }; - }; - }; - /** - * Get a classroom - * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. - */ - "classroom/get-a-classroom": { - parameters: { - path: { - classroom_id: components["parameters"]["classroom-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["classroom"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List assignments for a classroom - * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. - */ - "classroom/list-assignments-for-a-classroom": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - classroom_id: components["parameters"]["classroom-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-classroom-assignment"][]; - }; - }; - }; - }; - /** - * Get all codes of conduct - * @description Returns array of all GitHub's codes of conduct. - */ - "codes-of-conduct/get-all-codes-of-conduct": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-of-conduct"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a code of conduct - * @description Returns information about the specified GitHub code of conduct. - */ - "codes-of-conduct/get-conduct-code": { - parameters: { - path: { - key: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-of-conduct"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get emojis - * @description Lists all the emojis available to use on GitHub. - */ - "emojis/get": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - [key: string]: string; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * List Dependabot alerts for an enterprise - * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise. - * To use this endpoint, you must be a member of the enterprise, and you must use an - * access token with the `repo` scope or `security_events` scope. - * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "dependabot/list-alerts-for-enterprise": { - parameters: { - query?: { - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - scope?: components["parameters"]["dependabot-alert-scope"]; - sort?: components["parameters"]["dependabot-alert-sort"]; - direction?: components["parameters"]["direction"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - first?: components["parameters"]["pagination-first"]; - last?: components["parameters"]["pagination-last"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert-with-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List secret scanning alerts for an enterprise - * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). - */ - "secret-scanning/list-alerts-for-enterprise": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - }; - path: { - enterprise: components["parameters"]["enterprise"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-secret-scanning-alert"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List public events - * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. - */ - "activity/list-public-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get feeds - * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user: - * - * * **Timeline**: The GitHub global public timeline - * * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) - * * **Current user public**: The public timeline for the authenticated user - * * **Current user**: The private timeline for the authenticated user - * * **Current user actor**: The private timeline for activity created by the authenticated user - * * **Current user organizations**: The private timeline for the organizations the authenticated user is a member of. - * * **Security advisories**: A collection of public announcements that provide information about security-related vulnerabilities in software on GitHub. - * - * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. - */ - "activity/get-feeds": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["feed"]; - }; - }; - }; - }; - /** - * List gists for the authenticated user - * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: - */ - "gists/list": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Create a gist - * @description Allows you to add a new gist with one or more files. - * - * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. - */ - "gists/create": { - requestBody: { - content: { - "application/json": { - /** - * @description Description of the gist - * @example Example Ruby script - */ - description?: string; - /** - * @description Names and content for the files that make up the gist - * @example { - * "hello.rb": { - * "content": "puts \"Hello, World!\"" - * } - * } - */ - files: { - [key: string]: { - /** @description Content of the file */ - content: string; - }; - }; - public?: boolean | ("true" | "false"); - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List public gists - * @description List public gists sorted by most recently updated to least recently updated. - * - * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. - */ - "gists/list-public": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List starred gists - * @description List the authenticated user's starred gists: - */ - "gists/list-starred": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Get a gist */ - "gists/get": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a gist */ - "gists/delete": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a gist - * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. - * At least one of `description` or `files` is required. - */ - "gists/update": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** - * @description The description of the gist. - * @example Example Ruby script - */ - description?: string; - /** - * @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename - * (including extension) of the targeted gist file. For example: `hello.py`. - * - * To delete a file, set the whole file to null. For example: `hello.py : null`. The file will also be - * deleted if the specified object does not contain at least one of `content` or `filename`. - * @example { - * "hello.rb": { - * "content": "blah", - * "filename": "goodbye.rb" - * } - * } - */ - files?: { - [key: string]: ({ - /** @description The new content of the file. */ - content?: string; - /** @description The new filename for the file. */ - filename?: string | null; - }) | null; - }; - }) | null; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** List gist comments */ - "gists/list-comments": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gist-comment"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Create a gist comment */ - "gists/create-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The comment text. - * @example Body of the attachment - */ - body: string; + /** Ruby Gems metadata */ + "webhook-rubygems-metadata": { + name?: string; + description?: string; + readme?: string; + homepage?: string; + version_info?: { + version?: string; + }; + platform?: string; + metadata?: { + [key: string]: string; + }; + repo?: string; + dependencies?: { + [key: string]: string; + }[]; + commit_oid?: string; }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["gist-comment"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Get a gist comment */ - "gists/get-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-comment"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden_gist"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a gist comment */ - "gists/delete-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Update a gist comment */ - "gists/update-comment": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The comment text. - * @example Body of the attachment - */ - body: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-comment"]; + /** package published event */ + "webhook-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string | null; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record; + manifest?: Record; + tag?: { + digest?: string; + name?: string; + }; + } | null; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: Record; + bugs?: Record; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: Record; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: Record; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: Record[]; + contributors?: Record[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: Record; + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: { + id?: number | string; + name?: string; + value?: boolean | string | number | { + url?: string; + branch?: string; + commit?: string; + type?: string; + }; + }[] | null; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + source_url?: string; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** List gist commits */ - "gists/list-commits": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["gist-commit"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** List gist forks */ - "gists/list-forks": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gist-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Fork a gist */ - "gists/fork": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["base-gist"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Check if a gist is starred */ - "gists/check-is-starred": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response if gist is starred */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - /** @description Not Found if gist is not starred */ - 404: { - content: { - "application/json": Record; - }; - }; - }; - }; - /** - * Star a gist - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "gists/star": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Unstar a gist */ - "gists/unstar": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Get a gist revision */ - "gists/get-revision": { - parameters: { - path: { - gist_id: components["parameters"]["gist-id"]; - sha: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gist-simple"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all gitignore templates - * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). - */ - "gitignore/get-all-templates": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a gitignore template - * @description The API also allows fetching the source of a single template. - * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. - */ - "gitignore/get-template": { - parameters: { - path: { - name: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gitignore-template"]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * List repositories accessible to the app installation - * @description List repositories that an app installation can access. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - "apps/list-repos-accessible-to-installation": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** package updated event */ + "webhook-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** @description Information about the package. */ + package: { + created_at: string; + description: string | null; + ecosystem: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + namespace: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + package_type: string; + package_version: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + /** Format: uri */ + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type: string; + created_at: string; + /** Format: uri */ + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string; + size: number; + state: string; + updated_at: string; + }[]; + package_url?: string; + prerelease?: boolean; + release?: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + created_at: string; + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + /** Format: uri */ + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + /** Format: uri */ + source_url?: string; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: { + /** Format: uri */ + about_url: string; + name: string; + type: string; + /** Format: uri */ + url: string; + vendor: string; + } | null; + updated_at: string; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** page_build event */ + "webhook-page-build": { + /** @description The [List GitHub Pages builds](https://docs.github.com/rest/pages/pages#list-github-pages-builds) itself. */ + build: { + commit: string | null; + created_at: string; + duration: number; + error: { + message: string | null; + }; + /** User */ + pusher: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + status: string; + updated_at: string; + /** Format: uri */ + url: string; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + id: number; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** personal_access_token_request approved event */ + "webhook-personal-access-token-request-approved": { + /** @enum {string} */ + action: "approved"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request cancelled event */ + "webhook-personal-access-token-request-cancelled": { + /** @enum {string} */ + action: "cancelled"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request created event */ + "webhook-personal-access-token-request-created": { + /** @enum {string} */ + action: "created"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + installation: components["schemas"]["simple-installation"]; + }; + /** personal_access_token_request denied event */ + "webhook-personal-access-token-request-denied": { + /** @enum {string} */ + action: "denied"; + personal_access_token_request: components["schemas"]["personal-access-token-request"]; + organization: components["schemas"]["organization-simple-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + installation: components["schemas"]["simple-installation"]; + }; + "webhook-ping": { + /** + * Webhook + * @description The webhook that is being pinged + */ + hook?: { + /** @description Determines whether the hook is actually triggered for the events it subscribes to. */ + active: boolean; + /** @description Only included for GitHub Apps. When you register a new GitHub App, GitHub sends a ping event to the webhook URL you specified during registration. The GitHub App ID sent in this field is required for authenticating an app. */ + app_id?: number; + config: { + content_type?: components["schemas"]["webhook-config-content-type"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + secret?: components["schemas"]["webhook-config-secret"]; + url?: components["schemas"]["webhook-config-url"]; + }; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + deliveries_url?: string; + /** @description Determines what events the hook is triggered for. Default: ['push']. */ + events: string[]; + /** @description Unique identifier of the webhook. */ + id: number; + last_response?: components["schemas"]["hook-response"]; + /** + * @description The type of webhook. The only valid value is 'web'. + * @enum {string} + */ + name: "web"; + /** Format: uri */ + ping_url?: string; + /** Format: uri */ + test_url?: string; + type: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url?: string; + }; + /** @description The ID of the webhook that triggered the ping. */ + hook_id?: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + /** @description Random string of GitHub zen. */ + zen?: string; + }; + /** @description The webhooks ping payload encoded with URL encoding. */ + "webhook-ping-form-encoded": { + /** @description A URL-encoded string of the ping JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** project_card converted event */ + "webhook-project-card-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + note: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project_card created event */ + "webhook-project-card-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project_card deleted event */ + "webhook-project-card-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number | null; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["repository"][]; - /** @example selected */ - repository_selection?: string; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Revoke an installation access token - * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. - * - * Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the "[Create an installation access token for an app](https://docs.github.com/rest/apps/apps#create-an-installation-access-token-for-an-app)" endpoint. - * - * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. - */ - "apps/revoke-installation-access-token": { - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List issues assigned to the authenticated user - * @description List issues assigned to the authenticated user across all visible repositories including owned repositories, member - * repositories, and organization repositories. You can use the `filter` query parameter to fetch issues that are not - * necessarily assigned to you. - * - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list": { - parameters: { - query?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - collab?: boolean; - orgs?: boolean; - owned?: boolean; - pulls?: boolean; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all commonly used licenses - * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - "licenses/get-all-commonly-used": { - parameters: { - query?: { - featured?: boolean; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["license-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a license - * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." - */ - "licenses/get": { - parameters: { - path: { - license: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["license"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Render a Markdown document */ - "markdown/render": { - requestBody: { - content: { - "application/json": { - /** @description The Markdown text to render in HTML. */ - text: string; - /** - * @description The rendering mode. - * @default markdown - * @example markdown - * @enum {string} - */ - mode?: "markdown" | "gfm"; - /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ - context?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - "Content-Type": components["headers"]["content-type"]; - /** @example 279 */ - "Content-Length"?: string; - "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; - }; - content: { - "text/html": string; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Render a Markdown document in raw mode - * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. - */ - "markdown/render-raw": { - requestBody?: { - content: { - "text/plain": string; - "text/x-markdown": string; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; - }; - content: { - "text/html": string; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a subscription plan for an account - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/get-subscription-plan-for-account": { - parameters: { - path: { - account_id: components["parameters"]["account-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["marketplace-purchase"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - /** @description Not Found when the account has not purchased the listing */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * List plans - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-plans": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-listing-plan"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List accounts for a plan - * @description Returns user and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-accounts-for-plan": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - plan_id: components["parameters"]["plan-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-purchase"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a subscription plan for an account (stubbed) - * @description Shows whether the user or organization account actively subscribes to a plan listed by the authenticated GitHub App. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/get-subscription-plan-for-account-stubbed": { - parameters: { - path: { - account_id: components["parameters"]["account-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["marketplace-purchase"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - /** @description Not Found when the account has not purchased the listing */ - 404: { - content: never; - }; - }; - }; - /** - * List plans (stubbed) - * @description Lists all plans that are part of your GitHub Marketplace listing. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-plans-stubbed": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-listing-plan"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * List accounts for a plan (stubbed) - * @description Returns repository and organization accounts associated with the specified plan, including free plans. For per-seat pricing, you see the list of accounts that have purchased the plan, including the number of seats purchased. When someone submits a plan change that won't be processed until the end of their billing cycle, you will also see the upcoming pending change. - * - * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. - */ - "apps/list-accounts-for-plan-stubbed": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - plan_id: components["parameters"]["plan-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["marketplace-purchase"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * Get GitHub meta information - * @description Returns meta information about GitHub, including a list of GitHub's IP addresses. For more information, see "[About GitHub's IP addresses](https://docs.github.com/articles/about-github-s-ip-addresses/)." - * - * The API's response also includes a list of GitHub's domain names. - * - * The values shown in the documentation's response are example values. You must always query the API directly to get the latest values. - * - * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. - */ - "meta/get": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["api-overview"]; + /** project_card edited event */ + "webhook-project-card-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + note: { + from: string | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Card */ + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project_card moved event */ + "webhook-project-card-moved": { + /** @enum {string} */ + action: "moved"; + changes?: { + column_id: { + from: number; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + project_card: { + after_id?: number | null; + /** @description Whether or not the card is archived */ + archived: boolean; + column_id: number; + /** Format: uri */ + column_url: string; + /** Format: uri */ + content_url?: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** @description The project card's ID */ + id: number; + node_id: string; + note: string | null; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } & { + after_id: number | null; + archived?: boolean; + column_id?: number; + column_url?: string; + created_at?: string; + creator?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + } | null; + id?: number; + node_id?: string; + note?: string | null; + project_url?: string; + updated_at?: string; + url?: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project closed event */ + "webhook-project-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project */ + project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project_column created event */ + "webhook-project-column-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Column */ + project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** project_column deleted event */ + "webhook-project-column-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Column */ + project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** project_column edited event */ + "webhook-project-column-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + name?: { + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Column */ + project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** project_column moved event */ + "webhook-project-column-moved": { + /** @enum {string} */ + action: "moved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project Column */ + project_column: { + after_id?: number | null; + /** Format: uri */ + cards_url: string; + /** Format: date-time */ + created_at: string; + /** @description The unique identifier of the project column */ + id: number; + /** @description Name of the project column */ + name: string; + node_id: string; + /** Format: uri */ + project_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project created event */ + "webhook-project-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project */ + project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** project deleted event */ + "webhook-project-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project */ + project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["nullable-repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** project edited event */ + "webhook-project-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the project if the action was `edited`. */ + changes?: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The changes to the project if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project */ + project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** project reopened event */ + "webhook-project-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Project */ + project: { + /** @description Body of the project */ + body: string | null; + /** Format: uri */ + columns_url: string; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + id: number; + /** @description Name of the project */ + name: string; + node_id: string; + number: number; + /** Format: uri */ + owner_url: string; + /** + * @description State of the project; either 'open' or 'closed' + * @enum {string} + */ + state: "open" | "closed"; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Project Closed Event */ + "webhook-projects-v2-project-closed": { + /** @enum {string} */ + action: "closed"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** @description A project was created */ + "webhook-projects-v2-project-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Project Deleted Event */ + "webhook-projects-v2-project-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Project Edited Event */ + "webhook-projects-v2-project-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + description?: { + from?: string | null; + to?: string | null; + }; + public?: { + from?: boolean; + to?: boolean; + }; + short_description?: { + from?: string | null; + to?: string | null; + }; + title?: { + from?: string; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Archived Event */ + "webhook-projects-v2-item-archived": { + /** @enum {string} */ + action: "archived"; + changes: { + archived_at?: { + /** Format: date-time */ + from?: string | null; + /** Format: date-time */ + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Converted Event */ + "webhook-projects-v2-item-converted": { + /** @enum {string} */ + action: "converted"; + changes: { + content_type?: { + from?: string | null; + to?: string; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Created Event */ + "webhook-projects-v2-item-created": { + /** @enum {string} */ + action: "created"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Deleted Event */ + "webhook-projects-v2-item-deleted": { + /** @enum {string} */ + action: "deleted"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Edited Event */ + "webhook-projects-v2-item-edited": { + /** @enum {string} */ + action: "edited"; + changes?: { + field_value: { + field_node_id?: string; + field_type?: string; + }; + } | { + body: { + from?: string | null; + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Reordered Event */ + "webhook-projects-v2-item-reordered": { + /** @enum {string} */ + action: "reordered"; + changes: { + previous_projects_v2_item_node_id?: { + from?: string | null; + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Item Restored Event */ + "webhook-projects-v2-item-restored": { + /** @enum {string} */ + action: "restored"; + changes: { + archived_at?: { + /** Format: date-time */ + from?: string | null; + /** Format: date-time */ + to?: string | null; + }; + }; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2_item: components["schemas"]["projects-v2-item"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Projects v2 Project Reopened Event */ + "webhook-projects-v2-project-reopened": { + /** @enum {string} */ + action: "reopened"; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + projects_v2: components["schemas"]["projects-v2"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** public event */ + "webhook-public": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request assigned event */ + "webhook-pull-request-assigned": { + /** @enum {string} */ + action: "assigned"; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** List public events for a network of repositories */ - "activity/list-public-events-for-repo-network": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List notifications for the authenticated user - * @description List all notifications for the current user, sorted by most recently updated. - */ - "activity/list-notifications-for-authenticated-user": { - parameters: { - query?: { - all?: components["parameters"]["all"]; - participating?: components["parameters"]["participating"]; - since?: components["parameters"]["since"]; - before?: components["parameters"]["before"]; - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 50). */ - per_page?: number; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["thread"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Mark notifications as read - * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - "activity/mark-notifications-as-read": { - requestBody?: { - content: { - "application/json": { - /** - * Format: date-time - * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. - */ - last_read_at?: string; - /** @description Whether the notification has been read. */ - read?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": { - message?: string; - }; - }; - }; - /** @description Reset Content */ - 205: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a thread - * @description Gets information about a notification thread. - */ - "activity/get-thread": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["thread"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Mark a thread as read - * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. - */ - "activity/mark-thread-as-read": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Reset Content */ - 205: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a thread subscription for the authenticated user - * @description This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/activity/watching#get-a-repository-subscription). - * - * Note that subscriptions are only generated if a user is participating in a conversation--for example, they've replied to the thread, were **@mentioned**, or manually subscribe to a thread. - */ - "activity/get-thread-subscription-for-authenticated-user": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["thread-subscription"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Set a thread subscription - * @description If you are watching a repository, you receive notifications for all threads by default. Use this endpoint to ignore future notifications for threads until you comment on the thread or get an **@mention**. - * - * You can also use this endpoint to subscribe to threads that you are currently not receiving notifications for or to subscribed to threads that you have previously ignored. - * - * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. - */ - "activity/set-thread-subscription": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to block all notifications from a thread. - * @default false - */ - ignored?: boolean; + /** pull_request auto_merge_disabled event */ + "webhook-pull-request-auto-merge-disabled": { + /** @enum {string} */ + action: "auto_merge_disabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + reason: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["thread-subscription"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Delete a thread subscription - * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. - */ - "activity/delete-thread-subscription": { - parameters: { - path: { - thread_id: components["parameters"]["thread-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get Octocat - * @description Get the octocat as ASCII art - */ - "meta/get-octocat": { - parameters: { - query?: { - /** @description The words to show in Octocat's speech bubble */ - s?: string; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/octocat-stream": string; - }; - }; - }; - }; - /** - * List organizations - * @description Lists all organizations, in the order that they were created on GitHub. - * - * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. - */ - "orgs/list": { - parameters: { - query?: { - since?: components["parameters"]["since-org"]; - per_page?: components["parameters"]["per-page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get an organization - * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - * - * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." - */ - "orgs/get": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an organization - * @description Deletes an organization and all its repositories. - * - * The organization login will be unavailable for 90 days after deletion. - * - * Please review the Terms of Service regarding account deletion before using this endpoint: - * - * https://docs.github.com/site-policy/github-terms/github-terms-of-service - */ - "orgs/delete": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update an organization - * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - * - * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. - */ - "orgs/update": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Billing email address. This address is not publicized. */ - billing_email?: string; - /** @description The company name. */ - company?: string; - /** @description The publicly visible email address. */ - email?: string; - /** @description The Twitter username of the company. */ - twitter_username?: string; - /** @description The location. */ - location?: string; - /** @description The shorthand name of the company. */ - name?: string; - /** @description The description of the company. */ - description?: string; - /** @description Whether an organization can use organization projects. */ - has_organization_projects?: boolean; - /** @description Whether repositories that belong to the organization can use repository projects. */ - has_repository_projects?: boolean; - /** - * @description Default permission level members have for organization repositories. - * @default read - * @enum {string} - */ - default_repository_permission?: "read" | "write" | "admin" | "none"; - /** - * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. - * @default true - */ - members_can_create_repositories?: boolean; - /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_internal_repositories?: boolean; - /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_private_repositories?: boolean; - /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ - members_can_create_public_repositories?: boolean; - /** - * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. - * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. - * @enum {string} - */ - members_allowed_repository_creation_type?: "all" | "private" | "none"; - /** - * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_pages?: boolean; - /** - * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_public_pages?: boolean; - /** - * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. - * @default true - */ - members_can_create_private_pages?: boolean; - /** - * @description Whether organization members can fork private organization repositories. - * @default false - */ - members_can_fork_private_repositories?: boolean; - /** - * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. - * @default false - */ - web_commit_signoff_required?: boolean; - /** @example "http://github.blog" */ - blog?: string; - /** - * @description Whether GitHub Advanced Security is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - advanced_security_enabled_for_new_repositories?: boolean; - /** - * @description Whether Dependabot alerts is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependabot_alerts_enabled_for_new_repositories?: boolean; - /** - * @description Whether Dependabot security updates is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependabot_security_updates_enabled_for_new_repositories?: boolean; - /** - * @description Whether dependency graph is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - dependency_graph_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - secret_scanning_enabled_for_new_repositories?: boolean; - /** - * @description Whether secret scanning push protection is automatically enabled for new repositories. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. - */ - secret_scanning_push_protection_enabled_for_new_repositories?: boolean; - /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ - secret_scanning_push_protection_custom_link_enabled?: boolean; - /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ - secret_scanning_push_protection_custom_link?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-full"]; - }; - }; - 409: components["responses"]["conflict"]; - /** @description Validation failed */ - 422: { - content: { - "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; - }; - }; - }; - }; - /** - * Get GitHub Actions cache usage for an organization - * @description Gets the total GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - "actions/get-actions-cache-usage-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; - }; - }; - }; - }; - /** - * List repositories with GitHub Actions cache usage for an organization - * @description Lists repositories and their GitHub Actions cache usage for an organization. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. - */ - "actions/get-actions-cache-usage-by-repo-for-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** pull_request auto_merge_enabled event */ + "webhook-pull-request-auto-merge-enabled": { + /** @enum {string} */ + action: "auto_merge_enabled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + reason?: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - content: { - "application/json": { - total_count: number; - repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; - }; - }; - }; - }; - }; - /** - * Get the customization template for an OIDC subject claim for an organization - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `read:org` scope to use this endpoint. - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - */ - "oidc/get-oidc-custom-sub-template-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description A JSON serialized template for OIDC subject claim customization */ - 200: { - content: { - "application/json": components["schemas"]["oidc-custom-sub"]; - }; - }; - }; - }; - /** - * Set the customization template for an OIDC subject claim for an organization - * @description Creates or updates the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `write:org` scope to use this endpoint. - * GitHub Apps must have the `admin:org` permission to use this endpoint. - */ - "oidc/update-oidc-custom-sub-template-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["oidc-custom-sub"]; - }; - }; - responses: { - /** @description Empty response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get GitHub Actions permissions for an organization - * @description Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/get-github-actions-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-organization-permissions"]; - }; - }; - }; - }; - /** - * Set GitHub Actions permissions for an organization - * @description Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-github-actions-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - enabled_repositories: components["schemas"]["enabled-repositories"]; - allowed_actions?: components["schemas"]["allowed-actions"]; + /** pull_request closed event */ + "webhook-pull-request-closed": { + /** @enum {string} */ + action: "closed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories enabled for GitHub Actions in an organization - * @description Lists the selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/list-selected-repositories-enabled-github-actions-organization": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["repository"][]; - }; - }; - }; - }; - }; - /** - * Set selected repositories enabled for GitHub Actions in an organization - * @description Replaces the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-selected-repositories-enabled-github-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description List of repository IDs to enable for GitHub Actions. */ - selected_repository_ids: number[]; + /** pull_request converted_to_draft event */ + "webhook-pull-request-converted-to-draft": { + /** @enum {string} */ + action: "converted_to_draft"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Enable a selected repository for GitHub Actions in an organization - * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/enable-selected-repository-github-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - repository_id: components["parameters"]["repository-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Disable a selected repository for GitHub Actions in an organization - * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/disable-selected-repository-github-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - repository_id: components["parameters"]["repository-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get allowed actions and reusable workflows for an organization - * @description Gets the selected actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/get-allowed-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - }; - }; - /** - * Set allowed actions and reusable workflows for an organization - * @description Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-allowed-actions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get default workflow permissions for an organization - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, - * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/get-github-actions-default-workflow-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; - }; - }; - }; - }; - /** - * Set default workflow permissions for an organization - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions - * can submit approving pull request reviews. For more information, see - * "[Setting the permissions of the GITHUB_TOKEN for your organization](https://docs.github.com/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#setting-the-permissions-of-the-github_token-for-your-organization)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. - */ - "actions/set-github-actions-default-workflow-permissions-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; - }; - }; - responses: { - /** @description Success response */ - 204: { - content: never; - }; - }; - }; - /** - * List self-hosted runners for an organization - * @description Lists all self-hosted runners configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-self-hosted-runners-for-org": { - parameters: { - query?: { - /** @description The name of a self-hosted runner. */ - name?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** pull_request demilestoned event */ + "webhook-pull-request-demilestoned": { + /** @enum {string} */ + action: "demilestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; - content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; - }; - }; - }; - }; - /** - * List runner applications for an organization - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-runner-applications-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner-application"][]; - }; - }; - }; - }; - /** - * Create configuration for a just-in-time runner for an organization - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/generate-runner-jitconfig-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the new runner. */ - name: string; - /** @description The ID of the runner group to register the runner to. */ - runner_group_id: number; - /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ - labels: string[]; - /** - * @description The working directory to be used for job execution, relative to the runner install directory. - * @default _work - */ - work_folder?: string; - }; - }; - }; - responses: { - 201: components["responses"]["actions_runner_jitconfig"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create a registration token for an organization - * @description Returns a token that you can pass to the `config` script. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint. - * - * ``` - * ./config.sh --url https://github.com/octo-org --token TOKEN - * ``` - */ - "actions/create-registration-token-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Create a remove token for an organization - * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this - * endpoint. - * - * ``` - * ./config.sh remove --token TOKEN - * ``` - */ - "actions/create-remove-token-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Get a self-hosted runner for an organization - * @description Gets a specific self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/get-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner"]; - }; - }; - }; - }; - /** - * Delete a self-hosted runner from an organization - * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/delete-self-hosted-runner-from-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List labels for a self-hosted runner for an organization - * @description Lists all labels for a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-labels-for-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set custom labels for a self-hosted runner for an organization - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/set-custom-labels-for-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ - labels: string[]; + /** pull_request dequeued event */ + "webhook-pull-request-dequeued": { + /** @enum {string} */ + action: "dequeued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + reason: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request edited event */ + "webhook-pull-request-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the comment if the action was `edited`. */ + changes: { + base?: { + ref: { + from: string; + }; + sha: { + from: string; + }; + }; + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + title?: { + /** @description The previous version of the title if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Add custom labels to a self-hosted runner for an organization - * @description Add custom labels to a self-hosted runner configured in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/add-custom-labels-to-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to add to the runner. */ - labels: string[]; + /** pull_request enqueued event */ + "webhook-pull-request-enqueued": { + /** @enum {string} */ + action: "enqueued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request labeled event */ + "webhook-pull-request-labeled": { + /** @enum {string} */ + action: "labeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Remove all custom labels from a self-hosted runner for an organization - * @description Remove all custom labels from a self-hosted runner configured in an - * organization. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels_readonly"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove a custom label from a self-hosted runner for an organization - * @description Remove a custom label from a self-hosted runner configured - * in an organization. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-custom-label-from-self-hosted-runner-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - runner_id: components["parameters"]["runner-id"]; - name: components["parameters"]["runner-label-name"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-org-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** pull_request locked event */ + "webhook-pull-request-locked": { + /** @enum {string} */ + action: "locked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["organization-actions-secret"][]; - }; - }; - }; - }; - }; - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-org-public-key": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-actions-secret"]; - }; - }; - }; - }; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/create-or-update-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/actions/secrets#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/delete-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` - * for repository access to a secret is set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-selected-repos-for-org-secret": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - }; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/set-selected-repos-for-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; + /** pull_request milestoned event */ + "webhook-pull-request-milestoned": { + /** @enum {string} */ + action: "milestoned"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + milestone?: components["schemas"]["milestone"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for - * repository access is set to `selected`. The visibility is set when you [Create or - * update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/add-selected-repo-to-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type is not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` - * for repository access is set to `selected`. The visibility is set when you [Create - * or update an organization secret](https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret). - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/remove-selected-repo-from-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * List organization variables - * @description Lists all organization variables. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-org-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** pull_request opened event */ + "webhook-pull-request-opened": { + /** @enum {string} */ + action: "opened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["organization-actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Create an organization variable - * @description Creates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/create-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; - /** - * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response when creating a variable */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get an organization variable - * @description Gets a specific variable in an organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/get-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-actions-variable"]; - }; - }; - }; - }; - /** - * Delete an organization variable - * @description Deletes an organization variable using the variable name. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/delete-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update an organization variable - * @description Updates an organization variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/update-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - /** - * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. - * @enum {string} - */ - visibility?: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for an organization variable - * @description Lists all repositories that can access an organization variable - * that is available to selected repositories. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-selected-repos-for-org-variable": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * Set selected repositories for an organization variable - * @description Replaces all repositories for an organization variable that is available - * to selected repositories. Organization variables that are available to selected - * repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this - * endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/set-selected-repos-for-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The IDs of the repositories that can access the organization variable. */ - selected_repository_ids: number[]; + /** pull_request ready_for_review event */ + "webhook-pull-request-ready-for-review": { + /** @enum {string} */ + action: "ready_for_review"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization variable - * @description Adds a repository to an organization variable that is available to selected repositories. - * Organization variables that are available to selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/add-selected-repo-to-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * Remove selected repository from an organization variable - * @description Removes a repository from an organization variable that is - * available to selected repositories. Organization variables that are available to - * selected repositories have their `visibility` field set to `selected`. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/remove-selected-repo-from-org-variable": { - parameters: { - path: { - org: components["parameters"]["org"]; - name: components["parameters"]["variable-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response when the visibility of the variable is not set to `selected` */ - 409: { - content: never; - }; - }; - }; - /** - * List users blocked by an organization - * @description List the users blocked by an organization. - */ - "orgs/list-blocked-users": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Check if a user is blocked by an organization - * @description Returns a 204 if the given user is blocked by the given organization. Returns a 404 if the organization is not blocking the user, or if the user account has been identified as spam by GitHub. - */ - "orgs/check-blocked-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description If the user is blocked */ - 204: { - content: never; - }; - /** @description If the user is not blocked */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Block a user from an organization - * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. - */ - "orgs/block-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Unblock a user from an organization - * @description Unblocks the given user on behalf of the specified organization. - */ - "orgs/unblock-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List code scanning alerts for an organization - * @description Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/list-alerts-for-org": { - parameters: { - query?: { - tool_name?: components["parameters"]["tool-name"]; - tool_guid?: components["parameters"]["tool-guid"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - direction?: components["parameters"]["direction"]; - /** @description If specified, only code scanning alerts with this state will be returned. */ - state?: components["schemas"]["code-scanning-alert-state-query"]; - /** @description The property by which to sort the results. */ - sort?: "created" | "updated"; - /** @description If specified, only code scanning alerts with this severity will be returned. */ - severity?: components["schemas"]["code-scanning-alert-severity"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List codespaces for the organization - * @description Lists the codespaces associated to a specified organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/list-in-organization": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Manage access control for organization codespaces - * @deprecated - * @description Sets which users can access codespaces in an organization. This is synonymous with granting or revoking codespaces access permissions for users according to the visibility. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/set-codespaces-access": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. - * @enum {string} - */ - visibility: "disabled" | "selected_members" | "all_members" | "all_members_and_outside_collaborators"; - /** @description The usernames of the organization members who should have access to codespaces in the organization. Required when `visibility` is `selected_members`. The provided list of usernames will replace any existing value. */ - selected_usernames?: string[]; - }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add users to Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/set-codespaces-access-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members whose codespaces be billed to the organization. */ - selected_usernames: string[]; + /** pull_request reopened event */ + "webhook-pull-request-reopened": { + /** @enum {string} */ + action: "reopened"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: components["schemas"]["pull-request"] & { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow updating the pull request's branch. */ + allow_update_branch?: boolean; + /** + * @description Whether to delete head branches when pull requests are merged. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a merge commit message. + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., "Merge pull request #123 from branch-name"). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a squash merge commit message: + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead.** + * @default false + */ + use_squash_pr_title_as_default: boolean; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review_comment created event */ + "webhook-pull-request-review-comment-created": { + /** @enum {string} */ + action: "created"; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review_comment deleted event */ + "webhook-pull-request-review-comment-deleted": { + /** @enum {string} */ + action: "deleted"; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review_comment edited event */ + "webhook-pull-request-review-comment-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the comment. */ + changes: { + body?: { + /** @description The previous version of the body. */ + from: string; + }; + }; + /** + * Pull Request Review Comment + * @description The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. + */ + comment: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge?: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft?: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review dismissed event */ + "webhook-pull-request-review-dismissed": { + /** @enum {string} */ + action: "dismissed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + /** @enum {string} */ + state: "dismissed" | "approved" | "changes_requested"; + /** Format: date-time */ + submitted_at: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove users from Codespaces access for an organization - * @deprecated - * @description Codespaces for the specified users will no longer be billed to the organization. - * - * To use this endpoint, the access settings for the organization must be set to `selected_members`. - * For information on how to change this setting, see "[Manage access control for organization codespaces](https://docs.github.com/rest/codespaces/organizations#manage-access-control-for-organization-codespaces)." - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/delete-codespaces-access-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members whose codespaces should not be billed to the organization. */ - selected_usernames: string[]; + /** pull_request_review edited event */ + "webhook-pull-request-review-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + state: string; + /** Format: date-time */ + submitted_at: string | null; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description Response when successfully modifying permissions. */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - /** @description Users are neither members nor collaborators of this organization. */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List organization secrets - * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/list-org-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** pull_request review_request_removed event */ + "webhook-pull-request-review-request-removed": { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title. + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + sender: components["schemas"]["simple-user-webhooks"]; + } | { + /** @enum {string} */ + action: "review_request_removed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["codespaces-org-secret"][]; - }; + /** pull_request review_requested event */ + "webhook-pull-request-review-requested": { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** User */ + requested_reviewer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + sender: components["schemas"]["simple-user-webhooks"]; + } | { + /** @enum {string} */ + action: "review_requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + requested_team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review submitted event */ + "webhook-pull-request-review-submitted": { + /** @enum {string} */ + action: "submitted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + /** @description The review that was affected. */ + review: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the review. */ + body: string | null; + /** @description A commit SHA for the review. */ + commit_id: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the review */ + id: number; + node_id: string; + /** Format: uri */ + pull_request_url: string; + state: string; + /** Format: date-time */ + submitted_at: string | null; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request_review_thread resolved event */ + "webhook-pull-request-review-thread-resolved": { + /** @enum {string} */ + action: "resolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number | null; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }[]; + node_id: string; + }; }; - }; - }; - }; - /** - * Get an organization public key - * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/get-org-public-key": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-public-key"]; - }; - }; - }; - }; - /** - * Get an organization secret - * @description Gets an organization secret without revealing its encrypted value. - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/get-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["codespaces-org-secret"]; - }; - }; - }; - }; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. - */ - "codespaces/create-or-update-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description The ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository IDs that can access the organization secret. You can only provide a list of repository IDs when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an organization secret - * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/delete-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/list-selected-repos-for-org-secret": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/set-selected-repos-for-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; + /** pull_request_review_thread unresolved event */ + "webhook-pull-request-review-thread-unresolved": { + /** @enum {string} */ + action: "unresolved"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Simple Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + closed_at: string | null; + /** Format: uri */ + comments_url: string; + /** Format: uri */ + commits_url: string; + created_at: string; + /** Format: uri */ + diff_url: string; + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + merge_commit_sha: string | null; + merged_at: string | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + number: number; + /** Format: uri */ + patch_url: string; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + /** Format: uri */ + review_comments_url: string; + /** @enum {string} */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + title: string; + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + thread: { + comments: { + _links: { + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + pull_request: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + }; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** @description The text of the comment. */ + body: string; + /** @description The SHA of the commit to which the comment applies. */ + commit_id: string; + /** Format: date-time */ + created_at: string; + /** @description The diff of the line that the comment refers to. */ + diff_hunk: string; + /** + * Format: uri + * @description HTML URL for the pull request review comment. + */ + html_url: string; + /** @description The ID of the pull request review comment. */ + id: number; + /** @description The comment ID to reply to. */ + in_reply_to_id?: number; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + line: number | null; + /** @description The node ID of the pull request review comment. */ + node_id: string; + /** @description The SHA of the original commit to which the comment applies. */ + original_commit_id: string; + /** @description The line of the blob to which the comment applies. The last line of the range for a multi-line comment */ + original_line: number; + /** @description The index of the original line in the diff to which the comment applies. */ + original_position: number; + /** @description The first line of the range for a multi-line comment. */ + original_start_line: number | null; + /** @description The relative path of the file to which the comment applies. */ + path: string; + /** @description The line index in the diff to which the comment applies. */ + position: number | null; + /** @description The ID of the pull request review to which the comment belongs. */ + pull_request_review_id: number | null; + /** + * Format: uri + * @description URL for the pull request that the review comment belongs to. + */ + pull_request_url: string; + /** Reactions */ + reactions: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** + * @description The side of the first line of the range for a multi-line comment. + * @enum {string} + */ + side: "LEFT" | "RIGHT"; + /** @description The first line of the range for a multi-line comment. */ + start_line: number | null; + /** + * @description The side of the first line of the range for a multi-line comment. + * @default RIGHT + * @enum {string|null} + */ + start_side: "LEFT" | "RIGHT" | null; + /** + * @description The level at which the comment is targeted, can be a diff line or a file. + * @enum {string} + */ + subject_type?: "line" | "file"; + /** Format: date-time */ + updated_at: string; + /** + * Format: uri + * @description URL for the pull request review comment + */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }[]; + node_id: string; + }; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/add-selected-repo-to-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type is not set to selected */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/remove-selected-repo-from-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get Copilot for Business seat information and settings for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets information about an organization's Copilot for Business subscription, including seat breakdown - * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com. - * For more information, see "[Configuring GitHub Copilot settings in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/get-copilot-organization-details": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": components["schemas"]["copilot-organization-details"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List all Copilot for Business seat assignments for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Lists all Copilot for Business seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle). - * - * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/list-copilot-seats": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - /** @description The number of results per page (max 100). */ - per_page?: number; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": { - /** @description Total number of Copilot For Business seats for the organization currently being billed. */ - total_seats?: number; - seats?: components["schemas"]["copilot-seat-details"][]; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add teams to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for all users within each specified team. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - "copilot/add-copilot-for-business-seats-for-teams": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description List of team names within the organization to which to grant access to GitHub Copilot. */ - selected_teams: string[]; + /** pull_request synchronize event */ + "webhook-pull-request-synchronize": { + /** @enum {string} */ + action: "synchronize"; + after: string; + before: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description OK */ - 201: { - content: { - "application/json": { - seats_created: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove teams from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for all members of each team specified. - * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/cancel-copilot-seat-assignment-for-teams": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of teams from which to revoke access to GitHub Copilot. */ - selected_teams: string[]; + /** pull_request unassigned event */ + "webhook-pull-request-unassigned": { + /** @enum {string} */ + action: "unassigned"; + /** User */ + assignee?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** pull_request unlabeled event */ + "webhook-pull-request-unlabeled": { + /** @enum {string} */ + action: "unlabeled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** Label */ + label?: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string | null; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string | null; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit message title. + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization" | "Mannequin"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": { - seats_cancelled: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add users to the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Purchases a GitHub Copilot for Business seat for each user specified. - * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - * - * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy. - * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)". - * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)". - */ - "copilot/add-copilot-for-business-seats-for-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members to be granted access to GitHub Copilot. */ - selected_usernames: string[]; + /** pull_request unlocked event */ + "webhook-pull-request-unlocked": { + /** @enum {string} */ + action: "unlocked"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + /** @description The pull request number. */ + number: number; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** Pull Request */ + pull_request: { + _links: { + /** Link */ + comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + commits: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + html: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + issue: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comment: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + review_comments: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + self: { + /** Format: uri-template */ + href: string; + }; + /** Link */ + statuses: { + /** Format: uri-template */ + href: string; + }; + }; + /** @enum {string|null} */ + active_lock_reason: "resolved" | "off-topic" | "too heated" | "spam" | null; + additions?: number; + /** User */ + assignee: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + assignees: ({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null)[]; + /** + * AuthorAssociation + * @description How the author is associated with the repository. + * @enum {string} + */ + author_association: "COLLABORATOR" | "CONTRIBUTOR" | "FIRST_TIMER" | "FIRST_TIME_CONTRIBUTOR" | "MANNEQUIN" | "MEMBER" | "NONE" | "OWNER"; + /** + * PullRequestAutoMerge + * @description The status of auto merging a pull request. + */ + auto_merge: { + /** @description Commit message for the merge commit. */ + commit_message: string | null; + /** @description Title for the merge commit message. */ + commit_title: string; + /** User */ + enabled_by: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method: "merge" | "squash" | "rebase"; + } | null; + base: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + body: string | null; + changed_files?: number; + /** Format: date-time */ + closed_at: string | null; + comments?: number; + /** Format: uri */ + comments_url: string; + commits?: number; + /** Format: uri */ + commits_url: string; + /** Format: date-time */ + created_at: string; + deletions?: number; + /** Format: uri */ + diff_url: string; + /** @description Indicates whether or not the pull request is a draft. */ + draft: boolean; + head: { + label: string; + ref: string; + /** + * Repository + * @description A git repository + */ + repo: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + } | null; + sha: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + issue_url: string; + labels: { + /** @description 6-character hex code, without the leading #, identifying the color */ + color: string; + default: boolean; + description: string | null; + id: number; + /** @description The name of the label. */ + name: string; + node_id: string; + /** + * Format: uri + * @description URL for the label + */ + url: string; + }[]; + locked: boolean; + /** @description Indicates whether maintainers can modify the pull request. */ + maintainer_can_modify?: boolean; + merge_commit_sha: string | null; + mergeable?: boolean | null; + mergeable_state?: string; + merged?: boolean | null; + /** Format: date-time */ + merged_at: string | null; + /** User */ + merged_by?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Milestone + * @description A collection of related issues and pull requests. + */ + milestone: { + /** Format: date-time */ + closed_at: string | null; + closed_issues: number; + /** Format: date-time */ + created_at: string; + /** User */ + creator: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + description: string | null; + /** Format: date-time */ + due_on: string | null; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + labels_url: string; + node_id: string; + /** @description The number of the milestone. */ + number: number; + open_issues: number; + /** + * @description The state of the milestone. + * @enum {string} + */ + state: "open" | "closed"; + /** @description The title of the milestone. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + node_id: string; + /** @description Number uniquely identifying the pull request within its repository. */ + number: number; + /** Format: uri */ + patch_url: string; + rebaseable?: boolean | null; + requested_reviewers: (({ + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null) | { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + })[]; + requested_teams: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }[]; + /** Format: uri-template */ + review_comment_url: string; + review_comments?: number; + /** Format: uri */ + review_comments_url: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state: "open" | "closed"; + /** Format: uri */ + statuses_url: string; + /** @description The title of the pull request. */ + title: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** User */ + user: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** push event */ + "webhook-push": { + /** @description The SHA of the most recent commit on `ref` after the push. */ + after: string; + base_ref: string | null; + /** @description The SHA of the most recent commit on `ref` before the push. */ + before: string; + /** @description An array of commit objects describing the pushed commits. (Pushed commits are all commits that are included in the `compare` between the `before` commit and the `after` commit.) The array includes a maximum of 20 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. This limit is applied to timeline events only and isn't applied to webhook deliveries. */ + commits: { + /** @description An array of files added in the commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + }[]; + /** @description URL that shows the changes in this `ref` update, from the `before` commit to the `after` commit. For a newly created `ref` that is directly based on the default branch, this is the comparison between the head of the default branch and the `after` commit. Otherwise, this shows all commits until the `after` commit. */ + compare: string; + /** @description Whether this push created the `ref`. */ + created: boolean; + /** @description Whether this push deleted the `ref`. */ + deleted: boolean; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description Whether this push was a force push of the `ref`. */ + forced: boolean; + /** Commit */ + head_commit: { + /** @description An array of files added in the commit. */ + added?: string[]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description Whether this commit is distinct from any that have been pushed before. */ + distinct: boolean; + id: string; + /** @description The commit message. */ + message: string; + /** @description An array of files modified by the commit. */ + modified?: string[]; + /** @description An array of files removed in the commit. */ + removed?: string[]; + /** + * Format: date-time + * @description The ISO 8601 timestamp of the commit. + */ + timestamp: string; + tree_id: string; + /** + * Format: uri + * @description URL that points to the commit API resource. + */ + url: string; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + pusher: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email?: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** @description The full git ref that was pushed. Example: `refs/heads/main` or `refs/tags/v3.14.1`. */ + ref: string; + /** + * Repository + * @description A git repository + */ + repository: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + */ + has_discussions: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + /** @description Whether to require contributors to sign off on web-based commits */ + web_commit_signoff_required?: boolean; + }; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + "webhook-registry-package-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string | null; + description: string | null; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + package_type: string; + package_version: { + author?: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + body?: string | Record; + body_html?: string; + container_metadata?: { + labels?: Record; + manifest?: Record; + tag?: { + digest?: string; + name?: string; + }; + }; + created_at?: string; + description: string; + docker_metadata?: { + tags?: string[]; + }[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + npm_metadata?: { + name?: string; + version?: string; + npm_user?: string; + author?: (string | Record) | null; + bugs?: (string | Record) | null; + dependencies?: Record; + dev_dependencies?: Record; + peer_dependencies?: Record; + optional_dependencies?: Record; + description?: string; + dist?: (string | Record) | null; + git_head?: string; + homepage?: string; + license?: string; + main?: string; + repository?: (string | Record) | null; + scripts?: Record; + id?: string; + node_version?: string; + npm_version?: string; + has_shrinkwrap?: boolean; + maintainers?: string[]; + contributors?: string[]; + engines?: Record; + keywords?: string[]; + files?: string[]; + bin?: Record; + man?: Record; + directories?: (string | Record) | null; + os?: string[]; + cpu?: string[]; + readme?: string; + installation_command?: string; + release_id?: number; + commit_oid?: string; + published_via_actions?: boolean; + deleted_by_id?: number; + } | null; + nuget_metadata?: { + id?: (string | Record | number) | null; + name?: string; + value?: boolean | string | number | { + url?: string; + branch?: string; + commit?: string; + type?: string; + }; + }[] | null; + package_files: { + content_type: string; + created_at: string; + download_url: string; + id: number; + md5: string | null; + name: string; + sha1: string | null; + sha256: string | null; + size: number; + state: string | null; + updated_at: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + prerelease?: boolean; + published_at?: string; + tag_name?: string; + target_commitish?: string; + url?: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish?: string; + target_oid?: string; + updated_at?: string; + version: string; + } | null; + registry: { + about_url?: string; + name?: string; + type?: string; + url?: string; + vendor?: string; + } | null; + updated_at: string | null; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + "webhook-registry-package-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + registry_package: { + created_at: string; + description: unknown; + ecosystem: string; + html_url: string; + id: number; + name: string; + namespace: string; + owner: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + package_type: string; + package_version: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + body: string; + body_html: string; + created_at: string; + description: string; + docker_metadata?: ({ + tags?: string[]; + } | null)[]; + draft?: boolean; + html_url: string; + id: number; + installation_command: string; + manifest?: string; + metadata: { + [key: string]: unknown; + }[]; + name: string; + package_files: { + content_type?: string; + created_at?: string; + download_url?: string; + id?: number; + md5?: string | null; + name?: string; + sha1?: string | null; + sha256?: string; + size?: number; + state?: string; + updated_at?: string; + }[]; + package_url: string; + prerelease?: boolean; + release?: { + author: { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + created_at: string; + draft: boolean; + html_url: string; + id: number; + name: string; + prerelease: boolean; + published_at: string; + tag_name: string; + target_commitish: string; + url: string; + }; + rubygems_metadata?: components["schemas"]["webhook-rubygems-metadata"][]; + summary: string; + tag_name?: string; + target_commitish: string; + target_oid: string; + updated_at: string; + version: string; + }; + registry: Record; + updated_at: string; + }; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** release created event */ + "webhook-release-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** release deleted event */ + "webhook-release-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description OK */ - 201: { - content: { - "application/json": { - seats_created: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove users from the Copilot for Business subscription for an organization - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Cancels the Copilot for Business seat assignment for each user specified. - * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users. - * - * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)" - * - * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)". - * - * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must - * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/cancel-copilot-seat-assignment-for-users": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The usernames of the organization members for which to revoke access to GitHub Copilot. */ - selected_usernames: string[]; + /** release edited event */ + "webhook-release-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + body?: { + /** @description The previous version of the body if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + make_latest?: { + /** @description Whether this release was explicitly `edited` to be the latest. */ + to: boolean; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** release prereleased event */ + "webhook-release-prereleased": { + /** @enum {string} */ + action: "prereleased"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + } & { + assets?: Record[]; + assets_url?: string; + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + body?: string | null; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + node_id?: string; + /** + * @description Whether the release is identified as a prerelease or a full release. + * @enum {boolean} + */ + prerelease: true; + published_at?: string | null; + tag_name?: string; + tarball_url?: string | null; + target_commitish?: string; + upload_url?: string; + url?: string; + zipball_url?: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** release published event */ + "webhook-release-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + } & { + assets?: Record[]; + assets_url?: string; + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + body?: string | null; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + node_id?: string; + prerelease?: boolean; + /** Format: date-time */ + published_at: string | null; + tag_name?: string; + tarball_url?: string | null; + target_commitish?: string; + upload_url?: string; + url?: string; + zipball_url?: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** release released event */ + "webhook-release-released": { + /** @enum {string} */ + action: "released"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + /** + * Release + * @description The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. + */ + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** release unpublished event */ + "webhook-release-unpublished": { + /** @enum {string} */ + action: "unpublished"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + release: { + assets: { + /** Format: uri */ + browser_download_url: string; + content_type: string; + /** Format: date-time */ + created_at: string; + download_count: number; + id: number; + label: string | null; + /** @description The file name of the asset. */ + name: string; + node_id: string; + size: number; + /** + * @description State of the release asset. + * @enum {string} + */ + state: "uploaded"; + /** Format: date-time */ + updated_at: string; + /** User */ + uploader?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + url: string; + }[]; + /** Format: uri */ + assets_url: string; + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + body: string | null; + /** Format: date-time */ + created_at: string | null; + /** Format: uri */ + discussion_url?: string; + /** @description Whether the release is a draft or published */ + draft: boolean; + /** Format: uri */ + html_url: string; + id: number; + name: string | null; + node_id: string; + /** @description Whether the release is identified as a prerelease or a full release. */ + prerelease: boolean; + /** Format: date-time */ + published_at: string | null; + /** Reactions */ + reactions?: { + "+1": number; + "-1": number; + confused: number; + eyes: number; + heart: number; + hooray: number; + laugh: number; + rocket: number; + total_count: number; + /** Format: uri */ + url: string; + }; + /** @description The name of the tag. */ + tag_name: string; + /** Format: uri */ + tarball_url: string | null; + /** @description Specifies the commitish value that determines where the Git tag is created from. */ + target_commitish: string; + /** Format: uri-template */ + upload_url: string; + /** Format: uri */ + url: string; + /** Format: uri */ + zipball_url: string | null; + } & { + assets?: Record[]; + assets_url?: string; + author?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + body?: string | null; + created_at?: string; + draft?: boolean; + html_url?: string; + id?: number; + name?: string | null; + node_id?: string; + prerelease?: boolean; + published_at: string | null; + tag_name?: string; + tarball_url?: string | null; + target_commitish?: string; + upload_url?: string; + url?: string; + zipball_url?: string | null; + }; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** Repository advisory published event */ + "webhook-repository-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** Repository advisory reported event */ + "webhook-repository-advisory-reported": { + /** @enum {string} */ + action: "reported"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + repository_advisory: components["schemas"]["repository-advisory"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** repository archived event */ + "webhook-repository-archived": { + /** @enum {string} */ + action: "archived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository created event */ + "webhook-repository-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository deleted event */ + "webhook-repository-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_dispatch event */ + "webhook-repository-dispatch-sample": { + /** @enum {string} */ + action: "sample.collected"; + branch: string; + client_payload: { + [key: string]: unknown; + } | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository edited event */ + "webhook-repository-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + default_branch?: { + from: string; + }; + description?: { + from: string | null; + }; + homepage?: { + from: string | null; + }; + topics?: { + from?: string[] | null; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_import event */ + "webhook-repository-import": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** @enum {string} */ + status: "success" | "cancelled" | "failure"; + }; + /** repository privatized event */ + "webhook-repository-privatized": { + /** @enum {string} */ + action: "privatized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository publicized event */ + "webhook-repository-publicized": { + /** @enum {string} */ + action: "publicized"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository renamed event */ + "webhook-repository-renamed": { + /** @enum {string} */ + action: "renamed"; + changes: { + repository: { + name: { + from: string; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository ruleset created event */ + "webhook-repository-ruleset-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository ruleset deleted event */ + "webhook-repository-ruleset-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository ruleset edited event */ + "webhook-repository-ruleset-edited": { + /** @enum {string} */ + action: "edited"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + repository_ruleset: components["schemas"]["repository-ruleset"]; + changes?: { + name?: { + from?: string; + }; + enforcement?: { + from?: string; + }; + conditions?: { + added?: components["schemas"]["repository-ruleset-conditions"][]; + deleted?: components["schemas"]["repository-ruleset-conditions"][]; + updated?: { + condition?: components["schemas"]["repository-ruleset-conditions"]; + changes?: { + condition_type?: { + from?: string; + }; + target?: { + from?: string; + }; + include?: { + from?: string[]; + }; + exclude?: { + from?: string[]; + }; + }; + }[]; + }; + rules?: { + added?: components["schemas"]["repository-rule"][]; + deleted?: components["schemas"]["repository-rule"][]; + updated?: { + rule?: components["schemas"]["repository-rule"]; + changes?: { + configuration?: { + from?: string; + }; + rule_type?: { + from?: string; + }; + pattern?: { + from?: string; + }; + }; + }[]; + }; + }; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository transferred event */ + "webhook-repository-transferred": { + /** @enum {string} */ + action: "transferred"; + changes: { + owner: { + from: { + /** Organization */ + organization?: { + /** Format: uri */ + avatar_url: string; + description: string | null; + /** Format: uri */ + events_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url?: string; + id: number; + /** Format: uri */ + issues_url: string; + login: string; + /** Format: uri-template */ + members_url: string; + node_id: string; + /** Format: uri-template */ + public_members_url: string; + /** Format: uri */ + repos_url: string; + /** Format: uri */ + url: string; + }; + /** User */ + user?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository unarchived event */ + "webhook-repository-unarchived": { + /** @enum {string} */ + action: "unarchived"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_vulnerability_alert create event */ + "webhook-repository-vulnerability-alert-create": { + /** @enum {string} */ + action: "create"; + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + } & { + affected_package_name?: string; + affected_range?: string; + created_at?: string; + external_identifier?: string; + external_reference?: string | null; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "open"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_vulnerability_alert dismiss event */ + "webhook-repository-vulnerability-alert-dismiss": { + /** @enum {string} */ + action: "dismiss"; + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_comment?: string | null; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + } & { + affected_package_name?: string; + affected_range?: string; + created_at?: string; + dismiss_comment?: string | null; + dismiss_reason: string; + dismissed_at: string; + /** User */ + dismisser: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier?: string; + external_reference?: string | null; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "dismissed"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_vulnerability_alert reopen event */ + "webhook-repository-vulnerability-alert-reopen": { + /** @enum {string} */ + action: "reopen"; + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + } & { + affected_package_name?: string; + affected_range?: string; + created_at?: string; + external_identifier?: string; + external_reference?: string | null; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "open"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** repository_vulnerability_alert resolve event */ + "webhook-repository-vulnerability-alert-resolve": { + /** @enum {string} */ + action: "resolve"; + alert: { + affected_package_name: string; + affected_range: string; + created_at: string; + dismiss_reason?: string; + dismissed_at?: string; + /** User */ + dismisser?: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + external_identifier: string; + /** Format: uri */ + external_reference: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id: string; + id: number; + node_id: string; + number: number; + severity: string; + /** @enum {string} */ + state: "open" | "dismissed" | "fixed"; + } & { + affected_package_name?: string; + affected_range?: string; + created_at?: string; + external_identifier?: string; + external_reference?: string | null; + fix_reason?: string; + /** Format: date-time */ + fixed_at?: string; + fixed_in?: string; + ghsa_id?: string; + id?: number; + node_id?: string; + number?: number; + severity?: string; + /** @enum {string} */ + state: "fixed" | "open"; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** secret_scanning_alert created event */ + "webhook-secret-scanning-alert-created": { + /** @enum {string} */ + action: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created": { + /** @enum {string} */ + action?: "created"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + installation?: components["schemas"]["simple-installation"]; + location: components["schemas"]["secret-scanning-location"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** Secret Scanning Alert Location Created Event */ + "webhook-secret-scanning-alert-location-created-form-encoded": { + /** @description A URL-encoded string of the secret_scanning_alert_location.created JSON payload. The decoded payload is a JSON object. */ + payload: string; + }; + /** secret_scanning_alert reopened event */ + "webhook-secret-scanning-alert-reopened": { + /** @enum {string} */ + action: "reopened"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** secret_scanning_alert resolved event */ + "webhook-secret-scanning-alert-resolved": { + /** @enum {string} */ + action: "resolved"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** secret_scanning_alert revoked event */ + "webhook-secret-scanning-alert-revoked": { + /** @enum {string} */ + action: "revoked"; + alert: components["schemas"]["secret-scanning-alert-webhook"]; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** security_advisory published event */ + "webhook-security-advisory-published": { + /** @enum {string} */ + action: "published"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string | null; + }; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** security_advisory updated event */ + "webhook-security-advisory-updated": { + /** @enum {string} */ + action: "updated"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string | null; + }; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** security_advisory withdrawn event */ + "webhook-security-advisory-withdrawn": { + /** @enum {string} */ + action: "withdrawn"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + /** @description The details of the security advisory, including summary, description, and severity. */ + security_advisory: { + cvss: { + score: number; + vector_string: string | null; + }; + cwes: { + cwe_id: string; + name: string; + }[]; + description: string; + ghsa_id: string; + identifiers: { + type: string; + value: string; + }[]; + published_at: string; + references: { + /** Format: uri */ + url: string; + }[]; + severity: string; + summary: string; + updated_at: string; + vulnerabilities: { + first_patched_version: { + identifier: string; + } | null; + package: { + ecosystem: string; + name: string; + }; + severity: string; + vulnerable_version_range: string; + }[]; + withdrawn_at: string; + }; + sender?: components["schemas"]["simple-user-webhooks"]; }; - }; - }; - responses: { - /** @description OK */ - 200: { - content: { - "application/json": { - seats_cancelled: number; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, the seat management setting is set to enable Copilot for all users or is unconfigured, or a user's seat cannot be cancelled because it was assigned to them via a team. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List Dependabot alerts for an organization - * @description Lists Dependabot alerts for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - "dependabot/list-alerts-for-org": { - parameters: { - query?: { - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - scope?: components["parameters"]["dependabot-alert-scope"]; - sort?: components["parameters"]["dependabot-alert-sort"]; - direction?: components["parameters"]["direction"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - first?: components["parameters"]["pagination-first"]; - last?: components["parameters"]["pagination-last"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert-with-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List organization secrets - * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/list-org-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** security_and_analysis event */ + "webhook-security-and-analysis": { + changes: { + from?: { + security_and_analysis?: components["schemas"]["security-and-analysis"]; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["full-repository"]; + sender?: components["schemas"]["simple-user-webhooks"]; + }; + /** sponsorship cancelled event */ + "webhook-sponsorship-cancelled": { + /** @enum {string} */ + action: "cancelled"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["organization-dependabot-secret"][]; - }; + /** sponsorship created event */ + "webhook-sponsorship-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - }; - }; - }; - /** - * Get an organization public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/get-org-public-key": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-public-key"]; - }; - }; - }; - }; - /** - * Get an organization secret - * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/get-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["organization-dependabot-secret"]; - }; - }; - }; - }; - /** - * Create or update an organization secret - * @description Creates or updates an organization secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization - * permission to use this endpoint. - */ - "dependabot/create-or-update-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/dependabot/secrets#get-an-organization-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - /** - * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. - * @enum {string} - */ - visibility: "all" | "private" | "selected"; - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids?: string[]; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete an organization secret - * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/delete-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for an organization secret - * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/list-selected-repos-for-org-secret": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; + /** sponsorship edited event */ + "webhook-sponsorship-edited": { + /** @enum {string} */ + action: "edited"; + changes: { + privacy_level?: { + /** @description The `edited` event types include the details about the change when someone edits a sponsorship to change the privacy. */ + from: string; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - }; - }; - }; - /** - * Set selected repositories for an organization secret - * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/set-selected-repos-for-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ - selected_repository_ids: number[]; + /** sponsorship pending_cancellation event */ + "webhook-sponsorship-pending-cancellation": { + /** @enum {string} */ + action: "pending_cancellation"; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + effective_date?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Add selected repository to an organization secret - * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/add-selected-repo-to-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type is not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Remove selected repository from an organization secret - * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. - */ - "dependabot/remove-selected-repo-from-org-secret": { - parameters: { - path: { - org: components["parameters"]["org"]; - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description Response when repository was removed from the selected list */ - 204: { - content: never; - }; - /** @description Conflict when visibility type not set to selected */ - 409: { - content: never; - }; - }; - }; - /** - * Get list of conflicting packages during Docker migration for organization - * @description Lists all packages that are in a specific organization, are readable by the requesting user, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - "packages/list-docker-migration-conflicting-packages-for-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** List public organization events */ - "activity/list-public-org-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List failed organization invitations - * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. - */ - "orgs/list-failed-invitations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** sponsorship pending_tier_change event */ + "webhook-sponsorship-pending-tier-change": { + /** @enum {string} */ + action: "pending_tier_change"; + changes: { + tier: { + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + from: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + /** @description The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. */ + effective_date?: string; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; + /** sponsorship tier_changed event */ + "webhook-sponsorship-tier-changed": { + /** @enum {string} */ + action: "tier_changed"; + changes: { + tier: { + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + from: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository?: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + sponsorship: { + created_at: string; + maintainer?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + node_id: string; + privacy_level: string; + /** User */ + sponsor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** User */ + sponsorable: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** + * Sponsorship Tier + * @description The `tier_changed` and `pending_tier_change` will include the original tier before the change or pending change. For more information, see the pending tier change payload. + */ + tier: { + created_at: string; + description: string; + is_custom_ammount?: boolean; + is_custom_amount?: boolean; + is_one_time: boolean; + monthly_price_in_cents: number; + monthly_price_in_dollars: number; + name: string; + node_id: string; + }; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** List organization webhooks */ - "orgs/list-webhooks": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["org-hook"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create an organization webhook - * @description Here's how you can create a hook that posts payloads in JSON format: - */ - "orgs/create-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Must be passed as "web". */ - name: string; - /** @description Key/value pairs to provide settings for this webhook. */ - config: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - /** @example "kdaigle" */ - username?: string; - /** @example "password" */ - password?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/orgs/octocat/hooks/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an organization webhook - * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." - */ - "orgs/get-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-hook"]; + /** star created event */ + "webhook-star-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: string | null; + }; + /** star deleted event */ + "webhook-star-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** @description The time the star was created. This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. Will be `null` for the `deleted` action. */ + starred_at: unknown; + }; + /** status event */ + "webhook-status": { + /** Format: uri */ + avatar_url?: string | null; + /** @description An array of branch objects containing the status' SHA. Each branch contains the given SHA, but the SHA may or may not be the head of the branch. The array includes a maximum of 10 branches. */ + branches: { + commit: { + sha: string | null; + /** Format: uri */ + url: string | null; + }; + name: string; + protected: boolean; + }[]; + commit: { + /** User */ + author: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + comments_url: string; + commit: { + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + comment_count: number; + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + } & { + date: string; + email?: string; + name?: string; + }; + message: string; + tree: { + sha: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + url: string; + verification: { + payload: string | null; + /** @enum {string} */ + reason: "expired_key" | "not_signing_key" | "gpgverify_error" | "gpgverify_unavailable" | "unsigned" | "unknown_signature_type" | "no_user" | "unverified_email" | "bad_email" | "unknown_key" | "malformed_signature" | "invalid" | "valid" | "bad_cert" | "ocsp_pending"; + signature: string | null; + verified: boolean; + }; + }; + /** User */ + committer: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id?: number; + login?: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + html_url: string; + node_id: string; + parents: { + /** Format: uri */ + html_url: string; + sha: string; + /** Format: uri */ + url: string; + }[]; + sha: string; + /** Format: uri */ + url: string; + }; + context: string; + created_at: string; + /** @description The optional human-readable description added to the status. */ + description: string | null; + enterprise?: components["schemas"]["enterprise-webhooks"]; + /** @description The unique identifier of the status. */ + id: number; + installation?: components["schemas"]["simple-installation"]; + name: string; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** @description The Commit SHA. */ + sha: string; + /** + * @description The new state. Can be `pending`, `success`, `failure`, or `error`. + * @enum {string} + */ + state: "pending" | "success" | "failure" | "error"; + /** @description The optional link added to the status. */ + target_url: string | null; + updated_at: string; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete an organization webhook */ - "orgs/delete-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update an organization webhook - * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." - */ - "orgs/update-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Key/value pairs to provide settings for this webhook. */ - config?: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - /** @example "web" */ - name?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a webhook configuration for an organization - * @description Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/orgs/webhooks#get-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. - */ - "orgs/get-webhook-config-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * Update a webhook configuration for an organization - * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." - * - * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. - */ - "orgs/update-webhook-config-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** team_add event */ + "webhook-team-add": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * List deliveries for an organization webhook - * @description Returns a list of webhook deliveries for a webhook configured in an organization. - */ - "orgs/list-webhook-deliveries": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - cursor?: components["parameters"]["cursor"]; - redelivery?: boolean; - }; - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a webhook delivery for an organization webhook - * @description Returns a delivery for a webhook configured in an organization. - */ - "orgs/get-webhook-delivery": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Redeliver a delivery for an organization webhook - * @description Redeliver a delivery for a webhook configured in an organization. - */ - "orgs/redeliver-webhook-delivery": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Ping an organization webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - "orgs/ping-webhook": { - parameters: { - path: { - org: components["parameters"]["org"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get an organization installation for the authenticated app - * @description Enables an authenticated GitHub App to find the organization's installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-org-installation": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - /** - * List app installations for an organization - * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. - */ - "orgs/list-app-installations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** team added_to_repository event */ + "webhook-team-added-to-repository": { + /** @enum {string} */ + action: "added_to_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - content: { - "application/json": { - total_count: number; - installations: components["schemas"]["installation"][]; - }; + /** team created event */ + "webhook-team-created": { + /** @enum {string} */ + action: "created"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - }; - }; - }; - /** - * Get interaction restrictions for an organization - * @description Shows which type of GitHub user can interact with this organization and when the restriction expires. If there is no restrictions, you will see an empty response. - */ - "interactions/get-restrictions-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; - }; - }; - }; - }; - /** - * Set interaction restrictions for an organization - * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. - */ - "interactions/set-restrictions-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove interaction restrictions for an organization - * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. - */ - "interactions/remove-restrictions-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List pending organization invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - "orgs/list-pending-invitations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Filter invitations by their member role. */ - role?: "all" | "admin" | "direct_member" | "billing_manager" | "hiring_manager"; - /** @description Filter invitations by their invitation source. */ - invitation_source?: "all" | "member" | "scim"; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create an organization invitation - * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "orgs/create-invitation": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ - invitee_id?: number; - /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ - email?: string; - /** - * @description The role for the new member. - * * `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. - * * `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. - * * `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. - * @default direct_member - * @enum {string} - */ - role?: "admin" | "direct_member" | "billing_manager"; - /** @description Specify IDs for the teams you want to invite new members to. */ - team_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["organization-invitation"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Cancel an organization invitation - * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - */ - "orgs/cancel-invitation": { - parameters: { - path: { - org: components["parameters"]["org"]; - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List organization invitation teams - * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. - */ - "orgs/list-invitation-teams": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organization issues assigned to the authenticated user - * @description List issues in an organization assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list-for-org": { - parameters: { - query?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organization members - * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. - */ - "orgs/list-members": { - parameters: { - query?: { - /** @description Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners. */ - filter?: "2fa_disabled" | "all"; - /** @description Filter members returned by their role. */ - role?: "all" | "admin" | "member"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Check organization membership for a user - * @description Check if a user is, publicly or privately, a member of the organization. - */ - "orgs/check-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response if requester is an organization member and user is a member */ - 204: { - content: never; - }; - /** @description Response if requester is not an organization member */ - 302: { - headers: { - /** @example https://api.github.com/orgs/github/public_members/pezra */ - Location?: string; - }; - content: never; - }; - /** @description Not Found if requester is an organization member and user is not a member */ - 404: { - content: never; - }; - }; - }; - /** - * Remove an organization member - * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. - */ - "orgs/remove-member": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List codespaces for a user in organization - * @description Lists the codespaces that a member of an organization has for repositories in that organization. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/get-codespaces-for-user-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete a codespace from the organization - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/delete-from-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Stop a codespace for an organization user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `admin:org` scope to use this endpoint. - */ - "codespaces/stop-in-organization": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get Copilot for Business seat assignment details for a user - * @description **Note**: This endpoint is in beta and is subject to change. - * - * Gets the GitHub Copilot for Business seat assignment details for a member of an organization who currently has access to GitHub Copilot. - * - * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. - */ - "copilot/get-copilot-seat-assignment-details-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description The user's GitHub Copilot seat details, including usage. */ - 200: { - content: { - "application/json": components["schemas"]["copilot-seat-details"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Copilot for Business is not enabled for this organization or the user has a pending organization invitation. */ - 422: { - content: never; - }; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get organization membership for a user - * @description In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. - */ - "orgs/get-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set organization membership for a user - * @description Only authenticated organization owners can add a member to the organization or update the member's role. - * - * * If the authenticated user is _adding_ a member to the organization, the invited user will receive an email inviting them to the organization. The user's [membership status](https://docs.github.com/rest/orgs/members#get-organization-membership-for-a-user) will be `pending` until they accept the invitation. - * - * * Authenticated users can _update_ a user's membership by passing the `role` parameter. If the authenticated user changes a member's role to `admin`, the affected user will receive an email notifying them that they've been made an organization owner. If the authenticated user changes an owner's role to `member`, no email will be sent. - * - * **Rate limits** - * - * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. - */ - "orgs/set-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The role to give the user in the organization. Can be one of: - * * `admin` - The user will become an owner of the organization. - * * `member` - The user will become a non-owner member of the organization. - * @default member - * @enum {string} - */ - role?: "admin" | "member"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove organization membership for a user - * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. - * - * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. - */ - "orgs/remove-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organization migrations - * @description Lists the most recent migrations, including both exports (which can be started through the REST API) and imports (which cannot be started using the REST API). - * - * A list of `repositories` is only returned for export migrations. - */ - "migrations/list-for-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Exclude attributes from the API response to improve performance */ - exclude?: "repositories"[]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["migration"][]; - }; - }; - }; - }; - /** - * Start an organization migration - * @description Initiates the generation of a migration archive. - */ - "migrations/start-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A list of arrays indicating which repositories should be migrated. */ - repositories: string[]; - /** - * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. - * @default false - * @example true - */ - lock_repositories?: boolean; - /** - * @description Indicates whether metadata should be excluded and only git source should be included for the migration. - * @default false - */ - exclude_metadata?: boolean; - /** - * @description Indicates whether the repository git data should be excluded from the migration. - * @default false - */ - exclude_git_data?: boolean; - /** - * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). - * @default false - * @example true - */ - exclude_attachments?: boolean; - /** - * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). - * @default false - * @example true - */ - exclude_releases?: boolean; - /** - * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. - * @default false - * @example true - */ - exclude_owner_projects?: boolean; - /** - * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). - * @default false - * @example true - */ - org_metadata_only?: boolean; - /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ - exclude?: "repositories"[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an organization migration status - * @description Fetches the status of a migration. - * - * The `state` of a migration can be one of the following values: - * - * * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ - "migrations/get-status-for-org": { - parameters: { - query?: { - /** @description Exclude attributes from the API response to improve performance */ - exclude?: "repositories"[]; - }; - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** - * @description * `pending`, which means the migration hasn't started yet. - * * `exporting`, which means the migration is in progress. - * * `exported`, which means the migration finished successfully. - * * `failed`, which means the migration failed. - */ - 200: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download an organization migration archive - * @description Fetches the URL to a migration archive. - */ - "migrations/download-archive-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 302: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an organization migration archive - * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. - */ - "migrations/delete-archive-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unlock an organization repository - * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. - */ - "migrations/unlock-repo-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - repo_name: components["parameters"]["repo-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories in an organization migration - * @description List all the repositories for this organization migration. - */ - "migrations/list-repos-for-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - migration_id: components["parameters"]["migration-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List outside collaborators for an organization - * @description List all users who are outside collaborators of an organization. - */ - "orgs/list-outside-collaborators": { - parameters: { - query?: { - /** @description Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. */ - filter?: "2fa_disabled" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Convert an organization member to outside collaborator - * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - */ - "orgs/convert-member-to-outside-collaborator": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. - * @default false - */ - async?: boolean; - }; - }; - }; - responses: { - /** @description User is getting converted asynchronously */ - 202: { - content: { - "application/json": Record; - }; - }; - /** @description User was converted */ - 204: { - content: never; - }; - /** @description Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ - 403: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove outside collaborator from an organization - * @description Removing a user from this list will remove them from all the organization's repositories. - */ - "orgs/remove-outside-collaborator": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Unprocessable Entity if user is a member of the organization */ - 422: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - }; - }; - /** - * List packages for an organization - * @description Lists packages in an organization readable by the user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/list-packages-for-organization": { - parameters: { - query: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - visibility?: components["parameters"]["package-visibility"]; - /** @description Page number of the results to fetch. */ - page?: number; - /** @description The number of results per page (max 100). */ - per_page?: number; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a package for an organization - * @description Gets a specific package in an organization. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-for-organization": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - /** - * Delete a package for an organization - * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-for-org": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package for an organization - * @description Restores an entire package in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-for-org": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List package versions for a package owned by an organization - * @description Lists package versions for a package owned by an organization. - * - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-all-package-versions-for-package-owned-by-org": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - /** @description The state of the package, either active or deleted. */ - state?: "active" | "deleted"; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a package version for an organization - * @description Gets a specific package version in an organization. - * - * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-version-for-organization": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - /** - * Delete package version for an organization - * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-version-for-org": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore package version for an organization - * @description Restores a specific package version in an organization. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-version-for-org": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - org: components["parameters"]["org"]; - package_version_id: components["parameters"]["package-version-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List requests to access organization resources with fine-grained personal access tokens - * @description Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-requests": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - sort?: components["parameters"]["personal-access-token-sort"]; - direction?: components["parameters"]["direction"]; - owner?: components["parameters"]["personal-access-token-owner"]; - repository?: components["parameters"]["personal-access-token-repository"]; - permission?: components["parameters"]["personal-access-token-permission"]; - last_used_before?: components["parameters"]["personal-access-token-before"]; - last_used_after?: components["parameters"]["personal-access-token-after"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-programmatic-access-grant-request"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Review requests to access organization resources with fine-grained personal access tokens - * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/review-pat-grant-requests-in-bulk": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. */ - pat_request_ids?: number[]; - /** - * @description Action to apply to the requests. - * @enum {string} - */ - action: "approve" | "deny"; - /** @description Reason for approving or denying the requests. Max 1024 characters. */ - reason?: string | null; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Review a request to access organization resources with a fine-grained personal access token - * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/review-pat-grant-request": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the request for access via fine-grained personal access token. */ - pat_request_id: number; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the request. - * @enum {string} - */ - action: "approve" | "deny"; - /** @description Reason for approving or denying the request. Max 1024 characters. */ - reason?: string | null; - }; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List repositories requested to be accessed by a fine-grained personal access token - * @description Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_token_requests: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-request-repositories": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the request for access via fine-grained personal access token. */ - pat_request_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List fine-grained personal access tokens with access to organization resources - * @description Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grants": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - sort?: components["parameters"]["personal-access-token-sort"]; - direction?: components["parameters"]["direction"]; - owner?: components["parameters"]["personal-access-token-owner"]; - repository?: components["parameters"]["personal-access-token-repository"]; - permission?: components["parameters"]["personal-access-token-permission"]; - last_used_before?: components["parameters"]["personal-access-token-before"]; - last_used_after?: components["parameters"]["personal-access-token-after"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-programmatic-access-grant"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update the access to organization resources via fine-grained personal access tokens - * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/update-pat-accesses": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the fine-grained personal access token. - * @enum {string} - */ - action: "revoke"; - /** @description The IDs of the fine-grained personal access tokens. */ - pat_ids: number[]; - }; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update the access a fine-grained personal access token has to organization resources - * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: write` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/update-pat-access": { - parameters: { - path: { - org: components["parameters"]["org"]; - pat_id: components["parameters"]["fine-grained-personal-access-token-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Action to apply to the fine-grained personal access token. - * @enum {string} - */ - action: "revoke"; - }; - }; - }; - responses: { - 204: components["responses"]["no_content"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List repositories a fine-grained personal access token has access to - * @description Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can call this API, - * using the `organization_personal_access_tokens: read` permission. - * - * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. - */ - "orgs/list-pat-grant-repositories": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - /** @description Unique identifier of the fine-grained personal access token. */ - pat_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List organization projects - * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/list-for-org": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create an organization project - * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/create-for-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the project. */ - name: string; - /** @description The description of the project. */ - body?: string; + /** team deleted event */ + "webhook-team-deleted": { + /** @enum {string} */ + action: "deleted"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender?: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List public organization members - * @description Members of an organization can choose to have their membership publicized or not. - */ - "orgs/list-public-members": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Check public organization membership for a user - * @description Check if the provided user is a public member of the organization. - */ - "orgs/check-public-membership-for-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response if user is a public member */ - 204: { - content: never; - }; - /** @description Not Found if user is not a public member */ - 404: { - content: never; - }; - }; - }; - /** - * Set public organization membership for the authenticated user - * @description The user can publicize their own membership. (A user cannot publicize the membership for another user.) - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "orgs/set-public-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Remove public organization membership for the authenticated user - * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. - */ - "orgs/remove-public-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List organization repositories - * @description Lists repositories for the specified organization. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "repos/list-for-org": { - parameters: { - query?: { - /** @description Specifies the types of repositories you want returned. */ - type?: "all" | "public" | "private" | "forks" | "sources" | "member"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Create an organization repository - * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - "repos/create-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the repository. */ - name: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Whether the repository is private. - * @default false - */ - private?: boolean; - /** - * @description The visibility of the repository. - * @enum {string} - */ - visibility?: "public" | "private"; - /** - * @description Either `true` to enable issues for this repository or `false` to disable them. - * @default true - */ - has_issues?: boolean; - /** - * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. - * @default true - */ - has_projects?: boolean; - /** - * @description Either `true` to enable the wiki for this repository or `false` to disable it. - * @default true - */ - has_wiki?: boolean; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads?: boolean; - /** - * @description Either `true` to make this repo available as a template repository or `false` to prevent it. - * @default false - */ - is_template?: boolean; - /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ - team_id?: number; - /** - * @description Pass `true` to create an initial commit with empty README. - * @default false - */ - auto_init?: boolean; - /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ - gitignore_template?: string; - /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ - license_template?: string; - /** - * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.** - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @deprecated - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["repository"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all organization repository rulesets - * @description Get all the repository rulesets for an organization. - */ - "repos/get-org-rulesets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"][]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create an organization repository ruleset - * @description Create a repository ruleset for an organization. - */ - "repos/create-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - /** @description Request body */ - requestBody: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["org-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get an organization repository ruleset - * @description Get a repository ruleset for an organization. - */ - "repos/get-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update an organization repository ruleset - * @description Update a ruleset for an organization. - */ - "repos/update-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - /** @description Request body */ - requestBody?: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name?: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement?: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["org-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete an organization repository ruleset - * @description Delete a ruleset for an organization. - */ - "repos/delete-org-ruleset": { - parameters: { - path: { - org: components["parameters"]["org"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List secret scanning alerts for an organization - * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-alerts-for-org": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; - after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-secret-scanning-alert"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List repository security advisories for an organization - * @description Lists repository security advisories for an organization. - * - * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission. - */ - "security-advisories/list-org-repository-advisories": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "published"; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - /** @description The number of advisories to return per page. */ - per_page?: number; - /** @description Filter by the state of the repository advisories. Only advisories of this state will be returned. */ - state?: "triage" | "draft" | "published" | "closed"; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List security manager teams - * @description Lists teams that are security managers for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope. - * - * GitHub Apps must have the `administration` organization read permission to use this endpoint. - */ - "orgs/list-security-manager-teams": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-simple"][]; - }; - }; - }; - }; - /** - * Add a security manager team - * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - "orgs/add-security-manager-team": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description The organization has reached the maximum number of security manager teams. */ - 409: { - content: never; - }; - }; - }; - /** - * Remove a security manager team - * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." - * - * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope. - * - * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. - */ - "orgs/remove-security-manager-team": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get GitHub Actions billing for an organization - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - "billing/get-github-actions-billing-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-billing-usage"]; - }; - }; - }; - }; - /** - * Get GitHub Packages billing for an organization - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - "billing/get-github-packages-billing-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["packages-billing-usage"]; - }; - }; - }; - }; - /** - * Get shared storage billing for an organization - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `repo` or `admin:org` scope. - */ - "billing/get-shared-storage-billing-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["combined-billing-usage"]; - }; - }; - }; - }; - /** - * List teams - * @description Lists all teams in an organization that are visible to the authenticated user. - */ - "teams/list": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Create a team - * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." - * - * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". - */ - "teams/create": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the team. */ - name: string; - /** @description The description of the team. */ - description?: string; - /** @description List GitHub IDs for organization members who will become team maintainers. */ - maintainers?: string[]; - /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ - repo_names?: string[]; - /** - * @description The level of privacy this team should have. The options are: - * **For a non-nested team:** - * * `secret` - only visible to organization owners and members of this team. - * * `closed` - visible to all members of this organization. - * Default: `secret` - * **For a parent or child team:** - * * `closed` - visible to all members of this organization. - * Default for child team: `closed` - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description The notification setting the team has chosen. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * Default: `notifications_enabled` - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: number; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a team by name - * @description Gets a team using the team's `slug`. To create the `slug`, GitHub replaces special characters in the `name` string, changes all words to lowercase, and replaces spaces with a `-` separator. For example, `"My TEam Näme"` would become `my-team-name`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. - */ - "teams/get-by-name": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a team - * @description To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. - */ - "teams/delete-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a team - * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. - */ - "teams/update-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the team. */ - name?: string; - /** @description The description of the team. */ - description?: string; - /** - * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: - * **For a non-nested team:** - * * `secret` - only visible to organization owners and members of this team. - * * `closed` - visible to all members of this organization. - * **For a parent or child team:** - * * `closed` - visible to all members of this organization. - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: number | null; - }; - }; - }; - responses: { - /** @description Response when the updated information already exists */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List discussions - * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. - */ - "teams/list-discussions-in-org": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Pinned discussions only filter */ - pinned?: string; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion"][]; - }; - }; - }; - }; - /** - * Create a discussion - * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. - */ - "teams/create-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title: string; - /** @description The discussion post's body text. */ - body: string; - /** - * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. - * @default false - */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Get a discussion - * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - "teams/get-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Delete a discussion - * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - "teams/delete-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion - * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. - */ - "teams/update-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title?: string; - /** @description The discussion post's body text. */ - body?: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * List discussion comments - * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - "teams/list-discussion-comments-in-org": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"][]; - }; - }; - }; - }; - /** - * Create a discussion comment - * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. - */ - "teams/create-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; + /** team edited event */ + "webhook-team-edited": { + /** @enum {string} */ + action: "edited"; + /** @description The changes to the team if the action was `edited`. */ + changes: { + description?: { + /** @description The previous version of the description if the action was `edited`. */ + from: string; + }; + name?: { + /** @description The previous version of the name if the action was `edited`. */ + from: string; + }; + privacy?: { + /** @description The previous version of the team's privacy if the action was `edited`. */ + from: string; + }; + notification_setting?: { + /** @description The previous version of the team's notification setting if the action was `edited`. */ + from: string; + }; + repository?: { + permissions: { + from: { + /** @description The previous version of the team member's `admin` permission on a repository, if the action was `edited`. */ + admin?: boolean; + /** @description The previous version of the team member's `pull` permission on a repository, if the action was `edited`. */ + pull?: boolean; + /** @description The previous version of the team member's `push` permission on a repository, if the action was `edited`. */ + push?: boolean; + }; + }; + }; + }; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Get a discussion comment - * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - "teams/get-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Delete a discussion comment - * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - "teams/delete-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion comment - * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. - */ - "teams/update-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; + /** team removed_from_repository event */ + "webhook-team-removed-from-repository": { + /** @enum {string} */ + action: "removed_from_repository"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization: components["schemas"]["organization-simple-webhooks"]; + /** + * Repository + * @description A git repository + */ + repository?: { + /** + * @description Whether to allow auto-merge for pull requests. + * @default false + */ + allow_auto_merge: boolean; + /** @description Whether to allow private forks */ + allow_forking?: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + */ + allow_squash_merge: boolean; + allow_update_branch?: boolean; + /** Format: uri-template */ + archive_url: string; + /** + * @description Whether the repository is archived. + * @default false + */ + archived: boolean; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri */ + clone_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + created_at: number | string; + /** @description The default branch of the repository. */ + default_branch: string; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + */ + delete_branch_on_merge: boolean; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** @description Returns whether or not this repository is disabled. */ + disabled?: boolean; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + forks: number; + forks_count: number; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + git_url: string; + /** + * @description Whether downloads are enabled. + * @default true + */ + has_downloads: boolean; + /** + * @description Whether issues are enabled. + * @default true + */ + has_issues: boolean; + has_pages: boolean; + /** + * @description Whether projects are enabled. + * @default true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + */ + has_wiki: boolean; + homepage: string | null; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + is_template?: boolean; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + language: string | null; + /** Format: uri */ + languages_url: string; + /** License */ + license: { + key: string; + name: string; + node_id: string; + spdx_id: string; + /** Format: uri */ + url: string | null; + } | null; + master_branch?: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** Format: uri */ + mirror_url: string | null; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + open_issues: number; + open_issues_count: number; + organization?: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + permissions?: { + admin: boolean; + maintain?: boolean; + pull: boolean; + push: boolean; + triage?: boolean; + }; + /** @description Whether the repository is private or public. */ + private: boolean; + public?: boolean; + /** Format: uri-template */ + pulls_url: string; + pushed_at: (number | string) | null; + /** Format: uri-template */ + releases_url: string; + role_name?: string | null; + size: number; + ssh_url: string; + stargazers?: number; + stargazers_count: number; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + svn_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + topics: string[]; + /** Format: uri-template */ + trees_url: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + /** @enum {string} */ + visibility: "public" | "private" | "internal"; + watchers: number; + watchers_count: number; + }; + sender: components["schemas"]["simple-user-webhooks"]; + /** + * Team + * @description Groups of organization members that gives permissions on specified repositories. + */ + team: { + deleted?: boolean; + /** @description Description of the team */ + description?: string | null; + /** Format: uri */ + html_url?: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url?: string; + /** @description Name of the team */ + name: string; + node_id?: string; + parent?: { + /** @description Description of the team */ + description: string | null; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the team */ + id: number; + /** Format: uri-template */ + members_url: string; + /** @description Name of the team */ + name: string; + node_id: string; + /** @description Permission that the team will have for its repositories */ + permission: string; + /** @enum {string} */ + privacy: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url: string; + slug: string; + /** + * Format: uri + * @description URL for the team + */ + url: string; + } | null; + /** @description Permission that the team will have for its repositories */ + permission?: string; + /** @enum {string} */ + privacy?: "open" | "closed" | "secret"; + /** + * @description Whether team members will receive notifications when their team is @mentioned + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** Format: uri */ + repositories_url?: string; + slug?: string; + /** + * Format: uri + * @description URL for the team + */ + url?: string; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * List reactions for a team discussion comment - * @description List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - "reactions/list-for-team-discussion-comment-in-org": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion comment - * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. - */ - "reactions/create-for-team-discussion-comment-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response when the reaction type has already been added to this team discussion comment */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * Delete team discussion comment reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/delete-for-team-discussion-comment": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List reactions for a team discussion - * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - "reactions/list-for-team-discussion-in-org": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion - * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. - */ - "reactions/create-for-team-discussion-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * Delete team discussion reaction - * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. - * - * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/delete-for-team-discussion": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - discussion_number: components["parameters"]["discussion-number"]; - reaction_id: components["parameters"]["reaction-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List pending team invitations - * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. - */ - "teams/list-pending-invitations-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - }; - }; - /** - * List team members - * @description Team members will include the members of child teams. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - "teams/list-members-in-org": { - parameters: { - query?: { - /** @description Filters members returned by their role in the team. */ - role?: "member" | "maintainer" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Get team membership for a user - * @description Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/memberships/{username}`. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - "teams/get-membership-for-user-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description if user has no team membership */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team membership for a user - * @description Adds an organization member to a team. An authenticated organization owner or team maintainer can add organization members to a team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * An organization owner can add someone who is not part of the team's organization to a team. When an organization owner adds someone to a team who is not an organization member, this endpoint will send an invitation to the person via email. This newly-created membership will be in the "pending" state until the person accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - "teams/add-or-update-membership-for-user-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The role that this user should have in the team. - * @default member - * @enum {string} - */ - role?: "member" | "maintainer"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - content: never; - }; - /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: { - content: never; - }; - }; - }; - /** - * Remove team membership for a user - * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. - */ - "teams/remove-membership-for-user-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - content: never; - }; - }; - }; - /** - * List team projects - * @description Lists the organization projects for a team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. - */ - "teams/list-projects-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-project"][]; - }; - }; - }; - }; - /** - * Check team permissions for a project - * @description Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - "teams/check-permissions-for-project-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-project"]; - }; - }; - /** @description Not Found if project is not managed by this team */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team project permissions - * @description Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - "teams/add-or-update-project-permissions-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - /** - * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - }) | null; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Forbidden if the project is not owned by the organization */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - }; - }; - /** - * Remove a project from a team - * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. - */ - "teams/remove-project-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List team repositories - * @description Lists a team's repositories visible to the authenticated user. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. - */ - "teams/list-repos-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Check team permissions for a repository - * @description Checks whether a team has `admin`, `push`, `maintain`, `triage`, or `pull` permission for a repository. Repositories inherited through a parent team will also be checked. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header. - * - * If a team doesn't have permission for the repository, you will receive a `404 Not Found` response status. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - "teams/check-permissions-for-repo-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Alternative response with repository permissions */ - 200: { - content: { - "application/json": components["schemas"]["team-repository"]; - }; - }; - /** @description Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ - 204: { - content: never; - }; - /** @description Not Found if team does not have permission for the repository */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team repository permissions - * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - * - * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". - */ - "teams/add-or-update-repo-permissions-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. - * @default push - */ - permission?: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Remove a repository from a team - * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. - */ - "teams/remove-repo-in-org": { - parameters: { - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List child teams - * @description Lists the child teams of the team specified by `{team_slug}`. - * - * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. - */ - "teams/list-child-in-org": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - org: components["parameters"]["org"]; - team_slug: components["parameters"]["team-slug"]; - }; - }; - responses: { - /** @description if child teams exist */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - }; - }; - /** - * Enable or disable a security feature for an organization - * @description Enables or disables the specified security feature for all eligible repositories in an organization. - * - * To use this endpoint, you must be an organization owner or be member of a team with the security manager role. - * A token with the 'write:org' scope is also required. - * - * GitHub Apps must have the `organization_administration:write` permission to use this endpoint. - * - * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "orgs/enable-or-disable-security-product-on-all-org-repos": { - parameters: { - path: { - org: components["parameters"]["org"]; - security_product: components["parameters"]["security-product"]; - enablement: components["parameters"]["org-security-product-enablement"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description CodeQL query suite to be used. If you specify the `query_suite` parameter, the default setup will be configured with this query suite only on all repositories that didn't have default setup already configured. It will not change the query suite on repositories that already have default setup configured. - * If you don't specify any `query_suite` in your request, the preferred query suite of the organization will be applied. - * @enum {string} - */ - query_suite?: "default" | "extended"; - }; - }; - }; - responses: { - /** @description Action started */ - 204: { - content: never; - }; - /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ - 422: { - content: never; - }; - }; - }; - /** - * Get a project card - * @description Gets information about a project card. - */ - "projects/get-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a project card - * @description Deletes a project card - */ - "projects/delete-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; + /** watch started event */ + "webhook-watch-started": { + /** @enum {string} */ + action: "started"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + }; + /** workflow_dispatch event */ + "webhook-workflow-dispatch": { + enterprise?: components["schemas"]["enterprise-webhooks"]; + inputs: { + [key: string]: unknown; + } | null; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + ref: string; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + workflow: string; + }; + /** workflow_job completed event */ + "webhook-workflow-job-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | null | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, `waiting`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string; + /** @enum {string} */ + conclusion: "success" | "failure" | "skipped" | "cancelled" | "action_required" | "neutral" | "timed_out"; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: (string | null)[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + status?: string; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps?: Record[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job in_progress event */ + "webhook-workflow-job-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "success" | "failure" | null | "cancelled" | "neutral"; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** @description Custom labels for the job. Specified by the [`"runs-on"` attribute](https://docs.github.com/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on) in the workflow YAML. */ + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + /** @description The ID of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_id: number | null; + /** @description The name of the runner group that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_group_name: string | null; + /** @description The ID of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_id: number | null; + /** @description The name of the runner that is running this job. This will be `null` as long as `workflow_job[status]` is `queued`. */ + runner_name: string | null; + started_at: string; + /** + * @description The current status of the job. Can be `queued`, `in_progress`, or `completed`. + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | null | "cancelled"; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + } & { + check_run_url?: string; + completed_at?: string | null; + conclusion?: string | null; + /** @description The time that the job created. */ + created_at?: string; + head_sha?: string; + html_url?: string; + id?: number; + labels?: string[]; + name?: string; + node_id?: string; + run_attempt?: number; + run_id?: number; + run_url?: string; + runner_group_id?: number | null; + runner_group_name?: string | null; + runner_id?: number | null; + runner_name?: string | null; + started_at?: string; + /** @enum {string} */ + status: "in_progress" | "completed" | "queued"; + /** @description The name of the current branch. */ + head_branch?: string | null; + /** @description The name of the workflow. */ + workflow_name?: string | null; + steps: { + completed_at: string | null; + conclusion: string | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "in_progress" | "completed" | "pending" | "queued"; + }[]; + url?: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job queued event */ + "webhook-workflow-job-queued": { + /** @enum {string} */ + action: "queued"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "completed" | "in_progress" | "queued" | "pending"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_job waiting event */ + "webhook-workflow-job-waiting": { + /** @enum {string} */ + action: "waiting"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + workflow_job: { + /** Format: uri */ + check_run_url: string; + completed_at: string | null; + conclusion: string | null; + /** @description The time that the job created. */ + created_at: string; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + labels: string[]; + name: string; + node_id: string; + run_attempt: number; + run_id: number; + /** Format: uri */ + run_url: string; + runner_group_id: number | null; + runner_group_name: string | null; + runner_id: number | null; + runner_name: string | null; + /** Format: date-time */ + started_at: string; + /** @description The name of the current branch. */ + head_branch: string | null; + /** @description The name of the workflow. */ + workflow_name: string | null; + /** @enum {string} */ + status: "queued" | "in_progress" | "completed" | "waiting"; + steps: { + completed_at: string | null; + /** @enum {string|null} */ + conclusion: "failure" | "skipped" | "success" | "cancelled" | null; + name: string; + number: number; + started_at: string | null; + /** @enum {string} */ + status: "completed" | "in_progress" | "queued" | "pending" | "waiting"; + }[]; + /** Format: uri */ + url: string; + }; + deployment?: components["schemas"]["deployment"]; + }; + /** workflow_run completed event */ + "webhook-workflow-run-completed": { + /** @enum {string} */ + action: "completed"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** Workflow */ + workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped"; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + } & { + actor?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + artifacts_url?: string; + cancel_url?: string; + check_suite_id?: number; + check_suite_node_id?: string; + check_suite_url?: string; + /** @enum {string} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped"; + created_at?: string; + event?: string; + head_branch?: string | null; + head_commit?: { + author?: { + email?: string; + name?: string; + }; + committer?: { + email?: string; + name?: string; + }; + id?: string; + message?: string; + timestamp?: string; + tree_id?: string; + }; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha?: string; + html_url?: string; + id?: number; + jobs_url?: string; + logs_url?: string; + name?: string | null; + node_id?: string; + path?: string; + previous_attempt_url?: string | null; + pull_requests?: Record[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt?: number; + run_number?: number; + run_started_at?: string; + status?: string; + triggering_actor?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + } | null; + updated_at?: string; + url?: string; + workflow_id?: number; + workflow_url?: string; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Update an existing project card */ - "projects/update-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The project card's note - * @example Update all gems - */ - note?: string | null; - /** - * @description Whether or not the card is archived - * @example false - */ - archived?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** Move a project card */ - "projects/move-card": { - parameters: { - path: { - card_id: components["parameters"]["card-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. - * @example bottom - */ - position: string; - /** - * @description The unique identifier of the column the card should be moved to - * @example 42 - */ - column_id?: number; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": Record; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - resource?: string; - field?: string; - }[]; - }; - }; - }; - 422: components["responses"]["validation_failed"]; - /** @description Response */ - 503: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - }[]; - }; + /** workflow_run in_progress event */ + "webhook-workflow-run-in-progress": { + /** @enum {string} */ + action: "in_progress"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** Workflow */ + workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | "skipped" | null; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + } & { + actor?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + artifacts_url?: string; + cancel_url?: string; + check_suite_id?: number; + check_suite_node_id?: string; + check_suite_url?: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "skipped" | "stale"; + created_at?: string; + event?: string; + head_branch?: string | null; + head_commit?: { + author?: { + email?: string; + name?: string; + }; + committer?: { + email?: string; + name?: string; + }; + id?: string; + message?: string; + timestamp?: string; + tree_id?: string; + }; + head_repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string | null; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + head_sha?: string; + html_url?: string; + id?: number; + jobs_url?: string; + logs_url?: string; + name?: string | null; + node_id?: string; + path?: string; + previous_attempt_url?: string | null; + pull_requests?: Record[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + repository?: { + archive_url?: string; + assignees_url?: string; + blobs_url?: string; + branches_url?: string; + collaborators_url?: string; + comments_url?: string; + commits_url?: string; + compare_url?: string; + contents_url?: string; + contributors_url?: string; + deployments_url?: string; + description?: string | null; + downloads_url?: string; + events_url?: string; + fork?: boolean; + forks_url?: string; + full_name?: string; + git_commits_url?: string; + git_refs_url?: string; + git_tags_url?: string; + hooks_url?: string; + html_url?: string; + id?: number; + issue_comment_url?: string; + issue_events_url?: string; + issues_url?: string; + keys_url?: string; + labels_url?: string; + languages_url?: string; + merges_url?: string; + milestones_url?: string; + name?: string; + node_id?: string; + notifications_url?: string; + owner?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + private?: boolean; + pulls_url?: string; + releases_url?: string; + stargazers_url?: string; + statuses_url?: string; + subscribers_url?: string; + subscription_url?: string; + tags_url?: string; + teams_url?: string; + trees_url?: string; + url?: string; + }; + rerun_url?: string; + run_attempt?: number; + run_number?: number; + run_started_at?: string; + status?: string; + triggering_actor?: { + avatar_url?: string; + events_url?: string; + followers_url?: string; + following_url?: string; + gists_url?: string; + gravatar_id?: string; + html_url?: string; + id?: number; + login?: string; + node_id?: string; + organizations_url?: string; + received_events_url?: string; + repos_url?: string; + site_admin?: boolean; + starred_url?: string; + subscriptions_url?: string; + type?: string; + url?: string; + }; + updated_at?: string; + url?: string; + workflow_id?: number; + workflow_url?: string; + }; }; - }; - }; - }; - /** - * Get a project column - * @description Gets information about a project column. - */ - "projects/get-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-column"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a project column - * @description Deletes a project column. - */ - "projects/delete-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Update an existing project column */ - "projects/update-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Name of the project column - * @example Remaining tasks - */ - name: string; + /** workflow_run requested event */ + "webhook-workflow-run-requested": { + /** @enum {string} */ + action: "requested"; + enterprise?: components["schemas"]["enterprise-webhooks"]; + installation?: components["schemas"]["simple-installation"]; + organization?: components["schemas"]["organization-simple-webhooks"]; + repository: components["schemas"]["repository-webhooks"]; + sender: components["schemas"]["simple-user-webhooks"]; + /** Workflow */ + workflow: { + /** Format: uri */ + badge_url: string; + /** Format: date-time */ + created_at: string; + /** Format: uri */ + html_url: string; + id: number; + name: string; + node_id: string; + path: string; + state: string; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + } | null; + /** Workflow Run */ + workflow_run: { + /** User */ + actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: uri */ + artifacts_url: string; + /** Format: uri */ + cancel_url: string; + check_suite_id: number; + check_suite_node_id: string; + /** Format: uri */ + check_suite_url: string; + /** @enum {string|null} */ + conclusion: "success" | "failure" | "neutral" | "cancelled" | "timed_out" | "action_required" | "stale" | null | "skipped" | "startup_failure"; + /** Format: date-time */ + created_at: string; + event: string; + head_branch: string | null; + /** SimpleCommit */ + head_commit: { + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + author: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + /** + * Committer + * @description Metaproperties for Git author/committer information. + */ + committer: { + /** Format: date-time */ + date?: string; + /** Format: email */ + email: string | null; + /** @description The git author's name. */ + name: string; + username?: string; + }; + id: string; + message: string; + timestamp: string; + tree_id: string; + }; + /** Repository Lite */ + head_repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + head_sha: string; + /** Format: uri */ + html_url: string; + id: number; + /** Format: uri */ + jobs_url: string; + /** Format: uri */ + logs_url: string; + name: string | null; + node_id: string; + path: string; + /** Format: uri */ + previous_attempt_url: string | null; + pull_requests: { + base: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + head: { + ref: string; + /** Repo Ref */ + repo: { + id: number; + name: string; + /** Format: uri */ + url: string; + }; + sha: string; + }; + id: number; + number: number; + /** Format: uri */ + url: string; + }[]; + referenced_workflows?: { + path: string; + ref?: string; + sha: string; + }[] | null; + /** Repository Lite */ + repository: { + /** Format: uri-template */ + archive_url: string; + /** Format: uri-template */ + assignees_url: string; + /** Format: uri-template */ + blobs_url: string; + /** Format: uri-template */ + branches_url: string; + /** Format: uri-template */ + collaborators_url: string; + /** Format: uri-template */ + comments_url: string; + /** Format: uri-template */ + commits_url: string; + /** Format: uri-template */ + compare_url: string; + /** Format: uri-template */ + contents_url: string; + /** Format: uri */ + contributors_url: string; + /** Format: uri */ + deployments_url: string; + description: string | null; + /** Format: uri */ + downloads_url: string; + /** Format: uri */ + events_url: string; + fork: boolean; + /** Format: uri */ + forks_url: string; + full_name: string; + /** Format: uri-template */ + git_commits_url: string; + /** Format: uri-template */ + git_refs_url: string; + /** Format: uri-template */ + git_tags_url: string; + /** Format: uri */ + hooks_url: string; + /** Format: uri */ + html_url: string; + /** @description Unique identifier of the repository */ + id: number; + /** Format: uri-template */ + issue_comment_url: string; + /** Format: uri-template */ + issue_events_url: string; + /** Format: uri-template */ + issues_url: string; + /** Format: uri-template */ + keys_url: string; + /** Format: uri-template */ + labels_url: string; + /** Format: uri */ + languages_url: string; + /** Format: uri */ + merges_url: string; + /** Format: uri-template */ + milestones_url: string; + /** @description The name of the repository. */ + name: string; + node_id: string; + /** Format: uri-template */ + notifications_url: string; + /** User */ + owner: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** @description Whether the repository is private or public. */ + private: boolean; + /** Format: uri-template */ + pulls_url: string; + /** Format: uri-template */ + releases_url: string; + /** Format: uri */ + stargazers_url: string; + /** Format: uri-template */ + statuses_url: string; + /** Format: uri */ + subscribers_url: string; + /** Format: uri */ + subscription_url: string; + /** Format: uri */ + tags_url: string; + /** Format: uri */ + teams_url: string; + /** Format: uri-template */ + trees_url: string; + /** Format: uri */ + url: string; + }; + /** Format: uri */ + rerun_url: string; + run_attempt: number; + run_number: number; + /** Format: date-time */ + run_started_at: string; + /** @enum {string} */ + status: "requested" | "in_progress" | "completed" | "queued" | "pending" | "waiting"; + /** User */ + triggering_actor: { + /** Format: uri */ + avatar_url?: string; + deleted?: boolean; + email?: string | null; + /** Format: uri-template */ + events_url?: string; + /** Format: uri */ + followers_url?: string; + /** Format: uri-template */ + following_url?: string; + /** Format: uri-template */ + gists_url?: string; + gravatar_id?: string; + /** Format: uri */ + html_url?: string; + id: number; + login: string; + name?: string; + node_id?: string; + /** Format: uri */ + organizations_url?: string; + /** Format: uri */ + received_events_url?: string; + /** Format: uri */ + repos_url?: string; + site_admin?: boolean; + /** Format: uri-template */ + starred_url?: string; + /** Format: uri */ + subscriptions_url?: string; + /** @enum {string} */ + type?: "Bot" | "User" | "Organization"; + /** Format: uri */ + url?: string; + } | null; + /** Format: date-time */ + updated_at: string; + /** Format: uri */ + url: string; + workflow_id: number; + /** Format: uri */ + workflow_url: string; + display_title: string; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-column"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List project cards - * @description Lists the project cards in a project. - */ - "projects/list-cards": { - parameters: { - query?: { - /** @description Filters the project cards that are returned by the card's state. */ - archived_state?: "all" | "archived" | "not_archived"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project-card"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Create a project card */ - "projects/create-card": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - requestBody: { - content: { - "application/json": OneOf<[{ - /** - * @description The project card's note - * @example Update all gems - */ - note: string | null; - }, { - /** - * @description The unique identifier of the content associated with the card - * @example 42 - */ - content_id: number; - /** - * @description The piece of content associated with the card - * @example PullRequest - */ - content_type: string; - }]>; - }; }; responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project-card"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description Validation failed */ - 422: { - content: { - "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; - }; - }; - /** @description Response */ - 503: { - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - errors?: { - code?: string; - message?: string; - }[]; - }; + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed_simple: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error-simple"]; + }; }; - }; - }; - }; - /** Move a project column */ - "projects/move-column": { - parameters: { - path: { - column_id: components["parameters"]["column-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. - * @example last - */ - position: string; + /** @description Resource not found */ + not_found: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": Record; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a project - * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/get": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Delete a project - * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. - */ - "projects/delete": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Delete Success */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Update a project - * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/update": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Name of the project - * @example Week One Sprint - */ - name?: string; - /** - * @description Body of the project - * @example This project represents the sprint of the first week in January - */ - body?: string | null; - /** - * @description State of the project; either 'open' or 'closed' - * @example open - */ - state?: string; - /** - * @description The baseline permission that all organization members have on this project - * @enum {string} - */ - organization_permission?: "read" | "write" | "admin" | "none"; - /** @description Whether or not this project can be seen by everyone. */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - /** @description Forbidden */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - errors?: string[]; - }; - }; - }; - /** @description Not Found if the authenticated user does not have access to the project */ - 404: { - content: never; - }; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List project collaborators - * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. - */ - "projects/list-collaborators": { - parameters: { - query?: { - /** @description Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ - affiliation?: "outside" | "direct" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add project collaborator - * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. - */ - "projects/add-collaborator": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - /** - * @description The permission to grant the collaborator. - * @default write - * @example write - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - }) | null; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove user as a collaborator - * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. - */ - "projects/remove-collaborator": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get project permission for a user - * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. - */ - "projects/get-permission-for-user": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["project-collaborator-permission"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List project columns - * @description Lists the project columns in a project. - */ - "projects/list-columns": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project-column"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Create a project column - * @description Creates a new project column. - */ - "projects/create-column": { - parameters: { - path: { - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Name of the project column - * @example Remaining tasks - */ - name: string; + /** @description Bad Request */ + bad_request: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project-column"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get rate limit status for the authenticated user - * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. - * - * Some categories of endpoints have custom rate limits that are separate from the rate limit governing the other REST API endpoints. For this reason, the API response categorizes your rate limit. Under `resources`, you'll see objects relating to different categories: - * * The `core` object provides your rate limit status for all non-search-related resources in the REST API. - * * The `search` object provides your rate limit status for the REST API for searching (excluding code searches). For more information, see "[Search](https://docs.github.com/rest/search)." - * * The `code_search` object provides your rate limit status for the REST API for searching code. For more information, see "[Search code](https://docs.github.com/rest/search/search#search-code)." - * * The `graphql` object provides your rate limit status for the GraphQL API. For more information, see "[Resource limitations](https://docs.github.com/graphql/overview/resource-limitations#rate-limit)." - * * The `integration_manifest` object provides your rate limit status for the `POST /app-manifests/{code}/conversions` operation. For more information, see "[Creating a GitHub App from a manifest](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app-from-a-manifest#3-you-exchange-the-temporary-code-to-retrieve-the-app-configuration)." - * * The `dependency_snapshots` object provides your rate limit status for submitting snapshots to the dependency graph. For more information, see "[Dependency graph](https://docs.github.com/rest/dependency-graph)." - * * The `code_scanning_upload` object provides your rate limit status for uploading SARIF results to code scanning. For more information, see "[Uploading a SARIF file to GitHub](https://docs.github.com/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github)." - * * The `actions_runner_registration` object provides your rate limit status for registering self-hosted runners in GitHub Actions. For more information, see "[Self-hosted runners](https://docs.github.com/rest/actions/self-hosted-runners)." - * * The `source_import` object is no longer in use for any API endpoints, and it will be removed in the next API version. For more information about API versions, see "[API Versions](https://docs.github.com/rest/overview/api-versions)." - * - * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. - */ - "rate-limit/get": { - responses: { - /** @description Response */ - 200: { - headers: { - "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; - "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; - "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; - }; - content: { - "application/json": components["schemas"]["rate-limit-overview"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a repository - * @description The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. - * - * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - */ - "repos/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a repository - * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. - * - * If an organization owner has configured the organization to prevent members from deleting organization-owned - * repositories, you will get a `403 Forbidden` response. - */ - "repos/delete": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 307: components["responses"]["temporary_redirect"]; - /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + /** @description Validation failed, or the endpoint has been spammed. */ + validation_failed: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a repository - * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. - */ - "repos/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the repository. */ - name?: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. - * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. - * @default false - */ - private?: boolean; - /** - * @description The visibility of the repository. - * @enum {string} - */ - visibility?: "public" | "private"; - /** - * @description Specify which security and analysis features to enable or disable for the repository. - * - * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." - * - * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: - * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. - * - * You can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. - */ - security_and_analysis?: { - /** @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ - advanced_security?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; + /** @description Accepted */ + accepted: { + headers: { + [name: string]: unknown; }; - /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ - secret_scanning?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; + content: { + "application/json": Record; }; - /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ - secret_scanning_push_protection?: { - /** @description Can be `enabled` or `disabled`. */ - status?: string; - }; - } | null; - /** - * @description Either `true` to enable issues for this repository or `false` to disable them. - * @default true - */ - has_issues?: boolean; - /** - * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. - * @default true - */ - has_projects?: boolean; - /** - * @description Either `true` to enable the wiki for this repository or `false` to disable it. - * @default true - */ - has_wiki?: boolean; - /** - * @description Either `true` to make this repo available as a template repository or `false` to prevent it. - * @default false - */ - is_template?: boolean; - /** @description Updates the default branch for this repository. */ - default_branch?: string; - /** - * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. - * @default true - */ - allow_squash_merge?: boolean; - /** - * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. - * @default true - */ - allow_merge_commit?: boolean; - /** - * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. - * @default true - */ - allow_rebase_merge?: boolean; - /** - * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. - * @default false - */ - allow_auto_merge?: boolean; - /** - * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. - * @default false - */ - delete_branch_on_merge?: boolean; - /** - * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. - * @default false - */ - allow_update_branch?: boolean; - /** - * @deprecated - * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - * @default false - */ - use_squash_pr_title_as_default?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether to archive this repository. `false` will unarchive a previously archived repository. - * @default false - */ - archived?: boolean; - /** - * @description Either `true` to allow private forks, or `false` to prevent private forks. - * @default false - */ - allow_forking?: boolean; - /** - * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. - * @default false - */ - web_commit_signoff_required?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 307: components["responses"]["temporary_redirect"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List artifacts for a repository - * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-artifacts-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - name?: components["parameters"]["artifact-name"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; }; - content: { - "application/json": { - total_count: number; - artifacts: components["schemas"]["artifact"][]; - }; + /** @description Not modified */ + not_modified: { + headers: { + [name: string]: unknown; + }; + content?: never; }; - }; - }; - }; - /** - * Get an artifact - * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-artifact": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - artifact_id: components["parameters"]["artifact-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["artifact"]; - }; - }; - }; - }; - /** - * Delete an artifact - * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-artifact": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - artifact_id: components["parameters"]["artifact-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Download an artifact - * @description Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in - * the response header to find the URL for the download. The `:archive_format` must be `zip`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/download-artifact": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - artifact_id: components["parameters"]["artifact-id"]; - archive_format: string; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - Location: components["headers"]["location"]; - }; - content: never; - }; - 410: components["responses"]["gone"]; - }; - }; - /** - * Get GitHub Actions cache usage for a repository - * @description Gets GitHub Actions cache usage for a repository. - * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated. - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-actions-cache-usage": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-cache-usage-by-repository"]; - }; - }; - }; - }; - /** - * List GitHub Actions caches for a repository - * @description Lists the GitHub Actions caches for a repository. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-actions-cache-list": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - ref?: components["parameters"]["actions-cache-git-ref-full"]; - key?: components["parameters"]["actions-cache-key"]; - sort?: components["parameters"]["actions-cache-list-sort"]; - direction?: components["parameters"]["direction"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["actions-cache-list"]; - }; - }; - }; - }; - /** - * Delete GitHub Actions caches for a repository (using a cache key) - * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-actions-cache-by-key": { - parameters: { - query: { - key: components["parameters"]["actions-cache-key-required"]; - ref?: components["parameters"]["actions-cache-git-ref-full"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-cache-list"]; - }; - }; - }; - }; - /** - * Delete a GitHub Actions cache for a repository (using a cache ID) - * @description Deletes a GitHub Actions cache for a repository, using a cache ID. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-actions-cache-by-id": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - cache_id: components["parameters"]["cache-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get a job for a workflow run - * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-job-for-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - job_id: components["parameters"]["job-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["job"]; - }; - }; - }; - }; - /** - * Download job logs for a workflow run - * @description Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look - * for `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can - * use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must - * have the `actions:read` permission to use this endpoint. - */ - "actions/download-job-logs-for-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - job_id: components["parameters"]["job-id"]; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/jobs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Re-run a job from a workflow run - * @description Re-run a job and its dependent jobs in a workflow run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/re-run-job-for-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - job_id: components["parameters"]["job-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get the customization template for an OIDC subject claim for a repository - * @description Gets the customization template for an OpenID Connect (OIDC) subject claim. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint. - */ - "actions/get-custom-oidc-sub-claim-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Status response */ - 200: { - content: { - "application/json": components["schemas"]["oidc-custom-sub-repo"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set the customization template for an OIDC subject claim for a repository - * @description Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository. - * You must authenticate using an access token with the `repo` scope to use this - * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/set-custom-oidc-sub-claim-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ - use_default: boolean; - /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ - include_claim_keys?: string[]; + /** @description Requires authentication */ + requires_authentication: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - responses: { - /** @description Empty response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List repository organization secrets - * @description Lists all organization secrets shared with a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-repo-organization-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Forbidden */ + forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - /** - * List repository organization variables - * @description Lists all organiation variables shared with a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-repo-organization-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Service unavailable */ + service_unavailable: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + }; + }; }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Get GitHub Actions permissions for a repository - * @description Gets the GitHub Actions permissions policy for a repository, including whether GitHub Actions is enabled and the actions and reusable workflows allowed to run in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/get-github-actions-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-repository-permissions"]; - }; - }; - }; - }; - /** - * Set GitHub Actions permissions for a repository - * @description Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/set-github-actions-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - enabled: components["schemas"]["actions-enabled"]; - allowed_actions?: components["schemas"]["allowed-actions"]; + /** @description Forbidden Gist */ + forbidden_gist: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + block?: { + reason?: string; + created_at?: string; + html_url?: string | null; + }; + message?: string; + documentation_url?: string; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get the level of access for workflows outside of the repository - * @description Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - "actions/get-workflow-access-to-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-workflow-access-to-repository"]; - }; - }; - }; - }; - /** - * Set the level of access for workflows outside of the repository - * @description Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository. - * This endpoint only applies to private repositories. - * For more information, see "[Allowing access to components in a private repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository)". - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the - * repository `administration` permission to use this endpoint. - */ - "actions/set-workflow-access-to-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["actions-workflow-access-to-repository"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get allowed actions and reusable workflows for a repository - * @description Gets the settings for selected actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/get-allowed-actions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - }; - }; - /** - * Set allowed actions and reusable workflows for a repository - * @description Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. - */ - "actions/set-allowed-actions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": components["schemas"]["selected-actions"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get default workflow permissions for a repository - * @description Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, - * as well as if GitHub Actions can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - "actions/get-github-actions-default-workflow-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; - }; - }; - }; - }; - /** - * Set default workflow permissions for a repository - * @description Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions - * can submit approving pull request reviews. - * For more information, see "[Setting the permissions of the GITHUB_TOKEN for your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. - */ - "actions/set-github-actions-default-workflow-permissions-repository": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; - }; - }; - responses: { - /** @description Success response */ - 204: { - content: never; - }; - /** @description Conflict response when changing a setting is prevented by the owning organization */ - 409: { - content: never; - }; - }; - }; - /** - * List self-hosted runners for a repository - * @description Lists all self-hosted runners configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-self-hosted-runners-for-repo": { - parameters: { - query?: { - /** @description The name of a self-hosted runner. */ - name?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Moved permanently */ + moved_permanently: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - content: { - "application/json": { - total_count: number; - runners: components["schemas"]["runner"][]; - }; - }; - }; - }; - }; - /** - * List runner applications for a repository - * @description Lists binaries for the runner application that you can download and run. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-runner-applications-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner-application"][]; - }; - }; - }; - }; - /** - * Create configuration for a just-in-time runner for a repository - * @description Generates a configuration that can be passed to the runner application at startup. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/generate-runner-jitconfig-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the new runner. */ - name: string; - /** @description The ID of the runner group to register the runner to. */ - runner_group_id: number; - /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ - labels: string[]; - /** - * @description The working directory to be used for job execution, relative to the runner install directory. - * @default _work - */ - work_folder?: string; - }; - }; - }; - responses: { - 201: components["responses"]["actions_runner_jitconfig"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create a registration token for a repository - * @description Returns a token that you can pass to the `config` script. The token - * expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using registration token: - * - * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided - * by this endpoint. - * - * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN``` - */ - "actions/create-registration-token-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Create a remove token for a repository - * @description Returns a token that you can pass to remove a self-hosted runner from - * a repository. The token expires after one hour. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - * - * Example using remove token: - * - * To remove your self-hosted runner from a repository, replace TOKEN with - * the remove token provided by this endpoint. - * - * ```config.sh remove --token TOKEN``` - */ - "actions/create-remove-token-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["authentication-token"]; - }; - }; - }; - }; - /** - * Get a self-hosted runner for a repository - * @description Gets a specific self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/get-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["runner"]; - }; - }; - }; - }; - /** - * Delete a self-hosted runner from a repository - * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/delete-self-hosted-runner-from-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List labels for a self-hosted runner for a repository - * @description Lists all labels for a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/list-labels-for-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set custom labels for a self-hosted runner for a repository - * @description Remove all previous custom labels and set the new custom labels for a specific - * self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/set-custom-labels-for-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ - labels: string[]; + /** @description Conflict */ + conflict: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Add custom labels to a self-hosted runner for a repository - * @description Add custom labels to a self-hosted runner configured in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/add-custom-labels-to-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The names of the custom labels to add to the runner. */ - labels: string[]; + /** @description Response */ + actions_runner_jitconfig: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + runner: components["schemas"]["runner"]; + /** @description The base64 encoded runner configuration. */ + encoded_jit_config: string; + }; + }; }; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Remove all custom labels from a self-hosted runner for a repository - * @description Remove all custom labels from a self-hosted runner configured in a - * repository. Returns the remaining read-only labels from the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels_readonly"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove a custom label from a self-hosted runner for a repository - * @description Remove a custom label from a self-hosted runner configured - * in a repository. Returns the remaining labels from the runner. - * - * This endpoint returns a `404 Not Found` status if the custom label is not - * present on the runner. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations. - * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. - */ - "actions/remove-custom-label-from-self-hosted-runner-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - runner_id: components["parameters"]["runner-id"]; - name: components["parameters"]["runner-label-name"]; - }; - }; - responses: { - 200: components["responses"]["actions_runner_labels"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List workflow runs for a repository - * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-workflow-runs-for-repo": { - parameters: { - query?: { - actor?: components["parameters"]["actor"]; - branch?: components["parameters"]["workflow-run-branch"]; - event?: components["parameters"]["event"]; - status?: components["parameters"]["workflow-run-status"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - created?: components["parameters"]["created"]; - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; - head_sha?: components["parameters"]["workflow-run-head-sha"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Response */ + actions_runner_labels: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; }; - content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; + /** @description Response */ + actions_runner_labels_readonly: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + labels: components["schemas"]["runner-label"][]; + }; + }; }; - }; - }; - }; - /** - * Get a workflow run - * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow-run": { - parameters: { - query?: { - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run"]; - }; - }; - }; - }; - /** - * Delete a workflow run - * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is - * private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use - * this endpoint. - */ - "actions/delete-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get the review history for a workflow run - * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-reviews-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["environment-approvals"][]; - }; - }; - }; - }; - /** - * Approve a workflow run for a fork pull request - * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/approve-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List workflow run artifacts - * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-workflow-run-artifacts": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - name?: components["parameters"]["artifact-name"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Internal Error */ + internal_error: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - content: { - "application/json": { - total_count: number; - artifacts: components["schemas"]["artifact"][]; - }; - }; - }; - }; - }; - /** - * Get a workflow run attempt - * @description Gets a specific workflow run attempt. Anyone with read access to the repository - * can use this endpoint. If the repository is private you must use an access token - * with the `repo` scope. GitHub Apps must have the `actions:read` permission to - * use this endpoint. - */ - "actions/get-workflow-run-attempt": { - parameters: { - query?: { - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - attempt_number: components["parameters"]["attempt-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run"]; - }; - }; - }; - }; - /** - * List jobs for a workflow run attempt - * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - "actions/list-jobs-for-workflow-run-attempt": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - attempt_number: components["parameters"]["attempt-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description The value of `per_page` multiplied by `page` cannot be greater than 10000. */ + package_es_list_error: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description A header with no content is returned. */ + no_content: { + headers: { + [name: string]: unknown; + }; + content?: never; }; - content: { - "application/json": { - total_count: number; - jobs: components["schemas"]["job"][]; - }; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download workflow run attempt logs - * @description Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after - * 1 minute. Look for `Location:` in the response header to find the URL for the download. Anyone with read access to - * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/download-workflow-run-attempt-logs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - attempt_number: components["parameters"]["attempt-number"]; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Cancel a workflow run - * @description Cancels a workflow run using its `id`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/cancel-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 409: components["responses"]["conflict"]; - }; - }; - /** - * Review custom deployment protection rules for a workflow run - * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * **Note:** GitHub Apps can only review their own custom deployment protection rules. - * To approve or reject pending deployments that are waiting for review from a specific person or team, see [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`](/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run). - * - * If the repository is private, you must use an access token with the `repo` scope. - * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. - */ - "actions/review-custom-gates-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["review-custom-gates-comment-required"] | components["schemas"]["review-custom-gates-state-required"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Force cancel a workflow run - * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. - * You should only use this endpoint to cancel a workflow run when the workflow run is not responding to [`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`](/rest/actions/workflow-runs#cancel-a-workflow-run). - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/force-cancel-workflow-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - 409: components["responses"]["conflict"]; - }; - }; - /** - * List jobs for a workflow run - * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - */ - "actions/list-jobs-for-workflow-run": { - parameters: { - query?: { - /** @description Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ - filter?: "latest" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Gone */ + gone: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - content: { - "application/json": { - total_count: number; - jobs: components["schemas"]["job"][]; - }; - }; - }; - }; - }; - /** - * Download workflow run logs - * @description Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for - * `Location:` in the response header to find the URL for the download. Anyone with read access to the repository can use - * this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have - * the `actions:read` permission to use this endpoint. - */ - "actions/download-workflow-run-logs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Delete workflow run logs - * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/delete-workflow-run-logs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get pending deployments for a workflow run - * @description Get all deployment environments for a workflow run that are waiting for protection rules to pass. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-pending-deployments-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pending-deployment"][]; - }; - }; - }; - }; - /** - * Review pending deployments for a workflow run - * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. - * - * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. - */ - "actions/review-pending-deployments-for-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The list of environment ids to approve or reject - * @example [ - * 161171787, - * 161171795 - * ] - */ - environment_ids: number[]; - /** - * @description Whether to approve or reject deployment to the specified environments. - * @example approved - * @enum {string} - */ - state: "approved" | "rejected"; - /** - * @description A comment to accompany the deployment review - * @example Ship it! - */ - comment: string; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment"][]; - }; - }; - }; - }; - /** - * Re-run a workflow - * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/re-run-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Re-run failed jobs from a workflow run - * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. - */ - "actions/re-run-workflow-failed-jobs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description Whether to enable debug logging for the re-run. - * @default false - */ - enable_debug_logging?: boolean; - } | null; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get workflow run usage - * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow-run-usage": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - run_id: components["parameters"]["run-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-run-usage"]; - }; - }; - }; - }; - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted - * values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-repo-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Temporary Redirect */ + temporary_redirect: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to - * encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-repo-public-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-secret"]; - }; - }; - }; - }; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/create-or-update-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/actions/secrets#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/delete-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository variables - * @description Lists all repository variables. - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-repo-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_read: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Create a repository variable - * @description Creates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/create-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; + /** @description Response if the repository is archived or if GitHub Advanced Security is not enabled for this repository */ + code_scanning_forbidden_write: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get a repository variable - * @description Gets a specific variable in a repository. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/get-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-variable"]; - }; - }; - }; - }; - /** - * Delete a repository variable - * @description Deletes a repository variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/delete-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a repository variable - * @description Updates a repository variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/update-repo-variable": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: components["parameters"]["variable-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository workflows - * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/list-repo-workflows": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Found */ + found: { + headers: { + [name: string]: unknown; + }; + content?: never; }; - content: { - "application/json": { - total_count: number; - workflows: components["schemas"]["workflow"][]; - }; + /** @description Response if there is already a validation run in progress with a different default setup configuration */ + code_scanning_conflict: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - }; - /** - * Get a workflow - * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow"]; - }; - }; - }; - }; - /** - * Disable a workflow - * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/disable-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Create a workflow dispatch event - * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must configure your GitHub Actions workflow to run when the [`workflow_dispatch` webhook](/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch) event occurs. The `inputs` are configured in the workflow file. For more information about how to configure the `workflow_dispatch` event in the workflow file, see "[Events that trigger workflows](/actions/reference/events-that-trigger-workflows#workflow_dispatch)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." - */ - "actions/create-workflow-dispatch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The git reference for the workflow. The reference can be a branch or tag name. */ - ref: string; - /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ - inputs?: { - [key: string]: unknown; - }; + /** @description Response if GitHub Advanced Security is not enabled for this repository */ + dependency_review_forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Enable a workflow - * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. - */ - "actions/enable-workflow": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List workflow runs for a workflow - * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). - * - * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. - */ - "actions/list-workflow-runs": { - parameters: { - query?: { - actor?: components["parameters"]["actor"]; - branch?: components["parameters"]["workflow-run-branch"]; - event?: components["parameters"]["event"]; - status?: components["parameters"]["workflow-run-status"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - created?: components["parameters"]["created"]; - exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; - check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; - head_sha?: components["parameters"]["workflow-run-head-sha"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + /** @description Unavailable due to service under maintenance. */ + porter_maintenance: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; }; - content: { - "application/json": { - total_count: number; - workflow_runs: components["schemas"]["workflow-run"][]; - }; - }; - }; - }; - }; - /** - * Get workflow usage - * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "actions/get-workflow-usage": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - workflow_id: components["parameters"]["workflow-id"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["workflow-usage"]; - }; - }; - }; - }; - /** - * List repository activities - * @description Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users. - * - * For more information about viewing repository activity, - * see "[Viewing repository activity](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/viewing-repository-activity)." - */ - "repos/list-activities": { parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - /** - * @description The Git reference for the activities you want to list. + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + "pagination-before": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + "pagination-after": string; + /** @description The direction to sort the results by. */ + direction: "asc" | "desc"; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: string; + /** @description The number of results per page (max 100). */ + "per-page": number; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor: string; + "delivery-id": number; + /** @description Page number of the results to fetch. */ + page: number; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since: string; + /** @description The unique identifier of the installation. */ + "installation-id": number; + /** @description The client ID of the GitHub app. */ + "client-id": string; + "app-slug": string; + /** @description The unique identifier of the classroom assignment. */ + "assignment-id": number; + /** @description The unique identifier of the classroom. */ + "classroom-id": number; + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: string; + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. * - * The `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch. - */ - ref?: string; - /** @description The GitHub username to use to filter by the actor who performed the activity. */ - actor?: string; - /** - * @description The time period to filter by. + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + "dependabot-alert-comma-separated-states": string; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. * - * For example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours). - */ - time_period?: "day" | "week" | "month" | "quarter" | "year"; - /** - * @description The activity type to filter by. + * Can be: `low`, `medium`, `high`, `critical` */ + "dependabot-alert-comma-separated-severities": string; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. * - * For example, you can choose to filter by "force_push", to see all force pushes to the repository. - */ - activity_type?: "push" | "force_push" | "branch_creation" | "branch_deletion" | "pr_merge" | "merge_queue_merge"; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["activity"][]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List assignees - * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. - */ - "issues/list-assignees": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if a user can be assigned - * @description Checks if a user has permission to be assigned to an issue in this repository. - * - * If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - "issues/check-user-can-be-assigned": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - assignee: string; - }; - }; - responses: { - /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ - 204: { - content: never; - }; - /** @description Otherwise a `404` status code is returned. */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * List all autolinks of a repository - * @description This returns a list of autolinks configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - "repos/list-autolinks": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["autolink"][]; - }; - }; - }; - }; - /** - * Create an autolink reference for a repository - * @description Users with admin access to the repository can create an autolink. - */ - "repos/create-autolink": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit. */ - key_prefix: string; - /** @description The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`. */ - url_template: string; - /** - * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. - * @default true - */ - is_alphanumeric?: boolean; - }; - }; - }; - responses: { - /** @description response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["autolink"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an autolink reference of a repository - * @description This returns a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - "repos/get-autolink": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - autolink_id: components["parameters"]["autolink-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["autolink"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an autolink reference from a repository - * @description This deletes a single autolink reference by ID that was configured for the given repository. - * - * Information about autolinks are only available to repository administrators. - */ - "repos/delete-autolink": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - autolink_id: components["parameters"]["autolink-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if automated security fixes are enabled for a repository - * @description Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - "repos/check-automated-security-fixes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + "dependabot-alert-comma-separated-ecosystems": string; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + "dependabot-alert-comma-separated-packages": string; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + "dependabot-alert-scope": "development" | "runtime"; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. */ + "dependabot-alert-sort": "created" | "updated"; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + "pagination-first": number; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + "pagination-last": number; + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + "secret-scanning-alert-state": "open" | "resolved"; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ + "secret-scanning-alert-secret-type": string; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + "secret-scanning-alert-resolution": string; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + "secret-scanning-alert-sort": "created" | "updated"; + /** @description The unique identifier of the gist. */ + "gist-id": string; + /** @description The unique identifier of the comment. */ + "comment-id": number; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels: string; + /** @description account_id parameter */ + "account-id": number; + /** @description The unique identifier of the plan. */ + "plan-id": number; + /** @description The property to sort the results by. */ + sort: "created" | "updated"; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: string; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: string; + /** @description If `true`, show notifications marked as read. */ + all: boolean; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating: boolean; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before: string; + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + "thread-id": number; + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + "since-org": number; + /** @description The organization name. The name is not case sensitive. */ + org: string; + /** @description The unique identifier of the repository. */ + "repository-id": number; + /** @description Unique identifier of the self-hosted runner. */ + "runner-id": number; + /** @description The name of a self-hosted runner's custom label. */ + "runner-label-name": string; + /** @description The name of the secret. */ + "secret-name": string; + /** @description The number of results per page (max 30). */ + "variables-per-page": number; + /** @description The name of the variable. */ + "variable-name": string; + /** @description The handle for the GitHub user account. */ + username: string; + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + "tool-name": components["schemas"]["code-scanning-analysis-tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + "tool-guid": components["schemas"]["code-scanning-analysis-tool-guid"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + "hook-id": number; + /** @description The unique identifier of the invitation. */ + "invitation-id": number; + /** @description The name of the codespace. */ + "codespace-name": string; + /** @description The unique identifier of the migration. */ + "migration-id": number; + /** @description repo_name parameter */ + "repo-name": string; + /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + "package-visibility": "public" | "private" | "internal"; + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + "package-type": "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** @description The name of the package. */ + "package-name": string; + /** @description Unique identifier of the package version. */ + "package-version-id": number; + /** @description The property by which to sort the results. */ + "personal-access-token-sort": "created_at"; + /** @description A list of owner usernames to use to filter the results. */ + "personal-access-token-owner": string[]; + /** @description The name of the repository to use to filter the results. */ + "personal-access-token-repository": string; + /** @description The permission to use to filter the results. */ + "personal-access-token-permission": string; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-before": string; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "personal-access-token-after": string; + /** @description The unique identifier of the fine-grained personal access token. */ + "fine-grained-personal-access-token-id": number; + /** @description The name of the repository to filter on. When specified, only rule evaluations from this repository will be returned. */ + "repository-name-in-query": number; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for insights that occurred in the past 7 days (168 hours). */ + "time-period": "hour" | "day" | "week" | "month"; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + "actor-name-in-query": string; + /** @description The rule results to filter on. When specified, only suites with this result will be returned. */ + "rule-suite-result": "pass" | "fail" | "bypass" | "all"; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + "rule-suite-id": number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + "secret-scanning-pagination-before-org-repo": string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + "secret-scanning-pagination-after-org-repo": string; + /** @description The slug of the team name. */ + "team-slug": string; + /** @description The number that identifies the discussion. */ + "discussion-number": number; + /** @description The number that identifies the comment. */ + "comment-number": number; + /** @description The unique identifier of the reaction. */ + "reaction-id": number; + /** @description The unique identifier of the project. */ + "project-id": number; + /** @description The security feature to enable or disable. */ + "security-product": "dependency_graph" | "dependabot_alerts" | "dependabot_security_updates" | "advanced_security" | "code_scanning_default_setup" | "secret_scanning" | "secret_scanning_push_protection"; + /** @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. */ + "org-security-product-enablement": "enable_all" | "disable_all"; + /** @description The unique identifier of the card. */ + "card-id": number; + /** @description The unique identifier of the column. */ + "column-id": number; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + "artifact-name": string; + /** @description The unique identifier of the artifact. */ + "artifact-id": number; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + "actions-cache-git-ref-full": string; + /** @description An explicit key or prefix for identifying the cache */ + "actions-cache-key": string; + /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + "actions-cache-list-sort": "created_at" | "last_accessed_at" | "size_in_bytes"; + /** @description A key for identifying the cache. */ + "actions-cache-key-required": string; + /** @description The unique identifier of the GitHub Actions cache. */ + "cache-id": number; + /** @description The unique identifier of the job. */ + "job-id": number; + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor: string; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + "workflow-run-branch": string; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event: string; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ + "workflow-run-status": "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting" | "pending"; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created: string; + /** @description If `true` pull requests are omitted from the response (empty array). */ + "exclude-pull-requests": boolean; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + "workflow-run-check-suite-id": number; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + "workflow-run-head-sha": string; + /** @description The unique identifier of the workflow run. */ + "run-id": number; + /** @description The attempt number of the workflow run. */ + "attempt-number": number; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + "workflow-id": number | string; + /** @description The unique identifier of the autolink. */ + "autolink-id": number; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: string; + /** @description The unique identifier of the check run. */ + "check-run-id": number; + /** @description The unique identifier of the check suite. */ + "check-suite-id": number; + /** @description Returns check runs with the specified `name`. */ + "check-name": string; + /** @description Returns check runs with the specified `status`. */ + status: "queued" | "in_progress" | "completed"; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + "git-ref": components["schemas"]["code-scanning-ref"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + "alert-number": components["schemas"]["alert-number"]; + /** @description The SHA of the commit. */ + "commit-sha": string; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + "commit-ref": string; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + "dependabot-alert-comma-separated-manifests": string; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + "dependabot-alert-number": components["schemas"]["alert-number"]; + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + "manifest-path": string; + /** @description deployment_id parameter */ + "deployment-id": number; + /** @description The name of the environment. */ + "environment-name": string; + /** @description The unique identifier of the branch policy. */ + "branch-policy-id": number; + /** @description The unique identifier of the protection rule. */ + "protection-rule-id": number; + /** @description A user ID. Only return users with an ID greater than this ID. */ + "since-user": number; + /** @description The number that identifies the issue. */ + "issue-number": number; + /** @description The unique identifier of the key. */ + "key-id": number; + /** @description The number that identifies the milestone. */ + "milestone-number": number; + /** @description The number that identifies the pull request. */ + "pull-number": number; + /** @description The unique identifier of the review. */ + "review-id": number; + /** @description The unique identifier of the asset. */ + "asset-id": number; + /** @description The unique identifier of the release. */ + "release-id": number; + /** @description The name of the ref. Cannot contain wildcard characters. When specified, only rule evaluations triggered for this ref will be returned. */ + "ref-in-query": string; + /** @description The unique identifier of the tag protection. */ + "tag-protection-id": number; + /** @description The time frame to display results for. */ + per: "day" | "week"; + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + "since-repo": number; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order: "desc" | "asc"; + /** @description The unique identifier of the team. */ + "team-id": number; + /** @description ID of the Repository to filter on */ + "repository-id-in-query": number; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + "export-id": string; + /** @description The unique identifier of the GPG key. */ + "gpg-key-id": number; + /** @description Only show repositories updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "since-repo-date": string; + /** @description Only show repositories updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + "before-repo-date": string; + /** @description The unique identifier of the SSH signing key. */ + "ssh-signing-key-id": number; + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + "sort-starred": "created" | "updated"; + }; + requestBodies: never; + headers: { + /** @example ; rel="next", ; rel="last" */ + link: string; + /** @example text/html */ + "content-type": string; + /** @example 0.17.4 */ + "x-common-marker-version": string; + /** @example 5000 */ + "x-rate-limit-limit": number; + /** @example 4999 */ + "x-rate-limit-remaining": number; + /** @example 1590701888 */ + "x-rate-limit-reset": number; + /** @example https://pipelines.actions.githubusercontent.com/OhgS4QRKqmgx7bKC27GKU83jnQjyeqG8oIMTge8eqtheppcmw8/_apis/pipelines/1/runs/176/signedlogcontent?urlExpires=2020-01-24T18%3A10%3A31.5729946Z&urlSigningMethod=HMACV1&urlSignature=agG73JakPYkHrh06seAkvmH7rBR4Ji4c2%2B6a2ejYh3E%3D */ + location: string; + }; + pathItems: never; +} +export type $defs = Record; +export interface operations { + "meta/root": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["root"]; + }; + }; + }; }; - responses: { - /** @description Response if dependabot is enabled */ - 200: { - content: { - "application/json": components["schemas"]["check-automated-security-fixes"]; - }; - }; - /** @description Not Found if dependabot is not enabled for the repository */ - 404: { - content: never; - }; - }; - }; - /** - * Enable automated security fixes - * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - "repos/enable-automated-security-fixes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "security-advisories/list-global-advisories": { + parameters: { + query?: { + /** @description If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned. */ + ghsa_id?: string; + /** @description If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. */ + type?: "reviewed" | "malware" | "unreviewed"; + /** @description If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned. */ + cve_id?: string; + /** @description If specified, only advisories for these ecosystems will be returned. */ + ecosystem?: "actions" | "composer" | "erlang" | "go" | "maven" | "npm" | "nuget" | "other" | "pip" | "pub" | "rubygems" | "rust"; + /** @description If specified, only advisories with these severities will be returned. */ + severity?: "unknown" | "low" | "medium" | "high" | "critical"; + /** @description If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. + * + * Example: `cwes=79,284,22` or `cwes[]=79&cwes[]=284&cwes[]=22` */ + cwes?: string | string[]; + /** @description Whether to only return advisories that have been withdrawn. */ + is_withdrawn?: boolean; + /** @description If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. + * If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. + * + * Example: `affects=package1,package2@1.0.0,package3@^2.0.0` or `affects[]=package1&affects[]=package2@1.0.0` */ + affects?: string | string[]; + /** @description If specified, only return advisories that were published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + published?: string; + /** @description If specified, only return advisories that were updated on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + updated?: string; + /** @description If specified, only show advisories that were updated or published on a date or date range. + * + * For more information on the syntax of the date range, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + modified?: string; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: number; + /** @description The property to sort the results by. */ + sort?: "updated" | "published"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["global-advisory"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + /** @description Too many requests */ + 429: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Disable automated security fixes - * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". - */ - "repos/disable-automated-security-fixes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "security-advisories/get-global-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["global-advisory"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "apps/get-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** List branches */ - "repos/list-branches": { - parameters: { - query?: { - /** @description Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ - protected?: boolean; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "apps/create-from-manifest": { + parameters: { + query?: never; + header?: never; + path: { + code: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"] & { + client_id: string; + client_secret: string; + webhook_secret: string | null; + pem: string; + [key: string]: unknown; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "apps/get-webhook-config-for-app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "apps/update-webhook-config-for-app": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; }; - content: { - "application/json": components["schemas"]["short-branch"][]; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Get a branch */ - "repos/get-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-with-protection"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-protection"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Protecting a branch requires admin or owner permissions to the repository. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - * - * **Note**: The list of users, apps, and teams in total is limited to 100 items. - */ - "repos/update-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Require status checks to pass before merging. Set to `null` to disable. */ - required_status_checks: { - /** @description Require branches to be up to date before merging. */ - strict: boolean; - /** - * @deprecated - * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. - */ - contexts: string[]; - /** @description The list of status checks to require in order to merge into this branch. */ - checks?: { - /** @description The name of the required check */ - context: string; - /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ - app_id?: number; - }[]; - } | null; - /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ - enforce_admins: boolean | null; - /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ - required_pull_request_reviews: { - /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ - dismissal_restrictions?: { - /** @description The list of user `login`s with dismissal access */ - users?: string[]; - /** @description The list of team `slug`s with dismissal access */ - teams?: string[]; - /** @description The list of app `slug`s with dismissal access */ - apps?: string[]; - }; - /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ - dismiss_stale_reviews?: boolean; - /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ - require_code_owner_reviews?: boolean; - /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. - * @default false - */ - require_last_push_approval?: boolean; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of user `login`s allowed to bypass pull request requirements. */ - users?: string[]; - /** @description The list of team `slug`s allowed to bypass pull request requirements. */ - teams?: string[]; - /** @description The list of app `slug`s allowed to bypass pull request requirements. */ - apps?: string[]; - }; - } | null; - /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ - restrictions: { - /** @description The list of user `login`s with push access */ - users: string[]; - /** @description The list of team `slug`s with push access */ - teams: string[]; - /** @description The list of app `slug`s with push access */ - apps?: string[]; - } | null; - /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ - required_linear_history?: boolean; - /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ - allow_force_pushes?: boolean | null; - /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ - allow_deletions?: boolean; - /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ - block_creations?: boolean; - /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ - required_conversation_resolution?: boolean; - /** - * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. - * @default false - */ - lock_branch?: boolean; - /** - * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. - * @default false - */ - allow_fork_syncing?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Delete branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/delete-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-admin-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - }; - }; - /** - * Set admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Adding admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - "repos/set-admin-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - }; - }; - /** - * Delete admin branch protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - */ - "repos/delete-admin-branch-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-pull-request-review-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-pull-request-review"]; - }; - }; - }; - }; - /** - * Delete pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/delete-pull-request-review-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update pull request review protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating pull request review enforcement requires admin or owner permissions to the repository and branch protection to be enabled. - * - * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. - */ - "repos/update-pull-request-review-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ - dismissal_restrictions?: { - /** @description The list of user `login`s with dismissal access */ - users?: string[]; - /** @description The list of team `slug`s with dismissal access */ - teams?: string[]; - /** @description The list of app `slug`s with dismissal access */ - apps?: string[]; - }; - /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ - dismiss_stale_reviews?: boolean; - /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ - require_code_owner_reviews?: boolean; - /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ - required_approving_review_count?: number; - /** - * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` - * @default false - */ - require_last_push_approval?: boolean; - /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ - bypass_pull_request_allowances?: { - /** @description The list of user `login`s allowed to bypass pull request requirements. */ - users?: string[]; - /** @description The list of team `slug`s allowed to bypass pull request requirements. */ - teams?: string[]; - /** @description The list of app `slug`s allowed to bypass pull request requirements. */ - apps?: string[]; - }; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-pull-request-review"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to check whether a branch requires signed commits. An enabled status of `true` indicates you must sign commits on this branch. For more information, see [Signing commits with GPG](https://docs.github.com/articles/signing-commits-with-gpg) in GitHub Help. - * - * **Note**: You must enable branch protection to require signed commits. - */ - "repos/get-commit-signature-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to require signed commits on a branch. You must enable branch protection to require signed commits. - */ - "repos/create-commit-signature-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["protected-branch-admin-enforced"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete commit signature protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. - */ - "repos/delete-commit-signature-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "apps/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + redelivery?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get status checks protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-status-checks-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "apps/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["status-check-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/remove-status-check-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "apps/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/list-installation-requests-for-authenticated-app": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of integration installation requests */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration-installation-request"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + "apps/list-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + outdated?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The permissions the installation has are included under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update status check protection - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. - */ - "repos/update-status-check-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Require branches to be up to date before merging. */ - strict?: boolean; - /** - * @deprecated - * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. - */ - contexts?: string[]; - /** @description The list of status checks to require in order to merge into this branch. */ - checks?: { - /** @description The name of the required check */ - context: string; - /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ - app_id?: number; - }[]; + "apps/get-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 404: components["responses"]["not_found"]; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["status-check-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/get-all-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "apps/delete-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/set-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The name of the status checks */ - contexts: string[]; - }, string[]]>; - }; + "apps/create-installation-access-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description List of repository names that the token should have access to */ + repositories?: string[]; + /** + * @description List of repository IDs that the token should have access to + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation-token"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/suspend-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/add-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The name of the status checks */ - contexts: string[]; - }, string[]]>; - }; + "apps/unsuspend-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove status check contexts - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "repos/remove-status-check-contexts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The name of the status checks */ - contexts: string[]; - }, string[]]>; - }; + "apps/delete-authorization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists who has access to this protected branch. - * - * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. - */ - "repos/get-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "apps/check-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-restriction-policy"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Disables the ability to restrict who can push to this branch. - */ - "repos/delete-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "apps/delete-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The OAuth access token used to authenticate to the GitHub API. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get apps with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the GitHub Apps that have push access to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/get-apps-with-access-to-protected-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "apps/reset-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The access_token of the OAuth or GitHub application. */ + access_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of apps that have push access to this branch. This removes all apps that previously had push access and grants push access to the new list of apps. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/set-app-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }, string[]]>; - }; + "apps/scope-token": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The client ID of the GitHub app. */ + client_id: components["parameters"]["client-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The access token used to authenticate to the GitHub API. + * @example e72e16c7e42f292c6912e7710c838347ae178b4a + */ + access_token: string; + /** + * @description The name of the user or organization to scope the user access token to. **Required** unless `target_id` is specified. + * @example octocat + */ + target?: string; + /** + * @description The ID of the user or organization to scope the user access token to. **Required** unless `target` is specified. + * @example 1 + */ + target_id?: number; + /** @description The list of repository names to scope the user access token to. `repositories` may not be specified if `repository_ids` is specified. */ + repositories?: string[]; + /** + * @description The list of repository IDs to scope the user access token to. `repository_ids` may not be specified if `repositories` is specified. + * @example [ + * 1 + * ] + */ + repository_ids?: number[]; + permissions?: components["schemas"]["app-permissions"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authorization"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-by-slug": { + parameters: { + query?: never; + header?: never; + path: { + app_slug: components["parameters"]["app-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified apps push access for this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/add-app-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }, string[]]>; - }; + "classroom/get-an-assignment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-assignment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove app access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. - */ - "repos/remove-app-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ - apps: string[]; - }, string[]]>; - }; + "classroom/list-accepted-assigments-for-an-assignment": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-accepted-assignment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["integration"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get teams with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the teams who have push access to this branch. The list includes child teams. - */ - "repos/get-teams-with-access-to-protected-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "classroom/get-assignment-grades": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom assignment. */ + assignment_id: components["parameters"]["assignment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom-assignment-grade"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of teams that have push access to this branch. This removes all teams that previously had push access and grants push access to the new list of teams. Team restrictions include child teams. - */ - "repos/set-team-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The slug values for teams */ - teams: string[]; - }, string[]]>; - }; + "classroom/list-classrooms": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-classroom"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified teams push access for this branch. You can also give push access to child teams. - */ - "repos/add-team-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The slug values for teams */ - teams: string[]; - }, string[]]>; - }; + "classroom/get-a-classroom": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the classroom. */ + classroom_id: components["parameters"]["classroom-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["classroom"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove team access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a team to push to this branch. You can also remove push access for child teams. - */ - "repos/remove-team-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The slug values for teams */ - teams: string[]; - }, string[]]>; - }; + "classroom/list-assignments-for-a-classroom": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the classroom. */ + classroom_id: components["parameters"]["classroom-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-classroom-assignment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get users with access to the protected branch - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists the people who have push access to this branch. - */ - "repos/get-users-with-access-to-protected-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "codes-of-conduct/get-all-codes-of-conduct": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-of-conduct"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Set user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Replaces the list of people that have push access to this branch. This removes all people that previously had push access and grants push access to the new list of people. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/set-user-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The username for users */ - users: string[]; - }, string[]]>; - }; + "codes-of-conduct/get-conduct-code": { + parameters: { + query?: never; + header?: never; + path: { + key: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-of-conduct"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + "emojis/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + [key: string]: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "dependabot/list-alerts-for-enterprise": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "secret-scanning/list-alerts-for-enterprise": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + }; + header?: never; + path: { + /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ + enterprise: components["parameters"]["enterprise"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Grants the specified people push access for this branch. - * - * | Type | Description | - * | ------- | ----------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames for people who can have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/add-user-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The username for users */ - users: string[]; - }, string[]]>; - }; + "activity/list-public-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "activity/get-feeds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["feed"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove user access restrictions - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Removes the ability of a user to push to this branch. - * - * | Type | Description | - * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- | - * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | - */ - "repos/remove-user-access-restrictions": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The username for users */ - users: string[]; - }, string[]]>; - }; + "gists/list": { + parameters: { + query?: { + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/create": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Description of the gist + * @example Example Ruby script + */ + description?: string; + /** + * @description Names and content for the files that make up the gist + * @example { + * "hello.rb": { + * "content": "puts \"Hello, World!\"" + * } + * } + */ + files: { + [key: string]: { + /** @description Content of the file */ + content: string; + }; + }; + public?: boolean | ("true" | "false"); + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/list-public": { + parameters: { + query?: { + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/list-starred": { + parameters: { + query?: { + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "gists/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The description of the gist. + * @example Example Ruby script + */ + description?: string; + /** + * @description The gist files to be updated, renamed, or deleted. Each `key` must match the current filename + * (including extension) of the targeted gist file. For example: `hello.py`. + * + * To delete a file, set the whole file to null. For example: `hello.py : null`. The file will also be + * deleted if the specified object does not contain at least one of `content` or `filename`. + * @example { + * "hello.rb": { + * "content": "blah", + * "filename": "goodbye.rb" + * } + * } + */ + files?: { + [key: string]: { + /** @description The new content of the file. */ + content?: string; + /** @description The new filename for the file. */ + filename?: string | null; + } | null; + }; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Rename a branch - * @description Renames a branch in a repository. - * - * **Note:** Although the API responds immediately, the branch rename process might take some extra time to complete in the background. You won't be able to push to the old branch name while the rename process is in progress. For more information, see "[Renaming a branch](https://docs.github.com/github/administering-a-repository/renaming-a-branch)". - * - * The permissions required to use this endpoint depends on whether you are renaming the default branch. - * - * To rename a non-default branch: - * - * * Users must have push access. - * * GitHub Apps must have the `contents:write` repository permission. - * - * To rename the default branch: - * - * * Users must have admin or owner permissions. - * * GitHub Apps must have the `administration:write` repository permission. - */ - "repos/rename-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "gists/list-comments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/create-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/a6db0bec360bb87e9418/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden_gist"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/delete-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/update-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The comment text. + * @example Body of the attachment + */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The new name of the branch. */ - new_name: string; + "gists/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-commit"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/list-forks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/fork": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/gists/aa5a315d61ae9438b18d */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gists/check-is-starred": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if gist is starred */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if gist is not starred */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["branch-with-protection"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs. - * - * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. - */ - "checks/create": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** @description The name of the check. For example, "code-coverage". */ - name: string; - /** @description The SHA of the commit. */ - head_sha: string; - /** @description The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. */ - details_url?: string; - /** @description A reference for the run on the integrator's system. */ - external_id?: string; - /** - * @description The current status. - * @default queued - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed"; - /** - * Format: date-time - * @description The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at?: string; - /** - * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. - * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. - * @enum {string} - */ - conclusion?: "action_required" | "cancelled" | "failure" | "neutral" | "success" | "skipped" | "stale" | "timed_out"; - /** - * Format: date-time - * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - completed_at?: string; - /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ - output?: { - /** @description The title of the check run. */ - title: string; - /** @description The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ - summary: string; - /** @description The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ - text?: string; - /** @description Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ - annotations?: ({ - /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ - path: string; - /** @description The start line of the annotation. Line numbers start at 1. */ - start_line: number; - /** @description The end line of the annotation. */ - end_line: number; - /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ - start_column?: number; - /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ - end_column?: number; - /** - * @description The level of the annotation. - * @enum {string} - */ - annotation_level: "notice" | "warning" | "failure"; - /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ - message: string; - /** @description The title that represents the annotation. The maximum size is 255 characters. */ - title?: string; - /** @description Details about this annotation. The maximum size is 64 KB. */ - raw_details?: string; - })[]; - /** @description Adds images to the output displayed in the GitHub pull request UI. */ - images?: { - /** @description The alternative text for the image. */ - alt: string; - /** @description The full URL of the image. */ - image_url: string; - /** @description A short image description. */ - caption?: string; - }[]; - }; - /** @description Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions)." */ - actions?: { - /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ - label: string; - /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ - description: string; - /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ - identifier: string; - }[]; - }) & (OneOf<[{ - /** @enum {unknown} */ - status: "completed"; - [key: string]: unknown; - }, { - /** @enum {unknown} */ - status?: "queued" | "in_progress"; - [key: string]: unknown; - }]>); - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - /** - * Get a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - "checks/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; + "gists/star": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/unstar": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "gists/get-revision": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the gist. */ + gist_id: components["parameters"]["gist-id"]; + sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gist-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "gitignore/get-all-templates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - /** - * Update a check run - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. - */ - "checks/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** @description The name of the check. For example, "code-coverage". */ - name?: string; - /** @description The URL of the integrator's site that has the full details of the check. */ - details_url?: string; - /** @description A reference for the run on the integrator's system. */ - external_id?: string; - /** - * Format: date-time - * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at?: string; - /** - * @description The current status. - * @enum {string} - */ - status?: "queued" | "in_progress" | "completed"; - /** - * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. - * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. - * @enum {string} - */ - conclusion?: "action_required" | "cancelled" | "failure" | "neutral" | "success" | "skipped" | "stale" | "timed_out"; - /** - * Format: date-time - * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - completed_at?: string; - /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ - output?: { - /** @description **Required**. */ - title?: string; - /** @description Can contain Markdown. */ - summary: string; - /** @description Can contain Markdown. */ - text?: string; - /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ - annotations?: ({ - /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ - path: string; - /** @description The start line of the annotation. Line numbers start at 1. */ - start_line: number; - /** @description The end line of the annotation. */ - end_line: number; - /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ - start_column?: number; - /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ - end_column?: number; - /** - * @description The level of the annotation. - * @enum {string} - */ - annotation_level: "notice" | "warning" | "failure"; - /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ - message: string; - /** @description The title that represents the annotation. The maximum size is 255 characters. */ - title?: string; - /** @description Details about this annotation. The maximum size is 64 KB. */ - raw_details?: string; - })[]; - /** @description Adds images to the output displayed in the GitHub pull request UI. */ - images?: { - /** @description The alternative text for the image. */ - alt: string; - /** @description The full URL of the image. */ - image_url: string; - /** @description A short image description. */ - caption?: string; - }[]; - }; - /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions)." */ - actions?: { - /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ - label: string; - /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ - description: string; - /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ - identifier: string; - }[]; - }) & ({ - /** @enum {unknown} */ - status?: "completed"; - [key: string]: unknown; - } | ({ - /** @enum {unknown} */ - status?: "queued" | "in_progress"; - [key: string]: unknown; - })); - }; + "gitignore/get-template": { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gitignore-template"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-run"]; - }; - }; - }; - }; - /** - * List check run annotations - * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. - */ - "checks/list-annotations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; + "apps/list-repos-accessible-to-installation": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + /** @example selected */ + repository_selection?: string; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "apps/revoke-installation-access-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["check-annotation"][]; - }; - }; - }; - }; - /** - * Rerequest a check run - * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository. - * - * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". - */ - "checks/rerequest-run": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_run_id: components["parameters"]["check-run-id"]; - }; + "issues/list": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + collab?: boolean; + orgs?: boolean; + owned?: boolean; + pulls?: boolean; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "licenses/get-all-commonly-used": { + parameters: { + query?: { + featured?: boolean; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ - 403: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 404: components["responses"]["not_found"]; - /** @description Validation error if the check run is not rerequestable */ - 422: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Create a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. - */ - "checks/create-suite": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "licenses/get": { + parameters: { + query?: never; + header?: never; + path: { + license: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "markdown/render": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The Markdown text to render in HTML. */ + text: string; + /** + * @description The rendering mode. + * @default markdown + * @example markdown + * @enum {string} + */ + mode: "markdown" | "gfm"; + /** @description The repository context to use when creating references in `gfm` mode. For example, setting `context` to `octo-org/octo-repo` will change the text `#42` into an HTML link to issue 42 in the `octo-org/octo-repo` repository. */ + context?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "Content-Type": components["headers"]["content-type"]; + /** @example 279 */ + "Content-Length"?: string; + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + [name: string]: unknown; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The sha of the head commit. */ - head_sha: string; + "markdown/render-raw": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "text/plain": string; + "text/x-markdown": string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + "X-CommonMarker-Version": components["headers"]["x-common-marker-version"]; + [name: string]: unknown; + }; + content: { + "text/html": string; + }; + }; + 304: components["responses"]["not_modified"]; }; - }; }; - responses: { - /** @description Response when the suite already exists */ - 200: { - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - /** @description Response when the suite was created */ - 201: { - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - }; - }; - /** - * Update repository preferences for check suites - * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. - */ - "checks/set-suites-preferences": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ - auto_trigger_checks?: { - /** @description The `id` of the GitHub App. */ - app_id: number; - /** - * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. - * @default true - */ - setting: boolean; - }[]; + "apps/get-subscription-plan-for-account": { + parameters: { + query?: never; + header?: never; + path: { + /** @description account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-suite-preference"]; - }; - }; - }; - }; - /** - * Get a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - "checks/get-suite": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_suite_id: components["parameters"]["check-suite-id"]; - }; + "apps/list-plans": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-accounts-for-plan": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/get-subscription-plan-for-account-stubbed": { + parameters: { + query?: never; + header?: never; + path: { + /** @description account_id parameter */ + account_id: components["parameters"]["account-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + /** @description Not Found when the account has not purchased the listing */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["check-suite"]; - }; - }; - }; - }; - /** - * List check runs in a check suite - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - "checks/list-for-suite": { - parameters: { - query?: { - check_name?: components["parameters"]["check-name"]; - status?: components["parameters"]["status"]; - /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ - filter?: "latest" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_suite_id: components["parameters"]["check-suite-id"]; - }; + "apps/list-plans-stubbed": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-listing-plan"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + "apps/list-accounts-for-plan-stubbed": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description To return the oldest accounts first, set to `asc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the plan. */ + plan_id: components["parameters"]["plan-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["marketplace-purchase"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + }; + }; + "meta/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["api-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "activity/list-public-events-for-repo-network": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-notifications-for-authenticated-user": { + parameters: { + query?: { + /** @description If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 50). */ + per_page?: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "activity/mark-notifications-as-read": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + /** @description Whether the notification has been read. */ + read?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/get-thread": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/mark-thread-as-read": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; }; - content: { - "application/json": { - total_count: number; - check_runs: components["schemas"]["check-run"][]; - }; - }; - }; - }; - }; - /** - * Rerequest a check suite - * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. - * - * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository. - */ - "checks/rerequest-suite": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - check_suite_id: components["parameters"]["check-suite-id"]; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * List code scanning alerts for a repository - * @description Lists code scanning alerts. - * - * To use this endpoint, you must use an access token with the `security_events` scope or, for alerts from public repositories only, an access token with the `public_repo` scope. - * - * GitHub Apps must have the `security_events` read - * permission to use this endpoint. - * - * The response includes a `most_recent_instance` object. - * This provides details of the most recent instance of this alert - * for the default branch (or for the specified Git reference if you used `ref` in the request). - */ - "code-scanning/list-alerts-for-repo": { - parameters: { - query?: { - tool_name?: components["parameters"]["tool-name"]; - tool_guid?: components["parameters"]["tool-guid"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - ref?: components["parameters"]["git-ref"]; - direction?: components["parameters"]["direction"]; - /** @description The property by which to sort the results. */ - sort?: "created" | "updated"; - /** @description If specified, only code scanning alerts with this state will be returned. */ - state?: components["schemas"]["code-scanning-alert-state-query"]; - /** @description If specified, only code scanning alerts with this severity will be returned. */ - severity?: components["schemas"]["code-scanning-alert-severity"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "activity/get-thread-subscription-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/set-thread-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to block all notifications from a thread. + * @default false + */ + ignored: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread-subscription"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/delete-thread-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the notification thread. This corresponds to the value returned in the `id` field when you retrieve notifications (for example with the [`GET /notifications` operation](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user)). */ + thread_id: components["parameters"]["thread-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert-items"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a code scanning alert - * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/get-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "meta/get-octocat": { + parameters: { + query?: { + /** @description The words to show in Octocat's speech bubble */ + s?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/octocat-stream": string; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a code scanning alert - * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. - */ - "code-scanning/update-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "orgs/list": { + parameters: { + query?: { + /** @description An organization ID. Only return organizations with an ID greater than this ID. */ + since?: components["parameters"]["since-org"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + }; }; - requestBody: { - content: { - "application/json": { - state: components["schemas"]["code-scanning-alert-set-state"]; - dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; - dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + "orgs/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 404: components["responses"]["not_found"]; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List instances of a code scanning alert - * @description Lists all instances of the specified code scanning alert. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/list-alert-instances": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - ref?: components["parameters"]["git-ref"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "orgs/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Billing email address. This address is not publicized. */ + billing_email?: string; + /** @description The company name. */ + company?: string; + /** @description The publicly visible email address. */ + email?: string; + /** @description The Twitter username of the company. */ + twitter_username?: string; + /** @description The location. */ + location?: string; + /** @description The shorthand name of the company. */ + name?: string; + /** @description The description of the company. */ + description?: string; + /** @description Whether an organization can use organization projects. */ + has_organization_projects?: boolean; + /** @description Whether repositories that belong to the organization can use repository projects. */ + has_repository_projects?: boolean; + /** + * @description Default permission level members have for organization repositories. + * @default read + * @enum {string} + */ + default_repository_permission: "read" | "write" | "admin" | "none"; + /** + * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + * @default true + */ + members_can_create_repositories: boolean; + /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_internal_repositories?: boolean; + /** @description Whether organization members can create private repositories, which are visible to organization members with permission. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_private_repositories?: boolean; + /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ + members_can_create_public_repositories?: boolean; + /** + * @description Specifies which types of repositories non-admin organization members can create. `private` is only available to repositories that are part of an organization on GitHub Enterprise Cloud. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + * @enum {string} + */ + members_allowed_repository_creation_type?: "all" | "private" | "none"; + /** + * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_pages: boolean; + /** + * @description Whether organization members can create public GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_public_pages: boolean; + /** + * @description Whether organization members can create private GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ + members_can_create_private_pages: boolean; + /** + * @description Whether organization members can fork private organization repositories. + * @default false + */ + members_can_fork_private_repositories: boolean; + /** + * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. + * @default false + */ + web_commit_signoff_required: boolean; + /** @example "http://github.blog" */ + blog?: string; + /** @description Whether GitHub Advanced Security is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + advanced_security_enabled_for_new_repositories?: boolean; + /** @description Whether Dependabot alerts is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + dependabot_alerts_enabled_for_new_repositories?: boolean; + /** @description Whether Dependabot security updates is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + dependabot_security_updates_enabled_for_new_repositories?: boolean; + /** @description Whether dependency graph is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + dependency_graph_enabled_for_new_repositories?: boolean; + /** @description Whether secret scanning is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + secret_scanning_enabled_for_new_repositories?: boolean; + /** @description Whether secret scanning push protection is automatically enabled for new repositories. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * You can check which security and analysis features are currently enabled by using a `GET /orgs/{org}` request. */ + secret_scanning_push_protection_enabled_for_new_repositories?: boolean; + /** @description Whether a custom link is shown to contributors who are blocked from pushing a secret by push protection. */ + secret_scanning_push_protection_custom_link_enabled?: boolean; + /** @description If `secret_scanning_push_protection_custom_link_enabled` is true, the URL that will be displayed to contributors who are blocked from pushing a secret. */ + secret_scanning_push_protection_custom_link?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-full"]; + }; + }; + 409: components["responses"]["conflict"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-alert-instance"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List code scanning analyses for a repository - * @description Lists the details of all code scanning analyses for a repository, - * starting with the most recent. - * The response is paginated and you can use the `page` and `per_page` parameters - * to list the analyses you're interested in. - * By default 30 analyses are listed per page. - * - * The `rules_count` field in the response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * **Deprecation notice**: - * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. - */ - "code-scanning/list-recent-analyses": { - parameters: { - query?: { - tool_name?: components["parameters"]["tool-name"]; - tool_guid?: components["parameters"]["tool-guid"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ - ref?: components["schemas"]["code-scanning-ref"]; - /** @description Filter analyses belonging to the same SARIF upload. */ - sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; - direction?: components["parameters"]["direction"]; - /** @description The property by which to sort the results. */ - sort?: "created"; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/get-actions-cache-usage-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-org-enterprise"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-analysis"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a code scanning analysis for a repository - * @description Gets a specified code scanning analysis for a repository. - * You must use an access token with the `security_events` scope to use this endpoint with private repos, - * the `public_repo` scope also grants permission to read security events on public repos only. - * GitHub Apps must have the `security_events` read permission to use this endpoint. - * - * The default JSON response contains fields that describe the analysis. - * This includes the Git reference and commit SHA to which the analysis relates, - * the datetime of the analysis, the name of the code scanning tool, - * and the number of alerts. - * - * The `rules_count` field in the default response give the number of rules - * that were run in the analysis. - * For very old analyses this data is not available, - * and `0` is returned in this field. - * - * If you use the Accept header `application/sarif+json`, - * the response contains the analysis data that was uploaded. - * This is formatted as - * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). - */ - "code-scanning/get-analysis": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ - analysis_id: number; - }; + "actions/get-actions-cache-usage-by-repo-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repository_cache_usages: components["schemas"]["actions-cache-usage-by-repository"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-analysis"]; - "application/json+sarif": { - [key: string]: unknown; - }; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Delete a code scanning analysis from a repository - * @description Deletes a specified code scanning analysis from a repository. For - * private repositories, you must use an access token with the `repo` scope. For public repositories, - * you must use an access token with `public_repo` scope. - * GitHub Apps must have the `security_events` write permission to use this endpoint. - * - * You can delete one analysis at a time. - * To delete a series of analyses, start with the most recent analysis and work backwards. - * Conceptually, the process is similar to the undo function in a text editor. - * - * When you list the analyses for a repository, - * one or more will be identified as deletable in the response: - * - * ``` - * "deletable": true - * ``` - * - * An analysis is deletable when it's the most recent in a set of analyses. - * Typically, a repository will have multiple sets of analyses - * for each enabled code scanning tool, - * where a set is determined by a unique combination of analysis values: - * - * * `ref` - * * `tool` - * * `category` - * - * If you attempt to delete an analysis that is not the most recent in a set, - * you'll get a 400 response with the message: - * - * ``` - * Analysis specified is not deletable. - * ``` - * - * The response from a successful `DELETE` operation provides you with - * two alternative URLs for deleting the next analysis in the set: - * `next_analysis_url` and `confirm_delete_url`. - * Use the `next_analysis_url` URL if you want to avoid accidentally deleting the final analysis - * in a set. This is a useful option if you want to preserve at least one analysis - * for the specified tool in your repository. - * Use the `confirm_delete_url` URL if you are content to remove all analyses for a tool. - * When you delete the last analysis in a set, the value of `next_analysis_url` and `confirm_delete_url` - * in the 200 response is `null`. - * - * As an example of the deletion process, - * let's imagine that you added a workflow that configured a particular code scanning tool - * to analyze the code in a repository. This tool has added 15 analyses: - * 10 on the default branch, and another 5 on a topic branch. - * You therefore have two separate sets of analyses for this tool. - * You've now decided that you want to remove all of the analyses for the tool. - * To do this you must make 15 separate deletion requests. - * To start, you must find an analysis that's identified as deletable. - * Each set of analyses always has one that's identified as deletable. - * Having found the deletable analysis for one of the two sets, - * delete this analysis and then continue deleting the next analysis in the set until they're all deleted. - * Then repeat the process for the second set. - * The procedure therefore consists of a nested loop: - * - * **Outer loop**: - * * List the analyses for the repository, filtered by tool. - * * Parse this list to find a deletable analysis. If found: - * - * **Inner loop**: - * * Delete the identified analysis. - * * Parse the response for the value of `confirm_delete_url` and, if found, use this in the next iteration. - * - * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. - */ - "code-scanning/delete-analysis": { - parameters: { - query?: { - /** @description Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ - confirm_delete?: string | null; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ - analysis_id: number; - }; + "oidc/get-oidc-custom-sub-template-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A JSON serialized template for OIDC subject claim customization */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-analysis-deletion"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List CodeQL databases for a repository - * @description Lists the CodeQL databases that are available in a repository. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - "code-scanning/list-codeql-databases": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "oidc/update-oidc-custom-sub-template-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["oidc-custom-sub"]; + }; + }; + responses: { + /** @description Empty response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-codeql-database"][]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a CodeQL database for a repository - * @description Gets a CodeQL database for a language in a repository. - * - * By default this endpoint returns JSON metadata about the CodeQL database. To - * download the CodeQL database binary content, set the `Accept` header of the request - * to [`application/zip`](https://docs.github.com/rest/overview/media-types), and make sure - * your HTTP client is configured to follow redirects or use the `Location` header - * to make a second request to get the redirect URL. - * - * For private repositories, you must use an access token with the `security_events` scope. - * For public repositories, you can use tokens with the `security_events` or `public_repo` scope. - * GitHub Apps must have the `contents` read permission to use this endpoint. - */ - "code-scanning/get-codeql-database": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The language of the CodeQL database. */ - language: string; - }; + "actions/get-github-actions-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-organization-permissions"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-codeql-database"]; - }; - }; - 302: components["responses"]["found"]; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a code scanning default setup configuration - * @description Gets a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - "code-scanning/get-default-setup": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/set-github-actions-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + enabled_repositories: components["schemas"]["enabled-repositories"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-default-setup"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a code scanning default setup configuration - * @description Updates a code scanning default setup configuration. - * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo` - * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. - */ - "code-scanning/update-default-setup": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/list-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["code-scanning-default-setup-update"]; - }; + "actions/set-selected-repositories-enabled-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of repository IDs to enable for GitHub Actions. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["code-scanning-default-setup-update-response"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["code_scanning_conflict"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Upload an analysis as SARIF data - * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." - * - * There are two places where you can upload code scanning results. - * - If you upload to a pull request, for example `--ref refs/pull/42/merge` or `--ref refs/pull/42/head`, then the results appear as alerts in a pull request check. For more information, see "[Triaging code scanning alerts in pull requests](/code-security/secure-coding/triaging-code-scanning-alerts-in-pull-requests)." - * - If you upload to a branch, for example `--ref refs/heads/my-branch`, then the results appear in the **Security** tab for your repository. For more information, see "[Managing code scanning alerts for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository#viewing-the-alerts-for-a-repository)." - * - * You must compress the SARIF-formatted analysis data that you want to upload, using `gzip`, and then encode it as a Base64 format string. For example: - * - * ``` - * gzip -c analysis-data.sarif | base64 -w0 - * ``` - *
- * SARIF upload supports a maximum number of entries per the following data objects, and an analysis will be rejected if any of these objects is above its maximum value. For some objects, there are additional values over which the entries will be ignored while keeping the most important entries whenever applicable. - * To get the most out of your analysis when it includes data above the supported limits, try to optimize the analysis configuration. For example, for the CodeQL tool, identify and remove the most noisy queries. For more information, see "[SARIF results exceed one or more limits](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif/results-exceed-limit)." - * - * - * | **SARIF data** | **Maximum values** | **Additional limits** | - * |----------------------------------|:------------------:|----------------------------------------------------------------------------------| - * | Runs per file | 20 | | - * | Results per run | 25,000 | Only the top 5,000 results will be included, prioritized by severity. | - * | Rules per run | 25,000 | | - * | Tool extensions per run | 100 | | - * | Thread Flow Locations per result | 10,000 | Only the top 1,000 Thread Flow Locations will be included, using prioritization. | - * | Location per result | 1,000 | Only 100 locations will be included. | - * | Tags per rule | 20 | Only 10 tags will be included. | - * - * - * The `202 Accepted` response includes an `id` value. - * You can use this ID to check the status of the upload by using it in the `/sarifs/{sarif_id}` endpoint. - * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." - */ - "code-scanning/upload-sarif": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; - ref: components["schemas"]["code-scanning-ref"]; - sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; - /** - * Format: uri - * @description The base directory used in the analysis, as it appears in the SARIF file. - * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. - * @example file:///github/workspace/ - */ - checkout_uri?: string; - /** - * Format: date-time - * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - started_at?: string; - /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ - tool_name?: string; - /** - * @description Whether the SARIF file will be validated according to the code scanning specifications. - * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. - */ - validate?: boolean; - }; - }; + "actions/enable-selected-repository-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; - }; - }; - /** @description Bad Request if the sarif field is invalid */ - 400: { - content: never; - }; - 403: components["responses"]["code_scanning_forbidden_write"]; - 404: components["responses"]["not_found"]; - /** @description Payload Too Large if the sarif field is too large */ - 413: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get information about a SARIF upload - * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. - */ - "code-scanning/get-sarif": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The SARIF ID obtained after uploading. */ - sarif_id: string; - }; + "actions/disable-selected-repository-github-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["code-scanning-sarifs-status"]; - }; - }; - 403: components["responses"]["code_scanning_forbidden_read"]; - /** @description Not Found if the sarif id does not match any upload */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List CODEOWNERS errors - * @description List any syntax errors that are detected in the CODEOWNERS - * file. - * - * For more information about the correct CODEOWNERS syntax, - * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." - */ - "repos/codeowners-errors": { - parameters: { - query?: { - /** @description A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/get-allowed-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codeowners-errors"]; - }; - }; - /** @description Resource not found */ - 404: { - content: never; - }; - }; - }; - /** - * List codespaces in a repository for the authenticated user - * @description Lists the codespaces associated to a specified repository and the authenticated user. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/list-in-repository-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/set-allowed-actions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a codespace in a repository - * @description Creates a codespace owned by the authenticated user in the specified repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/create-with-repo-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** @description Git ref (typically a branch name) for this codespace */ - ref?: string; - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - }) | null; - }; + "actions/get-github-actions-default-workflow-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List devcontainer configurations in a repository for the authenticated user - * @description Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files - * specify launchpoint configurations for codespaces created within the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - "codespaces/list-devcontainers-in-repository-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/set-github-actions-default-workflow-permissions-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - devcontainers: { - path: string; + "actions/list-self-hosted-runners-for-org": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ name?: string; - display_name?: string; - }[]; - }; - }; - }; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List available machine types for a repository - * @description List the machine types available for a given repository based on its configuration. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. - */ - "codespaces/repo-machines-for-authenticated-user": { - parameters: { - query?: { - /** @description The location to check for available machines. Assigned by IP if not provided. */ - location?: string; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description The branch or commit to check for prebuild availability and devcontainer restrictions. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - machines: components["schemas"]["codespace-machine"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get default attributes for a codespace - * @description Gets the default attributes for codespaces created by the user with the repository. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/pre-flight-with-repo-for-authenticated-user": { - parameters: { - query?: { - /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ - ref?: string; - /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ - client_ip?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response when a user is able to create codespaces from the repository. */ - 200: { - content: { - "application/json": { - billable_owner?: components["schemas"]["simple-user"]; - defaults?: { - location: string; - devcontainer_path: string | null; - }; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/list-repo-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/list-runner-applications-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "actions/generate-runner-jitconfig-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder: string; + }; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["repo-codespaces-secret"][]; - }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; }; - }; }; - }; - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/get-repo-public-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/create-registration-token-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-public-key"]; - }; - }; - }; - }; - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/get-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; + "actions/create-remove-token-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repo-codespaces-secret"]; - }; - }; - }; - }; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` - * repository permission to use this endpoint. - */ - "codespaces/create-or-update-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; - }; + "actions/get-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. - */ - "codespaces/delete-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; + "actions/delete-self-hosted-runner-from-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository collaborators - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - "repos/list-collaborators": { - parameters: { - query?: { - /** @description Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ - affiliation?: "outside" | "direct" | "all"; - /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ - permission?: "pull" | "triage" | "push" | "maintain" | "admin"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/list-labels-for-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-labels-for-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/add-custom-labels-to-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/remove-all-custom-labels-from-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/remove-custom-label-from-self-hosted-runner-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** @description The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-actions-secret"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["collaborator"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if a user is a repository collaborator - * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - * - * Team members will include the members of child teams. - * - * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - * endpoint. - */ - "repos/check-collaborator": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; + "actions/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; + }; }; - responses: { - /** @description Response if user is a collaborator */ - 204: { - content: never; - }; - /** @description Not Found if user is not a collaborator */ - 404: { - content: never; - }; - }; - }; - /** - * Add a repository collaborator - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." - * - * For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with: - * - * ``` - * Cannot assign {member} permission of {role name} - * ``` - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [API](https://docs.github.com/rest/collaborators/invitations). - * - * **Updating an existing collaborator's permission level** - * - * The endpoint can also be used to change the permissions of an existing collaborator without first removing and re-adding the collaborator. To change the permissions, use the same endpoint and pass a different `permission` parameter. The response will be a `204`, with no other indication that the permission level changed. - * - * **Rate limits** - * - * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. - */ - "repos/add-collaborator": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. - * @default push - */ - permission?: string; - }; - }; + "actions/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-actions-secret"]; + }; + }; + }; }; - responses: { - /** @description Response when a new invitation is created */ - 201: { - content: { - "application/json": components["schemas"]["repository-invitation"]; - }; - }; - /** - * @description Response when: - * - an existing collaborator is added as a collaborator - * - an organization member is added as an individual collaborator - * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator - */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove a repository collaborator - * @description Removes a collaborator from a repository. - * - * To use this endpoint, the authenticated user must either be an administrator of the repository or target themselves for removal. - * - * This endpoint also: - * - Cancels any outstanding invitations - * - Unasigns the user from any issues - * - Removes access to organization projects if the user is not an organization member and is not a collaborator on any other organization repositories. - * - Unstars the repository - * - Updates access permissions to packages - * - * Removing a user as a collaborator has the following effects on forks: - * - If the user had access to a fork through their membership to this repository, the user will also be removed from the fork. - * - If the user had their own fork of the repository, the fork will be deleted. - * - If the user still has read access to the repository, open pull requests by this user from a fork will be denied. - * - * **Note**: A user can still have access to the repository through organization permissions like base repository permissions. - * - * Although the API responds immediately, the additional permission updates might take some extra time to complete in the background. - * - * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". - */ - "repos/remove-collaborator": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; + "actions/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/actions/secrets#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description No Content when collaborator was removed from the repository. */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get repository permissions for a user - * @description Checks the repository permission of a collaborator. The possible repository - * permissions are `admin`, `write`, `read`, and `none`. - * - * *Note*: The `permission` attribute provides the legacy base roles of `admin`, `write`, `read`, and `none`, where the - * `maintain` role is mapped to `write` and the `triage` role is mapped to `read`. To determine the role assigned to the - * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The - * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. - */ - "repos/get-collaborator-permission-level": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - username: components["parameters"]["username"]; - }; + "actions/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description if user has admin permissions */ - 200: { - content: { - "application/json": components["schemas"]["repository-collaborator-permission"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List commit comments for a repository - * @description Commit Comments use [these custom media types](https://docs.github.com/rest/overview/media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/). - * - * Comments are ordered by ascending ID. - */ - "repos/list-commit-comments-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "actions/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Add selected repository to an organization secret](https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; }; - content: { - "application/json": components["schemas"]["commit-comment"][]; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - }; - /** Get a commit comment */ - "repos/get-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-comment"]; + "actions/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; - 404: components["responses"]["not_found"]; }; - }; - /** Delete a commit comment */ - "repos/delete-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; + "actions/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Update a commit comment */ - "repos/update-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; + "actions/list-org-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["organization-actions-variable"][]; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment */ - body: string; + "actions/create-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a variable */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List reactions for a commit comment - * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - "reactions/list-for-commit-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a commit comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; + "actions/get-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-actions-variable"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for a commit comment - * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. - */ - "reactions/create-for-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; + "actions/delete-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a commit comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). - */ - "reactions/delete-for-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; + "actions/update-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + /** + * @description The type of repositories in the organization that can access the variable. `selected` means only the repositories specified by `selected_repository_ids` can access the variable. + * @enum {string} + */ + visibility?: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization variable. You can only provide a list of repository ids when the `visibility` is set to `selected`. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List commits - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "repos/list-commits": { - parameters: { - query?: { - /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`). */ - sha?: string; - /** @description Only commits containing this file path will be returned. */ - path?: string; - /** @description GitHub username or email address to use to filter by commit author. */ - author?: string; - /** @description GitHub username or email address to use to filter by commit committer. */ - committer?: string; - since?: components["parameters"]["since"]; - /** @description Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - until?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/list-selected-repos-for-org-variable": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["commit"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List branches for HEAD commit - * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. - */ - "repos/list-branches-for-head-commit": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; + "actions/set-selected-repos-for-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The IDs of the repositories that can access the organization variable. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["branch-short"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List commit comments - * @description Use the `:commit_sha` to specify the commit that will have its comments listed. - */ - "repos/list-comments-for-commit": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; + "actions/add-selected-repo-to-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["commit-comment"][]; - }; - }; - }; - }; - /** - * Create a commit comment - * @description Create a comment for a commit using its `:commit_sha`. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "repos/create-commit-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; - /** @description Relative path of the file to comment on. */ - path?: string; - /** @description Line index in the diff to comment on. */ - position?: number; - /** @description **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ - line?: number; - }; - }; + "actions/remove-selected-repo-from-org-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response when the visibility of the variable is not set to `selected` */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["commit-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List pull requests associated with a commit - * @description Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, will only return open pull requests associated with the commit. - * - * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. - */ - "repos/list-pull-requests-associated-with-commit": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; + "orgs/list-blocked-users": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-simple"][]; - }; - }; - }; - }; - /** - * Get a commit - * @description Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint. - * - * **Note:** If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing. - * - * You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch `diff` and `patch` formats. Diffs with binary data will have no `patch` property. - * - * To return only the SHA-1 hash of the commit reference, you can provide the `sha` custom [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) in the `Accept` header. You can use this endpoint to check if a remote reference's SHA-1 hash is the same as your local reference's SHA-1 hash by providing the local SHA-1 reference as the ETag. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "repos/get-commit": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; + "orgs/check-blocked-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the user is blocked */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description If the user is not blocked */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List check runs for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - * - * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. - */ - "checks/list-for-ref": { - parameters: { - query?: { - check_name?: components["parameters"]["check-name"]; - status?: components["parameters"]["status"]; - /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ - filter?: "latest" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - app_id?: number; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; + "orgs/block-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/unblock-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "code-scanning/list-alerts-for-org": { + parameters: { + query?: { + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state-query"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated"; + /** @description If specified, only code scanning alerts with this severity will be returned. */ + severity?: components["schemas"]["code-scanning-alert-severity"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-organization-alert-items"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; - content: { - "application/json": { - total_count: number; - check_runs: components["schemas"]["check-run"][]; - }; - }; - }; - }; - }; - /** - * List check suites for a Git reference - * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - * - * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. - */ - "checks/list-suites-for-ref": { - parameters: { - query?: { - /** - * @description Filters check suites by GitHub App `id`. - * @example 1 - */ - app_id?: number; - check_name?: components["parameters"]["check-name"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "codespaces/list-in-organization": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/set-codespaces-access": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Which users can access codespaces in the organization. `disabled` means that no users can access codespaces in the organization. + * @enum {string} + */ + visibility: "disabled" | "selected_members" | "all_members" | "all_members_and_outside_collaborators"; + /** @description The usernames of the organization members who should have access to codespaces in the organization. Required when `visibility` is `selected_members`. The provided list of usernames will replace any existing value. */ + selected_usernames?: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/set-codespaces-access-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/delete-codespaces-access-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members whose codespaces should not be billed to the organization. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description Response when successfully modifying permissions. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + /** @description Users are neither members nor collaborators of this organization. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-org-secret"][]; + }; + }; + }; }; - content: { - "application/json": { - total_count: number; - check_suites: components["schemas"]["check-suite"][]; - }; - }; - }; - }; - }; - /** - * Get the combined status for a specific reference - * @description Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. - * - * - * Additionally, a combined `state` is returned. The `state` is one of: - * - * * **failure** if any of the contexts report as `error` or `failure` - * * **pending** if there are no statuses or a context is `pending` - * * **success** if the latest status for all contexts is `success` - */ - "repos/get-combined-status-for-ref": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["combined-commit-status"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List commit statuses for a reference - * @description Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one. - * - * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. - */ - "repos/list-commit-statuses-for-ref": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; + "codespaces/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["status"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - }; - }; - /** - * Get community profile metrics - * @description Returns all community profile metrics for a repository. The repository cannot be a fork. - * - * The returned metrics include an overall health score, the repository description, the presence of documentation, the - * detected code of conduct, the detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE, - * README, and CONTRIBUTING files. - * - * The `health_percentage` score is defined as a percentage of how many of - * the recommended community health files are present. For more information, see - * "[About community profiles for public repositories](https://docs.github.com/communities/setting-up-your-project-for-healthy-contributions/about-community-profiles-for-public-repositories)." - * - * `content_reports_enabled` is only returned for organization-owned repositories. - */ - "repos/get-community-profile-metrics": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "codespaces/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-org-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["community-profile"]; - }; - }; - }; - }; - /** - * Compare two commits - * @description Compares two commits against one another. You can compare branches in the same repository, or you can compare branches that exist in different repositories within the same repository network, including fork branches. For more information about how to view a repository's network, see "[Understanding connections between repositories](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories)." - * - * This endpoint is equivalent to running the `git log BASE..HEAD` command, but it returns commits in a different order. The `git log BASE..HEAD` command returns commits in reverse chronological order, whereas the API returns commits in chronological order. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - * - * The API response includes details about the files that were changed between the two commits. This includes the status of the change (if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file. - * - * When calling this endpoint without any paging parameter (`per_page` or `page`), the returned list is limited to 250 commits, and the last commit in the list is the most recent of the entire comparison. - * - * **Working with large comparisons** - * - * To process a response with a large number of commits, use a query parameter (`per_page` or `page`) to paginate the results. When using pagination: - * - * - The list of changed files is only shown on the first page of results, but it includes all changed files for the entire comparison. - * - The results are returned in chronological order, but the last commit in the returned list may not be the most recent one in the entire set if there are more pages of results. - * - * For more information on working with pagination, see "[Using pagination in the REST API](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The `verification` object includes the following fields: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "repos/compare-commits": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`. */ - basehead: string; - }; + "codespaces/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/codespaces/organization-secrets#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description The ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository IDs that can access the organization secret. You can only provide a list of repository IDs when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-comparison"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get repository content - * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit - * `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories. - * - * Files and symlinks support [a custom media type](https://docs.github.com/rest/overview/media-types) for - * retrieving the raw content or rendered HTML (when supported). All content types support [a custom media - * type](https://docs.github.com/rest/overview/media-types) to ensure the content is returned in a consistent - * object format. - * - * **Notes**: - * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/git/trees#get-a-tree). - * * This API has an upper limit of 1,000 files for a directory. If you need to retrieve more files, use the [Git Trees - * API](https://docs.github.com/rest/git/trees#get-a-tree). - * * Download URLs expire and are meant to be used just once. To ensure the download URL does not expire, please use the contents API to obtain a fresh download URL for each download. - * Size limits: - * If the requested file's size is: - * * 1 MB or smaller: All features of this endpoint are supported. - * * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type. - * * Greater than 100 MB: This endpoint is not supported. - * - * If the content is a directory: - * The response will be an array of objects, one object for each item in the directory. - * When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value - * _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW). - * In the next major version of the API, the type will be returned as "submodule". - * - * If the content is a symlink: - * If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the - * API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object - * describing the symlink itself. - * - * If the content is a submodule: - * The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific - * commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out - * the submodule at that specific commit. - * - * If the submodule repository is not hosted on github.com, the Git URLs (`git_url` and `_links["git"]`) and the - * github.com URLs (`html_url` and `_links["html"]`) will have null values. - */ - "repos/get-content": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; + "codespaces/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/vnd.github.object": components["schemas"]["content-tree"]; - "application/json": components["schemas"]["content-directory"] | components["schemas"]["content-file"] | components["schemas"]["content-symlink"] | components["schemas"]["content-submodule"]; - }; - }; - 302: components["responses"]["found"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create or update file contents - * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. If you want to modify files in the `.github/workflows` directory, you must authenticate using an access token with the `workflow` scope. - * - * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - "repos/create-or-update-file-contents": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The commit message. */ - message: string; - /** @description The new file content, using Base64 encoding. */ - content: string; - /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ - sha?: string; - /** @description The branch name. Default: the repository’s default branch. */ - branch?: string; - /** @description The person that committed the file. Default: the authenticated user. */ - committer?: { - /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ - name: string; - /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ - email: string; - /** @example "2013-01-05T13:13:22+05:00" */ - date?: string; - }; - /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ - author?: { - /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ - name: string; - /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ - email: string; - /** @example "2013-01-15T17:13:22+05:00" */ - date?: string; - }; + "codespaces/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a file - * @description Deletes a file in a repository. - * - * You can provide an additional `committer` parameter, which is an object containing information about the committer. Or, you can provide an `author` parameter, which is an object containing information about the author. - * - * The `author` section is optional and is filled in with the `committer` information if omitted. If the `committer` information is omitted, the authenticated user's information is used. - * - * You must provide values for both `name` and `email`, whether you choose to use `author` or `committer`. Otherwise, you'll receive a `422` status code. - * - * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. - */ - "repos/delete-file": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description path parameter */ - path: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The commit message. */ - message: string; - /** @description The blob SHA of the file being deleted. */ - sha: string; - /** @description The branch name. Default: the repository’s default branch */ - branch?: string; - /** @description object containing information about the committer. */ - committer?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - }; - /** @description object containing information about the author. */ - author?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - }; + "copilot/get-copilot-organization-details": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-organization-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/list-copilot-seats": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Total number of Copilot For Business seats for the organization currently being billed. */ + total_seats?: number; + seats?: components["schemas"]["copilot-seat-details"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/add-copilot-for-business-seats-for-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description List of team names within the organization to which to grant access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["file-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List repository contributors - * @description Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API caches contributor data to improve performance. - * - * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. - */ - "repos/list-contributors": { - parameters: { - query?: { - /** @description Set to `1` or `true` to include anonymous contributors in results. */ - anon?: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "copilot/cancel-copilot-seat-assignment-for-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of teams from which to revoke access to GitHub Copilot. */ + selected_teams: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; }; - responses: { - /** @description If repository contains content */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["contributor"][]; - }; - }; - /** @description Response if repository is empty */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List Dependabot alerts for a repository - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - "dependabot/list-alerts-for-repo": { - parameters: { - query?: { - state?: components["parameters"]["dependabot-alert-comma-separated-states"]; - severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; - ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; - package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; - manifest?: components["parameters"]["dependabot-alert-comma-separated-manifests"]; - scope?: components["parameters"]["dependabot-alert-scope"]; - sort?: components["parameters"]["dependabot-alert-sort"]; - direction?: components["parameters"]["direction"]; - /** - * @deprecated - * @description **Deprecated**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead. - */ - page?: number; - /** - * @deprecated - * @description The number of results per page (max 100). - */ - per_page?: number; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - first?: components["parameters"]["pagination-first"]; - last?: components["parameters"]["pagination-last"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "copilot/add-copilot-for-business-seats-for-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members to be granted access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_created: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, or the organization's Copilot access setting is set to enable Copilot for all users or is unconfigured. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. - */ - "dependabot/get-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["dependabot-alert-number"]; - }; + "copilot/cancel-copilot-seat-assignment-for-users": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The usernames of the organization members for which to revoke access to GitHub Copilot. */ + selected_usernames: string[]; + }; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + seats_cancelled: number; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot for Business is not enabled for this organization, billing has not been set up for this organization, a public code suggestions policy has not been set for this organization, the seat management setting is set to enable Copilot for all users or is unconfigured, or a user's seat cannot be cancelled because it was assigned to them via a team. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "dependabot/list-alerts-for-org": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert-with-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/list-org-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["organization-dependabot-secret"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a Dependabot alert - * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. - * You can also use tokens with the `public_repo` scope for public repositories only. - * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint. - * - * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." - */ - "dependabot/update-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["dependabot-alert-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state of the Dependabot alert. - * A `dismissed_reason` must be provided when setting the state to `dismissed`. - * @enum {string} - */ - state: "dismissed" | "open"; - /** - * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. - * @enum {string} - */ - dismissed_reason?: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk"; - /** @description An optional comment associated with dismissing the alert. */ - dismissed_comment?: string; - }; - }; + "dependabot/get-org-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-alert"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List repository secrets - * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/list-repo-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "dependabot/get-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-dependabot-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "dependabot/create-or-update-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an organization public key](https://docs.github.com/rest/dependabot/secrets#get-an-organization-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + /** + * @description Which type of organization repositories have access to the organization secret. `selected` means only the repositories specified by `selected_repository_ids` can access the secret. + * @enum {string} + */ + visibility: "all" | "private" | "selected"; + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can manage the list of selected repositories using the [List selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret), [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret), and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids?: string[]; + }; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["dependabot-secret"][]; - }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - }; - /** - * Get a repository public key - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/get-repo-public-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "dependabot/delete-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-public-key"]; - }; - }; - }; - }; - /** - * Get a repository secret - * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/get-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; + "dependabot/list-selected-repos-for-org-secret": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["dependabot-secret"]; - }; - }; - }; - }; - /** - * Create or update a repository secret - * @description Creates or updates a repository secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access - * token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository - * permission to use this endpoint. - */ - "dependabot/create-or-update-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id?: string; - }; - }; + "dependabot/set-selected-repos-for-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids that can access the organization secret. You can only provide a list of repository ids when the `visibility` is set to `selected`. You can add and remove individual repositories using the [Set selected repositories for an organization secret](https://docs.github.com/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret) and [Remove selected repository from an organization secret](https://docs.github.com/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete a repository secret - * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. - */ - "dependabot/delete-repo-secret": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - secret_name: components["parameters"]["secret-name"]; - }; + "dependabot/add-selected-repo-to-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type is not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get a diff of the dependencies between commits - * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. - */ - "dependency-graph/diff-range": { - parameters: { - query?: { - name?: components["parameters"]["manifest-path"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ - basehead: string; - }; + "dependabot/remove-selected-repo-from-org-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when visibility type not set to selected */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["dependency-graph-diff"]; - }; - }; - 403: components["responses"]["dependency_review_forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Export a software bill of materials (SBOM) for a repository. - * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. - */ - "dependency-graph/export-sbom": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "packages/list-docker-migration-conflicting-packages-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["dependency-graph-spdx-sbom"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a snapshot of dependencies for a repository - * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. - */ - "dependency-graph/create-repository-snapshot": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "activity/list-public-org-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["snapshot"]; - }; + "orgs/list-failed-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": { - /** @description ID of the created snapshot. */ - id: number; - /** @description The time at which the snapshot was created. */ - created_at: string; - /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ - result: string; - /** @description A message providing further details about the result, such as why the dependencies were not updated. */ - message: string; - }; + "orgs/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"][]; + }; + }; + 404: components["responses"]["not_found"]; }; - }; }; - }; - /** - * List deployments - * @description Simple filtering of deployments is available via query parameters: - */ - "repos/list-deployments": { - parameters: { - query?: { - /** @description The SHA recorded at creation time. */ - sha?: string; - /** @description The name of the ref. This can be a branch, tag, or SHA. */ - ref?: string; - /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ - task?: string; - /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ - environment?: string | null; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "orgs/create-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Must be passed as "web". */ + name: string; + /** @description Key/value pairs to provide settings for this webhook. */ + config: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "kdaigle" */ + username?: string; + /** @example "password" */ + password?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. Set to `["*"]` to receive all possible events. + * @default [ + * "push" + * ] + */ + events: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/orgs/octocat/hooks/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/delete-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/update-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active: boolean; + /** @example "web" */ + name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook-config-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["deployment"][]; - }; - }; - }; - }; - /** - * Create a deployment - * @description Deployments offer a few configurable parameters with certain defaults. - * - * The `ref` parameter can be any named branch, tag, or SHA. At GitHub we often deploy branches and verify them - * before we merge a pull request. - * - * The `environment` parameter allows deployments to be issued to different runtime environments. Teams often have - * multiple environments for verifying their applications, such as `production`, `staging`, and `qa`. This parameter - * makes it easier to track which environments have requested deployments. The default environment is `production`. - * - * The `auto_merge` parameter is used to ensure that the requested ref is not behind the repository's default branch. If - * the ref _is_ behind the default branch for the repository, we will attempt to merge it for you. If the merge succeeds, - * the API will return a successful merge commit. If merge conflicts prevent the merge from succeeding, the API will - * return a failure response. - * - * By default, [commit statuses](https://docs.github.com/rest/commits/statuses) for every submitted context must be in a `success` - * state. The `required_contexts` parameter allows you to specify a subset of contexts that must be `success`, or to - * specify contexts that have not yet been submitted. You are not required to use commit statuses to deploy. If you do - * not require any contexts or create any commit statuses, the deployment will always succeed. - * - * The `payload` parameter is available for any extra information that a deployment system might need. It is a JSON text - * field that will be passed on when a deployment event is dispatched. - * - * The `task` parameter is used by the deployment system to allow different execution paths. In the web world this might - * be `deploy:migrations` to run schema changes on the system. In the compiled world this could be a flag to compile an - * application with debugging enabled. - * - * Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref. - * - * Merged branch response: - * - * You will see this response when GitHub automatically merges the base branch into the topic branch instead of creating - * a deployment. This auto-merge happens when: - * * Auto-merge option is enabled in the repository - * * Topic branch does not include the latest changes on the base branch, which is `master` in the response example - * * There are no merge conflicts - * - * If there are no new commits in the base branch, a new request to create a deployment should give a successful - * response. - * - * Merge conflict response: - * - * This error happens when the `auto_merge` option is enabled and when the default branch (in this case `master`), can't - * be merged into the branch that's being deployed (in this case `topic-branch`), due to merge conflicts. - * - * Failed commit status checks: - * - * This error happens when the `required_contexts` parameter indicates that one or more contexts need to have a `success` - * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. - */ - "repos/create-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The ref to deploy. This can be a branch, tag, or SHA. */ - ref: string; - /** - * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). - * @default deploy - */ - task?: string; - /** - * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. - * @default true - */ - auto_merge?: boolean; - /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ - required_contexts?: string[]; - payload?: OneOf<[{ - [key: string]: unknown; - }, string]>; - /** - * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). - * @default production - */ - environment?: string; - /** - * @description Short description of the deployment. - * @default - */ - description?: string | null; - /** - * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` - * @default false - */ - transient_environment?: boolean; - /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ - production_environment?: boolean; - }; - }; + "orgs/update-webhook-config-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["deployment"]; - }; - }; - /** @description Merged branch response */ - 202: { - content: { - "application/json": { - message?: string; - }; - }; - }; - /** @description Conflict when there is a merge conflict or the commit's status checks failed */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Get a deployment */ - "repos/get-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; + "orgs/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + redelivery?: boolean; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/ping-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a deployment - * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. - * - * To set a deployment as inactive, you must: - * - * * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment. - * * Mark the active deployment as inactive by adding any non-successful deployment status. - * - * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." - */ - "repos/delete-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; + "apps/get-org-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List deployment statuses - * @description Users with pull access can view deployment statuses for a deployment: - */ - "repos/list-deployment-statuses": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; + "orgs/list-app-installations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["deployment-status"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a deployment status - * @description Users with `push` access can create deployment statuses for a given deployment. - * - * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope. - */ - "repos/create-deployment-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. - * @enum {string} - */ - state: "error" | "failure" | "inactive" | "in_progress" | "queued" | "pending" | "success"; - /** - * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. - * @default - */ - target_url?: string; - /** - * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` - * @default - */ - log_url?: string; - /** - * @description A short description of the status. The maximum description length is 140 characters. - * @default - */ - description?: string; - /** @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used. */ - environment?: string; - /** - * @description Sets the URL for accessing your environment. Default: `""` - * @default - */ - environment_url?: string; - /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ - auto_inactive?: boolean; - }; - }; + "interactions/get-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["deployment-status"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a deployment status - * @description Users with pull access can view a deployment status for a deployment: - */ - "repos/get-deployment-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - deployment_id: components["parameters"]["deployment-id"]; - status_id: number; - }; + "interactions/set-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-status"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a repository dispatch event - * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." - * - * The `client_payload` parameter is available for any extra information that your workflow might need. This parameter is a JSON payload that will be passed on when the webhook event is dispatched. For example, the `client_payload` can include a message that a user would like to send using a GitHub Actions workflow. Or the `client_payload` can be used as a test to debug your workflow. - * - * This endpoint requires write access to the repository by providing either: - * - * - Personal access tokens with `repo` scope. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)" in the GitHub Help documentation. - * - GitHub Apps with both `metadata:read` and `contents:read&write` permissions. - * - * This input example shows how you can use the `client_payload` as a test to debug your workflow. - */ - "repos/create-dispatch-event": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A custom webhook event name. Must be 100 characters or fewer. */ - event_type: string; - /** @description JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10. */ - client_payload?: { - [key: string]: unknown; - }; + "interactions/remove-restrictions-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List environments - * @description Lists the environments for a repository. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/get-all-environments": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "orgs/list-pending-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Filter invitations by their member role. */ + role?: "all" | "admin" | "direct_member" | "billing_manager" | "hiring_manager"; + /** @description Filter invitations by their invitation source. */ + invitation_source?: "all" | "member" | "scim"; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - /** - * @description The number of environments in this repository - * @example 5 - */ - total_count?: number; - environments?: components["schemas"]["environment"][]; - }; - }; - }; - }; - }; - /** - * Get an environment - * @description **Note:** To get information about name patterns that branches must match in order to deploy to this environment, see "[Get a deployment branch policy](/rest/deployments/branch-policies#get-a-deployment-branch-policy)." - * - * Anyone with read access to the repository can use this endpoint. If the - * repository is private, you must use an access token with the `repo` scope. GitHub - * Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/get-environment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; + "orgs/create-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description **Required unless you provide `email`**. GitHub user ID for the person you are inviting. */ + invitee_id?: number; + /** @description **Required unless you provide `invitee_id`**. Email address of the person you are inviting, which can be an existing GitHub user. */ + email?: string; + /** + * @description The role for the new member. + * * `admin` - Organization owners with full administrative rights to the organization and complete access to all repositories and teams. + * * `direct_member` - Non-owner organization members with ability to see other members and join teams by invitation. + * * `billing_manager` - Non-owner organization members with ability to manage the billing settings of your organization. + * @default direct_member + * @enum {string} + */ + role: "admin" | "direct_member" | "billing_manager"; + /** @description Specify IDs for the teams you want to invite new members to. */ + team_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/cancel-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["environment"]; - }; - }; - }; - }; - /** - * Create or update an environment - * @description Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)." - * - * **Note:** To create or update name patterns that branches must match in order to deploy to this environment, see "[Deployment branch policies](/rest/deployments/branch-policies)." - * - * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/create-or-update-environment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - wait_timer?: components["schemas"]["wait-timer"]; - /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ - reviewers?: { - type?: components["schemas"]["deployment-reviewer-type"]; - /** - * @description The id of the user or team who can review the deployment - * @example 4532992 - */ - id?: number; - }[] | null; - deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; - }) | null; - }; + "orgs/list-invitation-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/list-for-org": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-members": { + parameters: { + query?: { + /** @description Filter members returned in the list. `2fa_disabled` means that only members without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. This options is only available for organization owners. */ + filter?: "2fa_disabled" | "all"; + /** @description Filter members returned by their role. */ + role?: "all" | "admin" | "member"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/check-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if requester is an organization member and user is a member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if requester is not an organization member */ + 302: { + headers: { + /** @example https://api.github.com/orgs/github/public_members/pezra */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if requester is an organization member and user is not a member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["environment"]; - }; - }; - /** @description Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ - 422: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Delete an environment - * @description You must authenticate using an access token with the repo scope to use this endpoint. - */ - "repos/delete-an-environment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; + "orgs/remove-member": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description Default response */ - 204: { - content: never; - }; - }; - }; - /** - * List deployment branch policies - * @description Lists the deployment branch policies for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/list-deployment-branch-policies": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; + "codespaces/get-codespaces-for-user-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/delete-from-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/stop-in-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "copilot/get-copilot-seat-assignment-details-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The user's GitHub Copilot seat details, including usage. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["copilot-seat-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Copilot for Business is not enabled for this organization or the user has a pending organization invitation. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/get-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/set-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role to give the user in the organization. Can be one of: + * * `admin` - The user will become an owner of the organization. + * * `member` - The user will become a non-owner member of the organization. + * @default member + * @enum {string} + */ + role: "admin" | "member"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/remove-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/list-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - /** - * @description The number of deployment branch policies for the environment. - * @example 2 - */ - total_count: number; - branch_policies: components["schemas"]["deployment-branch-policy"][]; - }; - }; - }; - }; - }; - /** - * Create a deployment branch policy - * @description Creates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/create-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - }; + "migrations/start-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A list of arrays indicating which repositories should be migrated. */ + repositories: string[]; + /** + * @description Indicates whether repositories should be locked (to prevent manipulation) while migrating data. + * @default false + * @example true + */ + lock_repositories: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @default false + */ + exclude_metadata: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @default false + */ + exclude_git_data: boolean; + /** + * @description Indicates whether attachments should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_attachments: boolean; + /** + * @description Indicates whether releases should be excluded from the migration (to reduce migration archive file size). + * @default false + * @example true + */ + exclude_releases: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. from the migration. + * @default false + * @example true + */ + exclude_owner_projects: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only: boolean; + /** @description Exclude related items from being returned in the response in order to improve performance of the request. The array can include any of: `"repositories"`. */ + exclude?: "repositories"[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; - }; + "migrations/get-status-for-org": { + parameters: { + query?: { + /** @description Exclude attributes from the API response to improve performance */ + exclude?: "repositories"[]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description * `pending`, which means the migration hasn't started yet. + * * `exporting`, which means the migration is in progress. + * * `exported`, which means the migration finished successfully. + * * `failed`, which means the migration failed. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/download-archive-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/delete-archive-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/unlock-repo-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** @description repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - /** @description Response if the same branch name pattern already exists */ - 303: { - content: never; - }; - /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ - 404: { - content: never; - }; - }; - }; - /** - * Get a deployment branch policy - * @description Gets a deployment branch policy for an environment. - * - * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. - */ - "repos/get-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; + "migrations/list-repos-for-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-outside-collaborators": { + parameters: { + query?: { + /** @description Filter the list of outside collaborators. `2fa_disabled` means that only outside collaborators without [two-factor authentication](https://github.com/blog/1614-two-factor-authentication) enabled will be returned. */ + filter?: "2fa_disabled" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - }; - }; - /** - * Update a deployment branch policy - * @description Updates a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/update-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; - }; + "orgs/convert-member-to-outside-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description When set to `true`, the request will be performed asynchronously. Returns a 202 status code when the job is successfully queued. + * @default false + */ + async: boolean; + }; + }; + }; + responses: { + /** @description User is getting converted asynchronously */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + /** @description User was converted */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if user is the last owner of the organization, not a member of the organization, or if the enterprise enforces a policy for inviting outside collaborators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/remove-outside-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity if user is a member of the organization */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-branch-policy"]; - }; - }; - }; - }; - /** - * Delete a deployment branch policy - * @description Deletes a deployment branch policy for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. - */ - "repos/delete-deployment-branch-policy": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - branch_policy_id: components["parameters"]["branch-policy-id"]; - }; + "packages/list-packages-for-organization": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description Page number of the results to fetch. */ + page?: number; + /** @description The number of results per page (max 100). */ + per_page?: number; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/get-package-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get all deployment protection rules for an environment - * @description Gets all custom deployment protection rules that are enabled for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - "repos/get-all-deployment-protection-rules": { - parameters: { - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - }; + "packages/delete-package-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description List of deployment protection rules */ - 200: { - content: { - "application/json": { - /** - * @description The number of enabled custom deployment protection rules for this environment - * @example 10 - */ - total_count?: number; - custom_deployment_protection_rules?: components["schemas"]["deployment-protection-rule"][]; - }; - }; - }; - }; - }; - /** - * Create a custom deployment protection rule on an environment - * @description Enable a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. - * - * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). - */ - "repos/create-deployment-protection-rule": { - parameters: { - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - }; + "packages/restore-package-for-org": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-all-package-versions-for-package-owned-by-org": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-package-version-for-organization": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The ID of the custom app that will be enabled on the environment. */ - integration_id?: number; + "packages/delete-package-version-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-version-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "orgs/list-pat-grant-requests": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The property by which to sort the results. */ + sort?: components["parameters"]["personal-access-token-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A list of owner usernames to use to filter the results. */ + owner?: components["parameters"]["personal-access-token-owner"]; + /** @description The name of the repository to use to filter the results. */ + repository?: components["parameters"]["personal-access-token-repository"]; + /** @description The permission to use to filter the results. */ + permission?: components["parameters"]["personal-access-token-permission"]; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_before?: components["parameters"]["personal-access-token-before"]; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_after?: components["parameters"]["personal-access-token-after"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant-request"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/review-pat-grant-requests-in-bulk": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Unique identifiers of the requests for access via fine-grained personal access token. Must be formed of between 1 and 100 `pat_request_id` values. */ + pat_request_ids?: number[]; + /** + * @description Action to apply to the requests. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the requests. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/review-pat-grant-request": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the request. + * @enum {string} + */ + action: "approve" | "deny"; + /** @description Reason for approving or denying the request. Max 1024 characters. */ + reason?: string | null; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grant-request-repositories": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the request for access via fine-grained personal access token. */ + pat_request_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grants": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The property by which to sort the results. */ + sort?: components["parameters"]["personal-access-token-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description A list of owner usernames to use to filter the results. */ + owner?: components["parameters"]["personal-access-token-owner"]; + /** @description The name of the repository to use to filter the results. */ + repository?: components["parameters"]["personal-access-token-repository"]; + /** @description The permission to use to filter the results. */ + permission?: components["parameters"]["personal-access-token-permission"]; + /** @description Only show fine-grained personal access tokens used before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_before?: components["parameters"]["personal-access-token-before"]; + /** @description Only show fine-grained personal access tokens used after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + last_used_after?: components["parameters"]["personal-access-token-after"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-programmatic-access-grant"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/update-pat-accesses": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + /** @description The IDs of the fine-grained personal access tokens. */ + pat_ids: number[]; + }; + }; + }; + responses: { + 202: components["responses"]["accepted"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/update-pat-access": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the fine-grained personal access token. */ + pat_id: components["parameters"]["fine-grained-personal-access-token-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Action to apply to the fine-grained personal access token. + * @enum {string} + */ + action: "revoke"; + }; + }; + }; + responses: { + 204: components["responses"]["no_content"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "orgs/list-pat-grant-repositories": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description Unique identifier of the fine-grained personal access token. */ + pat_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "projects/list-for-org": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; }; - }; }; - responses: { - /** @description The enabled custom deployment protection rule */ - 201: { - content: { - "application/json": components["schemas"]["deployment-protection-rule"]; - }; - }; - }; - }; - /** - * List custom deployment rule integrations available for an environment - * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. - * - * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - "repos/list-custom-deployment-rule-integrations": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - }; + "projects/create-for-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "orgs/list-public-members": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; }; - responses: { - /** @description A list of custom deployment rule integrations available for this environment. */ - 200: { - content: { - "application/json": { - /** - * @description The total number of custom deployment protection rule integrations available for this environment. - * @example 35 - */ - total_count?: number; - available_custom_deployment_protection_rule_integrations?: components["schemas"]["custom-deployment-rule-app"][]; - }; - }; - }; - }; - }; - /** - * Get a custom deployment protection rule - * @description Gets an enabled custom deployment protection rule for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)." - * - * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). - */ - "repos/get-custom-deployment-protection-rule": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - environment_name: components["parameters"]["environment-name"]; - protection_rule_id: components["parameters"]["protection-rule-id"]; - }; + "orgs/check-public-membership-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if user is a public member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if user is not a public member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deployment-protection-rule"]; - }; - }; - }; - }; - /** - * Disable a custom protection rule for an environment - * @description Disables a custom deployment protection rule for an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". - */ - "repos/disable-deployment-protection-rule": { - parameters: { - path: { - environment_name: components["parameters"]["environment-name"]; - repo: components["parameters"]["repo"]; - owner: components["parameters"]["owner"]; - protection_rule_id: components["parameters"]["protection-rule-id"]; - }; + "orgs/set-public-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "orgs/remove-public-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List repository events - * @description **Note**: This API is not built to serve real-time use cases. Depending on the time of day, event latency can be anywhere from 30s to 6h. - */ - "activity/list-repo-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-for-org": { + parameters: { + query?: { + /** @description Specifies the types of repositories you want returned. */ + type?: "all" | "public" | "private" | "forks" | "sources" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; + "repos/create-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the repository. */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki: boolean; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Pass `true` to create an initial commit with empty README. + * @default false + */ + auto_init: boolean; + /** @description Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell". */ + gitignore_template?: string; + /** @description Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0". */ + license_template?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.** + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; - }; }; - }; - /** List forks */ - "repos/list-forks": { - parameters: { - query?: { - /** @description The sort order. `stargazers` will sort by star count. */ - sort?: "newest" | "oldest" | "stargazers" | "watchers"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/get-org-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 400: components["responses"]["bad_request"]; - }; - }; - /** - * Create a fork - * @description Create a fork for the authenticated user. - * - * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * - * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. - */ - "repos/create-fork": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Optional parameter to specify the organization name if forking into an organization. */ - organization?: string; - /** @description When forking from an existing repository, a new name for the fork. */ - name?: string; - /** @description When forking from an existing repository, fork with only the default branch. */ - default_branch_only?: boolean; - } | null; - }; + "repos/create-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset. + * @enum {string} + */ + target?: "branch" | "tag"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-rule-suites": { + parameters: { + query?: { + /** @description The name of the repository to filter on. When specified, only rule evaluations from this repository will be returned. */ + repository_name?: components["parameters"]["repository-name-in-query"]; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for insights that occurred in the past 7 days (168 hours). */ + time_period?: components["parameters"]["time-period"]; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + actor_name?: components["parameters"]["actor-name-in-query"]; + /** @description The rule results to filter on. When specified, only suites with this result will be returned. */ + rule_suite_result?: components["parameters"]["rule-suite-result"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-rule-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/update-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset. + * @enum {string} + */ + target?: "branch" | "tag"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["org-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/delete-org-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "secret-scanning/list-alerts-for-org": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "security-advisories/list-org-repository-advisories": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description The number of advisories to return per page. */ + per_page?: number; + /** @description Filter by the state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["full-repository"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Create a blob */ - "git/create-blob": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The new blob's content. */ - content: string; - /** - * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. - * @default utf-8 - */ - encoding?: string; - }; - }; + "orgs/list-security-manager-teams": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-simple"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["short-blob"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a blob - * @description The `content` in the response will always be Base64 encoded. - * - * _Note_: This API supports blobs up to 100 megabytes in size. - */ - "git/get-blob": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - file_sha: string; - }; + "orgs/add-security-manager-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description The organization has reached the maximum number of security manager teams. */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["blob"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a commit - * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/create-commit": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The commit message */ - message: string; - /** @description The SHA of the tree object this commit points to */ - tree: string; - /** @description The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ - parents?: string[]; - /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ - author?: { - /** @description The name of the author (or committer) of the commit */ - name: string; - /** @description The email of the author (or committer) of the commit */ - email: string; - /** - * Format: date-time - * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; - /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ - committer?: { - /** @description The name of the author (or committer) of the commit */ - name?: string; - /** @description The email of the author (or committer) of the commit */ - email?: string; - /** - * Format: date-time - * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; - /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ - signature?: string; + "orgs/remove-security-manager-team": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["git-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a commit object - * @description Gets a Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). - * - * To get the contents of a commit, see "[Get a commit](/rest/commits/commits#get-a-commit)." - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in the table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/get-commit": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - commit_sha: components["parameters"]["commit-sha"]; - }; + "billing/get-github-actions-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-commit"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List matching references - * @description Returns an array of references from your Git database that match the supplied name. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't exist in the repository, but existing refs start with `:ref`, they will be returned as an array. - * - * When you use this endpoint without providing a `:ref`, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just `heads` and `tags`. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. - */ - "git/list-matching-refs": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; + "billing/get-github-packages-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["git-ref"][]; - }; - }; - }; - }; - /** - * Get a reference - * @description Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/` for branches and `tags/` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned. - * - * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - */ - "git/get-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; + "billing/get-shared-storage-billing-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-ref"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a reference - * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. - */ - "git/create-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ - ref: string; - /** @description The SHA1 value for this reference. */ - sha: string; + "teams/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** @description List GitHub IDs for organization members who will become team maintainers. */ + maintainers?: string[]; + /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ + repo_names?: string[]; + /** + * @description The level of privacy this team should have. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * Default for child team: `closed` + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * Default: `notifications_enabled` + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission: "pull" | "push"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/get-by-name": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/delete-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ - Location?: string; + "teams/update-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the team. */ + name?: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. When a team is nested, the `privacy` for parent teams cannot be `secret`. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; }; - content: { - "application/json": components["schemas"]["git-ref"]; + responses: { + /** @description Response when the updated information already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/list-discussions-in-org": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Pinned discussions only filter */ + pinned?: string; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; }; - }; - 422: components["responses"]["validation_failed"]; }; - }; - /** Delete a reference */ - "git/delete-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: components["parameters"]["commit-ref"]; - }; + "teams/create-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** Update a reference */ - "git/update-ref": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** - * @description The name of the reference to update (for example, `heads/featureA`). Can be a branch name (`heads/BRANCH_NAME`) or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. - * @example heads/featureA - */ - ref: string; - }; + "teams/get-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The SHA1 value to set this reference to */ - sha: string; - /** - * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. - * @default false - */ - force?: boolean; + "teams/delete-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-ref"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a tag object - * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. - * - * **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/create-tag": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ - tag: string; - /** @description The tag message. */ - message: string; - /** @description The SHA of the git object this is tagging. */ - object: string; - /** - * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. - * @enum {string} - */ - type: "commit" | "tree" | "blob"; - /** @description An object with information about the individual creating the tag. */ - tagger?: { - /** @description The name of the author of the tag */ - name: string; - /** @description The email of the author of the tag */ - email: string; - /** - * Format: date-time - * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - date?: string; - }; + "teams/update-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["git-tag"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a tag - * @description **Signature verification object** - * - * The response will include a `verification` object that describes the result of verifying the commit's signature. The following fields are included in the `verification` object: - * - * | Name | Type | Description | - * | ---- | ---- | ----------- | - * | `verified` | `boolean` | Indicates whether GitHub considers the signature in this commit to be verified. | - * | `reason` | `string` | The reason for verified value. Possible values and their meanings are enumerated in table below. | - * | `signature` | `string` | The signature that was extracted from the commit. | - * | `payload` | `string` | The value that was signed. | - * - * These are the possible values for `reason` in the `verification` object: - * - * | Value | Description | - * | ----- | ----------- | - * | `expired_key` | The key that made the signature is expired. | - * | `not_signing_key` | The "signing" flag is not among the usage flags in the GPG key that made the signature. | - * | `gpgverify_error` | There was an error communicating with the signature verification service. | - * | `gpgverify_unavailable` | The signature verification service is currently unavailable. | - * | `unsigned` | The object does not include a signature. | - * | `unknown_signature_type` | A non-PGP signature was found in the commit. | - * | `no_user` | No user was associated with the `committer` email address in the commit. | - * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on their account. | - * | `bad_email` | The `committer` email address in the commit is not included in the identities of the PGP key that made the signature. | - * | `unknown_key` | The key that made the signature has not been registered with any user's account. | - * | `malformed_signature` | There was an error parsing the signature. | - * | `invalid` | The signature could not be cryptographically verified using the key whose key-id was found in the signature. | - * | `valid` | None of the above errors applied, so the signature is considered to be verified. | - */ - "git/get-tag": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - tag_sha: string; - }; + "teams/list-discussion-comments-in-org": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-tag"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a tree - * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. - * - * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/git/commits#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/git/refs#update-a-reference)." - * - * Returns an error if you try to delete a file that does not exist. - */ - "git/create-tree": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ - tree: ({ - /** @description The file referenced in the tree. */ - path?: string; - /** - * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. - * @enum {string} - */ - mode?: "100644" | "100755" | "040000" | "160000" | "120000"; - /** - * @description Either `blob`, `tree`, or `commit`. - * @enum {string} - */ - type?: "blob" | "tree" | "commit"; - /** - * @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. - * - * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. - */ - sha?: string | null; - /** - * @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. - * - * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. - */ - content?: string; - })[]; - /** - * @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. - * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. - */ - base_tree?: string; + "teams/create-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["git-tree"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a tree - * @description Returns a single tree using the SHA1 value or ref name for that tree. - * - * If `truncated` is `true` in the response then the number of items in the `tree` array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time. - * - * - * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. - */ - "git/get-tree": { - parameters: { - query?: { - /** @description Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ - recursive?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The SHA1 value or ref (branch or tag) name of the tree. */ - tree_sha: string; - }; + "teams/get-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["git-tree"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List repository webhooks - * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. - */ - "repos/list-webhooks": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/delete-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["hook"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a repository webhook - * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can - * share the same `config` as long as those webhooks do not have any `events` that overlap. - */ - "repos/create-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ - name?: string; - /** @description Key/value pairs to provide settings for this webhook. */ - config?: { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - /** @example "abc" */ - token?: string; - /** @example "sha256" */ - digest?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - } | null; - }; + "teams/update-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository webhook - * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." - */ - "repos/get-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; + "reactions/list-for-team-discussion-comment-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook"]; + "reactions/create-for-team-discussion-comment-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response when the reaction type has already been added to this team discussion comment */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; }; - }; - 404: components["responses"]["not_found"]; }; - }; - /** Delete a repository webhook */ - "repos/delete-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; + "reactions/delete-for-team-discussion-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a repository webhook - * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." - */ - "repos/update-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Key/value pairs to provide settings for this webhook. */ - config?: { - url: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - /** @example "bar@example.com" */ - address?: string; - /** @example "The Serious Room" */ - room?: string; - }; - /** - * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. - * @default [ - * "push" - * ] - */ - events?: string[]; - /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ - add_events?: string[]; - /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ - remove_events?: string[]; - /** - * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - * @default true - */ - active?: boolean; - }; - }; + "reactions/list-for-team-discussion-in-org": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a webhook configuration for a repository - * @description Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/webhooks/repos#get-a-repository-webhook)." - * - * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. - */ - "repos/get-webhook-config-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; + "reactions/create-for-team-discussion-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * Update a webhook configuration for a repository - * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." - * - * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. - */ - "repos/update-webhook-config-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - url?: components["schemas"]["webhook-config-url"]; - content_type?: components["schemas"]["webhook-config-content-type"]; - secret?: components["schemas"]["webhook-config-secret"]; - insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; - }; - }; + "reactions/delete-for-team-discussion": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["webhook-config"]; - }; - }; - }; - }; - /** - * List deliveries for a repository webhook - * @description Returns a list of webhook deliveries for a webhook configured in a repository. - */ - "repos/list-webhook-deliveries": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - cursor?: components["parameters"]["cursor"]; - redelivery?: boolean; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; + "teams/list-pending-invitations-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery-item"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a delivery for a repository webhook - * @description Returns a delivery for a webhook configured in a repository. - */ - "repos/get-webhook-delivery": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; + "teams/list-members-in-org": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hook-delivery"]; - }; - }; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Redeliver a delivery for a repository webhook - * @description Redeliver a webhook delivery for a webhook configured in a repository. - */ - "repos/redeliver-webhook-delivery": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - delivery_id: components["parameters"]["delivery-id"]; - }; + "teams/get-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description if user has no team membership */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Ping a repository webhook - * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. - */ - "repos/ping-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; + "teams/add-or-update-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Test the push repository webhook - * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. - * - * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` - */ - "repos/test-push-webhook": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - hook_id: components["parameters"]["hook-id"]; - }; + "teams/remove-membership-for-user-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get an import status - * @description View the progress of an import. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - * - * **Import status** - * - * This section includes details about the possible values of the `status` field of the Import Progress response. - * - * An import that does not have errors will progress through these steps: - * - * * `detecting` - the "detection" step of the import is in progress because the request did not include a `vcs` parameter. The import is identifying the type of source control present at the URL. - * * `importing` - the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will include `commit_count` (the total number of raw commits that will be imported) and `percent` (0 - 100, the current progress through the import). - * * `mapping` - the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. - * * `pushing` - the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will include `push_percent`, which is the percent value reported by `git push` when it is "Writing objects". - * * `complete` - the import is complete, and the repository is ready on GitHub. - * - * If there are problems, you will see one of these in the `status` field: - * - * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `error` - the import encountered an error. The import progress response will include the `failed_step` and an error message. Contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api) for more information. - * * `detection_needs_auth` - the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/migrations/source-imports#cancel-an-import) and [retry](https://docs.github.com/rest/migrations/source-imports#start-an-import) with the correct URL. - * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/migrations/source-imports#update-an-import) section. - * - * **The project_choices field** - * - * When multiple projects are found at the provided URL, the response hash will include a `project_choices` field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type. - * - * **Git LFS related fields** - * - * This section includes details about Git LFS related fields that may be present in the Import Progress response. - * - * * `use_lfs` - describes whether the import has been opted in or out of using Git LFS. The value can be `opt_in`, `opt_out`, or `undecided` if no action has been taken. - * * `has_large_files` - the boolean value describing whether files larger than 100MB were found during the `importing` step. - * * `large_files_size` - the total size in gigabytes of files larger than 100MB found in the originating repository. - * * `large_files_count` - the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request. - */ - "migrations/get-import-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/list-projects-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Start an import - * @description Start a source import to a GitHub repository using GitHub Importer. Importing into a GitHub repository with GitHub Actions enabled is not supported and will return a status `422 Unprocessable Entity` response. - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/start-import": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The URL of the originating repository. */ - vcs_url: string; - /** - * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. - * @enum {string} - */ - vcs?: "subversion" | "git" | "mercurial" | "tfvc"; - /** @description If authentication is required, the username to provide to `vcs_url`. */ - vcs_username?: string; - /** @description If authentication is required, the password to provide to `vcs_url`. */ - vcs_password?: string; - /** @description For a tfvc import, the name of the project that is being imported. */ - tfvc_project?: string; - }; - }; + "teams/check-permissions-for-project-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/spraints/socm/import */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Cancel an import - * @description Stop an import for a repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/cancel-import": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/add-or-update-project-permissions-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Update an import - * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API - * request. If no parameters are provided, the import will be restarted. - * - * Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will - * have the status `detection_found_multiple` and the Import Progress response will include a `project_choices` array. - * You can select the project to import by providing one of the objects in the `project_choices` array in the update request. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/update-import": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - /** @description The username to provide to the originating repository. */ - vcs_username?: string; - /** @description The password to provide to the originating repository. */ - vcs_password?: string; - /** - * @description The type of version control system you are migrating from. - * @example "git" - * @enum {string} - */ - vcs?: "subversion" | "tfvc" | "git" | "mercurial"; - /** - * @description For a tfvc import, the name of the project that is being imported. - * @example "project1" - */ - tfvc_project?: string; - }) | null; - }; + "teams/remove-project-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Get commit authors - * @description Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username `hubot` into something like `hubot `. - * - * This endpoint and the [Map a commit author](https://docs.github.com/rest/migrations/source-imports#map-a-commit-author) endpoint allow you to provide correct Git author information. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/get-commit-authors": { - parameters: { - query?: { - since?: components["parameters"]["since-user"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/list-repos-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["porter-author"][]; - }; - }; - 404: components["responses"]["not_found"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Map a commit author - * @description Update an author's identity for the import. Your application can continue updating authors any time before you push - * new commits to the repository. - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/map-commit-author": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - author_id: number; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The new Git author email. */ - email?: string; - /** @description The new Git author name. */ - name?: string; - }; - }; + "teams/check-permissions-for-repo-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Alternative response with repository permissions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description Response if team has permission for the repository. This is the response when the repository media type hasn't been provded in the Accept header. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if team does not have permission for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["porter-author"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Get large files - * @description List files larger than 100MB found during the import - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/get-large-files": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/add-or-update-repo-permissions-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @default push + */ + permission: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["porter-large-file"][]; - }; - }; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Update Git LFS preference - * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability - * is powered by [Git LFS](https://git-lfs.com). - * - * You can learn more about our LFS feature and working with large files [on our help - * site](https://docs.github.com/repositories/working-with-files/managing-large-files). - * - * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end - * on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update - * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. - */ - "migrations/set-lfs-preference": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. - * @enum {string} - */ - use_lfs: "opt_in" | "opt_out"; - }; - }; + "teams/remove-repo-in-org": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["import"]; - }; - }; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["porter_maintenance"]; - }; - }; - /** - * Get a repository installation for the authenticated app - * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-repo-installation": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "teams/list-child-in-org": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The slug of the team name. */ + team_slug: components["parameters"]["team-slug"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get interaction restrictions for a repository - * @description Shows which type of GitHub user can interact with this repository and when the restriction expires. If there are no restrictions, you will see an empty response. - */ - "interactions/get-restrictions-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "orgs/enable-or-disable-security-product-on-all-org-repos": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + /** @description The security feature to enable or disable. */ + security_product: components["parameters"]["security-product"]; + /** @description The action to take. + * + * `enable_all` means to enable the specified security feature for all repositories in the organization. + * `disable_all` means to disable the specified security feature for all repositories in the organization. */ + enablement: components["parameters"]["org-security-product-enablement"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description CodeQL query suite to be used. If you specify the `query_suite` parameter, the default setup will be configured with this query suite only on all repositories that didn't have default setup already configured. It will not change the query suite on repositories that already have default setup configured. + * If you don't specify any `query_suite` in your request, the preferred query suite of the organization will be applied. + * @enum {string} + */ + query_suite?: "default" | "extended"; + }; + }; + }; + responses: { + /** @description Action started */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description The action could not be taken due to an in progress enablement, or a policy is preventing enablement */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; - }; - }; - }; - }; - /** - * Set interaction restrictions for a repository - * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - "interactions/set-restrictions-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "projects/get-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/delete-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; + "projects/update-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The project card's note + * @example Update all gems + */ + note?: string | null; + /** + * @description Whether or not the card is archived + * @example false + */ + archived?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/move-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the card. */ + card_id: components["parameters"]["card-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The position of the card in a column. Can be one of: `top`, `bottom`, or `after:` to place after the specified card. + * @example bottom + */ + position: string; + /** + * @description The unique identifier of the column the card should be moved to + * @example 42 + */ + column_id?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + resource?: string; + field?: string; + }[]; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + /** @description Response */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - /** @description Response */ - 409: { - content: never; - }; - }; - }; - /** - * Remove interaction restrictions for a repository - * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. - */ - "interactions/remove-restrictions-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "projects/get-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/delete-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/update-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/list-cards": { + parameters: { + query?: { + /** @description Filters the project cards that are returned by the card's state. */ + archived_state?: "all" | "archived" | "not_archived"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-card": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The project card's note + * @example Update all gems + */ + note: string | null; + } | { + /** + * @description The unique identifier of the content associated with the card + * @example 42 + */ + content_id: number; + /** + * @description The piece of content associated with the card + * @example PullRequest + */ + content_type: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-card"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Validation failed */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; + }; + }; + /** @description Response */ + 503: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code?: string; + message?: string; + documentation_url?: string; + errors?: { + code?: string; + message?: string; + }[]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Response */ - 409: { - content: never; - }; - }; - }; - /** - * List repository invitations - * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. - */ - "repos/list-invitations": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "projects/move-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the column. */ + column_id: components["parameters"]["column-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The position of the column in a project. Can be one of: `first`, `last`, or `after:` to place after the specified column. + * @example last + */ + position: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": Record; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Delete Success */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "projects/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Name of the project + * @example Week One Sprint + */ + name?: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body?: string | null; + /** + * @description State of the project; either 'open' or 'closed' + * @example open + */ + state?: string; + /** + * @description The baseline permission that all organization members have on this project + * @enum {string} + */ + organization_permission?: "read" | "write" | "admin" | "none"; + /** @description Whether or not this project can be seen by everyone. */ + private?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + /** @description Forbidden */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + errors?: string[]; + }; + }; + }; + /** @description Not Found if the authenticated user does not have access to the project */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/list-collaborators": { + parameters: { + query?: { + /** @description Filters the collaborators by their affiliation. `outside` means outside collaborators of a project that are not a member of the project's organization. `direct` means collaborators with permissions to a project, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/add-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. + * @default write + * @example write + * @enum {string} + */ + permission: "read" | "write" | "admin"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/remove-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/get-permission-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-collaborator-permission"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "projects/list-columns": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "projects/create-column": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project column + * @example Remaining tasks + */ + name: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project-column"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "rate-limit/get": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; + "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; + "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rate-limit-overview"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 307: components["responses"]["temporary_redirect"]; + /** @description If an organization owner has configured the organization to prevent members from deleting organization-owned repositories, a member will get this response: */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the repository. */ + name?: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Either `true` to make the repository private or `false` to make it public. Default: `false`. + * **Note**: You will get a `422` error if the organization restricts [changing repository visibility](https://docs.github.com/articles/repository-permission-levels-for-an-organization#changing-the-visibility-of-repositories) to organization owners and a non-owner tries to change the value of private. + * @default false + */ + private: boolean; + /** + * @description The visibility of the repository. + * @enum {string} + */ + visibility?: "public" | "private"; + /** @description Specify which security and analysis features to enable or disable for the repository. + * + * To use this parameter, you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." + * + * For example, to enable GitHub Advanced Security, use this data in the body of the `PATCH` request: + * `{ "security_and_analysis": {"advanced_security": { "status": "enabled" } } }`. + * + * You can check which security and analysis features are currently enabled by using a `GET /repos/{owner}/{repo}` request. */ + security_and_analysis?: { + /** @description Use the `status` property to enable or disable GitHub Advanced Security for this repository. For more information, see "[About GitHub Advanced Security](/github/getting-started-with-github/learning-about-github/about-github-advanced-security)." */ + advanced_security?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning for this repository. For more information, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)." */ + secret_scanning?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + /** @description Use the `status` property to enable or disable secret scanning push protection for this repository. For more information, see "[Protecting pushes with secret scanning](/code-security/secret-scanning/protecting-pushes-with-secret-scanning)." */ + secret_scanning_push_protection?: { + /** @description Can be `enabled` or `disabled`. */ + status?: string; + }; + } | null; + /** + * @description Either `true` to enable issues for this repository or `false` to disable them. + * @default true + */ + has_issues: boolean; + /** + * @description Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. + * @default true + */ + has_projects: boolean; + /** + * @description Either `true` to enable the wiki for this repository or `false` to disable it. + * @default true + */ + has_wiki: boolean; + /** + * @description Either `true` to make this repo available as a template repository or `false` to prevent it. + * @default false + */ + is_template: boolean; + /** @description Updates the default branch for this repository. */ + default_branch?: string; + /** + * @description Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. + * @default true + */ + allow_squash_merge: boolean; + /** + * @description Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. + * @default true + */ + allow_merge_commit: boolean; + /** + * @description Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. + * @default true + */ + allow_rebase_merge: boolean; + /** + * @description Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge. + * @default false + */ + allow_auto_merge: boolean; + /** + * @description Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. + * @default false + */ + delete_branch_on_merge: boolean; + /** + * @description Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or false otherwise. + * @default false + */ + allow_update_branch: boolean; + /** + * @deprecated + * @description Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ + use_squash_pr_title_as_default: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether to archive this repository. `false` will unarchive a previously archived repository. + * @default false + */ + archived: boolean; + /** + * @description Either `true` to allow private forks, or `false` to prevent private forks. + * @default false + */ + allow_forking: boolean; + /** + * @description Either `true` to require contributors to sign off on web-based commits, or `false` to not require contributors to sign off on web-based commits. + * @default false + */ + web_commit_signoff_required: boolean; + }; + }; }; - content: { - "application/json": components["schemas"]["repository-invitation"][]; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 307: components["responses"]["temporary_redirect"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "actions/list-artifacts-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + name?: components["parameters"]["artifact-name"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; }; - }; }; - }; - /** Delete a repository invitation */ - "repos/delete-invitation": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** Update a repository invitation */ - "repos/update-invitation": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - invitation_id: components["parameters"]["invitation-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. - * @enum {string} - */ - permissions?: "read" | "write" | "maintain" | "triage" | "admin"; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-invitation"]; - }; - }; - }; - }; - /** - * List repository issues - * @description List issues in a repository. Only open issues will be listed. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list-for-repo": { - parameters: { - query?: { - /** @description If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ - milestone?: string; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - /** @description Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ - assignee?: string; - /** @description The user that created the issue. */ - creator?: string; - /** @description A user that's mentioned in the issue. */ - mentioned?: string; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create an issue - * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "issues/create": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The title of the issue. */ - title: string | number; - /** @description The contents of the issue. */ - body?: string; - /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ - assignee?: string | null; - milestone?: string | number | null; - /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ - labels?: (OneOf<[string, { - id?: number; - name?: string; - description?: string | null; - color?: string | null; - }]>)[]; - /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ - assignees?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List issue comments for a repository - * @description You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request. - * - * By default, issue comments are ordered by ascending ID. - */ - "issues/list-comments-for-repo": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ - direction?: "asc" | "desc"; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an issue comment - * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - "issues/get-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an issue comment - * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - "issues/delete-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update an issue comment - * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - */ - "issues/update-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; + "actions/get-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["artifact"]; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List reactions for an issue comment - * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - "reactions/list-for-issue-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for an issue comment - * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. - */ - "reactions/create-for-issue-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an issue comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. - * - * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). - */ - "reactions/delete-for-issue-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List issue events for a repository - * @description Lists events for a repository. - */ - "issues/list-events-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-event"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an issue event - * @description Gets a single event by the event id. - */ - "issues/get-event": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - event_id: number; - }; + "actions/delete-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue-event"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Get an issue - * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was - * [transferred](https://docs.github.com/articles/transferring-an-issue-to-another-repository/) to another repository. If - * the issue was transferred to or deleted from a repository where the authenticated user lacks read access, the API - * returns a `404 Not Found` status. If the issue was deleted from a repository where the authenticated user has read - * access, the API returns a `410 Gone` status. To receive webhook events for transferred and deleted issues, subscribe - * to the [`issues`](https://docs.github.com/webhooks/event-payloads/#issues) webhook. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/download-artifact": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the artifact. */ + artifact_id: components["parameters"]["artifact-id"]; + archive_format: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + Location: components["headers"]["location"]; + [name: string]: unknown; + }; + content?: never; + }; + 410: components["responses"]["gone"]; + }; + }; + "actions/get-actions-cache-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-usage-by-repository"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Update an issue - * @description Issue owners and users with push access can edit an issue. - */ - "issues/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The title of the issue. */ - title?: string | number | null; - /** @description The contents of the issue. */ - body?: string | null; - /** @description Username to assign to this issue. **This field is deprecated.** */ - assignee?: string | null; - /** - * @description The open or closed state of the issue. - * @enum {string} - */ - state?: "open" | "closed"; - /** - * @description The reason for the state change. Ignored unless `state` is changed. - * @example not_planned - * @enum {string|null} - */ - state_reason?: "completed" | "not_planned" | "reopened" | null; - milestone?: string | number | null; - /** @description Labels to associate with this issue. Pass one or more labels to _replace_ the set of labels on this issue. Send an empty array (`[]`) to clear all labels from the issue. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped. */ - labels?: (OneOf<[string, { - id?: number; - name?: string; - description?: string | null; - color?: string | null; - }]>)[]; - /** @description Usernames to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this issue. Send an empty array (`[]`) to clear all assignees from the issue. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped. */ - assignees?: string[]; - }; - }; + "actions/get-actions-cache-list": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["actions-cache-git-ref-full"]; + /** @description An explicit key or prefix for identifying the cache */ + key?: components["parameters"]["actions-cache-key"]; + /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */ + sort?: components["parameters"]["actions-cache-list-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Add assignees to an issue - * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. - */ - "issues/add-assignees": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/delete-actions-cache-by-key": { + parameters: { + query: { + /** @description A key for identifying the cache. */ + key: components["parameters"]["actions-cache-key-required"]; + /** @description The full Git reference for narrowing down the cache. The `ref` for a branch should be formatted as `refs/heads/`. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["actions-cache-git-ref-full"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-cache-list"]; + }; + }; + }; }; - requestBody?: { - content: { - "application/json": { - /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ - assignees?: string[]; + "actions/delete-actions-cache-by-id": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the GitHub Actions cache. */ + cache_id: components["parameters"]["cache-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - }; - }; - /** - * Remove assignees from an issue - * @description Removes one or more assignees from an issue. - */ - "issues/remove-assignees": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/get-job-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["job"]; + }; + }; + }; }; - requestBody?: { - content: { - "application/json": { - /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ - assignees?: string[]; + "actions/download-job-logs-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/jobs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["issue"]; - }; - }; - }; - }; - /** - * Check if a user can be assigned to a issue - * @description Checks if a user has permission to be assigned to a specific issue. - * - * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned. - * - * Otherwise a `404` status code is returned. - */ - "issues/check-user-can-be-assigned-to-issue": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - assignee: string; - }; + "actions/re-run-job-for-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the job. */ + job_id: components["parameters"]["job-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "actions/get-custom-oidc-sub-claim-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Status response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["oidc-custom-sub-repo"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-oidc-sub-claim-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored. */ + use_default: boolean; + /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */ + include_claim_keys?: string[]; + }; + }; + }; + responses: { + /** @description Empty response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-repo-organization-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response if `assignee` can be assigned to `issue_number` */ - 204: { - content: never; - }; - /** @description Response if `assignee` can not be assigned to `issue_number` */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * List issue comments - * @description You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * Issue comments are ordered by ascending ID. - */ - "issues/list-comments": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/list-repo-organization-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Create an issue comment - * @description - * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). - * Creating content too quickly using this endpoint may result in secondary rate limiting. - * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" - * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" - * for details. - */ - "issues/create-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/get-github-actions-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-repository-permissions"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The contents of the comment. */ - body: string; + "actions/set-github-actions-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + enabled: components["schemas"]["actions-enabled"]; + allowed_actions?: components["schemas"]["allowed-actions"]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["issue-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List issue events - * @description Lists all events for an issue. - */ - "issues/list-events": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/get-workflow-access-to-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue-event-for-issue"][]; - }; - }; - 410: components["responses"]["gone"]; - }; - }; - /** - * List labels for an issue - * @description Lists all labels for an issue. - */ - "issues/list-labels-on-issue": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/set-workflow-access-to-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-workflow-access-to-repository"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Set labels for an issue - * @description Removes any previous labels and sets the new labels for an issue. - */ - "issues/set-labels": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/issues/labels#add-labels-to-an-issue)." */ - labels?: string[]; - }, string[], { - labels?: { - name: string; - }[]; - }, { - name: string; - }[], string]>; - }; + "actions/get-allowed-actions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Add labels to an issue - * @description Adds labels to an issue. If you provide an empty array of labels, all labels are removed from the issue. - */ - "issues/add-labels": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/issues/labels#set-labels-for-an-issue)." */ - labels?: string[]; - }, string[], { - labels?: { - name: string; - }[]; - }, { - name: string; - }[], string]>; - }; + "actions/set-allowed-actions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["selected-actions"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove all labels from an issue - * @description Removes all labels from an issue. - */ - "issues/remove-all-labels": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/get-github-actions-default-workflow-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-get-default-workflow-permissions"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Remove a label from an issue - * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. - */ - "issues/remove-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - name: string; - }; + "actions/set-github-actions-default-workflow-permissions-repository": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["actions-set-default-workflow-permissions"]; + }; + }; + responses: { + /** @description Success response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict response when changing a setting is prevented by the owning organization */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 301: components["responses"]["moved_permanently"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Lock an issue - * @description Users with push access can lock an issue or pull request's conversation. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "issues/lock": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - /** - * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: - * * `off-topic` - * * `too heated` - * * `resolved` - * * `spam` - * @enum {string} - */ - lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; - }) | null; - }; + "actions/list-self-hosted-runners-for-repo": { + parameters: { + query?: { + /** @description The name of a self-hosted runner. */ + name?: string; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + runners: components["schemas"]["runner"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Unlock an issue - * @description Users with push access can unlock an issue's conversation. - */ - "issues/unlock": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/list-runner-applications-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner-application"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List reactions for an issue - * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - "reactions/list-for-issue": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/generate-runner-jitconfig-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the new runner. */ + name: string; + /** @description The ID of the runner group to register the runner to. */ + runner_group_id: number; + /** @description The names of the custom labels to add to the runner. **Minimum items**: 1. **Maximum items**: 100. */ + labels: string[]; + /** + * @description The working directory to be used for job execution, relative to the runner install directory. + * @default _work + */ + work_folder: string; + }; + }; + }; + responses: { + 201: components["responses"]["actions_runner_jitconfig"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/create-registration-token-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - }; - }; - /** - * Create reaction for an issue - * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. - */ - "reactions/create-for-issue": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; + "actions/create-remove-token-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["authentication-token"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an issue reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. - * - * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). - */ - "reactions/delete-for-issue": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - reaction_id: components["parameters"]["reaction-id"]; - }; + "actions/get-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["runner"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List timeline events for an issue - * @description List all timeline events for an issue. - */ - "issues/list-events-for-timeline": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - issue_number: components["parameters"]["issue-number"]; - }; + "actions/delete-self-hosted-runner-from-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "actions/list-labels-for-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/set-custom-labels-for-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/add-custom-labels-to-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; }; - content: { - "application/json": components["schemas"]["timeline-issue-events"][]; + requestBody: { + content: { + "application/json": { + /** @description The names of the custom labels to add to the runner. */ + labels: string[]; + }; + }; + }; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/remove-all-custom-labels-from-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels_readonly"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/remove-custom-label-from-self-hosted-runner-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description Unique identifier of the self-hosted runner. */ + runner_id: components["parameters"]["runner-id"]; + /** @description The name of a self-hosted runner's custom label. */ + name: components["parameters"]["runner-label-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["actions_runner_labels"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "actions/list-workflow-runs-for-repo": { + parameters: { + query?: { + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: components["parameters"]["created"]; + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; + }; + "actions/get-workflow-run": { + parameters: { + query?: { + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; }; - }; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; }; - }; - /** List deploy keys */ - "repos/list-deploy-keys": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/delete-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["deploy-key"][]; - }; - }; - }; - }; - /** - * Create a deploy key - * @description You can create a read-only deploy key. - */ - "repos/create-deploy-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A name for the key. */ - title?: string; - /** @description The contents of the key. */ - key: string; - /** - * @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. - * - * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." - */ - read_only?: boolean; - }; - }; + "actions/get-reviews-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment-approvals"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ - Location?: string; + "actions/approve-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "actions/list-workflow-run-artifacts": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The name field of an artifact. When specified, only artifacts with this name will be returned. */ + name?: components["parameters"]["artifact-name"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + artifacts: components["schemas"]["artifact"][]; + }; + }; + }; }; - content: { - "application/json": components["schemas"]["deploy-key"]; + }; + "actions/get-workflow-run-attempt": { + parameters: { + query?: { + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run"]; + }; + }; }; - }; - 422: components["responses"]["validation_failed"]; }; - }; - /** Get a deploy key */ - "repos/get-deploy-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - key_id: components["parameters"]["key-id"]; - }; + "actions/list-jobs-for-workflow-run-attempt": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "actions/download-workflow-run-attempt-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + /** @description The attempt number of the workflow run. */ + attempt_number: components["parameters"]["attempt-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["deploy-key"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a deploy key - * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. - */ - "repos/delete-deploy-key": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - key_id: components["parameters"]["key-id"]; - }; + "actions/cancel-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "actions/review-custom-gates-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["review-custom-gates-comment-required"] | components["schemas"]["review-custom-gates-state-required"]; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List labels for a repository - * @description Lists all labels for a repository. - */ - "issues/list-labels-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/force-cancel-workflow-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + 409: components["responses"]["conflict"]; + }; + }; + "actions/list-jobs-for-workflow-run": { + parameters: { + query?: { + /** @description Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. */ + filter?: "latest" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + jobs: components["schemas"]["job"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a label - * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). - */ - "issues/create-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ - name: string; - /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ - color?: string; - /** @description A short description of the label. Must be 100 characters or fewer. */ - description?: string; - }; - }; + "actions/download-workflow-run-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["label"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a label - * @description Gets a label using the given name. - */ - "issues/get-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: string; - }; + "actions/delete-workflow-run-logs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 500: components["responses"]["internal_error"]; + }; + }; + "actions/get-pending-deployments-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pending-deployment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a label - * @description Deletes a label using the given label name. - */ - "issues/delete-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: string; - }; + "actions/review-pending-deployments-for-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The list of environment ids to approve or reject + * @example [ + * 161171787, + * 161171795 + * ] + */ + environment_ids: number[]; + /** + * @description Whether to approve or reject deployment to the specified environments. + * @example approved + * @enum {string} + */ + state: "approved" | "rejected"; + /** + * @description A comment to accompany the deployment review + * @example Ship it! + */ + comment: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a label - * @description Updates a label using the given label name. - */ - "issues/update-label": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - name: string; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ - new_name?: string; - /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ - color?: string; - /** @description A short description of the label. Must be 100 characters or fewer. */ - description?: string; - }; - }; + "actions/re-run-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["label"]; - }; - }; - }; - }; - /** - * List repository languages - * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. - */ - "repos/list-languages": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/re-run-workflow-failed-jobs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Whether to enable debug logging for the re-run. + * @default false + */ + enable_debug_logging: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["language"]; - }; - }; - }; - }; - /** - * Get the license for a repository - * @description This method returns the contents of the repository's license file, if one is detected. - * - * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. - */ - "licenses/get-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/get-workflow-run-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the workflow run. */ + run_id: components["parameters"]["run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-run-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["license-content"]; - }; - }; - }; - }; - /** - * Sync a fork branch with the upstream repository - * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. - */ - "repos/merge-upstream": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The name of the branch which should be updated to match upstream. */ - branch: string; + "actions/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; }; - }; }; - responses: { - /** @description The branch has been successfully synced with the upstream repository */ - 200: { - content: { - "application/json": components["schemas"]["merged-upstream"]; - }; - }; - /** @description The branch could not be synced because of a merge conflict */ - 409: { - content: never; - }; - /** @description The branch could not be synced for some other reason */ - 422: { - content: never; - }; - }; - }; - /** Merge a branch */ - "repos/merge": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the base branch that the head will be merged into. */ - base: string; - /** @description The head to merge. This can be a branch name or a commit SHA1. */ - head: string; - /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ - commit_message?: string; - }; - }; + "actions/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; }; - responses: { - /** @description Successful Response (The resulting merge commit) */ - 201: { - content: { - "application/json": components["schemas"]["commit"]; - }; - }; - /** @description Response when already merged */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found when the base or head does not exist */ - 404: { - content: never; - }; - /** @description Conflict when there is a merge conflict */ - 409: { - content: never; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List milestones - * @description Lists milestones for a repository. - */ - "issues/list-milestones": { - parameters: { - query?: { - /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ - state?: "open" | "closed" | "all"; - /** @description What to sort results by. Either `due_on` or `completeness`. */ - sort?: "due_on" | "completeness"; - /** @description The direction of the sort. Either `asc` or `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/actions/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["milestone"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a milestone - * @description Creates a milestone. - */ - "issues/create-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The title of the milestone. */ - title: string; - /** - * @description The state of the milestone. Either `open` or `closed`. - * @default open - * @enum {string} - */ - state?: "open" | "closed"; - /** @description A description of the milestone. */ - description?: string; - /** - * Format: date-time - * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - due_on?: string; - }; - }; + "actions/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a milestone - * @description Gets a milestone using the given milestone number. - */ - "issues/get-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; + "actions/list-repo-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a milestone - * @description Deletes a milestone using the given milestone number. - */ - "issues/delete-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; + "actions/create-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Update a milestone */ - "issues/update-milestone": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The title of the milestone. */ - title?: string; - /** - * @description The state of the milestone. Either `open` or `closed`. - * @default open - * @enum {string} - */ - state?: "open" | "closed"; - /** @description A description of the milestone. */ - description?: string; - /** - * Format: date-time - * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. - */ - due_on?: string; - }; - }; + "actions/get-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["milestone"]; - }; - }; - }; - }; - /** - * List labels for issues in a milestone - * @description Lists labels for issues in a milestone. - */ - "issues/list-labels-for-milestone": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - milestone_number: components["parameters"]["milestone-number"]; - }; + "actions/delete-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["label"][]; - }; - }; - }; - }; - /** - * List repository notifications for the authenticated user - * @description Lists all notifications for the current user in the specified repository. - */ - "activity/list-repo-notifications-for-authenticated-user": { - parameters: { - query?: { - all?: components["parameters"]["all"]; - participating?: components["parameters"]["participating"]; - since?: components["parameters"]["since"]; - before?: components["parameters"]["before"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/update-repo-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["thread"][]; - }; - }; - }; - }; - /** - * Mark repository notifications as read - * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. - */ - "activity/mark-repo-notifications-as-read": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * Format: date-time - * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. - */ - last_read_at?: string; - }; - }; + "actions/list-repo-workflows": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflows: components["schemas"]["workflow"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": { - message?: string; - url?: string; - }; - }; - }; - /** @description Reset Content */ - 205: { - content: never; - }; - }; - }; - /** - * Get a GitHub Pages site - * @description Gets information about a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/get-pages": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/get-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update information about a GitHub Pages site - * @description Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - "repos/update-information-about-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/articles/using-a-custom-domain-with-github-pages/)." */ - cname?: string | null; - /** @description Specify whether HTTPS should be enforced for the repository. */ - https_enforced?: boolean; - /** - * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. - * @enum {string} - */ - build_type?: "legacy" | "workflow"; - source?: ("gh-pages" | "master" | "master /docs") | ({ - /** @description The repository branch used to publish your site's source files. */ - branch: string; - /** - * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. - * @enum {string} - */ - path: "/" | "/docs"; - }); + "actions/disable-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 400: components["responses"]["bad_request"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a GitHub Pages site - * @description Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - "repos/create-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** - * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. - * @enum {string} - */ - build_type?: "legacy" | "workflow"; - /** @description The source branch and directory used to publish your Pages site. */ - source?: { - /** @description The repository branch used to publish your site's source files. */ - branch: string; - /** - * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` - * @default / - * @enum {string} - */ - path?: "/" | "/docs"; - }; - }) | null; - }; + "actions/create-workflow-dispatch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The git reference for the workflow. The reference can be a branch or tag name. */ + ref: string; + /** @description Input keys and values configured in the workflow file. The maximum number of properties is 10. Any default properties configured in the workflow file will be used when `inputs` are omitted. */ + inputs?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["page"]; - }; - }; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a GitHub Pages site - * @description Deletes a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages). - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. - */ - "repos/delete-pages-site": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/enable-workflow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List GitHub Pages builds - * @description Lists builts of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/list-pages-builds": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/list-workflow-runs": { + parameters: { + query?: { + /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ + actor?: components["parameters"]["actor"]; + /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ + branch?: components["parameters"]["workflow-run-branch"]; + /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ + event?: components["parameters"]["event"]; + /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ + status?: components["parameters"]["workflow-run-status"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ + created?: components["parameters"]["created"]; + /** @description If `true` pull requests are omitted from the response (empty array). */ + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; + /** @description Returns workflow runs with the `check_suite_id` that you specify. */ + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; + /** @description Only returns workflow runs that are associated with the specified `head_sha`. */ + head_sha?: components["parameters"]["workflow-run-head-sha"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + workflow_runs: components["schemas"]["workflow-run"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["page-build"][]; - }; - }; - }; - }; - /** - * Request a GitHub Pages build - * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. - * - * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. - */ - "repos/request-pages-build": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "actions/get-workflow-usage": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ + workflow_id: components["parameters"]["workflow-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["workflow-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["page-build-status"]; - }; - }; - }; - }; - /** - * Get latest Pages build - * @description Gets information about the single most recent build of a GitHub Pages site. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/get-latest-pages-build": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-activities": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description The Git reference for the activities you want to list. + * + * The `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch. */ + ref?: string; + /** @description The GitHub username to use to filter by the actor who performed the activity. */ + actor?: string; + /** @description The time period to filter by. + * + * For example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours). */ + time_period?: "day" | "week" | "month" | "quarter" | "year"; + /** @description The activity type to filter by. + * + * For example, you can choose to filter by "force_push", to see all force pushes to the repository. */ + activity_type?: "push" | "force_push" | "branch_creation" | "branch_deletion" | "pr_merge" | "merge_queue_merge"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["activity"][]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page-build"]; - }; - }; - }; - }; - /** - * Get GitHub Pages build - * @description Gets information about a GitHub Pages build. - * - * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. - */ - "repos/get-pages-build": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - build_id: number; - }; + "issues/list-assignees": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/check-user-can-be-assigned": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + assignee: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Otherwise a `404` status code is returned. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page-build"]; - }; - }; - }; - }; - /** - * Create a GitHub Pages deployment - * @description Create a GitHub Pages deployment for a repository. - * - * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. - */ - "repos/create-pages-deployment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. */ - artifact_url: string; - /** - * @description The target environment for this GitHub Pages deployment. - * @default github-pages - */ - environment?: string; - /** - * @description A unique string that represents the version of the build for this deployment. - * @default GITHUB_SHA - */ - pages_build_version: string; - /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ - oidc_token: string; - }; - }; + "repos/list-autolinks": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["page-deployment"]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a DNS health check for GitHub Pages - * @description Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages. - * - * The first request to this endpoint returns a `202 Accepted` status and starts an asynchronous background task to get the results for the domain. After the background task completes, subsequent requests to this endpoint return a `200 OK` status with the health check results in the response. - * - * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. - */ - "repos/get-pages-health-check": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/create-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description This prefix appended by certain characters will generate a link any time it is found in an issue, pull request, or commit. */ + key_prefix: string; + /** @description The URL must contain `` for the reference number. `` matches different characters depending on the value of `is_alphanumeric`. */ + url_template: string; + /** + * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. + * @default true + */ + is_alphanumeric: boolean; + }; + }; + }; + responses: { + /** @description response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/autolinks/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["autolink"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-autolink": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the autolink. */ + autolink_id: components["parameters"]["autolink-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/check-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if dependabot is enabled */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-automated-security-fixes"]; + }; + }; + /** @description Not Found if dependabot is not enabled for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pages-health-check"]; - }; - }; - /** @description Empty response */ - 202: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Custom domains are not available for GitHub Pages */ - 400: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description There isn't a CNAME for this page */ - 422: { - content: never; - }; - }; - }; - /** - * Enable private vulnerability reporting for a repository - * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." - */ - "repos/enable-private-vulnerability-reporting": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/enable-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 204: components["responses"]["no_content"]; - 422: components["responses"]["bad_request"]; - }; - }; - /** - * Disable private vulnerability reporting for a repository - * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". - */ - "repos/disable-private-vulnerability-reporting": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/disable-automated-security-fixes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 204: components["responses"]["no_content"]; - 422: components["responses"]["bad_request"]; - }; - }; - /** - * List repository projects - * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/list-for-repo": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-branches": { + parameters: { + query?: { + /** @description Setting to `true` returns only protected branches. When set to `false`, only unprotected branches are returned. Omitting this parameter returns all branches. */ + protected?: boolean; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["short-branch"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-protection"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Require status checks to pass before merging. Set to `null` to disable. */ + required_status_checks: { + /** @description Require branches to be up to date before merging. */ + strict: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + * + */ + contexts: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + } | null; + /** @description Enforce all configured restrictions for administrators. Set to `true` to enforce required status checks for repository administrators. Set to `null` to disable. */ + enforce_admins: boolean | null; + /** @description Require at least one approving review on a pull request, before merging. Set to `null` to disable. */ + required_pull_request_reviews: { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) review them. */ + require_code_owner_reviews?: boolean; + /** @description Specify the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false`. + * @default false + */ + require_last_push_approval: boolean; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + } | null; + /** @description Restrict who can push to the protected branch. User, app, and team `restrictions` are only available for organization-owned repositories. Set to `null` to disable. */ + restrictions: { + /** @description The list of user `login`s with push access */ + users: string[]; + /** @description The list of team `slug`s with push access */ + teams: string[]; + /** @description The list of app `slug`s with push access */ + apps?: string[]; + } | null; + /** @description Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. Set to `true` to enforce a linear commit history. Set to `false` to disable a linear commit Git history. Your repository must allow squash merging or rebase merging before you can enable a linear commit history. Default: `false`. For more information, see "[Requiring a linear commit history](https://docs.github.com/github/administering-a-repository/requiring-a-linear-commit-history)" in the GitHub Help documentation. */ + required_linear_history?: boolean; + /** @description Permits force pushes to the protected branch by anyone with write access to the repository. Set to `true` to allow force pushes. Set to `false` or `null` to block force pushes. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation." */ + allow_force_pushes?: boolean | null; + /** @description Allows deletion of the protected branch by anyone with write access to the repository. Set to `false` to prevent deletion of the protected branch. Default: `false`. For more information, see "[Enabling force pushes to a protected branch](https://docs.github.com/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)" in the GitHub Help documentation. */ + allow_deletions?: boolean; + /** @description If set to `true`, the `restrictions` branch protection settings which limits who can push will also block pushes which create new branches, unless the push is initiated by a user, team, or app which has the ability to push. Set to `true` to restrict new branch creation. Default: `false`. */ + block_creations?: boolean; + /** @description Requires all conversations on code to be resolved before a pull request can be merged into a branch that matches this rule. Set to `false` to disable. Default: `false`. */ + required_conversation_resolution?: boolean; + /** + * @description Whether to set the branch as read-only. If this is true, users will not be able to push to the branch. Default: `false`. + * @default false + */ + lock_branch: boolean; + /** + * @description Whether users can pull changes from upstream when the branch is locked. Set to `true` to allow fork syncing. Set to `false` to prevent fork syncing. Default: `false`. + * @default false + */ + allow_fork_syncing: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "repos/delete-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Create a repository project - * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/create-for-repo": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/set-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The name of the project. */ - name: string; - /** @description The description of the project. */ - body?: string; + "repos/delete-admin-branch-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 410: components["responses"]["gone"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List pull requests - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - */ - "pulls/list": { - parameters: { - query?: { - /** @description Either `open`, `closed`, or `all` to filter by state. */ - state?: "open" | "closed" | "all"; - /** @description Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ - head?: string; - /** @description Filter pulls by base branch name. Example: `gh-pages`. */ - base?: string; - /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ - sort?: "created" | "updated" | "popularity" | "long-running"; - /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/delete-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-pull-request-review-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Specify which users, teams, and apps can dismiss pull request reviews. Pass an empty `dismissal_restrictions` object to disable. User and team `dismissal_restrictions` are only available for organization-owned repositories. Omit this parameter for personal repositories. */ + dismissal_restrictions?: { + /** @description The list of user `login`s with dismissal access */ + users?: string[]; + /** @description The list of team `slug`s with dismissal access */ + teams?: string[]; + /** @description The list of app `slug`s with dismissal access */ + apps?: string[]; + }; + /** @description Set to `true` if you want to automatically dismiss approving reviews when someone pushes a new commit. */ + dismiss_stale_reviews?: boolean; + /** @description Blocks merging pull requests until [code owners](https://docs.github.com/articles/about-code-owners/) have reviewed. */ + require_code_owner_reviews?: boolean; + /** @description Specifies the number of reviewers required to approve pull requests. Use a number between 1 and 6 or 0 to not require reviewers. */ + required_approving_review_count?: number; + /** + * @description Whether the most recent push must be approved by someone other than the person who pushed it. Default: `false` + * @default false + */ + require_last_push_approval: boolean; + /** @description Allow specific users, teams, or apps to bypass pull request requirements. */ + bypass_pull_request_allowances?: { + /** @description The list of user `login`s allowed to bypass pull request requirements. */ + users?: string[]; + /** @description The list of team `slug`s allowed to bypass pull request requirements. */ + teams?: string[]; + /** @description The list of app `slug`s allowed to bypass pull request requirements. */ + apps?: string[]; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["protected-branch-admin-enforced"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-commit-signature-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-status-checks-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/remove-status-check-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. - */ - "pulls/create": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The title of the new pull request. Required unless `issue` is specified. */ - title?: string; - /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ - head: string; - /** - * Format: repo.nwo - * @description The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. - * @example octo-org/octo-repo - */ - head_repo?: string; - /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ - base: string; - /** @description The contents of the pull request. */ - body?: string; - /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - maintainer_can_modify?: boolean; - /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ - draft?: boolean; - /** - * Format: int64 - * @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. - * @example 1 - */ - issue?: number; - }; - }; + "repos/update-status-check-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Require branches to be up to date before merging. */ + strict?: boolean; + /** + * @deprecated + * @description **Deprecated**: The list of status checks to require in order to merge into this branch. If any of these checks have recently been set by a particular GitHub App, they will be required to come from that app in future for the branch to merge. Use `checks` instead of `contexts` for more fine-grained control. + * + */ + contexts?: string[]; + /** @description The list of status checks to require in order to merge into this branch. */ + checks?: { + /** @description The name of the required check */ + context: string; + /** @description The ID of the GitHub App that must provide this check. Omit this field to automatically select the GitHub App that has recently provided this check, or any app if it was not set by a GitHub App. Pass -1 to explicitly allow any app to set the status. */ + app_id?: number; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status-check-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-all-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-status-check-contexts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the status checks */ + contexts: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-restriction-policy"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List review comments in a repository - * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. - */ - "pulls/list-review-comments-for-repo": { - parameters: { - query?: { - sort?: "created" | "updated" | "created_at"; - /** @description The direction to sort results. Ignored without `sort` parameter. */ - direction?: "asc" | "desc"; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/get-apps-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-app-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The GitHub Apps that have push access to this branch. Use the slugified version of the app name. **Note**: The list of users, apps, and teams in total is limited to 100 items. */ + apps: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["integration"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-teams-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-team-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The slug values for teams */ + teams: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-users-with-access-to-protected-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/set-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/add-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-user-access-restrictions": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The username for users */ + users: string[]; + } | string[]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/rename-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The new name of the branch. */ + new_name: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-with-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "checks/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the check. For example, "code-coverage". */ + name: string; + /** @description The SHA of the commit. */ + head_sha: string; + /** @description The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * @description The current status. + * @default queued + * @enum {string} + */ + status: "queued" | "in_progress" | "completed"; + /** + * Format: date-time + * @description The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: "action_required" | "cancelled" | "failure" | "neutral" | "success" | "skipped" | "stale" | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ + output?: { + /** @description The title of the check run. */ + title: string; + /** @description The summary of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + summary: string; + /** @description The details of the check run. This parameter supports Markdown. **Maximum length**: 65535 characters. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. Line numbers start at 1. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + } & ({ + /** @enum {unknown} */ + status: "completed"; + [key: string]: unknown; + } | { + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + [key: string]: unknown; + }); + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"][]; - }; - }; - }; - }; - /** - * Get a review comment for a pull request - * @description Provides details for a review comment. - */ - "pulls/get-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; + "checks/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a review comment for a pull request - * @description Deletes a review comment. - */ - "pulls/delete-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; + "checks/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the check. For example, "code-coverage". */ + name?: string; + /** @description The URL of the integrator's site that has the full details of the check. */ + details_url?: string; + /** @description A reference for the run on the integrator's system. */ + external_id?: string; + /** + * Format: date-time + * @description This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** + * @description The current status. + * @enum {string} + */ + status?: "queued" | "in_progress" | "completed"; + /** + * @description **Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. + * **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this. + * @enum {string} + */ + conclusion?: "action_required" | "cancelled" | "failure" | "neutral" | "success" | "skipped" | "stale" | "timed_out"; + /** + * Format: date-time + * @description The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + completed_at?: string; + /** @description Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. */ + output?: { + /** @description **Required**. */ + title?: string; + /** @description Can contain Markdown. */ + summary: string; + /** @description Can contain Markdown. */ + text?: string; + /** @description Adds information from your analysis to specific lines of code. Annotations are visible in GitHub's pull request UI. Annotations are visible in GitHub's pull request UI. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/rest/checks/runs#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. GitHub Actions are limited to 10 warning annotations and 10 error annotations per step. For details about annotations in the UI, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". */ + annotations?: { + /** @description The path of the file to add an annotation to. For example, `assets/css/main.css`. */ + path: string; + /** @description The start line of the annotation. Line numbers start at 1. */ + start_line: number; + /** @description The end line of the annotation. */ + end_line: number; + /** @description The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. Column numbers start at 1. */ + start_column?: number; + /** @description The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values. */ + end_column?: number; + /** + * @description The level of the annotation. + * @enum {string} + */ + annotation_level: "notice" | "warning" | "failure"; + /** @description A short description of the feedback for these lines of code. The maximum size is 64 KB. */ + message: string; + /** @description The title that represents the annotation. The maximum size is 255 characters. */ + title?: string; + /** @description Details about this annotation. The maximum size is 64 KB. */ + raw_details?: string; + }[]; + /** @description Adds images to the output displayed in the GitHub pull request UI. */ + images?: { + /** @description The alternative text for the image. */ + alt: string; + /** @description The full URL of the image. */ + image_url: string; + /** @description A short image description. */ + caption?: string; + }[]; + }; + /** @description Possible further actions the integrator can perform, which a user may trigger. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/rest/guides/using-the-rest-api-to-interact-with-checks#check-runs-and-requested-actions)." */ + actions?: { + /** @description The text to be displayed on a button in the web UI. The maximum size is 20 characters. */ + label: string; + /** @description A short explanation of what this action would do. The maximum size is 40 characters. */ + description: string; + /** @description A reference for the action on the integrator's system. The maximum size is 20 characters. */ + identifier: string; + }[]; + } | { + /** @enum {unknown} */ + status?: "completed"; + [key: string]: unknown; + } | { + /** @enum {unknown} */ + status?: "queued" | "in_progress"; + [key: string]: unknown; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-run"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a review comment for a pull request - * @description Enables you to edit a review comment. - */ - "pulls/update-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; + "checks/list-annotations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-annotation"][]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The text of the reply to the review comment. */ - body: string; + "checks/rerequest-run": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check run. */ + check_run_id: components["parameters"]["check-run-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Forbidden if the check run is not rerequestable or doesn't belong to the authenticated GitHub App */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 404: components["responses"]["not_found"]; + /** @description Validation error if the check run is not rerequestable */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - }; - }; - /** - * List reactions for a pull request review comment - * @description List the reactions to a [pull request review comment](https://docs.github.com/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - "reactions/list-for-pull-request-review-comment": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a pull request review comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; + "checks/create-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The sha of the head commit. */ + head_sha: string; + }; + }; + }; + responses: { + /** @description Response when the suite already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + /** @description Response when the suite was created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for a pull request review comment - * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. - */ - "reactions/create-for-pull-request-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; + "checks/set-suites-preferences": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. */ + auto_trigger_checks?: { + /** @description The `id` of the GitHub App. */ + app_id: number; + /** + * @description Set to `true` to enable automatic creation of CheckSuite events upon pushes to the repository, or `false` to disable them. + * @default true + */ + setting: boolean; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite-preference"]; + }; + }; + }; }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a pull request comment reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` - * - * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). - */ - "reactions/delete-for-pull-request-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - comment_id: components["parameters"]["comment-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; + "checks/get-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["check-suite"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * Lists details of a pull request by providing its number. - * - * When you get, [create](https://docs.github.com/rest/pulls/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/pulls/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". - * - * The value of the `mergeable` attribute can be `true`, `false`, or `null`. If the value is `null`, then GitHub has started a background job to compute the mergeability. After giving the job time to complete, resubmit the request. When the job finishes, you will see a non-`null` value for the `mergeable` attribute in the response. If `mergeable` is `true`, then `merge_commit_sha` will be the SHA of the _test_ merge commit. - * - * The value of the `merge_commit_sha` attribute changes depending on the state of the pull request. Before merging a pull request, the `merge_commit_sha` attribute holds the SHA of the _test_ merge commit. After merging a pull request, the `merge_commit_sha` attribute changes depending on how you merged the pull request: - * - * * If merged as a [merge commit](https://docs.github.com/articles/about-merge-methods-on-github/), `merge_commit_sha` represents the SHA of the merge commit. - * * If merged via a [squash](https://docs.github.com/articles/about-merge-methods-on-github/#squashing-your-merge-commits), `merge_commit_sha` represents the SHA of the squashed commit on the base branch. - * * If [rebased](https://docs.github.com/articles/about-merge-methods-on-github/#rebasing-and-merging-your-commits), `merge_commit_sha` represents the commit that the base branch was updated to. - * - * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. - */ - "pulls/get": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; + "checks/list-for-suite": { + parameters: { + query?: { + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; }; - responses: { - /** @description Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ - 200: { - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a pull request - * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. - */ - "pulls/update": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The title of the pull request. */ - title?: string; - /** @description The contents of the pull request. */ - body?: string; - /** - * @description State of this Pull Request. Either `open` or `closed`. - * @enum {string} - */ - state?: "open" | "closed"; - /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ - base?: string; - /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ - maintainer_can_modify?: boolean; - }; - }; + "checks/rerequest-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the check suite. */ + check_suite_id: components["parameters"]["check-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a codespace from a pull request - * @description Creates a codespace owned by the authenticated user for the specified pull request. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/create-with-pr-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody: { - content: { - "application/json": ({ - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - }) | null; - }; + "code-scanning/list-alerts-for-repo": { + parameters: { + query?: { + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property by which to sort the results. */ + sort?: "created" | "updated"; + /** @description If specified, only code scanning alerts with this state will be returned. */ + state?: components["schemas"]["code-scanning-alert-state-query"]; + /** @description If specified, only code scanning alerts with this severity will be returned. */ + severity?: components["schemas"]["code-scanning-alert-severity"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-alert-items"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["code-scanning-alert-set-state"]; + dismissed_reason?: components["schemas"]["code-scanning-alert-dismissed-reason"]; + dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-alert"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/list-alert-instances": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["parameters"]["git-ref"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-alert-instance"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/list-recent-analyses": { + parameters: { + query?: { + /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ + tool_name?: components["parameters"]["tool-name"]; + /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ + tool_guid?: components["parameters"]["tool-guid"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ + ref?: components["schemas"]["code-scanning-ref"]; + /** @description Filter analyses belonging to the same SARIF upload. */ + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property by which to sort the results. */ + sort?: "created"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-analysis"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-analysis": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-analysis"]; + "application/json+sarif": { + [key: string]: unknown; + }; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List review comments on a pull request - * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. - */ - "pulls/list-review-comments": { - parameters: { - query?: { - sort?: components["parameters"]["sort"]; - /** @description The direction to sort results. Ignored without `sort` parameter. */ - direction?: "asc" | "desc"; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; + "code-scanning/delete-analysis": { + parameters: { + query?: { + /** @description Allow deletion if the specified analysis is the last in a set. If you attempt to delete the final analysis in a set without setting this parameter to `true`, you'll get a 400 response with the message: `Analysis is last of its type and deletion may result in the loss of historical alert data. Please specify confirm_delete.` */ + confirm_delete?: string | null; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the analysis, as returned from the `GET /repos/{owner}/{repo}/code-scanning/analyses` operation. */ + analysis_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-analysis-deletion"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/list-codeql-databases": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"][]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-codeql-database": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The language of the CodeQL database. */ + language: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-codeql-database"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-default-setup": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-default-setup"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/update-default-setup": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-default-setup-update-response"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["code_scanning_conflict"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/upload-sarif": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + ref: components["schemas"]["code-scanning-ref"]; + sarif: components["schemas"]["code-scanning-analysis-sarif-file"]; + /** + * Format: uri + * @description The base directory used in the analysis, as it appears in the SARIF file. + * This property is used to convert file paths from absolute to relative, so that alerts can be mapped to their correct location in the repository. + * @example file:///github/workspace/ + */ + checkout_uri?: string; + /** + * Format: date-time + * @description The time that the analysis run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + started_at?: string; + /** @description The name of the tool used to generate the code scanning analysis. If this parameter is not used, the tool name defaults to "API". If the uploaded SARIF contains a tool GUID, this will be available for filtering using the `tool_guid` parameter of operations such as `GET /repos/{owner}/{repo}/code-scanning/alerts`. */ + tool_name?: string; + /** @description Whether the SARIF file will be validated according to the code scanning specifications. + * This parameter is intended to help integrators ensure that the uploaded SARIF files are correctly rendered by code scanning. */ + validate?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-sarifs-receipt"]; + }; + }; + /** @description Bad Request if the sarif field is invalid */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["code_scanning_forbidden_write"]; + 404: components["responses"]["not_found"]; + /** @description Payload Too Large if the sarif field is too large */ + 413: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "code-scanning/get-sarif": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SARIF ID obtained after uploading. */ + sarif_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-scanning-sarifs-status"]; + }; + }; + 403: components["responses"]["code_scanning_forbidden_read"]; + /** @description Not Found if the sarif id does not match any upload */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"][]; - }; - }; - }; - }; - /** - * Create a review comment for a pull request - * @description - * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff. - * - * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required. - * - * **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/create-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The text of the review comment. */ - body: string; - /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ - commit_id: string; - /** @description The relative path to the file that necessitates a comment. */ - path: string; - /** - * @deprecated - * @description **This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. - */ - position?: number; - /** - * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. - * @enum {string} - */ - side?: "LEFT" | "RIGHT"; - /** @description **Required unless using `subject_type:file`**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ - line?: number; - /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ - start_line?: number; - /** - * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. - * @enum {string} - */ - start_side?: "LEFT" | "RIGHT" | "side"; - /** - * @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. - * @example 2 - */ - in_reply_to?: number; - /** - * @description The level at which the comment is targeted. - * @enum {string} - */ - subject_type?: "line" | "file"; - }; - }; + "repos/codeowners-errors": { + parameters: { + query?: { + /** @description A branch, tag or commit name used to determine which version of the CODEOWNERS file to use. Default: the repository's default branch (e.g. `main`) */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codeowners-errors"]; + }; + }; + /** @description Resource not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a reply for a review comment - * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/create-reply-for-review-comment": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - comment_id: components["parameters"]["comment-id"]; - }; + "codespaces/list-in-repository-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/create-with-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-devcontainers-in-repository-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + devcontainers: { + path: string; + name?: string; + display_name?: string; + }[]; + }; + }; + }; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/repo-machines-for-authenticated-user": { + parameters: { + query?: { + /** @description The location to check for available machines. Assigned by IP if not provided. */ + location?: string; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description The branch or commit to check for prebuild availability and devcontainer restrictions. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/pre-flight-with-repo-for-authenticated-user": { + parameters: { + query?: { + /** @description The branch or commit to check for a default devcontainer path. If not specified, the default branch will be checked. */ + ref?: string; + /** @description An alternative IP for default location auto-detection, such as when proxying a request. */ + client_ip?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when a user is able to create codespaces from the repository. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + billable_owner?: components["schemas"]["simple-user"]; + defaults?: { + location: string; + devcontainer_path: string | null; + }; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/check-permissions-for-devcontainer": { + parameters: { + query: { + /** @description The git reference that points to the location of the devcontainer configuration to use for the permission check. The value of `ref` will typically be a branch name (`heads/BRANCH_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: string; + /** @description Path to the devcontainer.json configuration to use for the permission check. */ + devcontainer_path: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response when the permission check is successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-permissions-check-for-devcontainer"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["repo-codespaces-secret"][]; + }; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The text of the review comment. */ - body: string; + "codespaces/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-public-key"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["pull-request-review-comment"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List commits on a pull request - * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. - */ - "pulls/list-commits": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; + "codespaces/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repo-codespaces-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["commit"][]; - }; - }; - }; - }; - /** - * List pull requests files - * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. - */ - "pulls/list-files": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; + "codespaces/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/codespaces/repository-secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["diff-entry"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Check if a pull request has been merged - * @description Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty. - */ - "pulls/check-if-merged": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; + "codespaces/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response if pull request has been merged */ - 204: { - content: never; - }; - /** @description Not Found if pull request has not been merged */ - 404: { - content: never; - }; - }; - }; - /** - * Merge a pull request - * @description Merges a pull request into the base branch. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/merge": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": ({ - /** @description Title for the automatic commit message. */ - commit_title?: string; - /** @description Extra detail to append to automatic commit message. */ - commit_message?: string; - /** @description SHA that pull request head must match to allow merge. */ - sha?: string; - /** - * @description The merge method to use. - * @enum {string} - */ - merge_method?: "merge" | "squash" | "rebase"; - }) | null; - }; + "repos/list-collaborators": { + parameters: { + query?: { + /** @description Filter collaborators returned by their affiliation. `outside` means all outside collaborators of an organization-owned repository. `direct` means all collaborators with permissions to an organization-owned repository, regardless of organization membership status. `all` means all collaborators the authenticated user can see. */ + affiliation?: "outside" | "direct" | "all"; + /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ + permission?: "pull" | "triage" | "push" | "maintain" | "admin"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["collaborator"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/check-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if user is a collaborator */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if user is not a collaborator */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description if merge was successful */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-merge-result"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Method Not Allowed if merge cannot be performed */ - 405: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + "repos/add-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the collaborator. **Only valid on organization-owned repositories.** We accept the following permissions to be set: `pull`, `triage`, `push`, `maintain`, `admin` and you can also specify a custom repository role name, if the owning organization has defined any. + * @default push + */ + permission: string; + }; + }; }; - }; - /** @description Conflict if sha was provided and pull request head did not match */ - 409: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; + responses: { + /** @description Response when a new invitation is created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + /** @description Response when: + * - an existing collaborator is added as a collaborator + * - an organization member is added as an individual collaborator + * - an existing team member (whose team is also a repository collaborator) is added as an individual collaborator */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/remove-collaborator": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when collaborator was removed from the repository. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-collaborator-permission-level": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if user has admin permissions */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-collaborator-permission"]; + }; + }; + 404: components["responses"]["not_found"]; }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get all requested reviewers for a pull request - * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. - */ - "pulls/list-requested-reviewers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review-request"]; - }; - }; - }; - }; - /** - * Request reviewers for a pull request - * @description Requests reviews for a pull request from a given set of users and/or teams. - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "pulls/request-reviewers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description An array of user `login`s that will be requested. */ - reviewers?: string[]; - /** @description An array of team `slug`s that will be requested. */ - team_reviewers?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["pull-request-simple"]; - }; - }; - 403: components["responses"]["forbidden"]; - /** @description Unprocessable Entity if user is not a collaborator */ - 422: { - content: never; - }; - }; - }; - /** - * Remove requested reviewers from a pull request - * @description Removes review requests from a pull request for a given set of users and/or teams. - */ - "pulls/remove-requested-reviewers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description An array of user `login`s that will be removed. */ - reviewers: string[]; - /** @description An array of team `slug`s that will be removed. */ - team_reviewers?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-simple"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List reviews for a pull request - * @description The list of reviews returns in chronological order. - */ - "pulls/list-reviews": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; }; - responses: { - /** @description The list of reviews returns in chronological order. */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["pull-request-review"][]; - }; - }; - }; - }; - /** - * Create a review for a pull request - * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - * - * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)." - * - * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint. - * - * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. - */ - "pulls/create-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ - commit_id?: string; - /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ - body?: string; - /** - * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request) when you are ready. - * @enum {string} - */ - event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; - /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ - comments?: { - /** @description The relative path to the file that necessitates a review comment. */ - path: string; - /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ - position?: number; - /** @description Text of the review comment. */ - body: string; - /** @example 28 */ - line?: number; - /** @example RIGHT */ - side?: string; - /** @example 26 */ - start_line?: number; - /** @example LEFT */ - start_side?: string; - }[]; + "repos/list-commit-comments-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get a review for a pull request - * @description Retrieves a pull request review by its ID. - */ - "pulls/get-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; + "repos/get-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/list-for-commit-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a commit comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the commit comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a review for a pull request - * @description Update the review summary comment with new text. - */ - "pulls/update-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; + "repos/list-commits": { + parameters: { + query?: { + /** @description SHA or branch to start listing commits from. Default: the repository’s default branch (usually `main`). */ + sha?: string; + /** @description Only commits containing this file path will be returned. */ + path?: string; + /** @description GitHub username or email address to use to filter by commit author. */ + author?: string; + /** @description GitHub username or email address to use to filter by commit committer. */ + committer?: string; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description Only commits before this date will be returned. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + until?: string; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/list-branches-for-head-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["branch-short"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; }; - requestBody: { - content: { - "application/json": { - /** @description The body text of the pull request review. */ - body: string; + "repos/list-comments-for-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"][]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Delete a pending review for a pull request - * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. - */ - "pulls/delete-pending-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; + "repos/create-commit-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + /** @description Relative path of the file to comment on. */ + path?: string; + /** @description Line index in the diff to comment on. */ + position?: number; + /** @description **Deprecated**. Use **position** parameter instead. Line number in the file to comment on. */ + line?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List comments for a pull request review - * @description List comments for a specific pull request review. - */ - "pulls/list-comments-for-review": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; + "repos/list-pull-requests-associated-with-commit": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["review-comment"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Dismiss a review for a pull request - * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. - */ - "pulls/dismiss-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The message for the pull request review dismissal */ - message: string; - /** - * @example "DISMISS" - * @enum {string} - */ - event?: "DISMISS"; - }; - }; + "repos/get-commit": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "checks/list-for-ref": { + parameters: { + query?: { + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description Returns check runs with the specified `status`. */ + status?: components["parameters"]["status"]; + /** @description Filters check runs by their `completed_at` timestamp. `latest` returns the most recent check runs. */ + filter?: "latest" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + app_id?: number; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_runs: components["schemas"]["check-run"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Submit a review for a pull request - * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." - */ - "pulls/submit-review": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - review_id: components["parameters"]["review-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The body text of the pull request review */ - body?: string; - /** - * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. - * @enum {string} - */ - event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; - }; - }; + "checks/list-suites-for-ref": { + parameters: { + query?: { + /** + * @description Filters check suites by GitHub App `id`. + * @example 1 + */ + app_id?: number; + /** @description Returns check runs with the specified `name`. */ + check_name?: components["parameters"]["check-name"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + check_suites: components["schemas"]["check-suite"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["pull-request-review"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Update a pull request branch - * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. - */ - "pulls/update-branch": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - pull_number: components["parameters"]["pull-number"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/commits/commits#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ - expected_head_sha?: string; - } | null; - }; + "repos/get-combined-status-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-commit-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": { - message?: string; - url?: string; - }; - }; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository README - * @description Gets the preferred README for a repository. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - "repos/get-readme": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-commit-statuses-for-ref": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + }; + }; + "repos/get-community-profile-metrics": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["community-profile"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["content-file"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository README for a directory - * @description Gets the README from a repository directory. - * - * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. - */ - "repos/get-readme-in-directory": { - parameters: { - query?: { - /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ - ref?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The alternate path to look for a README file */ - dir: string; - }; + "repos/compare-commits": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The base branch and head branch to compare. This parameter expects the format `BASE...HEAD`. Both must be branch names in `repo`. To compare with a branch that exists in a different repository in the same network as `repo`, the `basehead` parameter expects the format `USERNAME:BASE...USERNAME:HEAD`. */ + basehead: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-comparison"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["content-file"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List releases - * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/repos/repos#list-repository-tags). - * - * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. - */ - "repos/list-releases": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/get-content": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/vnd.github.object": components["schemas"]["content-tree"]; + "application/json": components["schemas"]["content-directory"] | components["schemas"]["content-file"] | components["schemas"]["content-symlink"] | components["schemas"]["content-submodule"]; + }; + }; + 302: components["responses"]["found"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-or-update-file-contents": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The new file content, using Base64 encoding. */ + content: string; + /** @description **Required if you are updating a file**. The blob SHA of the file being replaced. */ + sha?: string; + /** @description The branch name. Default: the repository’s default branch. */ + branch?: string; + /** @description The person that committed the file. Default: the authenticated user. */ + committer?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-05T13:13:22+05:00" */ + date?: string; + }; + /** @description The author of the file. Default: The `committer` or the authenticated user if you omit `committer`. */ + author?: { + /** @description The name of the author or committer of the commit. You'll receive a `422` status code if `name` is omitted. */ + name: string; + /** @description The email of the author or committer of the commit. You'll receive a `422` status code if `email` is omitted. */ + email: string; + /** @example "2013-01-15T17:13:22+05:00" */ + date?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/delete-file": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description path parameter */ + path: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message. */ + message: string; + /** @description The blob SHA of the file being deleted. */ + sha: string; + /** @description The branch name. Default: the repository’s default branch */ + branch?: string; + /** @description object containing information about the committer. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + /** @description object containing information about the author. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "repos/list-contributors": { + parameters: { + query?: { + /** @description Set to `1` or `true` to include anonymous contributors in results. */ + anon?: string; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If repository contains content */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["contributor"][]; + }; + }; + /** @description Response if repository is empty */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/list-alerts-for-repo": { + parameters: { + query?: { + /** @description A comma-separated list of states. If specified, only alerts with these states will be returned. + * + * Can be: `auto_dismissed`, `dismissed`, `fixed`, `open` */ + state?: components["parameters"]["dependabot-alert-comma-separated-states"]; + /** @description A comma-separated list of severities. If specified, only alerts with these severities will be returned. + * + * Can be: `low`, `medium`, `high`, `critical` */ + severity?: components["parameters"]["dependabot-alert-comma-separated-severities"]; + /** @description A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. + * + * Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust` */ + ecosystem?: components["parameters"]["dependabot-alert-comma-separated-ecosystems"]; + /** @description A comma-separated list of package names. If specified, only alerts for these packages will be returned. */ + package?: components["parameters"]["dependabot-alert-comma-separated-packages"]; + /** @description A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned. */ + manifest?: components["parameters"]["dependabot-alert-comma-separated-manifests"]; + /** @description The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. */ + scope?: components["parameters"]["dependabot-alert-scope"]; + /** @description The property by which to sort the results. + * `created` means when the alert was created. + * `updated` means when the alert's state last changed. */ + sort?: components["parameters"]["dependabot-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** + * @deprecated + * @description **Deprecated**. Page number of the results to fetch. Use cursor-based pagination with `before` or `after` instead. + */ + page?: number; + /** + * @deprecated + * @description The number of results per page (max 100). + */ + per_page?: number; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the first matching result. + * This parameter must not be used in combination with `last`. + * Instead, use `per_page` in combination with `after` to fetch the first page of results. */ + first?: components["parameters"]["pagination-first"]; + /** @description **Deprecated**. The number of results per page (max 100), starting from the last matching result. + * This parameter must not be used in combination with `first`. + * Instead, use `per_page` in combination with `before` to fetch the last page of results. */ + last?: components["parameters"]["pagination-last"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/get-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependabot/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies a Dependabot alert in its repository. + * You can find this at the end of the URL for a Dependabot alert within GitHub, + * or in `number` fields in the response from the + * `GET /repos/{owner}/{repo}/dependabot/alerts` operation. */ + alert_number: components["parameters"]["dependabot-alert-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the Dependabot alert. + * A `dismissed_reason` must be provided when setting the state to `dismissed`. + * @enum {string} + */ + state: "dismissed" | "open"; + /** + * @description **Required when `state` is `dismissed`.** A reason for dismissing the alert. + * @enum {string} + */ + dismissed_reason?: "fix_started" | "inaccurate" | "no_bandwidth" | "not_used" | "tolerable_risk"; + /** @description An optional comment associated with dismissing the alert. */ + dismissed_comment?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-alert"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "dependabot/list-repo-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["dependabot-secret"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["release"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a release - * @description Users with push access to the repository can create a release. - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "repos/create-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the tag. */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ - target_commitish?: string; - /** @description The name of the release. */ - name?: string; - /** @description Text describing the contents of the tag. */ - body?: string; - /** - * @description `true` to create a draft (unpublished) release, `false` to create a published one. - * @default false - */ - draft?: boolean; - /** - * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. - * @default false - */ - prerelease?: boolean; - /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ - discussion_category_name?: string; - /** - * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. - * @default false - */ - generate_release_notes?: boolean; - /** - * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. - * @default true - * @enum {string} - */ - make_latest?: "true" | "false" | "legacy"; - }; - }; + "dependabot/get-repo-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-public-key"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Not Found if the discussion category name is invalid */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a release asset - * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. - */ - "repos/get-release-asset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - asset_id: components["parameters"]["asset-id"]; - }; + "dependabot/get-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependabot-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - 302: components["responses"]["found"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Delete a release asset */ - "repos/delete-release-asset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - asset_id: components["parameters"]["asset-id"]; - }; + "dependabot/create-or-update-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get a repository public key](https://docs.github.com/rest/dependabot/secrets#get-a-repository-public-key) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id?: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a release asset - * @description Users with push access to the repository can edit a release asset. - */ - "repos/update-release-asset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - asset_id: components["parameters"]["asset-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The file name of the asset. */ - name?: string; - /** @description An alternate short description of the asset. Used in place of the filename. */ - label?: string; - /** @example "uploaded" */ - state?: string; - }; - }; + "dependabot/delete-repo-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - }; - }; - /** - * Generate release notes content for a release - * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. - */ - "repos/generate-release-notes": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The tag name for the release. This can be an existing tag or a new one. */ - tag_name: string; - /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ - target_commitish?: string; - /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ - previous_tag_name?: string; - /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ - configuration_file_path?: string; - }; - }; + "dependency-graph/diff-range": { + parameters: { + query?: { + /** @description The full path, relative to the repository root, of the dependency manifest file. */ + name?: components["parameters"]["manifest-path"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ + basehead: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependency-graph-diff"]; + }; + }; + 403: components["responses"]["dependency_review_forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependency-graph/export-sbom": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dependency-graph-spdx-sbom"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "dependency-graph/create-repository-snapshot": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["snapshot"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description ID of the created snapshot. */ + id: number; + /** @description The time at which the snapshot was created. */ + created_at: string; + /** @description Either "SUCCESS", "ACCEPTED", or "INVALID". "SUCCESS" indicates that the snapshot was successfully created and the repository's dependencies were updated. "ACCEPTED" indicates that the snapshot was successfully created, but the repository's dependencies were not updated. "INVALID" indicates that the snapshot was malformed. */ + result: string; + /** @description A message providing further details about the result, such as why the dependencies were not updated. */ + message: string; + }; + }; + }; + }; }; - responses: { - /** @description Name and body of generated release notes */ - 200: { - content: { - "application/json": components["schemas"]["release-notes-content"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the latest release - * @description View the latest published full release for the repository. - * - * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. - */ - "repos/get-latest-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-deployments": { + parameters: { + query?: { + /** @description The SHA recorded at creation time. */ + sha?: string; + /** @description The name of the ref. This can be a branch, tag, or SHA. */ + ref?: string; + /** @description The name of the task for the deployment (e.g., `deploy` or `deploy:migrations`). */ + task?: string; + /** @description The name of the environment that was deployed to (e.g., `staging` or `production`). */ + environment?: string | null; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - }; - }; - /** - * Get a release by tag name - * @description Get a published release with the specified tag. - */ - "repos/get-release-by-tag": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description tag parameter */ - tag: string; - }; + "repos/create-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The ref to deploy. This can be a branch, tag, or SHA. */ + ref: string; + /** + * @description Specifies a task to execute (e.g., `deploy` or `deploy:migrations`). + * @default deploy + */ + task: string; + /** + * @description Attempts to automatically merge the default branch into the requested ref, if it's behind the default branch. + * @default true + */ + auto_merge: boolean; + /** @description The [status](https://docs.github.com/rest/commits/statuses) contexts to verify against commit status checks. If you omit this parameter, GitHub verifies all unique contexts before creating a deployment. To bypass checking entirely, pass an empty array. Defaults to all unique contexts. */ + required_contexts?: string[]; + payload?: { + [key: string]: unknown; + } | string; + /** + * @description Name for the target deployment environment (e.g., `production`, `staging`, `qa`). + * @default production + */ + environment: string; + /** + * @description Short description of the deployment. + * @default + */ + description: string | null; + /** + * @description Specifies if the given environment is specific to the deployment and will no longer exist at some point in the future. Default: `false` + * @default false + */ + transient_environment: boolean; + /** @description Specifies if the given environment is one that end-users directly interact with. Default: `true` when `environment` is `production` and `false` otherwise. */ + production_environment?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + /** @description Merged branch response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + }; + }; + }; + /** @description Conflict when there is a merge conflict or the commit's status checks failed */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a release - * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). - */ - "repos/get-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; + "repos/list-deployment-statuses": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-deployment-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. When you set a transient deployment to `inactive`, the deployment will be shown as `destroyed` in GitHub. + * @enum {string} + */ + state: "error" | "failure" | "inactive" | "in_progress" | "queued" | "pending" | "success"; + /** + * @description The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment. **Note:** It's recommended to use the `log_url` parameter, which replaces `target_url`. + * @default + */ + target_url: string; + /** + * @description The full URL of the deployment's output. This parameter replaces `target_url`. We will continue to accept `target_url` to support legacy uses, but we recommend replacing `target_url` with `log_url`. Setting `log_url` will automatically set `target_url` to the same value. Default: `""` + * @default + */ + log_url: string; + /** + * @description A short description of the status. The maximum description length is 140 characters. + * @default + */ + description: string; + /** @description Name for the target deployment environment, which can be changed when setting a deploy status. For example, `production`, `staging`, or `qa`. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used. */ + environment?: string; + /** + * @description Sets the URL for accessing your environment. Default: `""` + * @default + */ + environment_url: string; + /** @description Adds a new `inactive` status to all prior non-transient, non-production environment deployments with the same repository and `environment` name as the created status's deployment. An `inactive` status is only added to deployments that had a `success` state. Default: `true` */ + auto_inactive?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/deployments/42/statuses/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deployment-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description deployment_id parameter */ + deployment_id: components["parameters"]["deployment-id"]; + status_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-status"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-dispatch-event": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A custom webhook event name. Must be 100 characters or fewer. */ + event_type: string; + /** @description JSON payload with extra information about the webhook event that your action or workflow may use. The maximum number of top-level properties is 10. */ + client_payload?: { + [key: string]: unknown; + }; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Unauthorized */ - 401: { - content: never; - }; - }; - }; - /** - * Delete a release - * @description Users with push access to the repository can delete a release. - */ - "repos/delete-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; + "repos/get-all-environments": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The number of environments in this repository + * @example 5 + */ + total_count?: number; + environments?: components["schemas"]["environment"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a release - * @description Users with push access to the repository can edit a release. - */ - "repos/update-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description The name of the tag. */ - tag_name?: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ - target_commitish?: string; - /** @description The name of the release. */ - name?: string; - /** @description Text describing the contents of the tag. */ - body?: string; - /** @description `true` makes the release a draft, and `false` publishes the release. */ - draft?: boolean; - /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ - prerelease?: boolean; - /** - * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. - * @default true - * @enum {string} - */ - make_latest?: "true" | "false" | "legacy"; - /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ - discussion_category_name?: string; - }; - }; + "repos/get-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["release"]; - }; - }; - /** @description Not Found if the discussion category name is invalid */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** List release assets */ - "repos/list-release-assets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; + "repos/create-or-update-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + wait_timer?: components["schemas"]["wait-timer"]; + /** @description The people or teams that may review jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */ + reviewers?: { + type?: components["schemas"]["deployment-reviewer-type"]; + /** + * @description The id of the user or team who can review the deployment + * @example 4532992 + */ + id?: number; + }[] | null; + deployment_branch_policy?: components["schemas"]["deployment-branch-policy-settings"]; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["environment"]; + }; + }; + /** @description Validation error when the environment name is invalid or when `protected_branches` and `custom_branch_policies` in `deployment_branch_policy` are set to the same value */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["release-asset"][]; - }; - }; - }; - }; - /** - * Upload a release asset - * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in - * the response of the [Create a release endpoint](https://docs.github.com/rest/releases/releases#create-a-release) to upload a release asset. - * - * You need to use an HTTP client which supports [SNI](http://en.wikipedia.org/wiki/Server_Name_Indication) to make calls to this endpoint. - * - * Most libraries will set the required `Content-Length` header automatically. Use the required `Content-Type` header to provide the media type of the asset. For a list of media types, see [Media Types](https://www.iana.org/assignments/media-types/media-types.xhtml). For example: - * - * `application/zip` - * - * GitHub expects the asset data in its raw binary form, rather than JSON. You will send the raw binary content of the asset as the request body. Everything else about the endpoint is the same as the rest of the API. For example, - * you'll still need to pass your authentication to be able to upload an asset. - * - * When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted. - * - * **Notes:** - * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List release assets](https://docs.github.com/rest/releases/assets#list-release-assets)" - * endpoint lists the renamed filenames. For more information and help, contact [GitHub Support](https://support.github.com/contact?tags=dotcom-rest-api). - * * To find the `release_id` query the [`GET /repos/{owner}/{repo}/releases/latest` endpoint](https://docs.github.com/rest/releases/releases#get-the-latest-release). - * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. - */ - "repos/upload-release-asset": { - parameters: { - query: { - name: string; - label?: string; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - requestBody?: { - content: { - "application/octet-stream": string; - }; + "repos/delete-an-environment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response for successful upload */ - 201: { - content: { - "application/json": components["schemas"]["release-asset"]; - }; - }; - /** @description Response if you upload an asset with the same filename as another uploaded asset */ - 422: { - content: never; - }; - }; - }; - /** - * List reactions for a release - * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - "reactions/list-for-release": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a release. */ - content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; + "repos/list-deployment-branch-policies": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The number of deployment branch policies for the environment. + * @example 2 + */ + total_count: number; + branch_policies: components["schemas"]["deployment-branch-policy"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create reaction for a release - * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. - */ - "reactions/create-for-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the release. - * @enum {string} - */ - content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; + "repos/create-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern-with-type"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + /** @description Response if the same branch name pattern already exists */ + 303: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found or `deployment_branch_policy.custom_branch_policies` property for the environment is set to false */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Reaction exists */ - 200: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - /** @description Reaction created */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a release reaction - * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. - * - * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). - */ - "reactions/delete-for-release": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - release_id: components["parameters"]["release-id"]; - reaction_id: components["parameters"]["reaction-id"]; - }; + "repos/get-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Get rules for a branch - * @description Returns all active rules that apply to the specified branch. The branch does not need to exist; rules that would apply - * to a branch with that name will be returned. All active rules that apply will be returned, regardless of the level - * at which they are configured (e.g. repository or organization). Rules in rulesets with "evaluate" or "disabled" - * enforcement statuses are not returned. - */ - "repos/get-branch-rules": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - branch: components["parameters"]["branch"]; - }; + "repos/update-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["deployment-branch-policy-name-pattern"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-branch-policy"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-rule-detailed"][]; - }; - }; - }; - }; - /** - * Get all repository rulesets - * @description Get all the rulesets for a repository. - */ - "repos/get-repo-rulesets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - /** @description Include rulesets configured at higher levels that apply to this repository */ - includes_parents?: boolean; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/delete-deployment-branch-policy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the branch policy. */ + branch_policy_id: components["parameters"]["branch-policy-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"][]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a repository ruleset - * @description Create a ruleset for a repository. - */ - "repos/create-repo-ruleset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - /** @description Request body */ - requestBody: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["repository-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; + "repos/get-all-deployment-protection-rules": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of deployment protection rules */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The number of enabled custom deployment protection rules for this environment + * @example 10 + */ + total_count?: number; + custom_deployment_protection_rules?: components["schemas"]["deployment-protection-rule"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get a repository ruleset - * @description Get a ruleset for a repository. - */ - "repos/get-repo-ruleset": { - parameters: { - query?: { - /** @description Include rulesets configured at higher levels that apply to this repository */ - includes_parents?: boolean; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; + "repos/create-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The ID of the custom app that will be enabled on the environment. */ + integration_id?: number; + }; + }; + }; + responses: { + /** @description The enabled custom deployment protection rule */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update a repository ruleset - * @description Update a ruleset for a repository. - */ - "repos/update-repo-ruleset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; - }; - /** @description Request body */ - requestBody?: { - content: { - "application/json": { - /** @description The name of the ruleset. */ - name?: string; - /** - * @description The target of the ruleset. - * @enum {string} - */ - target?: "branch" | "tag"; - enforcement?: components["schemas"]["repository-rule-enforcement"]; - /** @description The actors that can bypass the rules in this ruleset */ - bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; - conditions?: components["schemas"]["repository-ruleset-conditions"]; - /** @description An array of rules within the ruleset. */ - rules?: components["schemas"]["repository-rule"][]; - }; - }; + "repos/list-custom-deployment-rule-integrations": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A list of custom deployment rule integrations available for this environment. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** + * @description The total number of custom deployment protection rule integrations available for this environment. + * @example 35 + */ + total_count?: number; + available_custom_deployment_protection_rule_integrations?: components["schemas"]["custom-deployment-rule-app"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-ruleset"]; - }; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete a repository ruleset - * @description Delete a ruleset for a repository. - */ - "repos/delete-repo-ruleset": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - /** @description The ID of the ruleset. */ - ruleset_id: number; - }; + "repos/get-custom-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The unique identifier of the protection rule. */ + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deployment-protection-rule"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * List secret scanning alerts for a repository - * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-alerts-for-repo": { - parameters: { - query?: { - state?: components["parameters"]["secret-scanning-alert-state"]; - secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; - resolution?: components["parameters"]["secret-scanning-alert-resolution"]; - sort?: components["parameters"]["secret-scanning-alert-sort"]; - direction?: components["parameters"]["direction"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; - after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/disable-deployment-protection-rule": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The unique identifier of the protection rule. */ + protection_rule_id: components["parameters"]["protection-rule-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"][]; - }; - }; - /** @description Repository is public or secret scanning is disabled for the repository */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a secret scanning alert - * @description Gets a single secret scanning alert detected in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/get-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "activity/list-repo-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"]; - }; - }; - 304: components["responses"]["not_modified"]; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Update a secret scanning alert - * @description Updates the status of a secret scanning alert in an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. - */ - "secret-scanning/update-alert": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; + "repos/list-forks": { + parameters: { + query?: { + /** @description The sort order. `stargazers` will sort by star count. */ + sort?: "newest" | "oldest" | "stargazers" | "watchers"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 400: components["responses"]["bad_request"]; + }; + }; + "repos/create-fork": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Optional parameter to specify the organization name if forking into an organization. */ + organization?: string; + /** @description When forking from an existing repository, a new name for the fork. */ + name?: string; + /** @description When forking from an existing repository, fork with only the default branch. */ + default_branch_only?: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["full-repository"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/create-blob": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The new blob's content. */ + content: string; + /** + * @description The encoding used for `content`. Currently, `"utf-8"` and `"base64"` are supported. + * @default utf-8 + */ + encoding: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["short-blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-blob": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + file_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["blob"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/create-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The commit message */ + message: string; + /** @description The SHA of the tree object this commit points to */ + tree: string; + /** @description The SHAs of the commits that were the parents of this commit. If omitted or empty, the commit will be written as a root commit. For a single parent, an array of one SHA should be provided; for a merge commit, an array of more than one should be provided. */ + parents?: string[]; + /** @description Information about the author of the commit. By default, the `author` will be the authenticated user and the current date. See the `author` and `committer` object below for details. */ + author?: { + /** @description The name of the author (or committer) of the commit */ + name: string; + /** @description The email of the author (or committer) of the commit */ + email: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description Information about the person who is making the commit. By default, `committer` will use the information set in `author`. See the `author` and `committer` object below for details. */ + committer?: { + /** @description The name of the author (or committer) of the commit */ + name?: string; + /** @description The email of the author (or committer) of the commit */ + email?: string; + /** + * Format: date-time + * @description Indicates when this commit was authored (or committed). This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + /** @description The [PGP signature](https://en.wikipedia.org/wiki/Pretty_Good_Privacy) of the commit. GitHub adds the signature to the `gpgsig` header of the created commit. For a commit signature to be verifiable by Git or GitHub, it must be an ASCII-armored detached PGP signature over the string commit as it would be written to the object database. To pass a `signature` parameter, you need to first manually create a valid PGP signature, which can be complicated. You may find it easier to [use the command line](https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work) to create signed commits. */ + signature?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/commits/7638417db6d59f3c431d3e1f261cc637155684cd */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-commit": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA of the commit. */ + commit_sha: components["parameters"]["commit-sha"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-commit"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "git/list-matching-refs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"][]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - state: components["schemas"]["secret-scanning-alert-state"]; - resolution?: components["schemas"]["secret-scanning-alert-resolution"]; - resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; + "git/get-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "git/create-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the fully qualified reference (ie: `refs/heads/master`). If it doesn't start with 'refs' and have at least two slashes, it will be rejected. */ + ref: string; + /** @description The SHA1 value for this reference. */ + sha: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/refs/heads/featureA */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/delete-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The commit reference. Can be a commit SHA, branch name (`heads/BRANCH_NAME`), or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. */ + ref: components["parameters"]["commit-ref"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/update-ref": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** + * @description The name of the reference to update (for example, `heads/featureA`). Can be a branch name (`heads/BRANCH_NAME`) or tag name (`tags/TAG_NAME`). For more information, see "[Git References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" in the Git documentation. + * @example heads/featureA + */ + ref: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The SHA1 value to set this reference to */ + sha: string; + /** + * @description Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to `false` will make sure you're not overwriting work. + * @default false + */ + force: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-ref"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/create-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag's name. This is typically a version (e.g., "v0.0.1"). */ + tag: string; + /** @description The tag message. */ + message: string; + /** @description The SHA of the git object this is tagging. */ + object: string; + /** + * @description The type of the object we're tagging. Normally this is a `commit` but it can also be a `tree` or a `blob`. + * @enum {string} + */ + type: "commit" | "tree" | "blob"; + /** @description An object with information about the individual creating the tag. */ + tagger?: { + /** @description The name of the author of the tag */ + name: string; + /** @description The email of the author of the tag */ + email: string; + /** + * Format: date-time + * @description When this object was tagged. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + date?: string; + }; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "git/get-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + tag_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tag"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "git/create-tree": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Objects (of `path`, `mode`, `type`, and `sha`) specifying a tree structure. */ + tree: { + /** @description The file referenced in the tree. */ + path?: string; + /** + * @description The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. + * @enum {string} + */ + mode?: "100644" | "100755" | "040000" | "160000" | "120000"; + /** + * @description Either `blob`, `tree`, or `commit`. + * @enum {string} + */ + type?: "blob" | "tree" | "commit"; + /** @description The SHA1 checksum ID of the object in the tree. Also called `tree.sha`. If the value is `null` then the file will be deleted. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. */ + sha?: string | null; + /** @description The content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or `tree.sha`. + * + * **Note:** Use either `tree.sha` or `content` to specify the contents of the entry. Using both `tree.sha` and `content` will return an error. */ + content?: string; + }[]; + /** @description The SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by `base_tree` and entries defined in the `tree` parameter. Entries defined in the `tree` parameter will overwrite items from `base_tree` with the same `path`. If you're creating new changes on a branch, then normally you'd set `base_tree` to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. + * If not provided, GitHub will create a new Git tree object from only the entries defined in the `tree` parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the `tree` parameter will be listed as deleted by the new commit. + * */ + base_tree?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["secret-scanning-alert"]; - }; - }; - /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ - 400: { - content: never; - }; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - content: never; - }; - /** @description State does not match the resolution or resolution comment */ - 422: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List locations for a secret scanning alert - * @description Lists all locations for a given secret scanning alert for an eligible repository. - * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - * For public repositories, you may instead use the `public_repo` scope. - * - * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. - */ - "secret-scanning/list-locations-for-alert": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - alert_number: components["parameters"]["alert-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["secret-scanning-location"][]; - }; - }; - /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ - 404: { - content: never; - }; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List repository security advisories - * @description Lists security advisories in a repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to. - * - * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. - */ - "security-advisories/list-repository-advisories": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "published"; - before?: components["parameters"]["pagination-before"]; - after?: components["parameters"]["pagination-after"]; - /** @description Number of advisories to return per page. */ - per_page?: number; - /** @description Filter by state of the repository advisories. Only advisories of this state will be returned. */ - state?: "triage" | "draft" | "published" | "closed"; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"][]; - }; - }; - 400: components["responses"]["bad_request"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a repository security advisory - * @description Creates a new repository security advisory. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. - */ - "security-advisories/create-repository-advisory": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": components["schemas"]["repository-advisory-create"]; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Privately report a security vulnerability - * @description Report a security vulnerability to the maintainers of the repository. - * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. - */ - "security-advisories/create-private-vulnerability-report": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "git/get-tree": { + parameters: { + query?: { + /** @description Setting this parameter to any value returns the objects or subtrees referenced by the tree specified in `:tree_sha`. For example, setting `recursive` to any of the following will enable returning objects or subtrees: `0`, `1`, `"true"`, and `"false"`. Omit this parameter to prevent recursively returning objects or subtrees. */ + recursive?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The SHA1 value or ref (branch or tag) name of the tree. */ + tree_sha: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["git-tree"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["private-vulnerability-report-create"]; - }; + "repos/list-webhooks": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Use `web` to create a webhook. Default: `web`. This parameter only accepts the value `web`. */ + name?: string; + /** @description Key/value pairs to provide settings for this webhook. */ + config?: { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "abc" */ + token?: string; + /** @example "sha256" */ + digest?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. + * @default [ + * "push" + * ] + */ + events: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active: boolean; + } | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/hooks/12345678 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Key/value pairs to provide settings for this webhook. */ + config?: { + url: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + /** @example "bar@example.com" */ + address?: string; + /** @example "The Serious Room" */ + room?: string; + }; + /** + * @description Determines what [events](https://docs.github.com/webhooks/event-payloads) the hook is triggered for. This replaces the entire array of events. + * @default [ + * "push" + * ] + */ + events: string[]; + /** @description Determines a list of events to be added to the list of events that the Hook triggers for. */ + add_events?: string[]; + /** @description Determines a list of events to be removed from the list of events that the Hook triggers for. */ + remove_events?: string[]; + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ + active: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook-config-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a repository security advisory - * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You can access any published security advisory on a public repository. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission - * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to. - * - * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a - * collaborator on the security advisory. - */ - "security-advisories/get-repository-advisory": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ghsa_id: components["parameters"]["ghsa_id"]; - }; + "repos/update-webhook-config-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + url?: components["schemas"]["webhook-config-url"]; + content_type?: components["schemas"]["webhook-config-content-type"]; + secret?: components["schemas"]["webhook-config-secret"]; + insecure_ssl?: components["schemas"]["webhook-config-insecure-ssl"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook-config"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update a repository security advisory - * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to update any security advisory, you must be a security manager or administrator of that repository, - * or a collaborator on the repository security advisory. - */ - "security-advisories/update-repository-advisory": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ghsa_id: components["parameters"]["ghsa_id"]; - }; + "repos/list-webhook-deliveries": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */ + cursor?: components["parameters"]["cursor"]; + redelivery?: boolean; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery-item"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hook-delivery"]; + }; + }; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/redeliver-webhook-delivery": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + delivery_id: components["parameters"]["delivery-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/ping-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/test-push-webhook": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the hook. You can find this value in the `X-GitHub-Hook-ID` header of a webhook delivery. */ + hook_id: components["parameters"]["hook-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/get-import-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/start-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The URL of the originating repository. */ + vcs_url: string; + /** + * @description The originating VCS type. Without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. + * @enum {string} + */ + vcs?: "subversion" | "git" | "mercurial" | "tfvc"; + /** @description If authentication is required, the username to provide to `vcs_url`. */ + vcs_username?: string; + /** @description If authentication is required, the password to provide to `vcs_url`. */ + vcs_password?: string; + /** @description For a tfvc import, the name of the project that is being imported. */ + tfvc_project?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/spraints/socm/import */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/cancel-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/update-import": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The username to provide to the originating repository. */ + vcs_username?: string; + /** @description The password to provide to the originating repository. */ + vcs_password?: string; + /** + * @description The type of version control system you are migrating from. + * @example "git" + * @enum {string} + */ + vcs?: "subversion" | "tfvc" | "git" | "mercurial"; + /** + * @description For a tfvc import, the name of the project that is being imported. + * @example "project1" + */ + tfvc_project?: string; + } | null; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; }; - requestBody: { - content: { - "application/json": components["schemas"]["repository-advisory-update"]; - }; + "migrations/get-commit-authors": { + parameters: { + query?: { + /** @description A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-author"][]; + }; + }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/map-commit-author": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + author_id: number; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new Git author email. */ + email?: string; + /** @description The new Git author name. */ + name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-author"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/get-large-files": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["porter-large-file"][]; + }; + }; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "migrations/set-lfs-preference": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Whether to store large files during the import. `opt_in` means large files will be stored using Git LFS. `opt_out` means large files will be removed during the import. + * @enum {string} + */ + use_lfs: "opt_in" | "opt_out"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["import"]; + }; + }; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["porter_maintenance"]; + }; + }; + "apps/get-repo-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + }; + }; + "interactions/get-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-advisory"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - content: { - "application/json": components["schemas"]["validation-error"]; - }; - }; - }; - }; - /** - * Request a CVE for a repository security advisory - * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." - * - * You may request a CVE for public repositories, but cannot do so for private repositories. - * - * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint. - * - * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository. - */ - "security-advisories/create-repository-advisory-cve-request": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ghsa_id: components["parameters"]["ghsa_id"]; - }; + "interactions/set-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + /** @description Response */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - 202: components["responses"]["accepted"]; - 400: components["responses"]["bad_request"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List stargazers - * @description Lists the people that have starred the repository. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - "activity/list-stargazers-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "interactions/remove-restrictions-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][] | components["schemas"]["stargazer"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get the weekly commit activity - * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. - */ - "repos/get-code-frequency-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-invitations": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + }; }; - responses: { - /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ - 200: { - content: { - "application/json": components["schemas"]["code-frequency-stat"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Get the last year of commit activity - * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. - */ - "repos/get-commit-activity-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/delete-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["commit-activity"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Get all contributor commit activity - * @description - * Returns the `total` number of commits authored by the contributor. In addition, the response includes a Weekly Hash (`weeks` array) with the following information: - * - * * `w` - Start of the week, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). - * * `a` - Number of additions - * * `d` - Number of deletions - * * `c` - Number of commits - */ - "repos/get-contributors-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/update-invitation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permissions that the associated user will have on the repository. Valid values are `read`, `write`, `maintain`, `triage`, and `admin`. + * @enum {string} + */ + permissions?: "read" | "write" | "maintain" | "triage" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["contributor-activity"][]; - }; - }; - 202: components["responses"]["accepted"]; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Get the weekly commit count - * @description Returns the total commit counts for the `owner` and total commit counts in `all`. `all` is everyone combined, including the `owner` in the last 52 weeks. If you'd like to get the commit counts for non-owners, you can subtract `owner` from `all`. - * - * The array order is oldest week (index 0) to most recent week. - * - * The most recent week is seven days ago at UTC midnight to today at UTC midnight. - */ - "repos/get-participation-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/list-for-repo": { + parameters: { + query?: { + /** @description If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned. */ + milestone?: string; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user. */ + assignee?: string; + /** @description The user that created the issue. */ + creator?: string; + /** @description A user that's mentioned in the issue. */ + mentioned?: string; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the issue. */ + title: string | number; + /** @description The contents of the issue. */ + body?: string; + /** @description Login for the user that this issue should be assigned to. _NOTE: Only users with push access can set the assignee for new issues. The assignee is silently dropped otherwise. **This field is deprecated.**_ */ + assignee?: string | null; + milestone?: (string | number) | null; + /** @description Labels to associate with this issue. _NOTE: Only users with push access can set labels for new issues. Labels are silently dropped otherwise._ */ + labels?: (string | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + })[]; + /** @description Logins for Users to assign to this issue. _NOTE: Only users with push access can set assignees for new issues. Assignees are silently dropped otherwise._ */ + assignees?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/1347 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "issues/list-comments-for-repo": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description Either `asc` or `desc`. Ignored without the `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description The array order is oldest week (index 0) to most recent week. */ - 200: { - content: { - "application/json": components["schemas"]["participation-stats"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the hourly commit count for each day - * @description Each array contains the day number, hour number, and number of commits: - * - * * `0-6`: Sunday - Saturday - * * `0-23`: Hour of day - * * Number of commits - * - * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. - */ - "repos/get-punch-card-stats": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/update-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/list-for-issue-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-issue-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-issue-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ - 200: { - content: { - "application/json": components["schemas"]["code-frequency-stat"][]; - }; - }; - 204: components["responses"]["no_content"]; - }; - }; - /** - * Create a commit status - * @description Users with push access in a repository can create commit statuses for a given SHA. - * - * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. - */ - "repos/create-commit-status": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - sha: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The state of the status. - * @enum {string} - */ - state: "error" | "failure" | "pending" | "success"; - /** - * @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. - * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: - * `http://ci.example.com/user/repo/build/sha` - */ - target_url?: string | null; - /** @description A short description of the status. */ - description?: string | null; - /** - * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. - * @default default - */ - context?: string; - }; - }; + "issues/list-events-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-event": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + event_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the issue. */ + title?: (string | number) | null; + /** @description The contents of the issue. */ + body?: string | null; + /** @description Username to assign to this issue. **This field is deprecated.** */ + assignee?: string | null; + /** + * @description The open or closed state of the issue. + * @enum {string} + */ + state?: "open" | "closed"; + /** + * @description The reason for the state change. Ignored unless `state` is changed. + * @example not_planned + * @enum {string|null} + */ + state_reason?: "completed" | "not_planned" | "reopened"; + milestone?: (string | number) | null; + /** @description Labels to associate with this issue. Pass one or more labels to _replace_ the set of labels on this issue. Send an empty array (`[]`) to clear all labels from the issue. Only users with push access can set labels for issues. Without push access to the repository, label changes are silently dropped. */ + labels?: (string | { + id?: number; + name?: string; + description?: string | null; + color?: string | null; + })[]; + /** @description Usernames to assign to this issue. Pass one or more user logins to _replace_ the set of assignees on this issue. Send an empty array (`[]`) to clear all assignees from the issue. Only users with push access can set assignees for new issues. Without push access to the repository, assignee changes are silently dropped. */ + assignees?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "issues/add-assignees": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Usernames of people to assign this issue to. _NOTE: Only users with push access can add assignees to an issue. Assignees are silently ignored otherwise._ */ + assignees?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["status"]; - }; - }; - }; - }; - /** - * List watchers - * @description Lists the people watching the specified repository. - */ - "activity/list-watchers-for-repo": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/remove-assignees": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Usernames of assignees to remove from an issue. _NOTE: Only users with push access can remove assignees from an issue. Assignees are silently ignored otherwise._ */ + assignees?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * Get a repository subscription - * @description Gets information about whether the authenticated user is subscribed to the repository. - */ - "activity/get-repo-subscription": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/check-user-can-be-assigned-to-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + assignee: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if `assignee` can be assigned to `issue_number` */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Response if `assignee` can not be assigned to `issue_number` */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description if you subscribe to the repository */ - 200: { - content: { - "application/json": components["schemas"]["repository-subscription"]; - }; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found if you don't subscribe to the repository */ - 404: { - content: never; - }; - }; - }; - /** - * Set a repository subscription - * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. - */ - "activity/set-repo-subscription": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/list-comments": { + parameters: { + query?: { + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/create-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The contents of the comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/issues/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/list-events": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue-event-for-issue"][]; + }; + }; + 410: components["responses"]["gone"]; + }; }; - requestBody?: { - content: { - "application/json": { - /** @description Determines if notifications should be received from this repository. */ - subscribed?: boolean; - /** @description Determines if all notifications should be blocked from this repository. */ - ignored?: boolean; + "issues/list-labels-on-issue": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/set-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also add labels to the existing labels for an issue. For more information, see "[Add labels to an issue](https://docs.github.com/rest/issues/labels#add-labels-to-an-issue)." */ + labels?: string[]; + } | string[] | { + labels?: { + name: string; + }[]; + } | { + name: string; + }[] | string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/add-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The names of the labels to add to the issue's existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a `string` or an `array` of labels directly, but GitHub recommends passing an object with the `labels` key. You can also replace all of the labels for an issue. For more information, see "[Set labels for an issue](https://docs.github.com/rest/issues/labels#set-labels-for-an-issue)." */ + labels?: string[]; + } | string[] | { + labels?: { + name: string; + }[]; + } | { + name: string; + }[] | string; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/remove-all-labels": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/remove-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "issues/lock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The reason for locking the issue or pull request conversation. Lock will fail if you don't use one of these reasons: + * * `off-topic` + * * `too heated` + * * `resolved` + * * `spam` + * @enum {string} + */ + lock_reason?: "off-topic" | "too heated" | "resolved" | "spam"; + } | null; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/unlock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/list-for-issue": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to an issue. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; + }; + "reactions/create-for-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the issue. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-issue": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository-subscription"]; - }; - }; - }; - }; - /** - * Delete a repository subscription - * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). - */ - "activity/delete-repo-subscription": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/list-events-for-timeline": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the issue. */ + issue_number: components["parameters"]["issue-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["timeline-issue-events"][]; + }; + }; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** List repository tags */ - "repos/list-tags": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/list-deploy-keys": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["tag"][]; - }; - }; - }; - }; - /** - * List tag protection states for a repository - * @description This returns the tag protection states of a repository. - * - * This information is only available to repository administrators. - */ - "repos/list-tag-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/create-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the key. */ + title?: string; + /** @description The contents of the key. */ + key: string; + /** @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." */ + read_only?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/keys/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deploy-key"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-deploy-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["tag-protection"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a tag protection state for a repository - * @description This creates a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - "repos/create-tag-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/list-labels-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + name: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/labels/bug */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description An optional glob pattern to match against when enforcing tag protection. */ - pattern: string; + "issues/update-label": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + name: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing `:strawberry:` will render the emoji ![:strawberry:](https://github.githubassets.com/images/icons/emoji/unicode/1f353.png ":strawberry:"). For a full list of available emoji and codes, see "[Emoji cheat sheet](https://github.com/ikatyang/emoji-cheat-sheet)." */ + new_name?: string; + /** @description The [hexadecimal color code](http://www.color-hex.com/) for the label, without the leading `#`. */ + color?: string; + /** @description A short description of the label. Must be 100 characters or fewer. */ + description?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["tag-protection"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a tag protection state for a repository - * @description This deletes a tag protection state for a repository. - * This endpoint is only available to repository administrators. - */ - "repos/delete-tag-protection": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - tag_protection_id: components["parameters"]["tag-protection-id"]; - }; + "repos/list-languages": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["language"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download a repository archive (tar) - * @description Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * **Note**: For private repositories, these links are temporary and expire after five minutes. - */ - "repos/download-tarball-archive": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: string; - }; + "licenses/get-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["license-content"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * List repository teams - * @description Lists the teams that have access to the specified repository and that are also visible to the authenticated user. - * - * For a public repository, a team is listed only if that team added the public repository explicitly. - * - * Personal access tokens require the following scopes: - * * `public_repo` to call this endpoint on a public repository - * * `repo` to call this endpoint on a private repository (this scope also includes public repositories) - * - * This endpoint is not compatible with fine-grained personal access tokens. - */ - "repos/list-teams": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/merge-upstream": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the branch which should be updated to match upstream. */ + branch: string; + }; + }; + }; + responses: { + /** @description The branch has been successfully synced with the upstream repository */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["merged-upstream"]; + }; + }; + /** @description The branch could not be synced because of a merge conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description The branch could not be synced for some other reason */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "repos/merge": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the base branch that the head will be merged into. */ + base: string; + /** @description The head to merge. This can be a branch name or a commit SHA1. */ + head: string; + /** @description Commit message to use for the merge commit. If omitted, a default message will be used. */ + commit_message?: string; + }; + }; + }; + responses: { + /** @description Successful Response (The resulting merge commit) */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"]; + }; + }; + /** @description Response when already merged */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found when the base or head does not exist */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Conflict when there is a merge conflict */ + 409: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/list-milestones": { + parameters: { + query?: { + /** @description The state of the milestone. Either `open`, `closed`, or `all`. */ + state?: "open" | "closed" | "all"; + /** @description What to sort results by. Either `due_on` or `completeness`. */ + sort?: "due_on" | "completeness"; + /** @description The direction of the sort. Either `asc` or `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/create-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; }; - content: { - "application/json": components["schemas"]["team"][]; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/milestones/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "issues/get-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/delete-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "issues/update-milestone": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the milestone. */ + title?: string; + /** + * @description The state of the milestone. Either `open` or `closed`. + * @default open + * @enum {string} + */ + state: "open" | "closed"; + /** @description A description of the milestone. */ + description?: string; + /** + * Format: date-time + * @description The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. + */ + due_on?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["milestone"]; + }; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Get all repository topics */ - "repos/get-all-topics": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["topic"]; + "issues/list-labels-for-milestone": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the milestone. */ + milestone_number: components["parameters"]["milestone-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["label"][]; + }; + }; }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** Replace all repository topics */ - "repos/replace-all-topics": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; }; - requestBody: { - content: { - "application/json": { - /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ - names: string[]; + "activity/list-repo-notifications-for-authenticated-user": { + parameters: { + query?: { + /** @description If `true`, show notifications marked as read. */ + all?: components["parameters"]["all"]; + /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */ + participating?: components["parameters"]["participating"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["thread"][]; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["topic"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * Get repository clones - * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - "repos/get-clones": { - parameters: { - query?: { - per?: components["parameters"]["per"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["clone-traffic"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get top referral paths - * @description Get the top 10 popular contents over the last 14 days. - */ - "repos/get-top-paths": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["content-traffic"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get top referral sources - * @description Get the top 10 referrers over the last 14 days. - */ - "repos/get-top-referrers": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["referrer-traffic"][]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get page views - * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - */ - "repos/get-views": { - parameters: { - query?: { - per?: components["parameters"]["per"]; - }; - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["view-traffic"]; - }; - }; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Transfer a repository - * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). - * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account. - */ - "repos/transfer": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The username or organization name the repository will be transferred to. */ - new_owner: string; - /** @description The new name to be given to the repository. */ - new_name?: string; - /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ - team_ids?: number[]; - }; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["minimal-repository"]; - }; - }; - }; - }; - /** - * Check if vulnerability alerts are enabled for a repository - * @description Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - "repos/check-vulnerability-alerts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response if repository is enabled with vulnerability alerts */ - 204: { - content: never; - }; - /** @description Not Found if repository is not enabled with vulnerability alerts */ - 404: { - content: never; - }; - }; - }; - /** - * Enable vulnerability alerts - * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - "repos/enable-vulnerability-alerts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Disable vulnerability alerts - * @description Disables dependency alerts and the dependency graph for a repository. - * The authenticated user must have admin access to the repository. For more information, - * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". - */ - "repos/disable-vulnerability-alerts": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Download a repository archive (zip) - * @description Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually - * `main`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use - * the `Location` header to make a second `GET` request. - * - * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. - */ - "repos/download-zipball-archive": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - ref: string; - }; - }; - responses: { - /** @description Response */ - 302: { - headers: { - /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ - Location?: string; - }; - content: never; - }; - }; - }; - /** - * Create a repository using a template - * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository - */ - "repos/create-using-template": { - parameters: { - path: { - /** @description The account owner of the template repository. The name is not case sensitive. */ - template_owner: string; - /** @description The name of the template repository without the `.git` extension. The name is not case sensitive. */ - template_repo: string; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ - owner?: string; - /** @description The name of the new repository. */ - name: string; - /** @description A short description of the new repository. */ - description?: string; - /** - * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. - * @default false - */ - include_all_branches?: boolean; - /** - * @description Either `true` to create a new private repository or `false` to create a new public one. - * @default false - */ - private?: boolean; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["repository"]; - }; - }; - }; - }; - /** - * List public repositories - * @description Lists all public repositories in the order that they were created. - * - * Note: - * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. - */ - "repos/list-public": { - parameters: { - query?: { - since?: components["parameters"]["since-repo"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List environment secrets - * @description Lists all secrets available in an environment without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/list-environment-secrets": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "activity/mark-repo-notifications-as-read": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * Format: date-time + * @description Describes the last point that notifications were checked. Anything updated since this time will not be marked as read. If you omit this parameter, all notifications are marked as read. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. Default: The current timestamp. + */ + last_read_at?: string; + }; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["actions-secret"][]; - }; - }; - }; - }; - }; - /** - * Get an environment public key - * @description Get the public key for an environment, which you need to encrypt environment - * secrets. You need to encrypt a secret before you can create or update secrets. - * - * Anyone with read access to the repository can use this endpoint. - * If the repository is private you must use an access token with the `repo` scope. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-environment-public-key": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-public-key"]; - }; - }; - }; - }; - /** - * Get an environment secret - * @description Gets a single environment secret without revealing its encrypted value. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/get-environment-secret": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-secret"]; - }; - }; - }; - }; - /** - * Create or update an environment secret - * @description Creates or updates an environment secret with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/create-or-update-environment-secret": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint. */ - encrypted_value: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id: string; - }; - }; - }; - responses: { - /** @description Response when creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response when updating a secret */ - 204: { - content: never; - }; - }; - }; - /** - * Delete an environment secret - * @description Deletes a secret in an environment using the secret name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `secrets` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read secrets. - */ - "actions/delete-environment-secret": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - secret_name: components["parameters"]["secret-name"]; - }; - }; - responses: { - /** @description Default response */ - 204: { - content: never; - }; - }; - }; - /** - * List environment variables - * @description Lists all environment variables. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/list-environment-variables": { - parameters: { - query?: { - per_page?: components["parameters"]["variables-per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + /** @description Reset Content */ + 205: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - content: { - "application/json": { - total_count: number; - variables: components["schemas"]["actions-variable"][]; - }; - }; - }; - }; - }; - /** - * Create an environment variable - * @description Create an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/create-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - }; }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name: string; - /** @description The value of the variable. */ - value: string; + "repos/get-pages": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/update-information-about-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Specify a custom domain for the repository. Sending a `null` value will remove the custom domain. For more about custom domains, see "[Using a custom domain with GitHub Pages](https://docs.github.com/articles/using-a-custom-domain-with-github-pages/)." */ + cname?: string | null; + /** @description Specify whether HTTPS should be enforced for the repository. */ + https_enforced?: boolean; + /** + * @description The process by which the GitHub Pages site will be built. `workflow` means that the site is built by a custom GitHub Actions workflow. `legacy` means that the site is built by GitHub when changes are pushed to a specific branch. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + source?: ("gh-pages" | "master" | "master /docs") | { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. + * @enum {string} + */ + path: "/" | "/docs"; + }; + } | unknown | unknown | unknown | unknown | unknown; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 400: components["responses"]["bad_request"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/create-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": ({ + /** + * @description The process in which the Page will be built. Possible values are `"legacy"` and `"workflow"`. + * @enum {string} + */ + build_type?: "legacy" | "workflow"; + /** @description The source branch and directory used to publish your Pages site. */ + source?: { + /** @description The repository branch used to publish your site's source files. */ + branch: string; + /** + * @description The repository directory that includes the source files for the Pages site. Allowed paths are `/` or `/docs`. Default: `/` + * @default / + * @enum {string} + */ + path: "/" | "/docs"; + }; + } | unknown | unknown) | null; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page"]; + }; + }; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/delete-pages-site": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-pages-builds": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"][]; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - }; - }; - /** - * Get an environment variable - * @description Gets a specific variable in an environment. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environments:read` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/get-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - environment_name: components["parameters"]["environment-name"]; - name: components["parameters"]["variable-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-variable"]; - }; - }; - }; - }; - /** - * Delete an environment variable - * @description Deletes an environment variable using the variable name. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/delete-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - name: components["parameters"]["variable-name"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update an environment variable - * @description Updates an environment variable that you can reference in a GitHub Actions workflow. - * - * You must authenticate using an access token with the `repo` scope to use this endpoint. - * GitHub Apps must have the `environment:write` repository permission to use this endpoint. - * Authenticated users must have collaborator access to a repository to create, update, or read variables. - */ - "actions/update-environment-variable": { - parameters: { - path: { - repository_id: components["parameters"]["repository-id"]; - name: components["parameters"]["variable-name"]; - environment_name: components["parameters"]["environment-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the variable. */ - name?: string; - /** @description The value of the variable. */ - value?: string; - }; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Search code - * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the definition of the `addClass` function inside [jQuery](https://github.com/jquery/jquery) repository, your query would look something like this: - * - * `q=addClass+in:file+language:js+repo:jquery/jquery` - * - * This query searches for the keyword `addClass` within a file's contents. The query limits the search to files where the language is JavaScript in the `jquery/jquery` repository. - * - * Considerations for code search: - * - * Due to the complexity of searching code, there are a few restrictions on how searches are performed: - * - * * Only the _default branch_ is considered. In most cases, this will be the `master` branch. - * * Only files smaller than 384 KB are searchable. - * * You must always include at least one search term when searching source code. For example, searching for [`language:go`](https://github.com/search?utf8=%E2%9C%93&q=language%3Ago&type=Code) is not valid, while [`amazing - * language:go`](https://github.com/search?utf8=%E2%9C%93&q=amazing+language%3Ago&type=Code) is. - * - * This endpoint requires you to authenticate and limits you to 10 requests per minute. - */ - "search/code": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ - q: string; - /** - * @deprecated - * @description **This field is deprecated.** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) - */ - sort?: "indexed"; - /** - * @deprecated - * @description **This field is deprecated.** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. - */ - order?: "desc" | "asc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["code-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Search commits - * @description Find commits via various criteria on the default branch (usually `main`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match - * metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find commits related to CSS in the [octocat/Spoon-Knife](https://github.com/octocat/Spoon-Knife) repository. Your query would look something like this: - * - * `q=repo:octocat/Spoon-Knife+css` - */ - "search/commits": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "author-date" | "committer-date"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["commit-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Search issues and pull requests - * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted - * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. - * - * `q=windows+label:bug+language:python+state:open&sort=created&order=asc` - * - * This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results. - * - * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." - */ - "search/issues-and-pull-requests": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["issue-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Search labels - * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to find labels in the `linguist` repository that match `bug`, `defect`, or `enhancement`. Your query might look like this: - * - * `q=bug+defect+enhancement&repository_id=64778136` - * - * The labels that best match the query appear first in the search results. - */ - "search/labels": { - parameters: { - query: { - /** @description The id of the repository. */ - repository_id: number; - /** @description The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ - q: string; - /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "created" | "updated"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["label-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Search repositories - * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for popular Tetris repositories written in assembly code, your query might look like this: - * - * `q=tetris+language:assembly&sort=stars&order=desc` - * - * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. - */ - "search/repos": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["repo-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Search topics - * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers. - * - * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you want to search for topics related to Ruby that are featured on https://github.com/topics. Your query might look like this: - * - * `q=ruby+is:featured` - * - * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. - */ - "search/topics": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ - q: string; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["topic-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Search users - * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). - * - * When searching for users, you can get text match metadata for the issue **login**, public **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata). - * - * For example, if you're looking for a list of popular users, you might try this query: - * - * `q=tom+repos:%3E42+followers:%3E1000` - * - * This query searches for users with the name `tom`. The results are restricted to users with more than 42 repositories and over 1,000 followers. - * - * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." - */ - "search/users": { - parameters: { - query: { - /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ - q: string; - /** @description Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ - sort?: "followers" | "repositories" | "joined"; - order?: components["parameters"]["order"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - incomplete_results: boolean; - items: components["schemas"]["user-search-result-item"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 422: components["responses"]["validation_failed"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * Get a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. - */ - "teams/get-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint. - * - * To delete a team, the authenticated user must be an organization owner or team maintainer. - * - * If you are an organization owner, deleting a parent team will delete all of its child teams as well. - */ - "teams/delete-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Update a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint. - * - * To edit a team, the authenticated user must either be an organization owner or a team maintainer. - * - * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. - */ - "teams/update-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The name of the team. */ - name: string; - /** @description The description of the team. */ - description?: string; - /** - * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: - * **For a non-nested team:** - * * `secret` - only visible to organization owners and members of this team. - * * `closed` - visible to all members of this organization. - * **For a parent or child team:** - * * `closed` - visible to all members of this organization. - * @enum {string} - */ - privacy?: "secret" | "closed"; - /** - * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: - * * `notifications_enabled` - team members receive notifications when the team is @mentioned. - * * `notifications_disabled` - no one receives notifications. - * @enum {string} - */ - notification_setting?: "notifications_enabled" | "notifications_disabled"; - /** - * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - * @default pull - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - /** @description The ID of a team to set as the parent team. */ - parent_team_id?: number | null; - }; - }; + "repos/request-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build-status"]; + }; + }; + }; }; - responses: { - /** @description Response when the updated information already exists */ - 200: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-full"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List discussions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint. - * - * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/list-discussions-legacy": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; + "repos/get-latest-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion"][]; - }; - }; - }; - }; - /** - * Create a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint. - * - * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "teams/create-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title: string; - /** @description The discussion post's body text. */ - body: string; - /** - * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. - * @default false - */ - private?: boolean; - }; - }; + "repos/get-pages-build": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + build_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-build"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Get a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint. - * - * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/get-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; + "repos/create-pages-deployment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The URL of an artifact that contains the .zip or .tar of static assets to deploy. The artifact belongs to the repository. */ + artifact_url: string; + /** + * @description The target environment for this GitHub Pages deployment. + * @default github-pages + */ + environment: string; + /** + * @description A unique string that represents the version of the build for this deployment. + * @default GITHUB_SHA + */ + pages_build_version: string; + /** @description The OIDC token issued by GitHub Actions certifying the origin of the deployment. */ + oidc_token: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["page-deployment"]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-pages-health-check": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pages-health-check"]; + }; + }; + /** @description Empty response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Custom domains are not available for GitHub Pages */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description There isn't a CNAME for this page */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * Delete a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint. - * - * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/delete-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; + "repos/enable-private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + "repos/disable-private-vulnerability-reporting": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 204: components["responses"]["no_content"]; + 422: components["responses"]["bad_request"]; + }; + }; + "projects/list-for-repo": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "projects/create-for-repo": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the project. */ + name: string; + /** @description The description of the project. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/list": { + parameters: { + query?: { + /** @description Either `open`, `closed`, or `all` to filter by state. */ + state?: "open" | "closed" | "all"; + /** @description Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`. */ + head?: string; + /** @description Filter pulls by base branch name. Example: `gh-pages`. */ + base?: string; + /** @description What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. */ + sort?: "created" | "updated" | "popularity" | "long-running"; + /** @description The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/create": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The title of the new pull request. Required unless `issue` is specified. */ + title?: string; + /** @description The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace `head` with a user like this: `username:branch`. */ + head: string; + /** + * Format: repo.nwo + * @description The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. + * @example octo-org/octo-repo + */ + head_repo?: string; + /** @description The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. */ + base: string; + /** @description The contents of the pull request. */ + body?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + /** @description Indicates whether the pull request is a draft. See "[Draft Pull Requests](https://docs.github.com/articles/about-pull-requests#draft-pull-requests)" in the GitHub Help documentation to learn more. */ + draft?: boolean; + /** + * Format: int64 + * @description An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless `title` is specified. + * @example 1 + */ + issue?: number; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/1347 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list-review-comments-for-repo": { + parameters: { + query?: { + sort?: "created" | "updated" | "created_at"; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint. - * - * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/update-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; + "pulls/get-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/delete-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/update-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the reply to the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + }; }; - requestBody?: { - content: { - "application/json": { - /** @description The discussion post's title. */ - title?: string; - /** @description The discussion post's body text. */ - body?: string; + "reactions/list-for-pull-request-review-comment": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a pull request review comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-pull-request-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the pull request review comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-pull-request-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion"]; - }; - }; - }; - }; - /** - * List discussion comments (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint. - * - * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/list-discussion-comments-legacy": { - parameters: { - query?: { - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-discussion-comment"][]; - }; - }; - }; - }; - /** - * Create a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint. - * - * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - * - * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. - */ - "teams/create-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; + "pulls/get": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/update": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The title of the pull request. */ + title?: string; + /** @description The contents of the pull request. */ + body?: string; + /** + * @description State of this Pull Request. Either `open` or `closed`. + * @enum {string} + */ + state?: "open" | "closed"; + /** @description The name of the branch you want your changes pulled into. This should be an existing branch on the current repository. You cannot update the base branch on a pull request to point to another repository. */ + base?: string; + /** @description Indicates whether [maintainers can modify](https://docs.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/) the pull request. */ + maintainer_can_modify?: boolean; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Get a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint. - * - * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/get-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * Delete a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint. - * - * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/delete-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * Update a discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint. - * - * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "teams/update-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description The discussion comment's body text. */ - body: string; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/create-with-pr-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | null; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/list-review-comments": { + parameters: { + query?: { + /** @description The property to sort the results by. */ + sort?: components["parameters"]["sort"]; + /** @description The direction to sort results. Ignored without `sort` parameter. */ + direction?: "asc" | "desc"; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"][]; + }; + }; }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-discussion-comment"]; - }; - }; - }; - }; - /** - * List reactions for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint. - * - * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/list-for-team-discussion-comment-legacy": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion comment (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint. - * - * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. - */ - "reactions/create-for-team-discussion-comment-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - comment_number: components["parameters"]["comment-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * List reactions for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint. - * - * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "reactions/list-for-team-discussion-legacy": { - parameters: { - query?: { - /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ - content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["reaction"][]; - }; - }; - }; - }; - /** - * Create reaction for a team discussion (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint. - * - * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. - */ - "reactions/create-for-team-discussion-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - discussion_number: components["parameters"]["discussion-number"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** - * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. - * @enum {string} - */ - content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; - }; - }; - }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["reaction"]; - }; - }; - }; - }; - /** - * List pending team invitations (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/teams/members#list-pending-team-invitations) endpoint. - * - * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. - */ - "teams/list-pending-invitations-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-invitation"][]; - }; - }; - }; - }; - /** - * List team members (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint. - * - * Team members will include the members of child teams. - */ - "teams/list-members-legacy": { - parameters: { - query?: { - /** @description Filters members returned by their role in the team. */ - role?: "member" | "maintainer" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get team member (Legacy) - * @deprecated - * @description The "Get team member" endpoint (described below) is deprecated. - * - * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships. - * - * To list members in a team, the team must be visible to the authenticated user. - */ - "teams/get-member-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description if user is a member */ - 204: { - content: never; - }; - /** @description if user is not a member */ - 404: { - content: never; - }; - }; - }; - /** - * Add team member (Legacy) - * @deprecated - * @description The "Add team member" endpoint (described below) is deprecated. - * - * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "teams/add-member-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - /** @description Not Found if team synchronization is set up */ - 404: { - content: never; - }; - /** @description Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ - 422: { - content: never; - }; - }; - }; - /** - * Remove team member (Legacy) - * @deprecated - * @description The "Remove team member" endpoint (described below) is deprecated. - * - * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - "teams/remove-member-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Not Found if team synchronization is setup */ - 404: { - content: never; - }; - }; - }; - /** - * Get team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint. - * - * Team members will include the members of child teams. - * - * To get a user's membership with a team, the team must be visible to the authenticated user. - * - * **Note:** - * The response contains the `state` of the membership and the member's `role`. - * - * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/teams/teams#create-a-team). - */ - "teams/get-membership-for-user-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add or update team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * If the user is already a member of the team's organization, this endpoint will add the user to the team. To add a membership between an organization member and a team, the authenticated user must be an organization owner or a team maintainer. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - * - * If the user is unaffiliated with the team's organization, this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team. To add a membership between an unaffiliated user and a team, the authenticated user must be an organization owner. - * - * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. - */ - "teams/add-or-update-membership-for-user-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The role that this user should have in the team. - * @default member - * @enum {string} - */ - role?: "member" | "maintainer"; - }; - }; + "pulls/create-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + /** @description The SHA of the commit needing a comment. Not using the latest commit SHA may render your comment outdated if a subsequent commit modifies the line you specify as the `position`. */ + commit_id: string; + /** @description The relative path to the file that necessitates a comment. */ + path: string; + /** + * @deprecated + * @description **This parameter is deprecated. Use `line` instead**. The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note above. + */ + position?: number; + /** + * @description In a split diff view, the side of the diff that the pull request's changes appear on. Can be `LEFT` or `RIGHT`. Use `LEFT` for deletions that appear in red. Use `RIGHT` for additions that appear in green or unchanged lines that appear in white and are shown for context. For a multi-line comment, side represents whether the last line of the comment range is a deletion or addition. For more information, see "[Diff view options](https://docs.github.com/articles/about-comparing-branches-in-pull-requests#diff-view-options)" in the GitHub Help documentation. + * @enum {string} + */ + side?: "LEFT" | "RIGHT"; + /** @description **Required unless using `subject_type:file`**. The line of the blob in the pull request diff that the comment applies to. For a multi-line comment, the last line of the range that your comment applies to. */ + line?: number; + /** @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_line` is the first line in the pull request diff that your multi-line comment applies to. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. */ + start_line?: number; + /** + * @description **Required when using multi-line comments unless using `in_reply_to`**. The `start_side` is the starting side of the diff that the comment applies to. Can be `LEFT` or `RIGHT`. To learn more about multi-line comments, see "[Commenting on a pull request](https://docs.github.com/articles/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)" in the GitHub Help documentation. See `side` in this table for additional context. + * @enum {string} + */ + start_side?: "LEFT" | "RIGHT" | "side"; + /** + * @description The ID of the review comment to reply to. To find the ID of a review comment with ["List review comments on a pull request"](#list-review-comments-on-a-pull-request). When specified, all parameters other than `body` in the request body are ignored. + * @example 2 + */ + in_reply_to?: number; + /** + * @description The level at which the comment is targeted. + * @enum {string} + */ + subject_type?: "line" | "file"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/create-reply-for-review-comment": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the comment. */ + comment_id: components["parameters"]["comment-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The text of the review comment. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/pulls/comments/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-comment"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-membership"]; - }; - }; - /** @description Forbidden if team synchronization is set up */ - 403: { - content: never; - }; - 404: components["responses"]["not_found"]; - /** @description Unprocessable Entity if you attempt to add an organization to a team */ - 422: { - content: never; - }; - }; - }; - /** - * Remove team membership for a user (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint. - * - * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. - * - * To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. - * - * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." - */ - "teams/remove-membership-for-user-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - username: components["parameters"]["username"]; - }; + "pulls/list-commits": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description if team synchronization is set up */ - 403: { - content: never; - }; - }; - }; - /** - * List team projects (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/teams/teams#list-team-projects) endpoint. - * - * Lists the organization projects for a team. - */ - "teams/list-projects-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; + "pulls/list-files": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["diff-entry"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "pulls/check-if-merged": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if pull request has been merged */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if pull request has not been merged */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-project"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check team permissions for a project (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project) endpoint. - * - * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team. - */ - "teams/check-permissions-for-project-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; - }; + "pulls/merge": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Title for the automatic commit message. */ + commit_title?: string; + /** @description Extra detail to append to automatic commit message. */ + commit_message?: string; + /** @description SHA that pull request head must match to allow merge. */ + sha?: string; + /** + * @description The merge method to use. + * @enum {string} + */ + merge_method?: "merge" | "squash" | "rebase"; + } | null; + }; + }; + responses: { + /** @description if merge was successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-merge-result"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Method Not Allowed if merge cannot be performed */ + 405: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + /** @description Conflict if sha was provided and pull request head did not match */ + 409: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "pulls/list-requested-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review-request"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["team-project"]; - }; - }; - /** @description Not Found if project is not managed by this team */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team project permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions) endpoint. - * - * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. - */ - "teams/add-or-update-project-permissions-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * @enum {string} - */ - permission?: "read" | "write" | "admin"; - }; - }; + "pulls/request-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description An array of user `login`s that will be requested. */ + reviewers?: string[]; + /** @description An array of team `slug`s that will be requested. */ + team_reviewers?: string[]; + } | unknown | unknown; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Unprocessable Entity if user is not a collaborator */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - /** @description Forbidden if the project is not owned by the organization */ - 403: { - content: { - "application/json": { - message?: string; - documentation_url?: string; - }; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove a project from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team) endpoint. - * - * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. - */ - "teams/remove-project-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - project_id: components["parameters"]["project-id"]; - }; + "pulls/remove-requested-reviewers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of user `login`s that will be removed. */ + reviewers: string[]; + /** @description An array of team `slug`s that will be removed. */ + team_reviewers?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-simple"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List team repositories (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. - */ - "teams/list-repos-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; + "pulls/list-reviews": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The list of reviews returns in chronological order. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check team permissions for a repository (Legacy) - * @deprecated - * @description **Note**: Repositories inherited through a parent team will also be checked. - * - * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint. - * - * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: - */ - "teams/check-permissions-for-repo-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "pulls/create-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The SHA of the commit that needs a review. Not using the latest commit SHA may render your review comment outdated if a subsequent commit modifies the line you specify as the `position`. Defaults to the most recent commit in the pull request when you do not specify a value. */ + commit_id?: string; + /** @description **Required** when using `REQUEST_CHANGES` or `COMMENT` for the `event` parameter. The body text of the pull request review. */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. By leaving this blank, you set the review action state to `PENDING`, which means you will need to [submit the pull request review](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request) when you are ready. + * @enum {string} + */ + event?: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + /** @description Use the following table to specify the location, destination, and contents of the draft review comment. */ + comments?: { + /** @description The relative path to the file that necessitates a review comment. */ + path: string; + /** @description The position in the diff where you want to add a review comment. Note this value is not the same as the line number in the file. For help finding the position value, read the note below. */ + position?: number; + /** @description Text of the review comment. */ + body: string; + /** @example 28 */ + line?: number; + /** @example RIGHT */ + side?: string; + /** @example 26 */ + start_line?: number; + /** @example LEFT */ + start_side?: string; + }[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/get-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/update-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/delete-pending-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; }; - responses: { - /** @description Alternative response with extra repository information */ - 200: { - content: { - "application/json": components["schemas"]["team-repository"]; - }; - }; - /** @description Response if repository is managed by this team */ - 204: { - content: never; - }; - /** @description Not Found if repository is not managed by this team */ - 404: { - content: never; - }; - }; - }; - /** - * Add or update team repository permissions (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint. - * - * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. - * - * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "teams/add-or-update-repo-permissions-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** - * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. - * @enum {string} - */ - permission?: "pull" | "push" | "admin"; - }; - }; + "pulls/list-comments-for-review": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["review-comment"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "pulls/dismiss-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The message for the pull request review dismissal */ + message: string; + /** + * @example "DISMISS" + * @enum {string} + */ + event?: "DISMISS"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/submit-review": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + /** @description The unique identifier of the review. */ + review_id: components["parameters"]["review-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The body text of the pull request review */ + body?: string; + /** + * @description The review action you want to perform. The review actions include: `APPROVE`, `REQUEST_CHANGES`, or `COMMENT`. When you leave this blank, the API returns _HTTP 422 (Unrecognizable entity)_ and sets the review action state to `PENDING`, which means you will need to re-submit the pull request review using a review action. + * @enum {string} + */ + event: "APPROVE" | "REQUEST_CHANGES" | "COMMENT"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["pull-request-review"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "pulls/update-branch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies the pull request. */ + pull_number: components["parameters"]["pull-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The expected SHA of the pull request's HEAD ref. This is the most recent commit on the pull request's branch. If the expected SHA does not match the pull request's HEAD, you will receive a `422 Unprocessable Entity` status. You can use the "[List commits](https://docs.github.com/rest/commits/commits#list-commits)" endpoint to find the most recent commit SHA. Default: SHA of the pull request's current HEAD ref. */ + expected_head_sha?: string; + } | null; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + url?: string; + }; + }; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove a repository from a team (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint. - * - * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. - */ - "teams/remove-repo-legacy": { - parameters: { - path: { - team_id: components["parameters"]["team-id"]; - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "repos/get-readme": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List child teams (Legacy) - * @deprecated - * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. - */ - "teams/list-child-legacy": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - team_id: components["parameters"]["team-id"]; - }; + "repos/get-readme-in-directory": { + parameters: { + query?: { + /** @description The name of the commit/branch/tag. Default: the repository’s default branch. */ + ref?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The alternate path to look for a README file */ + dir: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-file"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description if child teams exist */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team"][]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get the authenticated user - * @description If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information. - * - * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. - */ - "users/get-authenticated": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Update the authenticated user - * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. - */ - "users/update-authenticated": { - requestBody?: { - content: { - "application/json": { - /** - * @description The new name of the user. - * @example Omar Jahandar - */ - name?: string; - /** - * @description The publicly visible email address of the user. - * @example omar@example.com - */ - email?: string; - /** - * @description The new blog URL of the user. - * @example blog.example.com - */ - blog?: string; - /** - * @description The new Twitter username of the user. - * @example therealomarj - */ - twitter_username?: string | null; - /** - * @description The new company of the user. - * @example Acme corporation - */ - company?: string; - /** - * @description The new location of the user. - * @example Berlin, Germany - */ - location?: string; - /** @description The new hiring availability of the user. */ - hireable?: boolean; - /** @description The new short biography of the user. */ - bio?: string; - }; - }; + "repos/list-releases": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** + * @description `true` to create a draft (unpublished) release, `false` to create a published one. + * @default false + */ + draft: boolean; + /** + * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. + * @default false + */ + prerelease: boolean; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + /** + * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. + * @default false + */ + generate_release_notes: boolean; + /** + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest: "true" | "false" | "legacy"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/releases/1 */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + 302: components["responses"]["found"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["private-user"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List users blocked by the authenticated user - * @description List the users you've blocked on your personal account. - */ - "users/list-blocked-by-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "repos/update-release-asset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the asset. */ + asset_id: components["parameters"]["asset-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The file name of the asset. */ + name?: string; + /** @description An alternate short description of the asset. Used in place of the filename. */ + label?: string; + /** @example "uploaded" */ + state?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Check if a user is blocked by the authenticated user - * @description Returns a 204 if the given user is blocked by the authenticated user. Returns a 404 if the given user is not blocked by the authenticated user, or if the given user account has been identified as spam by GitHub. - */ - "users/check-blocked": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "repos/generate-release-notes": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The tag name for the release. This can be an existing tag or a new one. */ + tag_name: string; + /** @description Specifies the commitish value that will be the target for the release's tag. Required if the supplied tag_name does not reference an existing tag. Ignored if the tag_name already exists. */ + target_commitish?: string; + /** @description The name of the previous tag to use as the starting point for the release notes. Use to manually specify the range for the set of changes considered as part this release. */ + previous_tag_name?: string; + /** @description Specifies a path to a file in the repository containing configuration settings used for generating the release notes. If unspecified, the configuration file located in the repository at '.github/release.yml' or '.github/release.yaml' will be used. If that is not present, the default configuration will be used. */ + configuration_file_path?: string; + }; + }; + }; + responses: { + /** @description Name and body of generated release notes */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-notes-content"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-latest-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + }; }; - responses: { - /** @description If the user is blocked */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description If the user is not blocked */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Block a user - * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. - */ - "users/block": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "repos/get-release-by-tag": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description tag parameter */ + tag: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Unauthorized */ + 401: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Unblock a user - * @description Unblocks the given user and returns a 204. - */ - "users/unblock": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "repos/delete-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List codespaces for the authenticated user - * @description Lists the authenticated user's codespaces. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - repository_id?: components["parameters"]["repository-id-in-query"]; - }; + "repos/update-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The name of the tag. */ + tag_name?: string; + /** @description Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Unused if the Git tag already exists. Default: the repository's default branch. */ + target_commitish?: string; + /** @description The name of the release. */ + name?: string; + /** @description Text describing the contents of the tag. */ + body?: string; + /** @description `true` makes the release a draft, and `false` publishes the release. */ + draft?: boolean; + /** @description `true` to identify the release as a prerelease, `false` to identify the release as a full release. */ + prerelease?: boolean; + /** + * @description Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version. + * @default true + * @enum {string} + */ + make_latest: "true" | "false" | "legacy"; + /** @description If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored. For more information, see "[Managing categories for discussions in your repository](https://docs.github.com/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository)." */ + discussion_category_name?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release"]; + }; + }; + /** @description Not Found if the discussion category name is invalid */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - codespaces: components["schemas"]["codespace"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a codespace for the authenticated user - * @description Creates a new codespace, owned by the authenticated user. - * - * This endpoint requires either a `repository_id` OR a `pull_request` but not both. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/create-for-authenticated-user": { - requestBody: { - content: { - "application/json": OneOf<[{ - /** @description Repository id for this codespace */ - repository_id: number; - /** @description Git ref (typically a branch name) for this codespace */ - ref?: string; - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description IP for location auto-detection when proxying a request */ - client_ip?: string; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Whether to authorize requested permissions from devcontainer.json */ - multi_repo_permissions_opt_out?: boolean; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ - retention_period_minutes?: number; - }, { - /** @description Pull request number for this codespace */ - pull_request: { - /** @description Pull request number */ - pull_request_number: number; - /** @description Repository id for this codespace */ - repository_id: number; - }; - /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ - location?: string; - /** - * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. - * @enum {string} - */ - geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; - /** @description Machine type to use for this codespace */ - machine?: string; - /** @description Path to devcontainer.json config to use for this codespace */ - devcontainer_path?: string; - /** @description Working directory for this codespace */ - working_directory?: string; - /** @description Time in minutes before codespace stops from inactivity */ - idle_timeout_minutes?: number; - }]>; - }; + "repos/list-release-assets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"][]; + }; + }; + }; }; - responses: { - /** @description Response when the codespace was successfully created */ - 201: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - /** @description Response when the codespace creation partially failed but is being retried in the background */ - 202: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 503: components["responses"]["service_unavailable"]; - }; - }; - /** - * List secrets for the authenticated user - * @description Lists all secrets available for a user's Codespaces without revealing their - * encrypted values. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/list-secrets-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "repos/upload-release-asset": { + parameters: { + query: { + name: string; + label?: string; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/octet-stream": string; + }; + }; + responses: { + /** @description Response for successful upload */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["release-asset"]; + }; + }; + /** @description Response if you upload an asset with the same filename as another uploaded asset */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; + "reactions/list-for-release": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a release. */ + content?: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "reactions/create-for-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the release. + * @enum {string} + */ + content: "+1" | "laugh" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Reaction exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + /** @description Reaction created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "reactions/delete-for-release": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the release. */ + release_id: components["parameters"]["release-id"]; + /** @description The unique identifier of the reaction. */ + reaction_id: components["parameters"]["reaction-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; }; - content: { - "application/json": { - total_count: number; - secrets: components["schemas"]["codespaces-secret"][]; - }; - }; - }; - }; - }; - /** - * Get public key for the authenticated user - * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/get-public-key-for-authenticated-user": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-user-public-key"]; - }; - }; - }; - }; - /** - * Get a secret for the authenticated user - * @description Gets a secret available to a user's codespaces without revealing its encrypted value. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/get-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespaces-secret"]; - }; - }; - }; - }; - /** - * Create or update a secret for the authenticated user - * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using - * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)." - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - "codespaces/create-or-update-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user) endpoint. */ - encrypted_value?: string; - /** @description ID of the key you used to encrypt the secret. */ - key_id: string; - /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ - selected_repository_ids?: (number | string)[]; - }; - }; + "repos/get-branch-rules": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The name of the branch. Cannot contain wildcard characters. To use wildcard characters in branch names, use [the GraphQL API](https://docs.github.com/graphql). */ + branch: components["parameters"]["branch"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-rule-detailed"][]; + }; + }; + }; }; - responses: { - /** @description Response after successfully creating a secret */ - 201: { - content: { - "application/json": components["schemas"]["empty-object"]; - }; - }; - /** @description Response after successfully updating a secret */ - 204: { - content: never; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete a secret for the authenticated user - * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/delete-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; + "repos/get-repo-rulesets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"][]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/create-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name: string; + /** + * @description The target of the ruleset. + * @enum {string} + */ + target?: "branch" | "tag"; + enforcement: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-rule-suites": { + parameters: { + query?: { + /** @description The name of the ref. Cannot contain wildcard characters. When specified, only rule evaluations triggered for this ref will be returned. */ + ref?: components["parameters"]["ref-in-query"]; + /** @description The time period to filter by. + * + * For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for insights that occurred in the past 7 days (168 hours). */ + time_period?: components["parameters"]["time-period"]; + /** @description The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned. */ + actor_name?: components["parameters"]["actor-name-in-query"]; + /** @description The rule results to filter on. When specified, only suites with this result will be returned. */ + rule_suite_result?: components["parameters"]["rule-suite-result"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suites"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/get-repo-rule-suite": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the rule suite result. + * To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + * for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + * for organizations. */ + rule_suite_id: components["parameters"]["rule-suite-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["rule-suite"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List selected repositories for a user secret - * @description List the repositories that have been granted the ability to use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - "codespaces/list-repositories-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; + "repos/get-repo-ruleset": { + parameters: { + query?: { + /** @description Include rulesets configured at higher levels that apply to this repository */ + includes_parents?: boolean; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/update-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + /** @description Request body */ + requestBody?: { + content: { + "application/json": { + /** @description The name of the ruleset. */ + name?: string; + /** + * @description The target of the ruleset. + * @enum {string} + */ + target?: "branch" | "tag"; + enforcement?: components["schemas"]["repository-rule-enforcement"]; + /** @description The actors that can bypass the rules in this ruleset */ + bypass_actors?: components["schemas"]["repository-ruleset-bypass-actor"][]; + conditions?: components["schemas"]["repository-ruleset-conditions"]; + /** @description An array of rules within the ruleset. */ + rules?: components["schemas"]["repository-rule"][]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-ruleset"]; + }; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "repos/delete-repo-ruleset": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The ID of the ruleset. */ + ruleset_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "secret-scanning/list-alerts-for-repo": { + parameters: { + query?: { + /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ + state?: components["parameters"]["secret-scanning-alert-state"]; + /** @description A comma-separated list of secret types to return. By default all secret types are returned. + * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; + /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; + /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ + sort?: components["parameters"]["secret-scanning-alert-sort"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */ + before?: components["parameters"]["secret-scanning-pagination-before-org-repo"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */ + after?: components["parameters"]["secret-scanning-pagination-after-org-repo"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"][]; + }; + }; + /** @description Repository is public or secret scanning is disabled for the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/get-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + 304: components["responses"]["not_modified"]; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "secret-scanning/update-alert": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + resolution_comment?: components["schemas"]["secret-scanning-alert-resolution-comment"]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-alert"]; + }; + }; + /** @description Bad request, resolution comment is invalid or the resolution was not changed. */ + 400: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description State does not match the resolution or resolution comment */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - repositories: components["schemas"]["minimal-repository"][]; - }; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Set selected repositories for a user secret - * @description Select the repositories that will use a user's codespace secret. - * - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. - */ - "codespaces/set-repositories-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - }; + "secret-scanning/list-locations-for-alert": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ + alert_number: components["parameters"]["alert-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["secret-scanning-location"][]; + }; + }; + /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 503: components["responses"]["service_unavailable"]; + }; + }; + "security-advisories/list-repository-advisories": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "published"; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. */ + before?: components["parameters"]["pagination-before"]; + /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. */ + after?: components["parameters"]["pagination-after"]; + /** @description Number of advisories to return per page. */ + per_page?: number; + /** @description Filter by state of the repository advisories. Only advisories of this state will be returned. */ + state?: "triage" | "draft" | "published" | "closed"; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"][]; + }; + }; + 400: components["responses"]["bad_request"]; + 404: components["responses"]["not_found"]; + }; + }; + "security-advisories/create-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "security-advisories/create-private-vulnerability-report": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["private-vulnerability-report-create"]; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "security-advisories/get-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "security-advisories/update-repository-advisory": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["repository-advisory-update"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-advisory"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Validation failed, or the endpoint has been spammed. */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["validation-error"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ - selected_repository_ids: number[]; + "security-advisories/create-repository-advisory-cve-request": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The GHSA (GitHub Security Advisory) identifier of the advisory. */ + ghsa_id: components["parameters"]["ghsa_id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "activity/list-stargazers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][] | components["schemas"]["stargazer"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/get-code-frequency-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + "repos/get-commit-activity-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["commit-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + "repos/get-contributors-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["contributor-activity"][]; + }; + }; + 202: components["responses"]["accepted"]; + 204: components["responses"]["no_content"]; + }; + }; + "repos/get-participation-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The array order is oldest week (index 0) to most recent week. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["participation-stats"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/get-punch-card-stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["code-frequency-stat"][]; + }; + }; + 204: components["responses"]["no_content"]; + }; + }; + "repos/create-commit-status": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + sha: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state of the status. + * @enum {string} + */ + state: "error" | "failure" | "pending" | "success"; + /** @description The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status. + * For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA: + * `http://ci.example.com/user/repo/build/sha` */ + target_url?: string | null; + /** @description A short description of the status. */ + description?: string | null; + /** + * @description A string label to differentiate this status from the status of other systems. This field is case-insensitive. + * @default default + */ + context: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["status"]; + }; + }; }; - }; - }; - responses: { - /** @description No Content when repositories were added to the selected list */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Add a selected repository to a user secret - * @description Adds a repository to the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. - */ - "codespaces/add-repository-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was added to the selected list */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Remove a selected repository from a user secret - * @description Removes a repository from the selected repositories for a user's codespace secret. - * You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint. - * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. - */ - "codespaces/remove-repository-for-secret-for-authenticated-user": { - parameters: { - path: { - secret_name: components["parameters"]["secret-name"]; - repository_id: number; - }; - }; - responses: { - /** @description No Content when repository was removed from the selected list */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get a codespace for the authenticated user - * @description Gets information about a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/get-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Delete a codespace for the authenticated user - * @description Deletes a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/delete-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - 202: components["responses"]["accepted"]; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Update a codespace for the authenticated user - * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. - * - * If you specify a new machine type it will be applied the next time your codespace is started. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/update-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - requestBody?: { - content: { - "application/json": { - /** @description A valid machine to transition this codespace to. */ - machine?: string; - /** @description Display name for this codespace */ - display_name?: string; - /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ - recent_folders?: string[]; - }; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Export a codespace for the authenticated user - * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. - * - * If changes cannot be pushed to the codespace's repository, they will be pushed to a new or previously-existing fork instead. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/export-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - /** @description Response */ - 202: { - content: { - "application/json": components["schemas"]["codespace-export-details"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get details about a codespace export - * @description Gets information about an export of a codespace. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/get-export-details-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - export_id: components["parameters"]["export-id"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace-export-details"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List machine types for a codespace - * @description List the machine types a codespace can transition to use. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. - */ - "codespaces/codespace-machines-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": { - total_count: number; - machines: components["schemas"]["codespace-machine"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Create a repository from an unpublished codespace - * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. - * - * The codespace's token is granted write permissions to the repository, allowing the user to push their changes. - * - * This will fail for a codespace that is already published, meaning it has an associated repository. - * - * You must authenticate using a personal access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. - */ - "codespaces/publish-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; - }; - requestBody: { - content: { - "application/json": { - /** @description A name for the new repository. */ - name?: string; - /** - * @description Whether the new repository should be private. - * @default false - */ - private?: boolean; - }; - }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["codespace-with-full-repository"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Start a codespace for the authenticated user - * @description Starts a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/start-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; + "activity/list-watchers-for-repo": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - /** @description Payment required */ - 402: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Stop a codespace for the authenticated user - * @description Stops a user's codespace. - * - * You must authenticate using an access token with the `codespace` scope to use this endpoint. - * - * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. - */ - "codespaces/stop-for-authenticated-user": { - parameters: { - path: { - codespace_name: components["parameters"]["codespace-name"]; - }; + "activity/get-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if you subscribe to the repository */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if you don't subscribe to the repository */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["codespace"]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 500: components["responses"]["internal_error"]; - }; - }; - /** - * Get list of conflicting packages during Docker migration for authenticated-user - * @description Lists all packages that are owned by the authenticated user within the user's namespace, and that encountered a conflict during a Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - "packages/list-docker-migration-conflicting-packages-for-authenticated-user": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - }; - }; - /** - * Set primary email visibility for the authenticated user - * @description Sets the visibility for your primary email addresses. - */ - "users/set-primary-email-visibility-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description Denotes whether an email is publicly visible. - * @enum {string} - */ - visibility: "public" | "private"; - }; - }; + "activity/set-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Determines if notifications should be received from this repository. */ + subscribed?: boolean; + /** @description Determines if all notifications should be blocked from this repository. */ + ignored?: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-subscription"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List email addresses for the authenticated user - * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. - */ - "users/list-emails-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "activity/delete-repo-subscription": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - "users/add-email-for-authenticated-user": { - requestBody?: { - content: { - "application/json": OneOf<[{ - /** - * @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. - * @example [] - */ - emails: string[]; - }, string[], string]>; - }; + "repos/list-tags": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete an email address for the authenticated user - * @description This endpoint is accessible with the `user` scope. - */ - "users/delete-email-for-authenticated-user": { - requestBody?: { - content: { - "application/json": OneOf<[{ - /** @description Email addresses associated with the GitHub user account. */ - emails: string[]; - }, string[], string]>; - }; + "repos/list-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag-protection"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/create-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An optional glob pattern to match against when enforcing tag protection. */ + pattern: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tag-protection"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/delete-tag-protection": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + /** @description The unique identifier of the tag protection. */ + tag_protection_id: components["parameters"]["tag-protection-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/download-tarball-archive": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List followers of the authenticated user - * @description Lists the people following the authenticated user. - */ - "users/list-followers-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "repos/list-teams": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List the people the authenticated user follows - * @description Lists the people who the authenticated user follows. - */ - "users/list-followed-by-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "repos/get-all-topics": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "repos/replace-all-topics": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of topics to add to the repository. Pass one or more topics to _replace_ the set of existing topics. Send an empty array (`[]`) to clear all topics from the repository. **Note:** Topic `names` cannot contain uppercase letters. */ + names: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topic"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed_simple"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** Check if a person is followed by the authenticated user */ - "users/check-person-is-followed-by-authenticated": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "repos/get-clones": { + parameters: { + query?: { + /** @description The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["clone-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-top-paths": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["content-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/get-top-referrers": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["referrer-traffic"][]; + }; + }; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description if the person is followed by the authenticated user */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description if the person is not followed by the authenticated user */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Follow a user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - * - * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - "users/follow": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "repos/get-views": { + parameters: { + query?: { + /** @description The time frame to display results for. */ + per?: components["parameters"]["per"]; + }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["view-traffic"]; + }; + }; + 403: components["responses"]["forbidden"]; + }; + }; + "repos/transfer": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The username or organization name the repository will be transferred to. */ + new_owner: string; + /** @description The new name to be given to the repository. */ + new_name?: string; + /** @description ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories. */ + team_ids?: number[]; + }; + }; + }; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unfollow a user - * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. - */ - "users/unfollow": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "repos/check-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if repository is enabled with vulnerability alerts */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if repository is not enabled with vulnerability alerts */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List GPG keys for the authenticated user - * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/list-gpg-keys-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "repos/enable-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gpg-key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a GPG key for the authenticated user - * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/create-gpg-key-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** @description A descriptive name for the new key. */ - name?: string; - /** @description A GPG key in ASCII-armored format. */ - armored_public_key: string; - }; - }; + "repos/disable-vulnerability-alerts": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["gpg-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a GPG key for the authenticated user - * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/get-gpg-key-for-authenticated-user": { - parameters: { - path: { - gpg_key_id: components["parameters"]["gpg-key-id"]; - }; + "repos/download-zipball-archive": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + ref: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + /** @example https://codeload.github.com/me/myprivate/legacy.zip/master?login=me&token=thistokenexpires */ + Location?: string; + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["gpg-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a GPG key for the authenticated user - * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/delete-gpg-key-for-authenticated-user": { - parameters: { - path: { - gpg_key_id: components["parameters"]["gpg-key-id"]; - }; + "repos/create-using-template": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the template repository. The name is not case sensitive. */ + template_owner: string; + /** @description The name of the template repository without the `.git` extension. The name is not case sensitive. */ + template_repo: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The organization or person who will own the new repository. To create a new repository in an organization, the authenticated user must be a member of the specified organization. */ + owner?: string; + /** @description The name of the new repository. */ + name: string; + /** @description A short description of the new repository. */ + description?: string; + /** + * @description Set to `true` to include the directory structure and files from all branches in the template repository, and not just the default branch. Default: `false`. + * @default false + */ + include_all_branches: boolean; + /** + * @description Either `true` to create a new private repository or `false` to create a new public one. + * @default false + */ + private: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List app installations accessible to the user access token - * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You can find the permissions for the installation under the `permissions` key. - */ - "apps/list-installations-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "repos/list-public": { + parameters: { + query?: { + /** @description A repository ID. Only return repositories with an ID greater than this ID. */ + since?: components["parameters"]["since-repo"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description You can find the permissions for the installation under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; + "actions/list-environment-secrets": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["actions-secret"][]; + }; + }; + }; }; - content: { - "application/json": { - total_count: number; - installations: components["schemas"]["installation"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List repositories accessible to the user access token - * @description List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - * - * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. - * - * The access the user has to each repository is included in the hash under the `permissions` key. - */ - "apps/list-installation-repos-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - installation_id: components["parameters"]["installation-id"]; - }; }; - responses: { - /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ - 200: { - headers: { - Link: components["headers"]["link"]; + "actions/get-environment-public-key": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-public-key"]; + }; + }; }; - content: { - "application/json": { - total_count: number; - repository_selection?: string; - repositories: components["schemas"]["repository"][]; - }; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add a repository to an app installation - * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - "apps/add-repo-to-installation-for-authenticated-user": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - repository_id: components["parameters"]["repository-id"]; - }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Remove a repository from an app installation - * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. - * - * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. - */ - "apps/remove-repo-from-installation-for-authenticated-user": { - parameters: { - path: { - installation_id: components["parameters"]["installation-id"]; - repository_id: components["parameters"]["repository-id"]; - }; + "actions/get-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - /** @description Returned when the application is installed on `all` repositories in the organization, or if this request would remove the last repository that the application has access to in the organization. */ - 422: { - content: never; - }; - }; - }; - /** - * Get interaction restrictions for your public repositories - * @description Shows which type of GitHub user can interact with your public repositories and when the restriction expires. - */ - "interactions/get-restrictions-for-authenticated-user": { - responses: { - /** @description Default response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"] | Record; - }; - }; - /** @description Response when there are no restrictions */ - 204: { - content: never; - }; - }; - }; - /** - * Set interaction restrictions for your public repositories - * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. - */ - "interactions/set-restrictions-for-authenticated-user": { - requestBody: { - content: { - "application/json": components["schemas"]["interaction-limit"]; - }; + "actions/create-or-update-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get an environment public key](https://docs.github.com/rest/actions/secrets#get-an-environment-public-key) endpoint. */ + encrypted_value: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + }; + }; + }; + responses: { + /** @description Response when creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response when updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["interaction-limit-response"]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Remove interaction restrictions from your public repositories - * @description Removes any interaction restrictions from your public repositories. - */ - "interactions/remove-restrictions-for-authenticated-user": { - responses: { - /** @description Response */ - 204: { - content: never; - }; - }; - }; - /** - * List user account issues assigned to the authenticated user - * @description List issues across owned and member repositories assigned to the authenticated user. - * - * **Note**: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. For this - * reason, "Issues" endpoints may return both issues and pull requests in the response. You can identify pull requests by - * the `pull_request` key. Be aware that the `id` of a pull request returned from "Issues" endpoints will be an _issue id_. To find out the pull - * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. - */ - "issues/list-for-authenticated-user": { - parameters: { - query?: { - /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ - filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; - /** @description Indicates the state of the issues to return. */ - state?: "open" | "closed" | "all"; - labels?: components["parameters"]["labels"]; - /** @description What to sort results by. */ - sort?: "created" | "updated" | "comments"; - direction?: components["parameters"]["direction"]; - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "actions/delete-environment-secret": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["issue"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List public SSH keys for the authenticated user - * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/list-public-ssh-keys-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "actions/list-environment-variables": { + parameters: { + query?: { + /** @description The number of results per page (max 30). */ + per_page?: components["parameters"]["variables-per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + variables: components["schemas"]["actions-variable"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a public SSH key for the authenticated user - * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/create-public-ssh-key-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description A descriptive name for the new key. - * @example Personal MacBook Air - */ - title?: string; - /** @description The public SSH key to add to your GitHub account. */ - key: string; - }; - }; + "actions/create-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name: string; + /** @description The value of the variable. */ + value: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a public SSH key for the authenticated user - * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/get-public-ssh-key-for-authenticated-user": { - parameters: { - path: { - key_id: components["parameters"]["key-id"]; - }; + "actions/get-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-variable"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete a public SSH key for the authenticated user - * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). - */ - "users/delete-public-ssh-key-for-authenticated-user": { - parameters: { - path: { - key_id: components["parameters"]["key-id"]; - }; + "actions/delete-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List subscriptions for the authenticated user - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - "apps/list-subscriptions-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "actions/update-environment-variable": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + /** @description The name of the variable. */ + name: components["parameters"]["variable-name"]; + /** @description The name of the environment. */ + environment_name: components["parameters"]["environment-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the variable. */ + name?: string; + /** @description The value of the variable. */ + value?: string; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["user-marketplace-purchase"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List subscriptions for the authenticated user (stubbed) - * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). - */ - "apps/list-subscriptions-for-authenticated-user-stubbed": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "search/code": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching code](https://docs.github.com/search-github/searching-on-github/searching-code)" for a detailed list of qualifiers. */ + q: string; + /** + * @deprecated + * @description **This field is deprecated.** Sorts the results of your query. Can only be `indexed`, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) + */ + sort?: "indexed"; + /** + * @deprecated + * @description **This field is deprecated.** Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. + */ + order?: "desc" | "asc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["code-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "search/commits": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching commits](https://docs.github.com/search-github/searching-on-github/searching-commits)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by `author-date` or `committer-date`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "author-date" | "committer-date"; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["commit-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "search/issues-and-pull-requests": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching issues and pull requests](https://docs.github.com/search-github/searching-on-github/searching-issues-and-pull-requests)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by the number of `comments`, `reactions`, `reactions-+1`, `reactions--1`, `reactions-smile`, `reactions-thinking_face`, `reactions-heart`, `reactions-tada`, or `interactions`. You can also sort results by how recently the items were `created` or `updated`, Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "comments" | "reactions" | "reactions-+1" | "reactions--1" | "reactions-smile" | "reactions-thinking_face" | "reactions-heart" | "reactions-tada" | "interactions" | "created" | "updated"; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["issue-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "search/labels": { + parameters: { + query: { + /** @description The id of the repository. */ + repository_id: number; + /** @description The search keywords. This endpoint does not accept qualifiers in the query. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ + q: string; + /** @description Sorts the results of your query by when the label was `created` or `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "created" | "updated"; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["label-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "search/repos": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching for repositories](https://docs.github.com/articles/searching-for-repositories/)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by number of `stars`, `forks`, or `help-wanted-issues` or how recently the items were `updated`. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "stars" | "forks" | "help-wanted-issues" | "updated"; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["repo-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "search/topics": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). */ + q: string; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["topic-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + }; + }; + "search/users": { + parameters: { + query: { + /** @description The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see [Constructing a search query](https://docs.github.com/rest/search/search#constructing-a-search-query). See "[Searching users](https://docs.github.com/search-github/searching-on-github/searching-users)" for a detailed list of qualifiers. */ + q: string; + /** @description Sorts the results of your query by number of `followers` or `repositories`, or when the person `joined` GitHub. Default: [best match](https://docs.github.com/rest/search/search#ranking-search-results) */ + sort?: "followers" | "repositories" | "joined"; + /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */ + order?: components["parameters"]["order"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + incomplete_results: boolean; + items: components["schemas"]["user-search-result-item"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "teams/get-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["user-marketplace-purchase"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - }; - }; - /** - * List organization memberships for the authenticated user - * @description Lists all of the authenticated user's organization memberships. - */ - "orgs/list-memberships-for-authenticated-user": { - parameters: { - query?: { - /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ - state?: "active" | "pending"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "teams/delete-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["org-membership"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an organization membership for the authenticated user - * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. - */ - "orgs/get-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; + "teams/update-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The name of the team. */ + name: string; + /** @description The description of the team. */ + description?: string; + /** + * @description The level of privacy this team should have. Editing teams without specifying this parameter leaves `privacy` intact. The options are: + * **For a non-nested team:** + * * `secret` - only visible to organization owners and members of this team. + * * `closed` - visible to all members of this organization. + * **For a parent or child team:** + * * `closed` - visible to all members of this organization. + * @enum {string} + */ + privacy?: "secret" | "closed"; + /** + * @description The notification setting the team has chosen. Editing teams without specifying this parameter leaves `notification_setting` intact. The options are: + * * `notifications_enabled` - team members receive notifications when the team is @mentioned. + * * `notifications_disabled` - no one receives notifications. + * @enum {string} + */ + notification_setting?: "notifications_enabled" | "notifications_disabled"; + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ + permission: "pull" | "push" | "admin"; + /** @description The ID of a team to set as the parent team. */ + parent_team_id?: number | null; + }; + }; + }; + responses: { + /** @description Response when the updated information already exists */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/list-discussions-legacy": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Update an organization membership for the authenticated user - * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. - */ - "orgs/update-membership-for-authenticated-user": { - parameters: { - path: { - org: components["parameters"]["org"]; - }; + "teams/create-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title: string; + /** @description The discussion post's body text. */ + body: string; + /** + * @description Private posts are only visible to team members, organization owners, and team maintainers. Public posts are visible to all members of the organization. Set to `true` to create a private post. + * @default false + */ + private: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; }; - requestBody: { - content: { - "application/json": { - /** - * @description The state that the membership should be in. Only `"active"` will be accepted. - * @enum {string} - */ - state: "active"; + "teams/get-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; }; - }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["org-membership"]; - }; - }; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List user migrations - * @description Lists all migrations a user has started. - */ - "migrations/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "teams/delete-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["migration"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Start a user migration - * @description Initiates the generation of a user migration archive. - */ - "migrations/start-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description Lock the repositories being migrated at the start of the migration - * @example true - */ - lock_repositories?: boolean; - /** - * @description Indicates whether metadata should be excluded and only git source should be included for the migration. - * @example true - */ - exclude_metadata?: boolean; - /** - * @description Indicates whether the repository git data should be excluded from the migration. - * @example true - */ - exclude_git_data?: boolean; - /** - * @description Do not include attachments in the migration - * @example true - */ - exclude_attachments?: boolean; - /** - * @description Do not include releases in the migration - * @example true - */ - exclude_releases?: boolean; - /** - * @description Indicates whether projects owned by the organization or users should be excluded. - * @example true - */ - exclude_owner_projects?: boolean; - /** - * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). - * @default false - * @example true - */ - org_metadata_only?: boolean; - /** - * @description Exclude attributes from the API response to improve performance - * @example [ - * "repositories" - * ] - */ - exclude?: "repositories"[]; - repositories: string[]; - }; - }; + "teams/update-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description The discussion post's title. */ + title?: string; + /** @description The discussion post's body text. */ + body?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a user migration status - * @description Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values: - * - * * `pending` - the migration hasn't started yet. - * * `exporting` - the migration is in progress. - * * `exported` - the migration finished successfully. - * * `failed` - the migration failed. - * - * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). - */ - "migrations/get-status-for-authenticated-user": { - parameters: { - query?: { - exclude?: string[]; - }; - path: { - migration_id: components["parameters"]["migration-id"]; - }; + "teams/list-discussion-comments-legacy": { + parameters: { + query?: { + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["migration"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Download a user migration archive - * @description Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects: - * - * * attachments - * * bases - * * commit\_comments - * * issue\_comments - * * issue\_events - * * issues - * * milestones - * * organizations - * * projects - * * protected\_branches - * * pull\_request\_reviews - * * pull\_requests - * * releases - * * repositories - * * review\_comments - * * schema - * * users - * - * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. - */ - "migrations/get-archive-for-authenticated-user": { - parameters: { - path: { - migration_id: components["parameters"]["migration-id"]; - }; + "teams/create-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 302: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Delete a user migration archive - * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. - */ - "migrations/delete-archive-for-authenticated-user": { - parameters: { - path: { - migration_id: components["parameters"]["migration-id"]; - }; + "teams/get-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unlock a user repository - * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. - */ - "migrations/unlock-repo-for-authenticated-user": { - parameters: { - path: { - migration_id: components["parameters"]["migration-id"]; - repo_name: components["parameters"]["repo-name"]; - }; + "teams/delete-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories for a user migration - * @description Lists all the repositories for this user migration. - */ - "migrations/list-repos-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - migration_id: components["parameters"]["migration-id"]; - }; + "teams/update-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description The discussion comment's body text. */ + body: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-discussion-comment"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List organizations for the authenticated user - * @description List organizations for the authenticated user. - * - * **OAuth scope requirements** - * - * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. - */ - "orgs/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "reactions/list-for-team-discussion-comment-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion comment. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List packages for the authenticated user's namespace - * @description Lists packages owned by the authenticated user within the user's namespace. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/list-packages-for-authenticated-user": { - parameters: { - query: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - visibility?: components["parameters"]["package-visibility"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; + "reactions/create-for-team-discussion-comment-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + /** @description The number that identifies the comment. */ + comment_number: components["parameters"]["comment-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion comment. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - }; - }; - /** - * Get a package for the authenticated user - * @description Gets a specific package for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; + "reactions/list-for-team-discussion-legacy": { + parameters: { + query?: { + /** @description Returns a single [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions). Omit this parameter to list all reactions to a team discussion. */ + content?: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - /** - * Delete a package for the authenticated user - * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/delete-package-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; + "reactions/create-for-team-discussion-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The number that identifies the discussion. */ + discussion_number: components["parameters"]["discussion-number"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The [reaction type](https://docs.github.com/rest/reactions/reactions#about-reactions) to add to the team discussion. + * @enum {string} + */ + content: "+1" | "-1" | "laugh" | "confused" | "heart" | "hooray" | "rocket" | "eyes"; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reaction"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package for the authenticated user - * @description Restores a package owned by the authenticated user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/restore-package-for-authenticated-user": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; + "teams/list-pending-invitations-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-invitation"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List package versions for a package owned by the authenticated user - * @description Lists package versions for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { - parameters: { - query?: { - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - /** @description The state of the package, either active or deleted. */ - state?: "active" | "deleted"; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - }; + "teams/list-members-legacy": { + parameters: { + query?: { + /** @description Filters members returned by their role in the team. */ + role?: "member" | "maintainer" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/get-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if user is a member */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if user is not a member */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a package version for the authenticated user - * @description Gets a specific package version for a package owned by the authenticated user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-version-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - }; + "teams/add-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + /** @description Not Found if team synchronization is set up */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Unprocessable Entity if you attempt to add an organization to a team or you attempt to add a user to a team when they are not a member of at least one other team in the same organization */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - /** - * Delete a package version for the authenticated user - * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. - * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/delete-package-version-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - }; + "teams/remove-member-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if team synchronization is setup */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package version for the authenticated user - * @description Restores a package version owned by the authenticated user. - * - * You can restore a deleted package version under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/restore-package-version-for-authenticated-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - }; + "teams/get-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/add-or-update-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The role that this user should have in the team. + * @default member + * @enum {string} + */ + role: "member" | "maintainer"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-membership"]; + }; + }; + /** @description Forbidden if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + /** @description Unprocessable Entity if you attempt to add an organization to a team */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a user project - * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. - */ - "projects/create-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description Name of the project - * @example Week One Sprint - */ - name: string; - /** - * @description Body of the project - * @example This project represents the sprint of the first week in January - */ - body?: string | null; - }; - }; + "teams/remove-membership-for-user-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if team synchronization is set up */ + 403: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["project"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed_simple"]; - }; - }; - /** - * List public email addresses for the authenticated user - * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. - */ - "users/list-public-emails-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "teams/list-projects-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/check-permissions-for-project-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-project"]; + }; + }; + /** @description Not Found if project is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["email"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories for the authenticated user - * @description Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - * - * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - */ - "repos/list-for-authenticated-user": { - parameters: { - query?: { - /** @description Limit results to repositories with the specified visibility. */ - visibility?: "all" | "public" | "private"; - /** - * @description Comma-separated list of values. Can include: - * * `owner`: Repositories that are owned by the authenticated user. - * * `collaborator`: Repositories that the user has been added to as a collaborator. - * * `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. - */ - affiliation?: string; - /** @description Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ - type?: "all" | "owner" | "public" | "private" | "member"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - since?: components["parameters"]["since-repo-date"]; - before?: components["parameters"]["before-repo-date"]; - }; + "teams/add-or-update-project-permissions-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant to the team for this project. Default: the team's `permission` attribute will be used to determine what permission to grant the team on this project. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." + * @enum {string} + */ + permission?: "read" | "write" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Forbidden if the project is not owned by the organization */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + message?: string; + documentation_url?: string; + }; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/remove-project-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The unique identifier of the project. */ + project_id: components["parameters"]["project-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Create a repository for the authenticated user - * @description Creates a new repository for the authenticated user. - * - * **OAuth scope requirements** - * - * When using [OAuth](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/), authorizations must include: - * - * * `public_repo` scope or `repo` scope to create a public repository. Note: For GitHub AE, use `repo` scope to create an internal repository. - * * `repo` scope to create a private repository. - */ - "repos/create-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description The name of the repository. - * @example Team Environment - */ - name: string; - /** @description A short description of the repository. */ - description?: string; - /** @description A URL with more information about the repository. */ - homepage?: string; - /** - * @description Whether the repository is private. - * @default false - */ - private?: boolean; - /** - * @description Whether issues are enabled. - * @default true - * @example true - */ - has_issues?: boolean; - /** - * @description Whether projects are enabled. - * @default true - * @example true - */ - has_projects?: boolean; - /** - * @description Whether the wiki is enabled. - * @default true - * @example true - */ - has_wiki?: boolean; - /** - * @description Whether discussions are enabled. - * @default false - * @example true - */ - has_discussions?: boolean; - /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ - team_id?: number; - /** - * @description Whether the repository is initialized with a minimal README. - * @default false - */ - auto_init?: boolean; - /** - * @description The desired language or platform to apply to the .gitignore. - * @example Haskell - */ - gitignore_template?: string; - /** - * @description The license keyword of the open source license for this repository. - * @example mit - */ - license_template?: string; - /** - * @description Whether to allow squash merges for pull requests. - * @default true - * @example true - */ - allow_squash_merge?: boolean; - /** - * @description Whether to allow merge commits for pull requests. - * @default true - * @example true - */ - allow_merge_commit?: boolean; - /** - * @description Whether to allow rebase merges for pull requests. - * @default true - * @example true - */ - allow_rebase_merge?: boolean; - /** - * @description Whether to allow Auto-merge to be used on pull requests. - * @default false - * @example false - */ - allow_auto_merge?: boolean; - /** - * @description Whether to delete head branches when pull requests are merged - * @default false - * @example false - */ - delete_branch_on_merge?: boolean; - /** - * @description The default value for a squash merge commit title: - * - * - `PR_TITLE` - default to the pull request's title. - * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - * @enum {string} - */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** - * @description The default value for a squash merge commit message: - * - * - `PR_BODY` - default to the pull request's body. - * - `COMMIT_MESSAGES` - default to the branch's commit messages. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** - * @description The default value for a merge commit title. - * - * - `PR_TITLE` - default to the pull request's title. - * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - * @enum {string} - */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** - * @description The default value for a merge commit message. - * - * - `PR_TITLE` - default to the pull request's title. - * - `PR_BODY` - default to the pull request's body. - * - `BLANK` - default to a blank commit message. - * @enum {string} - */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** - * @description Whether downloads are enabled. - * @default true - * @example true - */ - has_downloads?: boolean; - /** - * @description Whether this repository acts as a template that can be used to generate new repositories. - * @default false - * @example true - */ - is_template?: boolean; - }; - }; + "teams/list-repos-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "teams/check-permissions-for-repo-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Alternative response with extra repository information */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-repository"]; + }; + }; + /** @description Response if repository is managed by this team */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Not Found if repository is not managed by this team */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 201: { - headers: { - /** @example https://api.github.com/repos/octocat/Hello-World */ - Location?: string; - }; - content: { - "application/json": components["schemas"]["repository"]; - }; - }; - 304: components["responses"]["not_modified"]; - 400: components["responses"]["bad_request"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List repository invitations for the authenticated user - * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. - */ - "repos/list-invitations-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "teams/add-or-update-repo-permissions-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The permission to grant the team on this repository. If no permission is specified, the team's `permission` attribute will be used to determine what permission to grant the team on this repository. + * @enum {string} + */ + permission?: "pull" | "push" | "admin"; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "teams/remove-repo-legacy": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["repository-invitation"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** Decline a repository invitation */ - "repos/decline-invitation-for-authenticated-user": { - parameters: { - path: { - invitation_id: components["parameters"]["invitation-id"]; - }; + "teams/list-child-legacy": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the team. */ + team_id: components["parameters"]["team-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if child teams exist */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team"][]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/update-authenticated": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description The new name of the user. + * @example Omar Jahandar + */ + name?: string; + /** + * @description The publicly visible email address of the user. + * @example omar@example.com + */ + email?: string; + /** + * @description The new blog URL of the user. + * @example blog.example.com + */ + blog?: string; + /** + * @description The new Twitter username of the user. + * @example therealomarj + */ + twitter_username?: string | null; + /** + * @description The new company of the user. + * @example Acme corporation + */ + company?: string; + /** + * @description The new location of the user. + * @example Berlin, Germany + */ + location?: string; + /** @description The new hiring availability of the user. */ + hireable?: boolean; + /** @description The new short biography of the user. */ + bio?: string; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-blocked-by-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/check-blocked": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description If the user is blocked */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description If the user is not blocked */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - /** Accept a repository invitation */ - "repos/accept-invitation-for-authenticated-user": { - parameters: { - path: { - invitation_id: components["parameters"]["invitation-id"]; - }; + "users/block": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/unblock": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description ID of the Repository to filter on */ + repository_id?: components["parameters"]["repository-id-in-query"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + codespaces: components["schemas"]["codespace"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Repository id for this codespace */ + repository_id: number; + /** @description Git ref (typically a branch name) for this codespace */ + ref?: string; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description IP for location auto-detection when proxying a request */ + client_ip?: string; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Whether to authorize requested permissions from devcontainer.json */ + multi_repo_permissions_opt_out?: boolean; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Duration in minutes after codespace has gone idle in which it will be deleted. Must be integer minutes between 0 and 43200 (30 days). */ + retention_period_minutes?: number; + } | { + /** @description Pull request number for this codespace */ + pull_request: { + /** @description Pull request number */ + pull_request_number: number; + /** @description Repository id for this codespace */ + repository_id: number; + }; + /** @description The requested location for a new codespace. Best efforts are made to respect this upon creation. Assigned by IP if not provided. */ + location?: string; + /** + * @description The geographic area for this codespace. If not specified, the value is assigned by IP. This property replaces `location`, which is being deprecated. + * @enum {string} + */ + geo?: "EuropeWest" | "SoutheastAsia" | "UsEast" | "UsWest"; + /** @description Machine type to use for this codespace */ + machine?: string; + /** @description Path to devcontainer.json config to use for this codespace */ + devcontainer_path?: string; + /** @description Working directory for this codespace */ + working_directory?: string; + /** @description Time in minutes before codespace stops from inactivity */ + idle_timeout_minutes?: number; + }; + }; + }; + responses: { + /** @description Response when the codespace was successfully created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + /** @description Response when the codespace creation partially failed but is being retried in the background */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; + }; + }; + "codespaces/list-secrets-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + secrets: components["schemas"]["codespaces-secret"][]; + }; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 409: components["responses"]["conflict"]; - }; - }; - /** - * List social accounts for the authenticated user - * @description Lists all of your social accounts. - */ - "users/list-social-accounts-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "codespaces/get-public-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-user-public-key"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Add social accounts for the authenticated user - * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - "users/add-social-account-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description Full URLs for the social media profiles to add. - * @example [] - */ - account_urls: string[]; - }; - }; + "codespaces/get-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespaces-secret"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Delete social accounts for the authenticated user - * @description Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. - */ - "users/delete-social-account-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description Full URLs for the social media profiles to delete. - * @example [] - */ - account_urls: string[]; - }; - }; + "codespaces/create-or-update-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description Value for your secret, encrypted with [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved from the [Get the public key for the authenticated user](https://docs.github.com/rest/codespaces/secrets#get-public-key-for-the-authenticated-user) endpoint. */ + encrypted_value?: string; + /** @description ID of the key you used to encrypt the secret. */ + key_id: string; + /** @description An array of repository ids that can access the user secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Set selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#set-selected-repositories-for-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids?: (number | string)[]; + }; + }; + }; + responses: { + /** @description Response after successfully creating a secret */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["empty-object"]; + }; + }; + /** @description Response after successfully updating a secret */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List SSH signing keys for the authenticated user - * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/list-ssh-signing-keys-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "codespaces/delete-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["ssh-signing-key"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Create a SSH signing key for the authenticated user - * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/create-ssh-signing-key-for-authenticated-user": { - requestBody: { - content: { - "application/json": { - /** - * @description A descriptive name for the new key. - * @example Personal MacBook Air - */ - title?: string; - /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ - key: string; - }; - }; + "codespaces/list-repositories-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repositories: components["schemas"]["minimal-repository"][]; + }; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/set-repositories-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description An array of repository ids for which a codespace can access the secret. You can manage the list of selected repositories using the [List selected repositories for a user secret](https://docs.github.com/rest/codespaces/secrets#list-selected-repositories-for-a-user-secret), [Add a selected repository to a user secret](https://docs.github.com/rest/codespaces/secrets#add-a-selected-repository-to-a-user-secret), and [Remove a selected repository from a user secret](https://docs.github.com/rest/codespaces/secrets#remove-a-selected-repository-from-a-user-secret) endpoints. */ + selected_repository_ids: number[]; + }; + }; + }; + responses: { + /** @description No Content when repositories were added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/add-repository-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was added to the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/remove-repository-for-secret-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the secret. */ + secret_name: components["parameters"]["secret-name"]; + repository_id: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content when repository was removed from the selected list */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/get-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/delete-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 202: components["responses"]["accepted"]; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/update-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description A valid machine to transition this codespace to. */ + machine?: string; + /** @description Display name for this codespace */ + display_name?: string; + /** @description Recently opened folders inside the codespace. It is currently used by the clients to determine the folder path to load the codespace in. */ + recent_folders?: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "codespaces/export-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 202: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/get-export-details-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */ + export_id: components["parameters"]["export-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace-export-details"]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 201: { - content: { - "application/json": components["schemas"]["ssh-signing-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get an SSH signing key for the authenticated user - * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/get-ssh-signing-key-for-authenticated-user": { - parameters: { - path: { - ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; - }; + "codespaces/codespace-machines-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + machines: components["schemas"]["codespace-machine"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/publish-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A name for the new repository. */ + name?: string; + /** + * @description Whether the new repository should be private. + * @default false + */ + private: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace-with-full-repository"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "codespaces/start-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + /** @description Payment required */ + 402: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + 500: components["responses"]["internal_error"]; + }; + }; + "codespaces/stop-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The name of the codespace. */ + codespace_name: components["parameters"]["codespace-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["codespace"]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 500: components["responses"]["internal_error"]; + }; + }; + "packages/list-docker-migration-conflicting-packages-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["ssh-signing-key"]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Delete an SSH signing key for the authenticated user - * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." - */ - "users/delete-ssh-signing-key-for-authenticated-user": { - parameters: { - path: { - ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; - }; + "users/set-primary-email-visibility-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Denotes whether an email is publicly visible. + * @enum {string} + */ + visibility: "public" | "private"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-emails-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/add-email-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** + * @description Adds one or more email addresses to your GitHub account. Must contain at least one email address. **Note:** Alternatively, you can pass a single email address or an `array` of emails addresses directly, but we recommend that you pass an object using the `emails` key. + * @example [] + */ + emails: string[]; + } | string[] | string; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/delete-email-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": { + /** @description Email addresses associated with the GitHub user account. */ + emails: string[]; + } | string[] | string; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-followers-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/list-followed-by-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "users/check-person-is-followed-by-authenticated": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if the person is followed by the authenticated user */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description if the person is not followed by the authenticated user */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories starred by the authenticated user - * @description Lists repositories the authenticated user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - "activity/list-repos-starred-by-authenticated-user": { - parameters: { - query?: { - sort?: components["parameters"]["sort-starred"]; - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "users/follow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/unfollow": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/list-gpg-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** @description A descriptive name for the new key. */ + name?: string; + /** @description A GPG key in ASCII-armored format. */ + armored_public_key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-gpg-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the GPG key. */ + gpg_key_id: components["parameters"]["gpg-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "apps/list-installations-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description You can find the permissions for the installation under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + installations: components["schemas"]["installation"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "apps/list-installation-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The access the user has to each repository is included in the hash under the `permissions` key. */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": { + total_count: number; + repository_selection?: string; + repositories: components["schemas"]["repository"][]; + }; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/add-repo-to-installation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/remove-repo-from-installation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the installation. */ + installation_id: components["parameters"]["installation-id"]; + /** @description The unique identifier of the repository. */ + repository_id: components["parameters"]["repository-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + /** @description Returned when the application is installed on `all` repositories in the organization, or if this request would remove the last repository that the application has access to in the organization. */ + 422: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["repository"][]; - "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Check if a repository is starred by the authenticated user - * @description Whether the authenticated user has starred the repository. - */ - "activity/check-repo-is-starred-by-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "interactions/get-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Default response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"] | Record; + }; + }; + /** @description Response when there are no restrictions */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response if this repository is starred by you */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - /** @description Not Found if this repository is not starred by you */ - 404: { - content: { - "application/json": components["schemas"]["basic-error"]; - }; - }; - }; - }; - /** - * Star a repository for the authenticated user - * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." - */ - "activity/star-repo-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "interactions/set-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["interaction-limit"]; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["interaction-limit-response"]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; + }; + "interactions/remove-restrictions-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Unstar a repository for the authenticated user - * @description Unstar a repository that the authenticated user has previously starred. - */ - "activity/unstar-repo-for-authenticated-user": { - parameters: { - path: { - owner: components["parameters"]["owner"]; - repo: components["parameters"]["repo"]; - }; + "issues/list-for-authenticated-user": { + parameters: { + query?: { + /** @description Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means issues created by you. `mentioned` means issues mentioning you. `subscribed` means issues you're subscribed to updates for. `all` or `repos` means all issues you can see, regardless of participation or creation. */ + filter?: "assigned" | "created" | "mentioned" | "subscribed" | "repos" | "all"; + /** @description Indicates the state of the issues to return. */ + state?: "open" | "closed" | "all"; + /** @description A list of comma separated label names. Example: `bug,ui,@high` */ + labels?: components["parameters"]["labels"]; + /** @description What to sort results by. */ + sort?: "created" | "updated" | "comments"; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issue"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List repositories watched by the authenticated user - * @description Lists repositories the authenticated user is watching. - */ - "activity/list-watched-repos-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "users/list-public-ssh-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-public-ssh-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the key. */ + key_id: components["parameters"]["key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-subscriptions-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 404: components["responses"]["not_found"]; + }; + }; + "apps/list-subscriptions-for-authenticated-user-stubbed": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["user-marketplace-purchase"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + }; + }; + "orgs/list-memberships-for-authenticated-user": { + parameters: { + query?: { + /** @description Indicates the state of the memberships to return. If not specified, the API returns both active and pending memberships. */ + state?: "active" | "pending"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "orgs/get-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List teams for the authenticated user - * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. - */ - "teams/list-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; + "orgs/update-membership-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The state that the membership should be in. Only `"active"` will be accepted. + * @enum {string} + */ + state: "active"; + }; + }; + }; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["org-membership"]; + }; + }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "migrations/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "migrations/start-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Lock the repositories being migrated at the start of the migration + * @example true + */ + lock_repositories?: boolean; + /** + * @description Indicates whether metadata should be excluded and only git source should be included for the migration. + * @example true + */ + exclude_metadata?: boolean; + /** + * @description Indicates whether the repository git data should be excluded from the migration. + * @example true + */ + exclude_git_data?: boolean; + /** + * @description Do not include attachments in the migration + * @example true + */ + exclude_attachments?: boolean; + /** + * @description Do not include releases in the migration + * @example true + */ + exclude_releases?: boolean; + /** + * @description Indicates whether projects owned by the organization or users should be excluded. + * @example true + */ + exclude_owner_projects?: boolean; + /** + * @description Indicates whether this should only include organization metadata (repositories array should be empty and will ignore other flags). + * @default false + * @example true + */ + org_metadata_only: boolean; + /** + * @description Exclude attributes from the API response to improve performance + * @example [ + * "repositories" + * ] + */ + exclude?: "repositories"[]; + repositories: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["team-full"][]; - }; - }; - 304: components["responses"]["not_modified"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List users - * @description Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts. - * - * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. - */ - "users/list": { - parameters: { - query?: { - since?: components["parameters"]["since-user"]; - per_page?: components["parameters"]["per-page"]; - }; + "migrations/get-status-for-authenticated-user": { + parameters: { + query?: { + exclude?: string[]; + }; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["migration"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/get-archive-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 302: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "migrations/delete-archive-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/unlock-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + /** @description repo_name parameter */ + repo_name: components["parameters"]["repo-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "migrations/list-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The unique identifier of the migration. */ + migration_id: components["parameters"]["migration-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next" */ - Link?: string; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - 304: components["responses"]["not_modified"]; - }; - }; - /** - * Get a user - * @description Provides publicly available information about someone with a GitHub account. - * - * GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below" - * - * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication). - * - * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". - */ - "users/get-by-username": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "orgs/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/list-packages-for-authenticated-user": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + }; + }; + "packages/get-package-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get list of conflicting packages during Docker migration for user - * @description Lists all packages that are in a specific user's namespace, that the requesting user has access to, and that encountered a conflict during Docker migration. - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. - */ - "packages/list-docker-migration-conflicting-packages-for-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "packages/delete-package-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * List events for the authenticated user - * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. - */ - "activity/list-events-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "packages/restore-package-for-authenticated-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-all-package-versions-for-package-owned-by-authenticated-user": { + parameters: { + query?: { + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description The state of the package, either active or deleted. */ + state?: "active" | "deleted"; + }; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List organization events for the authenticated user - * @description This is the user's organization dashboard. You must be authenticated as the user to view this. - */ - "activity/list-org-events-for-authenticated-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - org: components["parameters"]["org"]; - }; + "packages/delete-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-version-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Name of the project + * @example Week One Sprint + */ + name: string; + /** + * @description Body of the project + * @example This project represents the sprint of the first week in January + */ + body?: string | null; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed_simple"]; + }; + }; + "users/list-public-emails-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["email"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/list-for-authenticated-user": { + parameters: { + query?: { + /** @description Limit results to repositories with the specified visibility. */ + visibility?: "all" | "public" | "private"; + /** @description Comma-separated list of values. Can include: + * * `owner`: Repositories that are owned by the authenticated user. + * * `collaborator`: Repositories that the user has been added to as a collaborator. + * * `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on. */ + affiliation?: string; + /** @description Limit results to repositories of the specified type. Will cause a `422` error if used in the same request as **visibility** or **affiliation**. */ + type?: "all" | "owner" | "public" | "private" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description Only show repositories updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since-repo-date"]; + /** @description Only show repositories updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + before?: components["parameters"]["before-repo-date"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/create-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description The name of the repository. + * @example Team Environment + */ + name: string; + /** @description A short description of the repository. */ + description?: string; + /** @description A URL with more information about the repository. */ + homepage?: string; + /** + * @description Whether the repository is private. + * @default false + */ + private: boolean; + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ + has_issues: boolean; + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ + has_projects: boolean; + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ + has_wiki: boolean; + /** + * @description Whether discussions are enabled. + * @default false + * @example true + */ + has_discussions: boolean; + /** @description The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization. */ + team_id?: number; + /** + * @description Whether the repository is initialized with a minimal README. + * @default false + */ + auto_init: boolean; + /** + * @description The desired language or platform to apply to the .gitignore. + * @example Haskell + */ + gitignore_template?: string; + /** + * @description The license keyword of the open source license for this repository. + * @example mit + */ + license_template?: string; + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ + allow_squash_merge: boolean; + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ + allow_merge_commit: boolean; + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ + allow_rebase_merge: boolean; + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ + allow_auto_merge: boolean; + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ + delete_branch_on_merge: boolean; + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ + squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ + merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ + merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ + has_downloads: boolean; + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ + is_template: boolean; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + /** @example https://api.github.com/repos/octocat/Hello-World */ + Location?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"]; + }; + }; + 304: components["responses"]["not_modified"]; + 400: components["responses"]["bad_request"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "repos/list-invitations-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository-invitation"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "repos/decline-invitation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "repos/accept-invitation-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the invitation. */ + invitation_id: components["parameters"]["invitation-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 409: components["responses"]["conflict"]; + }; + }; + "users/list-social-accounts-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/add-social-account-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Full URLs for the social media profiles to add. + * @example [] + */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/delete-social-account-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description Full URLs for the social media profiles to delete. + * @example [] + */ + account_urls: string[]; + }; + }; + }; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/list-ssh-signing-keys-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/create-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** + * @description A descriptive name for the new key. + * @example Personal MacBook Air + */ + title?: string; + /** @description The public SSH key to add to your GitHub account. For more information, see "[Checking for existing SSH keys](https://docs.github.com/authentication/connecting-to-github-with-ssh/checking-for-existing-ssh-keys)." */ + key: string; + }; + }; + }; + responses: { + /** @description Response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "users/get-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the SSH signing key. */ + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/delete-ssh-signing-key-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The unique identifier of the SSH signing key. */ + ssh_signing_key_id: components["parameters"]["ssh-signing-key-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-repos-starred-by-authenticated-user": { + parameters: { + query?: { + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort-starred"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["repository"][]; + "application/vnd.github.v3.star+json": components["schemas"]["starred-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "activity/check-repo-is-starred-by-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response if this repository is starred by you */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + /** @description Not Found if this repository is not starred by you */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["basic-error"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; + "activity/star-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/unstar-repo-for-authenticated-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository without the `.git` extension. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "activity/list-watched-repos-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "teams/list-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["team-full"][]; + }; + }; + 304: components["responses"]["not_modified"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "users/list": { + parameters: { + query?: { + /** @description A user ID. Only return users with an ID greater than this ID. */ + since?: components["parameters"]["since-user"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + /** @example ; rel="next" */ + Link?: string; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + 304: components["responses"]["not_modified"]; }; - }; - }; - }; - /** List public events for a user */ - "activity/list-public-events-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List followers of a user - * @description Lists the people following the specified user. - */ - "users/list-followers-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; - }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; - }; - }; - }; - }; - /** - * List the people a user follows - * @description Lists the people who the specified user follows. - */ - "users/list-following-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["simple-user"][]; + "users/get-by-username": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["private-user"] | components["schemas"]["public-user"]; + }; + }; + 404: components["responses"]["not_found"]; }; - }; }; - }; - /** Check if a user follows another user */ - "users/check-following-for-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - target_user: string; - }; + "packages/list-docker-migration-conflicting-packages-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; }; - responses: { - /** @description if the user follows the target user */ - 204: { - content: never; - }; - /** @description if the user does not follow the target user */ - 404: { - content: never; - }; - }; - }; - /** - * List gists for a user - * @description Lists public gists for the specified user: - */ - "gists/list-for-user": { - parameters: { - query?: { - since?: components["parameters"]["since"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "activity/list-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["base-gist"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List GPG keys for a user - * @description Lists the GPG keys for a user. This information is accessible by anyone. - */ - "users/list-gpg-keys-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "activity/list-org-events-for-authenticated-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description The organization name. The name is not case sensitive. */ + org: components["parameters"]["org"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["gpg-key"][]; - }; - }; - }; - }; - /** - * Get contextual information for a user - * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations. - * - * The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this: - * - * ```shell - * curl -u username:token - * https://api.github.com/users/octocat/hovercard?subject_type=repository&subject_id=1300192 - * ``` - */ - "users/get-context-for-user": { - parameters: { - query?: { - /** @description Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. */ - subject_type?: "organization" | "repository" | "issue" | "pull_request"; - /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ - subject_id?: string; - }; - path: { - username: components["parameters"]["username"]; - }; + "activity/list-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["hovercard"]; - }; - }; - 404: components["responses"]["not_found"]; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * Get a user installation for the authenticated app - * @description Enables an authenticated GitHub App to find the user’s installation information. - * - * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - */ - "apps/get-user-installation": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "users/list-followers-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["installation"]; - }; - }; - }; - }; - /** - * List public keys for a user - * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. - */ - "users/list-public-keys-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "users/list-following-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["simple-user"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["key-simple"][]; - }; - }; - }; - }; - /** - * List organizations for a user - * @description List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user. - * - * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. - */ - "orgs/list-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "users/check-following-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + target_user: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description if the user follows the target user */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description if the user does not follow the target user */ + 404: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["organization-simple"][]; - }; - }; - }; - }; - /** - * List packages for a user - * @description Lists all packages in a user's namespace for which the requesting user has access. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/list-packages-for-user": { - parameters: { - query: { - /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ - package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; - visibility?: components["parameters"]["package-visibility"]; - page?: components["parameters"]["page"]; - per_page?: components["parameters"]["per-page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "gists/list-for-user": { + parameters: { + query?: { + /** @description Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ + since?: components["parameters"]["since"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["base-gist"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"][]; - }; - }; - 400: components["responses"]["package_es_list_error"]; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - }; - }; - /** - * Get a package for a user - * @description Gets a specific package metadata for a public package owned by a user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; + "users/list-gpg-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["gpg-key"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package"]; - }; - }; - }; - }; - /** - * Delete a package for a user - * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; + "users/get-context-for-user": { + parameters: { + query?: { + /** @description Identifies which additional information you'd like to receive about the person's hovercard. Can be `organization`, `repository`, `issue`, `pull_request`. **Required** when using `subject_id`. */ + subject_type?: "organization" | "repository" | "issue" | "pull_request"; + /** @description Uses the ID for the `subject_type` you specified. **Required** when using `subject_type`. */ + subject_id?: string; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["hovercard"]; + }; + }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore a package for a user - * @description Restores an entire package for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-for-user": { - parameters: { - query?: { - /** @description package token */ - token?: string; - }; - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; + "apps/get-user-installation": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["installation"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List package versions for a package owned by a user - * @description Lists package versions for a public package owned by a specified user. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-all-package-versions-for-package-owned-by-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - }; + "users/list-public-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["key-simple"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"][]; - }; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get a package version for a user - * @description Gets a specific package version for a public package owned by a specified user. - * - * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - */ - "packages/get-package-version-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - package_version_id: components["parameters"]["package-version-id"]; - username: components["parameters"]["username"]; - }; + "orgs/list-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["organization-simple"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["package-version"]; - }; - }; - }; - }; - /** - * Delete package version for a user - * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/delete-package-version-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - package_version_id: components["parameters"]["package-version-id"]; - }; + "packages/list-packages-for-user": { + parameters: { + query: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: "npm" | "maven" | "rubygems" | "docker" | "nuget" | "container"; + /** @description The selected visibility of the packages. This parameter is optional and only filters an existing result set. + * + * The `internal` visibility is only supported for GitHub Packages registries that allow for granular permissions. For other ecosystems `internal` is synonymous with `private`. + * For the list of GitHub Packages registries that support granular permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ + visibility?: components["parameters"]["package-visibility"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"][]; + }; + }; + 400: components["responses"]["package_es_list_error"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + }; + }; + "packages/get-package-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Restore package version for a user - * @description Restores a specific package version for a user. - * - * You can restore a deleted package under the following conditions: - * - The package was deleted within the last 30 days. - * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first. - * - * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition: - * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." - * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." - */ - "packages/restore-package-version-for-user": { - parameters: { - path: { - package_type: components["parameters"]["package-type"]; - package_name: components["parameters"]["package-name"]; - username: components["parameters"]["username"]; - package_version_id: components["parameters"]["package-version-id"]; - }; + "packages/delete-package-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; }; - responses: { - /** @description Response */ - 204: { - content: never; - }; - 401: components["responses"]["requires_authentication"]; - 403: components["responses"]["forbidden"]; - 404: components["responses"]["not_found"]; - }; - }; - /** - * List user projects - * @description Lists projects for a user. - */ - "projects/list-for-user": { - parameters: { - query?: { - /** @description Indicates the state of the projects to return. */ - state?: "open" | "closed" | "all"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "packages/restore-package-for-user": { + parameters: { + query?: { + /** @description package token */ + token?: string; + }; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-all-package-versions-for-package-owned-by-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"][]; + }; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/get-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["package-version"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["project"][]; - }; - }; - 422: components["responses"]["validation_failed"]; - }; - }; - /** - * List events received by the authenticated user - * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. - */ - "activity/list-received-events-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "packages/delete-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "packages/restore-package-version-for-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */ + package_type: components["parameters"]["package-type"]; + /** @description The name of the package. */ + package_name: components["parameters"]["package-name"]; + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + /** @description Unique identifier of the package version. */ + package_version_id: components["parameters"]["package-version-id"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + }; + }; + "projects/list-for-user": { + parameters: { + query?: { + /** @description Indicates the state of the projects to return. */ + state?: "open" | "closed" | "all"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["project"][]; + }; + }; + 422: components["responses"]["validation_failed"]; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; + "activity/list-received-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; }; - }; }; - }; - /** List public events received by a user */ - "activity/list-received-public-events-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "activity/list-received-public-events-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["event"][]; - }; - }; - }; - }; - /** - * List repositories for a user - * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. - */ - "repos/list-for-user": { - parameters: { - query?: { - /** @description Limit results to repositories of the specified type. */ - type?: "all" | "owner" | "member"; - /** @description The property to sort the results by. */ - sort?: "created" | "updated" | "pushed" | "full_name"; - /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ - direction?: "asc" | "desc"; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "repos/list-for-user": { + parameters: { + query?: { + /** @description Limit results to repositories of the specified type. */ + type?: "all" | "owner" | "member"; + /** @description The property to sort the results by. */ + sort?: "created" | "updated" | "pushed" | "full_name"; + /** @description The order to sort by. Default: `asc` when using `full_name`, otherwise `desc`. */ + direction?: "asc" | "desc"; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Get GitHub Actions billing for a user - * @description Gets the summary of the free and paid GitHub Actions minutes used. - * - * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)". - * - * Access tokens must have the `user` scope. - */ - "billing/get-github-actions-billing-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "billing/get-github-actions-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["actions-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["actions-billing-usage"]; - }; - }; - }; - }; - /** - * Get GitHub Packages billing for a user - * @description Gets the free and paid storage used for GitHub Packages in gigabytes. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - "billing/get-github-packages-billing-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "billing/get-github-packages-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["packages-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["packages-billing-usage"]; - }; - }; - }; - }; - /** - * Get shared storage billing for a user - * @description Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. - * - * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)." - * - * Access tokens must have the `user` scope. - */ - "billing/get-shared-storage-billing-user": { - parameters: { - path: { - username: components["parameters"]["username"]; - }; + "billing/get-shared-storage-billing-user": { + parameters: { + query?: never; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["combined-billing-usage"]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - content: { - "application/json": components["schemas"]["combined-billing-usage"]; - }; - }; - }; - }; - /** - * List social accounts for a user - * @description Lists social media accounts for a user. This endpoint is accessible by anyone. - */ - "users/list-social-accounts-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "users/list-social-accounts-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["social-account"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["social-account"][]; - }; - }; - }; - }; - /** - * List SSH signing keys for a user - * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. - */ - "users/list-ssh-signing-keys-for-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "users/list-ssh-signing-keys-for-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ssh-signing-key"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["ssh-signing-key"][]; - }; - }; - }; - }; - /** - * List repositories starred by a user - * @description Lists repositories a user has starred. - * - * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. - */ - "activity/list-repos-starred-by-user": { - parameters: { - query?: { - sort?: components["parameters"]["sort-starred"]; - direction?: components["parameters"]["direction"]; - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "activity/list-repos-starred-by-user": { + parameters: { + query?: { + /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */ + sort?: components["parameters"]["sort-starred"]; + /** @description The direction to sort the results by. */ + direction?: components["parameters"]["direction"]; + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["starred-repository"][] | components["schemas"]["repository"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["starred-repository"][] | components["schemas"]["repository"][]; - }; - }; - }; - }; - /** - * List repositories watched by a user - * @description Lists repositories a user is watching. - */ - "activity/list-repos-watched-by-user": { - parameters: { - query?: { - per_page?: components["parameters"]["per-page"]; - page?: components["parameters"]["page"]; - }; - path: { - username: components["parameters"]["username"]; - }; + "activity/list-repos-watched-by-user": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + }; + header?: never; + path: { + /** @description The handle for the GitHub user account. */ + username: components["parameters"]["username"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + Link: components["headers"]["link"]; + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["minimal-repository"][]; + }; + }; + }; }; - responses: { - /** @description Response */ - 200: { - headers: { - Link: components["headers"]["link"]; - }; - content: { - "application/json": components["schemas"]["minimal-repository"][]; - }; - }; - }; - }; - /** - * Get all API versions - * @description Get all supported GitHub API versions. - */ - "meta/get-all-versions": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string[]; - }; - }; - 404: components["responses"]["not_found"]; - }; - }; - /** - * Get the Zen of GitHub - * @description Get a random sentence from the Zen of GitHub - */ - "meta/get-zen": { - responses: { - /** @description Response */ - 200: { - content: { - "application/json": string; + "meta/get-all-versions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string[]; + }; + }; + 404: components["responses"]["not_found"]; + }; + }; + "meta/get-zen": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + }; + }; }; - }; }; - }; } diff --git a/packages/openapi-typescript/examples/github-api.yaml b/packages/openapi-typescript/examples/github-api.yaml index bf4e201a6..effe31025 100644 --- a/packages/openapi-typescript/examples/github-api.yaml +++ b/packages/openapi-typescript/examples/github-api.yaml @@ -10623,6 +10623,79 @@ paths: "$ref": "#/components/responses/not_found" '500': "$ref": "#/components/responses/internal_error" + "/orgs/{org}/rulesets/rule-suites": + get: + summary: List organization rule suites + description: |- + Lists suites of rule evaluations at the organization level. + For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + tags: + - repos + operationId: repos/get-org-rule-suites + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/repository-name-in-query" + - "$ref": "#/components/parameters/time-period" + - "$ref": "#/components/parameters/actor-name-in-query" + - "$ref": "#/components/parameters/rule-suite-result" + - "$ref": "#/components/parameters/per-page" + - "$ref": "#/components/parameters/page" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/rule-suites" + examples: + default: + "$ref": "#/components/examples/rule-suite-items" + '404': + "$ref": "#/components/responses/not_found" + '500': + "$ref": "#/components/responses/internal_error" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: orgs + subcategory: rule-suites + "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": + get: + summary: Get an organization rule suite + description: |- + Gets information about a suite of rule evaluations from within an organization. + For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." + tags: + - repos + operationId: repos/get-org-rule-suite + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/orgs/rule-suites#get-an-organization-rule-suite + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/rule-suite-id" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/rule-suite" + examples: + default: + "$ref": "#/components/examples/rule-suite" + '404': + "$ref": "#/components/responses/not_found" + '500': + "$ref": "#/components/responses/internal_error" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: orgs + subcategory: rule-suites "/orgs/{org}/rulesets/{ruleset_id}": get: summary: Get an organization repository ruleset @@ -19697,9 +19770,9 @@ paths: patch: summary: Update a check run description: |- - **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. + + **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. tags: - checks operationId: checks/update @@ -20201,9 +20274,9 @@ paths: get: summary: List check runs in a check suite description: |- - **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. + + **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. tags: - checks operationId: checks/list-for-suite @@ -20955,7 +21028,7 @@ paths: default: "$ref": "#/components/examples/code-scanning-default-setup-update-response" '403': - "$ref": "#/components/responses/code_scanning_forbidden_read" + "$ref": "#/components/responses/code_scanning_forbidden_write" '404': "$ref": "#/components/responses/not_found" '409': @@ -21551,6 +21624,69 @@ paths: enabledForGitHubApps: true category: codespaces subcategory: codespaces + "/repos/{owner}/{repo}/codespaces/permissions_check": + get: + summary: Check if permissions defined by a devcontainer have been accepted by + the authenticated user + description: |- + Checks whether the permissions defined by a given devcontainer configuration have been accepted by the authenticated user. + + You must authenticate using an access token with the `codespace` scope to use this endpoint. + + GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. + tags: + - codespaces + operationId: codespaces/check-permissions-for-devcontainer + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/codespaces/codespaces#check-if-permissions-defined-by-a-devcontainer-have-been-accepted-by-the-authenticated-user + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - name: ref + description: The git reference that points to the location of the devcontainer + configuration to use for the permission check. The value of `ref` will typically + be a branch name (`heads/BRANCH_NAME`). For more information, see "[Git + References](https://git-scm.com/book/en/v2/Git-Internals-Git-References)" + in the Git documentation. + in: query + required: true + schema: + type: string + example: master + - name: devcontainer_path + description: Path to the devcontainer.json configuration to use for the permission + check. + in: query + required: true + schema: + type: string + example: ".devcontainer/example/devcontainer.json" + responses: + '200': + description: Response when the permission check is successful + content: + application/json: + schema: + "$ref": "#/components/schemas/codespaces-permissions-check-for-devcontainer" + examples: + default: + "$ref": "#/components/examples/codespaces-permissions-check-for-devcontainer" + '401': + "$ref": "#/components/responses/requires_authentication" + '403': + "$ref": "#/components/responses/forbidden" + '404': + "$ref": "#/components/responses/not_found" + '422': + "$ref": "#/components/responses/validation_failed" + '503': + "$ref": "#/components/responses/service_unavailable" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: codespaces + subcategory: codespaces "/repos/{owner}/{repo}/codespaces/secrets": get: summary: List repository secrets @@ -22663,9 +22799,11 @@ paths: get: summary: List check runs for a Git reference description: |- - **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. - Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. + + **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. + + If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. tags: - checks operationId: checks/list-for-ref @@ -22728,9 +22866,9 @@ paths: get: summary: List check suites for a Git reference description: |- - **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. - Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. + + **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. tags: - checks operationId: checks/list-suites-for-ref @@ -24696,7 +24834,7 @@ paths: content: application/json: schema: - "$ref": "#/components/schemas/deployment-branch-policy-name-pattern" + "$ref": "#/components/schemas/deployment-branch-policy-name-pattern-with-type" examples: example-wildcard: summary: Example of a wildcard name pattern @@ -33467,6 +33605,81 @@ paths: "$ref": "#/components/responses/not_found" '500': "$ref": "#/components/responses/internal_error" + "/repos/{owner}/{repo}/rulesets/rule-suites": + get: + summary: List repository rule suites + description: |- + Lists suites of rule evaluations at the repository level. + For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + tags: + - repos + operationId: repos/get-repo-rule-suites + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/ref-in-query" + - "$ref": "#/components/parameters/time-period" + - "$ref": "#/components/parameters/actor-name-in-query" + - "$ref": "#/components/parameters/rule-suite-result" + - "$ref": "#/components/parameters/per-page" + - "$ref": "#/components/parameters/page" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/rule-suites" + examples: + default: + "$ref": "#/components/examples/rule-suite-items" + '404': + "$ref": "#/components/responses/not_found" + '500': + "$ref": "#/components/responses/internal_error" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: repos + subcategory: rule-suites + "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": + get: + summary: Get a repository rule suite + description: |- + Gets information about a suite of rule evaluations from within a repository. + For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." + tags: + - repos + operationId: repos/get-repo-rule-suite + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/repos/rule-suites#get-a-repository-rule-suite + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/rule-suite-id" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/rule-suite" + examples: + default: + "$ref": "#/components/examples/rule-suite" + '404': + "$ref": "#/components/responses/not_found" + '500': + "$ref": "#/components/responses/internal_error" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: repos + subcategory: rule-suites "/repos/{owner}/{repo}/rulesets/{ruleset_id}": get: summary: Get a repository ruleset @@ -66444,6 +66657,14 @@ components: - block - unconfigured - unknown + copilot_chat: + type: string + description: The organization policy for allowing or disallowing organization + members to use Copilot Chat within their editor. + enum: + - enabled + - disabled + - unconfigured seat_management_setting: type: string description: The mode of assigning new seats. @@ -66727,7 +66948,7 @@ components: type: object description: The assignee that has been granted access to GitHub Copilot. additionalProperties: true - enum: + oneOf: - "$ref": "#/components/schemas/simple-user" - "$ref": "#/components/schemas/team" - "$ref": "#/components/schemas/organization" @@ -68369,6 +68590,145 @@ components: updated_at: type: string format: date-time + rule-suites: + title: Rule Suites + description: Response + type: array + items: + type: object + properties: + id: + type: integer + description: The unique identifier of the rule insight. + actor_id: + type: integer + description: The number that identifies the user. + actor_name: + type: string + description: The handle for the GitHub user account. + before_sha: + type: string + description: The first commit sha before the push evaluation. + after_sha: + type: string + description: The last commit sha in the push evaluation. + ref: + type: string + description: The ref name that the evaluation ran on. + repository_id: + type: integer + description: The ID of the repository associated with the rule evaluation. + repository_name: + type: string + description: The name of the repository without the `.git` extension. + pushed_at: + type: string + format: date-time + example: '2011-01-26T19:06:43Z' + result: + type: string + enum: + - pass + - fail + - bypass + description: The result of the rule evaluations for rules with the `active` + enforcement status. + evaluation_result: + type: string + enum: + - pass + - fail + description: The result of the rule evaluations for rules with the `active` + and `evaluate` enforcement statuses, demonstrating whether rules would + pass or fail if all rules in the rule suite were `active`. + rule-suite: + title: Rule Suite + description: Response + type: object + properties: + id: + type: integer + description: The unique identifier of the rule insight. + actor_id: + type: integer + description: The number that identifies the user. + actor_name: + type: string + description: The handle for the GitHub user account. + before_sha: + type: string + description: The first commit sha before the push evaluation. + after_sha: + type: string + description: The last commit sha in the push evaluation. + ref: + type: string + description: The ref name that the evaluation ran on. + repository_id: + type: integer + description: The ID of the repository associated with the rule evaluation. + repository_name: + type: string + description: The name of the repository without the `.git` extension. + pushed_at: + type: string + format: date-time + example: '2011-01-26T19:06:43Z' + result: + type: string + enum: + - pass + - fail + - bypass + description: The result of the rule evaluations for rules with the `active` + enforcement status. + evaluation_result: + type: string + enum: + - pass + - fail + description: The result of the rule evaluations for rules with the `active` + and `evaluate` enforcement statuses, demonstrating whether rules would + pass or fail if all rules in the rule suite were `active`. + rule_evaluations: + type: array + description: Details on the evaluated rules. + items: + type: object + properties: + rule_source: + type: object + properties: + type: + type: string + description: The type of rule source. + id: + type: integer + nullable: true + description: The ID of the rule source. + name: + type: string + nullable: true + description: The name of the rule source. + enforcement: + type: string + enum: + - active + - evaluate + - deleted ruleset + description: The enforcement level of this rule source. + result: + type: string + enum: + - pass + - fail + description: The result of the evaluation of the individual rule. + rule_type: + type: string + description: The type of rule. + details: + type: string + description: Any associated details with the rule evaluation. repository-advisory-vulnerability: description: A product affected by the vulnerability detailed in a repository security advisory. @@ -74251,6 +74611,18 @@ components: - memory_in_bytes - cpus - prebuild_availability + codespaces-permissions-check-for-devcontainer: + title: Codespaces Permissions Check + description: Permission check result for a given devcontainer config. + type: object + properties: + accepted: + description: Whether the user has accepted the permissions defined by the + devcontainer config + example: true + type: boolean + required: + - accepted repo-codespaces-secret: title: Codespaces Secret description: Set repository secrets for GitHub Codespaces. @@ -76491,6 +76863,20 @@ components: to the environment. type: string example: release/* + deployment-branch-policy-name-pattern-with-type: + title: Deployment branch policy name pattern + type: object + properties: + name: + description: |- + The name pattern that branches must match in order to deploy to the environment. + + Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`. + For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). + type: string + example: release/* + required: + - name deployment-branch-policy-name-pattern: title: Deployment branch policy name pattern type: object @@ -112507,6 +112893,9 @@ components: git_url: type: string format: uri + has_discussions: + description: Whether the repository has discussions enabled. + type: boolean has_downloads: description: Whether downloads are enabled. type: boolean @@ -112765,6 +113154,9 @@ components: type: integer watchers_count: type: integer + web_commit_signoff_required: + description: Whether to require commit signoff. + type: boolean required: - id - node_id @@ -211278,6 +211670,63 @@ components: href: https://github.com/organizations/my-org/settings/rules/21 created_at: '2023-08-15T08:43:03Z' updated_at: '2023-09-23T16:29:47Z' + rule-suite-items: + value: + - id: 21 + actor_id: 12 + username: octocat + before_sha: 893f768e172fb1bc9c5d6f3dd48557e45f14e01d + after_sha: dedd88641a362b6b4ea872da4847d6131a164d01 + ref: refs/heads/i-see-everything + repository_id: 404 + repository_name: octo-repo + pushed_at: '2023-07-06T08:43:03Z' + result: bypass + - id: 25 + actor_id: 11 + username: not-octocat + before_sha: 48994e4e01ccc943624c6231f172702b82b233cc + after_sha: ecfd5a1025fa271a33ca5608d089476a2df3c9a1 + ref: refs/heads/i-am-everything + repository_id: 404 + repository_name: octo-repo + pushed_at: '2023-07-07T08:43:03Z' + result: pass + evaluation_result: fail + rule-suite: + value: + id: 21 + actor_id: 12 + username: octocat + before_sha: 893f768e172fb1bc9c5d6f3dd48557e45f14e01d + after_sha: dedd88641a362b6b4ea872da4847d6131a164d01 + ref: refs/heads/i-see-everything + repository_id: 404 + repository_name: octo-repo + pushed_at: '2023-07-06T08:43:03Z' + result: bypass + evaluation_result: fail + rule_evaluations: + - rule_source: + type: ruleset + id: 2 + name: Author email must be a GitHub email address + enforcement: active + result: pass + rule_type: commit_author_email_pattern + - rule_source: + type: protected_branch + enforcement: active + result: fail + rule_type: pull_request + details: Changes must be made through a pull request. + - rule_source: + type: ruleset + id: 3 + name: Evaluate commit message pattern + enforcement: evaluate + result: fail + rule_type: commit_message_pattern list-repository-advisories: value: - ghsa_id: GHSA-abcd-1234-efgh @@ -216713,6 +217162,9 @@ components: defaults: location: EastUs devcontainer_path: ".devcontainer/devcontainer.json" + codespaces-permissions-check-for-devcontainer: + value: + accepted: true collaborator-items: value: - login: octocat @@ -230252,6 +230704,60 @@ components: required: true schema: type: integer + repository-name-in-query: + name: repository_name + description: The name of the repository to filter on. When specified, only rule + evaluations from this repository will be returned. + in: query + schema: + type: integer + time-period: + name: time_period + description: |- + The time period to filter by. + + For example, `day` will filter for rule suites that occurred in the past 24 hours, and `week` will filter for insights that occurred in the past 7 days (168 hours). + in: query + required: false + schema: + type: string + enum: + - hour + - day + - week + - month + default: day + actor-name-in-query: + name: actor_name + description: The handle for the GitHub user account to filter on. When specified, + only rule evaluations triggered by this actor will be returned. + in: query + schema: + type: string + rule-suite-result: + name: rule_suite_result + description: The rule results to filter on. When specified, only suites with + this result will be returned. + in: query + schema: + type: string + enum: + - pass + - fail + - bypass + - all + default: all + rule-suite-id: + name: rule_suite_id + description: |- + The unique identifier of the rule suite result. + To get this ID, you can use [GET /repos/{owner}/{repo}/rulesets/rule-suites](https://docs.github.com/rest/repos/rule-suites#list-repository-rule-suites) + for repositories and [GET /orgs/{org}/rulesets/rule-suites](https://docs.github.com/rest/orgs/rule-suites#list-organization-rule-suites) + for organizations. + in: path + required: true + schema: + type: integer secret-scanning-pagination-before-org-repo: name: before description: A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). @@ -230713,6 +231219,14 @@ components: required: true schema: type: integer + ref-in-query: + name: ref + description: The name of the ref. Cannot contain wildcard characters. When specified, + only rule evaluations triggered for this ref will be returned. + in: query + schema: + type: string + x-multi-segment: true tag-protection-id: name: tag_protection_id description: The unique identifier of the tag protection. diff --git a/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts b/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts index 8de182e6c..cd7f4be9b 100644 --- a/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts +++ b/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts @@ -37,8 +37,10 @@ export interface paths { delete: operations["enterprise-admin/delete-global-webhook"]; options: never; head: never; - /** Update a global webhook - @description Parameters that are not provided will be overwritten with the default value or removed if no default exists. */ + /** + * Update a global webhook + * @description Parameters that are not provided will be overwritten with the default value or removed if no default exists. + */ patch: operations["enterprise-admin/update-global-webhook"]; trace: never; }; @@ -51,8 +53,10 @@ export interface paths { }; get: never; put: never; - /** Ping a global webhook - @description This will trigger a [ping event](https://docs.github.com/enterprise-server@3.6/webhooks/#ping-event) to be sent to the webhook. */ + /** + * Ping a global webhook + * @description This will trigger a [ping event](https://docs.github.com/enterprise-server@3.6/webhooks/#ping-event) to be sent to the webhook. + */ post: operations["enterprise-admin/ping-global-webhook"]; delete: never; options: never; @@ -107,8 +111,10 @@ export interface paths { delete: never; options: never; head: never; - /** Update LDAP mapping for a team - @description Updates the [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. [LDAP synchronization](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap#enabling-ldap-sync) must be enabled to map LDAP entries to a team. Use the [Create a team](https://docs.github.com/enterprise-server@3.6/rest/reference/teams/#create-a-team) endpoint to create a team with LDAP mapping. */ + /** + * Update LDAP mapping for a team + * @description Updates the [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. [LDAP synchronization](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap#enabling-ldap-sync) must be enabled to map LDAP entries to a team. Use the [Create a team](https://docs.github.com/enterprise-server@3.6/rest/reference/teams/#create-a-team) endpoint to create a team with LDAP mapping. + */ patch: operations["enterprise-admin/update-ldap-mapping-for-team"]; trace: never; }; @@ -121,8 +127,10 @@ export interface paths { }; get: never; put: never; - /** Sync LDAP mapping for a team - @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. */ + /** + * Sync LDAP mapping for a team + * @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. + */ post: operations["enterprise-admin/sync-ldap-mapping-for-team"]; delete: never; options: never; @@ -156,8 +164,10 @@ export interface paths { }; get: never; put: never; - /** Sync LDAP mapping for a user - @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. */ + /** + * Sync LDAP mapping for a user + * @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. + */ post: operations["enterprise-admin/sync-ldap-mapping-for-user"]; delete: never; options: never; @@ -228,19 +238,23 @@ export interface paths { get: operations["enterprise-admin/get-pre-receive-environment"]; put: never; post: never; - /** Delete a pre-receive environment - @description If you attempt to delete an environment that cannot be deleted, you will receive a `422 Unprocessable Entity` response. - - The possible error messages are: - - * _Cannot modify or delete the default environment_ - * _Cannot delete environment that has hooks_ - * _Cannot delete environment when download is in progress_ */ + /** + * Delete a pre-receive environment + * @description If you attempt to delete an environment that cannot be deleted, you will receive a `422 Unprocessable Entity` response. + * + * The possible error messages are: + * + * * _Cannot modify or delete the default environment_ + * * _Cannot delete environment that has hooks_ + * * _Cannot delete environment when download is in progress_ + */ delete: operations["enterprise-admin/delete-pre-receive-environment"]; options: never; head: never; - /** Update a pre-receive environment - @description You cannot modify the default environment. If you attempt to modify the default environment, you will receive a `422 Unprocessable Entity` response. */ + /** + * Update a pre-receive environment + * @description You cannot modify the default environment. If you attempt to modify the default environment, you will receive a `422 Unprocessable Entity` response. + */ patch: operations["enterprise-admin/update-pre-receive-environment"]; trace: never; }; @@ -253,15 +267,17 @@ export interface paths { }; get: never; put: never; - /** Start a pre-receive environment download - @description Triggers a new download of the environment tarball from the environment's `image_url`. When the download is finished, the newly downloaded tarball will overwrite the existing environment. - - If a download cannot be triggered, you will receive a `422 Unprocessable Entity` response. - - The possible error messages are: - - * _Cannot modify or delete the default environment_ - * _Can not start a new download when a download is in progress_ */ + /** + * Start a pre-receive environment download + * @description Triggers a new download of the environment tarball from the environment's `image_url`. When the download is finished, the newly downloaded tarball will overwrite the existing environment. + * + * If a download cannot be triggered, you will receive a `422 Unprocessable Entity` response. + * + * The possible error messages are: + * + * * _Cannot modify or delete the default environment_ + * * _Can not start a new download when a download is in progress_ + */ post: operations["enterprise-admin/start-pre-receive-environment-download"]; delete: never; options: never; @@ -276,8 +292,10 @@ export interface paths { path?: never; cookie?: never; }; - /** Get the download status for a pre-receive environment - @description In addition to seeing the download status at the "[Get a pre-receive environment](#get-a-pre-receive-environment)" endpoint, there is also this separate endpoint for just the download status. */ + /** + * Get the download status for a pre-receive environment + * @description In addition to seeing the download status at the "[Get a pre-receive environment](#get-a-pre-receive-environment)" endpoint, there is also this separate endpoint for just the download status. + */ get: operations["enterprise-admin/get-download-status-for-pre-receive-environment"]; put: never; post: never; @@ -331,8 +349,10 @@ export interface paths { path?: never; cookie?: never; }; - /** List personal access tokens - @description Lists personal access tokens for all users, including admin users. */ + /** + * List personal access tokens + * @description Lists personal access tokens for all users, including admin users. + */ get: operations["enterprise-admin/list-personal-access-tokens"]; put: never; post: never; @@ -352,8 +372,10 @@ export interface paths { get: never; put: never; post: never; - /** Delete a personal access token - @description Deletes a personal access token. Returns a `403 - Forbidden` status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error. */ + /** + * Delete a personal access token + * @description Deletes a personal access token. Returns a `403 - Forbidden` status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error. + */ delete: operations["enterprise-admin/delete-personal-access-token"]; options: never; head: never; @@ -369,12 +391,14 @@ export interface paths { }; get: never; put: never; - /** Create a user - @description If an external authentication mechanism is used, the login name should match the login name in the external system. If you are using LDAP authentication, you should also [update the LDAP mapping](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#update-ldap-mapping-for-a-user) for the user. - - The login name will be normalized to only contain alphanumeric characters or single hyphens. For example, if you send `"octo_cat"` as the login, a user named `"octo-cat"` will be created. - - If the login name or email address is already associated with an account, the server will return a `422` response. */ + /** + * Create a user + * @description If an external authentication mechanism is used, the login name should match the login name in the external system. If you are using LDAP authentication, you should also [update the LDAP mapping](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#update-ldap-mapping-for-a-user) for the user. + * + * The login name will be normalized to only contain alphanumeric characters or single hyphens. For example, if you send `"octo_cat"` as the login, a user named `"octo-cat"` will be created. + * + * If the login name or email address is already associated with an account, the server will return a `422` response. + */ post: operations["enterprise-admin/create-user"]; delete: never; options: never; @@ -392,10 +416,12 @@ export interface paths { get: never; put: never; post: never; - /** Delete a user - @description Deleting a user will delete all their repositories, gists, applications, and personal settings. [Suspending a user](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#suspend-a-user) is often a better option. - - You can delete any user account except your own. */ + /** + * Delete a user + * @description Deleting a user will delete all their repositories, gists, applications, and personal settings. [Suspending a user](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#suspend-a-user) is often a better option. + * + * You can delete any user account except your own. + */ delete: operations["enterprise-admin/delete-user"]; options: never; head: never; @@ -428,10 +454,12 @@ export interface paths { path?: never; cookie?: never; }; - /** List installations for the authenticated app - @description You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. - - The permissions the installation has are included under the `permissions` key. */ + /** + * List installations for the authenticated app + * @description You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + * + * The permissions the installation has are included under the `permissions` key. + */ get: operations["apps/list-installations"]; put: never; post: never; @@ -448,10 +476,12 @@ export interface paths { path?: never; cookie?: never; }; - /** Get an installation for the authenticated app - @description Enables an authenticated GitHub App to find an installation's information using the installation id. - - You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ + /** + * Get an installation for the authenticated app + * @description Enables an authenticated GitHub App to find an installation's information using the installation id. + * + * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ get: operations["apps/get-installation"]; put: never; post: never; @@ -470,10 +500,12 @@ export interface paths { }; get: never; put: never; - /** Create an installation access token for an app - @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. - - You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ + /** + * Create an installation access token for an app + * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. + * + * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ post: operations["apps/create-installation-access-token"]; delete: never; options: never; @@ -488,11 +520,13 @@ export interface paths { path?: never; cookie?: never; }; - /** List your grants - @deprecated - @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - - You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. */ + /** + * List your grants + * @deprecated + * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + */ get: operations["oauth-authorizations/list-grants"]; put: never; post: never; @@ -509,17 +543,21 @@ export interface paths { path?: never; cookie?: never; }; - /** Get a single grant - @deprecated - @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + /** + * Get a single grant + * @deprecated + * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ get: operations["oauth-authorizations/get-grant"]; put: never; post: never; - /** Delete a grant - @deprecated - @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - - Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). */ + /** + * Delete a grant + * @deprecated + * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ delete: operations["oauth-authorizations/delete-grant"]; options: never; head: never; @@ -535,14 +573,18 @@ export interface paths { }; get: never; put: never; - /** Check a token - @description OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ + /** + * Check a token + * @description OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ post: operations["apps/check-token"]; delete: never; options: never; head: never; - /** Reset a token - @description OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + /** + * Reset a token + * @description OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ patch: operations["apps/reset-token"]; trace: never; }; @@ -555,8 +597,10 @@ export interface paths { }; get: never; put: never; - /** Create a scoped access token - @description Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ + /** + * Create a scoped access token + * @description Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ post: operations["apps/scope-token"]; delete: never; options: never; @@ -571,24 +615,28 @@ export interface paths { path?: never; cookie?: never; }; - /** List your authorizations - @deprecated - @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + /** + * List your authorizations + * @deprecated + * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ get: operations["oauth-authorizations/list-authorizations"]; put: never; - /** Create a new authorization - @deprecated - @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - - **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). - - Creates OAuth tokens using [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - - To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. - - You can also create tokens on GitHub Enterprise Server from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://docs.github.com/articles/creating-an-access-token-for-command-line-use). - - Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). */ + /** + * Create a new authorization + * @deprecated + * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. + * + * You can also create tokens on GitHub Enterprise Server from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://docs.github.com/articles/creating-an-access-token-for-command-line-use). + * + * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + */ post: operations["oauth-authorizations/create-authorization"]; delete: never; options: never; @@ -604,17 +652,19 @@ export interface paths { cookie?: never; }; get: never; - /** Get-or-create an authorization for a specific app - @deprecated - @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - - **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). - - Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. - - If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - - **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + /** + * Get-or-create an authorization for a specific app + * @deprecated + * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ put: operations["oauth-authorizations/get-or-create-authorization-for-app"]; post: never; delete: never; @@ -631,15 +681,17 @@ export interface paths { cookie?: never; }; get: never; - /** Get-or-create an authorization for a specific app and fingerprint - @deprecated - @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - - **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). - - This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. - - If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." */ + /** + * Get-or-create an authorization for a specific app and fingerprint + * @deprecated + * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * **Warning:** Apps must use the [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub Enterprise Server SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub Enterprise Server SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + */ put: operations["oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint"]; post: never; delete: never; @@ -655,25 +707,31 @@ export interface paths { path?: never; cookie?: never; }; - /** Get a single authorization - @deprecated - @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + /** + * Get a single authorization + * @deprecated + * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ get: operations["oauth-authorizations/get-authorization"]; put: never; post: never; - /** Delete an authorization - @deprecated - @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ + /** + * Delete an authorization + * @deprecated + * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + */ delete: operations["oauth-authorizations/delete-authorization"]; options: never; head: never; - /** Update an existing authorization - @deprecated - @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). - - If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." - - You can only send one of these scope keys at a time. */ + /** + * Update an existing authorization + * @deprecated + * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). + * + * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." + * + * You can only send one of these scope keys at a time. + */ patch: operations["oauth-authorizations/update-authorization"]; trace: never; }; @@ -684,18 +742,24 @@ export interface paths { path?: never; cookie?: never; }; - /** Get the global announcement banner - @description Gets the current message and expiration date of the global announcement banner in your enterprise. */ + /** + * Get the global announcement banner + * @description Gets the current message and expiration date of the global announcement banner in your enterprise. + */ get: operations["enterprise-admin/get-announcement"]; put: never; post: never; - /** Remove the global announcement banner - @description Removes the global announcement banner in your enterprise. */ + /** + * Remove the global announcement banner + * @description Removes the global announcement banner in your enterprise. + */ delete: operations["enterprise-admin/remove-announcement"]; options: never; head: never; - /** Set the global announcement banner - @description Sets the message and expiration time for the global announcement banner in your enterprise. */ + /** + * Set the global announcement banner + * @description Sets the message and expiration time for the global announcement banner in your enterprise. + */ patch: operations["enterprise-admin/set-announcement"]; trace: never; }; @@ -910,20 +974,24 @@ export interface paths { path?: never; cookie?: never; }; - /** Get GitHub Actions cache usage policy for an enterprise - @description Gets the GitHub Actions cache usage policy for an enterprise. - You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. */ + /** + * Get GitHub Actions cache usage policy for an enterprise + * @description Gets the GitHub Actions cache usage policy for an enterprise. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ get: operations["actions/get-actions-cache-usage-policy-for-enterprise"]; put: never; post: never; delete: never; options: never; head: never; - /** Set GitHub Actions cache usage policy for an enterprise - @description Sets the GitHub Actions cache usage policy for an enterprise. - You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. - GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. */ + /** + * Set GitHub Actions cache usage policy for an enterprise + * @description Sets the GitHub Actions cache usage policy for an enterprise. + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. + */ patch: operations["actions/set-actions-cache-usage-policy-for-enterprise"]; trace: never; }; @@ -934,15 +1002,19 @@ export interface paths { path?: never; cookie?: never; }; - /** Get allowed actions for an enterprise - @description Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." - - You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. */ + /** + * Get allowed actions for an enterprise + * @description Gets the selected actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ get: operations["enterprise-admin/get-allowed-actions-enterprise"]; - /** Set allowed actions for an enterprise - @description Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." - - You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. */ + /** + * Set allowed actions for an enterprise + * @description Sets the actions that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)." + * + * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. + */ put: operations["enterprise-admin/set-allowed-actions-enterprise"]; post: never; delete: never; @@ -958,8 +1030,10 @@ export interface paths { path?: never; cookie?: never; }; - /** Get the audit log for an enterprise - @description Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ + /** + * Get the audit log for an enterprise + * @description Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. + */ get: operations["enterprise-admin/get-audit-log"]; put: never; post: never; @@ -976,9 +1050,11 @@ export interface paths { path?: never; cookie?: never; }; - /** List secret scanning alerts for an enterprise - @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. - To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). */ + /** + * List secret scanning alerts for an enterprise + * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest. + * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). + */ get: operations["secret-scanning/list-alerts-for-enterprise"]; put: never; post: never; @@ -1012,14 +1088,16 @@ export interface paths { path?: never; cookie?: never; }; - /** List custom repository roles in an organization - @description List the custom repository roles available in this organization. In order to see custom - repository roles in an organization, the authenticated user must be an organization owner. - - To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. - GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. - - For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". */ + /** + * List custom repository roles in an organization + * @description List the custom repository roles available in this organization. In order to see custom + * repository roles in an organization, the authenticated user must be an organization owner. + * + * To use this endpoint the authenticated user must be an administrator for the organization or of an repository of the organizaiton and must use an access token with `admin:org repo` scope. + * GitHub Apps must have the `organization_custom_roles:read` organization permission to use this endpoint. + * + * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". + */ get: operations["orgs/list-custom-roles"]; put: never; post: never; @@ -1036,20 +1114,24 @@ export interface paths { path?: never; cookie?: never; }; - /** Get an organization - @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). - - GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub Enterprise Server plan. See "[Authenticating with GitHub Apps](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub Enterprise Server plan information' below." */ + /** + * Get an organization + * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/). + * + * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub Enterprise Server plan. See "[Authenticating with GitHub Apps](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub Enterprise Server plan information' below." + */ get: operations["orgs/get"]; put: never; post: never; delete: never; options: never; head: never; - /** Update an organization - @description **Parameter Deprecation Notice:** GitHub Enterprise Server will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). - - Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. */ + /** + * Update an organization + * @description **Parameter Deprecation Notice:** GitHub Enterprise Server will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). + * + * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. + */ patch: operations["orgs/update"]; trace: never; }; @@ -1060,19 +1142,23 @@ export interface paths { path?: never; cookie?: never; }; - /** Get allowed actions for an organization - @description Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" - - You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ + /** + * Get allowed actions for an organization + * @description Gets the selected actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."" + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ get: operations["actions/get-allowed-actions-organization"]; - /** Set allowed actions for an organization - @description Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." - - If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. - - To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. - - You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ + /** + * Set allowed actions for an organization + * @description Sets the actions that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." + * + * If the organization belongs to an enterprise that has `selected` actions set at the enterprise level, then you cannot override any of the enterprise's allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization. + * + * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. + */ put: operations["actions/set-allowed-actions-organization"]; post: never; delete: never; @@ -1088,14 +1174,16 @@ export interface paths { path?: never; cookie?: never; }; - /** Get the audit log for an organization - @description Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." - - To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. - - By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.6/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." - - Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#pagination)." */ + /** + * Get the audit log for an organization + * @description Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)." + * + * To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint. + * + * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/enterprise-server@3.6/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)." + * + * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#pagination)." + */ get: operations["orgs/get-audit-log"]; put: never; post: never; @@ -1112,10 +1200,12 @@ export interface paths { path?: never; cookie?: never; }; - /** Get an external group - @description Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. - - You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ + /** + * Get an external group + * @description Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ get: operations["teams/external-idp-group-info-for-org"]; put: never; post: never; @@ -1132,10 +1222,12 @@ export interface paths { path?: never; cookie?: never; }; - /** List external groups in an organization - @description Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub Enterprise Server generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." - - You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ + /** + * List external groups in an organization + * @description Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub Enterprise Server generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)." + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ get: operations["teams/list-external-idp-groups-for-org"]; put: never; post: never; @@ -1152,10 +1244,12 @@ export interface paths { path?: never; cookie?: never; }; - /** Get an organization installation for the authenticated app - @description Enables an authenticated GitHub App to find the organization's installation information. - - You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ + /** + * Get an organization installation for the authenticated app + * @description Enables an authenticated GitHub App to find the organization's installation information. + * + * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ get: operations["apps/get-org-installation"]; put: never; post: never; @@ -1172,8 +1266,10 @@ export interface paths { path?: never; cookie?: never; }; - /** List app installations for an organization - @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ + /** + * List app installations for an organization + * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. + */ get: operations["orgs/list-app-installations"]; put: never; post: never; @@ -1190,8 +1286,10 @@ export interface paths { path?: never; cookie?: never; }; - /** List pre-receive hooks for an organization - @description List all pre-receive hooks that are enabled or testing for this organization as well as any disabled hooks that can be configured at the organization level. Globally disabled pre-receive hooks that do not allow downstream configuration are not listed. */ + /** + * List pre-receive hooks for an organization + * @description List all pre-receive hooks that are enabled or testing for this organization as well as any disabled hooks that can be configured at the organization level. Globally disabled pre-receive hooks that do not allow downstream configuration are not listed. + */ get: operations["enterprise-admin/list-pre-receive-hooks-for-org"]; put: never; post: never; @@ -1212,13 +1310,17 @@ export interface paths { get: operations["enterprise-admin/get-pre-receive-hook-for-org"]; put: never; post: never; - /** Remove pre-receive hook enforcement for an organization - @description Removes any overrides for this hook at the org level for this org. */ + /** + * Remove pre-receive hook enforcement for an organization + * @description Removes any overrides for this hook at the org level for this org. + */ delete: operations["enterprise-admin/remove-pre-receive-hook-enforcement-for-org"]; options: never; head: never; - /** Update pre-receive hook enforcement for an organization - @description For pre-receive hooks which are allowed to be configured at the org level, you can set `enforcement` and `allow_downstream_configuration` */ + /** + * Update pre-receive hook enforcement for an organization + * @description For pre-receive hooks which are allowed to be configured at the org level, you can set `enforcement` and `allow_downstream_configuration` + */ patch: operations["enterprise-admin/update-pre-receive-hook-enforcement-for-org"]; trace: never; }; @@ -1229,12 +1331,14 @@ export interface paths { path?: never; cookie?: never; }; - /** List secret scanning alerts for an organization - @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. - To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. - For public repositories, you may instead use the `public_repo` scope. - - GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ + /** + * List secret scanning alerts for an organization + * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest. + * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ get: operations["secret-scanning/list-alerts-for-org"]; put: never; post: never; @@ -1253,10 +1357,12 @@ export interface paths { }; get: never; put: never; - /** Create a team - @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." - - When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". */ + /** + * Create a team + * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." + * + * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". + */ post: operations["teams/create"]; delete: never; options: never; @@ -1271,24 +1377,30 @@ export interface paths { path?: never; cookie?: never; }; - /** List a connection between an external group and a team - @description Lists a connection between a team and an external group. - - You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ + /** + * List a connection between an external group and a team + * @description Lists a connection between a team and an external group. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ get: operations["teams/list-linked-external-idp-groups-to-team-for-org"]; put: never; post: never; - /** Remove the connection between an external group and a team - @description Deletes a connection between a team and an external group. - - You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ + /** + * Remove the connection between an external group and a team + * @description Deletes a connection between a team and an external group. + * + * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. + */ delete: operations["teams/unlink-external-idp-group-from-team-for-org"]; options: never; head: never; - /** Update the connection between an external group and a team - @description Creates a connection between a team and an external group. Only one external group can be linked to a team. - - You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ + /** + * Update the connection between an external group and a team + * @description Creates a connection between a team and an external group. Only one external group can be linked to a team. + * + * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. + */ patch: operations["teams/link-external-idp-group-to-team-for-org"]; trace: never; }; @@ -1299,10 +1411,12 @@ export interface paths { path?: never; cookie?: never; }; - /** Get rate limit status for the authenticated user - @description **Note:** Accessing this endpoint does not count against your REST API rate limit. - - **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. */ + /** + * Get rate limit status for the authenticated user + * @description **Note:** Accessing this endpoint does not count against your REST API rate limit. + * + * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. + */ get: operations["rate-limit/get"]; put: never; post: never; @@ -1319,20 +1433,24 @@ export interface paths { path?: never; cookie?: never; }; - /** Get GitHub Actions cache usage policy for a repository - @description Gets GitHub Actions cache usage policy for a repository. - You must authenticate using an access token with the `repo` scope to use this endpoint. - GitHub Apps must have the `actions:read` permission to use this endpoint. */ + /** + * Get GitHub Actions cache usage policy for a repository + * @description Gets GitHub Actions cache usage policy for a repository. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:read` permission to use this endpoint. + */ get: operations["actions/get-actions-cache-usage-policy"]; put: never; post: never; delete: never; options: never; head: never; - /** Set GitHub Actions cache usage policy for a repository - @description Sets GitHub Actions cache usage policy for a repository. - You must authenticate using an access token with the `repo` scope to use this endpoint. - GitHub Apps must have the `actions:write` permission to use this endpoint. */ + /** + * Set GitHub Actions cache usage policy for a repository + * @description Sets GitHub Actions cache usage policy for a repository. + * You must authenticate using an access token with the `repo` scope to use this endpoint. + * GitHub Apps must have the `actions:write` permission to use this endpoint. + */ patch: operations["actions/set-actions-cache-usage-policy"]; trace: never; }; @@ -1343,19 +1461,23 @@ export interface paths { path?: never; cookie?: never; }; - /** Get allowed actions for a repository - @description Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - - You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ + /** + * Get allowed actions for a repository + * @description Gets the settings for selected actions that are allowed in a repository. To use this endpoint, the repository policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ get: operations["actions/get-allowed-actions-repository"]; - /** Set allowed actions for a repository - @description Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." - - If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. - - To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. - - You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ + /** + * Set allowed actions for a repository + * @description Sets the actions that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)." + * + * If the repository belongs to an organization or enterprise that has `selected` actions set at the organization or enterprise levels, then you cannot override any of the allowed actions settings. + * + * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories. + * + * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. + */ put: operations["actions/set-allowed-actions-repository"]; post: never; delete: never; @@ -1371,10 +1493,12 @@ export interface paths { path?: never; cookie?: never; }; - /** List workflow runs for a repository - @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#parameters). - - Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + /** + * List workflow runs for a repository + * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ get: operations["actions/list-workflow-runs-for-repo"]; put: never; post: never; @@ -1391,8 +1515,10 @@ export interface paths { path?: never; cookie?: never; }; - /** Get a workflow run - @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ + /** + * Get a workflow run + * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. + */ get: operations["actions/get-workflow-run"]; put: never; post: never; @@ -1409,11 +1535,13 @@ export interface paths { path?: never; cookie?: never; }; - /** Get a workflow run attempt - @description Gets a specific workflow run attempt. Anyone with read access to the repository - can use this endpoint. If the repository is private you must use an access token - with the `repo` scope. GitHub Apps must have the `actions:read` permission to - use this endpoint. */ + /** + * Get a workflow run attempt + * @description Gets a specific workflow run attempt. Anyone with read access to the repository + * can use this endpoint. If the repository is private you must use an access token + * with the `repo` scope. GitHub Apps must have the `actions:read` permission to + * use this endpoint. + */ get: operations["actions/get-workflow-run-attempt"]; put: never; post: never; @@ -1430,10 +1558,12 @@ export interface paths { path?: never; cookie?: never; }; - /** List workflow runs for a workflow - @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#parameters). - - Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. */ + /** + * List workflow runs for a workflow + * @description List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#parameters). + * + * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. + */ get: operations["actions/list-workflow-runs"]; put: never; post: never; @@ -1450,14 +1580,18 @@ export interface paths { path?: never; cookie?: never; }; - /** List all autolinks of a repository - @description This returns a list of autolinks configured for the given repository. - - Information about autolinks are only available to repository administrators. */ + /** + * List all autolinks of a repository + * @description This returns a list of autolinks configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ get: operations["repos/list-autolinks"]; put: never; - /** Create an autolink reference for a repository - @description Users with admin access to the repository can create an autolink. */ + /** + * Create an autolink reference for a repository + * @description Users with admin access to the repository can create an autolink. + */ post: operations["repos/create-autolink"]; delete: never; options: never; @@ -1472,10 +1606,12 @@ export interface paths { path?: never; cookie?: never; }; - /** Get an autolink reference of a repository - @description This returns a single autolink reference by ID that was configured for the given repository. - - Information about autolinks are only available to repository administrators. */ + /** + * Get an autolink reference of a repository + * @description This returns a single autolink reference by ID that was configured for the given repository. + * + * Information about autolinks are only available to repository administrators. + */ get: operations["repos/get-autolink"]; put: never; post: never; @@ -1492,24 +1628,26 @@ export interface paths { path?: never; cookie?: never; }; - /** List code scanning analyses for a repository - @description Lists the details of all code scanning analyses for a repository, - starting with the most recent. - The response is paginated and you can use the `page` and `per_page` parameters - to list the analyses you're interested in. - By default 30 analyses are listed per page. - - The `rules_count` field in the response give the number of rules - that were run in the analysis. - For very old analyses this data is not available, - and `0` is returned in this field. - - You must use an access token with the `security_events` scope to use this endpoint with private repos, - the `public_repo` scope also grants permission to read security events on public repos only. - GitHub Apps must have the `security_events` read permission to use this endpoint. - - **Deprecation notice**: - The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. */ + /** + * List code scanning analyses for a repository + * @description Lists the details of all code scanning analyses for a repository, + * starting with the most recent. + * The response is paginated and you can use the `page` and `per_page` parameters + * to list the analyses you're interested in. + * By default 30 analyses are listed per page. + * + * The `rules_count` field in the response give the number of rules + * that were run in the analysis. + * For very old analyses this data is not available, + * and `0` is returned in this field. + * + * You must use an access token with the `security_events` scope to use this endpoint with private repos, + * the `public_repo` scope also grants permission to read security events on public repos only. + * GitHub Apps must have the `security_events` read permission to use this endpoint. + * + * **Deprecation notice**: + * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. + */ get: operations["code-scanning/list-recent-analyses"]; put: never; post: never; @@ -1526,15 +1664,17 @@ export interface paths { path?: never; cookie?: never; }; - /** List repository collaborators - @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. - Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. - - Team members will include the members of child teams. - - You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this - endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this - endpoint. */ + /** + * List repository collaborators + * @description For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. + * Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint. + * + * Team members will include the members of child teams. + * + * You must authenticate using an access token with the `read:org` and `repo` scopes with push access to use this + * endpoint. GitHub Apps must have the `members` organization permission and `metadata` repository permission to use this + * endpoint. + */ get: operations["repos/list-collaborators"]; put: never; post: never; @@ -1551,8 +1691,10 @@ export interface paths { path?: never; cookie?: never; }; - /** Get repository permissions for a user - @description Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ + /** + * Get repository permissions for a user + * @description Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. + */ get: operations["repos/get-collaborator-permission-level"]; put: never; post: never; @@ -1569,8 +1711,10 @@ export interface paths { path?: never; cookie?: never; }; - /** Get a diff of the dependencies between commits - @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ + /** + * Get a diff of the dependencies between commits + * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. + */ get: operations["dependency-graph/diff-range"]; put: never; post: never; @@ -1589,10 +1733,12 @@ export interface paths { }; get: never; put: never; - /** Create a fork - @description Create a fork for the authenticated user. - - **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Enterprise Server Support](https://support.github.com/contact?tags=dotcom-rest-api). */ + /** + * Create a fork + * @description Create a fork for the authenticated user. + * + * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Enterprise Server Support](https://support.github.com/contact?tags=dotcom-rest-api). + */ post: operations["repos/create-fork"]; delete: never; options: never; @@ -1607,10 +1753,12 @@ export interface paths { path?: never; cookie?: never; }; - /** Get a repository installation for the authenticated app - @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. - - You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ + /** + * Get a repository installation for the authenticated app + * @description Enables an authenticated GitHub App to find the repository's installation information. The installation's account type will be either an organization or a user account, depending which account the repository belongs to. + * + * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ get: operations["apps/get-repo-installation"]; put: never; post: never; @@ -1630,8 +1778,10 @@ export interface paths { /** List deploy keys */ get: operations["repos/list-deploy-keys"]; put: never; - /** Create a deploy key - @description You can create a read-only deploy key. */ + /** + * Create a deploy key + * @description You can create a read-only deploy key. + */ post: operations["repos/create-deploy-key"]; delete: never; options: never; @@ -1663,8 +1813,10 @@ export interface paths { path?: never; cookie?: never; }; - /** List pre-receive hooks for a repository - @description List all pre-receive hooks that are enabled or testing for this repository as well as any disabled hooks that are allowed to be enabled at the repository level. Pre-receive hooks that are disabled at a higher level and are not configurable will not be listed. */ + /** + * List pre-receive hooks for a repository + * @description List all pre-receive hooks that are enabled or testing for this repository as well as any disabled hooks that are allowed to be enabled at the repository level. Pre-receive hooks that are disabled at a higher level and are not configurable will not be listed. + */ get: operations["enterprise-admin/list-pre-receive-hooks-for-repo"]; put: never; post: never; @@ -1685,15 +1837,19 @@ export interface paths { get: operations["enterprise-admin/get-pre-receive-hook-for-repo"]; put: never; post: never; - /** Remove pre-receive hook enforcement for a repository - @description Deletes any overridden enforcement on this repository for the specified hook. - - Responds with effective values inherited from owner and/or global level. */ + /** + * Remove pre-receive hook enforcement for a repository + * @description Deletes any overridden enforcement on this repository for the specified hook. + * + * Responds with effective values inherited from owner and/or global level. + */ delete: operations["enterprise-admin/remove-pre-receive-hook-enforcement-for-repo"]; options: never; head: never; - /** Update pre-receive hook enforcement for a repository - @description For pre-receive hooks which are allowed to be configured at the repo level, you can set `enforcement` */ + /** + * Update pre-receive hook enforcement for a repository + * @description For pre-receive hooks which are allowed to be configured at the repo level, you can set `enforcement` + */ patch: operations["enterprise-admin/update-pre-receive-hook-enforcement-for-repo"]; trace: never; }; @@ -1704,16 +1860,20 @@ export interface paths { path?: never; cookie?: never; }; - /** List releases - @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/enterprise-server@3.6/rest/reference/repos#list-repository-tags). - - Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. */ + /** + * List releases + * @description This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/enterprise-server@3.6/rest/reference/repos#list-repository-tags). + * + * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. + */ get: operations["repos/list-releases"]; put: never; - /** Create a release - @description Users with push access to the repository can create a release. - - This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ + /** + * Create a release + * @description Users with push access to the repository can create a release. + * + * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. + */ post: operations["repos/create-release"]; delete: never; options: never; @@ -1728,10 +1888,12 @@ export interface paths { path?: never; cookie?: never; }; - /** Get the latest release - @description View the latest published full release for the repository. - - The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. */ + /** + * Get the latest release + * @description View the latest published full release for the repository. + * + * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. + */ get: operations["repos/get-latest-release"]; put: never; post: never; @@ -1748,8 +1910,10 @@ export interface paths { path?: never; cookie?: never; }; - /** Get a release by tag name - @description Get a published release with the specified tag. */ + /** + * Get a release by tag name + * @description Get a published release with the specified tag. + */ get: operations["repos/get-release-by-tag"]; put: never; post: never; @@ -1766,16 +1930,20 @@ export interface paths { path?: never; cookie?: never; }; - /** Get a release - @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#hypermedia). */ + /** + * Get a release + * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#hypermedia). + */ get: operations["repos/get-release"]; put: never; post: never; delete: never; options: never; head: never; - /** Update a release - @description Users with push access to the repository can edit a release. */ + /** + * Update a release + * @description Users with push access to the repository can edit a release. + */ patch: operations["repos/update-release"]; trace: never; }; @@ -1786,8 +1954,10 @@ export interface paths { path?: never; cookie?: never; }; - /** List repository cache replication status - @description Lists the status of each repository cache replica. */ + /** + * List repository cache replication status + * @description Lists the status of each repository cache replica. + */ get: operations["repos/list-cache-info"]; put: never; post: never; @@ -1804,12 +1974,14 @@ export interface paths { path?: never; cookie?: never; }; - /** List secret scanning alerts for a repository - @description Lists secret scanning alerts for an eligible repository, from newest to oldest. - To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - For public repositories, you may instead use the `public_repo` scope. - - GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ + /** + * List secret scanning alerts for a repository + * @description Lists secret scanning alerts for an eligible repository, from newest to oldest. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ get: operations["secret-scanning/list-alerts-for-repo"]; put: never; post: never; @@ -1826,24 +1998,28 @@ export interface paths { path?: never; cookie?: never; }; - /** Get a secret scanning alert - @description Gets a single secret scanning alert detected in an eligible repository. - To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - For public repositories, you may instead use the `public_repo` scope. - - GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ + /** + * Get a secret scanning alert + * @description Gets a single secret scanning alert detected in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. + */ get: operations["secret-scanning/get-alert"]; put: never; post: never; delete: never; options: never; head: never; - /** Update a secret scanning alert - @description Updates the status of a secret scanning alert in an eligible repository. - To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. - For public repositories, you may instead use the `public_repo` scope. - - GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. */ + /** + * Update a secret scanning alert + * @description Updates the status of a secret scanning alert in an eligible repository. + * To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope. + * For public repositories, you may instead use the `public_repo` scope. + * + * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. + */ patch: operations["secret-scanning/update-alert"]; trace: never; }; @@ -1854,12 +2030,14 @@ export interface paths { path?: never; cookie?: never; }; - /** List public repositories - @description Lists all public repositories in the order that they were created. - - Note: - - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. - - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. */ + /** + * List public repositories + * @description Lists all public repositories in the order that they were created. + * + * Note: + * - For GitHub Enterprise Server, this endpoint will only list repositories available to all users on the enterprise. + * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. + */ get: operations["repos/list-public"]; put: never; post: never; @@ -1876,14 +2054,18 @@ export interface paths { path?: never; cookie?: never; }; - /** List provisioned SCIM groups for an enterprise - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + /** + * List provisioned SCIM groups for an enterprise + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + */ get: operations["enterprise-admin/list-provisioned-groups-enterprise"]; put: never; - /** Provision a SCIM enterprise group and invite users - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - - Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. */ + /** + * Provision a SCIM enterprise group and invite users + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. + */ post: operations["enterprise-admin/provision-and-invite-enterprise-group"]; delete: never; options: never; @@ -1898,24 +2080,32 @@ export interface paths { path?: never; cookie?: never; }; - /** Get SCIM provisioning information for an enterprise group - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + /** + * Get SCIM provisioning information for an enterprise group + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + */ get: operations["enterprise-admin/get-provisioning-information-for-enterprise-group"]; - /** Set SCIM information for a provisioned enterprise group - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - - Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. */ + /** + * Set SCIM information for a provisioned enterprise group + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. + */ put: operations["enterprise-admin/set-information-for-provisioned-enterprise-group"]; post: never; - /** Delete a SCIM group from an enterprise - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + /** + * Delete a SCIM group from an enterprise + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + */ delete: operations["enterprise-admin/delete-scim-group-from-enterprise"]; options: never; head: never; - /** Update an attribute for a SCIM enterprise group - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - - Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ + /** + * Update an attribute for a SCIM enterprise group + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + */ patch: operations["enterprise-admin/update-attribute-for-enterprise-group"]; trace: never; }; @@ -1926,33 +2116,37 @@ export interface paths { path?: never; cookie?: never; }; - /** List SCIM provisioned identities for an enterprise - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - - Retrieves a paginated list of all provisioned enterprise members, including pending invitations. - - When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub Enterprise Server. This can happen in certain cases where an external identity associated with an organization will not match an organization member: - - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. - - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). - - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. - - The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub Enterprise Server account after completing SSO: - - 1. The user is granted access by the IdP and is not a member of the GitHub Enterprise Server enterprise. - - 1. The user attempts to access the GitHub Enterprise Server enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub Enterprise Server account. - - 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub Enterprise Server account: - - If the user signs in, their GitHub Enterprise Server account is linked to this entry. - - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub Enterprise Server enterprise, and the external identity `null` entry remains in place. */ + /** + * List SCIM provisioned identities for an enterprise + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Retrieves a paginated list of all provisioned enterprise members, including pending invitations. + * + * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub Enterprise Server. This can happen in certain cases where an external identity associated with an organization will not match an organization member: + * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future. + * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted). + * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO. + * + * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub Enterprise Server account after completing SSO: + * + * 1. The user is granted access by the IdP and is not a member of the GitHub Enterprise Server enterprise. + * + * 1. The user attempts to access the GitHub Enterprise Server enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub Enterprise Server account. + * + * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub Enterprise Server account: + * - If the user signs in, their GitHub Enterprise Server account is linked to this entry. + * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub Enterprise Server enterprise, and the external identity `null` entry remains in place. + */ get: operations["enterprise-admin/list-provisioned-identities-enterprise"]; put: never; - /** Provision and invite a SCIM enterprise user - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - - Provision enterprise membership for a user, and send organization invitation emails to the email address. - - You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. */ + /** + * Provision and invite a SCIM enterprise user + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Provision enterprise membership for a user, and send organization invitation emails to the email address. + * + * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. + */ post: operations["enterprise-admin/provision-and-invite-enterprise-user"]; delete: never; options: never; @@ -1967,43 +2161,51 @@ export interface paths { path?: never; cookie?: never; }; - /** Get SCIM provisioning information for an enterprise user - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + /** + * Get SCIM provisioning information for an enterprise user + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + */ get: operations["enterprise-admin/get-provisioning-information-for-enterprise-user"]; - /** Set SCIM information for a provisioned enterprise user - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - - Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. - - You must at least provide the required values for the user: `userName`, `name`, and `emails`. - - **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. */ + /** + * Set SCIM information for a provisioned enterprise user + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead. + * + * You must at least provide the required values for the user: `userName`, `name`, and `emails`. + * + * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. + */ put: operations["enterprise-admin/set-information-for-provisioned-enterprise-user"]; post: never; - /** Delete a SCIM user from an enterprise - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ + /** + * Delete a SCIM user from an enterprise + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + */ delete: operations["enterprise-admin/delete-user-from-enterprise"]; options: never; head: never; - /** Update an attribute for a SCIM enterprise user - @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. - - Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). - - **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. - - **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. - - ``` - { - "Operations":[{ - "op":"replace", - "value":{ - "active":false - } - }] - } - ``` */ + /** + * Update an attribute for a SCIM enterprise user + * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. + * + * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). + * + * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work. + * + * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`. + * + * ``` + * { + * "Operations":[{ + * "op":"replace", + * "value":{ + * "active":false + * } + * }] + * } + * ``` + */ patch: operations["enterprise-admin/update-attribute-for-enterprise-user"]; trace: never; }; @@ -2014,19 +2216,21 @@ export interface paths { path?: never; cookie?: never; }; - /** Get the configuration status - @description This endpoint allows you to check the status of the most recent configuration process: - - Note that you may need to wait several seconds after you start a process before you can check its status. - - The different statuses are: - - | Status | Description | - | ------------- | --------------------------------- | - | `PENDING` | The job has not started yet | - | `CONFIGURING` | The job is running | - | `DONE` | The job has finished correctly | - | `FAILED` | The job has finished unexpectedly | */ + /** + * Get the configuration status + * @description This endpoint allows you to check the status of the most recent configuration process: + * + * Note that you may need to wait several seconds after you start a process before you can check its status. + * + * The different statuses are: + * + * | Status | Description | + * | ------------- | --------------------------------- | + * | `PENDING` | The job has not started yet | + * | `CONFIGURING` | The job is running | + * | `DONE` | The job has finished correctly | + * | `FAILED` | The job has finished unexpectedly | + */ get: operations["enterprise-admin/get-configuration-status"]; put: never; post: never; @@ -2045,8 +2249,10 @@ export interface paths { }; get: never; put: never; - /** Start a configuration process - @description This endpoint allows you to start a configuration process at any time for your updated settings to take effect: */ + /** + * Start a configuration process + * @description This endpoint allows you to start a configuration process at any time for your updated settings to take effect: + */ post: operations["enterprise-admin/start-configuration-process"]; delete: never; options: never; @@ -2061,12 +2267,16 @@ export interface paths { path?: never; cookie?: never; }; - /** Get the maintenance status - @description Check your installation's maintenance status: */ + /** + * Get the maintenance status + * @description Check your installation's maintenance status: + */ get: operations["enterprise-admin/get-maintenance-status"]; put: never; - /** Enable or disable maintenance mode - @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ + /** + * Enable or disable maintenance mode + * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). + */ post: operations["enterprise-admin/enable-or-disable-maintenance-mode"]; delete: never; options: never; @@ -2081,18 +2291,22 @@ export interface paths { path?: never; cookie?: never; }; - /** Get settings - @description Gets the settings for your instance. To change settings, see the [Set settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#set-settings). - - **Note:** You cannot retrieve the management console password with the Enterprise administration API. */ + /** + * Get settings + * @description Gets the settings for your instance. To change settings, see the [Set settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#set-settings). + * + * **Note:** You cannot retrieve the management console password with the Enterprise administration API. + */ get: operations["enterprise-admin/get-settings"]; - /** Set settings - @description Applies settings on your instance. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#get-settings). - - **Notes:** - - - The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). - - You cannot set the management console password with the Enterprise administration API. Use the `ghe-set-password` utility to change the management console password. For more information, see "[Command-line utilities](https://docs.github.com/enterprise-server@3.6/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-set-password)." */ + /** + * Set settings + * @description Applies settings on your instance. For a list of the available settings, see the [Get settings endpoint](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#get-settings). + * + * **Notes:** + * + * - The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). + * - You cannot set the management console password with the Enterprise administration API. Use the `ghe-set-password` utility to change the management console password. For more information, see "[Command-line utilities](https://docs.github.com/enterprise-server@3.6/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-set-password)." + */ put: operations["enterprise-admin/set-settings"]; post: never; delete: never; @@ -2111,11 +2325,15 @@ export interface paths { /** Get all authorized SSH keys */ get: operations["enterprise-admin/get-all-authorized-ssh-keys"]; put: never; - /** Add an authorized SSH key - @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ + /** + * Add an authorized SSH key + * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). + */ post: operations["enterprise-admin/add-authorized-ssh-key"]; - /** Remove an authorized SSH key - @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ + /** + * Remove an authorized SSH key + * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). + */ delete: operations["enterprise-admin/remove-authorized-ssh-key"]; options: never; head: never; @@ -2131,17 +2349,19 @@ export interface paths { }; get: never; put: never; - /** Create a GitHub license - @description When you boot a GitHub instance for the first time, you can use the following endpoint to upload a license. - - Note that you need to `POST` to [`/setup/api/configure`](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#start-a-configuration-process) to start the actual configuration process. - - When using this endpoint, your GitHub instance must have a password set. This can be accomplished two ways: - - 1. If you're working directly with the API before accessing the web interface, you must pass in the password parameter to set your password. - 2. If you set up your instance via the web interface before accessing the API, your calls to this endpoint do not need the password parameter. - - **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ + /** + * Create a GitHub license + * @description When you boot a GitHub instance for the first time, you can use the following endpoint to upload a license. + * + * Note that you need to `POST` to [`/setup/api/configure`](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#start-a-configuration-process) to start the actual configuration process. + * + * When using this endpoint, your GitHub instance must have a password set. This can be accomplished two ways: + * + * 1. If you're working directly with the API before accessing the web interface, you must pass in the password parameter to set your password. + * 2. If you set up your instance via the web interface before accessing the API, your calls to this endpoint do not need the password parameter. + * + * **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). + */ post: operations["enterprise-admin/create-enterprise-server-license"]; delete: never; options: never; @@ -2158,10 +2378,12 @@ export interface paths { }; get: never; put: never; - /** Upgrade a license - @description This API upgrades your license and also triggers the configuration process. - - **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ + /** + * Upgrade a license + * @description This API upgrades your license and also triggers the configuration process. + * + * **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). + */ post: operations["enterprise-admin/upgrade-license"]; delete: never; options: never; @@ -2176,14 +2398,16 @@ export interface paths { path?: never; cookie?: never; }; - /** List app installations accessible to the user access token - @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. - - You must use a [user-to-server OAuth access token](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. - - The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. - - You can find the permissions for the installation under the `permissions` key. */ + /** + * List app installations accessible to the user access token + * @description Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access. + * + * You must use a [user-to-server OAuth access token](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. + * + * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. + * + * You can find the permissions for the installation under the `permissions` key. + */ get: operations["apps/list-installations-for-authenticated-user"]; put: never; post: never; @@ -2200,10 +2424,12 @@ export interface paths { path?: never; cookie?: never; }; - /** Get a user installation for the authenticated app - @description Enables an authenticated GitHub App to find the user’s installation information. - - You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ + /** + * Get a user installation for the authenticated app + * @description Enables an authenticated GitHub App to find the user’s installation information. + * + * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. + */ get: operations["apps/get-user-installation"]; put: never; post: never; @@ -2221,12 +2447,16 @@ export interface paths { cookie?: never; }; get: never; - /** Promote a user to be a site administrator - @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." */ + /** + * Promote a user to be a site administrator + * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." + */ put: operations["enterprise-admin/promote-user-to-be-site-administrator"]; post: never; - /** Demote a site administrator - @description You can demote any user account except your own. */ + /** + * Demote a site administrator + * @description You can demote any user account except your own. + */ delete: operations["enterprise-admin/demote-site-administrator"]; options: never; head: never; @@ -2241,16 +2471,20 @@ export interface paths { cookie?: never; }; get: never; - /** Suspend a user - @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), Active Directory LDAP-authenticated users cannot be suspended through this API. If you attempt to suspend an Active Directory LDAP-authenticated user through this API, it will return a `403` response. - - You can suspend any user account except your own. - - Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." */ + /** + * Suspend a user + * @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), Active Directory LDAP-authenticated users cannot be suspended through this API. If you attempt to suspend an Active Directory LDAP-authenticated user through this API, it will return a `403` response. + * + * You can suspend any user account except your own. + * + * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." + */ put: operations["enterprise-admin/suspend-user"]; post: never; - /** Unsuspend a user - @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), this API is disabled and will return a `403` response. Active Directory LDAP-authenticated users cannot be unsuspended using the API. */ + /** + * Unsuspend a user + * @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), this API is disabled and will return a `403` response. Active Directory LDAP-authenticated users cannot be unsuspended using the API. + */ delete: operations["enterprise-admin/unsuspend-user"]; options: never; head: never; @@ -2321,8 +2555,10 @@ export interface components { repositories_url?: string; parent?: unknown; }; - /** Ldap Private User - @description Ldap Private User */ + /** + * Ldap Private User + * @description Ldap Private User + */ "ldap-mapping-user": { ldap_dn?: string; /** @example octocat */ @@ -2331,19 +2567,27 @@ export interface components { id: number; /** @example MDQ6VXNlcjE= */ node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ avatar_url: string; /** @example 41d064eb2195891e12d0413f63227ea7 */ gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ url: string; - /** Format: uri - @example https://github.com/octocat */ + /** + * Format: uri + * @example https://github.com/octocat + */ html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ followers_url: string; /** @example https://api.github.com/users/octocat/following{/other_user} */ following_url: string; @@ -2351,19 +2595,27 @@ export interface components { gists_url: string; /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ repos_url: string; /** @example https://api.github.com/users/octocat/events{/privacy} */ events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ received_events_url: string; /** @example User */ type: string; @@ -2376,8 +2628,10 @@ export interface components { blog: string | null; /** @example San Francisco */ location: string | null; - /** Format: email - @example octocat@github.com */ + /** + * Format: email + * @example octocat@github.com + */ email: string | null; hireable: boolean | null; /** @example There once was... */ @@ -2392,11 +2646,15 @@ export interface components { followers: number; /** @example 0 */ following: number; - /** Format: date-time - @example 2008-01-14T04:33:35Z */ + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ created_at: string; - /** Format: date-time - @example 2008-01-14T04:33:35Z */ + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ updated_at: string; /** @example 81 */ private_gists: number; @@ -2420,8 +2678,10 @@ export interface components { suspended_at?: string | null; business_plus?: boolean; }; - /** Organization Simple - @description Organization Simple */ + /** + * Organization Simple + * @description Organization Simple + */ "organization-simple": { /** @example github */ login: string; @@ -2429,14 +2689,20 @@ export interface components { id: number; /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ node_id: string; - /** Format: uri - @example https://api.github.com/orgs/github */ + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ url: string; - /** Format: uri - @example https://api.github.com/orgs/github/repos */ + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ repos_url: string; - /** Format: uri - @example https://api.github.com/orgs/github/events */ + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ events_url: string; /** @example https://api.github.com/orgs/github/hooks */ hooks_url: string; @@ -2502,8 +2768,10 @@ export interface components { }; allow_downstream_configuration?: boolean; }; - /** Authorization - @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. */ + /** + * Authorization + * @description The authorization for an OAuth app, GitHub App, or a Personal Access Token. + */ authorization: { id: number; /** Format: uri */ @@ -2527,231 +2795,15 @@ export interface components { /** Format: date-time */ created_at: string; fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; + user?: components["schemas"]["nullable-simple-user"]; + installation?: components["schemas"]["nullable-scoped-installation"]; /** Format: date-time */ expires_at: string | null; }; - /** Simple User - @description Simple User */ + /** + * Simple User + * @description Simple User + */ "simple-user": { name?: string | null; email?: string | null; @@ -2761,19 +2813,27 @@ export interface components { id: number; /** @example MDQ6VXNlcjE= */ node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ avatar_url: string; /** @example 41d064eb2195891e12d0413f63227ea7 */ gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ url: string; - /** Format: uri - @example https://github.com/octocat */ + /** + * Format: uri + * @example https://github.com/octocat + */ html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ followers_url: string; /** @example https://api.github.com/users/octocat/following{/other_user} */ following_url: string; @@ -2781,19 +2841,27 @@ export interface components { gists_url: string; /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ repos_url: string; /** @example https://api.github.com/users/octocat/events{/privacy} */ events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ received_events_url: string; /** @example User */ type: string; @@ -2801,100 +2869,36 @@ export interface components { /** @example "2020-07-09T00:17:55Z" */ starred_at?: string; }; - /** Installation - @description Installation */ + /** + * Installation + * @description Installation + */ installation: { - /** @description The ID of the installation. - @example 1 */ + /** + * @description The ID of the installation. + * @example 1 + */ id: number; - account: ({ - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | { - /** @description A short description of the enterprise. */ - description?: string | null; - /** Format: uri - @example https://github.com/enterprises/octo-business */ - html_url: string; - /** Format: uri - @description The enterprise's website URL. */ - website_url?: string | null; - /** @description Unique identifier of the enterprise - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the enterprise. - @example Octo Business */ - name: string; - /** @description The slug url identifier for the enterprise. - @example octo-business */ - slug: string; - /** Format: date-time - @example 2019-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2019-01-26T19:14:43Z */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }) | null; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ + account: (components["schemas"]["simple-user"] | components["schemas"]["enterprise"]) | null; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ repository_selection: "all" | "selected"; - /** Format: uri - @example https://api.github.com/installations/1/access_tokens */ + /** + * Format: uri + * @example https://api.github.com/installations/1/access_tokens + */ access_tokens_url: string; - /** Format: uri - @example https://api.github.com/installation/repositories */ + /** + * Format: uri + * @example https://api.github.com/installation/repositories + */ repositories_url: string; - /** Format: uri - @example https://github.com/organizations/github/settings/installations/1 */ + /** + * Format: uri + * @example https://github.com/organizations/github/settings/installations/1 + */ html_url: string; /** @example 1 */ app_id: number; @@ -2902,106 +2906,7 @@ export interface components { target_id: number; /** @example Organization */ target_type: string; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; + permissions: components["schemas"]["app-permissions"]; events: string[]; /** Format: date-time */ created_at: string; @@ -3012,802 +2917,212 @@ export interface components { /** @example true */ has_multiple_single_files?: boolean; /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] */ single_file_paths?: string[]; /** @example github-actions */ app_slug: string; - /** Simple User - @description Simple User */ - suspended_by: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; + suspended_by: components["schemas"]["nullable-simple-user"]; /** Format: date-time */ suspended_at: string | null; /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ contact_email?: string | null; }; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ + /** + * App Permissions + * @description The permissions granted to the user-to-server access token. + * @example { + * "contents": "read", + * "issues": "read", + * "deployments": "write", + * "single_file": "read" + * } + */ "app-permissions": { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ + /** + * @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. + * @enum {string} + */ actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ + /** + * @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. + * @enum {string} + */ administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ + /** + * @description The level of permission to grant the access token for checks on code. + * @enum {string} + */ checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ + /** + * @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. + * @enum {string} + */ contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ + /** + * @description The level of permission to grant the access token for deployments and deployment statuses. + * @enum {string} + */ deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ + /** + * @description The level of permission to grant the access token for managing repository environments. + * @enum {string} + */ environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ + /** + * @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. + * @enum {string} + */ issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ + /** + * @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. + * @enum {string} + */ metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ + /** + * @description The level of permission to grant the access token for packages published to GitHub Packages. + * @enum {string} + */ packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ + /** + * @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. + * @enum {string} + */ pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ + /** + * @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. + * @enum {string} + */ pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for a repository. + * @enum {string} + */ repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ + /** + * @description The level of permission to grant the access token to manage repository projects, columns, and cards. + * @enum {string} + */ repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ + /** + * @description The level of permission to grant the access token to view and manage secret scanning alerts. + * @enum {string} + */ secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ + /** + * @description The level of permission to grant the access token to manage repository secrets. + * @enum {string} + */ secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ + /** + * @description The level of permission to grant the access token to view and manage security events like code scanning alerts. + * @enum {string} + */ security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ + /** + * @description The level of permission to grant the access token to manage just a single file. + * @enum {string} + */ single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ + /** + * @description The level of permission to grant the access token for commit statuses. + * @enum {string} + */ statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ + /** + * @description The level of permission to grant the access token to manage Dependabot alerts. + * @enum {string} + */ vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ + /** + * @description The level of permission to grant the access token to update GitHub Actions workflow files. + * @enum {string} + */ workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ + /** + * @description The level of permission to grant the access token for organization teams and members. + * @enum {string} + */ members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ + /** + * @description The level of permission to grant the access token to manage access to an organization. + * @enum {string} + */ organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ + /** + * @description The level of permission to grant the access token to manage the post-receive hooks for an organization. + * @enum {string} + */ organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ + /** + * @description The level of permission to grant the access token for viewing an organization's plan. + * @enum {string} + */ organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ + /** + * @description The level of permission to grant the access token to manage organization projects and projects beta (where available). + * @enum {string} + */ organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ + /** + * @description The level of permission to grant the access token for organization packages published to GitHub Packages. + * @enum {string} + */ organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ + /** + * @description The level of permission to grant the access token to manage organization secrets. + * @enum {string} + */ organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ + /** + * @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. + * @enum {string} + */ organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ + /** + * @description The level of permission to grant the access token to view and manage users blocked by the organization. + * @enum {string} + */ organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ + /** + * @description The level of permission to grant the access token to manage team discussions and related comments. + * @enum {string} + */ team_discussions?: "read" | "write"; }; - /** Installation Token - @description Authentication token for a GitHub App installed on a user or org. */ + /** + * Installation Token + * @description Authentication token for a GitHub App installed on a user or org. + */ "installation-token": { token: string; expires_at: string; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions?: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; + permissions?: components["schemas"]["app-permissions"]; /** @enum {string} */ repository_selection?: "all" | "selected"; - repositories?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }[]; + repositories?: components["schemas"]["repository"][]; /** @example README.md */ single_file?: string; /** @example true */ has_multiple_single_files?: boolean; /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] */ single_file_paths?: string[]; }; - /** Application Grant - @description The authorization associated with an OAuth Access. */ + /** + * Application Grant + * @description The authorization associated with an OAuth Access. + */ "application-grant": { /** @example 1 */ id: number; - /** Format: uri - @example https://api.github.com/applications/grants/1 */ + /** + * Format: uri + * @example https://api.github.com/applications/grants/1 + */ url: string; app: { client_id: string; @@ -3815,78 +3130,29 @@ export interface components { /** Format: uri */ url: string; }; - /** Format: date-time - @example 2011-09-06T17:26:27Z */ + /** + * Format: date-time + * @example 2011-09-06T17:26:27Z + */ created_at: string; - /** Format: date-time - @example 2011-09-06T20:39:23Z */ + /** + * Format: date-time + * @example 2011-09-06T20:39:23Z + */ updated_at: string; /** @example [ - "public_repo" - ] */ + * "public_repo" + * ] */ scopes: string[]; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; + user?: components["schemas"]["nullable-simple-user"]; }; - /** Enterprise Announcement - @description Enterprise global announcement */ + /** + * Enterprise Announcement + * @description Enterprise global announcement + */ announcement: { - /** @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." - @example Very **important** announcement about _nothing_. */ - announcement: string; - /** Format: date-time - @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. - @example "2021-01-01T00:00:00.000-07:00" */ - expires_at?: string | null; + announcement: components["schemas"]["announcement-message"]; + expires_at?: components["schemas"]["announcement-expiration"]; }; "license-info": { seats?: string | number; @@ -3897,70 +3163,16 @@ export interface components { expire_at?: string; }; "enterprise-overview": { - /** Repository Enterprise Stats */ - repos?: { - total_repos: number; - root_repos: number; - fork_repos: number; - org_repos: number; - total_pushes: number; - total_wikis: number; - }; - /** Hooks Enterprise Stats */ - hooks?: { - total_hooks: number; - active_hooks: number; - inactive_hooks: number; - }; - /** Enterprise Pages Stats */ - pages?: { - total_pages: number; - }; - /** Enterprise Organization Stats */ - orgs?: { - total_orgs: number; - disabled_orgs: number; - total_teams: number; - total_team_members: number; - }; - /** Enterprise User Stats */ - users?: { - total_users: number; - admin_users: number; - suspended_users: number; - }; - /** Enterprise Pull Request Stats */ - pulls?: { - total_pulls: number; - merged_pulls: number; - mergeable_pulls: number; - unmergeable_pulls: number; - }; - /** Enterprise Issue Stats */ - issues?: { - total_issues: number; - open_issues: number; - closed_issues: number; - }; - /** Enterprise Milestone Stats */ - milestones?: { - total_milestones: number; - open_milestones: number; - closed_milestones: number; - }; - /** Enterprise Gist Stats */ - gists?: { - total_gists: number; - private_gists: number; - public_gists: number; - }; - /** Enterprise Comment Stats */ - comments?: { - total_commit_comments: number; - total_gist_comments: number; - total_issue_comments: number; - total_pull_request_comments: number; - }; + repos?: components["schemas"]["enterprise-repository-overview"]; + hooks?: components["schemas"]["enterprise-hook-overview"]; + pages?: components["schemas"]["enterprise-page-overview"]; + orgs?: components["schemas"]["enterprise-organization-overview"]; + users?: components["schemas"]["enterprise-user-overview"]; + pulls?: components["schemas"]["enterprise-pull-request-overview"]; + issues?: components["schemas"]["enterprise-issue-overview"]; + milestones?: components["schemas"]["enterprise-milestone-overview"]; + gists?: components["schemas"]["enterprise-gist-overview"]; + comments?: components["schemas"]["enterprise-comment-overview"]; }; /** Enterprise Comment Stats */ "enterprise-comment-overview": { @@ -4026,14 +3238,20 @@ export interface components { admin_users: number; suspended_users: number; }; - /** Actions cache usage policy for an enterprise - @description GitHub Actions cache usage policy for an enterprise. */ + /** + * Actions cache usage policy for an enterprise + * @description GitHub Actions cache usage policy for an enterprise. + */ "actions-cache-usage-policy-enterprise": { - /** @description For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes. - @example 10 */ + /** + * @description For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes. + * @example 10 + */ repo_cache_size_limit_in_gb?: number; - /** @description For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes. - @example 15 */ + /** + * @description For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes. + * @example 15 + */ max_repo_cache_size_limit_in_gb?: number; }; "selected-actions": { @@ -4102,379 +3320,76 @@ export interface components { visibility?: string; }; "organization-secret-scanning-alert": { - /** @description The security alert number. */ - readonly number?: number; - /** Format: date-time - @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly created_at?: string; - /** Format: date-time - @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly updated_at?: string | null; - /** Format: uri - @description The REST API URL of the alert resource. */ - readonly url?: string; - /** Format: uri - @description The GitHub URL of the alert resource. */ - readonly html_url?: string; - /** Format: uri - @description The REST API URL of the code locations for this alert. */ + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["nullable-alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ locations_url?: string; - /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - @enum {string} */ - state?: "open" | "resolved"; - /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - @enum {string|null} */ - resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; - /** Format: date-time - @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ resolved_at?: string | null; - /** Simple User - @description Simple User */ - resolved_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; /** @description The type of secret that secret scanning detected. */ secret_type?: string; /** @description User-friendly name for the detected secret, matching the `secret_type`. - For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ secret_type_display_name?: string; /** @description The secret that was detected. */ secret?: string; - /** Simple Repository - @description Simple Repository */ - repository?: { - /** @description A unique identifier of the repository. - @example 1296269 */ - id: number; - /** @description The GraphQL identifier of the repository. - @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Hello-World */ - name: string; - /** @description The full, globally unique, name of the repository. - @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private. */ - private: boolean; - /** Format: uri - @description The URL to view the repository on GitHub.com. - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @description The repository description. - @example This your first repo! */ - description: string | null; - /** @description Whether the repository is a fork. */ - fork: boolean; - /** Format: uri - @description The URL to get more information about the repository from the GitHub API. - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @description A template for the API URL to download the repository as an archive. - @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @description A template for the API URL to list the available assignees for issues in the repository. - @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @description A template for the API URL to get information about branches in the repository. - @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @description A template for the API URL to get information about collaborators of the repository. - @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @description A template for the API URL to get information about comments on the repository. - @example https://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @description A template for the API URL to get information about commits on the repository. - @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @description A template for the API URL to compare two commits or refs. - @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @description A template for the API URL to get the contents of the repository. - @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @description A template for the API URL to list the contributors to the repository. - @example https://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @description The API URL to list the deployments of the repository. - @example https://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @description The API URL to list the downloads on the repository. - @example https://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @description The API URL to list the events of the repository. - @example https://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @description The API URL to list the forks of the repository. - @example https://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @description A template for the API URL to get information about Git commits of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @description A template for the API URL to get information about Git refs of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @description A template for the API URL to get information about Git tags of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @description A template for the API URL to get information about issue comments on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @description A template for the API URL to get information about issue events on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @description A template for the API URL to get information about issues on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @description A template for the API URL to get information about deploy keys on the repository. - @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @description A template for the API URL to get information about labels of the repository. - @example https://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @description The API URL to get information about the languages of the repository. - @example https://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @description The API URL to merge branches in the repository. - @example https://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @description A template for the API URL to get information about milestones of the repository. - @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @description A template for the API URL to get information about notifications on the repository. - @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @description A template for the API URL to get information about pull requests on the repository. - @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @description A template for the API URL to get information about releases on the repository. - @example https://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** Format: uri - @description The API URL to list the stargazers on the repository. - @example https://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @description A template for the API URL to get information about statuses of a commit. - @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @description The API URL to list the subscribers on the repository. - @example https://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @description The API URL to subscribe to notifications for this repository. - @example https://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @description The API URL to get information about tags on the repository. - @example https://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @description The API URL to list the teams on the repository. - @example https://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** Format: uri - @description The API URL to list the hooks on the repository. - @example https://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - }; + repository?: components["schemas"]["simple-repository"]; /** @description Whether push protection was bypassed for the detected secret. */ push_protection_bypassed?: boolean | null; - /** Simple User - @description Simple User */ - push_protection_bypassed_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time - @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ push_protection_bypassed_at?: string | null; }; - /** Api Overview - @description Api Overview */ + /** + * Api Overview + * @description Api Overview + */ "api-overview": { /** @example true */ verifiable_password_authentication: boolean; /** @example [ - "13.65.0.0/16", - "157.55.204.33/32", - "2a01:111:f403:f90c::/62" - ] */ + * "13.65.0.0/16", + * "157.55.204.33/32", + * "2a01:111:f403:f90c::/62" + * ] */ packages?: string[]; /** @example [ - "192.168.7.15/32", - "192.168.7.16/32" - ] */ + * "192.168.7.15/32", + * "192.168.7.16/32" + * ] */ dependabot?: string[]; /** @example 3.6.0 */ installed_version?: string; }; - /** Organization Custom Repository Role - @description Custom repository roles created by organization administrators */ + /** + * Organization Custom Repository Role + * @description Custom repository roles created by organization administrators + */ "organization-custom-repository-role": { /** @description The unique identifier of the custom role. */ id: number; /** @description The name of the custom role. */ name: string; }; - /** Organization Full - @description Organization Full */ + /** + * Organization Full + * @description Organization Full + */ "organization-full": { /** @example github */ login: string; @@ -4482,14 +3397,20 @@ export interface components { id: number; /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ node_id: string; - /** Format: uri - @example https://api.github.com/orgs/github */ + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ url: string; - /** Format: uri - @example https://api.github.com/orgs/github/repos */ + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ repos_url: string; - /** Format: uri - @example https://api.github.com/orgs/github/events */ + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ events_url: string; /** @example https://api.github.com/orgs/github/hooks */ hooks_url: string; @@ -4507,13 +3428,17 @@ export interface components { name?: string; /** @example GitHub */ company?: string; - /** Format: uri - @example https://github.com/blog */ + /** + * Format: uri + * @example https://github.com/blog + */ blog?: string; /** @example San Francisco */ location?: string; - /** Format: email - @example octocat@github.com */ + /** + * Format: email + * @example octocat@github.com + */ email?: string; /** @example github */ twitter_username?: string | null; @@ -4531,11 +3456,15 @@ export interface components { followers: number; /** @example 0 */ following: number; - /** Format: uri - @example https://github.com/octocat */ + /** + * Format: uri + * @example https://github.com/octocat + */ html_url: string; - /** Format: date-time - @example 2008-01-14T04:33:35Z */ + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ created_at: string; /** @example Organization */ type: string; @@ -4549,8 +3478,10 @@ export interface components { disk_usage?: number | null; /** @example 8 */ collaborators?: number | null; - /** Format: email - @example org@example.com */ + /** + * Format: email + * @example org@example.com + */ billing_email?: string | null; plan?: { name: string; @@ -4585,8 +3516,10 @@ export interface components { /** Format: date-time */ updated_at: string; }; - /** Validation Error - @description Validation Error */ + /** + * Validation Error + * @description Validation Error + */ "validation-error": { message: string; documentation_url: string; @@ -4599,99 +3532,135 @@ export interface components { value?: (string | null) | (number | null) | (string[] | null); }[]; }; - /** Validation Error Simple - @description Validation Error Simple */ + /** + * Validation Error Simple + * @description Validation Error Simple + */ "validation-error-simple": { message: string; documentation_url: string; errors?: string[]; }; - /** ExternalGroup - @description Information about an external group's usage and its members */ + /** + * ExternalGroup + * @description Information about an external group's usage and its members + */ "external-group": { - /** @description The internal ID of the group - @example 1 */ + /** + * @description The internal ID of the group + * @example 1 + */ group_id: number; - /** @description The display name for the group - @example group-azuread-test */ + /** + * @description The display name for the group + * @example group-azuread-test + */ group_name: string; - /** @description The date when the group was last updated_at - @example 2021-01-03 22:27:15:000 -700 */ + /** + * @description The date when the group was last updated_at + * @example 2021-01-03 22:27:15:000 -700 + */ updated_at?: string; - /** @description An array of teams linked to this group - @example [ - { - "team_id": 1, - "team_name": "team-test" - }, - { - "team_id": 2, - "team_name": "team-test2" - } - ] */ + /** + * @description An array of teams linked to this group + * @example [ + * { + * "team_id": 1, + * "team_name": "team-test" + * }, + * { + * "team_id": 2, + * "team_name": "team-test2" + * } + * ] + */ teams: { - /** @description The id for a team - @example 1 */ + /** + * @description The id for a team + * @example 1 + */ team_id: number; - /** @description The name of the team - @example team-test */ + /** + * @description The name of the team + * @example team-test + */ team_name: string; }[]; - /** @description An array of external members linked to this group - @example [ - { - "member_id": 1, - "member_login": "mona-lisa_eocsaxrs", - "member_name": "Mona Lisa", - "member_email": "mona_lisa@github.com" - }, - { - "member_id": 2, - "member_login": "octo-lisa_eocsaxrs", - "member_name": "Octo Lisa", - "member_email": "octo_lisa@github.com" - } - ] */ + /** + * @description An array of external members linked to this group + * @example [ + * { + * "member_id": 1, + * "member_login": "mona-lisa_eocsaxrs", + * "member_name": "Mona Lisa", + * "member_email": "mona_lisa@github.com" + * }, + * { + * "member_id": 2, + * "member_login": "octo-lisa_eocsaxrs", + * "member_name": "Octo Lisa", + * "member_email": "octo_lisa@github.com" + * } + * ] + */ members: { - /** @description The internal user ID of the identity - @example 1 */ + /** + * @description The internal user ID of the identity + * @example 1 + */ member_id: number; - /** @description The handle/login for the user - @example mona-lisa_eocsaxrs */ + /** + * @description The handle/login for the user + * @example mona-lisa_eocsaxrs + */ member_login: string; - /** @description The user display name/profile name - @example Mona Lisa */ + /** + * @description The user display name/profile name + * @example Mona Lisa + */ member_name: string; - /** @description An email attached to a user - @example mona_lisa@github.com */ + /** + * @description An email attached to a user + * @example mona_lisa@github.com + */ member_email: string; }[]; }; - /** ExternalGroups - @description A list of external groups available to be connected to a team */ + /** + * ExternalGroups + * @description A list of external groups available to be connected to a team + */ "external-groups": { - /** @description An array of external groups available to be mapped to a team - @example [ - { - "group_id": 1, - "group_name": "group-azuread-test", - "updated_at": "2021-01-03 22:27:15:000 -700" - }, - { - "group_id": 2, - "group_name": "group-azuread-test2", - "updated_at": "2021-06-03 22:27:15:000 -700" - } - ] */ + /** + * @description An array of external groups available to be mapped to a team + * @example [ + * { + * "group_id": 1, + * "group_name": "group-azuread-test", + * "updated_at": "2021-01-03 22:27:15:000 -700" + * }, + * { + * "group_id": 2, + * "group_name": "group-azuread-test2", + * "updated_at": "2021-06-03 22:27:15:000 -700" + * } + * ] + */ groups?: { - /** @description The internal ID of the group - @example 1 */ + /** + * @description The internal ID of the group + * @example 1 + */ group_id: number; - /** @description The display name of the group - @example group-azuread-test */ + /** + * @description The display name of the group + * @example group-azuread-test + */ group_name: string; - /** @description The time of the last update for this group - @example 2019-06-03 22:27:15:000 -700 */ + /** + * @description The time of the last update for this group + * @example 2019-06-03 22:27:15:000 -700 + */ updated_at: string; }[]; }; @@ -4702,2158 +3671,287 @@ export interface components { configuration_url?: string; allow_downstream_configuration?: boolean; }; - /** Full Team - @description Groups of organization members that gives permissions on specified repositories. */ + /** + * Full Team + * @description Groups of organization members that gives permissions on specified repositories. + */ "team-full": { - /** @description Unique identifier of the team - @example 42 */ + /** + * @description Unique identifier of the team + * @example 42 + */ id: number; /** @example MDQ6VGVhbTE= */ node_id: string; - /** Format: uri - @description URL for the team - @example https://api.github.com/organizations/1/team/1 */ + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ url: string; - /** Format: uri - @example https://github.com/orgs/rails/teams/core */ + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ html_url: string; - /** @description Name of the team - @example Developers */ + /** + * @description Name of the team + * @example Developers + */ name: string; /** @example justice-league */ slug: string; /** @example A great team. */ description: string | null; - /** @description The level of privacy this team should have - @example closed - @enum {string} */ + /** + * @description The level of privacy this team should have + * @example closed + * @enum {string} + */ privacy?: "closed" | "secret"; - /** @description Permission that the team will have for its repositories - @example push */ + /** + * @description Permission that the team will have for its repositories + * @example push + */ permission: string; /** @example https://api.github.com/organizations/1/team/1/members{/member} */ members_url: string; - /** Format: uri - @example https://api.github.com/organizations/1/team/1/repos */ + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ repositories_url: string; - /** Team Simple - @description Groups of organization members that gives permissions on specified repositories. */ - parent?: { - /** @description Unique identifier of the team - @example 1 */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; - /** Format: uri - @description URL for the team - @example https://api.github.com/organizations/1/team/1 */ - url: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; - /** @description Name of the team - @example Justice League */ - name: string; - /** @description Description of the team - @example A great team. */ - description: string | null; - /** @description Permission that the team will have for its repositories - @example admin */ - permission: string; - /** @description The level of privacy this team should have - @example closed */ - privacy?: string; - /** Format: uri - @example https://github.com/orgs/rails/teams/core */ - html_url: string; - /** Format: uri - @example https://api.github.com/organizations/1/team/1/repos */ - repositories_url: string; - /** @example justice-league */ - slug: string; - /** @description Distinguished Name (DN) that team maps to within LDAP environment - @example uid=example,ou=users,dc=github,dc=com */ - ldap_dn?: string; - } | null; + parent?: components["schemas"]["nullable-team-simple"]; /** @example 3 */ members_count: number; /** @example 10 */ repos_count: number; - /** Format: date-time - @example 2017-07-14T16:53:42Z */ + /** + * Format: date-time + * @example 2017-07-14T16:53:42Z + */ created_at: string; - /** Format: date-time - @example 2017-08-17T12:37:15Z */ + /** + * Format: date-time + * @example 2017-08-17T12:37:15Z + */ updated_at: string; - /** Team Organization - @description Team Organization */ - organization: { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** Format: uri - @example https://api.github.com/orgs/github */ - url: string; - /** Format: uri - @example https://api.github.com/orgs/github/repos */ - repos_url: string; - /** Format: uri - @example https://api.github.com/orgs/github/events */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - /** @example github */ - name?: string; - /** @example GitHub */ - company?: string; - /** Format: uri - @example https://github.com/blog */ - blog?: string; - /** @example San Francisco */ - location?: string; - /** Format: email - @example octocat@github.com */ - email?: string; - /** @example github */ - twitter_username?: string | null; - /** @example true */ - is_verified?: boolean; - /** @example true */ - has_organization_projects: boolean; - /** @example true */ - has_repository_projects: boolean; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: date-time - @example 2008-01-14T04:33:35Z */ - created_at: string; - /** @example Organization */ - type: string; - /** @example 100 */ - total_private_repos?: number; - /** @example 100 */ - owned_private_repos?: number; - /** @example 81 */ - private_gists?: number | null; - /** @example 10000 */ - disk_usage?: number | null; - /** @example 8 */ - collaborators?: number | null; - /** Format: email - @example org@example.com */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - /** @example true */ - members_can_create_repositories?: boolean | null; - /** @example true */ - two_factor_requirement_enabled?: boolean | null; - /** @example all */ - members_allowed_repository_creation_type?: string; - /** @example true */ - members_can_create_public_repositories?: boolean; - /** @example true */ - members_can_create_private_repositories?: boolean; - /** @example true */ - members_can_create_internal_repositories?: boolean; - /** @example true */ - members_can_create_pages?: boolean; - /** @example true */ - members_can_create_public_pages?: boolean; - /** @example true */ - members_can_create_private_pages?: boolean; - /** @example false */ - members_can_fork_private_repositories?: boolean | null; - /** @example false */ - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - }; - /** @description Distinguished Name (DN) that team maps to within LDAP environment - @example uid=example,ou=users,dc=github,dc=com */ + organization: components["schemas"]["team-organization"]; + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ ldap_dn?: string; }; - /** Rate Limit Overview - @description Rate Limit Overview */ + /** + * Rate Limit Overview + * @description Rate Limit Overview + */ "rate-limit-overview": { resources: { - /** Rate Limit */ - core: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - graphql?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - search: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - source_import?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - integration_manifest?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - code_scanning_upload?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - actions_runner_registration?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - scim?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - }; - /** Rate Limit */ - rate: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - }; - /** Actions cache usage policy for repository - @description GitHub Actions cache usage policy for repository. */ + core: components["schemas"]["rate-limit"]; + graphql?: components["schemas"]["rate-limit"]; + search: components["schemas"]["rate-limit"]; + source_import?: components["schemas"]["rate-limit"]; + integration_manifest?: components["schemas"]["rate-limit"]; + code_scanning_upload?: components["schemas"]["rate-limit"]; + actions_runner_registration?: components["schemas"]["rate-limit"]; + scim?: components["schemas"]["rate-limit"]; + }; + rate: components["schemas"]["rate-limit"]; + }; + /** + * Actions cache usage policy for repository + * @description GitHub Actions cache usage policy for repository. + */ "actions-cache-usage-policy-for-repository": { - /** @description The size limit for the sum of all caches, in gigabytes. - @example 14 */ + /** + * @description The size limit for the sum of all caches, in gigabytes. + * @example 14 + */ repo_cache_size_limit_in_gb: number; }; - /** Workflow Run - @description An invocation of a workflow */ + /** + * Workflow Run + * @description An invocation of a workflow + */ "workflow-run": { - /** @description The ID of the workflow run. - @example 5 */ + /** + * @description The ID of the workflow run. + * @example 5 + */ id: number; - /** @description The name of the workflow run. - @example Build */ + /** + * @description The name of the workflow run. + * @example Build + */ name?: string | null; /** @example MDEwOkNoZWNrU3VpdGU1 */ node_id: string; - /** @description The ID of the associated check suite. - @example 42 */ + /** + * @description The ID of the associated check suite. + * @example 42 + */ check_suite_id?: number; - /** @description The node ID of the associated check suite. - @example MDEwOkNoZWNrU3VpdGU0Mg== */ + /** + * @description The node ID of the associated check suite. + * @example MDEwOkNoZWNrU3VpdGU0Mg== + */ check_suite_node_id?: string; /** @example master */ head_branch: string | null; - /** @description The SHA of the head commit that points to the version of the workflow being run. - @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ + /** + * @description The SHA of the head commit that points to the version of the workflow being run. + * @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d + */ head_sha: string; - /** @description The full path of the workflow - @example octocat/octo-repo/.github/workflows/ci.yml@main */ + /** + * @description The full path of the workflow + * @example octocat/octo-repo/.github/workflows/ci.yml@main + */ path: string; - /** @description The auto incrementing run number for the workflow run. - @example 106 */ + /** + * @description The auto incrementing run number for the workflow run. + * @example 106 + */ run_number: number; - /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. - @example 1 */ + /** + * @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. + * @example 1 + */ run_attempt?: number; - referenced_workflows?: { - path: string; - sha: string; - ref?: string; - }[] | null; + referenced_workflows?: components["schemas"]["referenced-workflow"][] | null; /** @example push */ event: string; /** @example completed */ status: string | null; /** @example neutral */ conclusion: string | null; - /** @description The ID of the parent workflow. - @example 5 */ + /** + * @description The ID of the parent workflow. + * @example 5 + */ workflow_id: number; - /** @description The URL to the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ + /** + * @description The URL to the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5 + */ url: string; /** @example https://github.com/github/hello-world/suites/4 */ html_url: string; - pull_requests: { - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - base: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - }[] | null; + pull_requests: components["schemas"]["pull-request-minimal"][] | null; /** Format: date-time */ created_at: string; /** Format: date-time */ updated_at: string; - /** Simple User - @description Simple User */ - actor?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** Simple User - @description Simple User */ - triggering_actor?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** Format: date-time - @description The start time of the latest run. Resets on re-run. */ + actor?: components["schemas"]["simple-user"]; + triggering_actor?: components["schemas"]["simple-user"]; + /** + * Format: date-time + * @description The start time of the latest run. Resets on re-run. + */ run_started_at?: string; - /** @description The URL to the jobs for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs */ + /** + * @description The URL to the jobs for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs + */ jobs_url: string; - /** @description The URL to download the logs for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs */ + /** + * @description The URL to download the logs for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs + */ logs_url: string; - /** @description The URL to the associated check suite. - @example https://api.github.com/repos/github/hello-world/check-suites/12 */ + /** + * @description The URL to the associated check suite. + * @example https://api.github.com/repos/github/hello-world/check-suites/12 + */ check_suite_url: string; - /** @description The URL to the artifacts for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts */ + /** + * @description The URL to the artifacts for the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts + */ artifacts_url: string; - /** @description The URL to cancel the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel */ + /** + * @description The URL to cancel the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel + */ cancel_url: string; - /** @description The URL to rerun the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun */ + /** + * @description The URL to rerun the workflow run. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun + */ rerun_url: string; - /** @description The URL to the previous attempted run of this workflow, if one exists. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 */ + /** + * @description The URL to the previous attempted run of this workflow, if one exists. + * @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 + */ previous_attempt_url?: string | null; - /** @description The URL to the workflow. - @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml */ + /** + * @description The URL to the workflow. + * @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml + */ workflow_url: string; - /** Simple Commit - @description Simple Commit */ - head_commit: { - id: string; - tree_id: string; - message: string; - /** Format: date-time */ - timestamp: string; - author: { - name: string; - email: string; - } | null; - committer: { - name: string; - email: string; - } | null; - } | null; - /** Minimal Repository - @description Minimal Repository */ - repository: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - /** Minimal Repository - @description Minimal Repository */ - head_repository: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; + head_commit: components["schemas"]["nullable-simple-commit"]; + repository: components["schemas"]["minimal-repository"]; + head_repository: components["schemas"]["minimal-repository"]; /** @example 5 */ head_repository_id?: number; }; - /** Autolink reference - @description An autolink reference. */ + /** + * Autolink reference + * @description An autolink reference. + */ autolink: { /** @example 3 */ id: number; - /** @description The prefix of a key that is linkified. - @example TICKET- */ + /** + * @description The prefix of a key that is linkified. + * @example TICKET- + */ key_prefix: string; - /** @description A template for the target URL that is generated if a key was found. - @example https://example.com/TICKET?query= */ + /** + * @description A template for the target URL that is generated if a key was found. + * @example https://example.com/TICKET?query= + */ url_template: string; }; /** @description The full Git reference, formatted as `refs/heads/`, - `refs/pull//merge`, or `refs/pull//head`. */ + * `refs/pull//merge`, or `refs/pull//head`. */ "code-scanning-ref": string; - /** @description An identifier for the upload. - @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 */ + /** + * @description An identifier for the upload. + * @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 + */ "code-scanning-analysis-sarif-id": string; "code-scanning-analysis": { - /** @description The full Git reference, formatted as `refs/heads/`, - `refs/pull//merge`, or `refs/pull//head`. */ - ref: string; - /** @description The SHA of the commit to which the analysis you are uploading relates. */ - commit_sha: string; - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ - environment: string; - /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ - category?: string; + ref: components["schemas"]["code-scanning-ref"]; + commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"]; + analysis_key: components["schemas"]["code-scanning-analysis-analysis-key"]; + environment: components["schemas"]["code-scanning-analysis-environment"]; + category?: components["schemas"]["code-scanning-analysis-category"]; /** @example error reading field xyz */ error: string; - /** Format: date-time - @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly created_at: string; + created_at: components["schemas"]["code-scanning-analysis-created-at"]; /** @description The total number of results in the analysis. */ results_count: number; /** @description The total number of rules used in the analysis. */ rules_count: number; /** @description Unique identifier for this analysis. */ id: number; - /** Format: uri - @description The REST API URL of the analysis resource. */ - readonly url: string; - /** @description An identifier for the upload. - @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 */ - sarif_id: string; - tool: { - /** @description The name of the tool used to generate the code scanning analysis. */ - name?: string; - /** @description The version of the tool used to generate the code scanning analysis. */ - version?: string | null; - /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ - guid?: string | null; - }; + url: components["schemas"]["code-scanning-analysis-url"]; + sarif_id: components["schemas"]["code-scanning-analysis-sarif-id"]; + tool: components["schemas"]["code-scanning-analysis-tool"]; deletable: boolean; - /** @description Warning generated when processing the analysis - @example 123 results were ignored */ + /** + * @description Warning generated when processing the analysis + * @example 123 results were ignored + */ warning: string; }; - /** Collaborator - @description Collaborator */ + /** + * Collaborator + * @description Collaborator + */ collaborator: { /** @example octocat */ login: string; @@ -6863,19 +3961,27 @@ export interface components { name?: string | null; /** @example MDQ6VXNlcjE= */ node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ avatar_url: string; /** @example 41d064eb2195891e12d0413f63227ea7 */ gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ url: string; - /** Format: uri - @example https://github.com/octocat */ + /** + * Format: uri + * @example https://github.com/octocat + */ html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ followers_url: string; /** @example https://api.github.com/users/octocat/following{/other_user} */ following_url: string; @@ -6883,19 +3989,27 @@ export interface components { gists_url: string; /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ repos_url: string; /** @example https://api.github.com/users/octocat/events{/privacy} */ events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ received_events_url: string; /** @example User */ type: string; @@ -6910,73 +4024,20 @@ export interface components { /** @example admin */ role_name?: string; }; - /** Repository Collaborator Permission - @description Repository Collaborator Permission */ + /** + * Repository Collaborator Permission + * @description Repository Collaborator Permission + */ "repository-collaborator-permission": { permission: string; /** @example admin */ role_name: string; - /** Collaborator - @description Collaborator */ - user: { - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - email?: string | null; - name?: string | null; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - permissions?: { - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - admin: boolean; - }; - /** @example admin */ - role_name?: string; - } | null; + user: components["schemas"]["nullable-collaborator"]; }; - /** Dependency Graph Diff - @description A diff of the dependencies between two commits. */ + /** + * Dependency Graph Diff + * @description A diff of the dependencies between two commits. + */ "dependency-graph-diff": { /** @enum {string} */ change_type: "added" | "removed"; @@ -7005,8 +4066,10 @@ export interface components { advisory_url: string; }[]; }[]; - /** Full Repository - @description Full Repository */ + /** + * Full Repository + * @description Full Repository + */ "full-repository": { /** @example 1296269 */ id: number; @@ -7016,66 +4079,20 @@ export interface components { name: string; /** @example octocat/Hello-World */ full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; + owner: components["schemas"]["simple-user"]; private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ html_url: string; /** @example This your first repo! */ description: string | null; fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ url: string; /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ archive_url: string; @@ -7095,20 +4112,30 @@ export interface components { compare_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ forks_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ git_commits_url: string; @@ -7128,11 +4155,15 @@ export interface components { keys_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ merges_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ milestones_url: string; @@ -7144,38 +4175,56 @@ export interface components { releases_url: string; /** @example git@github.com:octocat/Hello-World.git */ ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ stargazers_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ teams_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ trees_url: string; /** @example https://github.com/octocat/Hello-World.git */ clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ svn_url: string; - /** Format: uri - @example https://github.com */ + /** + * Format: uri + * @example https://github.com + */ homepage: string | null; language: string | null; /** @example 9 */ @@ -7184,8 +4233,10 @@ export interface components { stargazers_count: number; /** @example 80 */ watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ + /** + * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ size: number; /** @example master */ default_branch: string; @@ -7194,11 +4245,11 @@ export interface components { /** @example true */ is_template?: boolean; /** @example [ - "octocat", - "atom", - "electron", - "API" - ] */ + * "octocat", + * "atom", + * "electron", + * "API" + * ] */ topics?: string[]; /** @example true */ has_issues: boolean; @@ -7212,17 +4263,25 @@ export interface components { archived: boolean; /** @description Returns whether or not this repository disabled. */ disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @example public */ + /** + * @description The repository visibility: public, private, or internal. + * @example public + */ visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ pushed_at: string; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ created_at: string; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ updated_at: string; permissions?: { admin: boolean; @@ -7233,518 +4292,7 @@ export interface components { }; /** @example true */ allow_rebase_merge?: boolean; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; + template_repository?: components["schemas"]["nullable-repository"]; temp_clone_token?: string | null; /** @example true */ allow_squash_merge?: boolean; @@ -7758,35 +4306,43 @@ export interface components { allow_update_branch?: boolean; /** @example false */ use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @example PR_TITLE - @enum {string} */ + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @example PR_TITLE + * @enum {string} + */ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @example PR_BODY - @enum {string} */ + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY + * @enum {string} + */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @example PR_TITLE - @enum {string} */ + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @example PR_TITLE + * @enum {string} + */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @example PR_BODY - @enum {string} */ + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @example PR_BODY + * @enum {string} + */ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; /** @example true */ allow_forking?: boolean; @@ -7796,1136 +4352,26 @@ export interface components { subscribers_count: number; /** @example 0 */ network_count: number; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Repository - @description A git repository */ - parent?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; - /** Repository - @description A git repository */ - source?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; + parent?: components["schemas"]["repository"]; + source?: components["schemas"]["repository"]; forks: number; master_branch?: string; open_issues: number; watchers: number; - /** @description Whether anonymous git access is allowed. - @default true */ + /** + * @description Whether anonymous git access is allowed. + * @default true + */ anonymous_access_enabled: boolean; - /** Code Of Conduct Simple - @description Code of Conduct Simple */ - code_of_conduct?: { - /** Format: uri - @example https://api.github.com/repos/github/docs/community/code_of_conduct */ - url: string; - /** @example citizen_code_of_conduct */ - key: string; - /** @example Citizen Code of Conduct */ - name: string; - /** Format: uri - @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md */ - html_url: string | null; - }; - security_and_analysis?: { - advanced_security?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning_push_protection?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - } | null; + code_of_conduct?: components["schemas"]["code-of-conduct-simple"]; + security_and_analysis?: components["schemas"]["security-and-analysis"]; }; - /** Deploy Key - @description An SSH key granting access to a single repository. */ + /** + * Deploy Key + * @description An SSH key granting access to a single repository. + */ "deploy-key": { id: number; key: string; @@ -8941,8 +4387,10 @@ export interface components { enforcement?: string; configuration_url?: string; }; - /** Release - @description A release. */ + /** + * Release + * @description A release. + */ release: { /** Format: uri */ url: string; @@ -8957,316 +4405,88 @@ export interface components { zipball_url: string | null; id: number; node_id: string; - /** @description The name of the tag. - @example v1.0.0 */ + /** + * @description The name of the tag. + * @example v1.0.0 + */ tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. - @example master */ + /** + * @description Specifies the commitish value that determines where the Git tag is created from. + * @example master + */ target_commitish: string; name: string | null; body?: string | null; - /** @description true to create a draft (unpublished) release, false to create a published one. - @example false */ + /** + * @description true to create a draft (unpublished) release, false to create a published one. + * @example false + */ draft: boolean; - /** @description Whether to identify the release as a prerelease or a full release. - @example false */ + /** + * @description Whether to identify the release as a prerelease or a full release. + * @example false + */ prerelease: boolean; /** Format: date-time */ created_at: string; /** Format: date-time */ published_at: string | null; - /** Simple User - @description Simple User */ - author: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - assets: { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; - id: number; - node_id: string; - /** @description The file name of the asset. - @example Team Environment */ - name: string; - label: string | null; - /** @description State of the release asset. - @enum {string} */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Simple User - @description Simple User */ - uploader: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - }[]; + author: components["schemas"]["simple-user"]; + assets: components["schemas"]["release-asset"][]; body_html?: string; body_text?: string; mentions_count?: number; - /** Reaction Rollup */ - reactions?: { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - -1: number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; + reactions?: components["schemas"]["reaction-rollup"]; }; "secret-scanning-alert": { - /** @description The security alert number. */ - readonly number?: number; - /** Format: date-time - @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly created_at?: string; - /** Format: date-time - @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly updated_at?: string; - /** Format: uri - @description The REST API URL of the alert resource. */ - readonly url?: string; - /** Format: uri - @description The GitHub URL of the alert resource. */ - readonly html_url?: string; - /** Format: uri - @description The REST API URL of the code locations for this alert. */ + number?: components["schemas"]["alert-number"]; + created_at?: components["schemas"]["alert-created-at"]; + updated_at?: components["schemas"]["alert-updated-at"]; + url?: components["schemas"]["alert-url"]; + html_url?: components["schemas"]["alert-html-url"]; + /** + * Format: uri + * @description The REST API URL of the code locations for this alert. + */ locations_url?: string; - /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - @enum {string} */ - state?: "open" | "resolved"; - /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - @enum {string|null} */ - resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; - /** Format: date-time - @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + state?: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; + /** + * Format: date-time + * @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ resolved_at?: string | null; - /** Simple User - @description Simple User */ - resolved_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; + resolved_by?: components["schemas"]["nullable-simple-user"]; /** @description The type of secret that secret scanning detected. */ secret_type?: string; /** @description User-friendly name for the detected secret, matching the `secret_type`. - For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ + * For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ secret_type_display_name?: string; /** @description The secret that was detected. */ secret?: string; /** @description Whether push protection was bypassed for the detected secret. */ push_protection_bypassed?: boolean | null; - /** Simple User - @description Simple User */ - push_protection_bypassed_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time - @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + push_protection_bypassed_by?: components["schemas"]["nullable-simple-user"]; + /** + * Format: date-time + * @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ push_protection_bypassed_at?: string | null; }; - /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - @enum {string} */ + /** + * @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. + * @enum {string} + */ "secret-scanning-alert-state": "open" | "resolved"; - /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - @enum {string|null} */ + /** + * @description **Required when the `state` is `resolved`.** The reason for resolving the alert. + * @enum {string|null} + */ "secret-scanning-alert-resolution": null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; - /** Minimal Repository - @description Minimal Repository */ + /** + * Minimal Repository + * @description Minimal Repository + */ "minimal-repository": { /** @example 1296269 */ id: number; @@ -9276,66 +4496,20 @@ export interface components { name: string; /** @example octocat/Hello-World */ full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; + owner: components["schemas"]["simple-user"]; private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ html_url: string; /** @example This your first repo! */ description: string | null; fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ url: string; /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ archive_url: string; @@ -9355,20 +4529,30 @@ export interface components { compare_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ forks_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ git_commits_url: string; @@ -9387,11 +4571,15 @@ export interface components { keys_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ merges_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ milestones_url: string; @@ -9402,29 +4590,41 @@ export interface components { /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ releases_url: string; ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ stargazers_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ teams_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ trees_url: string; clone_url?: string; mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ hooks_url: string; svn_url?: string; homepage?: string | null; @@ -9446,14 +4646,20 @@ export interface components { archived?: boolean; disabled?: boolean; visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ updated_at?: string | null; permissions?: { admin?: boolean; @@ -9464,585 +4670,12 @@ export interface components { }; /** @example admin */ role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; + template_repository?: components["schemas"]["nullable-repository"]; temp_clone_token?: string; delete_branch_on_merge?: boolean; subscribers_count?: number; network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; + code_of_conduct?: components["schemas"]["code-of-conduct"]; license?: { key?: string; name?: string; @@ -10313,8 +4946,10 @@ export interface components { key?: string; "pretty-print"?: string; }; - /** Simple User - @description Simple User */ + /** + * Simple User + * @description Simple User + */ "nullable-simple-user": { name?: string | null; email?: string | null; @@ -10324,19 +4959,27 @@ export interface components { id: number; /** @example MDQ6VXNlcjE= */ node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ avatar_url: string; /** @example 41d064eb2195891e12d0413f63227ea7 */ gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ url: string; - /** Format: uri - @example https://github.com/octocat */ + /** + * Format: uri + * @example https://github.com/octocat + */ html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ followers_url: string; /** @example https://api.github.com/users/octocat/following{/other_user} */ following_url: string; @@ -10344,19 +4987,27 @@ export interface components { gists_url: string; /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ repos_url: string; /** @example https://api.github.com/users/octocat/events{/privacy} */ events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ received_events_url: string; /** @example User */ type: string; @@ -10366,293 +5017,106 @@ export interface components { } | null; /** Scoped Installation */ "nullable-scoped-installation": { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ + permissions: components["schemas"]["app-permissions"]; + /** + * @description Describe whether all repositories have been selected or there's a selection involved + * @enum {string} + */ repository_selection: "all" | "selected"; /** @example config.yaml */ single_file_name: string | null; /** @example true */ has_multiple_single_files?: boolean; /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ + * "config.yml", + * ".github/issue_TEMPLATE.md" + * ] */ single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; + account: components["schemas"]["simple-user"]; } | null; - /** Enterprise - @description An enterprise account */ + /** + * Enterprise + * @description An enterprise account + */ enterprise: { /** @description A short description of the enterprise. */ description?: string | null; - /** Format: uri - @example https://github.com/enterprises/octo-business */ + /** + * Format: uri + * @example https://github.com/enterprises/octo-business + */ html_url: string; - /** Format: uri - @description The enterprise's website URL. */ + /** + * Format: uri + * @description The enterprise's website URL. + */ website_url?: string | null; - /** @description Unique identifier of the enterprise - @example 42 */ + /** + * @description Unique identifier of the enterprise + * @example 42 + */ id: number; /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ node_id: string; - /** @description The name of the enterprise. - @example Octo Business */ + /** + * @description The name of the enterprise. + * @example Octo Business + */ name: string; - /** @description The slug url identifier for the enterprise. - @example octo-business */ + /** + * @description The slug url identifier for the enterprise. + * @example octo-business + */ slug: string; - /** Format: date-time - @example 2019-01-26T19:01:12Z */ + /** + * Format: date-time + * @example 2019-01-26T19:01:12Z + */ created_at: string | null; - /** Format: date-time - @example 2019-01-26T19:14:43Z */ + /** + * Format: date-time + * @example 2019-01-26T19:14:43Z + */ updated_at: string | null; /** Format: uri */ avatar_url: string; }; - /** Basic Error - @description Basic Error */ + /** + * Basic Error + * @description Basic Error + */ "basic-error": { message?: string; documentation_url?: string; url?: string; status?: string; }; - /** Repository - @description A git repository */ + /** + * Repository + * @description A git repository + */ repository: { - /** @description Unique identifier of the repository - @example 42 */ + /** + * @description Unique identifier of the repository + * @example 42 + */ id: number; /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ node_id: string; - /** @description The name of the repository. - @example Team Environment */ + /** + * @description The name of the repository. + * @example Team Environment + */ name: string; /** @example octocat/Hello-World */ full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; forks: number; permissions?: { admin: boolean; @@ -10661,68 +5125,24 @@ export interface components { push: boolean; maintain?: boolean; }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ html_url: string; /** @example This your first repo! */ description: string | null; fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ url: string; /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ archive_url: string; @@ -10742,20 +5162,30 @@ export interface components { compare_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ forks_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ git_commits_url: string; @@ -10775,11 +5205,15 @@ export interface components { keys_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ merges_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ milestones_url: string; @@ -10791,38 +5225,56 @@ export interface components { releases_url: string; /** @example git@github.com:octocat/Hello-World.git */ ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ stargazers_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ teams_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ trees_url: string; /** @example https://github.com/octocat/Hello-World.git */ clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ svn_url: string; - /** Format: uri - @example https://github.com */ + /** + * Format: uri + * @example https://github.com + */ homepage: string | null; language: string | null; /** @example 9 */ @@ -10831,56 +5283,82 @@ export interface components { stargazers_count: number; /** @example 80 */ watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ + /** + * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ size: number; - /** @description The default branch of the repository. - @example master */ + /** + * @description The default branch of the repository. + * @example master + */ default_branch: string; /** @example 0 */ open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ is_template: boolean; topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ has_wiki: boolean; has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ + /** + * @description Whether the repository is archived. + * @default false + */ archived: boolean; /** @description Returns whether or not this repository disabled. */ disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ allow_rebase_merge: boolean; template_repository?: { id?: number; @@ -10988,91 +5466,121 @@ export interface components { delete_branch_on_merge?: boolean; allow_update_branch?: boolean; use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; allow_merge_commit?: boolean; subscribers_count?: number; network_count?: number; } | null; temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ allow_merge_commit: boolean; /** @description Whether to allow forking this repo */ allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ web_commit_signoff_required: boolean; subscribers_count?: number; network_count?: number; @@ -11084,15 +5592,19 @@ export interface components { /** @description Whether anonymous git access is enabled for this repository */ anonymous_access_enabled?: boolean; }; - /** License Simple - @description License Simple */ + /** + * License Simple + * @description License Simple + */ "nullable-license-simple": { /** @example mit */ key: string; /** @example MIT License */ name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ + /** + * Format: uri + * @example https://api.github.com/licenses/mit + */ url: string | null; /** @example MIT */ spdx_id: string | null; @@ -11101,270 +5613,342 @@ export interface components { /** Format: uri */ html_url?: string; } | null; - /** @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." - @example Very **important** announcement about _nothing_. */ + /** + * @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." + * @example Very **important** announcement about _nothing_. + */ "announcement-message": string; - /** Format: date-time - @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. - @example "2021-01-01T00:00:00.000-07:00" */ + /** + * Format: date-time + * @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. + * @example "2021-01-01T00:00:00.000-07:00" + */ "announcement-expiration": string | null; /** @description The security alert number. */ "alert-number": number; - /** Format: date-time - @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + /** + * Format: date-time + * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ "alert-created-at": string; - /** Format: date-time - @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ "nullable-alert-updated-at": string | null; - /** Format: uri - @description The REST API URL of the alert resource. */ + /** + * Format: uri + * @description The REST API URL of the alert resource. + */ "alert-url": string; - /** Format: uri - @description The GitHub URL of the alert resource. */ + /** + * Format: uri + * @description The GitHub URL of the alert resource. + */ "alert-html-url": string; - /** Simple Repository - @description Simple Repository */ + /** + * Simple Repository + * @description Simple Repository + */ "simple-repository": { - /** @description A unique identifier of the repository. - @example 1296269 */ + /** + * @description A unique identifier of the repository. + * @example 1296269 + */ id: number; - /** @description The GraphQL identifier of the repository. - @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ + /** + * @description The GraphQL identifier of the repository. + * @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 + */ node_id: string; - /** @description The name of the repository. - @example Hello-World */ + /** + * @description The name of the repository. + * @example Hello-World + */ name: string; - /** @description The full, globally unique, name of the repository. - @example octocat/Hello-World */ + /** + * @description The full, globally unique, name of the repository. + * @example octocat/Hello-World + */ full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; + owner: components["schemas"]["simple-user"]; /** @description Whether the repository is private. */ private: boolean; - /** Format: uri - @description The URL to view the repository on GitHub.com. - @example https://github.com/octocat/Hello-World */ + /** + * Format: uri + * @description The URL to view the repository on GitHub.com. + * @example https://github.com/octocat/Hello-World + */ html_url: string; - /** @description The repository description. - @example This your first repo! */ + /** + * @description The repository description. + * @example This your first repo! + */ description: string | null; /** @description Whether the repository is a fork. */ fork: boolean; - /** Format: uri - @description The URL to get more information about the repository from the GitHub API. - @example https://api.github.com/repos/octocat/Hello-World */ + /** + * Format: uri + * @description The URL to get more information about the repository from the GitHub API. + * @example https://api.github.com/repos/octocat/Hello-World + */ url: string; - /** @description A template for the API URL to download the repository as an archive. - @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ + /** + * @description A template for the API URL to download the repository as an archive. + * @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} + */ archive_url: string; - /** @description A template for the API URL to list the available assignees for issues in the repository. - @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} */ + /** + * @description A template for the API URL to list the available assignees for issues in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} + */ assignees_url: string; - /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ + /** + * @description A template for the API URL to create or retrieve a raw Git blob in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} + */ blobs_url: string; - /** @description A template for the API URL to get information about branches in the repository. - @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} */ + /** + * @description A template for the API URL to get information about branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} + */ branches_url: string; - /** @description A template for the API URL to get information about collaborators of the repository. - @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ + /** + * @description A template for the API URL to get information about collaborators of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} + */ collaborators_url: string; - /** @description A template for the API URL to get information about comments on the repository. - @example https://api.github.com/repos/octocat/Hello-World/comments{/number} */ + /** + * @description A template for the API URL to get information about comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/comments{/number} + */ comments_url: string; - /** @description A template for the API URL to get information about commits on the repository. - @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} */ + /** + * @description A template for the API URL to get information about commits on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} + */ commits_url: string; - /** @description A template for the API URL to compare two commits or refs. - @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ + /** + * @description A template for the API URL to compare two commits or refs. + * @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} + */ compare_url: string; - /** @description A template for the API URL to get the contents of the repository. - @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} */ + /** + * @description A template for the API URL to get the contents of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} + */ contents_url: string; - /** Format: uri - @description A template for the API URL to list the contributors to the repository. - @example https://api.github.com/repos/octocat/Hello-World/contributors */ + /** + * Format: uri + * @description A template for the API URL to list the contributors to the repository. + * @example https://api.github.com/repos/octocat/Hello-World/contributors + */ contributors_url: string; - /** Format: uri - @description The API URL to list the deployments of the repository. - @example https://api.github.com/repos/octocat/Hello-World/deployments */ + /** + * Format: uri + * @description The API URL to list the deployments of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/deployments + */ deployments_url: string; - /** Format: uri - @description The API URL to list the downloads on the repository. - @example https://api.github.com/repos/octocat/Hello-World/downloads */ + /** + * Format: uri + * @description The API URL to list the downloads on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/downloads + */ downloads_url: string; - /** Format: uri - @description The API URL to list the events of the repository. - @example https://api.github.com/repos/octocat/Hello-World/events */ + /** + * Format: uri + * @description The API URL to list the events of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/events + */ events_url: string; - /** Format: uri - @description The API URL to list the forks of the repository. - @example https://api.github.com/repos/octocat/Hello-World/forks */ + /** + * Format: uri + * @description The API URL to list the forks of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/forks + */ forks_url: string; - /** @description A template for the API URL to get information about Git commits of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ + /** + * @description A template for the API URL to get information about Git commits of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} + */ git_commits_url: string; - /** @description A template for the API URL to get information about Git refs of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ + /** + * @description A template for the API URL to get information about Git refs of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} + */ git_refs_url: string; - /** @description A template for the API URL to get information about Git tags of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ + /** + * @description A template for the API URL to get information about Git tags of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} + */ git_tags_url: string; - /** @description A template for the API URL to get information about issue comments on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ + /** + * @description A template for the API URL to get information about issue comments on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} + */ issue_comment_url: string; - /** @description A template for the API URL to get information about issue events on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ + /** + * @description A template for the API URL to get information about issue events on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} + */ issue_events_url: string; - /** @description A template for the API URL to get information about issues on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues{/number} */ + /** + * @description A template for the API URL to get information about issues on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/issues{/number} + */ issues_url: string; - /** @description A template for the API URL to get information about deploy keys on the repository. - @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ + /** + * @description A template for the API URL to get information about deploy keys on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} + */ keys_url: string; - /** @description A template for the API URL to get information about labels of the repository. - @example https://api.github.com/repos/octocat/Hello-World/labels{/name} */ + /** + * @description A template for the API URL to get information about labels of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/labels{/name} + */ labels_url: string; - /** Format: uri - @description The API URL to get information about the languages of the repository. - @example https://api.github.com/repos/octocat/Hello-World/languages */ + /** + * Format: uri + * @description The API URL to get information about the languages of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/languages + */ languages_url: string; - /** Format: uri - @description The API URL to merge branches in the repository. - @example https://api.github.com/repos/octocat/Hello-World/merges */ + /** + * Format: uri + * @description The API URL to merge branches in the repository. + * @example https://api.github.com/repos/octocat/Hello-World/merges + */ merges_url: string; - /** @description A template for the API URL to get information about milestones of the repository. - @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} */ + /** + * @description A template for the API URL to get information about milestones of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} + */ milestones_url: string; - /** @description A template for the API URL to get information about notifications on the repository. - @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ + /** + * @description A template for the API URL to get information about notifications on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} + */ notifications_url: string; - /** @description A template for the API URL to get information about pull requests on the repository. - @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} */ + /** + * @description A template for the API URL to get information about pull requests on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} + */ pulls_url: string; - /** @description A template for the API URL to get information about releases on the repository. - @example https://api.github.com/repos/octocat/Hello-World/releases{/id} */ + /** + * @description A template for the API URL to get information about releases on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/releases{/id} + */ releases_url: string; - /** Format: uri - @description The API URL to list the stargazers on the repository. - @example https://api.github.com/repos/octocat/Hello-World/stargazers */ + /** + * Format: uri + * @description The API URL to list the stargazers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/stargazers + */ stargazers_url: string; - /** @description A template for the API URL to get information about statuses of a commit. - @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ + /** + * @description A template for the API URL to get information about statuses of a commit. + * @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} + */ statuses_url: string; - /** Format: uri - @description The API URL to list the subscribers on the repository. - @example https://api.github.com/repos/octocat/Hello-World/subscribers */ + /** + * Format: uri + * @description The API URL to list the subscribers on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscribers + */ subscribers_url: string; - /** Format: uri - @description The API URL to subscribe to notifications for this repository. - @example https://api.github.com/repos/octocat/Hello-World/subscription */ + /** + * Format: uri + * @description The API URL to subscribe to notifications for this repository. + * @example https://api.github.com/repos/octocat/Hello-World/subscription + */ subscription_url: string; - /** Format: uri - @description The API URL to get information about tags on the repository. - @example https://api.github.com/repos/octocat/Hello-World/tags */ + /** + * Format: uri + * @description The API URL to get information about tags on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/tags + */ tags_url: string; - /** Format: uri - @description The API URL to list the teams on the repository. - @example https://api.github.com/repos/octocat/Hello-World/teams */ + /** + * Format: uri + * @description The API URL to list the teams on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/teams + */ teams_url: string; - /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ + /** + * @description A template for the API URL to create or retrieve a raw Git tree of the repository. + * @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} + */ trees_url: string; - /** Format: uri - @description The API URL to list the hooks on the repository. - @example https://api.github.com/repos/octocat/Hello-World/hooks */ + /** + * Format: uri + * @description The API URL to list the hooks on the repository. + * @example https://api.github.com/repos/octocat/Hello-World/hooks + */ hooks_url: string; }; - /** Team Simple - @description Groups of organization members that gives permissions on specified repositories. */ + /** + * Team Simple + * @description Groups of organization members that gives permissions on specified repositories. + */ "nullable-team-simple": { - /** @description Unique identifier of the team - @example 1 */ + /** + * @description Unique identifier of the team + * @example 1 + */ id: number; /** @example MDQ6VGVhbTE= */ node_id: string; - /** Format: uri - @description URL for the team - @example https://api.github.com/organizations/1/team/1 */ + /** + * Format: uri + * @description URL for the team + * @example https://api.github.com/organizations/1/team/1 + */ url: string; /** @example https://api.github.com/organizations/1/team/1/members{/member} */ members_url: string; - /** @description Name of the team - @example Justice League */ + /** + * @description Name of the team + * @example Justice League + */ name: string; - /** @description Description of the team - @example A great team. */ + /** + * @description Description of the team + * @example A great team. + */ description: string | null; - /** @description Permission that the team will have for its repositories - @example admin */ + /** + * @description Permission that the team will have for its repositories + * @example admin + */ permission: string; - /** @description The level of privacy this team should have - @example closed */ + /** + * @description The level of privacy this team should have + * @example closed + */ privacy?: string; - /** Format: uri - @example https://github.com/orgs/rails/teams/core */ + /** + * Format: uri + * @example https://github.com/orgs/rails/teams/core + */ html_url: string; - /** Format: uri - @example https://api.github.com/organizations/1/team/1/repos */ + /** + * Format: uri + * @example https://api.github.com/organizations/1/team/1/repos + */ repositories_url: string; /** @example justice-league */ slug: string; - /** @description Distinguished Name (DN) that team maps to within LDAP environment - @example uid=example,ou=users,dc=github,dc=com */ + /** + * @description Distinguished Name (DN) that team maps to within LDAP environment + * @example uid=example,ou=users,dc=github,dc=com + */ ldap_dn?: string; } | null; - /** Team Organization - @description Team Organization */ + /** + * Team Organization + * @description Team Organization + */ "team-organization": { /** @example github */ login: string; @@ -11372,14 +5956,20 @@ export interface components { id: number; /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ node_id: string; - /** Format: uri - @example https://api.github.com/orgs/github */ + /** + * Format: uri + * @example https://api.github.com/orgs/github + */ url: string; - /** Format: uri - @example https://api.github.com/orgs/github/repos */ + /** + * Format: uri + * @example https://api.github.com/orgs/github/repos + */ repos_url: string; - /** Format: uri - @example https://api.github.com/orgs/github/events */ + /** + * Format: uri + * @example https://api.github.com/orgs/github/events + */ events_url: string; /** @example https://api.github.com/orgs/github/hooks */ hooks_url: string; @@ -11397,13 +5987,17 @@ export interface components { name?: string; /** @example GitHub */ company?: string; - /** Format: uri - @example https://github.com/blog */ + /** + * Format: uri + * @example https://github.com/blog + */ blog?: string; /** @example San Francisco */ location?: string; - /** Format: email - @example octocat@github.com */ + /** + * Format: email + * @example octocat@github.com + */ email?: string; /** @example github */ twitter_username?: string | null; @@ -11421,11 +6015,15 @@ export interface components { followers: number; /** @example 0 */ following: number; - /** Format: uri - @example https://github.com/octocat */ + /** + * Format: uri + * @example https://github.com/octocat + */ html_url: string; - /** Format: date-time - @example 2008-01-14T04:33:35Z */ + /** + * Format: date-time + * @example 2008-01-14T04:33:35Z + */ created_at: string; /** @example Organization */ type: string; @@ -11439,8 +6037,10 @@ export interface components { disk_usage?: number | null; /** @example 8 */ collaborators?: number | null; - /** Format: email - @example org@example.com */ + /** + * Format: email + * @example org@example.com + */ billing_email?: string | null; plan?: { name: string; @@ -11482,8 +6082,10 @@ export interface components { reset: number; used: number; }; - /** Referenced workflow - @description A workflow referenced/reused by the initial caller workflow */ + /** + * Referenced workflow + * @description A workflow referenced/reused by the initial caller workflow + */ "referenced-workflow": { path: string; sha: string; @@ -11513,8 +6115,10 @@ export interface components { }; }; }; - /** Simple Commit - @description Simple Commit */ + /** + * Simple Commit + * @description Simple Commit + */ "nullable-simple-commit": { id: string; tree_id: string; @@ -11542,24 +6146,27 @@ export interface components { "code-scanning-analysis-environment": string; /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ "code-scanning-analysis-category": string; - /** Format: date-time - @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + /** + * Format: date-time + * @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ "code-scanning-analysis-created-at": string; - /** Format: uri - @description The REST API URL of the analysis resource. */ + /** + * Format: uri + * @description The REST API URL of the analysis resource. + */ "code-scanning-analysis-url": string; "code-scanning-analysis-tool": { - /** @description The name of the tool used to generate the code scanning analysis. */ - name?: string; - /** @description The version of the tool used to generate the code scanning analysis. */ - version?: string | null; - /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ - guid?: string | null; + name?: components["schemas"]["code-scanning-analysis-tool-name"]; + version?: components["schemas"]["code-scanning-analysis-tool-version"]; + guid?: components["schemas"]["code-scanning-analysis-tool-guid"]; }; /** @description The version of the tool used to generate the code scanning analysis. */ "code-scanning-analysis-tool-version": string | null; - /** Collaborator - @description Collaborator */ + /** + * Collaborator + * @description Collaborator + */ "nullable-collaborator": { /** @example octocat */ login: string; @@ -11569,19 +6176,27 @@ export interface components { name?: string | null; /** @example MDQ6VXNlcjE= */ node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ + /** + * Format: uri + * @example https://github.com/images/error/octocat_happy.gif + */ avatar_url: string; /** @example 41d064eb2195891e12d0413f63227ea7 */ gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ + /** + * Format: uri + * @example https://api.github.com/users/octocat + */ url: string; - /** Format: uri - @example https://github.com/octocat */ + /** + * Format: uri + * @example https://github.com/octocat + */ html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/followers + */ followers_url: string; /** @example https://api.github.com/users/octocat/following{/other_user} */ following_url: string; @@ -11589,19 +6204,27 @@ export interface components { gists_url: string; /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/subscriptions + */ subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/orgs + */ organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/repos + */ repos_url: string; /** @example https://api.github.com/users/octocat/events{/privacy} */ events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ + /** + * Format: uri + * @example https://api.github.com/users/octocat/received_events + */ received_events_url: string; /** @example User */ type: string; @@ -11616,87 +6239,27 @@ export interface components { /** @example admin */ role_name?: string; } | null; - /** Repository - @description A git repository */ + /** + * Repository + * @description A git repository + */ "nullable-repository": { - /** @description Unique identifier of the repository - @example 42 */ + /** + * @description Unique identifier of the repository + * @example 42 + */ id: number; /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ node_id: string; - /** @description The name of the repository. - @example Team Environment */ + /** + * @description The name of the repository. + * @example Team Environment + */ name: string; /** @example octocat/Hello-World */ full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; + license: components["schemas"]["nullable-license-simple"]; + organization?: components["schemas"]["nullable-simple-user"]; forks: number; permissions?: { admin: boolean; @@ -11705,68 +6268,24 @@ export interface components { push: boolean; maintain?: boolean; }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ + owner: components["schemas"]["simple-user"]; + /** + * @description Whether the repository is private or public. + * @default false + */ private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ + /** + * Format: uri + * @example https://github.com/octocat/Hello-World + */ html_url: string; /** @example This your first repo! */ description: string | null; fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ + /** + * Format: uri + * @example https://api.github.com/repos/octocat/Hello-World + */ url: string; /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ archive_url: string; @@ -11786,20 +6305,30 @@ export interface components { compare_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/contributors + */ contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/deployments + */ deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/downloads + */ downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/events + */ events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/forks + */ forks_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ git_commits_url: string; @@ -11819,11 +6348,15 @@ export interface components { keys_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/languages + */ languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/merges + */ merges_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ milestones_url: string; @@ -11835,38 +6368,56 @@ export interface components { releases_url: string; /** @example git@github.com:octocat/Hello-World.git */ ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/stargazers + */ stargazers_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscribers + */ subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/subscription + */ subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/tags + */ tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/teams + */ teams_url: string; /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ trees_url: string; /** @example https://github.com/octocat/Hello-World.git */ clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ + /** + * Format: uri + * @example git:git.example.com/octocat/Hello-World + */ mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ + /** + * Format: uri + * @example http://api.github.com/repos/octocat/Hello-World/hooks + */ hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ + /** + * Format: uri + * @example https://svn.github.com/octocat/Hello-World + */ svn_url: string; - /** Format: uri - @example https://github.com */ + /** + * Format: uri + * @example https://github.com + */ homepage: string | null; language: string | null; /** @example 9 */ @@ -11875,56 +6426,82 @@ export interface components { stargazers_count: number; /** @example 80 */ watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ + /** + * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. + * @example 108 + */ size: number; - /** @description The default branch of the repository. - @example master */ + /** + * @description The default branch of the repository. + * @example master + */ default_branch: string; /** @example 0 */ open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ + /** + * @description Whether this repository acts as a template that can be used to generate new repositories. + * @default false + * @example true + */ is_template: boolean; topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ + /** + * @description Whether issues are enabled. + * @default true + * @example true + */ has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ + /** + * @description Whether projects are enabled. + * @default true + * @example true + */ has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ + /** + * @description Whether the wiki is enabled. + * @default true + * @example true + */ has_wiki: boolean; has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ + /** + * @description Whether downloads are enabled. + * @default true + * @example true + */ has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ + /** + * @description Whether the repository is archived. + * @default false + */ archived: boolean; /** @description Returns whether or not this repository disabled. */ disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ + /** + * @description The repository visibility: public, private, or internal. + * @default public + */ visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ + /** + * Format: date-time + * @example 2011-01-26T19:06:43Z + */ pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ + /** + * Format: date-time + * @example 2011-01-26T19:01:12Z + */ created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ + /** + * Format: date-time + * @example 2011-01-26T19:14:43Z + */ updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ + /** + * @description Whether to allow rebase merges for pull requests. + * @default true + * @example true + */ allow_rebase_merge: boolean; template_repository?: { id?: number; @@ -12032,91 +6609,121 @@ export interface components { delete_branch_on_merge?: boolean; allow_update_branch?: boolean; use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; allow_merge_commit?: boolean; subscribers_count?: number; network_count?: number; } | null; temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ + /** + * @description Whether to allow squash merges for pull requests. + * @default true + * @example true + */ allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ + /** + * @description Whether to allow Auto-merge to be used on pull requests. + * @default false + * @example false + */ allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ + /** + * @description Whether to delete head branches when pull requests are merged + * @default false + * @example false + */ delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ + /** + * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. + * @default false + * @example false + */ allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ + /** + * @deprecated + * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. + * @default false + */ use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ + /** + * @description The default value for a squash merge commit title: + * + * - `PR_TITLE` - default to the pull request's title. + * - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + * @enum {string} + */ squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ + /** + * @description The default value for a squash merge commit message: + * + * - `PR_BODY` - default to the pull request's body. + * - `COMMIT_MESSAGES` - default to the branch's commit messages. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ + /** + * @description The default value for a merge commit title. + * + * - `PR_TITLE` - default to the pull request's title. + * - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + * @enum {string} + */ merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ + /** + * @description The default value for a merge commit message. + * + * - `PR_TITLE` - default to the pull request's title. + * - `PR_BODY` - default to the pull request's body. + * - `BLANK` - default to a blank commit message. + * @enum {string} + */ merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ + /** + * @description Whether to allow merge commits for pull requests. + * @default true + * @example true + */ allow_merge_commit: boolean; /** @description Whether to allow forking this repo */ allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ + /** + * @description Whether to require contributors to sign off on web-based commits + * @default false + */ web_commit_signoff_required: boolean; subscribers_count?: number; network_count?: number; @@ -12128,18 +6735,24 @@ export interface components { /** @description Whether anonymous git access is enabled for this repository */ anonymous_access_enabled?: boolean; } | null; - /** Code Of Conduct Simple - @description Code of Conduct Simple */ + /** + * Code Of Conduct Simple + * @description Code of Conduct Simple + */ "code-of-conduct-simple": { - /** Format: uri - @example https://api.github.com/repos/github/docs/community/code_of_conduct */ + /** + * Format: uri + * @example https://api.github.com/repos/github/docs/community/code_of_conduct + */ url: string; /** @example citizen_code_of_conduct */ key: string; /** @example Citizen Code of Conduct */ name: string; - /** Format: uri - @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md */ + /** + * Format: uri + * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md + */ html_url: string | null; }; "security-and-analysis": { @@ -12156,8 +6769,10 @@ export interface components { status?: "enabled" | "disabled"; }; } | null; - /** Scim Error - @description Scim Error */ + /** + * Scim Error + * @description Scim Error + */ "scim-error": { message?: string | null; documentation_url?: string | null; @@ -12166,8 +6781,10 @@ export interface components { scimType?: string | null; schemas?: string[]; }; - /** Release Asset - @description Data related to a release. */ + /** + * Release Asset + * @description Data related to a release. + */ "release-asset": { /** Format: uri */ url: string; @@ -12175,12 +6792,16 @@ export interface components { browser_download_url: string; id: number; node_id: string; - /** @description The file name of the asset. - @example Team Environment */ + /** + * @description The file name of the asset. + * @example Team Environment + */ name: string; label: string | null; - /** @description State of the release asset. - @enum {string} */ + /** + * @description State of the release asset. + * @enum {string} + */ state: "uploaded" | "open"; content_type: string; size: number; @@ -12189,57 +6810,7 @@ export interface components { created_at: string; /** Format: date-time */ updated_at: string; - /** Simple User - @description Simple User */ - uploader: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; + uploader: components["schemas"]["nullable-simple-user"]; }; /** Reaction Rollup */ "reaction-rollup": { @@ -12247,7 +6818,7 @@ export interface components { url: string; total_count: number; "+1": number; - -1: number; + "-1": number; laugh: number; confused: number; heart: number; @@ -12255,68 +6826,74 @@ export interface components { eyes: number; rocket: number; }; - /** Format: date-time - @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ + /** + * Format: date-time + * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. + */ "alert-updated-at": string; - /** Code Of Conduct - @description Code Of Conduct */ + /** + * Code Of Conduct + * @description Code Of Conduct + */ "code-of-conduct": { /** @example contributor_covenant */ key: string; /** @example Contributor Covenant */ name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ + /** + * Format: uri + * @example https://api.github.com/codes_of_conduct/contributor_covenant + */ url: string; /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ + * + * ## Our Pledge + * + * In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + * + * ## Our Standards + * + * Examples of behavior that contributes to creating a positive environment include: + * + * * Using welcoming and inclusive language + * * Being respectful of differing viewpoints and experiences + * * Gracefully accepting constructive criticism + * * Focusing on what is best for the community + * * Showing empathy towards other community members + * + * Examples of unacceptable behavior by participants include: + * + * * The use of sexualized language or imagery and unwelcome sexual attention or advances + * * Trolling, insulting/derogatory comments, and personal or political attacks + * * Public or private harassment + * * Publishing others' private information, such as a physical or electronic address, without explicit permission + * * Other conduct which could reasonably be considered inappropriate in a professional setting + * + * ## Our Responsibilities + * + * Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response + * to any instances of unacceptable behavior. + * + * Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + * + * ## Scope + * + * This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, + * posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + * + * ## Enforcement + * + * Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + * + * Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + * + * ## Attribution + * + * This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + * + * [homepage]: http://contributor-covenant.org + * [version]: http://contributor-covenant.org/version/1/4/ + * */ body?: string; /** Format: uri */ html_url: string | null; @@ -12329,12 +6906,7 @@ export interface components { [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["basic-error"]; }; }; /** @description Requires authentication */ @@ -12343,12 +6915,7 @@ export interface components { [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["basic-error"]; }; }; /** @description Forbidden */ @@ -12357,12 +6924,7 @@ export interface components { [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["basic-error"]; }; }; /** @description Validation failed, or the endpoint has been spammed. */ @@ -12371,18 +6933,7 @@ export interface components { [name: string]: unknown; }; content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["validation-error"]; }; }; /** @description Not modified */ @@ -12398,12 +6949,7 @@ export interface components { [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["basic-error"]; }; }; /** @description Service unavailable */ @@ -12425,12 +6971,7 @@ export interface components { [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["basic-error"]; }; }; /** @description Response if GitHub Advanced Security is not enabled for this repository */ @@ -12439,12 +6980,7 @@ export interface components { [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["basic-error"]; }; }; /** @description Bad Request */ @@ -12453,20 +6989,8 @@ export interface components { [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - "application/scim+json": { - message?: string | null; - documentation_url?: string | null; - detail?: string | null; - status?: number; - scimType?: string | null; - schemas?: string[]; - }; + "application/json": components["schemas"]["basic-error"]; + "application/scim+json": components["schemas"]["scim-error"]; }; }; /** @description Moved permanently */ @@ -12475,12 +6999,7 @@ export interface components { [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["basic-error"]; }; }; }; @@ -12524,26 +7043,26 @@ export interface components { /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ "audit-log-phrase": string; /** @description The event types to include: - - - `web` - returns web (non-Git) events. - - `git` - returns Git events. - - `all` - returns both web and Git events. - - The default is `web`. */ + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. */ "audit-log-include": "web" | "git" | "all"; /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ "audit-log-after": string; /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ "audit-log-before": string; /** @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. - - The default is `desc`. */ + * + * The default is `desc`. */ "audit-log-order": "desc" | "asc"; /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ "secret-scanning-alert-state": "open" | "resolved"; /** @description A comma-separated list of secret types to return. By default all secret types are returned. - See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" - for a complete list of secret types. */ + * See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ "secret-scanning-alert-secret-type": string; /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ "secret-scanning-alert-resolution": string; @@ -12584,9 +7103,9 @@ export interface components { /** @description The unique identifier of the autolink. */ "autolink-id": number; /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ - "tool-name": string; + "tool-name": components["schemas"]["code-scanning-analysis-tool-name"]; /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ - "tool-guid": string | null; + "tool-guid": components["schemas"]["code-scanning-analysis-tool-guid"]; /** @description The full path, relative to the repository root, of the dependency manifest file. */ "manifest-path": string; /** @description The unique identifier of the key. */ @@ -12594,7 +7113,7 @@ export interface components { /** @description The unique identifier of the release. */ "release-id": number; /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ - "alert-number": number; + "alert-number": components["schemas"]["alert-number"]; /** @description A repository ID. Only return repositories with an ID greater than this ID. */ "since-repo": number; /** @description Used for pagination: the index of the first result to return. */ @@ -12620,14 +7139,14 @@ export interface components { pathItems: never; } export type $defs = Record; -interface operations { +export interface operations { "enterprise-admin/list-global-webhooks": { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; }; header?: never; path?: never; @@ -12638,28 +7157,11 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - type?: string; - id?: number; - name?: string; - active?: boolean; - events?: string[]; - config?: { - url?: string; - content_type?: string; - insecure_ssl?: string; - secret?: string; - }; - updated_at?: string; - created_at?: string; - url?: string; - ping_url?: string; - }[]; + "application/json": components["schemas"]["global-hook"][]; }; }; }; @@ -12689,8 +7191,10 @@ interface operations { }; /** @description The [events](https://docs.github.com/enterprise-server@3.6/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`. */ events?: string[]; - /** @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - @default true */ + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ active: boolean; }; }; @@ -12702,23 +7206,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - type?: string; - id?: number; - name?: string; - active?: boolean; - events?: string[]; - config?: { - url?: string; - content_type?: string; - insecure_ssl?: string; - secret?: string; - }; - updated_at?: string; - created_at?: string; - url?: string; - ping_url?: string; - }; + "application/json": components["schemas"]["global-hook"]; }; }; }; @@ -12729,7 +7217,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the hook. */ - hook_id: number; + hook_id: components["parameters"]["hook-id"]; }; cookie?: never; }; @@ -12741,23 +7229,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - type?: string; - id?: number; - name?: string; - active?: boolean; - events?: string[]; - config?: { - url?: string; - content_type?: string; - insecure_ssl?: string; - secret?: string; - }; - updated_at?: string; - created_at?: string; - url?: string; - ping_url?: string; - }; + "application/json": components["schemas"]["global-hook"]; }; }; }; @@ -12768,7 +7240,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the hook. */ - hook_id: number; + hook_id: components["parameters"]["hook-id"]; }; cookie?: never; }; @@ -12789,7 +7261,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the hook. */ - hook_id: number; + hook_id: components["parameters"]["hook-id"]; }; cookie?: never; }; @@ -12809,8 +7281,10 @@ interface operations { }; /** @description The [events](https://docs.github.com/enterprise-server@3.6/webhooks/event-payloads) that trigger this webhook. A global webhook can be triggered by `user` and `organization` events. Default: `user` and `organization`. */ events?: string[]; - /** @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. - @default true */ + /** + * @description Determines if notifications are sent when the webhook is triggered. Set to `true` to send notifications. + * @default true + */ active: boolean; }; }; @@ -12822,22 +7296,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - type?: string; - id?: number; - name?: string; - active?: boolean; - events?: string[]; - config?: { - url?: string; - content_type?: string; - insecure_ssl?: string; - }; - updated_at?: string; - created_at?: string; - url?: string; - ping_url?: string; - }; + "application/json": components["schemas"]["global-hook-2"]; }; }; }; @@ -12848,7 +7307,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the hook. */ - hook_id: number; + hook_id: components["parameters"]["hook-id"]; }; cookie?: never; }; @@ -12867,11 +7326,11 @@ interface operations { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; + direction?: components["parameters"]["direction"]; sort?: "created" | "updated" | "accessed"; /** @description Only show public keys accessed after the given time. */ since?: string; @@ -12885,23 +7344,11 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - id: number; - key: string; - user_id: number | null; - repository_id: number | null; - url: string; - title: string; - read_only: boolean; - verified: boolean; - /** Format: date-time */ - created_at: string; - }[]; + "application/json": components["schemas"]["public-key-full"][]; }; }; }; @@ -12912,7 +7359,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the key. */ - key_ids: string; + key_ids: components["parameters"]["key-ids"]; }; cookie?: never; }; @@ -12933,7 +7380,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the team. */ - team_id: number; + team_id: components["parameters"]["team-id"]; }; cookie?: never; }; @@ -12952,21 +7399,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - ldap_dn?: string; - id?: number; - node_id?: string; - url?: string; - html_url?: string; - name?: string; - slug?: string; - description?: string | null; - privacy?: string; - permission?: string; - members_url?: string; - repositories_url?: string; - parent?: unknown; - }; + "application/json": components["schemas"]["ldap-mapping-team"]; }; }; }; @@ -12977,7 +7410,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the team. */ - team_id: number; + team_id: components["parameters"]["team-id"]; }; cookie?: never; }; @@ -13002,7 +7435,7 @@ interface operations { header?: never; path: { /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; @@ -13021,103 +7454,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - ldap_dn?: string; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example monalisa octocat */ - name: string | null; - /** @example GitHub */ - company: string | null; - /** @example https://github.com/blog */ - blog: string | null; - /** @example San Francisco */ - location: string | null; - /** Format: email - @example octocat@github.com */ - email: string | null; - hireable: boolean | null; - /** @example There once was... */ - bio: string | null; - /** @example monalisa */ - twitter_username?: string | null; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** Format: date-time - @example 2008-01-14T04:33:35Z */ - created_at: string; - /** Format: date-time - @example 2008-01-14T04:33:35Z */ - updated_at: string; - /** @example 81 */ - private_gists: number; - /** @example 100 */ - total_private_repos: number; - /** @example 100 */ - owned_private_repos: number; - /** @example 10000 */ - disk_usage: number; - /** @example 8 */ - collaborators: number; - /** @example true */ - two_factor_authentication: boolean; - plan?: { - collaborators: number; - name: string; - space: number; - private_repos: number; - }; - /** Format: date-time */ - suspended_at?: string | null; - business_plus?: boolean; - }; + "application/json": components["schemas"]["ldap-mapping-user"]; }; }; }; @@ -13128,7 +7465,7 @@ interface operations { header?: never; path: { /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; @@ -13173,35 +7510,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** Format: uri - @example https://api.github.com/orgs/github */ - url: string; - /** Format: uri - @example https://api.github.com/orgs/github/repos */ - repos_url: string; - /** Format: uri - @example https://api.github.com/orgs/github/events */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - }; + "application/json": components["schemas"]["organization-simple"]; }; }; }; @@ -13212,7 +7521,7 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; @@ -13243,11 +7552,11 @@ interface operations { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; + direction?: components["parameters"]["direction"]; sort?: "created" | "updated" | "name"; }; header?: never; @@ -13262,22 +7571,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - image_url?: string; - url?: string; - html_url?: string; - default_environment?: boolean; - created_at?: string; - hooks_count?: number; - download?: { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; - }[]; + "application/json": components["schemas"]["pre-receive-environment"][]; }; }; }; @@ -13306,22 +7600,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - image_url?: string; - url?: string; - html_url?: string; - default_environment?: boolean; - created_at?: string; - hooks_count?: number; - download?: { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; - }; + "application/json": components["schemas"]["pre-receive-environment"]; }; }; }; @@ -13332,7 +7611,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the pre-receive environment. */ - pre_receive_environment_id: number; + pre_receive_environment_id: components["parameters"]["pre-receive-environment-id"]; }; cookie?: never; }; @@ -13344,22 +7623,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - image_url?: string; - url?: string; - html_url?: string; - default_environment?: boolean; - created_at?: string; - hooks_count?: number; - download?: { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; - }; + "application/json": components["schemas"]["pre-receive-environment"]; }; }; }; @@ -13370,7 +7634,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the pre-receive environment. */ - pre_receive_environment_id: number; + pre_receive_environment_id: components["parameters"]["pre-receive-environment-id"]; }; cookie?: never; }; @@ -13407,7 +7671,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the pre-receive environment. */ - pre_receive_environment_id: number; + pre_receive_environment_id: components["parameters"]["pre-receive-environment-id"]; }; cookie?: never; }; @@ -13428,22 +7692,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - image_url?: string; - url?: string; - html_url?: string; - default_environment?: boolean; - created_at?: string; - hooks_count?: number; - download?: { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; - }; + "application/json": components["schemas"]["pre-receive-environment"]; }; }; /** @description Client Errors */ @@ -13470,7 +7719,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the pre-receive environment. */ - pre_receive_environment_id: number; + pre_receive_environment_id: components["parameters"]["pre-receive-environment-id"]; }; cookie?: never; }; @@ -13482,12 +7731,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; + "application/json": components["schemas"]["pre-receive-environment-download-status"]; }; }; /** @description Client Errors */ @@ -13514,7 +7758,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the pre-receive environment. */ - pre_receive_environment_id: number; + pre_receive_environment_id: components["parameters"]["pre-receive-environment-id"]; }; cookie?: never; }; @@ -13526,12 +7770,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; + "application/json": components["schemas"]["pre-receive-environment-download-status"]; }; }; }; @@ -13540,11 +7779,11 @@ interface operations { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; + direction?: components["parameters"]["direction"]; /** @description The property to sort the results by. */ sort?: "created" | "updated" | "name"; }; @@ -13560,35 +7799,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - script?: string; - script_repository?: { - id?: number; - full_name?: string; - url?: string; - html_url?: string; - }; - environment?: { - id?: number; - name?: string; - image_url?: string; - url?: string; - html_url?: string; - default_environment?: boolean; - created_at?: string; - hooks_count?: number; - download?: { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; - }; - allow_downstream_configuration?: boolean; - }[]; + "application/json": components["schemas"]["pre-receive-hook"][]; }; }; }; @@ -13629,35 +7840,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - script?: string; - script_repository?: { - id?: number; - full_name?: string; - url?: string; - html_url?: string; - }; - environment?: { - id?: number; - name?: string; - image_url?: string; - url?: string; - html_url?: string; - default_environment?: boolean; - created_at?: string; - hooks_count?: number; - download?: { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; - }; - allow_downstream_configuration?: boolean; - }; + "application/json": components["schemas"]["pre-receive-hook"]; }; }; }; @@ -13668,7 +7851,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the pre-receive hook. */ - pre_receive_hook_id: number; + pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; }; cookie?: never; }; @@ -13680,35 +7863,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - script?: string; - script_repository?: { - id?: number; - full_name?: string; - url?: string; - html_url?: string; - }; - environment?: { - id?: number; - name?: string; - image_url?: string; - url?: string; - html_url?: string; - default_environment?: boolean; - created_at?: string; - hooks_count?: number; - download?: { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; - }; - allow_downstream_configuration?: boolean; - }; + "application/json": components["schemas"]["pre-receive-hook"]; }; }; }; @@ -13719,7 +7874,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the pre-receive hook. */ - pre_receive_hook_id: number; + pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; }; cookie?: never; }; @@ -13740,7 +7895,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the pre-receive hook. */ - pre_receive_hook_id: number; + pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; }; cookie?: never; }; @@ -13773,35 +7928,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - script?: string; - script_repository?: { - id?: number; - full_name?: string; - url?: string; - html_url?: string; - }; - environment?: { - id?: number; - name?: string; - image_url?: string; - url?: string; - html_url?: string; - default_environment?: boolean; - created_at?: string; - hooks_count?: number; - download?: { - url?: string; - state?: string; - downloaded_at?: string | null; - message?: string | null; - }; - }; - allow_downstream_configuration?: boolean; - }; + "application/json": components["schemas"]["pre-receive-hook"]; }; }; }; @@ -13810,9 +7937,9 @@ interface operations { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; }; header?: never; path?: never; @@ -13823,257 +7950,11 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }[]; + "application/json": components["schemas"]["authorization"][]; }; }; }; @@ -14084,7 +7965,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the token. */ - token_id: number; + token_id: components["parameters"]["token-id"]; }; cookie?: never; }; @@ -14112,8 +7993,8 @@ interface operations { /** @description The user's username. */ login: string; /** @description **Required for built-in authentication.** The user's email - address. This parameter can be omitted when using CAS, LDAP, or SAML. - For more information, see "[About authentication for your enterprise](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)." */ + * address. This parameter can be omitted when using CAS, LDAP, or SAML. + * For more information, see "[About authentication for your enterprise](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/managing-iam-for-your-enterprise/about-authentication-for-your-enterprise)." */ email?: string; }; }; @@ -14125,55 +8006,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; + "application/json": components["schemas"]["simple-user"]; }; }; }; @@ -14184,7 +8017,7 @@ interface operations { header?: never; path: { /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; @@ -14205,7 +8038,7 @@ interface operations { header?: never; path: { /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; @@ -14238,7 +8071,7 @@ interface operations { header?: never; path: { /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; @@ -14257,252 +8090,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; + "application/json": components["schemas"]["authorization"]; }; }; /** @description Response when creating a new impersonation OAuth token */ @@ -14511,252 +8099,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; + "application/json": components["schemas"]["authorization"]; }; }; }; @@ -14767,7 +8110,7 @@ interface operations { header?: never; path: { /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; @@ -14786,11 +8129,11 @@ interface operations { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */ - since?: string; + since?: components["parameters"]["since"]; outdated?: string; }; header?: never; @@ -14802,282 +8145,11 @@ interface operations { /** @description The permissions the installation has are included under the `permissions` key. */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - /** @description The ID of the installation. - @example 1 */ - id: number; - account: ({ - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | { - /** @description A short description of the enterprise. */ - description?: string | null; - /** Format: uri - @example https://github.com/enterprises/octo-business */ - html_url: string; - /** Format: uri - @description The enterprise's website URL. */ - website_url?: string | null; - /** @description Unique identifier of the enterprise - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the enterprise. - @example Octo Business */ - name: string; - /** @description The slug url identifier for the enterprise. - @example octo-business */ - slug: string; - /** Format: date-time - @example 2019-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2019-01-26T19:14:43Z */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }) | null; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** Format: uri - @example https://api.github.com/installations/1/access_tokens */ - access_tokens_url: string; - /** Format: uri - @example https://api.github.com/installation/repositories */ - repositories_url: string; - /** Format: uri - @example https://github.com/organizations/github/settings/installations/1 */ - html_url: string; - /** @example 1 */ - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - /** @example Organization */ - target_type: string; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** @example github-actions */ - app_slug: string; - /** Simple User - @description Simple User */ - suspended_by: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time */ - suspended_at: string | null; - /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ - contact_email?: string | null; - }[]; + "application/json": components["schemas"]["installation"][]; }; }; }; @@ -15088,7 +8160,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the installation. */ - installation_id: number; + installation_id: components["parameters"]["installation-id"]; }; cookie?: never; }; @@ -15100,293 +8172,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The ID of the installation. - @example 1 */ - id: number; - account: ({ - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | { - /** @description A short description of the enterprise. */ - description?: string | null; - /** Format: uri - @example https://github.com/enterprises/octo-business */ - html_url: string; - /** Format: uri - @description The enterprise's website URL. */ - website_url?: string | null; - /** @description Unique identifier of the enterprise - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the enterprise. - @example Octo Business */ - name: string; - /** @description The slug url identifier for the enterprise. - @example octo-business */ - slug: string; - /** Format: date-time - @example 2019-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2019-01-26T19:14:43Z */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }) | null; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** Format: uri - @example https://api.github.com/installations/1/access_tokens */ - access_tokens_url: string; - /** Format: uri - @example https://api.github.com/installation/repositories */ - repositories_url: string; - /** Format: uri - @example https://github.com/organizations/github/settings/installations/1 */ - html_url: string; - /** @example 1 */ - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - /** @example Organization */ - target_type: string; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** @example github-actions */ - app_slug: string; - /** Simple User - @description Simple User */ - suspended_by: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time */ - suspended_at: string | null; - /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ - contact_email?: string | null; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["installation"]; }; }; + 404: components["responses"]["not_found"]; }; }; "apps/create-installation-access-token": { @@ -15395,7 +8184,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the installation. */ - installation_id: number; + installation_id: components["parameters"]["installation-id"]; }; cookie?: never; }; @@ -15404,111 +8193,14 @@ interface operations { "application/json": { /** @description List of repository names that the token should have access to */ repositories?: string[]; - /** @description List of repository IDs that the token should have access to - @example [ - 1 - ] */ + /** + * @description List of repository IDs that the token should have access to + * @example [ + * 1 + * ] + */ repository_ids?: number[]; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions?: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; + permissions?: components["schemas"]["app-permissions"]; }; }; }; @@ -15519,846 +8211,45 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - token: string; - expires_at: string; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions?: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @enum {string} */ - repository_selection?: "all" | "selected"; - repositories?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }[]; - /** @example README.md */ - single_file?: string; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - }; + "application/json": components["schemas"]["installation-token"]; }; }; - /** @description Requires authentication */ - 401: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; + }; + }; + "oauth-authorizations/list-grants": { + parameters: { + query?: { + /** @description The number of results per page (max 100). */ + per_page?: components["parameters"]["per-page"]; + /** @description Page number of the results to fetch. */ + page?: components["parameters"]["page"]; + /** @description The client ID of your GitHub app. */ + client_id?: string; }; - /** @description Forbidden */ - 403: { + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { headers: { + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; - }; - }; - }; - }; - "oauth-authorizations/list-grants": { - parameters: { - query?: { - /** @description The number of results per page (max 100). */ - per_page?: number; - /** @description Page number of the results to fetch. */ - page?: number; - /** @description The client ID of your GitHub app. */ - client_id?: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example 1 */ - id: number; - /** Format: uri - @example https://api.github.com/applications/grants/1 */ - url: string; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - /** Format: date-time - @example 2011-09-06T17:26:27Z */ - created_at: string; - /** Format: date-time - @example 2011-09-06T20:39:23Z */ - updated_at: string; - /** @example [ - "public_repo" - ] */ - scopes: string[]; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - }[]; - }; - }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Requires authentication */ - 401: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["application-grant"][]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; "oauth-authorizations/get-grant": { @@ -16367,7 +8258,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the grant. */ - grant_id: number; + grant_id: components["parameters"]["grant-id"]; }; cookie?: never; }; @@ -16379,117 +8270,12 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @example 1 */ - id: number; - /** Format: uri - @example https://api.github.com/applications/grants/1 */ - url: string; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - /** Format: date-time - @example 2011-09-06T17:26:27Z */ - created_at: string; - /** Format: date-time - @example 2011-09-06T20:39:23Z */ - updated_at: string; - /** @example [ - "public_repo" - ] */ - scopes: string[]; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - }; - }; - }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Requires authentication */ - 401: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["application-grant"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; "oauth-authorizations/delete-grant": { @@ -16498,7 +8284,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the grant. */ - grant_id: number; + grant_id: components["parameters"]["grant-id"]; }; cookie?: never; }; @@ -16511,41 +8297,9 @@ interface operations { }; content?: never; }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Requires authentication */ - 401: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; "apps/check-token": { @@ -16554,7 +8308,7 @@ interface operations { header?: never; path: { /** @description The client ID of the GitHub app. */ - client_id: string; + client_id: components["parameters"]["client-id"]; }; cookie?: never; }; @@ -16573,288 +8327,11 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["authorization"]; }; }; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; "apps/reset-token": { @@ -16863,7 +8340,7 @@ interface operations { header?: never; path: { /** @description The client ID of the GitHub app. */ - client_id: string; + client_id: components["parameters"]["client-id"]; }; cookie?: never; }; @@ -16882,274 +8359,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["authorization"]; }; }; + 422: components["responses"]["validation_failed"]; }; }; "apps/scope-token": { @@ -17158,129 +8371,38 @@ interface operations { header?: never; path: { /** @description The client ID of the GitHub app. */ - client_id: string; + client_id: components["parameters"]["client-id"]; }; cookie?: never; }; requestBody: { content: { "application/json": { - /** @description The OAuth access token used to authenticate to the GitHub API. - @example e72e16c7e42f292c6912e7710c838347ae178b4a */ + /** + * @description The OAuth access token used to authenticate to the GitHub API. + * @example e72e16c7e42f292c6912e7710c838347ae178b4a + */ access_token: string; - /** @description The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified. - @example octocat */ + /** + * @description The name of the user or organization to scope the user-to-server access token to. **Required** unless `target_id` is specified. + * @example octocat + */ target?: string; - /** @description The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified. - @example 1 */ + /** + * @description The ID of the user or organization to scope the user-to-server access token to. **Required** unless `target` is specified. + * @example 1 + */ target_id?: number; /** @description The list of repository names to scope the user-to-server access token to. `repositories` may not be specified if `repository_ids` is specified. */ repositories?: string[]; - /** @description The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. - @example [ - 1 - ] */ + /** + * @description The list of repository IDs to scope the user-to-server access token to. `repository_ids` may not be specified if `repositories` is specified. + * @example [ + * 1 + * ] + */ repository_ids?: number[]; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions?: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; + permissions?: components["schemas"]["app-permissions"]; }; }; }; @@ -17291,325 +8413,22 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; - }; - }; - /** @description Requires authentication */ - 401: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["authorization"]; }; }; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; "oauth-authorizations/list-authorizations": { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description The client ID of your GitHub app. */ client_id?: string; }; @@ -17622,308 +8441,17 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }[]; - }; - }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Requires authentication */ - 401: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["authorization"][]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; "oauth-authorizations/create-authorization": { @@ -17936,14 +8464,18 @@ interface operations { requestBody?: { content: { "application/json": { - /** @description A list of scopes that this authorization is in. - @example [ - "public_repo", - "user" - ] */ + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ scopes?: string[] | null; - /** @description A note to remind you what the OAuth token is for. - @example Update all gems */ + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ note?: string; /** @description A URL to remind you what app the OAuth token is for. */ note_url?: string; @@ -17965,323 +8497,14 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; - }; - }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Requires authentication */ - 401: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Gone */ - 410: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["authorization"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 410: components["responses"]["gone"]; + 422: components["responses"]["validation_failed"]; }; }; "oauth-authorizations/get-or-create-authorization-for-app": { @@ -18290,7 +8513,7 @@ interface operations { header?: never; path: { /** @description The client ID of the OAuth app. */ - client_id: string; + client_id: components["parameters"]["oauth-client-id"]; }; cookie?: never; }; @@ -18299,14 +8522,18 @@ interface operations { "application/json": { /** @description The OAuth app client secret for which to create the token. */ client_secret: string; - /** @description A list of scopes that this authorization is in. - @example [ - "public_repo", - "user" - ] */ + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ scopes?: string[] | null; - /** @description A note to remind you what the OAuth token is for. - @example Update all gems */ + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ note?: string; /** @description A URL to remind you what app the OAuth token is for. */ note_url?: string; @@ -18324,252 +8551,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; + "application/json": components["schemas"]["authorization"]; }; }; /** @description **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ @@ -18580,309 +8562,13 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; - }; - }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Requires authentication */ - 401: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["authorization"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; }; "oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint": { @@ -18891,7 +8577,7 @@ interface operations { header?: never; path: { /** @description The client ID of the OAuth app. */ - client_id: string; + client_id: components["parameters"]["oauth-client-id"]; fingerprint: string; }; cookie?: never; @@ -18901,14 +8587,18 @@ interface operations { "application/json": { /** @description The OAuth app client secret for which to create the token. */ client_secret: string; - /** @description A list of scopes that this authorization is in. - @example [ - "public_repo", - "user" - ] */ + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ scopes?: string[] | null; - /** @description A note to remind you what the OAuth token is for. - @example Update all gems */ + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ note?: string; /** @description A URL to remind you what app the OAuth token is for. */ note_url?: string; @@ -18924,252 +8614,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; + "application/json": components["schemas"]["authorization"]; }; }; /** @description Response if returning a new token */ @@ -19180,274 +8625,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["authorization"]; }; }; + 422: components["responses"]["validation_failed"]; }; }; "oauth-authorizations/get-authorization": { @@ -19456,7 +8637,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the authorization. */ - authorization_id: number; + authorization_id: components["parameters"]["authorization-id"]; }; cookie?: never; }; @@ -19468,289 +8649,12 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; - }; - }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Requires authentication */ - 401: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["authorization"]; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; "oauth-authorizations/delete-authorization": { @@ -19759,7 +8663,7 @@ interface operations { header?: never; path: { /** @description The unique identifier of the authorization. */ - authorization_id: number; + authorization_id: components["parameters"]["authorization-id"]; }; cookie?: never; }; @@ -19772,41 +8676,9 @@ interface operations { }; content?: never; }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Requires authentication */ - 401: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; "oauth-authorizations/update-authorization": { @@ -19815,25 +8687,29 @@ interface operations { header?: never; path: { /** @description The unique identifier of the authorization. */ - authorization_id: number; + authorization_id: components["parameters"]["authorization-id"]; }; cookie?: never; }; requestBody?: { content: { "application/json": { - /** @description A list of scopes that this authorization is in. - @example [ - "public_repo", - "user" - ] */ + /** + * @description A list of scopes that this authorization is in. + * @example [ + * "public_repo", + * "user" + * ] + */ scopes?: string[] | null; /** @description A list of scopes to add to this authorization. */ add_scopes?: string[]; /** @description A list of scopes to remove from this authorization. */ remove_scopes?: string[]; - /** @description A note to remind you what the OAuth token is for. - @example Update all gems */ + /** + * @description A note to remind you what the OAuth token is for. + * @example Update all gems + */ note?: string; /** @description A URL to remind you what app the OAuth token is for. */ note_url?: string; @@ -19849,274 +8725,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - /** Format: uri */ - url: string; - /** @description A list of scopes that this authorization is in. */ - scopes: string[] | null; - token: string; - token_last_eight: string | null; - hashed_token: string | null; - app: { - client_id: string; - name: string; - /** Format: uri */ - url: string; - }; - note: string | null; - /** Format: uri */ - note_url: string | null; - /** Format: date-time */ - updated_at: string; - /** Format: date-time */ - created_at: string; - fingerprint: string | null; - /** Simple User - @description Simple User */ - user?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Scoped Installation */ - installation?: { - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repositories_url: string; - /** Simple User - @description Simple User */ - account: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - } | null; - /** Format: date-time */ - expires_at: string | null; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["authorization"]; }; }; + 422: components["responses"]["validation_failed"]; }; }; "enterprise-admin/get-announcement": { @@ -20134,15 +8746,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." - @example Very **important** announcement about _nothing_. */ - announcement: string; - /** Format: date-time - @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. - @example "2021-01-01T00:00:00.000-07:00" */ - expires_at?: string | null; - }; + "application/json": components["schemas"]["announcement"]; }; }; }; @@ -20174,15 +8778,7 @@ interface operations { }; requestBody: { content: { - "application/json": { - /** @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." - @example Very **important** announcement about _nothing_. */ - announcement: string; - /** Format: date-time - @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. - @example "2021-01-01T00:00:00.000-07:00" */ - expires_at?: string | null; - }; + "application/json": components["schemas"]["announcement"]; }; }; responses: { @@ -20192,15 +8788,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The announcement text in GitHub Flavored Markdown. For more information about GitHub Flavored Markdown, see "[Basic writing and formatting syntax](https://docs.github.com/enterprise-server@3.6/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." - @example Very **important** announcement about _nothing_. */ - announcement: string; - /** Format: date-time - @description The time at which the announcement expires. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. To set an announcement that never expires, omit this parameter, set it to `null`, or set it to an empty string. - @example "2021-01-01T00:00:00.000-07:00" */ - expires_at?: string | null; - }; + "application/json": components["schemas"]["announcement"]; }; }; }; @@ -20220,14 +8808,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - seats?: string | number; - seats_used?: number; - seats_available?: string | number; - kind?: string; - days_until_expiration?: number; - expire_at?: string; - }; + "application/json": components["schemas"]["license-info"]; }; }; }; @@ -20247,72 +8828,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** Repository Enterprise Stats */ - repos?: { - total_repos: number; - root_repos: number; - fork_repos: number; - org_repos: number; - total_pushes: number; - total_wikis: number; - }; - /** Hooks Enterprise Stats */ - hooks?: { - total_hooks: number; - active_hooks: number; - inactive_hooks: number; - }; - /** Enterprise Pages Stats */ - pages?: { - total_pages: number; - }; - /** Enterprise Organization Stats */ - orgs?: { - total_orgs: number; - disabled_orgs: number; - total_teams: number; - total_team_members: number; - }; - /** Enterprise User Stats */ - users?: { - total_users: number; - admin_users: number; - suspended_users: number; - }; - /** Enterprise Pull Request Stats */ - pulls?: { - total_pulls: number; - merged_pulls: number; - mergeable_pulls: number; - unmergeable_pulls: number; - }; - /** Enterprise Issue Stats */ - issues?: { - total_issues: number; - open_issues: number; - closed_issues: number; - }; - /** Enterprise Milestone Stats */ - milestones?: { - total_milestones: number; - open_milestones: number; - closed_milestones: number; - }; - /** Enterprise Gist Stats */ - gists?: { - total_gists: number; - private_gists: number; - public_gists: number; - }; - /** Enterprise Comment Stats */ - comments?: { - total_commit_comments: number; - total_gist_comments: number; - total_issue_comments: number; - total_pull_request_comments: number; - }; - }; + "application/json": components["schemas"]["enterprise-overview"]; }; }; }; @@ -20332,12 +8848,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - total_commit_comments: number; - total_gist_comments: number; - total_issue_comments: number; - total_pull_request_comments: number; - }; + "application/json": components["schemas"]["enterprise-comment-overview"]; }; }; }; @@ -20357,11 +8868,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - total_gists: number; - private_gists: number; - public_gists: number; - }; + "application/json": components["schemas"]["enterprise-gist-overview"]; }; }; }; @@ -20381,11 +8888,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - total_hooks: number; - active_hooks: number; - inactive_hooks: number; - }; + "application/json": components["schemas"]["enterprise-hook-overview"]; }; }; }; @@ -20405,11 +8908,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - total_issues: number; - open_issues: number; - closed_issues: number; - }; + "application/json": components["schemas"]["enterprise-issue-overview"]; }; }; }; @@ -20429,11 +8928,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - total_milestones: number; - open_milestones: number; - closed_milestones: number; - }; + "application/json": components["schemas"]["enterprise-milestone-overview"]; }; }; }; @@ -20453,12 +8948,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - total_orgs: number; - disabled_orgs: number; - total_teams: number; - total_team_members: number; - }; + "application/json": components["schemas"]["enterprise-organization-overview"]; }; }; }; @@ -20478,9 +8968,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - total_pages: number; - }; + "application/json": components["schemas"]["enterprise-page-overview"]; }; }; }; @@ -20500,12 +8988,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - total_pulls: number; - merged_pulls: number; - mergeable_pulls: number; - unmergeable_pulls: number; - }; + "application/json": components["schemas"]["enterprise-pull-request-overview"]; }; }; }; @@ -20525,14 +9008,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - total_repos: number; - root_repos: number; - fork_repos: number; - org_repos: number; - total_pushes: number; - total_wikis: number; - }; + "application/json": components["schemas"]["enterprise-repository-overview"]; }; }; }; @@ -20552,11 +9028,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - total_users: number; - admin_users: number; - suspended_users: number; - }; + "application/json": components["schemas"]["enterprise-user-overview"]; }; }; }; @@ -20567,7 +9039,7 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; }; cookie?: never; }; @@ -20576,19 +9048,11 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - /** @description For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes. - @example 10 */ - repo_cache_size_limit_in_gb?: number; - /** @description For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes. - @example 15 */ - max_repo_cache_size_limit_in_gb?: number; - }; + "application/json": components["schemas"]["actions-cache-usage-policy-enterprise"]; }; }; }; @@ -20599,20 +9063,13 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; }; cookie?: never; }; requestBody: { content: { - "application/json": { - /** @description For repositories in an enterprise, the default size limit for the sum of all caches in a repository, in gigabytes. - @example 10 */ - repo_cache_size_limit_in_gb?: number; - /** @description For repositories in an enterprise, the maximum value that can be set as the limit for the sum of all caches in a repository, in gigabytes. - @example 15 */ - max_repo_cache_size_limit_in_gb?: number; - }; + "application/json": components["schemas"]["actions-cache-usage-policy-enterprise"]; }; }; responses: { @@ -20631,7 +9088,7 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; }; cookie?: never; }; @@ -20643,12 +9100,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed: boolean; - /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ - patterns_allowed: string[]; - }; + "application/json": components["schemas"]["selected-actions"]; }; }; }; @@ -20659,18 +9111,13 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; }; cookie?: never; }; requestBody: { content: { - "application/json": { - /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed: boolean; - /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ - patterns_allowed: string[]; - }; + "application/json": components["schemas"]["selected-actions"]; }; }; responses: { @@ -20687,32 +9134,32 @@ interface operations { parameters: { query?: { /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ - phrase?: string; + phrase?: components["parameters"]["audit-log-phrase"]; /** @description The event types to include: - - - `web` - returns web (non-Git) events. - - `git` - returns Git events. - - `all` - returns both web and Git events. - - The default is `web`. */ - include?: "web" | "git" | "all"; + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. */ + include?: components["parameters"]["audit-log-include"]; /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - after?: string; + after?: components["parameters"]["audit-log-after"]; /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ - before?: string; + before?: components["parameters"]["audit-log-before"]; /** @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. - - The default is `desc`. */ - order?: "desc" | "asc"; + * + * The default is `desc`. */ + order?: components["parameters"]["audit-log-order"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; }; header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; }; cookie?: never; }; @@ -20724,65 +9171,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ - "@timestamp"?: number; - /** @description The name of the action that was performed, for example `user.login` or `repo.create`. */ - action?: string; - active?: boolean; - active_was?: boolean; - /** @description The actor who performed the action. */ - actor?: string; - /** @description The id of the actor who performed the action. */ - actor_id?: number; - actor_location?: { - country_name?: string; - }; - data?: { - [key: string]: unknown; - }; - org_id?: number; - /** @description The username of the account being blocked. */ - blocked_user?: string; - business?: string; - config?: Record[]; - config_was?: Record[]; - content_type?: string; - /** @description The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ - created_at?: number; - deploy_key_fingerprint?: string; - /** @description A unique identifier for an audit event. */ - _document_id?: string; - emoji?: string; - events?: Record[]; - events_were?: Record[]; - explanation?: string; - fingerprint?: string; - hook_id?: number; - limited_availability?: boolean; - message?: string; - name?: string; - old_user?: string; - openssh_public_key?: string; - org?: string; - previous_visibility?: string; - read_only?: boolean; - /** @description The name of the repository. */ - repo?: string; - /** @description The name of the repository. */ - repository?: string; - repository_public?: boolean; - target_login?: string; - team?: string; - /** @description The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ - transport_protocol?: number; - /** @description A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ - transport_protocol_name?: string; - /** @description The user that was affected by the action performed (if available). */ - user?: string; - /** @description The repository visibility, for example `public` or `private`. */ - visibility?: string; - }[]; + "application/json": components["schemas"]["audit-log-event"][]; }; }; }; @@ -20791,28 +9180,28 @@ interface operations { parameters: { query?: { /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - state?: "open" | "resolved"; + state?: components["parameters"]["secret-scanning-alert-state"]; /** @description A comma-separated list of secret types to return. By default all secret types are returned. - See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" - for a complete list of secret types. */ - secret_type?: string; + * See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ - resolution?: string; + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ - sort?: "created" | "updated"; + sort?: components["parameters"]["secret-scanning-alert-sort"]; /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; + direction?: components["parameters"]["direction"]; /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ - before?: string; + before?: components["parameters"]["pagination-before"]; /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - after?: string; + after?: components["parameters"]["pagination-after"]; }; header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; }; cookie?: never; }; @@ -20821,385 +9210,15 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; - [name: string]: unknown; - }; - content: { - "application/json": { - /** @description The security alert number. */ - readonly number?: number; - /** Format: date-time - @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly created_at?: string; - /** Format: date-time - @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly updated_at?: string | null; - /** Format: uri - @description The REST API URL of the alert resource. */ - readonly url?: string; - /** Format: uri - @description The GitHub URL of the alert resource. */ - readonly html_url?: string; - /** Format: uri - @description The REST API URL of the code locations for this alert. */ - locations_url?: string; - /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - @enum {string} */ - state?: "open" | "resolved"; - /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - @enum {string|null} */ - resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; - /** Format: date-time - @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - resolved_at?: string | null; - /** Simple User - @description Simple User */ - resolved_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** @description User-friendly name for the detected secret, matching the `secret_type`. - For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - /** Simple Repository - @description Simple Repository */ - repository?: { - /** @description A unique identifier of the repository. - @example 1296269 */ - id: number; - /** @description The GraphQL identifier of the repository. - @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Hello-World */ - name: string; - /** @description The full, globally unique, name of the repository. - @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private. */ - private: boolean; - /** Format: uri - @description The URL to view the repository on GitHub.com. - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @description The repository description. - @example This your first repo! */ - description: string | null; - /** @description Whether the repository is a fork. */ - fork: boolean; - /** Format: uri - @description The URL to get more information about the repository from the GitHub API. - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @description A template for the API URL to download the repository as an archive. - @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @description A template for the API URL to list the available assignees for issues in the repository. - @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @description A template for the API URL to get information about branches in the repository. - @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @description A template for the API URL to get information about collaborators of the repository. - @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @description A template for the API URL to get information about comments on the repository. - @example https://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @description A template for the API URL to get information about commits on the repository. - @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @description A template for the API URL to compare two commits or refs. - @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @description A template for the API URL to get the contents of the repository. - @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @description A template for the API URL to list the contributors to the repository. - @example https://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @description The API URL to list the deployments of the repository. - @example https://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @description The API URL to list the downloads on the repository. - @example https://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @description The API URL to list the events of the repository. - @example https://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @description The API URL to list the forks of the repository. - @example https://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @description A template for the API URL to get information about Git commits of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @description A template for the API URL to get information about Git refs of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @description A template for the API URL to get information about Git tags of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @description A template for the API URL to get information about issue comments on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @description A template for the API URL to get information about issue events on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @description A template for the API URL to get information about issues on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @description A template for the API URL to get information about deploy keys on the repository. - @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @description A template for the API URL to get information about labels of the repository. - @example https://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @description The API URL to get information about the languages of the repository. - @example https://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @description The API URL to merge branches in the repository. - @example https://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @description A template for the API URL to get information about milestones of the repository. - @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @description A template for the API URL to get information about notifications on the repository. - @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @description A template for the API URL to get information about pull requests on the repository. - @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @description A template for the API URL to get information about releases on the repository. - @example https://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** Format: uri - @description The API URL to list the stargazers on the repository. - @example https://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @description A template for the API URL to get information about statuses of a commit. - @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @description The API URL to list the subscribers on the repository. - @example https://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @description The API URL to subscribe to notifications for this repository. - @example https://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @description The API URL to get information about tags on the repository. - @example https://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @description The API URL to list the teams on the repository. - @example https://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** Format: uri - @description The API URL to list the hooks on the repository. - @example https://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - }; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - /** Simple User - @description Simple User */ - push_protection_bypassed_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time - @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - push_protection_bypassed_at?: string | null; - }[]; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Service unavailable */ - 503: { - headers: { + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; }; }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; "meta/get": { @@ -21217,32 +9236,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @example true */ - verifiable_password_authentication: boolean; - /** @example [ - "13.65.0.0/16", - "157.55.204.33/32", - "2a01:111:f403:f90c::/62" - ] */ - packages?: string[]; - /** @example [ - "192.168.7.15/32", - "192.168.7.16/32" - ] */ - dependabot?: string[]; - /** @example 3.6.0 */ - installed_version?: string; - }; - }; - }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; + "application/json": components["schemas"]["api-overview"]; }; - content?: never; }; + 304: components["responses"]["not_modified"]; }; }; "orgs/list-custom-roles": { @@ -21264,15 +9261,12 @@ interface operations { }; content: { "application/json": { - /** @description The number of custom roles in this organization - @example 3 */ + /** + * @description The number of custom roles in this organization + * @example 3 + */ total_count?: number; - custom_roles?: { - /** @description The unique identifier of the custom role. */ - id: number; - /** @description The name of the custom role. */ - name: string; - }[]; + custom_roles?: components["schemas"]["organization-custom-repository-role"][]; }; }; }; @@ -21284,7 +9278,7 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; @@ -21296,132 +9290,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** Format: uri - @example https://api.github.com/orgs/github */ - url: string; - /** Format: uri - @example https://api.github.com/orgs/github/repos */ - repos_url: string; - /** Format: uri - @example https://api.github.com/orgs/github/events */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - /** @example github */ - name?: string; - /** @example GitHub */ - company?: string; - /** Format: uri - @example https://github.com/blog */ - blog?: string; - /** @example San Francisco */ - location?: string; - /** Format: email - @example octocat@github.com */ - email?: string; - /** @example github */ - twitter_username?: string | null; - /** @example true */ - is_verified?: boolean; - /** @example true */ - has_organization_projects: boolean; - /** @example true */ - has_repository_projects: boolean; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: date-time - @example 2008-01-14T04:33:35Z */ - created_at: string; - /** @example Organization */ - type: string; - /** @example 100 */ - total_private_repos?: number; - /** @example 100 */ - owned_private_repos?: number; - /** @example 81 */ - private_gists?: number | null; - /** @example 10000 */ - disk_usage?: number | null; - /** @example 8 */ - collaborators?: number | null; - /** Format: email - @example org@example.com */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - /** @example true */ - members_can_create_repositories?: boolean | null; - /** @example true */ - two_factor_requirement_enabled?: boolean | null; - /** @example all */ - members_allowed_repository_creation_type?: string; - /** @example true */ - members_can_create_public_repositories?: boolean; - /** @example true */ - members_can_create_private_repositories?: boolean; - /** @example true */ - members_can_create_internal_repositories?: boolean; - /** @example true */ - members_can_create_pages?: boolean; - /** @example true */ - members_can_create_public_pages?: boolean; - /** @example true */ - members_can_create_private_pages?: boolean; - /** @example false */ - members_can_fork_private_repositories?: boolean | null; - /** @example false */ - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["organization-full"]; }; }; + 404: components["responses"]["not_found"]; }; }; "orgs/update": { @@ -21430,7 +9302,7 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; @@ -21455,12 +9327,16 @@ interface operations { has_organization_projects?: boolean; /** @description Whether repositories that belong to the organization can use repository projects. */ has_repository_projects?: boolean; - /** @description Default permission level members have for organization repositories. - @default read - @enum {string} */ + /** + * @description Default permission level members have for organization repositories. + * @default read + * @enum {string} + */ default_repository_permission: "read" | "write" | "admin" | "none"; - /** @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. - @default true */ + /** + * @description Whether of non-admin organization members can create repositories. **Note:** A parameter can override this parameter. See `members_allowed_repository_creation_type` in this table for details. + * @default true + */ members_can_create_repositories: boolean; /** @description Whether organization members can create internal repositories, which are visible to all enterprise members. You can only allow members to create internal repositories if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ members_can_create_internal_repositories?: boolean; @@ -21468,18 +9344,26 @@ interface operations { members_can_create_private_repositories?: boolean; /** @description Whether organization members can create public repositories, which are visible to anyone. For more information, see "[Restricting repository creation in your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/restricting-repository-creation-in-your-organization)" in the GitHub Help documentation. */ members_can_create_public_repositories?: boolean; - /** @description Specifies which types of repositories non-admin organization members can create. - **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. - @enum {string} */ + /** + * @description Specifies which types of repositories non-admin organization members can create. + * **Note:** This parameter is deprecated and will be removed in the future. Its return value ignores internal repositories. Using this parameter overrides values set in `members_can_create_repositories`. See the parameter deprecation notice in the operation description for details. + * @enum {string} + */ members_allowed_repository_creation_type?: "all" | "private" | "none"; - /** @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. - @default true */ + /** + * @description Whether organization members can create GitHub Pages sites. Existing published sites will not be impacted. + * @default true + */ members_can_create_pages: boolean; - /** @description Whether organization members can fork private organization repositories. - @default false */ + /** + * @description Whether organization members can fork private organization repositories. + * @default false + */ members_can_fork_private_repositories: boolean; - /** @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. - @default false */ + /** + * @description Whether contributors to organization repositories are required to sign off on commits they make through GitHub's web interface. + * @default false + */ web_commit_signoff_required: boolean; /** @example "http://github.blog" */ blog?: string; @@ -21493,154 +9377,17 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** Format: uri - @example https://api.github.com/orgs/github */ - url: string; - /** Format: uri - @example https://api.github.com/orgs/github/repos */ - repos_url: string; - /** Format: uri - @example https://api.github.com/orgs/github/events */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - /** @example github */ - name?: string; - /** @example GitHub */ - company?: string; - /** Format: uri - @example https://github.com/blog */ - blog?: string; - /** @example San Francisco */ - location?: string; - /** Format: email - @example octocat@github.com */ - email?: string; - /** @example github */ - twitter_username?: string | null; - /** @example true */ - is_verified?: boolean; - /** @example true */ - has_organization_projects: boolean; - /** @example true */ - has_repository_projects: boolean; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: date-time - @example 2008-01-14T04:33:35Z */ - created_at: string; - /** @example Organization */ - type: string; - /** @example 100 */ - total_private_repos?: number; - /** @example 100 */ - owned_private_repos?: number; - /** @example 81 */ - private_gists?: number | null; - /** @example 10000 */ - disk_usage?: number | null; - /** @example 8 */ - collaborators?: number | null; - /** Format: email - @example org@example.com */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - /** @example true */ - members_can_create_repositories?: boolean | null; - /** @example true */ - two_factor_requirement_enabled?: boolean | null; - /** @example all */ - members_allowed_repository_creation_type?: string; - /** @example true */ - members_can_create_public_repositories?: boolean; - /** @example true */ - members_can_create_private_repositories?: boolean; - /** @example true */ - members_can_create_internal_repositories?: boolean; - /** @example true */ - members_can_create_pages?: boolean; - /** @example true */ - members_can_create_public_pages?: boolean; - /** @example true */ - members_can_create_private_pages?: boolean; - /** @example false */ - members_can_fork_private_repositories?: boolean | null; - /** @example false */ - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - }; - }; - }; - /** @description Conflict */ - 409: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["organization-full"]; }; }; + 409: components["responses"]["conflict"]; /** @description Validation failed */ 422: { headers: { [name: string]: unknown; }; content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - } | { - message: string; - documentation_url: string; - errors?: string[]; - }; + "application/json": components["schemas"]["validation-error"] | components["schemas"]["validation-error-simple"]; }; }; }; @@ -21651,7 +9398,7 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; @@ -21663,12 +9410,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed: boolean; - /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ - patterns_allowed: string[]; - }; + "application/json": components["schemas"]["selected-actions"]; }; }; }; @@ -21679,18 +9421,13 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; requestBody?: { content: { - "application/json": { - /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed: boolean; - /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ - patterns_allowed: string[]; - }; + "application/json": components["schemas"]["selected-actions"]; }; }; responses: { @@ -21707,32 +9444,32 @@ interface operations { parameters: { query?: { /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/enterprise-server@3.6/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */ - phrase?: string; + phrase?: components["parameters"]["audit-log-phrase"]; /** @description The event types to include: - - - `web` - returns web (non-Git) events. - - `git` - returns Git events. - - `all` - returns both web and Git events. - - The default is `web`. */ - include?: "web" | "git" | "all"; + * + * - `web` - returns web (non-Git) events. + * - `git` - returns Git events. + * - `all` - returns both web and Git events. + * + * The default is `web`. */ + include?: components["parameters"]["audit-log-include"]; /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */ - after?: string; + after?: components["parameters"]["audit-log-after"]; /** @description A cursor, as given in the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */ - before?: string; + before?: components["parameters"]["audit-log-before"]; /** @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`. - - The default is `desc`. */ - order?: "desc" | "asc"; + * + * The default is `desc`. */ + order?: components["parameters"]["audit-log-order"]; /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; }; header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; @@ -21744,65 +9481,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ - "@timestamp"?: number; - /** @description The name of the action that was performed, for example `user.login` or `repo.create`. */ - action?: string; - active?: boolean; - active_was?: boolean; - /** @description The actor who performed the action. */ - actor?: string; - /** @description The id of the actor who performed the action. */ - actor_id?: number; - actor_location?: { - country_name?: string; - }; - data?: { - [key: string]: unknown; - }; - org_id?: number; - /** @description The username of the account being blocked. */ - blocked_user?: string; - business?: string; - config?: Record[]; - config_was?: Record[]; - content_type?: string; - /** @description The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */ - created_at?: number; - deploy_key_fingerprint?: string; - /** @description A unique identifier for an audit event. */ - _document_id?: string; - emoji?: string; - events?: Record[]; - events_were?: Record[]; - explanation?: string; - fingerprint?: string; - hook_id?: number; - limited_availability?: boolean; - message?: string; - name?: string; - old_user?: string; - openssh_public_key?: string; - org?: string; - previous_visibility?: string; - read_only?: boolean; - /** @description The name of the repository. */ - repo?: string; - /** @description The name of the repository. */ - repository?: string; - repository_public?: boolean; - target_login?: string; - team?: string; - /** @description The type of protocol (for example, HTTP or SSH) used to transfer Git data. */ - transport_protocol?: number; - /** @description A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */ - transport_protocol_name?: string; - /** @description The user that was affected by the action performed (if available). */ - user?: string; - /** @description The repository visibility, for example `public` or `private`. */ - visibility?: string; - }[]; + "application/json": components["schemas"]["audit-log-event"][]; }; }; }; @@ -21813,9 +9492,9 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; /** @description The unique identifier of the group. */ - group_id: number; + group_id: components["parameters"]["group-id"]; }; cookie?: never; }; @@ -21827,65 +9506,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The internal ID of the group - @example 1 */ - group_id: number; - /** @description The display name for the group - @example group-azuread-test */ - group_name: string; - /** @description The date when the group was last updated_at - @example 2021-01-03 22:27:15:000 -700 */ - updated_at?: string; - /** @description An array of teams linked to this group - @example [ - { - "team_id": 1, - "team_name": "team-test" - }, - { - "team_id": 2, - "team_name": "team-test2" - } - ] */ - teams: { - /** @description The id for a team - @example 1 */ - team_id: number; - /** @description The name of the team - @example team-test */ - team_name: string; - }[]; - /** @description An array of external members linked to this group - @example [ - { - "member_id": 1, - "member_login": "mona-lisa_eocsaxrs", - "member_name": "Mona Lisa", - "member_email": "mona_lisa@github.com" - }, - { - "member_id": 2, - "member_login": "octo-lisa_eocsaxrs", - "member_name": "Octo Lisa", - "member_email": "octo_lisa@github.com" - } - ] */ - members: { - /** @description The internal user ID of the identity - @example 1 */ - member_id: number; - /** @description The handle/login for the user - @example mona-lisa_eocsaxrs */ - member_login: string; - /** @description The user display name/profile name - @example Mona Lisa */ - member_name: string; - /** @description An email attached to a user - @example mona_lisa@github.com */ - member_email: string; - }[]; - }; + "application/json": components["schemas"]["external-group"]; }; }; }; @@ -21894,7 +9515,7 @@ interface operations { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page token */ page?: number; /** @description Limits the list to groups containing the text in the group name */ @@ -21903,7 +9524,7 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; @@ -21917,32 +9538,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description An array of external groups available to be mapped to a team - @example [ - { - "group_id": 1, - "group_name": "group-azuread-test", - "updated_at": "2021-01-03 22:27:15:000 -700" - }, - { - "group_id": 2, - "group_name": "group-azuread-test2", - "updated_at": "2021-06-03 22:27:15:000 -700" - } - ] */ - groups?: { - /** @description The internal ID of the group - @example 1 */ - group_id: number; - /** @description The display name of the group - @example group-azuread-test */ - group_name: string; - /** @description The time of the last update for this group - @example 2019-06-03 22:27:15:000 -700 */ - updated_at: string; - }[]; - }; + "application/json": components["schemas"]["external-groups"]; }; }; }; @@ -21953,7 +9549,7 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; @@ -21965,277 +9561,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The ID of the installation. - @example 1 */ - id: number; - account: ({ - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | { - /** @description A short description of the enterprise. */ - description?: string | null; - /** Format: uri - @example https://github.com/enterprises/octo-business */ - html_url: string; - /** Format: uri - @description The enterprise's website URL. */ - website_url?: string | null; - /** @description Unique identifier of the enterprise - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the enterprise. - @example Octo Business */ - name: string; - /** @description The slug url identifier for the enterprise. - @example octo-business */ - slug: string; - /** Format: date-time - @example 2019-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2019-01-26T19:14:43Z */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }) | null; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** Format: uri - @example https://api.github.com/installations/1/access_tokens */ - access_tokens_url: string; - /** Format: uri - @example https://api.github.com/installation/repositories */ - repositories_url: string; - /** Format: uri - @example https://github.com/organizations/github/settings/installations/1 */ - html_url: string; - /** @example 1 */ - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - /** @example Organization */ - target_type: string; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** @example github-actions */ - app_slug: string; - /** Simple User - @description Simple User */ - suspended_by: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time */ - suspended_at: string | null; - /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ - contact_email?: string | null; - }; + "application/json": components["schemas"]["installation"]; }; }; }; @@ -22244,14 +9570,14 @@ interface operations { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; }; header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; @@ -22260,284 +9586,13 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { "application/json": { total_count: number; - installations: { - /** @description The ID of the installation. - @example 1 */ - id: number; - account: ({ - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | { - /** @description A short description of the enterprise. */ - description?: string | null; - /** Format: uri - @example https://github.com/enterprises/octo-business */ - html_url: string; - /** Format: uri - @description The enterprise's website URL. */ - website_url?: string | null; - /** @description Unique identifier of the enterprise - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the enterprise. - @example Octo Business */ - name: string; - /** @description The slug url identifier for the enterprise. - @example octo-business */ - slug: string; - /** Format: date-time - @example 2019-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2019-01-26T19:14:43Z */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }) | null; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** Format: uri - @example https://api.github.com/installations/1/access_tokens */ - access_tokens_url: string; - /** Format: uri - @example https://api.github.com/installation/repositories */ - repositories_url: string; - /** Format: uri - @example https://github.com/organizations/github/settings/installations/1 */ - html_url: string; - /** @example 1 */ - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - /** @example Organization */ - target_type: string; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** @example github-actions */ - app_slug: string; - /** Simple User - @description Simple User */ - suspended_by: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time */ - suspended_at: string | null; - /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ - contact_email?: string | null; - }[]; + installations: components["schemas"]["installation"][]; }; }; }; @@ -22547,18 +9602,18 @@ interface operations { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; + direction?: components["parameters"]["direction"]; /** @description The sort order for the response collection. */ sort?: "created" | "updated" | "name"; }; header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; @@ -22570,13 +9625,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - configuration_url?: string; - allow_downstream_configuration?: boolean; - }[]; + "application/json": components["schemas"]["org-pre-receive-hook"][]; }; }; }; @@ -22587,9 +9636,9 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; /** @description The unique identifier of the pre-receive hook. */ - pre_receive_hook_id: number; + pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; }; cookie?: never; }; @@ -22601,13 +9650,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - configuration_url?: string; - allow_downstream_configuration?: boolean; - }; + "application/json": components["schemas"]["org-pre-receive-hook"]; }; }; }; @@ -22618,9 +9661,9 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; /** @description The unique identifier of the pre-receive hook. */ - pre_receive_hook_id: number; + pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; }; cookie?: never; }; @@ -22632,13 +9675,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - configuration_url?: string; - allow_downstream_configuration?: boolean; - }; + "application/json": components["schemas"]["org-pre-receive-hook"]; }; }; }; @@ -22649,9 +9686,9 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; /** @description The unique identifier of the pre-receive hook. */ - pre_receive_hook_id: number; + pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; }; cookie?: never; }; @@ -22672,13 +9709,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - configuration_url?: string; - allow_downstream_configuration?: boolean; - }; + "application/json": components["schemas"]["org-pre-receive-hook"]; }; }; }; @@ -22687,26 +9718,26 @@ interface operations { parameters: { query?: { /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - state?: "open" | "resolved"; + state?: components["parameters"]["secret-scanning-alert-state"]; /** @description A comma-separated list of secret types to return. By default all secret types are returned. - See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" - for a complete list of secret types. */ - secret_type?: string; + * See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ - resolution?: string; + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ - sort?: "created" | "updated"; + sort?: components["parameters"]["secret-scanning-alert-sort"]; /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; + direction?: components["parameters"]["direction"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; }; header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; @@ -22715,385 +9746,15 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; - [name: string]: unknown; - }; - content: { - "application/json": { - /** @description The security alert number. */ - readonly number?: number; - /** Format: date-time - @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly created_at?: string; - /** Format: date-time - @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly updated_at?: string | null; - /** Format: uri - @description The REST API URL of the alert resource. */ - readonly url?: string; - /** Format: uri - @description The GitHub URL of the alert resource. */ - readonly html_url?: string; - /** Format: uri - @description The REST API URL of the code locations for this alert. */ - locations_url?: string; - /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - @enum {string} */ - state?: "open" | "resolved"; - /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - @enum {string|null} */ - resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; - /** Format: date-time - @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - resolved_at?: string | null; - /** Simple User - @description Simple User */ - resolved_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** @description User-friendly name for the detected secret, matching the `secret_type`. - For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - /** Simple Repository - @description Simple Repository */ - repository?: { - /** @description A unique identifier of the repository. - @example 1296269 */ - id: number; - /** @description The GraphQL identifier of the repository. - @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Hello-World */ - name: string; - /** @description The full, globally unique, name of the repository. - @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private. */ - private: boolean; - /** Format: uri - @description The URL to view the repository on GitHub.com. - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @description The repository description. - @example This your first repo! */ - description: string | null; - /** @description Whether the repository is a fork. */ - fork: boolean; - /** Format: uri - @description The URL to get more information about the repository from the GitHub API. - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @description A template for the API URL to download the repository as an archive. - @example https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @description A template for the API URL to list the available assignees for issues in the repository. - @example https://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @description A template for the API URL to create or retrieve a raw Git blob in the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @description A template for the API URL to get information about branches in the repository. - @example https://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @description A template for the API URL to get information about collaborators of the repository. - @example https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @description A template for the API URL to get information about comments on the repository. - @example https://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @description A template for the API URL to get information about commits on the repository. - @example https://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @description A template for the API URL to compare two commits or refs. - @example https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @description A template for the API URL to get the contents of the repository. - @example https://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @description A template for the API URL to list the contributors to the repository. - @example https://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @description The API URL to list the deployments of the repository. - @example https://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @description The API URL to list the downloads on the repository. - @example https://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @description The API URL to list the events of the repository. - @example https://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @description The API URL to list the forks of the repository. - @example https://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @description A template for the API URL to get information about Git commits of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @description A template for the API URL to get information about Git refs of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @description A template for the API URL to get information about Git tags of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @description A template for the API URL to get information about issue comments on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @description A template for the API URL to get information about issue events on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @description A template for the API URL to get information about issues on the repository. - @example https://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @description A template for the API URL to get information about deploy keys on the repository. - @example https://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @description A template for the API URL to get information about labels of the repository. - @example https://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @description The API URL to get information about the languages of the repository. - @example https://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @description The API URL to merge branches in the repository. - @example https://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @description A template for the API URL to get information about milestones of the repository. - @example https://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @description A template for the API URL to get information about notifications on the repository. - @example https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @description A template for the API URL to get information about pull requests on the repository. - @example https://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @description A template for the API URL to get information about releases on the repository. - @example https://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** Format: uri - @description The API URL to list the stargazers on the repository. - @example https://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @description A template for the API URL to get information about statuses of a commit. - @example https://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @description The API URL to list the subscribers on the repository. - @example https://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @description The API URL to subscribe to notifications for this repository. - @example https://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @description The API URL to get information about tags on the repository. - @example https://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @description The API URL to list the teams on the repository. - @example https://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @description A template for the API URL to create or retrieve a raw Git tree of the repository. - @example https://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** Format: uri - @description The API URL to list the hooks on the repository. - @example https://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - }; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - /** Simple User - @description Simple User */ - push_protection_bypassed_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time - @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - push_protection_bypassed_at?: string | null; - }[]; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Service unavailable */ - 503: { - headers: { + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["organization-secret-scanning-alert"][]; }; }; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; "teams/create": { @@ -23102,7 +9763,7 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; }; cookie?: never; }; @@ -23117,19 +9778,23 @@ interface operations { maintainers?: string[]; /** @description The full name (e.g., "organization-name/repository-name") of repositories to add the team to. */ repo_names?: string[]; - /** @description The level of privacy this team should have. The options are: - **For a non-nested team:** - \* `secret` - only visible to organization owners and members of this team. - \* `closed` - visible to all members of this organization. - Default: `secret` - **For a parent or child team:** - \* `closed` - visible to all members of this organization. - Default for child team: `closed` - @enum {string} */ + /** + * @description The level of privacy this team should have. The options are: + * **For a non-nested team:** + * \* `secret` - only visible to organization owners and members of this team. + * \* `closed` - visible to all members of this organization. + * Default: `secret` + * **For a parent or child team:** + * \* `closed` - visible to all members of this organization. + * Default for child team: `closed` + * @enum {string} + */ privacy?: "secret" | "closed"; - /** @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. - @default pull - @enum {string} */ + /** + * @description **Deprecated**. The permission that new repositories will be added to the team with when none is specified. + * @default pull + * @enum {string} + */ permission: "pull" | "push"; /** @description The ID of a team to set as the parent team. */ parent_team_id?: number; @@ -23145,238 +9810,11 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description Unique identifier of the team - @example 42 */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; - /** Format: uri - @description URL for the team - @example https://api.github.com/organizations/1/team/1 */ - url: string; - /** Format: uri - @example https://github.com/orgs/rails/teams/core */ - html_url: string; - /** @description Name of the team - @example Developers */ - name: string; - /** @example justice-league */ - slug: string; - /** @example A great team. */ - description: string | null; - /** @description The level of privacy this team should have - @example closed - @enum {string} */ - privacy?: "closed" | "secret"; - /** @description Permission that the team will have for its repositories - @example push */ - permission: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; - /** Format: uri - @example https://api.github.com/organizations/1/team/1/repos */ - repositories_url: string; - /** Team Simple - @description Groups of organization members that gives permissions on specified repositories. */ - parent?: { - /** @description Unique identifier of the team - @example 1 */ - id: number; - /** @example MDQ6VGVhbTE= */ - node_id: string; - /** Format: uri - @description URL for the team - @example https://api.github.com/organizations/1/team/1 */ - url: string; - /** @example https://api.github.com/organizations/1/team/1/members{/member} */ - members_url: string; - /** @description Name of the team - @example Justice League */ - name: string; - /** @description Description of the team - @example A great team. */ - description: string | null; - /** @description Permission that the team will have for its repositories - @example admin */ - permission: string; - /** @description The level of privacy this team should have - @example closed */ - privacy?: string; - /** Format: uri - @example https://github.com/orgs/rails/teams/core */ - html_url: string; - /** Format: uri - @example https://api.github.com/organizations/1/team/1/repos */ - repositories_url: string; - /** @example justice-league */ - slug: string; - /** @description Distinguished Name (DN) that team maps to within LDAP environment - @example uid=example,ou=users,dc=github,dc=com */ - ldap_dn?: string; - } | null; - /** @example 3 */ - members_count: number; - /** @example 10 */ - repos_count: number; - /** Format: date-time - @example 2017-07-14T16:53:42Z */ - created_at: string; - /** Format: date-time - @example 2017-08-17T12:37:15Z */ - updated_at: string; - /** Team Organization - @description Team Organization */ - organization: { - /** @example github */ - login: string; - /** @example 1 */ - id: number; - /** @example MDEyOk9yZ2FuaXphdGlvbjE= */ - node_id: string; - /** Format: uri - @example https://api.github.com/orgs/github */ - url: string; - /** Format: uri - @example https://api.github.com/orgs/github/repos */ - repos_url: string; - /** Format: uri - @example https://api.github.com/orgs/github/events */ - events_url: string; - /** @example https://api.github.com/orgs/github/hooks */ - hooks_url: string; - /** @example https://api.github.com/orgs/github/issues */ - issues_url: string; - /** @example https://api.github.com/orgs/github/members{/member} */ - members_url: string; - /** @example https://api.github.com/orgs/github/public_members{/member} */ - public_members_url: string; - /** @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example A great organization */ - description: string | null; - /** @example github */ - name?: string; - /** @example GitHub */ - company?: string; - /** Format: uri - @example https://github.com/blog */ - blog?: string; - /** @example San Francisco */ - location?: string; - /** Format: email - @example octocat@github.com */ - email?: string; - /** @example github */ - twitter_username?: string | null; - /** @example true */ - is_verified?: boolean; - /** @example true */ - has_organization_projects: boolean; - /** @example true */ - has_repository_projects: boolean; - /** @example 2 */ - public_repos: number; - /** @example 1 */ - public_gists: number; - /** @example 20 */ - followers: number; - /** @example 0 */ - following: number; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: date-time - @example 2008-01-14T04:33:35Z */ - created_at: string; - /** @example Organization */ - type: string; - /** @example 100 */ - total_private_repos?: number; - /** @example 100 */ - owned_private_repos?: number; - /** @example 81 */ - private_gists?: number | null; - /** @example 10000 */ - disk_usage?: number | null; - /** @example 8 */ - collaborators?: number | null; - /** Format: email - @example org@example.com */ - billing_email?: string | null; - plan?: { - name: string; - space: number; - private_repos: number; - filled_seats?: number; - seats?: number; - }; - default_repository_permission?: string | null; - /** @example true */ - members_can_create_repositories?: boolean | null; - /** @example true */ - two_factor_requirement_enabled?: boolean | null; - /** @example all */ - members_allowed_repository_creation_type?: string; - /** @example true */ - members_can_create_public_repositories?: boolean; - /** @example true */ - members_can_create_private_repositories?: boolean; - /** @example true */ - members_can_create_internal_repositories?: boolean; - /** @example true */ - members_can_create_pages?: boolean; - /** @example true */ - members_can_create_public_pages?: boolean; - /** @example true */ - members_can_create_private_pages?: boolean; - /** @example false */ - members_can_fork_private_repositories?: boolean | null; - /** @example false */ - web_commit_signoff_required?: boolean; - /** Format: date-time */ - updated_at: string; - }; - /** @description Distinguished Name (DN) that team maps to within LDAP environment - @example uid=example,ou=users,dc=github,dc=com */ - ldap_dn?: string; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["team-full"]; }; }; + 403: components["responses"]["forbidden"]; + 422: components["responses"]["validation_failed"]; }; }; "teams/list-linked-external-idp-groups-to-team-for-org": { @@ -23385,9 +9823,9 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; /** @description The slug of the team name. */ - team_slug: string; + team_slug: components["parameters"]["team-slug"]; }; cookie?: never; }; @@ -23399,32 +9837,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description An array of external groups available to be mapped to a team - @example [ - { - "group_id": 1, - "group_name": "group-azuread-test", - "updated_at": "2021-01-03 22:27:15:000 -700" - }, - { - "group_id": 2, - "group_name": "group-azuread-test2", - "updated_at": "2021-06-03 22:27:15:000 -700" - } - ] */ - groups?: { - /** @description The internal ID of the group - @example 1 */ - group_id: number; - /** @description The display name of the group - @example group-azuread-test */ - group_name: string; - /** @description The time of the last update for this group - @example 2019-06-03 22:27:15:000 -700 */ - updated_at: string; - }[]; - }; + "application/json": components["schemas"]["external-groups"]; }; }; }; @@ -23435,9 +9848,9 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; /** @description The slug of the team name. */ - team_slug: string; + team_slug: components["parameters"]["team-slug"]; }; cookie?: never; }; @@ -23458,17 +9871,19 @@ interface operations { header?: never; path: { /** @description The organization name. The name is not case sensitive. */ - org: string; + org: components["parameters"]["org"]; /** @description The slug of the team name. */ - team_slug: string; + team_slug: components["parameters"]["team-slug"]; }; cookie?: never; }; requestBody: { content: { "application/json": { - /** @description External Group Id - @example 1 */ + /** + * @description External Group Id + * @example 1 + */ group_id: number; }; }; @@ -23480,65 +9895,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The internal ID of the group - @example 1 */ - group_id: number; - /** @description The display name for the group - @example group-azuread-test */ - group_name: string; - /** @description The date when the group was last updated_at - @example 2021-01-03 22:27:15:000 -700 */ - updated_at?: string; - /** @description An array of teams linked to this group - @example [ - { - "team_id": 1, - "team_name": "team-test" - }, - { - "team_id": 2, - "team_name": "team-test2" - } - ] */ - teams: { - /** @description The id for a team - @example 1 */ - team_id: number; - /** @description The name of the team - @example team-test */ - team_name: string; - }[]; - /** @description An array of external members linked to this group - @example [ - { - "member_id": 1, - "member_login": "mona-lisa_eocsaxrs", - "member_name": "Mona Lisa", - "member_email": "mona_lisa@github.com" - }, - { - "member_id": 2, - "member_login": "octo-lisa_eocsaxrs", - "member_name": "Octo Lisa", - "member_email": "octo_lisa@github.com" - } - ] */ - members: { - /** @description The internal user ID of the identity - @example 1 */ - member_id: number; - /** @description The handle/login for the user - @example mona-lisa_eocsaxrs */ - member_login: string; - /** @description The user display name/profile name - @example Mona Lisa */ - member_name: string; - /** @description An email attached to a user - @example mona_lisa@github.com */ - member_email: string; - }[]; - }; + "application/json": components["schemas"]["external-group"]; }; }; }; @@ -23555,105 +9912,17 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example 5000 */ - "X-RateLimit-Limit"?: number; - /** @example 4999 */ - "X-RateLimit-Remaining"?: number; - /** @example 1590701888 */ - "X-RateLimit-Reset"?: number; - [name: string]: unknown; - }; - content: { - "application/json": { - resources: { - /** Rate Limit */ - core: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - graphql?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - search: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - source_import?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - integration_manifest?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - code_scanning_upload?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - actions_runner_registration?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - /** Rate Limit */ - scim?: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - }; - /** Rate Limit */ - rate: { - limit: number; - remaining: number; - reset: number; - used: number; - }; - }; - }; - }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Resource not found */ - 404: { - headers: { + "X-RateLimit-Limit": components["headers"]["x-rate-limit-limit"]; + "X-RateLimit-Remaining": components["headers"]["x-rate-limit-remaining"]; + "X-RateLimit-Reset": components["headers"]["x-rate-limit-reset"]; [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["rate-limit-overview"]; }; }; + 304: components["responses"]["not_modified"]; + 404: components["responses"]["not_found"]; }; }; "actions/get-actions-cache-usage-policy": { @@ -23662,9 +9931,9 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -23676,11 +9945,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The size limit for the sum of all caches, in gigabytes. - @example 14 */ - repo_cache_size_limit_in_gb: number; - }; + "application/json": components["schemas"]["actions-cache-usage-policy-for-repository"]; }; }; }; @@ -23691,19 +9956,15 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; requestBody: { content: { - "application/json": { - /** @description The size limit for the sum of all caches, in gigabytes. - @example 14 */ - repo_cache_size_limit_in_gb: number; - }; + "application/json": components["schemas"]["actions-cache-usage-policy-for-repository"]; }; }; responses: { @@ -23722,9 +9983,9 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -23736,12 +9997,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed: boolean; - /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ - patterns_allowed: string[]; - }; + "application/json": components["schemas"]["selected-actions"]; }; }; }; @@ -23752,20 +10008,15 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; requestBody?: { content: { - "application/json": { - /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */ - github_owned_allowed: boolean; - /** @description Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */ - patterns_allowed: string[]; - }; + "application/json": components["schemas"]["selected-actions"]; }; }; responses: { @@ -23782,30 +10033,30 @@ interface operations { parameters: { query?: { /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ - actor?: string; + actor?: components["parameters"]["actor"]; /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - branch?: string; + branch?: components["parameters"]["workflow-run-branch"]; /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event?: string; + event?: components["parameters"]["event"]; /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ - status?: "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting"; + status?: components["parameters"]["workflow-run-status"]; /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/enterprise-server@3.6/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ - created?: string; + created?: components["parameters"]["created"]; /** @description If `true` pull requests are omitted from the response (empty array). */ - exclude_pull_requests?: boolean; + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; /** @description Returns workflow runs with the `check_suite_id` that you specify. */ - check_suite_id?: number; + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -23814,1827 +10065,13 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { "application/json": { total_count: number; - workflow_runs: { - /** @description The ID of the workflow run. - @example 5 */ - id: number; - /** @description The name of the workflow run. - @example Build */ - name?: string | null; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** @description The ID of the associated check suite. - @example 42 */ - check_suite_id?: number; - /** @description The node ID of the associated check suite. - @example MDEwOkNoZWNrU3VpdGU0Mg== */ - check_suite_node_id?: string; - /** @example master */ - head_branch: string | null; - /** @description The SHA of the head commit that points to the version of the workflow being run. - @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ - head_sha: string; - /** @description The full path of the workflow - @example octocat/octo-repo/.github/workflows/ci.yml@main */ - path: string; - /** @description The auto incrementing run number for the workflow run. - @example 106 */ - run_number: number; - /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. - @example 1 */ - run_attempt?: number; - referenced_workflows?: { - path: string; - sha: string; - ref?: string; - }[] | null; - /** @example push */ - event: string; - /** @example completed */ - status: string | null; - /** @example neutral */ - conclusion: string | null; - /** @description The ID of the parent workflow. - @example 5 */ - workflow_id: number; - /** @description The URL to the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ - url: string; - /** @example https://github.com/github/hello-world/suites/4 */ - html_url: string; - pull_requests: { - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - base: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - }[] | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Simple User - @description Simple User */ - actor?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** Simple User - @description Simple User */ - triggering_actor?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** Format: date-time - @description The start time of the latest run. Resets on re-run. */ - run_started_at?: string; - /** @description The URL to the jobs for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs */ - jobs_url: string; - /** @description The URL to download the logs for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs */ - logs_url: string; - /** @description The URL to the associated check suite. - @example https://api.github.com/repos/github/hello-world/check-suites/12 */ - check_suite_url: string; - /** @description The URL to the artifacts for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts */ - artifacts_url: string; - /** @description The URL to cancel the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel */ - cancel_url: string; - /** @description The URL to rerun the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun */ - rerun_url: string; - /** @description The URL to the previous attempted run of this workflow, if one exists. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 */ - previous_attempt_url?: string | null; - /** @description The URL to the workflow. - @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml */ - workflow_url: string; - /** Simple Commit - @description Simple Commit */ - head_commit: { - id: string; - tree_id: string; - message: string; - /** Format: date-time */ - timestamp: string; - author: { - name: string; - email: string; - } | null; - committer: { - name: string; - email: string; - } | null; - } | null; - /** Minimal Repository - @description Minimal Repository */ - repository: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - /** Minimal Repository - @description Minimal Repository */ - head_repository: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - /** @example 5 */ - head_repository_id?: number; - }[]; + workflow_runs: components["schemas"]["workflow-run"][]; }; }; }; @@ -25644,16 +10081,16 @@ interface operations { parameters: { query?: { /** @description If `true` pull requests are omitted from the response (empty array). */ - exclude_pull_requests?: boolean; + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The unique identifier of the workflow run. */ - run_id: number; + run_id: components["parameters"]["run-id"]; }; cookie?: never; }; @@ -25665,1820 +10102,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The ID of the workflow run. - @example 5 */ - id: number; - /** @description The name of the workflow run. - @example Build */ - name?: string | null; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** @description The ID of the associated check suite. - @example 42 */ - check_suite_id?: number; - /** @description The node ID of the associated check suite. - @example MDEwOkNoZWNrU3VpdGU0Mg== */ - check_suite_node_id?: string; - /** @example master */ - head_branch: string | null; - /** @description The SHA of the head commit that points to the version of the workflow being run. - @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ - head_sha: string; - /** @description The full path of the workflow - @example octocat/octo-repo/.github/workflows/ci.yml@main */ - path: string; - /** @description The auto incrementing run number for the workflow run. - @example 106 */ - run_number: number; - /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. - @example 1 */ - run_attempt?: number; - referenced_workflows?: { - path: string; - sha: string; - ref?: string; - }[] | null; - /** @example push */ - event: string; - /** @example completed */ - status: string | null; - /** @example neutral */ - conclusion: string | null; - /** @description The ID of the parent workflow. - @example 5 */ - workflow_id: number; - /** @description The URL to the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ - url: string; - /** @example https://github.com/github/hello-world/suites/4 */ - html_url: string; - pull_requests: { - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - base: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - }[] | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Simple User - @description Simple User */ - actor?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** Simple User - @description Simple User */ - triggering_actor?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** Format: date-time - @description The start time of the latest run. Resets on re-run. */ - run_started_at?: string; - /** @description The URL to the jobs for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs */ - jobs_url: string; - /** @description The URL to download the logs for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs */ - logs_url: string; - /** @description The URL to the associated check suite. - @example https://api.github.com/repos/github/hello-world/check-suites/12 */ - check_suite_url: string; - /** @description The URL to the artifacts for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts */ - artifacts_url: string; - /** @description The URL to cancel the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel */ - cancel_url: string; - /** @description The URL to rerun the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun */ - rerun_url: string; - /** @description The URL to the previous attempted run of this workflow, if one exists. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 */ - previous_attempt_url?: string | null; - /** @description The URL to the workflow. - @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml */ - workflow_url: string; - /** Simple Commit - @description Simple Commit */ - head_commit: { - id: string; - tree_id: string; - message: string; - /** Format: date-time */ - timestamp: string; - author: { - name: string; - email: string; - } | null; - committer: { - name: string; - email: string; - } | null; - } | null; - /** Minimal Repository - @description Minimal Repository */ - repository: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - /** Minimal Repository - @description Minimal Repository */ - head_repository: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - /** @example 5 */ - head_repository_id?: number; - }; + "application/json": components["schemas"]["workflow-run"]; }; }; }; @@ -27487,18 +10111,18 @@ interface operations { parameters: { query?: { /** @description If `true` pull requests are omitted from the response (empty array). */ - exclude_pull_requests?: boolean; + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The unique identifier of the workflow run. */ - run_id: number; + run_id: components["parameters"]["run-id"]; /** @description The attempt number of the workflow run. */ - attempt_number: number; + attempt_number: components["parameters"]["attempt-number"]; }; cookie?: never; }; @@ -27510,1820 +10134,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The ID of the workflow run. - @example 5 */ - id: number; - /** @description The name of the workflow run. - @example Build */ - name?: string | null; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** @description The ID of the associated check suite. - @example 42 */ - check_suite_id?: number; - /** @description The node ID of the associated check suite. - @example MDEwOkNoZWNrU3VpdGU0Mg== */ - check_suite_node_id?: string; - /** @example master */ - head_branch: string | null; - /** @description The SHA of the head commit that points to the version of the workflow being run. - @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ - head_sha: string; - /** @description The full path of the workflow - @example octocat/octo-repo/.github/workflows/ci.yml@main */ - path: string; - /** @description The auto incrementing run number for the workflow run. - @example 106 */ - run_number: number; - /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. - @example 1 */ - run_attempt?: number; - referenced_workflows?: { - path: string; - sha: string; - ref?: string; - }[] | null; - /** @example push */ - event: string; - /** @example completed */ - status: string | null; - /** @example neutral */ - conclusion: string | null; - /** @description The ID of the parent workflow. - @example 5 */ - workflow_id: number; - /** @description The URL to the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ - url: string; - /** @example https://github.com/github/hello-world/suites/4 */ - html_url: string; - pull_requests: { - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - base: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - }[] | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Simple User - @description Simple User */ - actor?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** Simple User - @description Simple User */ - triggering_actor?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** Format: date-time - @description The start time of the latest run. Resets on re-run. */ - run_started_at?: string; - /** @description The URL to the jobs for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs */ - jobs_url: string; - /** @description The URL to download the logs for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs */ - logs_url: string; - /** @description The URL to the associated check suite. - @example https://api.github.com/repos/github/hello-world/check-suites/12 */ - check_suite_url: string; - /** @description The URL to the artifacts for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts */ - artifacts_url: string; - /** @description The URL to cancel the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel */ - cancel_url: string; - /** @description The URL to rerun the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun */ - rerun_url: string; - /** @description The URL to the previous attempted run of this workflow, if one exists. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 */ - previous_attempt_url?: string | null; - /** @description The URL to the workflow. - @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml */ - workflow_url: string; - /** Simple Commit - @description Simple Commit */ - head_commit: { - id: string; - tree_id: string; - message: string; - /** Format: date-time */ - timestamp: string; - author: { - name: string; - email: string; - } | null; - committer: { - name: string; - email: string; - } | null; - } | null; - /** Minimal Repository - @description Minimal Repository */ - repository: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - /** Minimal Repository - @description Minimal Repository */ - head_repository: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - /** @example 5 */ - head_repository_id?: number; - }; + "application/json": components["schemas"]["workflow-run"]; }; }; }; @@ -29332,32 +10143,32 @@ interface operations { parameters: { query?: { /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */ - actor?: string; + actor?: components["parameters"]["actor"]; /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */ - branch?: string; + branch?: components["parameters"]["workflow-run-branch"]; /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */ - event?: string; + event?: components["parameters"]["event"]; /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. */ - status?: "completed" | "action_required" | "cancelled" | "failure" | "neutral" | "skipped" | "stale" | "success" | "timed_out" | "in_progress" | "queued" | "requested" | "waiting"; + status?: components["parameters"]["workflow-run-status"]; /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/enterprise-server@3.6/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */ - created?: string; + created?: components["parameters"]["created"]; /** @description If `true` pull requests are omitted from the response (empty array). */ - exclude_pull_requests?: boolean; + exclude_pull_requests?: components["parameters"]["exclude-pull-requests"]; /** @description Returns workflow runs with the `check_suite_id` that you specify. */ - check_suite_id?: number; + check_suite_id?: components["parameters"]["workflow-run-check-suite-id"]; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The ID of the workflow. You can also pass the workflow file name as a string. */ - workflow_id: number | string; + workflow_id: components["parameters"]["workflow-id"]; }; cookie?: never; }; @@ -29366,1827 +10177,13 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { "application/json": { total_count: number; - workflow_runs: { - /** @description The ID of the workflow run. - @example 5 */ - id: number; - /** @description The name of the workflow run. - @example Build */ - name?: string | null; - /** @example MDEwOkNoZWNrU3VpdGU1 */ - node_id: string; - /** @description The ID of the associated check suite. - @example 42 */ - check_suite_id?: number; - /** @description The node ID of the associated check suite. - @example MDEwOkNoZWNrU3VpdGU0Mg== */ - check_suite_node_id?: string; - /** @example master */ - head_branch: string | null; - /** @description The SHA of the head commit that points to the version of the workflow being run. - @example 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d */ - head_sha: string; - /** @description The full path of the workflow - @example octocat/octo-repo/.github/workflows/ci.yml@main */ - path: string; - /** @description The auto incrementing run number for the workflow run. - @example 106 */ - run_number: number; - /** @description Attempt number of the run, 1 for first attempt and higher if the workflow was re-run. - @example 1 */ - run_attempt?: number; - referenced_workflows?: { - path: string; - sha: string; - ref?: string; - }[] | null; - /** @example push */ - event: string; - /** @example completed */ - status: string | null; - /** @example neutral */ - conclusion: string | null; - /** @description The ID of the parent workflow. - @example 5 */ - workflow_id: number; - /** @description The URL to the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5 */ - url: string; - /** @example https://github.com/github/hello-world/suites/4 */ - html_url: string; - pull_requests: { - id: number; - number: number; - url: string; - head: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - base: { - ref: string; - sha: string; - repo: { - id: number; - url: string; - name: string; - }; - }; - }[] | null; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Simple User - @description Simple User */ - actor?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** Simple User - @description Simple User */ - triggering_actor?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** Format: date-time - @description The start time of the latest run. Resets on re-run. */ - run_started_at?: string; - /** @description The URL to the jobs for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/jobs */ - jobs_url: string; - /** @description The URL to download the logs for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/logs */ - logs_url: string; - /** @description The URL to the associated check suite. - @example https://api.github.com/repos/github/hello-world/check-suites/12 */ - check_suite_url: string; - /** @description The URL to the artifacts for the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun/artifacts */ - artifacts_url: string; - /** @description The URL to cancel the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/cancel */ - cancel_url: string; - /** @description The URL to rerun the workflow run. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/rerun */ - rerun_url: string; - /** @description The URL to the previous attempted run of this workflow, if one exists. - @example https://api.github.com/repos/github/hello-world/actions/runs/5/attempts/3 */ - previous_attempt_url?: string | null; - /** @description The URL to the workflow. - @example https://api.github.com/repos/github/hello-world/actions/workflows/main.yaml */ - workflow_url: string; - /** Simple Commit - @description Simple Commit */ - head_commit: { - id: string; - tree_id: string; - message: string; - /** Format: date-time */ - timestamp: string; - author: { - name: string; - email: string; - } | null; - committer: { - name: string; - email: string; - } | null; - } | null; - /** Minimal Repository - @description Minimal Repository */ - repository: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - /** Minimal Repository - @description Minimal Repository */ - head_repository: { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }; - /** @example 5 */ - head_repository_id?: number; - }[]; + workflow_runs: components["schemas"]["workflow-run"][]; }; }; }; @@ -31196,14 +10193,14 @@ interface operations { parameters: { query?: { /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -31215,16 +10212,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @example 3 */ - id: number; - /** @description The prefix of a key that is linkified. - @example TICKET- */ - key_prefix: string; - /** @description A template for the target URL that is generated if a key was found. - @example https://example.com/TICKET?query= */ - url_template: string; - }[]; + "application/json": components["schemas"]["autolink"][]; }; }; }; @@ -31235,9 +10223,9 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -31248,8 +10236,10 @@ interface operations { key_prefix: string; /** @description The URL must contain `` for the reference number. */ url_template: string; - /** @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. - @default true */ + /** + * @description Whether this autolink reference matches alphanumeric characters. If true, the `` parameter of the `url_template` matches alphanumeric characters `A-Z` (case insensitive), `0-9`, and `-`. If false, this autolink reference only matches numeric characters. + * @default true + */ is_alphanumeric: boolean; }; }; @@ -31263,38 +10253,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @example 3 */ - id: number; - /** @description The prefix of a key that is linkified. - @example TICKET- */ - key_prefix: string; - /** @description A template for the target URL that is generated if a key was found. - @example https://example.com/TICKET?query= */ - url_template: string; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["autolink"]; }; }; + 422: components["responses"]["validation_failed"]; }; }; "repos/get-autolink": { @@ -31303,11 +10265,11 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The unique identifier of the autolink. */ - autolink_id: number; + autolink_id: components["parameters"]["autolink-id"]; }; cookie?: never; }; @@ -31319,152 +10281,51 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @example 3 */ - id: number; - /** @description The prefix of a key that is linkified. - @example TICKET- */ - key_prefix: string; - /** @description A template for the target URL that is generated if a key was found. - @example https://example.com/TICKET?query= */ - url_template: string; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["autolink"]; }; }; + 404: components["responses"]["not_found"]; }; }; "code-scanning/list-recent-analyses": { parameters: { query?: { /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */ - tool_name?: string; + tool_name?: components["parameters"]["tool-name"]; /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */ - tool_guid?: string | null; + tool_guid?: components["parameters"]["tool-guid"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description The Git reference for the analyses you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */ - ref?: string; - /** @description Filter analyses belonging to the same SARIF upload. */ - sarif_id?: string; - }; - header?: never; - path: { - /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; - /** @description The name of the repository. The name is not case sensitive. */ - repo: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - /** @description The full Git reference, formatted as `refs/heads/`, - `refs/pull//merge`, or `refs/pull//head`. */ - ref: string; - /** @description The SHA of the commit to which the analysis you are uploading relates. */ - commit_sha: string; - /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */ - analysis_key: string; - /** @description Identifies the variable values associated with the environment in which this analysis was performed. */ - environment: string; - /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */ - category?: string; - /** @example error reading field xyz */ - error: string; - /** Format: date-time - @description The time that the analysis was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly created_at: string; - /** @description The total number of results in the analysis. */ - results_count: number; - /** @description The total number of rules used in the analysis. */ - rules_count: number; - /** @description Unique identifier for this analysis. */ - id: number; - /** Format: uri - @description The REST API URL of the analysis resource. */ - readonly url: string; - /** @description An identifier for the upload. - @example 6c81cd8e-b078-4ac3-a3be-1dad7dbd0b53 */ - sarif_id: string; - tool: { - /** @description The name of the tool used to generate the code scanning analysis. */ - name?: string; - /** @description The version of the tool used to generate the code scanning analysis. */ - version?: string | null; - /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */ - guid?: string | null; - }; - deletable: boolean; - /** @description Warning generated when processing the analysis - @example 123 results were ignored */ - warning: string; - }[]; - }; - }; - /** @description Response if GitHub Advanced Security is not enabled for this repository */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; + ref?: components["schemas"]["code-scanning-ref"]; + /** @description Filter analyses belonging to the same SARIF upload. */ + sarif_id?: components["schemas"]["code-scanning-analysis-sarif-id"]; }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; + header?: never; + path: { + /** @description The account owner of the repository. The name is not case sensitive. */ + owner: components["parameters"]["owner"]; + /** @description The name of the repository. The name is not case sensitive. */ + repo: components["parameters"]["repo"]; }; - /** @description Service unavailable */ - 503: { + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Response */ + 200: { headers: { [name: string]: unknown; }; content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - }; + "application/json": components["schemas"]["code-scanning-analysis"][]; }; }; + 403: components["responses"]["code_scanning_forbidden_read"]; + 404: components["responses"]["not_found"]; + 503: components["responses"]["service_unavailable"]; }; }; "repos/list-collaborators": { @@ -31475,16 +10336,16 @@ interface operations { /** @description Filter collaborators by the permissions they have on the repository. If not specified, all collaborators will be returned. */ permission?: "pull" | "triage" | "push" | "maintain" | "admin"; /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -31493,83 +10354,14 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; - [name: string]: unknown; - }; - content: { - "application/json": { - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - email?: string | null; - name?: string | null; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - permissions?: { - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - admin: boolean; - }; - /** @example admin */ - role_name?: string; - }[]; - }; - }; - /** @description Resource not found */ - 404: { - headers: { + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["collaborator"][]; }; }; + 404: components["responses"]["not_found"]; }; }; "repos/get-collaborator-permission-level": { @@ -31578,11 +10370,11 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; @@ -31594,99 +10386,24 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - permission: string; - /** @example admin */ - role_name: string; - /** Collaborator - @description Collaborator */ - user: { - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - email?: string | null; - name?: string | null; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - permissions?: { - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - admin: boolean; - }; - /** @example admin */ - role_name?: string; - } | null; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["repository-collaborator-permission"]; }; }; + 404: components["responses"]["not_found"]; }; }; "dependency-graph/diff-range": { parameters: { query?: { /** @description The full path, relative to the repository root, of the dependency manifest file. */ - name?: string; + name?: components["parameters"]["manifest-path"]; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The base and head Git revisions to compare. The Git revisions will be resolved to commit SHAs. Named revisions will be resolved to their corresponding HEAD commits, and an appropriate merge base will be determined. This parameter expects the format `{base}...{head}`. */ basehead: string; }; @@ -31697,69 +10414,15 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; - [name: string]: unknown; - }; - content: { - "application/json": { - /** @enum {string} */ - change_type: "added" | "removed"; - /** @example path/to/package-lock.json */ - manifest: string; - /** @example npm */ - ecosystem: string; - /** @example @actions/core */ - name: string; - /** @example 1.0.0 */ - version: string; - /** @example pkg:/npm/%40actions/core@1.1.0 */ - package_url: string | null; - /** @example MIT */ - license: string | null; - /** @example https://github.com/github/actions */ - source_repository_url: string | null; - vulnerabilities: { - /** @example critical */ - severity: string; - /** @example GHSA-rf4j-j272-fj86 */ - advisory_ghsa_id: string; - /** @example A summary of the advisory. */ - advisory_summary: string; - /** @example https://github.com/advisories/GHSA-rf4j-j272-fj86 */ - advisory_url: string; - }[]; - }[]; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["dependency-graph-diff"]; }; }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; "repos/create-fork": { @@ -31768,9 +10431,9 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -31789,1995 +10452,13 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @example true */ - is_template?: boolean; - /** @example [ - "octocat", - "atom", - "electron", - "API" - ] */ - topics?: string[]; - /** @example true */ - has_issues: boolean; - /** @example true */ - has_projects: boolean; - /** @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @example true */ - has_downloads: boolean; - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @example public */ - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string; - permissions?: { - admin: boolean; - maintain?: boolean; - push: boolean; - triage?: boolean; - pull: boolean; - }; - /** @example true */ - allow_rebase_merge?: boolean; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string | null; - /** @example true */ - allow_squash_merge?: boolean; - /** @example false */ - allow_auto_merge?: boolean; - /** @example false */ - delete_branch_on_merge?: boolean; - /** @example true */ - allow_merge_commit?: boolean; - /** @example true */ - allow_update_branch?: boolean; - /** @example false */ - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @example PR_TITLE - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @example PR_BODY - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @example PR_TITLE - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @example PR_BODY - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @example true */ - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - /** @example 42 */ - subscribers_count: number; - /** @example 0 */ - network_count: number; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Repository - @description A git repository */ - parent?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; - /** Repository - @description A git repository */ - source?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - }; - forks: number; - master_branch?: string; - open_issues: number; - watchers: number; - /** @description Whether anonymous git access is allowed. - @default true */ - anonymous_access_enabled: boolean; - /** Code Of Conduct Simple - @description Code of Conduct Simple */ - code_of_conduct?: { - /** Format: uri - @example https://api.github.com/repos/github/docs/community/code_of_conduct */ - url: string; - /** @example citizen_code_of_conduct */ - key: string; - /** @example Citizen Code of Conduct */ - name: string; - /** Format: uri - @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md */ - html_url: string | null; - }; - security_and_analysis?: { - advanced_security?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - secret_scanning_push_protection?: { - /** @enum {string} */ - status?: "enabled" | "disabled"; - }; - } | null; - }; - }; - }; - /** @description Bad Request */ - 400: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - "application/scim+json": { - message?: string | null; - documentation_url?: string | null; - detail?: string | null; - status?: number; - scimType?: string | null; - schemas?: string[]; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["full-repository"]; }; }; + 400: components["responses"]["bad_request"]; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; + 422: components["responses"]["validation_failed"]; }; }; "apps/get-repo-installation": { @@ -33786,9 +10467,9 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -33800,323 +10481,27 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The ID of the installation. - @example 1 */ - id: number; - account: ({ - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | { - /** @description A short description of the enterprise. */ - description?: string | null; - /** Format: uri - @example https://github.com/enterprises/octo-business */ - html_url: string; - /** Format: uri - @description The enterprise's website URL. */ - website_url?: string | null; - /** @description Unique identifier of the enterprise - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the enterprise. - @example Octo Business */ - name: string; - /** @description The slug url identifier for the enterprise. - @example octo-business */ - slug: string; - /** Format: date-time - @example 2019-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2019-01-26T19:14:43Z */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }) | null; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** Format: uri - @example https://api.github.com/installations/1/access_tokens */ - access_tokens_url: string; - /** Format: uri - @example https://api.github.com/installation/repositories */ - repositories_url: string; - /** Format: uri - @example https://github.com/organizations/github/settings/installations/1 */ - html_url: string; - /** @example 1 */ - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - /** @example Organization */ - target_type: string; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** @example github-actions */ - app_slug: string; - /** Simple User - @description Simple User */ - suspended_by: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time */ - suspended_at: string | null; - /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ - contact_email?: string | null; - }; - }; - }; - /** @description Moved permanently */ - 301: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["installation"]; }; }; + 301: components["responses"]["moved_permanently"]; + 404: components["responses"]["not_found"]; }; }; "repos/list-deploy-keys": { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -34125,20 +10510,11 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - id: number; - key: string; - url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; - }[]; + "application/json": components["schemas"]["deploy-key"][]; }; }; }; @@ -34149,9 +10525,9 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -34163,8 +10539,8 @@ interface operations { /** @description The contents of the key. */ key: string; /** @description If `true`, the key will only be able to read repository contents. Otherwise, the key will be able to read and write. - - Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." */ + * + * Deploy keys with write access can perform the same actions as an organization member with admin access, or a collaborator on a personal repository. For more information, see "[Repository permission levels for an organization](https://docs.github.com/articles/repository-permission-levels-for-an-organization/)" and "[Permission levels for a user account repository](https://docs.github.com/articles/permission-levels-for-a-user-account-repository/)." */ read_only?: boolean; }; }; @@ -34178,37 +10554,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - key: string; - url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["deploy-key"]; }; }; + 422: components["responses"]["validation_failed"]; }; }; "repos/get-deploy-key": { @@ -34217,11 +10566,11 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The unique identifier of the key. */ - key_id: number; + key_id: components["parameters"]["key-id"]; }; cookie?: never; }; @@ -34233,50 +10582,29 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id: number; - key: string; - url: string; - title: string; - verified: boolean; - created_at: string; - read_only: boolean; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["deploy-key"]; }; }; + 404: components["responses"]["not_found"]; }; }; "enterprise-admin/list-pre-receive-hooks-for-repo": { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; + direction?: components["parameters"]["direction"]; sort?: "created" | "updated" | "name"; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -34288,12 +10616,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - configuration_url?: string; - }[]; + "application/json": components["schemas"]["repository-pre-receive-hook"][]; }; }; }; @@ -34304,11 +10627,11 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The unique identifier of the pre-receive hook. */ - pre_receive_hook_id: number; + pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; }; cookie?: never; }; @@ -34320,12 +10643,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - configuration_url?: string; - }; + "application/json": components["schemas"]["repository-pre-receive-hook"]; }; }; }; @@ -34336,11 +10654,11 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The unique identifier of the pre-receive hook. */ - pre_receive_hook_id: number; + pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; }; cookie?: never; }; @@ -34352,12 +10670,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - configuration_url?: string; - }; + "application/json": components["schemas"]["repository-pre-receive-hook"]; }; }; }; @@ -34368,19 +10681,21 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The unique identifier of the pre-receive hook. */ - pre_receive_hook_id: number; + pre_receive_hook_id: components["parameters"]["pre-receive-hook-id"]; }; cookie?: never; }; requestBody?: { content: { "application/json": { - /** @description The state of enforcement for the hook on this repository. - @enum {string} */ + /** + * @description The state of enforcement for the hook on this repository. + * @enum {string} + */ enforcement?: "enabled" | "disabled" | "testing"; }; }; @@ -34392,12 +10707,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - id?: number; - name?: string; - enforcement?: string; - configuration_url?: string; - }; + "application/json": components["schemas"]["repository-pre-receive-hook"]; }; }; }; @@ -34406,16 +10716,16 @@ interface operations { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -34424,201 +10734,14 @@ interface operations { /** @description Response */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; - [name: string]: unknown; - }; - content: { - "application/json": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - assets_url: string; - upload_url: string; - /** Format: uri */ - tarball_url: string | null; - /** Format: uri */ - zipball_url: string | null; - id: number; - node_id: string; - /** @description The name of the tag. - @example v1.0.0 */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. - @example master */ - target_commitish: string; - name: string | null; - body?: string | null; - /** @description true to create a draft (unpublished) release, false to create a published one. - @example false */ - draft: boolean; - /** @description Whether to identify the release as a prerelease or a full release. - @example false */ - prerelease: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - published_at: string | null; - /** Simple User - @description Simple User */ - author: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - assets: { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; - id: number; - node_id: string; - /** @description The file name of the asset. - @example Team Environment */ - name: string; - label: string | null; - /** @description State of the release asset. - @enum {string} */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Simple User - @description Simple User */ - uploader: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - }[]; - body_html?: string; - body_text?: string; - mentions_count?: number; - /** Reaction Rollup */ - reactions?: { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - -1: number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; - }[]; - }; - }; - /** @description Resource not found */ - 404: { - headers: { + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["release"][]; }; }; + 404: components["responses"]["not_found"]; }; }; "repos/create-release": { @@ -34627,9 +10750,9 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -34644,14 +10767,20 @@ interface operations { name?: string; /** @description Text describing the contents of the tag. */ body?: string; - /** @description `true` to create a draft (unpublished) release, `false` to create a published one. - @default false */ + /** + * @description `true` to create a draft (unpublished) release, `false` to create a published one. + * @default false + */ draft: boolean; - /** @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. - @default false */ + /** + * @description `true` to identify the release as a prerelease. `false` to identify the release as a full release. + * @default false + */ prerelease: boolean; - /** @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. - @default false */ + /** + * @description Whether to automatically generate the name and body for this release. If `name` is specified, the specified name will be used; otherwise, a name will be automatically generated. If `body` is specified, the body will be pre-pended to the automatically generated notes. + * @default false + */ generate_release_notes: boolean; }; }; @@ -34665,202 +10794,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - assets_url: string; - upload_url: string; - /** Format: uri */ - tarball_url: string | null; - /** Format: uri */ - zipball_url: string | null; - id: number; - node_id: string; - /** @description The name of the tag. - @example v1.0.0 */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. - @example master */ - target_commitish: string; - name: string | null; - body?: string | null; - /** @description true to create a draft (unpublished) release, false to create a published one. - @example false */ - draft: boolean; - /** @description Whether to identify the release as a prerelease or a full release. - @example false */ - prerelease: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - published_at: string | null; - /** Simple User - @description Simple User */ - author: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - assets: { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; - id: number; - node_id: string; - /** @description The file name of the asset. - @example Team Environment */ - name: string; - label: string | null; - /** @description State of the release asset. - @enum {string} */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Simple User - @description Simple User */ - uploader: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - }[]; - body_html?: string; - body_text?: string; - mentions_count?: number; - /** Reaction Rollup */ - reactions?: { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - -1: number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; - }; - }; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["release"]; }; }; + 422: components["responses"]["validation_failed"]; }; }; "repos/get-latest-release": { @@ -34869,9 +10806,9 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -34883,180 +10820,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - assets_url: string; - upload_url: string; - /** Format: uri */ - tarball_url: string | null; - /** Format: uri */ - zipball_url: string | null; - id: number; - node_id: string; - /** @description The name of the tag. - @example v1.0.0 */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. - @example master */ - target_commitish: string; - name: string | null; - body?: string | null; - /** @description true to create a draft (unpublished) release, false to create a published one. - @example false */ - draft: boolean; - /** @description Whether to identify the release as a prerelease or a full release. - @example false */ - prerelease: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - published_at: string | null; - /** Simple User - @description Simple User */ - author: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - assets: { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; - id: number; - node_id: string; - /** @description The file name of the asset. - @example Team Environment */ - name: string; - label: string | null; - /** @description State of the release asset. - @enum {string} */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Simple User - @description Simple User */ - uploader: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - }[]; - body_html?: string; - body_text?: string; - mentions_count?: number; - /** Reaction Rollup */ - reactions?: { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - -1: number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; - }; + "application/json": components["schemas"]["release"]; }; }; }; @@ -35067,9 +10831,9 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description tag parameter */ tag: string; }; @@ -35083,196 +10847,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - assets_url: string; - upload_url: string; - /** Format: uri */ - tarball_url: string | null; - /** Format: uri */ - zipball_url: string | null; - id: number; - node_id: string; - /** @description The name of the tag. - @example v1.0.0 */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. - @example master */ - target_commitish: string; - name: string | null; - body?: string | null; - /** @description true to create a draft (unpublished) release, false to create a published one. - @example false */ - draft: boolean; - /** @description Whether to identify the release as a prerelease or a full release. - @example false */ - prerelease: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - published_at: string | null; - /** Simple User - @description Simple User */ - author: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - assets: { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; - id: number; - node_id: string; - /** @description The file name of the asset. - @example Team Environment */ - name: string; - label: string | null; - /** @description State of the release asset. - @enum {string} */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Simple User - @description Simple User */ - uploader: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - }[]; - body_html?: string; - body_text?: string; - mentions_count?: number; - /** Reaction Rollup */ - reactions?: { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - -1: number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["release"]; }; }; + 404: components["responses"]["not_found"]; }; }; "repos/get-release": { @@ -35281,11 +10859,11 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The unique identifier of the release. */ - release_id: number; + release_id: components["parameters"]["release-id"]; }; cookie?: never; }; @@ -35297,196 +10875,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - assets_url: string; - upload_url: string; - /** Format: uri */ - tarball_url: string | null; - /** Format: uri */ - zipball_url: string | null; - id: number; - node_id: string; - /** @description The name of the tag. - @example v1.0.0 */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. - @example master */ - target_commitish: string; - name: string | null; - body?: string | null; - /** @description true to create a draft (unpublished) release, false to create a published one. - @example false */ - draft: boolean; - /** @description Whether to identify the release as a prerelease or a full release. - @example false */ - prerelease: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - published_at: string | null; - /** Simple User - @description Simple User */ - author: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - assets: { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; - id: number; - node_id: string; - /** @description The file name of the asset. - @example Team Environment */ - name: string; - label: string | null; - /** @description State of the release asset. - @enum {string} */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Simple User - @description Simple User */ - uploader: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - }[]; - body_html?: string; - body_text?: string; - mentions_count?: number; - /** Reaction Rollup */ - reactions?: { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - -1: number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; + "application/json": components["schemas"]["release"]; }; }; + 404: components["responses"]["not_found"]; }; }; "repos/update-release": { @@ -35495,11 +10887,11 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The unique identifier of the release. */ - release_id: number; + release_id: components["parameters"]["release-id"]; }; cookie?: never; }; @@ -35528,180 +10920,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** Format: uri */ - url: string; - /** Format: uri */ - html_url: string; - /** Format: uri */ - assets_url: string; - upload_url: string; - /** Format: uri */ - tarball_url: string | null; - /** Format: uri */ - zipball_url: string | null; - id: number; - node_id: string; - /** @description The name of the tag. - @example v1.0.0 */ - tag_name: string; - /** @description Specifies the commitish value that determines where the Git tag is created from. - @example master */ - target_commitish: string; - name: string | null; - body?: string | null; - /** @description true to create a draft (unpublished) release, false to create a published one. - @example false */ - draft: boolean; - /** @description Whether to identify the release as a prerelease or a full release. - @example false */ - prerelease: boolean; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - published_at: string | null; - /** Simple User - @description Simple User */ - author: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - assets: { - /** Format: uri */ - url: string; - /** Format: uri */ - browser_download_url: string; - id: number; - node_id: string; - /** @description The file name of the asset. - @example Team Environment */ - name: string; - label: string | null; - /** @description State of the release asset. - @enum {string} */ - state: "uploaded" | "open"; - content_type: string; - size: number; - download_count: number; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** Simple User - @description Simple User */ - uploader: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - }[]; - body_html?: string; - body_text?: string; - mentions_count?: number; - /** Reaction Rollup */ - reactions?: { - /** Format: uri */ - url: string; - total_count: number; - "+1": number; - -1: number; - laugh: number; - confused: number; - heart: number; - hooray: number; - eyes: number; - rocket: number; - }; - }; + "application/json": components["schemas"]["release"]; }; }; }; @@ -35710,16 +10929,16 @@ interface operations { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -35728,8 +10947,7 @@ interface operations { /** @description Status information for cache replicas */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { @@ -35745,62 +10963,36 @@ interface operations { }[]; }; }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Resource not found */ - 404: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; + 403: components["responses"]["forbidden"]; + 404: components["responses"]["not_found"]; }; }; "secret-scanning/list-alerts-for-repo": { parameters: { query?: { /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */ - state?: "open" | "resolved"; + state?: components["parameters"]["secret-scanning-alert-state"]; /** @description A comma-separated list of secret types to return. By default all secret types are returned. - See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" - for a complete list of secret types. */ - secret_type?: string; + * See "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)" + * for a complete list of secret types. */ + secret_type?: components["parameters"]["secret-scanning-alert-secret-type"]; /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */ - resolution?: string; + resolution?: components["parameters"]["secret-scanning-alert-resolution"]; /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */ - sort?: "created" | "updated"; + sort?: components["parameters"]["secret-scanning-alert-sort"]; /** @description The direction to sort the results by. */ - direction?: "asc" | "desc"; + direction?: components["parameters"]["direction"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; }; header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; }; cookie?: never; }; @@ -35812,148 +11004,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The security alert number. */ - readonly number?: number; - /** Format: date-time - @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly created_at?: string; - /** Format: date-time - @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly updated_at?: string; - /** Format: uri - @description The REST API URL of the alert resource. */ - readonly url?: string; - /** Format: uri - @description The GitHub URL of the alert resource. */ - readonly html_url?: string; - /** Format: uri - @description The REST API URL of the code locations for this alert. */ - locations_url?: string; - /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - @enum {string} */ - state?: "open" | "resolved"; - /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - @enum {string|null} */ - resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; - /** Format: date-time - @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - resolved_at?: string | null; - /** Simple User - @description Simple User */ - resolved_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** @description User-friendly name for the detected secret, matching the `secret_type`. - For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - /** Simple User - @description Simple User */ - push_protection_bypassed_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time - @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - push_protection_bypassed_at?: string | null; - }[]; + "application/json": components["schemas"]["secret-scanning-alert"][]; }; }; /** @description Repository is public or secret scanning is disabled for the repository */ @@ -35963,19 +11014,7 @@ interface operations { }; content?: never; }; - /** @description Service unavailable */ - 503: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - }; - }; - }; + 503: components["responses"]["service_unavailable"]; }; }; "secret-scanning/get-alert": { @@ -35984,11 +11023,11 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ - alert_number: number; + alert_number: components["parameters"]["alert-number"]; }; cookie?: never; }; @@ -36000,157 +11039,10 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The security alert number. */ - readonly number?: number; - /** Format: date-time - @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly created_at?: string; - /** Format: date-time - @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly updated_at?: string; - /** Format: uri - @description The REST API URL of the alert resource. */ - readonly url?: string; - /** Format: uri - @description The GitHub URL of the alert resource. */ - readonly html_url?: string; - /** Format: uri - @description The REST API URL of the code locations for this alert. */ - locations_url?: string; - /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - @enum {string} */ - state?: "open" | "resolved"; - /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - @enum {string|null} */ - resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; - /** Format: date-time - @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - resolved_at?: string | null; - /** Simple User - @description Simple User */ - resolved_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** @description User-friendly name for the detected secret, matching the `secret_type`. - For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - /** Simple User - @description Simple User */ - push_protection_bypassed_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time - @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - push_protection_bypassed_at?: string | null; - }; - }; - }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; + "application/json": components["schemas"]["secret-scanning-alert"]; }; - content?: never; }; + 304: components["responses"]["not_modified"]; /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ 404: { headers: { @@ -36158,19 +11050,7 @@ interface operations { }; content?: never; }; - /** @description Service unavailable */ - 503: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - }; - }; - }; + 503: components["responses"]["service_unavailable"]; }; }; "secret-scanning/update-alert": { @@ -36179,23 +11059,19 @@ interface operations { header?: never; path: { /** @description The account owner of the repository. The name is not case sensitive. */ - owner: string; + owner: components["parameters"]["owner"]; /** @description The name of the repository. The name is not case sensitive. */ - repo: string; + repo: components["parameters"]["repo"]; /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */ - alert_number: number; + alert_number: components["parameters"]["alert-number"]; }; cookie?: never; }; requestBody: { content: { "application/json": { - /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - @enum {string} */ - state: "open" | "resolved"; - /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - @enum {string|null} */ - resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; + state: components["schemas"]["secret-scanning-alert-state"]; + resolution?: components["schemas"]["secret-scanning-alert-resolution"]; }; }; }; @@ -36206,148 +11082,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The security alert number. */ - readonly number?: number; - /** Format: date-time - @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly created_at?: string; - /** Format: date-time - @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - readonly updated_at?: string; - /** Format: uri - @description The REST API URL of the alert resource. */ - readonly url?: string; - /** Format: uri - @description The GitHub URL of the alert resource. */ - readonly html_url?: string; - /** Format: uri - @description The REST API URL of the code locations for this alert. */ - locations_url?: string; - /** @description Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. - @enum {string} */ - state?: "open" | "resolved"; - /** @description **Required when the `state` is `resolved`.** The reason for resolving the alert. - @enum {string|null} */ - resolution?: null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests"; - /** Format: date-time - @description The time that the alert was resolved in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - resolved_at?: string | null; - /** Simple User - @description Simple User */ - resolved_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** @description The type of secret that secret scanning detected. */ - secret_type?: string; - /** @description User-friendly name for the detected secret, matching the `secret_type`. - For a list of built-in patterns, see "[Secret scanning patterns](https://docs.github.com/enterprise-server@3.6/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)." */ - secret_type_display_name?: string; - /** @description The secret that was detected. */ - secret?: string; - /** @description Whether push protection was bypassed for the detected secret. */ - push_protection_bypassed?: boolean | null; - /** Simple User - @description Simple User */ - push_protection_bypassed_by?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time - @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. */ - push_protection_bypassed_at?: string | null; - }; + "application/json": components["schemas"]["secret-scanning-alert"]; }; }; /** @description Repository is public, or secret scanning is disabled for the repository, or the resource is not found */ @@ -36364,26 +11099,14 @@ interface operations { }; content?: never; }; - /** @description Service unavailable */ - 503: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - code?: string; - message?: string; - documentation_url?: string; - }; - }; - }; + 503: components["responses"]["service_unavailable"]; }; }; "repos/list-public": { parameters: { query?: { /** @description A repository ID. Only return repositories with an ID greater than this ID. */ - since?: number; + since?: components["parameters"]["since-repo"]; /** @description Specifies the types of repositories to return. This endpoint will only list repositories available to all users on the enterprise. */ visibility?: "all" | "public"; }; @@ -36401,837 +11124,20 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @example 1296269 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @example Hello-World */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - git_url?: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - ssh_url?: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - clone_url?: string; - mirror_url?: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - svn_url?: string; - homepage?: string | null; - language?: string | null; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */ - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at?: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at?: string | null; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - /** @example admin */ - role_name?: string; - /** Repository - @description A git repository */ - template_repository?: { - /** @description Unique identifier of the repository - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the repository. - @example Team Environment */ - name: string; - /** @example octocat/Hello-World */ - full_name: string; - /** License Simple - @description License Simple */ - license: { - /** @example mit */ - key: string; - /** @example MIT License */ - name: string; - /** Format: uri - @example https://api.github.com/licenses/mit */ - url: string | null; - /** @example MIT */ - spdx_id: string | null; - /** @example MDc6TGljZW5zZW1pdA== */ - node_id: string; - /** Format: uri */ - html_url?: string; - } | null; - /** Simple User - @description Simple User */ - organization?: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - forks: number; - permissions?: { - admin: boolean; - pull: boolean; - triage?: boolean; - push: boolean; - maintain?: boolean; - }; - /** Simple User - @description Simple User */ - owner: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - }; - /** @description Whether the repository is private or public. - @default false */ - private: boolean; - /** Format: uri - @example https://github.com/octocat/Hello-World */ - html_url: string; - /** @example This your first repo! */ - description: string | null; - fork: boolean; - /** Format: uri - @example https://api.github.com/repos/octocat/Hello-World */ - url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */ - archive_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */ - assignees_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */ - blobs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */ - branches_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */ - collaborators_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */ - comments_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */ - commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */ - compare_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */ - contents_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/contributors */ - contributors_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/deployments */ - deployments_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/downloads */ - downloads_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/events */ - events_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/forks */ - forks_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */ - git_commits_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */ - git_refs_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */ - git_tags_url: string; - /** @example git:github.com/octocat/Hello-World.git */ - git_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */ - issue_comment_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */ - issue_events_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */ - issues_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */ - keys_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */ - labels_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/languages */ - languages_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/merges */ - merges_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */ - milestones_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */ - notifications_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */ - pulls_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */ - releases_url: string; - /** @example git@github.com:octocat/Hello-World.git */ - ssh_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/stargazers */ - stargazers_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */ - statuses_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscribers */ - subscribers_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/subscription */ - subscription_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/tags */ - tags_url: string; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/teams */ - teams_url: string; - /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */ - trees_url: string; - /** @example https://github.com/octocat/Hello-World.git */ - clone_url: string; - /** Format: uri - @example git:git.example.com/octocat/Hello-World */ - mirror_url: string | null; - /** Format: uri - @example http://api.github.com/repos/octocat/Hello-World/hooks */ - hooks_url: string; - /** Format: uri - @example https://svn.github.com/octocat/Hello-World */ - svn_url: string; - /** Format: uri - @example https://github.com */ - homepage: string | null; - language: string | null; - /** @example 9 */ - forks_count: number; - /** @example 80 */ - stargazers_count: number; - /** @example 80 */ - watchers_count: number; - /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. - @example 108 */ - size: number; - /** @description The default branch of the repository. - @example master */ - default_branch: string; - /** @example 0 */ - open_issues_count: number; - /** @description Whether this repository acts as a template that can be used to generate new repositories. - @default false - @example true */ - is_template: boolean; - topics?: string[]; - /** @description Whether issues are enabled. - @default true - @example true */ - has_issues: boolean; - /** @description Whether projects are enabled. - @default true - @example true */ - has_projects: boolean; - /** @description Whether the wiki is enabled. - @default true - @example true */ - has_wiki: boolean; - has_pages: boolean; - /** @description Whether downloads are enabled. - @default true - @example true */ - has_downloads: boolean; - /** @description Whether the repository is archived. - @default false */ - archived: boolean; - /** @description Returns whether or not this repository disabled. */ - disabled: boolean; - /** @description The repository visibility: public, private, or internal. - @default public */ - visibility: string; - /** Format: date-time - @example 2011-01-26T19:06:43Z */ - pushed_at: string | null; - /** Format: date-time - @example 2011-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2011-01-26T19:14:43Z */ - updated_at: string | null; - /** @description Whether to allow rebase merges for pull requests. - @default true - @example true */ - allow_rebase_merge: boolean; - template_repository?: { - id?: number; - node_id?: string; - name?: string; - full_name?: string; - owner?: { - login?: string; - id?: number; - node_id?: string; - avatar_url?: string; - gravatar_id?: string; - url?: string; - html_url?: string; - followers_url?: string; - following_url?: string; - gists_url?: string; - starred_url?: string; - subscriptions_url?: string; - organizations_url?: string; - repos_url?: string; - events_url?: string; - received_events_url?: string; - type?: string; - site_admin?: boolean; - }; - private?: boolean; - html_url?: string; - description?: string; - fork?: boolean; - url?: string; - archive_url?: string; - assignees_url?: string; - blobs_url?: string; - branches_url?: string; - collaborators_url?: string; - comments_url?: string; - commits_url?: string; - compare_url?: string; - contents_url?: string; - contributors_url?: string; - deployments_url?: string; - downloads_url?: string; - events_url?: string; - forks_url?: string; - git_commits_url?: string; - git_refs_url?: string; - git_tags_url?: string; - git_url?: string; - issue_comment_url?: string; - issue_events_url?: string; - issues_url?: string; - keys_url?: string; - labels_url?: string; - languages_url?: string; - merges_url?: string; - milestones_url?: string; - notifications_url?: string; - pulls_url?: string; - releases_url?: string; - ssh_url?: string; - stargazers_url?: string; - statuses_url?: string; - subscribers_url?: string; - subscription_url?: string; - tags_url?: string; - teams_url?: string; - trees_url?: string; - clone_url?: string; - mirror_url?: string; - hooks_url?: string; - svn_url?: string; - homepage?: string; - language?: string; - forks_count?: number; - stargazers_count?: number; - watchers_count?: number; - size?: number; - default_branch?: string; - open_issues_count?: number; - is_template?: boolean; - topics?: string[]; - has_issues?: boolean; - has_projects?: boolean; - has_wiki?: boolean; - has_pages?: boolean; - has_downloads?: boolean; - archived?: boolean; - disabled?: boolean; - visibility?: string; - pushed_at?: string; - created_at?: string; - updated_at?: string; - permissions?: { - admin?: boolean; - maintain?: boolean; - push?: boolean; - triage?: boolean; - pull?: boolean; - }; - allow_rebase_merge?: boolean; - temp_clone_token?: string; - allow_squash_merge?: boolean; - allow_auto_merge?: boolean; - delete_branch_on_merge?: boolean; - allow_update_branch?: boolean; - use_squash_pr_title_as_default?: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - allow_merge_commit?: boolean; - subscribers_count?: number; - network_count?: number; - } | null; - temp_clone_token?: string; - /** @description Whether to allow squash merges for pull requests. - @default true - @example true */ - allow_squash_merge: boolean; - /** @description Whether to allow Auto-merge to be used on pull requests. - @default false - @example false */ - allow_auto_merge: boolean; - /** @description Whether to delete head branches when pull requests are merged - @default false - @example false */ - delete_branch_on_merge: boolean; - /** @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging. - @default false - @example false */ - allow_update_branch: boolean; - /** @deprecated - @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. Please use `squash_merge_commit_title` instead. - @default false */ - use_squash_pr_title_as_default: boolean; - /** @description The default value for a squash merge commit title: - - - `PR_TITLE` - default to the pull request's title. - - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - @enum {string} */ - squash_merge_commit_title?: "PR_TITLE" | "COMMIT_OR_PR_TITLE"; - /** @description The default value for a squash merge commit message: - - - `PR_BODY` - default to the pull request's body. - - `COMMIT_MESSAGES` - default to the branch's commit messages. - - `BLANK` - default to a blank commit message. - @enum {string} */ - squash_merge_commit_message?: "PR_BODY" | "COMMIT_MESSAGES" | "BLANK"; - /** @description The default value for a merge commit title. - - - `PR_TITLE` - default to the pull request's title. - - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - @enum {string} */ - merge_commit_title?: "PR_TITLE" | "MERGE_MESSAGE"; - /** @description The default value for a merge commit message. - - - `PR_TITLE` - default to the pull request's title. - - `PR_BODY` - default to the pull request's body. - - `BLANK` - default to a blank commit message. - @enum {string} */ - merge_commit_message?: "PR_BODY" | "PR_TITLE" | "BLANK"; - /** @description Whether to allow merge commits for pull requests. - @default true - @example true */ - allow_merge_commit: boolean; - /** @description Whether to allow forking this repo */ - allow_forking?: boolean; - /** @description Whether to require contributors to sign off on web-based commits - @default false */ - web_commit_signoff_required: boolean; - subscribers_count?: number; - network_count?: number; - open_issues: number; - watchers: number; - master_branch?: string; - /** @example "2020-07-09T00:17:42Z" */ - starred_at?: string; - /** @description Whether anonymous git access is enabled for this repository */ - anonymous_access_enabled?: boolean; - } | null; - temp_clone_token?: string; - delete_branch_on_merge?: boolean; - subscribers_count?: number; - network_count?: number; - /** Code Of Conduct - @description Code Of Conduct */ - code_of_conduct?: { - /** @example contributor_covenant */ - key: string; - /** @example Contributor Covenant */ - name: string; - /** Format: uri - @example https://api.github.com/codes_of_conduct/contributor_covenant */ - url: string; - /** @example # Contributor Covenant Code of Conduct - - ## Our Pledge - - In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - - ## Our Standards - - Examples of behavior that contributes to creating a positive environment include: - - * Using welcoming and inclusive language - * Being respectful of differing viewpoints and experiences - * Gracefully accepting constructive criticism - * Focusing on what is best for the community - * Showing empathy towards other community members - - Examples of unacceptable behavior by participants include: - - * The use of sexualized language or imagery and unwelcome sexual attention or advances - * Trolling, insulting/derogatory comments, and personal or political attacks - * Public or private harassment - * Publishing others' private information, such as a physical or electronic address, without explicit permission - * Other conduct which could reasonably be considered inappropriate in a professional setting - - ## Our Responsibilities - - Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response - to any instances of unacceptable behavior. - - Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - - ## Scope - - This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, - posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - - ## Enforcement - - Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [EMAIL]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - - Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - - ## Attribution - - This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - - [homepage]: http://contributor-covenant.org - [version]: http://contributor-covenant.org/version/1/4/ - */ - body?: string; - /** Format: uri */ - html_url: string | null; - }; - license?: { - key?: string; - name?: string; - spdx_id?: string; - url?: string; - node_id?: string; - } | null; - /** @example 0 */ - forks?: number; - /** @example 0 */ - open_issues?: number; - /** @example 0 */ - watchers?: number; - allow_forking?: boolean; - /** @example false */ - web_commit_signoff_required?: boolean; - }[]; - }; - }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Validation failed, or the endpoint has been spammed. */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message: string; - documentation_url: string; - errors?: { - resource?: string; - field?: string; - message?: string; - code: string; - index?: number; - value?: (string | null) | (number | null) | (string[] | null); - }[]; - }; + "application/json": components["schemas"]["minimal-repository"][]; }; }; + 304: components["responses"]["not_modified"]; + 422: components["responses"]["validation_failed"]; }; }; "enterprise-admin/list-provisioned-groups-enterprise": { parameters: { query?: { /** @description Used for pagination: the index of the first result to return. */ - startIndex?: number; + startIndex?: components["parameters"]["start-index"]; /** @description Used for pagination: the number of results to return. */ - count?: number; + count?: components["parameters"]["count"]; /** @description filter results */ filter?: string; /** @description attributes to exclude */ @@ -37240,7 +11146,7 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; }; cookie?: never; }; @@ -37252,29 +11158,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - schemas: string[]; - totalResults: number; - itemsPerPage: number; - startIndex: number; - Resources: { - schemas: string[]; - id: string; - externalId?: string | null; - displayName?: string; - members?: { - value?: string; - $ref?: string; - display?: string; - }[]; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }[]; - }; + "application/json": components["schemas"]["scim-group-list-enterprise"]; }; }; }; @@ -37285,7 +11169,7 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; }; cookie?: never; }; @@ -37310,23 +11194,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - schemas: string[]; - id: string; - externalId?: string | null; - displayName?: string; - members?: { - value?: string; - $ref?: string; - display?: string; - }[]; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; + "application/json": components["schemas"]["scim-enterprise-group"]; }; }; }; @@ -37340,9 +11208,9 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; /** @description Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: string; + scim_group_id: components["parameters"]["scim-group-id"]; }; cookie?: never; }; @@ -37354,23 +11222,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - schemas: string[]; - id: string; - externalId?: string | null; - displayName?: string; - members?: { - value?: string; - $ref?: string; - display?: string; - }[]; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; + "application/json": components["schemas"]["scim-enterprise-group"]; }; }; }; @@ -37381,9 +11233,9 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; /** @description Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: string; + scim_group_id: components["parameters"]["scim-group-id"]; }; cookie?: never; }; @@ -37408,23 +11260,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - schemas: string[]; - id: string; - externalId?: string | null; - displayName?: string; - members?: { - value?: string; - $ref?: string; - display?: string; - }[]; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; + "application/json": components["schemas"]["scim-enterprise-group"]; }; }; }; @@ -37435,9 +11271,9 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; /** @description Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: string; + scim_group_id: components["parameters"]["scim-group-id"]; }; cookie?: never; }; @@ -37458,9 +11294,9 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; /** @description Identifier generated by the GitHub SCIM endpoint. */ - scim_group_id: string; + scim_group_id: components["parameters"]["scim-group-id"]; }; cookie?: never; }; @@ -37487,23 +11323,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - schemas: string[]; - id: string; - externalId?: string | null; - displayName?: string; - members?: { - value?: string; - $ref?: string; - display?: string; - }[]; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; + "application/json": components["schemas"]["scim-enterprise-group"]; }; }; }; @@ -37512,16 +11332,16 @@ interface operations { parameters: { query?: { /** @description Used for pagination: the index of the first result to return. */ - startIndex?: number; + startIndex?: components["parameters"]["start-index"]; /** @description Used for pagination: the number of results to return. */ - count?: number; + count?: components["parameters"]["count"]; /** @description filter results */ filter?: string; }; header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; }; cookie?: never; }; @@ -37533,37 +11353,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - schemas: string[]; - totalResults: number; - itemsPerPage: number; - startIndex: number; - Resources: { - schemas: string[]; - id: string; - externalId?: string; - userName?: string; - name?: { - givenName?: string; - familyName?: string; - }; - emails?: { - value?: string; - primary?: boolean; - type?: string; - }[]; - groups?: { - value?: string; - }[]; - active?: boolean; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }[]; - }; + "application/json": components["schemas"]["scim-user-list-enterprise"]; }; }; }; @@ -37574,7 +11364,7 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; }; cookie?: never; }; @@ -37614,31 +11404,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - schemas: string[]; - id: string; - externalId?: string; - userName?: string; - name?: { - givenName?: string; - familyName?: string; - }; - emails?: { - value?: string; - type?: string; - primary?: boolean; - }[]; - groups?: { - value?: string; - }[]; - active?: boolean; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; + "application/json": components["schemas"]["scim-enterprise-user"]; }; }; }; @@ -37649,9 +11415,9 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; /** @description The unique identifier of the SCIM user. */ - scim_user_id: string; + scim_user_id: components["parameters"]["scim-user-id"]; }; cookie?: never; }; @@ -37663,31 +11429,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - schemas: string[]; - id: string; - externalId?: string; - userName?: string; - name?: { - givenName?: string; - familyName?: string; - }; - emails?: { - value?: string; - type?: string; - primary?: boolean; - }[]; - groups?: { - value?: string; - }[]; - active?: boolean; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; + "application/json": components["schemas"]["scim-enterprise-user"]; }; }; }; @@ -37698,9 +11440,9 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; /** @description The unique identifier of the SCIM user. */ - scim_user_id: string; + scim_user_id: components["parameters"]["scim-user-id"]; }; cookie?: never; }; @@ -37740,31 +11482,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - schemas: string[]; - id: string; - externalId?: string; - userName?: string; - name?: { - givenName?: string; - familyName?: string; - }; - emails?: { - value?: string; - type?: string; - primary?: boolean; - }[]; - groups?: { - value?: string; - }[]; - active?: boolean; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; + "application/json": components["schemas"]["scim-enterprise-user"]; }; }; }; @@ -37775,9 +11493,9 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; /** @description The unique identifier of the SCIM user. */ - scim_user_id: string; + scim_user_id: components["parameters"]["scim-user-id"]; }; cookie?: never; }; @@ -37798,9 +11516,9 @@ interface operations { header?: never; path: { /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */ - enterprise: string; + enterprise: components["parameters"]["enterprise"]; /** @description The unique identifier of the SCIM user. */ - scim_user_id: string; + scim_user_id: components["parameters"]["scim-user-id"]; }; cookie?: never; }; @@ -37821,31 +11539,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - schemas: string[]; - id: string; - externalId?: string; - userName?: string; - name?: { - givenName?: string; - familyName?: string; - }; - emails?: { - value?: string; - type?: string; - primary?: boolean; - }[]; - groups?: { - value?: string; - }[]; - active?: boolean; - meta?: { - resourceType?: string; - created?: string; - lastModified?: string; - location?: string; - }; - }; + "application/json": components["schemas"]["scim-enterprise-user"]; }; }; }; @@ -37865,13 +11559,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - status?: string; - progress?: { - status: string; - key: string; - }[]; - }; + "application/json": components["schemas"]["configuration-status"]; }; }; }; @@ -37909,14 +11597,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - status?: string; - scheduled_time?: string; - connection_services?: { - name: string; - number: number; - }[]; - }; + "application/json": components["schemas"]["maintenance-status"]; }; }; }; @@ -37932,10 +11613,10 @@ interface operations { content: { "application/x-www-form-urlencoded": { /** @description A JSON string with the attributes `enabled` and `when`. - - The possible values for `enabled` are `true` and `false`. When it's `false`, the attribute `when` is ignored and the maintenance mode is turned off. `when` defines the time period when the maintenance was enabled. - - The possible values for `when` are `now` or any date parseable by [mojombo/chronic](https://github.com/mojombo/chronic). */ + * + * The possible values for `enabled` are `true` and `false`. When it's `false`, the attribute `when` is ignored and the maintenance mode is turned off. `when` defines the time period when the maintenance was enabled. + * + * The possible values for `when` are `now` or any date parseable by [mojombo/chronic](https://github.com/mojombo/chronic). */ maintenance: string; }; }; @@ -37947,14 +11628,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - status?: string; - scheduled_time?: string; - connection_services?: { - name: string; - number: number; - }[]; - }; + "application/json": components["schemas"]["maintenance-status"]; }; }; }; @@ -37974,144 +11648,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - enterprise?: { - private_mode?: boolean; - public_pages?: boolean; - subdomain_isolation?: boolean; - signup_enabled?: boolean; - github_hostname?: string; - identicons_host?: string; - http_proxy?: string | null; - auth_mode?: string; - expire_sessions?: boolean; - admin_password?: string | null; - configuration_id?: number; - configuration_run_count?: number; - avatar?: { - enabled?: boolean; - uri?: string; - }; - customer?: { - name?: string; - email?: string; - uuid?: string; - secret_key_data?: string; - public_key_data?: string; - }; - license?: { - seats?: number; - evaluation?: boolean; - perpetual?: boolean; - unlimited_seating?: boolean; - support_key?: string; - ssh_allowed?: boolean; - cluster_support?: boolean; - expire_at?: string; - }; - github_ssl?: { - enabled?: boolean; - cert?: string | null; - key?: string | null; - }; - ldap?: { - host?: string | null; - port?: number; - base?: unknown[]; - uid?: string | null; - bind_dn?: string | null; - password?: string | null; - method?: string; - search_strategy?: string; - user_groups?: unknown[]; - admin_group?: string | null; - virtual_attribute_enabled?: boolean; - recursive_group_search?: boolean; - posix_support?: boolean; - user_sync_emails?: boolean; - user_sync_keys?: boolean; - user_sync_interval?: number; - team_sync_interval?: number; - sync_enabled?: boolean; - reconciliation?: { - user?: string | null; - org?: string | null; - }; - profile?: { - uid?: string; - name?: string | null; - mail?: string | null; - key?: string | null; - }; - }; - cas?: { - url?: string | null; - }; - saml?: { - sso_url?: string | null; - certificate?: string | null; - certificate_path?: string | null; - issuer?: string | null; - idp_initiated_sso?: boolean; - disable_admin_demote?: boolean; - }; - github_oauth?: { - client_id?: string; - client_secret?: string; - organization_name?: string; - organization_team?: string; - }; - smtp?: { - enabled?: boolean; - address?: string; - authentication?: string; - port?: string; - domain?: string; - username?: string; - user_name?: string; - enable_starttls_auto?: boolean; - password?: string; - "discard-to-noreply-address"?: boolean; - support_address?: string; - support_address_type?: string; - noreply_address?: string; - }; - ntp?: { - primary_server?: string; - secondary_server?: string; - }; - timezone?: string | null; - snmp?: { - enabled?: boolean; - community?: string; - }; - syslog?: { - enabled?: boolean; - server?: string | null; - protocol_name?: string; - }; - assets?: string | null; - pages?: { - enabled?: boolean; - }; - collectd?: { - enabled?: boolean; - server?: string | null; - port?: number; - encryption?: string | null; - username?: string | null; - password?: string | null; - }; - mapping?: { - enabled?: boolean; - tileserver?: string | null; - basemap?: string; - token?: string | null; - }; - load_balancer?: string | null; - }; - run_list?: string[]; - }; + "application/json": components["schemas"]["enterprise-settings"]; }; }; }; @@ -38156,10 +11693,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - key?: string; - "pretty-print"?: string; - }[]; + "application/json": components["schemas"]["ssh-key"][]; }; }; }; @@ -38186,10 +11720,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - key?: string; - "pretty-print"?: string; - }[]; + "application/json": components["schemas"]["ssh-key"][]; }; }; }; @@ -38216,10 +11747,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - key?: string; - "pretty-print"?: string; - }[]; + "application/json": components["schemas"]["ssh-key"][]; }; }; }; @@ -38282,9 +11810,9 @@ interface operations { parameters: { query?: { /** @description The number of results per page (max 100). */ - per_page?: number; + per_page?: components["parameters"]["per-page"]; /** @description Page number of the results to fetch. */ - page?: number; + page?: components["parameters"]["page"]; }; header?: never; path?: never; @@ -38295,322 +11823,19 @@ interface operations { /** @description You can find the permissions for the installation under the `permissions` key. */ 200: { headers: { - /** @example ; rel="next", ; rel="last" */ - Link?: string; + Link: components["headers"]["link"]; [name: string]: unknown; }; content: { "application/json": { total_count: number; - installations: { - /** @description The ID of the installation. - @example 1 */ - id: number; - account: ({ - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | { - /** @description A short description of the enterprise. */ - description?: string | null; - /** Format: uri - @example https://github.com/enterprises/octo-business */ - html_url: string; - /** Format: uri - @description The enterprise's website URL. */ - website_url?: string | null; - /** @description Unique identifier of the enterprise - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the enterprise. - @example Octo Business */ - name: string; - /** @description The slug url identifier for the enterprise. - @example octo-business */ - slug: string; - /** Format: date-time - @example 2019-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2019-01-26T19:14:43Z */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }) | null; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** Format: uri - @example https://api.github.com/installations/1/access_tokens */ - access_tokens_url: string; - /** Format: uri - @example https://api.github.com/installation/repositories */ - repositories_url: string; - /** Format: uri - @example https://github.com/organizations/github/settings/installations/1 */ - html_url: string; - /** @example 1 */ - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - /** @example Organization */ - target_type: string; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** @example github-actions */ - app_slug: string; - /** Simple User - @description Simple User */ - suspended_by: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time */ - suspended_at: string | null; - /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ - contact_email?: string | null; - }[]; - }; - }; - }; - /** @description Not modified */ - 304: { - headers: { - [name: string]: unknown; - }; - content?: never; - }; - /** @description Requires authentication */ - 401: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; - }; - }; - }; - /** @description Forbidden */ - 403: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": { - message?: string; - documentation_url?: string; - url?: string; - status?: string; + installations: components["schemas"]["installation"][]; }; }; }; + 304: components["responses"]["not_modified"]; + 401: components["responses"]["requires_authentication"]; + 403: components["responses"]["forbidden"]; }; }; "apps/get-user-installation": { @@ -38619,7 +11844,7 @@ interface operations { header?: never; path: { /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; @@ -38631,277 +11856,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description The ID of the installation. - @example 1 */ - id: number; - account: ({ - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | { - /** @description A short description of the enterprise. */ - description?: string | null; - /** Format: uri - @example https://github.com/enterprises/octo-business */ - html_url: string; - /** Format: uri - @description The enterprise's website URL. */ - website_url?: string | null; - /** @description Unique identifier of the enterprise - @example 42 */ - id: number; - /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */ - node_id: string; - /** @description The name of the enterprise. - @example Octo Business */ - name: string; - /** @description The slug url identifier for the enterprise. - @example octo-business */ - slug: string; - /** Format: date-time - @example 2019-01-26T19:01:12Z */ - created_at: string | null; - /** Format: date-time - @example 2019-01-26T19:14:43Z */ - updated_at: string | null; - /** Format: uri */ - avatar_url: string; - }) | null; - /** @description Describe whether all repositories have been selected or there's a selection involved - @enum {string} */ - repository_selection: "all" | "selected"; - /** Format: uri - @example https://api.github.com/installations/1/access_tokens */ - access_tokens_url: string; - /** Format: uri - @example https://api.github.com/installation/repositories */ - repositories_url: string; - /** Format: uri - @example https://github.com/organizations/github/settings/installations/1 */ - html_url: string; - /** @example 1 */ - app_id: number; - /** @description The ID of the user or organization this token is being scoped to. */ - target_id: number; - /** @example Organization */ - target_type: string; - /** App Permissions - @description The permissions granted to the user-to-server access token. - @example { - "contents": "read", - "issues": "read", - "deployments": "write", - "single_file": "read" - } */ - permissions: { - /** @description The level of permission to grant the access token for GitHub Actions workflows, workflow runs, and artifacts. - @enum {string} */ - actions?: "read" | "write"; - /** @description The level of permission to grant the access token for repository creation, deletion, settings, teams, and collaborators creation. - @enum {string} */ - administration?: "read" | "write"; - /** @description The level of permission to grant the access token for checks on code. - @enum {string} */ - checks?: "read" | "write"; - /** @description The level of permission to grant the access token for repository contents, commits, branches, downloads, releases, and merges. - @enum {string} */ - contents?: "read" | "write"; - /** @description The level of permission to grant the access token for deployments and deployment statuses. - @enum {string} */ - deployments?: "read" | "write"; - /** @description The level of permission to grant the access token for managing repository environments. - @enum {string} */ - environments?: "read" | "write"; - /** @description The level of permission to grant the access token for issues and related comments, assignees, labels, and milestones. - @enum {string} */ - issues?: "read" | "write"; - /** @description The level of permission to grant the access token to search repositories, list collaborators, and access repository metadata. - @enum {string} */ - metadata?: "read" | "write"; - /** @description The level of permission to grant the access token for packages published to GitHub Packages. - @enum {string} */ - packages?: "read" | "write"; - /** @description The level of permission to grant the access token to retrieve Pages statuses, configuration, and builds, as well as create new builds. - @enum {string} */ - pages?: "read" | "write"; - /** @description The level of permission to grant the access token for pull requests and related comments, assignees, labels, milestones, and merges. - @enum {string} */ - pull_requests?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for a repository. - @enum {string} */ - repository_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository projects, columns, and cards. - @enum {string} */ - repository_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token to view and manage secret scanning alerts. - @enum {string} */ - secret_scanning_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to manage repository secrets. - @enum {string} */ - secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage security events like code scanning alerts. - @enum {string} */ - security_events?: "read" | "write"; - /** @description The level of permission to grant the access token to manage just a single file. - @enum {string} */ - single_file?: "read" | "write"; - /** @description The level of permission to grant the access token for commit statuses. - @enum {string} */ - statuses?: "read" | "write"; - /** @description The level of permission to grant the access token to manage Dependabot alerts. - @enum {string} */ - vulnerability_alerts?: "read" | "write"; - /** @description The level of permission to grant the access token to update GitHub Actions workflow files. - @enum {string} */ - workflows?: "write"; - /** @description The level of permission to grant the access token for organization teams and members. - @enum {string} */ - members?: "read" | "write"; - /** @description The level of permission to grant the access token to manage access to an organization. - @enum {string} */ - organization_administration?: "read" | "write"; - /** @description The level of permission to grant the access token to manage the post-receive hooks for an organization. - @enum {string} */ - organization_hooks?: "read" | "write"; - /** @description The level of permission to grant the access token for viewing an organization's plan. - @enum {string} */ - organization_plan?: "read"; - /** @description The level of permission to grant the access token to manage organization projects and projects beta (where available). - @enum {string} */ - organization_projects?: "read" | "write" | "admin"; - /** @description The level of permission to grant the access token for organization packages published to GitHub Packages. - @enum {string} */ - organization_packages?: "read" | "write"; - /** @description The level of permission to grant the access token to manage organization secrets. - @enum {string} */ - organization_secrets?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage GitHub Actions self-hosted runners available to an organization. - @enum {string} */ - organization_self_hosted_runners?: "read" | "write"; - /** @description The level of permission to grant the access token to view and manage users blocked by the organization. - @enum {string} */ - organization_user_blocking?: "read" | "write"; - /** @description The level of permission to grant the access token to manage team discussions and related comments. - @enum {string} */ - team_discussions?: "read" | "write"; - }; - events: string[]; - /** Format: date-time */ - created_at: string; - /** Format: date-time */ - updated_at: string; - /** @example config.yaml */ - single_file_name: string | null; - /** @example true */ - has_multiple_single_files?: boolean; - /** @example [ - "config.yml", - ".github/issue_TEMPLATE.md" - ] */ - single_file_paths?: string[]; - /** @example github-actions */ - app_slug: string; - /** Simple User - @description Simple User */ - suspended_by: { - name?: string | null; - email?: string | null; - /** @example octocat */ - login: string; - /** @example 1 */ - id: number; - /** @example MDQ6VXNlcjE= */ - node_id: string; - /** Format: uri - @example https://github.com/images/error/octocat_happy.gif */ - avatar_url: string; - /** @example 41d064eb2195891e12d0413f63227ea7 */ - gravatar_id: string | null; - /** Format: uri - @example https://api.github.com/users/octocat */ - url: string; - /** Format: uri - @example https://github.com/octocat */ - html_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/followers */ - followers_url: string; - /** @example https://api.github.com/users/octocat/following{/other_user} */ - following_url: string; - /** @example https://api.github.com/users/octocat/gists{/gist_id} */ - gists_url: string; - /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */ - starred_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/subscriptions */ - subscriptions_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/orgs */ - organizations_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/repos */ - repos_url: string; - /** @example https://api.github.com/users/octocat/events{/privacy} */ - events_url: string; - /** Format: uri - @example https://api.github.com/users/octocat/received_events */ - received_events_url: string; - /** @example User */ - type: string; - site_admin: boolean; - /** @example "2020-07-09T00:17:55Z" */ - starred_at?: string; - } | null; - /** Format: date-time */ - suspended_at: string | null; - /** @example "test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com" */ - contact_email?: string | null; - }; + "application/json": components["schemas"]["installation"]; }; }; }; @@ -38912,7 +11867,7 @@ interface operations { header?: never; path: { /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; @@ -38933,7 +11888,7 @@ interface operations { header?: never; path: { /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; @@ -38954,7 +11909,7 @@ interface operations { header?: never; path: { /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; @@ -38982,7 +11937,7 @@ interface operations { header?: never; path: { /** @description The handle for the GitHub user account. */ - username: string; + username: components["parameters"]["username"]; }; cookie?: never; }; diff --git a/packages/openapi-typescript/examples/redocly-oas3.1.ts b/packages/openapi-typescript/examples/simple-example.ts similarity index 97% rename from packages/openapi-typescript/examples/redocly-oas3.1.ts rename to packages/openapi-typescript/examples/simple-example.ts index 13b82695f..562b3ac1a 100644 --- a/packages/openapi-typescript/examples/redocly-oas3.1.ts +++ b/packages/openapi-typescript/examples/simple-example.ts @@ -132,11 +132,15 @@ export interface webhooks { cookie?: never; }; get: never; - /** Edit new pet - @description Edit pet. */ + /** + * Edit new pet + * @description Edit pet. + */ put: operations["editPet"]; - /** Add a new pet to the store - @description Add new pet to the store inventory. */ + /** + * Add a new pet to the store + * @description Add new pet to the store inventory. + */ post: operations["addPet"]; delete: never; options: never; @@ -149,8 +153,10 @@ export interface components { schemas: { /** @description schema for a rfc7807 */ Problem: { - /** Format: uri - @description A URI reference [RFC3986] that identifies the problem type. */ + /** + * Format: uri + * @description A URI reference [RFC3986] that identifies the problem type. + */ type: string; /** @description A short, human-readable summary of the problem type. */ title: string; diff --git a/packages/openapi-typescript/examples/redocly-oas3.1.yaml b/packages/openapi-typescript/examples/simple-example.yaml similarity index 100% rename from packages/openapi-typescript/examples/redocly-oas3.1.yaml rename to packages/openapi-typescript/examples/simple-example.yaml diff --git a/packages/openapi-typescript/examples/stripe-api.ts b/packages/openapi-typescript/examples/stripe-api.ts index b462ccd76..08cc206eb 100644 --- a/packages/openapi-typescript/examples/stripe-api.ts +++ b/packages/openapi-typescript/examples/stripe-api.ts @@ -3,45913 +3,52928 @@ * Do not make direct changes to the file. */ - export interface paths { - "/v1/account": { - /** @description

Retrieves the details of an account.

*/ - get: operations["GetAccount"]; - }; - "/v1/account_links": { - /** @description

Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow.

*/ - post: operations["PostAccountLinks"]; - }; - "/v1/account_sessions": { - /** @description

Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access.

*/ - post: operations["PostAccountSessions"]; - }; - "/v1/accounts": { - /** @description

Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty.

*/ - get: operations["GetAccounts"]; - /** - * @description

With Connect, you can create Stripe accounts for your users. - * To do this, you’ll first need to register your platform.

- * - *

If you’ve already collected information for your connected accounts, you can prefill that information when - * creating the account. Connect Onboarding won’t ask for the prefilled information during account onboarding. - * You can prefill any information on the account.

- */ - post: operations["PostAccounts"]; - }; - "/v1/accounts/{account}": { - /** @description

Retrieves the details of an account.

*/ - get: operations["GetAccountsAccount"]; - /** - * @description

Updates a connected account by setting the values of the parameters passed. Any parameters not provided are - * left unchanged.

- * - *

For Custom accounts, you can update any information on the account. For other accounts, you can update all information until that - * account has started to go through Connect Onboarding. Once you create an Account Link - * for a Standard or Express account, some parameters can no longer be changed. These are marked as Custom Only or Custom and Express - * below.

- * - *

To update your own account, use the Dashboard. Refer to our - * Connect documentation to learn more about updating accounts.

- */ - post: operations["PostAccountsAccount"]; - /** - * @description

With Connect, you can delete accounts you manage.

- * - *

Accounts created using test-mode keys can be deleted at any time. Standard accounts created using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys can only be deleted once all balances are zero.

- * - *

If you want to delete your own account, use the account information tab in your account settings instead.

- */ - delete: operations["DeleteAccountsAccount"]; - }; - "/v1/accounts/{account}/bank_accounts": { - /** @description

Create an external account for a given account.

*/ - post: operations["PostAccountsAccountBankAccounts"]; - }; - "/v1/accounts/{account}/bank_accounts/{id}": { - /** @description

Retrieve a specified external account for a given account.

*/ - get: operations["GetAccountsAccountBankAccountsId"]; - /** - * @description

Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.

- * - *

You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.

- */ - post: operations["PostAccountsAccountBankAccountsId"]; - /** @description

Delete a specified external account for a given account.

*/ - delete: operations["DeleteAccountsAccountBankAccountsId"]; - }; - "/v1/accounts/{account}/capabilities": { - /** @description

Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.

*/ - get: operations["GetAccountsAccountCapabilities"]; - }; - "/v1/accounts/{account}/capabilities/{capability}": { - /** @description

Retrieves information about the specified Account Capability.

*/ - get: operations["GetAccountsAccountCapabilitiesCapability"]; - /** @description

Updates an existing Account Capability. Request or remove a capability by updating its requested parameter.

*/ - post: operations["PostAccountsAccountCapabilitiesCapability"]; - }; - "/v1/accounts/{account}/external_accounts": { - /** @description

List external accounts for an account.

*/ - get: operations["GetAccountsAccountExternalAccounts"]; - /** @description

Create an external account for a given account.

*/ - post: operations["PostAccountsAccountExternalAccounts"]; - }; - "/v1/accounts/{account}/external_accounts/{id}": { - /** @description

Retrieve a specified external account for a given account.

*/ - get: operations["GetAccountsAccountExternalAccountsId"]; - /** - * @description

Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.

- * - *

You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.

- */ - post: operations["PostAccountsAccountExternalAccountsId"]; - /** @description

Delete a specified external account for a given account.

*/ - delete: operations["DeleteAccountsAccountExternalAccountsId"]; - }; - "/v1/accounts/{account}/login_links": { - /** - * @description

Creates a single-use login link for an Express account to access their Stripe dashboard.

- * - *

You may only create login links for Express accounts connected to your platform.

- */ - post: operations["PostAccountsAccountLoginLinks"]; - }; - "/v1/accounts/{account}/people": { - /** @description

Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.

*/ - get: operations["GetAccountsAccountPeople"]; - /** @description

Creates a new person.

*/ - post: operations["PostAccountsAccountPeople"]; - }; - "/v1/accounts/{account}/people/{person}": { - /** @description

Retrieves an existing person.

*/ - get: operations["GetAccountsAccountPeoplePerson"]; - /** @description

Updates an existing person.

*/ - post: operations["PostAccountsAccountPeoplePerson"]; - /** @description

Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.

*/ - delete: operations["DeleteAccountsAccountPeoplePerson"]; - }; - "/v1/accounts/{account}/persons": { - /** @description

Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.

*/ - get: operations["GetAccountsAccountPersons"]; - /** @description

Creates a new person.

*/ - post: operations["PostAccountsAccountPersons"]; - }; - "/v1/accounts/{account}/persons/{person}": { - /** @description

Retrieves an existing person.

*/ - get: operations["GetAccountsAccountPersonsPerson"]; - /** @description

Updates an existing person.

*/ - post: operations["PostAccountsAccountPersonsPerson"]; - /** @description

Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.

*/ - delete: operations["DeleteAccountsAccountPersonsPerson"]; - }; - "/v1/accounts/{account}/reject": { - /** - * @description

With Connect, you may flag accounts as suspicious.

- * - *

Test-mode Custom and Express accounts can be rejected at any time. Accounts created using live-mode keys may only be rejected once all balances are zero.

- */ - post: operations["PostAccountsAccountReject"]; - }; - "/v1/apple_pay/domains": { - /** @description

List apple pay domains.

*/ - get: operations["GetApplePayDomains"]; - /** @description

Create an apple pay domain.

*/ - post: operations["PostApplePayDomains"]; - }; - "/v1/apple_pay/domains/{domain}": { - /** @description

Retrieve an apple pay domain.

*/ - get: operations["GetApplePayDomainsDomain"]; - /** @description

Delete an apple pay domain.

*/ - delete: operations["DeleteApplePayDomainsDomain"]; - }; - "/v1/application_fees": { - /** @description

Returns a list of application fees you’ve previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.

*/ - get: operations["GetApplicationFees"]; - }; - "/v1/application_fees/{fee}/refunds/{id}": { - /** @description

By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee.

*/ - get: operations["GetApplicationFeesFeeRefundsId"]; - /** - * @description

Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

- * - *

This request only accepts metadata as an argument.

- */ - post: operations["PostApplicationFeesFeeRefundsId"]; - }; - "/v1/application_fees/{id}": { - /** @description

Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee.

*/ - get: operations["GetApplicationFeesId"]; - }; - "/v1/application_fees/{id}/refund": { - post: operations["PostApplicationFeesIdRefund"]; - }; - "/v1/application_fees/{id}/refunds": { - /** @description

You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds.

*/ - get: operations["GetApplicationFeesIdRefunds"]; - /** - * @description

Refunds an application fee that has previously been collected but not yet refunded. - * Funds will be refunded to the Stripe account from which the fee was originally collected.

- * - *

You can optionally refund only part of an application fee. - * You can do so multiple times, until the entire fee has been refunded.

- * - *

Once entirely refunded, an application fee can’t be refunded again. - * This method will raise an error when called on an already-refunded application fee, - * or when trying to refund more money than is left on an application fee.

- */ - post: operations["PostApplicationFeesIdRefunds"]; - }; - "/v1/apps/secrets": { - /** @description

List all secrets stored on the given scope.

*/ - get: operations["GetAppsSecrets"]; - /** @description

Create or replace a secret in the secret store.

*/ - post: operations["PostAppsSecrets"]; - }; - "/v1/apps/secrets/delete": { - /** @description

Deletes a secret from the secret store by name and scope.

*/ - post: operations["PostAppsSecretsDelete"]; - }; - "/v1/apps/secrets/find": { - /** @description

Finds a secret in the secret store by name and scope.

*/ - get: operations["GetAppsSecretsFind"]; - }; - "/v1/balance": { - /** - * @description

Retrieves the current account balance, based on the authentication that was used to make the request. - * For a sample request, see Accounting for negative balances.

- */ - get: operations["GetBalance"]; - }; - "/v1/balance/history": { - /** - * @description

Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.

- * - *

Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history.

- */ - get: operations["GetBalanceHistory"]; - }; - "/v1/balance/history/{id}": { - /** - * @description

Retrieves the balance transaction with the given ID.

- * - *

Note that this endpoint previously used the path /v1/balance/history/:id.

- */ - get: operations["GetBalanceHistoryId"]; - }; - "/v1/balance_transactions": { - /** - * @description

Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.

- * - *

Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history.

- */ - get: operations["GetBalanceTransactions"]; - }; - "/v1/balance_transactions/{id}": { - /** - * @description

Retrieves the balance transaction with the given ID.

- * - *

Note that this endpoint previously used the path /v1/balance/history/:id.

- */ - get: operations["GetBalanceTransactionsId"]; - }; - "/v1/billing_portal/configurations": { - /** @description

Returns a list of configurations that describe the functionality of the customer portal.

*/ - get: operations["GetBillingPortalConfigurations"]; - /** @description

Creates a configuration that describes the functionality and behavior of a PortalSession

*/ - post: operations["PostBillingPortalConfigurations"]; - }; - "/v1/billing_portal/configurations/{configuration}": { - /** @description

Retrieves a configuration that describes the functionality of the customer portal.

*/ - get: operations["GetBillingPortalConfigurationsConfiguration"]; - /** @description

Updates a configuration that describes the functionality of the customer portal.

*/ - post: operations["PostBillingPortalConfigurationsConfiguration"]; - }; - "/v1/billing_portal/sessions": { - /** @description

Creates a session of the customer portal.

*/ - post: operations["PostBillingPortalSessions"]; - }; - "/v1/charges": { - /** @description

Returns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.

*/ - get: operations["GetCharges"]; - /** - * @description

Use the Payment Intents API to initiate a new payment instead - * of using this method. Confirmation of the PaymentIntent creates the Charge - * object used to request payment, so this method is limited to legacy integrations.

- */ - post: operations["PostCharges"]; - }; - "/v1/charges/search": { - /** - * @description

Search for charges you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - get: operations["GetChargesSearch"]; - }; - "/v1/charges/{charge}": { - /** @description

Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge.

*/ - get: operations["GetChargesCharge"]; - /** @description

Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - post: operations["PostChargesCharge"]; - }; - "/v1/charges/{charge}/capture": { - /** - * @description

Capture the payment of an existing, uncaptured charge that was created with the capture option set to false.

- * - *

Uncaptured payments expire a set number of days after they are created (7 by default), after which they are marked as refunded and capture attempts will fail.

- * - *

Don’t use this method to capture a PaymentIntent-initiated charge. Use Capture a PaymentIntent.

- */ - post: operations["PostChargesChargeCapture"]; - }; - "/v1/charges/{charge}/dispute": { - /** @description

Retrieve a dispute for a specified charge.

*/ - get: operations["GetChargesChargeDispute"]; - post: operations["PostChargesChargeDispute"]; - }; - "/v1/charges/{charge}/dispute/close": { - post: operations["PostChargesChargeDisputeClose"]; - }; - "/v1/charges/{charge}/refund": { - /** - * @description

When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.

- * - *

Creating a new refund will refund a charge that has previously been created but not yet refunded. - * Funds will be refunded to the credit or debit card that was originally charged.

- * - *

You can optionally refund only part of a charge. - * You can do so multiple times, until the entire charge has been refunded.

- * - *

Once entirely refunded, a charge can’t be refunded again. - * This method will raise an error when called on an already-refunded charge, - * or when trying to refund more money than is left on a charge.

- */ - post: operations["PostChargesChargeRefund"]; - }; - "/v1/charges/{charge}/refunds": { - /** @description

You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds.

*/ - get: operations["GetChargesChargeRefunds"]; - /** - * @description

When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.

- * - *

Creating a new refund will refund a charge that has previously been created but not yet refunded. - * Funds will be refunded to the credit or debit card that was originally charged.

- * - *

You can optionally refund only part of a charge. - * You can do so multiple times, until the entire charge has been refunded.

- * - *

Once entirely refunded, a charge can’t be refunded again. - * This method will raise an error when called on an already-refunded charge, - * or when trying to refund more money than is left on a charge.

- */ - post: operations["PostChargesChargeRefunds"]; - }; - "/v1/charges/{charge}/refunds/{refund}": { - /** @description

Retrieves the details of an existing refund.

*/ - get: operations["GetChargesChargeRefundsRefund"]; - /** @description

Update a specified refund.

*/ - post: operations["PostChargesChargeRefundsRefund"]; - }; - "/v1/checkout/sessions": { - /** @description

Returns a list of Checkout Sessions.

*/ - get: operations["GetCheckoutSessions"]; - /** @description

Creates a Session object.

*/ - post: operations["PostCheckoutSessions"]; - }; - "/v1/checkout/sessions/{session}": { - /** @description

Retrieves a Session object.

*/ - get: operations["GetCheckoutSessionsSession"]; - }; - "/v1/checkout/sessions/{session}/expire": { - /** - * @description

A Session can be expired when it is in one of these statuses: open

- * - *

After it expires, a customer can’t complete a Session and customers loading the Session see a message saying the Session is expired.

- */ - post: operations["PostCheckoutSessionsSessionExpire"]; - }; - "/v1/checkout/sessions/{session}/line_items": { - /** @description

When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - get: operations["GetCheckoutSessionsSessionLineItems"]; - }; - "/v1/country_specs": { - /** @description

Lists all Country Spec objects available in the API.

*/ - get: operations["GetCountrySpecs"]; - }; - "/v1/country_specs/{country}": { - /** @description

Returns a Country Spec for a given Country code.

*/ - get: operations["GetCountrySpecsCountry"]; - }; - "/v1/coupons": { - /** @description

Returns a list of your coupons.

*/ - get: operations["GetCoupons"]; - /** - * @description

You can create coupons easily via the coupon management page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.

- * - *

A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoice’s subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off of 200 is applied to it.

- */ - post: operations["PostCoupons"]; - }; - "/v1/coupons/{coupon}": { - /** @description

Retrieves the coupon with the given ID.

*/ - get: operations["GetCouponsCoupon"]; - /** @description

Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.

*/ - post: operations["PostCouponsCoupon"]; - /** @description

You can delete coupons via the coupon management page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can’t redeem the coupon. You can also delete coupons via the API.

*/ - delete: operations["DeleteCouponsCoupon"]; - }; - "/v1/credit_notes": { - /** @description

Returns a list of credit notes.

*/ - get: operations["GetCreditNotes"]; - /** - * @description

Issue a credit note to adjust the amount of a finalized invoice. For a status=open invoice, a credit note reduces - * its amount_due. For a status=paid invoice, a credit note does not affect its amount_due. Instead, it can result - * in any combination of the following:

- * - *
    - *
  • Refund: create a new refund (using refund_amount) or link an existing refund (using refund).
  • - *
  • Customer balance credit: credit the customer’s balance (using credit_amount) which will be automatically applied to their next invoice when it’s finalized.
  • - *
  • Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount).
  • - *
- * - *

For post-payment credit notes the sum of the refund, credit and outside of Stripe amounts must equal the credit note total.

- * - *

You may issue multiple credit notes for an invoice. Each credit note will increment the invoice’s pre_payment_credit_notes_amount - * or post_payment_credit_notes_amount depending on its status at the time of credit note creation.

- */ - post: operations["PostCreditNotes"]; - }; - "/v1/credit_notes/preview": { - /** @description

Get a preview of a credit note without creating it.

*/ - get: operations["GetCreditNotesPreview"]; - }; - "/v1/credit_notes/preview/lines": { - /** @description

When retrieving a credit note preview, you’ll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.

*/ - get: operations["GetCreditNotesPreviewLines"]; - }; - "/v1/credit_notes/{credit_note}/lines": { - /** @description

When retrieving a credit note, you’ll get a lines property containing the the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - get: operations["GetCreditNotesCreditNoteLines"]; - }; - "/v1/credit_notes/{id}": { - /** @description

Retrieves the credit note object with the given identifier.

*/ - get: operations["GetCreditNotesId"]; - /** @description

Updates an existing credit note.

*/ - post: operations["PostCreditNotesId"]; - }; - "/v1/credit_notes/{id}/void": { - /** @description

Marks a credit note as void. Learn more about voiding credit notes.

*/ - post: operations["PostCreditNotesIdVoid"]; - }; - "/v1/customers": { - /** @description

Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.

*/ - get: operations["GetCustomers"]; - /** @description

Creates a new customer object.

*/ - post: operations["PostCustomers"]; - }; - "/v1/customers/search": { - /** - * @description

Search for customers you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - get: operations["GetCustomersSearch"]; - }; - "/v1/customers/{customer}": { - /** @description

Retrieves a Customer object.

*/ - get: operations["GetCustomersCustomer"]; - /** - * @description

Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer’s active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer’s current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior.

- * - *

This request accepts mostly the same arguments as the customer creation call.

- */ - post: operations["PostCustomersCustomer"]; - /** @description

Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.

*/ - delete: operations["DeleteCustomersCustomer"]; - }; - "/v1/customers/{customer}/balance_transactions": { - /** @description

Returns a list of transactions that updated the customer’s balances.

*/ - get: operations["GetCustomersCustomerBalanceTransactions"]; - /** @description

Creates an immutable transaction that updates the customer’s credit balance.

*/ - post: operations["PostCustomersCustomerBalanceTransactions"]; - }; - "/v1/customers/{customer}/balance_transactions/{transaction}": { - /** @description

Retrieves a specific customer balance transaction that updated the customer’s balances.

*/ - get: operations["GetCustomersCustomerBalanceTransactionsTransaction"]; - /** @description

Most credit balance transaction fields are immutable, but you may update its description and metadata.

*/ - post: operations["PostCustomersCustomerBalanceTransactionsTransaction"]; - }; - "/v1/customers/{customer}/bank_accounts": { - /** - * @deprecated - * @description

You can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional bank accounts.

- */ - get: operations["GetCustomersCustomerBankAccounts"]; - /** - * @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

- * - *

If the card’s owner has no default card, then the new card will become the default. - * However, if the owner already has a default, then it will not change. - * To change the default, you should update the customer to have a new default_source.

- */ - post: operations["PostCustomersCustomerBankAccounts"]; - }; - "/v1/customers/{customer}/bank_accounts/{id}": { - /** - * @deprecated - * @description

By default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.

- */ - get: operations["GetCustomersCustomerBankAccountsId"]; - /** @description

Update a specified source for a given customer.

*/ - post: operations["PostCustomersCustomerBankAccountsId"]; - /** @description

Delete a specified source for a given customer.

*/ - delete: operations["DeleteCustomersCustomerBankAccountsId"]; - }; - "/v1/customers/{customer}/bank_accounts/{id}/verify": { - /** @description

Verify a specified bank account for a given customer.

*/ - post: operations["PostCustomersCustomerBankAccountsIdVerify"]; - }; - "/v1/customers/{customer}/cards": { - /** - * @deprecated - * @description

You can see a list of the cards belonging to a customer. - * Note that the 10 most recent sources are always available on the Customer object. - * If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional cards.

- */ - get: operations["GetCustomersCustomerCards"]; - /** - * @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

- * - *

If the card’s owner has no default card, then the new card will become the default. - * However, if the owner already has a default, then it will not change. - * To change the default, you should update the customer to have a new default_source.

- */ - post: operations["PostCustomersCustomerCards"]; - }; - "/v1/customers/{customer}/cards/{id}": { - /** - * @deprecated - * @description

You can always see the 10 most recent cards directly on a customer; this method lets you retrieve details about a specific card stored on the customer.

- */ - get: operations["GetCustomersCustomerCardsId"]; - /** @description

Update a specified source for a given customer.

*/ - post: operations["PostCustomersCustomerCardsId"]; - /** @description

Delete a specified source for a given customer.

*/ - delete: operations["DeleteCustomersCustomerCardsId"]; - }; - "/v1/customers/{customer}/cash_balance": { - /** @description

Retrieves a customer’s cash balance.

*/ - get: operations["GetCustomersCustomerCashBalance"]; - /** @description

Changes the settings on a customer’s cash balance.

*/ - post: operations["PostCustomersCustomerCashBalance"]; - }; - "/v1/customers/{customer}/cash_balance_transactions": { - /** @description

Returns a list of transactions that modified the customer’s cash balance.

*/ - get: operations["GetCustomersCustomerCashBalanceTransactions"]; - }; - "/v1/customers/{customer}/cash_balance_transactions/{transaction}": { - /** @description

Retrieves a specific cash balance transaction, which updated the customer’s cash balance.

*/ - get: operations["GetCustomersCustomerCashBalanceTransactionsTransaction"]; - }; - "/v1/customers/{customer}/discount": { - get: operations["GetCustomersCustomerDiscount"]; - /** @description

Removes the currently applied discount on a customer.

*/ - delete: operations["DeleteCustomersCustomerDiscount"]; - }; - "/v1/customers/{customer}/funding_instructions": { - /** - * @description

Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new - * funding instructions will be created. If funding instructions have already been created for a given customer, the same - * funding instructions will be retrieved. In other words, we will return the same funding instructions each time.

- */ - post: operations["PostCustomersCustomerFundingInstructions"]; - }; - "/v1/customers/{customer}/payment_methods": { - /** @description

Returns a list of PaymentMethods for a given Customer

*/ - get: operations["GetCustomersCustomerPaymentMethods"]; - }; - "/v1/customers/{customer}/payment_methods/{payment_method}": { - /** @description

Retrieves a PaymentMethod object for a given Customer.

*/ - get: operations["GetCustomersCustomerPaymentMethodsPaymentMethod"]; - }; - "/v1/customers/{customer}/sources": { - /** @description

List sources for a specified customer.

*/ - get: operations["GetCustomersCustomerSources"]; - /** - * @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

- * - *

If the card’s owner has no default card, then the new card will become the default. - * However, if the owner already has a default, then it will not change. - * To change the default, you should update the customer to have a new default_source.

- */ - post: operations["PostCustomersCustomerSources"]; - }; - "/v1/customers/{customer}/sources/{id}": { - /** @description

Retrieve a specified source for a given customer.

*/ - get: operations["GetCustomersCustomerSourcesId"]; - /** @description

Update a specified source for a given customer.

*/ - post: operations["PostCustomersCustomerSourcesId"]; - /** @description

Delete a specified source for a given customer.

*/ - delete: operations["DeleteCustomersCustomerSourcesId"]; - }; - "/v1/customers/{customer}/sources/{id}/verify": { - /** @description

Verify a specified bank account for a given customer.

*/ - post: operations["PostCustomersCustomerSourcesIdVerify"]; - }; - "/v1/customers/{customer}/subscriptions": { - /** @description

You can see a list of the customer’s active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, you can use the limit and starting_after parameters to page through additional subscriptions.

*/ - get: operations["GetCustomersCustomerSubscriptions"]; - /** @description

Creates a new subscription on an existing customer.

*/ - post: operations["PostCustomersCustomerSubscriptions"]; - }; - "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}": { - /** @description

Retrieves the subscription with the given ID.

*/ - get: operations["GetCustomersCustomerSubscriptionsSubscriptionExposedId"]; - /** @description

Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint.

*/ - post: operations["PostCustomersCustomerSubscriptionsSubscriptionExposedId"]; - /** - * @description

Cancels a customer’s subscription. If you set the at_period_end parameter to true, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise, with the default false value, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription.

- * - *

Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually deleted. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.

- * - *

By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.

- */ - delete: operations["DeleteCustomersCustomerSubscriptionsSubscriptionExposedId"]; - }; - "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}/discount": { - get: operations["GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount"]; - /** @description

Removes the currently applied discount on a customer.

*/ - delete: operations["DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount"]; - }; - "/v1/customers/{customer}/tax_ids": { - /** @description

Returns a list of tax IDs for a customer.

*/ - get: operations["GetCustomersCustomerTaxIds"]; - /** @description

Creates a new tax_id object for a customer.

*/ - post: operations["PostCustomersCustomerTaxIds"]; - }; - "/v1/customers/{customer}/tax_ids/{id}": { - /** @description

Retrieves the tax_id object with the given identifier.

*/ - get: operations["GetCustomersCustomerTaxIdsId"]; - /** @description

Deletes an existing tax_id object.

*/ - delete: operations["DeleteCustomersCustomerTaxIdsId"]; - }; - "/v1/disputes": { - /** @description

Returns a list of your disputes.

*/ - get: operations["GetDisputes"]; - }; - "/v1/disputes/{dispute}": { - /** @description

Retrieves the dispute with the given ID.

*/ - get: operations["GetDisputesDispute"]; - /** - * @description

When you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your dashboard, but if you prefer, you can use the API to submit evidence programmatically.

- * - *

Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our guide to dispute types.

- */ - post: operations["PostDisputesDispute"]; - }; - "/v1/disputes/{dispute}/close": { - /** - * @description

Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.

- * - *

The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible.

- */ - post: operations["PostDisputesDisputeClose"]; - }; - "/v1/ephemeral_keys": { - /** @description

Creates a short-lived API key for a given resource.

*/ - post: operations["PostEphemeralKeys"]; - }; - "/v1/ephemeral_keys/{key}": { - /** @description

Invalidates a short-lived API key for a given resource.

*/ - delete: operations["DeleteEphemeralKeysKey"]; - }; - "/v1/events": { - /** @description

List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in event object api_version attribute (not according to your current Stripe API version or Stripe-Version header).

*/ - get: operations["GetEvents"]; - }; - "/v1/events/{id}": { - /** @description

Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.

*/ - get: operations["GetEventsId"]; - }; - "/v1/exchange_rates": { - /** @description

Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports.

*/ - get: operations["GetExchangeRates"]; - }; - "/v1/exchange_rates/{rate_id}": { - /** @description

Retrieves the exchange rates from the given currency to every supported currency.

*/ - get: operations["GetExchangeRatesRateId"]; - }; - "/v1/file_links": { - /** @description

Returns a list of file links.

*/ - get: operations["GetFileLinks"]; - /** @description

Creates a new file link object.

*/ - post: operations["PostFileLinks"]; - }; - "/v1/file_links/{link}": { - /** @description

Retrieves the file link with the given ID.

*/ - get: operations["GetFileLinksLink"]; - /** @description

Updates an existing file link object. Expired links can no longer be updated.

*/ - post: operations["PostFileLinksLink"]; - }; - "/v1/files": { - /** @description

Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top.

*/ - get: operations["GetFiles"]; - /** - * @description

To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file.

- * - *

All of Stripe’s officially supported Client libraries support sending multipart/form-data.

- */ - post: operations["PostFiles"]; - }; - "/v1/files/{file}": { - /** @description

Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to access file contents.

*/ - get: operations["GetFilesFile"]; - }; - "/v1/financial_connections/accounts": { - /** @description

Returns a list of Financial Connections Account objects.

*/ - get: operations["GetFinancialConnectionsAccounts"]; - }; - "/v1/financial_connections/accounts/{account}": { - /** @description

Retrieves the details of an Financial Connections Account.

*/ - get: operations["GetFinancialConnectionsAccountsAccount"]; - }; - "/v1/financial_connections/accounts/{account}/disconnect": { - /** @description

Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).

*/ - post: operations["PostFinancialConnectionsAccountsAccountDisconnect"]; - }; - "/v1/financial_connections/accounts/{account}/owners": { - /** @description

Lists all owners for a given Account

*/ - get: operations["GetFinancialConnectionsAccountsAccountOwners"]; - }; - "/v1/financial_connections/accounts/{account}/refresh": { - /** @description

Refreshes the data associated with a Financial Connections Account.

*/ - post: operations["PostFinancialConnectionsAccountsAccountRefresh"]; - }; - "/v1/financial_connections/sessions": { - /** @description

To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.

*/ - post: operations["PostFinancialConnectionsSessions"]; - }; - "/v1/financial_connections/sessions/{session}": { - /** @description

Retrieves the details of a Financial Connections Session

*/ - get: operations["GetFinancialConnectionsSessionsSession"]; - }; - "/v1/identity/verification_reports": { - /** @description

List all verification reports.

*/ - get: operations["GetIdentityVerificationReports"]; - }; - "/v1/identity/verification_reports/{report}": { - /** @description

Retrieves an existing VerificationReport

*/ - get: operations["GetIdentityVerificationReportsReport"]; - }; - "/v1/identity/verification_sessions": { - /** @description

Returns a list of VerificationSessions

*/ - get: operations["GetIdentityVerificationSessions"]; - /** - * @description

Creates a VerificationSession object.

- * - *

After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session’s url.

- * - *

If your API key is in test mode, verification checks won’t actually process, though everything else will occur as if in live mode.

- * - *

Related guide: Verify your users’ identity documents

- */ - post: operations["PostIdentityVerificationSessions"]; - }; - "/v1/identity/verification_sessions/{session}": { - /** - * @description

Retrieves the details of a VerificationSession that was previously created.

- * - *

When the session status is requires_input, you can use this method to retrieve a valid - * client_secret or url to allow re-submission.

- */ - get: operations["GetIdentityVerificationSessionsSession"]; - /** - * @description

Updates a VerificationSession object.

- * - *

When the session status is requires_input, you can use this method to update the - * verification check and options.

- */ - post: operations["PostIdentityVerificationSessionsSession"]; - }; - "/v1/identity/verification_sessions/{session}/cancel": { - /** - * @description

A VerificationSession object can be canceled when it is in requires_input status.

- * - *

Once canceled, future submission attempts are disabled. This cannot be undone. Learn more.

- */ - post: operations["PostIdentityVerificationSessionsSessionCancel"]; - }; - "/v1/identity/verification_sessions/{session}/redact": { - /** - * @description

Redact a VerificationSession to remove all collected information from Stripe. This will redact - * the VerificationSession and all objects related to it, including VerificationReports, Events, - * request logs, etc.

- * - *

A VerificationSession object can be redacted when it is in requires_input or verified - * status. Redacting a VerificationSession in requires_action - * state will automatically cancel it.

- * - *

The redaction process may take up to four days. When the redaction process is in progress, the - * VerificationSession’s redaction.status field will be set to processing; when the process is - * finished, it will change to redacted and an identity.verification_session.redacted event - * will be emitted.

- * - *

Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the - * fields that contain personal data will be replaced by the string [redacted] or a similar - * placeholder. The metadata field will also be erased. Redacted objects cannot be updated or - * used for any purpose.

- * - *

Learn more.

- */ - post: operations["PostIdentityVerificationSessionsSessionRedact"]; - }; - "/v1/invoiceitems": { - /** @description

Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.

*/ - get: operations["GetInvoiceitems"]; - /** @description

Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified.

*/ - post: operations["PostInvoiceitems"]; - }; - "/v1/invoiceitems/{invoiceitem}": { - /** @description

Retrieves the invoice item with the given ID.

*/ - get: operations["GetInvoiceitemsInvoiceitem"]; - /** @description

Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.

*/ - post: operations["PostInvoiceitemsInvoiceitem"]; - /** @description

Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not attached to invoices, or if it’s attached to a draft invoice.

*/ - delete: operations["DeleteInvoiceitemsInvoiceitem"]; - }; - "/v1/invoices": { - /** @description

You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.

*/ - get: operations["GetInvoices"]; - /** @description

This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you finalize the invoice, which allows you to pay or send the invoice to your customers.

*/ - post: operations["PostInvoices"]; - }; - "/v1/invoices/search": { - /** - * @description

Search for invoices you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - get: operations["GetInvoicesSearch"]; - }; - "/v1/invoices/upcoming": { - /** - * @description

At any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.

- * - *

Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer’s discount.

- * - *

You can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass a proration_date parameter when doing the actual subscription update. The value passed in should be the same as the subscription_proration_date returned on the upcoming invoice resource. The recommended way to get only the prorations being previewed is to consider only proration line items where period[start] is equal to the subscription_proration_date on the upcoming invoice resource.

- */ - get: operations["GetInvoicesUpcoming"]; - }; - "/v1/invoices/upcoming/lines": { - /** @description

When retrieving an upcoming invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - get: operations["GetInvoicesUpcomingLines"]; - }; - "/v1/invoices/{invoice}": { - /** @description

Retrieves the invoice with the given ID.

*/ - get: operations["GetInvoicesInvoice"]; - /** - * @description

Draft invoices are fully editable. Once an invoice is finalized, - * monetary values, as well as collection_method, become uneditable.

- * - *

If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on, - * sending reminders for, or automatically reconciling invoices, pass - * auto_advance=false.

- */ - post: operations["PostInvoicesInvoice"]; - /** @description

Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be voided.

*/ - delete: operations["DeleteInvoicesInvoice"]; - }; - "/v1/invoices/{invoice}/finalize": { - /** @description

Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.

*/ - post: operations["PostInvoicesInvoiceFinalize"]; - }; - "/v1/invoices/{invoice}/lines": { - /** @description

When retrieving an invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - get: operations["GetInvoicesInvoiceLines"]; - }; - "/v1/invoices/{invoice}/mark_uncollectible": { - /** @description

Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.

*/ - post: operations["PostInvoicesInvoiceMarkUncollectible"]; - }; - "/v1/invoices/{invoice}/pay": { - /** @description

Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your subscriptions settings. However, if you’d like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.

*/ - post: operations["PostInvoicesInvoicePay"]; - }; - "/v1/invoices/{invoice}/send": { - /** - * @description

Stripe will automatically send invoices to customers according to your subscriptions settings. However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.

- * - *

Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event.

- */ - post: operations["PostInvoicesInvoiceSend"]; - }; - "/v1/invoices/{invoice}/void": { - /** @description

Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to deletion, however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.

*/ - post: operations["PostInvoicesInvoiceVoid"]; - }; - "/v1/issuing/authorizations": { - /** @description

Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - get: operations["GetIssuingAuthorizations"]; - }; - "/v1/issuing/authorizations/{authorization}": { - /** @description

Retrieves an Issuing Authorization object.

*/ - get: operations["GetIssuingAuthorizationsAuthorization"]; - /** @description

Updates the specified Issuing Authorization object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - post: operations["PostIssuingAuthorizationsAuthorization"]; - }; - "/v1/issuing/authorizations/{authorization}/approve": { - /** - * @description

[Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the real-time authorization flow. - * This method is deprecated. Instead, respond directly to the webhook request to approve an authorization.

- */ - post: operations["PostIssuingAuthorizationsAuthorizationApprove"]; - }; - "/v1/issuing/authorizations/{authorization}/decline": { - /** - * @description

[Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the real time authorization flow. - * This method is deprecated. Instead, respond directly to the webhook request to decline an authorization.

- */ - post: operations["PostIssuingAuthorizationsAuthorizationDecline"]; - }; - "/v1/issuing/cardholders": { - /** @description

Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - get: operations["GetIssuingCardholders"]; - /** @description

Creates a new Issuing Cardholder object that can be issued cards.

*/ - post: operations["PostIssuingCardholders"]; - }; - "/v1/issuing/cardholders/{cardholder}": { - /** @description

Retrieves an Issuing Cardholder object.

*/ - get: operations["GetIssuingCardholdersCardholder"]; - /** @description

Updates the specified Issuing Cardholder object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - post: operations["PostIssuingCardholdersCardholder"]; - }; - "/v1/issuing/cards": { - /** @description

Returns a list of Issuing Card objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - get: operations["GetIssuingCards"]; - /** @description

Creates an Issuing Card object.

*/ - post: operations["PostIssuingCards"]; - }; - "/v1/issuing/cards/{card}": { - /** @description

Retrieves an Issuing Card object.

*/ - get: operations["GetIssuingCardsCard"]; - /** @description

Updates the specified Issuing Card object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - post: operations["PostIssuingCardsCard"]; - }; - "/v1/issuing/disputes": { - /** @description

Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - get: operations["GetIssuingDisputes"]; - /** @description

Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to Dispute reasons and evidence for more details about evidence requirements.

*/ - post: operations["PostIssuingDisputes"]; - }; - "/v1/issuing/disputes/{dispute}": { - /** @description

Retrieves an Issuing Dispute object.

*/ - get: operations["GetIssuingDisputesDispute"]; - /** @description

Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence object can be unset by passing in an empty string.

*/ - post: operations["PostIssuingDisputesDispute"]; - }; - "/v1/issuing/disputes/{dispute}/submit": { - /** @description

Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute’s reason are present. For more details, see Dispute reasons and evidence.

*/ - post: operations["PostIssuingDisputesDisputeSubmit"]; - }; - "/v1/issuing/settlements": { - /** @description

Returns a list of Issuing Settlement objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - get: operations["GetIssuingSettlements"]; - }; - "/v1/issuing/settlements/{settlement}": { - /** @description

Retrieves an Issuing Settlement object.

*/ - get: operations["GetIssuingSettlementsSettlement"]; - /** @description

Updates the specified Issuing Settlement object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - post: operations["PostIssuingSettlementsSettlement"]; - }; - "/v1/issuing/transactions": { - /** @description

Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - get: operations["GetIssuingTransactions"]; - }; - "/v1/issuing/transactions/{transaction}": { - /** @description

Retrieves an Issuing Transaction object.

*/ - get: operations["GetIssuingTransactionsTransaction"]; - /** @description

Updates the specified Issuing Transaction object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - post: operations["PostIssuingTransactionsTransaction"]; - }; - "/v1/link_account_sessions": { - /** @description

To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.

*/ - post: operations["PostLinkAccountSessions"]; - }; - "/v1/link_account_sessions/{session}": { - /** @description

Retrieves the details of a Financial Connections Session

*/ - get: operations["GetLinkAccountSessionsSession"]; - }; - "/v1/linked_accounts": { - /** @description

Returns a list of Financial Connections Account objects.

*/ - get: operations["GetLinkedAccounts"]; - }; - "/v1/linked_accounts/{account}": { - /** @description

Retrieves the details of an Financial Connections Account.

*/ - get: operations["GetLinkedAccountsAccount"]; - }; - "/v1/linked_accounts/{account}/disconnect": { - /** @description

Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).

*/ - post: operations["PostLinkedAccountsAccountDisconnect"]; - }; - "/v1/linked_accounts/{account}/owners": { - /** @description

Lists all owners for a given Account

*/ - get: operations["GetLinkedAccountsAccountOwners"]; - }; - "/v1/linked_accounts/{account}/refresh": { - /** @description

Refreshes the data associated with a Financial Connections Account.

*/ - post: operations["PostLinkedAccountsAccountRefresh"]; - }; - "/v1/mandates/{mandate}": { - /** @description

Retrieves a Mandate object.

*/ - get: operations["GetMandatesMandate"]; - }; - "/v1/payment_intents": { - /** @description

Returns a list of PaymentIntents.

*/ - get: operations["GetPaymentIntents"]; - /** - * @description

Creates a PaymentIntent object.

- * - *

After the PaymentIntent is created, attach a payment method and confirm - * to continue the payment. You can read more about the different payment flows - * available via the Payment Intents API here.

- * - *

When confirm=true is used during creation, it is equivalent to creating - * and confirming the PaymentIntent in the same call. You may use any parameters - * available in the confirm API when confirm=true - * is supplied.

- */ - post: operations["PostPaymentIntents"]; - }; - "/v1/payment_intents/search": { - /** - * @description

Search for PaymentIntents you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - get: operations["GetPaymentIntentsSearch"]; - }; - "/v1/payment_intents/{intent}": { - /** - * @description

Retrieves the details of a PaymentIntent that has previously been created.

- * - *

You can retrieve a PaymentIntent client-side using a publishable key when the client_secret is in the query string.

- * - *

If you retrieve a PaymentIntent with a publishable key, it only returns a subset of properties. Refer to the payment intent object reference for more details.

- */ - get: operations["GetPaymentIntentsIntent"]; - /** - * @description

Updates properties on a PaymentIntent object without confirming.

- * - *

Depending on which properties you update, you might need to confirm the - * PaymentIntent again. For example, updating the payment_method - * always requires you to confirm the PaymentIntent again. If you prefer to - * update and confirm at the same time, we recommend updating properties through - * the confirm API instead.

- */ - post: operations["PostPaymentIntentsIntent"]; - }; - "/v1/payment_intents/{intent}/apply_customer_balance": { - /** @description

Manually reconcile the remaining amount for a customer_balance PaymentIntent.

*/ - post: operations["PostPaymentIntentsIntentApplyCustomerBalance"]; - }; - "/v1/payment_intents/{intent}/cancel": { - /** - * @description

A PaymentIntent object can be canceled when it is in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, in rare cases, processing.

- * - *

Once canceled, no additional charges will be made by the PaymentIntent and any operations on the PaymentIntent will fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable will automatically be refunded.

- * - *

You cannot cancel the PaymentIntent for a Checkout Session. Expire the Checkout Session instead.

- */ - post: operations["PostPaymentIntentsIntentCancel"]; - }; - "/v1/payment_intents/{intent}/capture": { - /** - * @description

Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture.

- * - *

Uncaptured PaymentIntents will be canceled a set number of days after they are created (7 by default).

- * - *

Learn more about separate authorization and capture.

- */ - post: operations["PostPaymentIntentsIntentCapture"]; - }; - "/v1/payment_intents/{intent}/confirm": { - /** - * @description

Confirm that your customer intends to pay with current or provided - * payment method. Upon confirmation, the PaymentIntent will attempt to initiate - * a payment. - * If the selected payment method requires additional authentication steps, the - * PaymentIntent will transition to the requires_action status and - * suggest additional actions via next_action. If payment fails, - * the PaymentIntent transitions to the requires_payment_method status or the - * canceled status if the confirmation limit is reached. If - * payment succeeds, the PaymentIntent will transition to the succeeded - * status (or requires_capture, if capture_method is set to manual). - * If the confirmation_method is automatic, payment may be attempted - * using our client SDKs - * and the PaymentIntent’s client_secret. - * After next_actions are handled by the client, no additional - * confirmation is required to complete the payment. - * If the confirmation_method is manual, all payment attempts must be - * initiated using a secret key. - * If any actions are required for the payment, the PaymentIntent will - * return to the requires_confirmation state - * after those actions are completed. Your server needs to then - * explicitly re-confirm the PaymentIntent to initiate the next payment - * attempt. Read the expanded documentation - * to learn more about manual confirmation.

- */ - post: operations["PostPaymentIntentsIntentConfirm"]; - }; - "/v1/payment_intents/{intent}/increment_authorization": { - /** - * @description

Perform an incremental authorization on an eligible - * PaymentIntent. To be eligible, the - * PaymentIntent’s status must be requires_capture and - * incremental_authorization_supported - * must be true.

- * - *

Incremental authorizations attempt to increase the authorized amount on - * your customer’s card to the new, higher amount provided. As with the - * initial authorization, incremental authorizations may be declined. A - * single PaymentIntent can call this endpoint multiple times to further - * increase the authorized amount.

- * - *

If the incremental authorization succeeds, the PaymentIntent object is - * returned with the updated - * amount. - * If the incremental authorization fails, a - * card_declined error is returned, and no - * fields on the PaymentIntent or Charge are updated. The PaymentIntent - * object remains capturable for the previously authorized amount.

- * - *

Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. - * Once captured, a PaymentIntent can no longer be incremented.

- * - *

Learn more about incremental authorizations.

- */ - post: operations["PostPaymentIntentsIntentIncrementAuthorization"]; - }; - "/v1/payment_intents/{intent}/verify_microdeposits": { - /** @description

Verifies microdeposits on a PaymentIntent object.

*/ - post: operations["PostPaymentIntentsIntentVerifyMicrodeposits"]; - }; - "/v1/payment_links": { - /** @description

Returns a list of your payment links.

*/ - get: operations["GetPaymentLinks"]; - /** @description

Creates a payment link.

*/ - post: operations["PostPaymentLinks"]; - }; - "/v1/payment_links/{payment_link}": { - /** @description

Retrieve a payment link.

*/ - get: operations["GetPaymentLinksPaymentLink"]; - /** @description

Updates a payment link.

*/ - post: operations["PostPaymentLinksPaymentLink"]; - }; - "/v1/payment_links/{payment_link}/line_items": { - /** @description

When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - get: operations["GetPaymentLinksPaymentLinkLineItems"]; - }; - "/v1/payment_method_configurations": { - /** @description

List payment method configurations

*/ - get: operations["GetPaymentMethodConfigurations"]; - /** @description

Creates a payment method configuration

*/ - post: operations["PostPaymentMethodConfigurations"]; - }; - "/v1/payment_method_configurations/{configuration}": { - /** @description

Retrieve payment method configuration

*/ - get: operations["GetPaymentMethodConfigurationsConfiguration"]; - /** @description

Update payment method configuration

*/ - post: operations["PostPaymentMethodConfigurationsConfiguration"]; - }; - "/v1/payment_method_domains": { - /** @description

Lists the details of existing payment method domains.

*/ - get: operations["GetPaymentMethodDomains"]; - /** @description

Creates a payment method domain.

*/ - post: operations["PostPaymentMethodDomains"]; - }; - "/v1/payment_method_domains/{payment_method_domain}": { - /** @description

Retrieves the details of an existing payment method domain.

*/ - get: operations["GetPaymentMethodDomainsPaymentMethodDomain"]; - /** @description

Updates an existing payment method domain.

*/ - post: operations["PostPaymentMethodDomainsPaymentMethodDomain"]; - }; - "/v1/payment_method_domains/{payment_method_domain}/validate": { - /** - * @description

Some payment methods such as Apple Pay require additional steps to verify a domain. If the requirements weren’t satisfied when the domain was created, the payment method will be inactive on the domain. - * The payment method doesn’t appear in Elements for this domain until it is active.

- * - *

To activate a payment method on an existing payment method domain, complete the required validation steps specific to the payment method, and then validate the payment method domain with this endpoint.

- * - *

Related guides: Payment method domains.

- */ - post: operations["PostPaymentMethodDomainsPaymentMethodDomainValidate"]; - }; - "/v1/payment_methods": { - /** @description

Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the List a Customer’s PaymentMethods API instead.

*/ - get: operations["GetPaymentMethods"]; - /** - * @description

Creates a PaymentMethod object. Read the Stripe.js reference to learn how to create PaymentMethods via Stripe.js.

- * - *

Instead of creating a PaymentMethod directly, we recommend using the PaymentIntents API to accept a payment immediately or the SetupIntent API to collect payment method details ahead of a future payment.

- */ - post: operations["PostPaymentMethods"]; - }; - "/v1/payment_methods/{payment_method}": { - /** @description

Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use Retrieve a Customer’s PaymentMethods

*/ - get: operations["GetPaymentMethodsPaymentMethod"]; - /** @description

Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.

*/ - post: operations["PostPaymentMethodsPaymentMethod"]; - }; - "/v1/payment_methods/{payment_method}/attach": { - /** - * @description

Attaches a PaymentMethod object to a Customer.

- * - *

To attach a new PaymentMethod to a customer for future payments, we recommend you use a SetupIntent - * or a PaymentIntent with setup_future_usage. - * These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach - * endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for - * future use, which makes later declines and payment friction more likely. - * See Optimizing cards for future payments for more information about setting up - * future payments.

- * - *

To use this PaymentMethod as the default for invoice or subscription payments, - * set invoice_settings.default_payment_method, - * on the Customer to the PaymentMethod’s ID.

- */ - post: operations["PostPaymentMethodsPaymentMethodAttach"]; - }; - "/v1/payment_methods/{payment_method}/detach": { - /** @description

Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer.

*/ - post: operations["PostPaymentMethodsPaymentMethodDetach"]; - }; - "/v1/payouts": { - /** @description

Returns a list of existing payouts sent to third-party bank accounts or payouts that Stripe sent to you. The payouts return in sorted order, with the most recently created payouts appearing first.

*/ - get: operations["GetPayouts"]; - /** - * @description

To send funds to your own bank account, create a new payout object. Your Stripe balance must cover the payout amount. If it doesn’t, you receive an “Insufficient Funds” error.

- * - *

If your API key is in test mode, money won’t actually be sent, though every other action occurs as if you’re in live mode.

- * - *

If you create a manual payout on a Stripe account that uses multiple payment source types, you need to specify the source type balance that the payout draws from. The balance object details available and pending amounts by source type.

- */ - post: operations["PostPayouts"]; - }; - "/v1/payouts/{payout}": { - /** @description

Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list. Stripe returns the corresponding payout information.

*/ - get: operations["GetPayoutsPayout"]; - /** @description

Updates the specified payout by setting the values of the parameters you pass. We don’t change parameters that you don’t provide. This request only accepts the metadata as arguments.

*/ - post: operations["PostPayoutsPayout"]; - }; - "/v1/payouts/{payout}/cancel": { - /** @description

You can cancel a previously created payout if it hasn’t been paid out yet. Stripe refunds the funds to your available balance. You can’t cancel automatic Stripe payouts.

*/ - post: operations["PostPayoutsPayoutCancel"]; - }; - "/v1/payouts/{payout}/reverse": { - /** - * @description

Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US bank accounts. If the payout is in the pending status, use /v1/payouts/:id/cancel instead.

- * - *

By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required.

- */ - post: operations["PostPayoutsPayoutReverse"]; - }; - "/v1/plans": { - /** @description

Returns a list of your plans.

*/ - get: operations["GetPlans"]; - /** @description

You can now model subscriptions more flexibly using the Prices API. It replaces the Plans API and is backwards compatible to simplify your migration.

*/ - post: operations["PostPlans"]; - }; - "/v1/plans/{plan}": { - /** @description

Retrieves the plan with the given ID.

*/ - get: operations["GetPlansPlan"]; - /** @description

Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.

*/ - post: operations["PostPlansPlan"]; - /** @description

Deleting plans means new subscribers can’t be added. Existing subscribers aren’t affected.

*/ - delete: operations["DeletePlansPlan"]; - }; - "/v1/prices": { - /** @description

Returns a list of your prices.

*/ - get: operations["GetPrices"]; - /** @description

Creates a new price for an existing product. The price can be recurring or one-time.

*/ - post: operations["PostPrices"]; - }; - "/v1/prices/search": { - /** - * @description

Search for prices you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - get: operations["GetPricesSearch"]; - }; - "/v1/prices/{price}": { - /** @description

Retrieves the price with the given ID.

*/ - get: operations["GetPricesPrice"]; - /** @description

Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged.

*/ - post: operations["PostPricesPrice"]; - }; - "/v1/products": { - /** @description

Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.

*/ - get: operations["GetProducts"]; - /** @description

Creates a new product object.

*/ - post: operations["PostProducts"]; - }; - "/v1/products/search": { - /** - * @description

Search for products you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - get: operations["GetProductsSearch"]; - }; - "/v1/products/{id}": { - /** @description

Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.

*/ - get: operations["GetProductsId"]; - /** @description

Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - post: operations["PostProductsId"]; - /** @description

Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it.

*/ - delete: operations["DeleteProductsId"]; - }; - "/v1/promotion_codes": { - /** @description

Returns a list of your promotion codes.

*/ - get: operations["GetPromotionCodes"]; - /** @description

A promotion code points to a coupon. You can optionally restrict the code to a specific customer, redemption limit, and expiration date.

*/ - post: operations["PostPromotionCodes"]; - }; - "/v1/promotion_codes/{promotion_code}": { - /** @description

Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use list with the desired code.

*/ - get: operations["GetPromotionCodesPromotionCode"]; - /** @description

Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable.

*/ - post: operations["PostPromotionCodesPromotionCode"]; - }; - "/v1/quotes": { - /** @description

Returns a list of your quotes.

*/ - get: operations["GetQuotes"]; - /** @description

A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the quote template.

*/ - post: operations["PostQuotes"]; - }; - "/v1/quotes/{quote}": { - /** @description

Retrieves the quote with the given ID.

*/ - get: operations["GetQuotesQuote"]; - /** @description

A quote models prices and services for a customer.

*/ - post: operations["PostQuotesQuote"]; - }; - "/v1/quotes/{quote}/accept": { - /** @description

Accepts the specified quote.

*/ - post: operations["PostQuotesQuoteAccept"]; - }; - "/v1/quotes/{quote}/cancel": { - /** @description

Cancels the quote.

*/ - post: operations["PostQuotesQuoteCancel"]; - }; - "/v1/quotes/{quote}/computed_upfront_line_items": { - /** @description

When retrieving a quote, there is an includable computed.upfront.line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items.

*/ - get: operations["GetQuotesQuoteComputedUpfrontLineItems"]; - }; - "/v1/quotes/{quote}/finalize": { - /** @description

Finalizes the quote.

*/ - post: operations["PostQuotesQuoteFinalize"]; - }; - "/v1/quotes/{quote}/line_items": { - /** @description

When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - get: operations["GetQuotesQuoteLineItems"]; - }; - "/v1/quotes/{quote}/pdf": { - /** @description

Download the PDF for a finalized quote

*/ - get: operations["GetQuotesQuotePdf"]; - }; - "/v1/radar/early_fraud_warnings": { - /** @description

Returns a list of early fraud warnings.

*/ - get: operations["GetRadarEarlyFraudWarnings"]; - }; - "/v1/radar/early_fraud_warnings/{early_fraud_warning}": { - /** - * @description

Retrieves the details of an early fraud warning that has previously been created.

- * - *

Please refer to the early fraud warning object reference for more details.

- */ - get: operations["GetRadarEarlyFraudWarningsEarlyFraudWarning"]; - }; - "/v1/radar/value_list_items": { - /** @description

Returns a list of ValueListItem objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - get: operations["GetRadarValueListItems"]; - /** @description

Creates a new ValueListItem object, which is added to the specified parent value list.

*/ - post: operations["PostRadarValueListItems"]; - }; - "/v1/radar/value_list_items/{item}": { - /** @description

Retrieves a ValueListItem object.

*/ - get: operations["GetRadarValueListItemsItem"]; - /** @description

Deletes a ValueListItem object, removing it from its parent value list.

*/ - delete: operations["DeleteRadarValueListItemsItem"]; - }; - "/v1/radar/value_lists": { - /** @description

Returns a list of ValueList objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - get: operations["GetRadarValueLists"]; - /** @description

Creates a new ValueList object, which can then be referenced in rules.

*/ - post: operations["PostRadarValueLists"]; - }; - "/v1/radar/value_lists/{value_list}": { - /** @description

Retrieves a ValueList object.

*/ - get: operations["GetRadarValueListsValueList"]; - /** @description

Updates a ValueList object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that item_type is immutable.

*/ - post: operations["PostRadarValueListsValueList"]; - /** @description

Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules.

*/ - delete: operations["DeleteRadarValueListsValueList"]; - }; - "/v1/refunds": { - /** @description

Returns a list of all refunds you’ve previously created. The refunds are returned in sorted order, with the most recent refunds appearing first. For convenience, the 10 most recent refunds are always available by default on the charge object.

*/ - get: operations["GetRefunds"]; - /** - * @description

When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.

- * - *

Creating a new refund will refund a charge that has previously been created but not yet refunded. - * Funds will be refunded to the credit or debit card that was originally charged.

- * - *

You can optionally refund only part of a charge. - * You can do so multiple times, until the entire charge has been refunded.

- * - *

Once entirely refunded, a charge can’t be refunded again. - * This method will raise an error when called on an already-refunded charge, - * or when trying to refund more money than is left on a charge.

- */ - post: operations["PostRefunds"]; - }; - "/v1/refunds/{refund}": { - /** @description

Retrieves the details of an existing refund.

*/ - get: operations["GetRefundsRefund"]; - /** - * @description

Updates the specified refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

- * - *

This request only accepts metadata as an argument.

- */ - post: operations["PostRefundsRefund"]; - }; - "/v1/refunds/{refund}/cancel": { - /** - * @description

Cancels a refund with a status of requires_action.

- * - *

Refunds in other states cannot be canceled, and only refunds for payment methods that require customer action will enter the requires_action state.

- */ - post: operations["PostRefundsRefundCancel"]; - }; - "/v1/reporting/report_runs": { - /** @description

Returns a list of Report Runs, with the most recent appearing first.

*/ - get: operations["GetReportingReportRuns"]; - /** @description

Creates a new object and begin running the report. (Certain report types require a live-mode API key.)

*/ - post: operations["PostReportingReportRuns"]; - }; - "/v1/reporting/report_runs/{report_run}": { - /** @description

Retrieves the details of an existing Report Run.

*/ - get: operations["GetReportingReportRunsReportRun"]; - }; - "/v1/reporting/report_types": { - /** @description

Returns a full list of Report Types.

*/ - get: operations["GetReportingReportTypes"]; - }; - "/v1/reporting/report_types/{report_type}": { - /** @description

Retrieves the details of a Report Type. (Certain report types require a live-mode API key.)

*/ - get: operations["GetReportingReportTypesReportType"]; - }; - "/v1/reviews": { - /** @description

Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - get: operations["GetReviews"]; - }; - "/v1/reviews/{review}": { - /** @description

Retrieves a Review object.

*/ - get: operations["GetReviewsReview"]; - }; - "/v1/reviews/{review}/approve": { - /** @description

Approves a Review object, closing it and removing it from the list of reviews.

*/ - post: operations["PostReviewsReviewApprove"]; - }; - "/v1/setup_attempts": { - /** @description

Returns a list of SetupAttempts that associate with a provided SetupIntent.

*/ - get: operations["GetSetupAttempts"]; - }; - "/v1/setup_intents": { - /** @description

Returns a list of SetupIntents.

*/ - get: operations["GetSetupIntents"]; - /** - * @description

Creates a SetupIntent object.

- * - *

After the SetupIntent is created, attach a payment method and confirm - * to collect any required permissions to charge the payment method later.

- */ - post: operations["PostSetupIntents"]; - }; - "/v1/setup_intents/{intent}": { - /** - * @description

Retrieves the details of a SetupIntent that has previously been created.

- * - *

Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string.

- * - *

When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the SetupIntent object reference for more details.

- */ - get: operations["GetSetupIntentsIntent"]; - /** @description

Updates a SetupIntent object.

*/ - post: operations["PostSetupIntentsIntent"]; - }; - "/v1/setup_intents/{intent}/cancel": { - /** - * @description

A SetupIntent object can be canceled when it is in one of these statuses: requires_payment_method, requires_confirmation, or requires_action.

- * - *

Once canceled, setup is abandoned and any operations on the SetupIntent will fail with an error.

- */ - post: operations["PostSetupIntentsIntentCancel"]; - }; - "/v1/setup_intents/{intent}/confirm": { - /** - * @description

Confirm that your customer intends to set up the current or - * provided payment method. For example, you would confirm a SetupIntent - * when a customer hits the “Save” button on a payment method management - * page on your website.

- * - *

If the selected payment method does not require any additional - * steps from the customer, the SetupIntent will transition to the - * succeeded status.

- * - *

Otherwise, it will transition to the requires_action status and - * suggest additional actions via next_action. If setup fails, - * the SetupIntent will transition to the - * requires_payment_method status or the canceled status if the - * confirmation limit is reached.

- */ - post: operations["PostSetupIntentsIntentConfirm"]; - }; - "/v1/setup_intents/{intent}/verify_microdeposits": { - /** @description

Verifies microdeposits on a SetupIntent object.

*/ - post: operations["PostSetupIntentsIntentVerifyMicrodeposits"]; - }; - "/v1/shipping_rates": { - /** @description

Returns a list of your shipping rates.

*/ - get: operations["GetShippingRates"]; - /** @description

Creates a new shipping rate object.

*/ - post: operations["PostShippingRates"]; - }; - "/v1/shipping_rates/{shipping_rate_token}": { - /** @description

Returns the shipping rate object with the given ID.

*/ - get: operations["GetShippingRatesShippingRateToken"]; - /** @description

Updates an existing shipping rate object.

*/ - post: operations["PostShippingRatesShippingRateToken"]; - }; - "/v1/sigma/scheduled_query_runs": { - /** @description

Returns a list of scheduled query runs.

*/ - get: operations["GetSigmaScheduledQueryRuns"]; - }; - "/v1/sigma/scheduled_query_runs/{scheduled_query_run}": { - /** @description

Retrieves the details of an scheduled query run.

*/ - get: operations["GetSigmaScheduledQueryRunsScheduledQueryRun"]; - }; - "/v1/sources": { - /** @description

Creates a new source object.

*/ - post: operations["PostSources"]; - }; - "/v1/sources/{source}": { - /** @description

Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information.

*/ - get: operations["GetSourcesSource"]; - /** - * @description

Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

- * - *

This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our payment method guides for more detail.

- */ - post: operations["PostSourcesSource"]; - }; - "/v1/sources/{source}/mandate_notifications/{mandate_notification}": { - /** @description

Retrieves a new Source MandateNotification.

*/ - get: operations["GetSourcesSourceMandateNotificationsMandateNotification"]; - }; - "/v1/sources/{source}/source_transactions": { - /** @description

List source transactions for a given source.

*/ - get: operations["GetSourcesSourceSourceTransactions"]; - }; - "/v1/sources/{source}/source_transactions/{source_transaction}": { - /** @description

Retrieve an existing source transaction object. Supply the unique source ID from a source creation request and the source transaction ID and Stripe will return the corresponding up-to-date source object information.

*/ - get: operations["GetSourcesSourceSourceTransactionsSourceTransaction"]; - }; - "/v1/sources/{source}/verify": { - /** @description

Verify a given source.

*/ - post: operations["PostSourcesSourceVerify"]; - }; - "/v1/subscription_items": { - /** @description

Returns a list of your subscription items for a given subscription.

*/ - get: operations["GetSubscriptionItems"]; - /** @description

Adds a new item to an existing subscription. No existing items will be changed or replaced.

*/ - post: operations["PostSubscriptionItems"]; - }; - "/v1/subscription_items/{item}": { - /** @description

Retrieves the subscription item with the given ID.

*/ - get: operations["GetSubscriptionItemsItem"]; - /** @description

Updates the plan or quantity of an item on a current subscription.

*/ - post: operations["PostSubscriptionItemsItem"]; - /** @description

Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.

*/ - delete: operations["DeleteSubscriptionItemsItem"]; - }; - "/v1/subscription_items/{subscription_item}/usage_record_summaries": { - /** - * @description

For the specified subscription item, returns a list of summary objects. Each object in the list provides usage information that’s been summarized from multiple usage records and over a subscription billing period (e.g., 15 usage records in the month of September).

- * - *

The list is sorted in reverse-chronological order (newest first). The first list item represents the most current usage period that hasn’t ended yet. Since new usage records can still be added, the returned summary information for the subscription item’s ID should be seen as unstable until the subscription billing period ends.

- */ - get: operations["GetSubscriptionItemsSubscriptionItemUsageRecordSummaries"]; - }; - "/v1/subscription_items/{subscription_item}/usage_records": { - /** - * @description

Creates a usage record for a specified subscription item and date, and fills it with a quantity.

- * - *

Usage records provide quantity information that Stripe uses to track how much a customer is using your service. With usage information and the pricing model set up by the metered billing plan, Stripe helps you send accurate invoices to your customers.

- * - *

The default calculation for usage is to add up all the quantity values of the usage records within a billing period. You can change this default behavior with the billing plan’s aggregate_usage parameter. When there is more than one usage record with the same timestamp, Stripe adds the quantity values together. In most cases, this is the desired resolution, however, you can change this behavior with the action parameter.

- * - *

The default pricing model for metered billing is per-unit pricing. For finer granularity, you can configure metered billing to have a tiered pricing model.

- */ - post: operations["PostSubscriptionItemsSubscriptionItemUsageRecords"]; - }; - "/v1/subscription_schedules": { - /** @description

Retrieves the list of your subscription schedules.

*/ - get: operations["GetSubscriptionSchedules"]; - /** @description

Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.

*/ - post: operations["PostSubscriptionSchedules"]; - }; - "/v1/subscription_schedules/{schedule}": { - /** @description

Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation.

*/ - get: operations["GetSubscriptionSchedulesSchedule"]; - /** @description

Updates an existing subscription schedule.

*/ - post: operations["PostSubscriptionSchedulesSchedule"]; - }; - "/v1/subscription_schedules/{schedule}/cancel": { - /** @description

Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active.

*/ - post: operations["PostSubscriptionSchedulesScheduleCancel"]; - }; - "/v1/subscription_schedules/{schedule}/release": { - /** @description

Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription’s ID to the released_subscription property.

*/ - post: operations["PostSubscriptionSchedulesScheduleRelease"]; - }; - "/v1/subscriptions": { - /** @description

By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify status=canceled.

*/ - get: operations["GetSubscriptions"]; - /** - * @description

Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.

- * - *

When you create a subscription with collection_method=charge_automatically, the first invoice is finalized as part of the request. - * The payment_behavior parameter determines the exact behavior of the initial payment.

- * - *

To start subscriptions where the first invoice always begins in a draft status, use subscription schedules instead. - * Schedules provide the flexibility to model more complex billing configurations that change over time.

- */ - post: operations["PostSubscriptions"]; - }; - "/v1/subscriptions/search": { - /** - * @description

Search for subscriptions you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - get: operations["GetSubscriptionsSearch"]; - }; - "/v1/subscriptions/{subscription_exposed_id}": { - /** @description

Retrieves the subscription with the given ID.

*/ - get: operations["GetSubscriptionsSubscriptionExposedId"]; - /** @description

Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint.

*/ - post: operations["PostSubscriptionsSubscriptionExposedId"]; - /** - * @description

Cancels a customer’s subscription immediately. The customer will not be charged again for the subscription.

- * - *

Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually deleted. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.

- * - *

By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.

- */ - delete: operations["DeleteSubscriptionsSubscriptionExposedId"]; - }; - "/v1/subscriptions/{subscription_exposed_id}/discount": { - /** @description

Removes the currently applied discount on a subscription.

*/ - delete: operations["DeleteSubscriptionsSubscriptionExposedIdDiscount"]; - }; - "/v1/subscriptions/{subscription}/resume": { - /** @description

Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date.

*/ - post: operations["PostSubscriptionsSubscriptionResume"]; - }; - "/v1/tax/calculations": { - /** @description

Calculates tax based on input and returns a Tax Calculation object.

*/ - post: operations["PostTaxCalculations"]; - }; - "/v1/tax/calculations/{calculation}/line_items": { - /** @description

Retrieves the line items of a persisted tax calculation as a collection.

*/ - get: operations["GetTaxCalculationsCalculationLineItems"]; - }; - "/v1/tax/settings": { - /** @description

Retrieves Tax Settings for a merchant.

*/ - get: operations["GetTaxSettings"]; - /** @description

Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set.

*/ - post: operations["PostTaxSettings"]; - }; - "/v1/tax/transactions/create_from_calculation": { - /** @description

Creates a Tax Transaction from a calculation.

*/ - post: operations["PostTaxTransactionsCreateFromCalculation"]; - }; - "/v1/tax/transactions/create_reversal": { - /** @description

Partially or fully reverses a previously created Transaction.

*/ - post: operations["PostTaxTransactionsCreateReversal"]; - }; - "/v1/tax/transactions/{transaction}": { - /** @description

Retrieves a Tax Transaction object.

*/ - get: operations["GetTaxTransactionsTransaction"]; - }; - "/v1/tax/transactions/{transaction}/line_items": { - /** @description

Retrieves the line items of a committed standalone transaction as a collection.

*/ - get: operations["GetTaxTransactionsTransactionLineItems"]; - }; - "/v1/tax_codes": { - /** @description

A list of all tax codes available to add to Products in order to allow specific tax calculations.

*/ - get: operations["GetTaxCodes"]; - }; - "/v1/tax_codes/{id}": { - /** @description

Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information.

*/ - get: operations["GetTaxCodesId"]; - }; - "/v1/tax_rates": { - /** @description

Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first.

*/ - get: operations["GetTaxRates"]; - /** @description

Creates a new tax rate.

*/ - post: operations["PostTaxRates"]; - }; - "/v1/tax_rates/{tax_rate}": { - /** @description

Retrieves a tax rate with the given ID

*/ - get: operations["GetTaxRatesTaxRate"]; - /** @description

Updates an existing tax rate.

*/ - post: operations["PostTaxRatesTaxRate"]; - }; - "/v1/terminal/configurations": { - /** @description

Returns a list of Configuration objects.

*/ - get: operations["GetTerminalConfigurations"]; - /** @description

Creates a new Configuration object.

*/ - post: operations["PostTerminalConfigurations"]; - }; - "/v1/terminal/configurations/{configuration}": { - /** @description

Retrieves a Configuration object.

*/ - get: operations["GetTerminalConfigurationsConfiguration"]; - /** @description

Updates a new Configuration object.

*/ - post: operations["PostTerminalConfigurationsConfiguration"]; - /** @description

Deletes a Configuration object.

*/ - delete: operations["DeleteTerminalConfigurationsConfiguration"]; - }; - "/v1/terminal/connection_tokens": { - /** @description

To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token.

*/ - post: operations["PostTerminalConnectionTokens"]; - }; - "/v1/terminal/locations": { - /** @description

Returns a list of Location objects.

*/ - get: operations["GetTerminalLocations"]; - /** - * @description

Creates a new Location object. - * For further details, including which address fields are required in each country, see the Manage locations guide.

- */ - post: operations["PostTerminalLocations"]; - }; - "/v1/terminal/locations/{location}": { - /** @description

Retrieves a Location object.

*/ - get: operations["GetTerminalLocationsLocation"]; - /** @description

Updates a Location object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - post: operations["PostTerminalLocationsLocation"]; - /** @description

Deletes a Location object.

*/ - delete: operations["DeleteTerminalLocationsLocation"]; - }; - "/v1/terminal/readers": { - /** @description

Returns a list of Reader objects.

*/ - get: operations["GetTerminalReaders"]; - /** @description

Creates a new Reader object.

*/ - post: operations["PostTerminalReaders"]; - }; - "/v1/terminal/readers/{reader}": { - /** @description

Retrieves a Reader object.

*/ - get: operations["GetTerminalReadersReader"]; - /** @description

Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - post: operations["PostTerminalReadersReader"]; - /** @description

Deletes a Reader object.

*/ - delete: operations["DeleteTerminalReadersReader"]; - }; - "/v1/terminal/readers/{reader}/cancel_action": { - /** @description

Cancels the current reader action.

*/ - post: operations["PostTerminalReadersReaderCancelAction"]; - }; - "/v1/terminal/readers/{reader}/process_payment_intent": { - /** @description

Initiates a payment flow on a Reader.

*/ - post: operations["PostTerminalReadersReaderProcessPaymentIntent"]; - }; - "/v1/terminal/readers/{reader}/process_setup_intent": { - /** @description

Initiates a setup intent flow on a Reader.

*/ - post: operations["PostTerminalReadersReaderProcessSetupIntent"]; - }; - "/v1/terminal/readers/{reader}/refund_payment": { - /** @description

Initiates a refund on a Reader

*/ - post: operations["PostTerminalReadersReaderRefundPayment"]; - }; - "/v1/terminal/readers/{reader}/set_reader_display": { - /** @description

Sets reader display to show cart details.

*/ - post: operations["PostTerminalReadersReaderSetReaderDisplay"]; - }; - "/v1/test_helpers/customers/{customer}/fund_cash_balance": { - /** @description

Create an incoming testmode bank transfer

*/ - post: operations["PostTestHelpersCustomersCustomerFundCashBalance"]; - }; - "/v1/test_helpers/issuing/authorizations": { - /** @description

Create a test-mode authorization.

*/ - post: operations["PostTestHelpersIssuingAuthorizations"]; - }; - "/v1/test_helpers/issuing/authorizations/{authorization}/capture": { - /** @description

Capture a test-mode authorization.

*/ - post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationCapture"]; - }; - "/v1/test_helpers/issuing/authorizations/{authorization}/expire": { - /** @description

Expire a test-mode Authorization.

*/ - post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationExpire"]; - }; - "/v1/test_helpers/issuing/authorizations/{authorization}/increment": { - /** @description

Increment a test-mode Authorization.

*/ - post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationIncrement"]; - }; - "/v1/test_helpers/issuing/authorizations/{authorization}/reverse": { - /** @description

Reverse a test-mode Authorization.

*/ - post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationReverse"]; - }; - "/v1/test_helpers/issuing/cards/{card}/shipping/deliver": { - /** @description

Updates the shipping status of the specified Issuing Card object to delivered.

*/ - post: operations["PostTestHelpersIssuingCardsCardShippingDeliver"]; - }; - "/v1/test_helpers/issuing/cards/{card}/shipping/fail": { - /** @description

Updates the shipping status of the specified Issuing Card object to failure.

*/ - post: operations["PostTestHelpersIssuingCardsCardShippingFail"]; - }; - "/v1/test_helpers/issuing/cards/{card}/shipping/return": { - /** @description

Updates the shipping status of the specified Issuing Card object to returned.

*/ - post: operations["PostTestHelpersIssuingCardsCardShippingReturn"]; - }; - "/v1/test_helpers/issuing/cards/{card}/shipping/ship": { - /** @description

Updates the shipping status of the specified Issuing Card object to shipped.

*/ - post: operations["PostTestHelpersIssuingCardsCardShippingShip"]; - }; - "/v1/test_helpers/issuing/transactions/create_force_capture": { - /** @description

Allows the user to capture an arbitrary amount, also known as a forced capture.

*/ - post: operations["PostTestHelpersIssuingTransactionsCreateForceCapture"]; - }; - "/v1/test_helpers/issuing/transactions/create_unlinked_refund": { - /** @description

Allows the user to refund an arbitrary amount, also known as a unlinked refund.

*/ - post: operations["PostTestHelpersIssuingTransactionsCreateUnlinkedRefund"]; - }; - "/v1/test_helpers/issuing/transactions/{transaction}/refund": { - /** @description

Refund a test-mode Transaction.

*/ - post: operations["PostTestHelpersIssuingTransactionsTransactionRefund"]; - }; - "/v1/test_helpers/refunds/{refund}/expire": { - /** @description

Expire a refund with a status of requires_action.

*/ - post: operations["PostTestHelpersRefundsRefundExpire"]; - }; - "/v1/test_helpers/terminal/readers/{reader}/present_payment_method": { - /** @description

Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction.

*/ - post: operations["PostTestHelpersTerminalReadersReaderPresentPaymentMethod"]; - }; - "/v1/test_helpers/test_clocks": { - /** @description

Returns a list of your test clocks.

*/ - get: operations["GetTestHelpersTestClocks"]; - /** @description

Creates a new test clock that can be attached to new customers and quotes.

*/ - post: operations["PostTestHelpersTestClocks"]; - }; - "/v1/test_helpers/test_clocks/{test_clock}": { - /** @description

Retrieves a test clock.

*/ - get: operations["GetTestHelpersTestClocksTestClock"]; - /** @description

Deletes a test clock.

*/ - delete: operations["DeleteTestHelpersTestClocksTestClock"]; - }; - "/v1/test_helpers/test_clocks/{test_clock}/advance": { - /** @description

Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready.

*/ - post: operations["PostTestHelpersTestClocksTestClockAdvance"]; - }; - "/v1/test_helpers/treasury/inbound_transfers/{id}/fail": { - /** @description

Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state.

*/ - post: operations["PostTestHelpersTreasuryInboundTransfersIdFail"]; - }; - "/v1/test_helpers/treasury/inbound_transfers/{id}/return": { - /** @description

Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state.

*/ - post: operations["PostTestHelpersTreasuryInboundTransfersIdReturn"]; - }; - "/v1/test_helpers/treasury/inbound_transfers/{id}/succeed": { - /** @description

Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state.

*/ - post: operations["PostTestHelpersTreasuryInboundTransfersIdSucceed"]; - }; - "/v1/test_helpers/treasury/outbound_payments/{id}/fail": { - /** @description

Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state.

*/ - post: operations["PostTestHelpersTreasuryOutboundPaymentsIdFail"]; - }; - "/v1/test_helpers/treasury/outbound_payments/{id}/post": { - /** @description

Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state.

*/ - post: operations["PostTestHelpersTreasuryOutboundPaymentsIdPost"]; - }; - "/v1/test_helpers/treasury/outbound_payments/{id}/return": { - /** @description

Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state.

*/ - post: operations["PostTestHelpersTreasuryOutboundPaymentsIdReturn"]; - }; - "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/fail": { - /** @description

Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state.

*/ - post: operations["PostTestHelpersTreasuryOutboundTransfersOutboundTransferFail"]; - }; - "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/post": { - /** @description

Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state.

*/ - post: operations["PostTestHelpersTreasuryOutboundTransfersOutboundTransferPost"]; - }; - "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/return": { - /** @description

Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state.

*/ - post: operations["PostTestHelpersTreasuryOutboundTransfersOutboundTransferReturn"]; - }; - "/v1/test_helpers/treasury/received_credits": { - /** @description

Use this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can’t directly create ReceivedCredits initiated by third parties.

*/ - post: operations["PostTestHelpersTreasuryReceivedCredits"]; - }; - "/v1/test_helpers/treasury/received_debits": { - /** @description

Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can’t directly create ReceivedDebits initiated by third parties.

*/ - post: operations["PostTestHelpersTreasuryReceivedDebits"]; - }; - "/v1/tokens": { - /** - * @description

Creates a single-use token that represents a bank account’s details. - * This token can be used with any API method in place of a bank account dictionary. This token can be used only once, by attaching it to a Custom account.

- */ - post: operations["PostTokens"]; - }; - "/v1/tokens/{token}": { - /** @description

Retrieves the token with the given ID.

*/ - get: operations["GetTokensToken"]; - }; - "/v1/topups": { - /** @description

Returns a list of top-ups.

*/ - get: operations["GetTopups"]; - /** @description

Top up the balance of an account

*/ - post: operations["PostTopups"]; - }; - "/v1/topups/{topup}": { - /** @description

Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information.

*/ - get: operations["GetTopupsTopup"]; - /** @description

Updates the metadata of a top-up. Other top-up details are not editable by design.

*/ - post: operations["PostTopupsTopup"]; - }; - "/v1/topups/{topup}/cancel": { - /** @description

Cancels a top-up. Only pending top-ups can be canceled.

*/ - post: operations["PostTopupsTopupCancel"]; - }; - "/v1/transfers": { - /** @description

Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first.

*/ - get: operations["GetTransfers"]; - /** @description

To send funds from your Stripe account to a connected account, you create a new transfer object. Your Stripe balance must be able to cover the transfer amount, or you’ll receive an “Insufficient Funds” error.

*/ - post: operations["PostTransfers"]; - }; - "/v1/transfers/{id}/reversals": { - /** @description

You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional reversals.

*/ - get: operations["GetTransfersIdReversals"]; - /** - * @description

When you create a new reversal, you must specify a transfer to create it on.

- * - *

When reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed.

- * - *

Once entirely reversed, a transfer can’t be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer.

- */ - post: operations["PostTransfersIdReversals"]; - }; - "/v1/transfers/{transfer}": { - /** @description

Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information.

*/ - get: operations["GetTransfersTransfer"]; - /** - * @description

Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

- * - *

This request accepts only metadata as an argument.

- */ - post: operations["PostTransfersTransfer"]; - }; - "/v1/transfers/{transfer}/reversals/{id}": { - /** @description

By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer.

*/ - get: operations["GetTransfersTransferReversalsId"]; - /** - * @description

Updates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

- * - *

This request only accepts metadata and description as arguments.

- */ - post: operations["PostTransfersTransferReversalsId"]; - }; - "/v1/treasury/credit_reversals": { - /** @description

Returns a list of CreditReversals.

*/ - get: operations["GetTreasuryCreditReversals"]; - /** @description

Reverses a ReceivedCredit and creates a CreditReversal object.

*/ - post: operations["PostTreasuryCreditReversals"]; - }; - "/v1/treasury/credit_reversals/{credit_reversal}": { - /** @description

Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list

*/ - get: operations["GetTreasuryCreditReversalsCreditReversal"]; - }; - "/v1/treasury/debit_reversals": { - /** @description

Returns a list of DebitReversals.

*/ - get: operations["GetTreasuryDebitReversals"]; - /** @description

Reverses a ReceivedDebit and creates a DebitReversal object.

*/ - post: operations["PostTreasuryDebitReversals"]; - }; - "/v1/treasury/debit_reversals/{debit_reversal}": { - /** @description

Retrieves a DebitReversal object.

*/ - get: operations["GetTreasuryDebitReversalsDebitReversal"]; - }; - "/v1/treasury/financial_accounts": { - /** @description

Returns a list of FinancialAccounts.

*/ - get: operations["GetTreasuryFinancialAccounts"]; - /** @description

Creates a new FinancialAccount. For now, each connected account can only have one FinancialAccount.

*/ - post: operations["PostTreasuryFinancialAccounts"]; - }; - "/v1/treasury/financial_accounts/{financial_account}": { - /** @description

Retrieves the details of a FinancialAccount.

*/ - get: operations["GetTreasuryFinancialAccountsFinancialAccount"]; - /** @description

Updates the details of a FinancialAccount.

*/ - post: operations["PostTreasuryFinancialAccountsFinancialAccount"]; - }; - "/v1/treasury/financial_accounts/{financial_account}/features": { - /** @description

Retrieves Features information associated with the FinancialAccount.

*/ - get: operations["GetTreasuryFinancialAccountsFinancialAccountFeatures"]; - /** @description

Updates the Features associated with a FinancialAccount.

*/ - post: operations["PostTreasuryFinancialAccountsFinancialAccountFeatures"]; - }; - "/v1/treasury/inbound_transfers": { - /** @description

Returns a list of InboundTransfers sent from the specified FinancialAccount.

*/ - get: operations["GetTreasuryInboundTransfers"]; - /** @description

Creates an InboundTransfer.

*/ - post: operations["PostTreasuryInboundTransfers"]; - }; - "/v1/treasury/inbound_transfers/{id}": { - /** @description

Retrieves the details of an existing InboundTransfer.

*/ - get: operations["GetTreasuryInboundTransfersId"]; - }; - "/v1/treasury/inbound_transfers/{inbound_transfer}/cancel": { - /** @description

Cancels an InboundTransfer.

*/ - post: operations["PostTreasuryInboundTransfersInboundTransferCancel"]; - }; - "/v1/treasury/outbound_payments": { - /** @description

Returns a list of OutboundPayments sent from the specified FinancialAccount.

*/ - get: operations["GetTreasuryOutboundPayments"]; - /** @description

Creates an OutboundPayment.

*/ - post: operations["PostTreasuryOutboundPayments"]; - }; - "/v1/treasury/outbound_payments/{id}": { - /** @description

Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list.

*/ - get: operations["GetTreasuryOutboundPaymentsId"]; - }; - "/v1/treasury/outbound_payments/{id}/cancel": { - /** @description

Cancel an OutboundPayment.

*/ - post: operations["PostTreasuryOutboundPaymentsIdCancel"]; - }; - "/v1/treasury/outbound_transfers": { - /** @description

Returns a list of OutboundTransfers sent from the specified FinancialAccount.

*/ - get: operations["GetTreasuryOutboundTransfers"]; - /** @description

Creates an OutboundTransfer.

*/ - post: operations["PostTreasuryOutboundTransfers"]; - }; - "/v1/treasury/outbound_transfers/{outbound_transfer}": { - /** @description

Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list.

*/ - get: operations["GetTreasuryOutboundTransfersOutboundTransfer"]; - }; - "/v1/treasury/outbound_transfers/{outbound_transfer}/cancel": { - /** @description

An OutboundTransfer can be canceled if the funds have not yet been paid out.

*/ - post: operations["PostTreasuryOutboundTransfersOutboundTransferCancel"]; - }; - "/v1/treasury/received_credits": { - /** @description

Returns a list of ReceivedCredits.

*/ - get: operations["GetTreasuryReceivedCredits"]; - }; - "/v1/treasury/received_credits/{id}": { - /** @description

Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list.

*/ - get: operations["GetTreasuryReceivedCreditsId"]; - }; - "/v1/treasury/received_debits": { - /** @description

Returns a list of ReceivedDebits.

*/ - get: operations["GetTreasuryReceivedDebits"]; - }; - "/v1/treasury/received_debits/{id}": { - /** @description

Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list

*/ - get: operations["GetTreasuryReceivedDebitsId"]; - }; - "/v1/treasury/transaction_entries": { - /** @description

Retrieves a list of TransactionEntry objects.

*/ - get: operations["GetTreasuryTransactionEntries"]; - }; - "/v1/treasury/transaction_entries/{id}": { - /** @description

Retrieves a TransactionEntry object.

*/ - get: operations["GetTreasuryTransactionEntriesId"]; - }; - "/v1/treasury/transactions": { - /** @description

Retrieves a list of Transaction objects.

*/ - get: operations["GetTreasuryTransactions"]; - }; - "/v1/treasury/transactions/{id}": { - /** @description

Retrieves the details of an existing Transaction.

*/ - get: operations["GetTreasuryTransactionsId"]; - }; - "/v1/webhook_endpoints": { - /** @description

Returns a list of your webhook endpoints.

*/ - get: operations["GetWebhookEndpoints"]; - /** @description

A webhook endpoint must have a url and a list of enabled_events. You may optionally specify the Boolean connect parameter. If set to true, then a Connect webhook endpoint that notifies the specified url about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url only about events from your account is created. You can also create webhook endpoints in the webhooks settings section of the Dashboard.

*/ - post: operations["PostWebhookEndpoints"]; - }; - "/v1/webhook_endpoints/{webhook_endpoint}": { - /** @description

Retrieves the webhook endpoint with the given ID.

*/ - get: operations["GetWebhookEndpointsWebhookEndpoint"]; - /** @description

Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint.

*/ - post: operations["PostWebhookEndpointsWebhookEndpoint"]; - /** @description

You can also delete webhook endpoints via the webhook endpoint management page of the Stripe dashboard.

*/ - delete: operations["DeleteWebhookEndpointsWebhookEndpoint"]; - }; -} - -export type webhooks = Record; - -export interface components { - schemas: { - /** - * Account - * @description This is an object representing a Stripe account. You can retrieve it to see - * properties on the account like its current requirements or if the account is - * enabled to make live charges or receive payouts. - * - * For Custom accounts, the properties below are always returned. For other accounts, some properties are returned until that - * account has started to go through Connect Onboarding. Once you create an [Account Link](https://stripe.com/docs/api/account_links) - * for a Standard or Express account, some parameters are no longer returned. These are marked as **Custom Only** or **Custom and Express** - * below. Learn about the differences [between accounts](https://stripe.com/docs/connect/accounts). - */ - account: { - /** @description Business information about the account. */ - business_profile?: components["schemas"]["account_business_profile"] | null; - /** - * @description The business type. - * @enum {string|null} - */ - business_type?: "company" | "government_entity" | "individual" | "non_profit" | null; - capabilities?: components["schemas"]["account_capabilities"]; - /** @description Whether the account can create live charges. */ - charges_enabled?: boolean; - company?: components["schemas"]["legal_entity_company"]; - controller?: components["schemas"]["account_unification_account_controller"]; - /** @description The account's country. */ - country?: string; - /** - * Format: unix-time - * @description Time at which the account was connected. Measured in seconds since the Unix epoch. - */ - created?: number; - /** @description Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts). */ - default_currency?: string; - /** @description Whether account details have been submitted. Standard accounts cannot receive payouts before this is true. */ - details_submitted?: boolean; - /** @description An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform. */ - email?: string | null; - /** - * ExternalAccountList - * @description External accounts (bank accounts and debit cards) currently attached to this account - */ - external_accounts?: { - /** @description The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards. */ - data: (components["schemas"]["bank_account"] | components["schemas"]["card"])[]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - future_requirements?: components["schemas"]["account_future_requirements"]; - /** @description Unique identifier for the object. */ - id: string; - individual?: components["schemas"]["person"]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "account"; - /** @description Whether Stripe can send payouts to this account. */ - payouts_enabled?: boolean; - requirements?: components["schemas"]["account_requirements"]; - /** @description Options for customizing how the account functions within Stripe. */ - settings?: components["schemas"]["account_settings"] | null; - tos_acceptance?: components["schemas"]["account_tos_acceptance"]; - /** - * @description The Stripe account type. Can be `standard`, `express`, or `custom`. - * @enum {string} - */ - type?: "custom" | "express" | "standard"; - }; - /** AccountBacsDebitPaymentsSettings */ - account_bacs_debit_payments_settings: { - /** @description The Bacs Direct Debit Display Name for this account. For payments made with Bacs Direct Debit, this will appear on the mandate, and as the statement descriptor. */ - display_name?: string; - }; - /** AccountBrandingSettings */ - account_branding_settings: { - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account. Must be square and at least 128px x 128px. */ - icon?: (string | components["schemas"]["file"]) | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account's name next to it if provided. Must be at least 128px x 128px. */ - logo?: (string | components["schemas"]["file"]) | null; - /** @description A CSS hex color value representing the primary branding color for this account */ - primary_color?: string | null; - /** @description A CSS hex color value representing the secondary branding color for this account */ - secondary_color?: string | null; - }; - /** AccountBusinessProfile */ - account_business_profile: { - /** @description [The merchant category code for the account](https://stripe.com/docs/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. */ - mcc?: string | null; - monthly_estimated_revenue?: components["schemas"]["account_monthly_estimated_revenue"]; - /** @description The customer-facing business name. */ - name?: string | null; - /** @description Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes. */ - product_description?: string | null; - /** @description A publicly available mailing address for sending support issues to. */ - support_address?: components["schemas"]["address"] | null; - /** @description A publicly available email address for sending support issues to. */ - support_email?: string | null; - /** @description A publicly available phone number to call with support issues. */ - support_phone?: string | null; - /** @description A publicly available website for handling support issues. */ - support_url?: string | null; - /** @description The business's publicly available website. */ - url?: string | null; - }; - /** AccountCapabilities */ - account_capabilities: { - /** - * @description The status of the Canadian pre-authorized debits payments capability of the account, or whether the account can directly process Canadian pre-authorized debits charges. - * @enum {string} - */ - acss_debit_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the Affirm capability of the account, or whether the account can directly process Affirm charges. - * @enum {string} - */ - affirm_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the Afterpay Clearpay capability of the account, or whether the account can directly process Afterpay Clearpay charges. - * @enum {string} - */ - afterpay_clearpay_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the BECS Direct Debit (AU) payments capability of the account, or whether the account can directly process BECS Direct Debit (AU) charges. - * @enum {string} - */ - au_becs_debit_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the Bacs Direct Debits payments capability of the account, or whether the account can directly process Bacs Direct Debits charges. - * @enum {string} - */ - bacs_debit_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the Bancontact payments capability of the account, or whether the account can directly process Bancontact charges. - * @enum {string} - */ - bancontact_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the customer_balance payments capability of the account, or whether the account can directly process customer_balance charges. - * @enum {string} - */ - bank_transfer_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the blik payments capability of the account, or whether the account can directly process blik charges. - * @enum {string} - */ - blik_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the boleto payments capability of the account, or whether the account can directly process boleto charges. - * @enum {string} - */ - boleto_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the card issuing capability of the account, or whether you can use Issuing to distribute funds on cards - * @enum {string} - */ - card_issuing?: "active" | "inactive" | "pending"; - /** - * @description The status of the card payments capability of the account, or whether the account can directly process credit and debit card charges. - * @enum {string} - */ - card_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the Cartes Bancaires payments capability of the account, or whether the account can directly process Cartes Bancaires card charges in EUR currency. - * @enum {string} - */ - cartes_bancaires_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the Cash App Pay capability of the account, or whether the account can directly process Cash App Pay payments. - * @enum {string} - */ - cashapp_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the EPS payments capability of the account, or whether the account can directly process EPS charges. - * @enum {string} - */ - eps_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the FPX payments capability of the account, or whether the account can directly process FPX charges. - * @enum {string} - */ - fpx_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the giropay payments capability of the account, or whether the account can directly process giropay charges. - * @enum {string} - */ - giropay_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the GrabPay payments capability of the account, or whether the account can directly process GrabPay charges. - * @enum {string} - */ - grabpay_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the iDEAL payments capability of the account, or whether the account can directly process iDEAL charges. - * @enum {string} - */ - ideal_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the india_international_payments capability of the account, or whether the account can process international charges (non INR) in India. - * @enum {string} - */ - india_international_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the JCB payments capability of the account, or whether the account (Japan only) can directly process JCB credit card charges in JPY currency. - * @enum {string} - */ - jcb_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the Klarna payments capability of the account, or whether the account can directly process Klarna charges. - * @enum {string} - */ - klarna_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the konbini payments capability of the account, or whether the account can directly process konbini charges. - * @enum {string} - */ - konbini_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the legacy payments capability of the account. - * @enum {string} - */ - legacy_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the link_payments capability of the account, or whether the account can directly process Link charges. - * @enum {string} - */ - link_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the OXXO payments capability of the account, or whether the account can directly process OXXO charges. - * @enum {string} - */ - oxxo_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the P24 payments capability of the account, or whether the account can directly process P24 charges. - * @enum {string} - */ - p24_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the paynow payments capability of the account, or whether the account can directly process paynow charges. - * @enum {string} - */ - paynow_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the promptpay payments capability of the account, or whether the account can directly process promptpay charges. - * @enum {string} - */ - promptpay_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the SEPA Direct Debits payments capability of the account, or whether the account can directly process SEPA Direct Debits charges. - * @enum {string} - */ - sepa_debit_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the Sofort payments capability of the account, or whether the account can directly process Sofort charges. - * @enum {string} - */ - sofort_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the tax reporting 1099-K (US) capability of the account. - * @enum {string} - */ - tax_reporting_us_1099_k?: "active" | "inactive" | "pending"; - /** - * @description The status of the tax reporting 1099-MISC (US) capability of the account. - * @enum {string} - */ - tax_reporting_us_1099_misc?: "active" | "inactive" | "pending"; - /** - * @description The status of the transfers capability of the account, or whether your platform can transfer funds to the account. - * @enum {string} - */ - transfers?: "active" | "inactive" | "pending"; - /** - * @description The status of the banking capability, or whether the account can have bank accounts. - * @enum {string} - */ - treasury?: "active" | "inactive" | "pending"; - /** - * @description The status of the US bank account ACH payments capability of the account, or whether the account can directly process US bank account charges. - * @enum {string} - */ - us_bank_account_ach_payments?: "active" | "inactive" | "pending"; - /** - * @description The status of the Zip capability of the account, or whether the account can directly process Zip charges. - * @enum {string} - */ - zip_payments?: "active" | "inactive" | "pending"; - }; - /** AccountCapabilityFutureRequirements */ - account_capability_future_requirements: { - /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ - alternatives?: components["schemas"]["account_requirements_alternative"][] | null; - /** - * Format: unix-time - * @description Date on which `future_requirements` merges with the main `requirements` hash and `future_requirements` becomes empty. After the transition, `currently_due` requirements may immediately become `past_due`, but the account may also be given a grace period depending on the capability's enablement state prior to transitioning. - */ - current_deadline?: number | null; - /** @description Fields that need to be collected to keep the capability enabled. If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash. */ - currently_due: string[]; - /** @description This is typed as a string for consistency with `requirements.disabled_reason`, but it safe to assume `future_requirements.disabled_reason` is empty because fields in `future_requirements` will never disable the account. */ - disabled_reason?: string | null; - /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ - errors: components["schemas"]["account_requirements_error"][]; - /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well. */ - eventually_due: string[]; - /** @description Fields that weren't collected by `requirements.current_deadline`. These fields need to be collected to enable the capability on the account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`. */ - past_due: string[]; - /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. */ - pending_verification: string[]; - }; - /** AccountCapabilityRequirements */ - account_capability_requirements: { - /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ - alternatives?: components["schemas"]["account_requirements_alternative"][] | null; - /** - * Format: unix-time - * @description Date by which the fields in `currently_due` must be collected to keep the capability enabled for the account. These fields may disable the capability sooner if the next threshold is reached before they are collected. - */ - current_deadline?: number | null; - /** @description Fields that need to be collected to keep the capability enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the capability is disabled. */ - currently_due: string[]; - /** - * @description If the capability is disabled, this string describes why. Can be `requirements.past_due`, `requirements.pending_verification`, `listed`, `platform_paused`, `rejected.fraud`, `rejected.listed`, `rejected.terms_of_service`, `rejected.other`, `under_review`, or `other`. - * - * `rejected.unsupported_business` means that the account's business is not supported by the capability. For example, payment methods may restrict the businesses they support in their terms of service: - * - * - [Afterpay Clearpay's terms of service](/afterpay-clearpay/legal#restricted-businesses) - * - * If you believe that the rejection is in error, please contact support at https://support.stripe.com/contact/ for assistance. - */ - disabled_reason?: string | null; - /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ - errors: components["schemas"]["account_requirements_error"][]; - /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set. */ - eventually_due: string[]; - /** @description Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the capability on the account. */ - past_due: string[]; - /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. */ - pending_verification: string[]; - }; - /** AccountCardIssuingSettings */ - account_card_issuing_settings: { - tos_acceptance?: components["schemas"]["card_issuing_account_terms_of_service"]; - }; - /** AccountCardPaymentsSettings */ - account_card_payments_settings: { - decline_on?: components["schemas"]["account_decline_charge_on"]; - /** @description The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion. */ - statement_descriptor_prefix?: string | null; - /** @description The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion. */ - statement_descriptor_prefix_kana?: string | null; - /** @description The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion. */ - statement_descriptor_prefix_kanji?: string | null; - }; - /** AccountDashboardSettings */ - account_dashboard_settings: { - /** @description The display name for this account. This is used on the Stripe Dashboard to differentiate between accounts. */ - display_name?: string | null; - /** @description The timezone used in the Stripe Dashboard for this account. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones). */ - timezone?: string | null; - }; - /** AccountDeclineChargeOn */ - account_decline_charge_on: { - /** @description Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification. */ - avs_failure: boolean; - /** @description Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification. */ - cvc_failure: boolean; - }; - /** AccountFutureRequirements */ - account_future_requirements: { - /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ - alternatives?: components["schemas"]["account_requirements_alternative"][] | null; - /** - * Format: unix-time - * @description Date on which `future_requirements` merges with the main `requirements` hash and `future_requirements` becomes empty. After the transition, `currently_due` requirements may immediately become `past_due`, but the account may also be given a grace period depending on its enablement state prior to transitioning. - */ - current_deadline?: number | null; - /** @description Fields that need to be collected to keep the account enabled. If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash. */ - currently_due?: string[] | null; - /** @description This is typed as a string for consistency with `requirements.disabled_reason`, but it safe to assume `future_requirements.disabled_reason` is empty because fields in `future_requirements` will never disable the account. */ - disabled_reason?: string | null; - /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ - errors?: components["schemas"]["account_requirements_error"][] | null; - /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well. */ - eventually_due?: string[] | null; - /** @description Fields that weren't collected by `requirements.current_deadline`. These fields need to be collected to enable the capability on the account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`. */ - past_due?: string[] | null; - /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. */ - pending_verification?: string[] | null; - }; - /** - * AccountLink - * @description Account Links are the means by which a Connect platform grants a connected account permission to access - * Stripe-hosted applications, such as Connect Onboarding. - * - * Related guide: [Connect Onboarding](https://stripe.com/docs/connect/custom/hosted-onboarding) - */ - account_link: { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** - * Format: unix-time - * @description The timestamp at which this account link will expire. - */ - expires_at: number; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "account_link"; - /** @description The URL for the account link. */ - url: string; - }; - /** AccountMonthlyEstimatedRevenue */ - account_monthly_estimated_revenue: { - /** @description A non-negative integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - }; - /** AccountPaymentsSettings */ - account_payments_settings: { - /** @description The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. */ - statement_descriptor?: string | null; - /** @description The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only) */ - statement_descriptor_kana?: string | null; - /** @description The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only) */ - statement_descriptor_kanji?: string | null; - /** @description The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion. */ - statement_descriptor_prefix_kana?: string | null; - /** @description The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion. */ - statement_descriptor_prefix_kanji?: string | null; - }; - /** AccountPayoutSettings */ - account_payout_settings: { - /** @description A Boolean indicating if Stripe should try to reclaim negative balances from an attached bank account. See our [Understanding Connect Account Balances](https://stripe.com/docs/connect/account-balances) documentation for details. Default value is `false` for Custom accounts, otherwise `true`. */ - debit_negative_balances: boolean; - schedule: components["schemas"]["transfer_schedule"]; - /** @description The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard. */ - statement_descriptor?: string | null; - }; - /** AccountRequirements */ - account_requirements: { - /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ - alternatives?: components["schemas"]["account_requirements_alternative"][] | null; - /** - * Format: unix-time - * @description Date by which the fields in `currently_due` must be collected to keep the account enabled. These fields may disable the account sooner if the next threshold is reached before they are collected. - */ - current_deadline?: number | null; - /** @description Fields that need to be collected to keep the account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled. */ - currently_due?: string[] | null; - /** @description If the account is disabled, this string describes why. Can be `requirements.past_due`, `requirements.pending_verification`, `listed`, `platform_paused`, `rejected.fraud`, `rejected.listed`, `rejected.terms_of_service`, `rejected.other`, `under_review`, or `other`. */ - disabled_reason?: string | null; - /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ - errors?: components["schemas"]["account_requirements_error"][] | null; - /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set. */ - eventually_due?: string[] | null; - /** @description Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the account. */ - past_due?: string[] | null; - /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. */ - pending_verification?: string[] | null; - }; - /** AccountRequirementsAlternative */ - account_requirements_alternative: { - /** @description Fields that can be provided to satisfy all fields in `original_fields_due`. */ - alternative_fields_due: string[]; - /** @description Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`. */ - original_fields_due: string[]; - }; - /** AccountRequirementsError */ - account_requirements_error: { - /** - * @description The code for the type of error. - * @enum {string} - */ - code: "invalid_address_city_state_postal_code" | "invalid_dob_age_under_18" | "invalid_representative_country" | "invalid_street_address" | "invalid_tos_acceptance" | "invalid_value_other" | "verification_directors_mismatch" | "verification_document_address_mismatch" | "verification_document_address_missing" | "verification_document_corrupt" | "verification_document_country_not_supported" | "verification_document_directors_mismatch" | "verification_document_dob_mismatch" | "verification_document_duplicate_type" | "verification_document_expired" | "verification_document_failed_copy" | "verification_document_failed_greyscale" | "verification_document_failed_other" | "verification_document_failed_test_mode" | "verification_document_fraudulent" | "verification_document_id_number_mismatch" | "verification_document_id_number_missing" | "verification_document_incomplete" | "verification_document_invalid" | "verification_document_issue_or_expiry_date_missing" | "verification_document_manipulated" | "verification_document_missing_back" | "verification_document_missing_front" | "verification_document_name_mismatch" | "verification_document_name_missing" | "verification_document_nationality_mismatch" | "verification_document_not_readable" | "verification_document_not_signed" | "verification_document_not_uploaded" | "verification_document_photo_mismatch" | "verification_document_too_large" | "verification_document_type_not_supported" | "verification_extraneous_directors" | "verification_failed_address_match" | "verification_failed_business_iec_number" | "verification_failed_document_match" | "verification_failed_id_number_match" | "verification_failed_keyed_identity" | "verification_failed_keyed_match" | "verification_failed_name_match" | "verification_failed_other" | "verification_failed_residential_address" | "verification_failed_tax_id_match" | "verification_failed_tax_id_not_issued" | "verification_missing_directors" | "verification_missing_executives" | "verification_missing_owners" | "verification_requires_additional_memorandum_of_associations"; - /** @description An informative message that indicates the error type and provides additional details about the error. */ - reason: string; - /** @description The specific user onboarding requirement field (in the requirements hash) that needs to be resolved. */ - requirement: string; - }; - /** AccountSepaDebitPaymentsSettings */ - account_sepa_debit_payments_settings: { - /** @description SEPA creditor identifier that identifies the company making the payment. */ - creditor_id?: string; - }; - /** - * ConnectEmbeddedMethodAccountSessionCreateMethodAccountSession - * @description An AccountSession allows a Connect platform to grant access to a connected account in Connect embedded components. - * - * We recommend that you create an AccountSession each time you need to display an embedded component - * to your user. Do not save AccountSessions to your database as they expire relatively - * quickly, and cannot be used more than once. - * - * Related guide: [Connect embedded components](https://stripe.com/docs/connect/get-started-connect-embedded-components) - */ - account_session: { - /** @description The ID of the account the AccountSession was created for */ - account: string; - /** - * @description The client secret of this AccountSession. Used on the client to set up secure access to the given `account`. - * - * The client secret can be used to provide access to `account` from your frontend. It should not be stored, logged, or exposed to anyone other than the connected account. Make sure that you have TLS enabled on any page that includes the client secret. - * - * Refer to our docs to [setup Connect embedded components](https://stripe.com/docs/connect/get-started-connect-embedded-components) and learn about how `client_secret` should be handled. - */ - client_secret: string; - components: components["schemas"]["connect_embedded_account_session_create_components"]; - /** - * Format: unix-time - * @description The timestamp at which this AccountSession will expire. - */ - expires_at: number; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "account_session"; - }; - /** AccountSettings */ - account_settings: { - bacs_debit_payments?: components["schemas"]["account_bacs_debit_payments_settings"]; - branding: components["schemas"]["account_branding_settings"]; - card_issuing?: components["schemas"]["account_card_issuing_settings"]; - card_payments: components["schemas"]["account_card_payments_settings"]; - dashboard: components["schemas"]["account_dashboard_settings"]; - payments: components["schemas"]["account_payments_settings"]; - payouts?: components["schemas"]["account_payout_settings"]; - sepa_debit_payments?: components["schemas"]["account_sepa_debit_payments_settings"]; - treasury?: components["schemas"]["account_treasury_settings"]; - }; - /** AccountTermsOfService */ - account_terms_of_service: { - /** @description The Unix timestamp marking when the account representative accepted the service agreement. */ - date?: number | null; - /** @description The IP address from which the account representative accepted the service agreement. */ - ip?: string | null; - /** @description The user agent of the browser from which the account representative accepted the service agreement. */ - user_agent?: string; - }; - /** AccountTOSAcceptance */ - account_tos_acceptance: { - /** - * Format: unix-time - * @description The Unix timestamp marking when the account representative accepted their service agreement - */ - date?: number | null; - /** @description The IP address from which the account representative accepted their service agreement */ - ip?: string | null; - /** @description The user's service agreement type */ - service_agreement?: string; - /** @description The user agent of the browser from which the account representative accepted their service agreement */ - user_agent?: string | null; - }; - /** AccountTreasurySettings */ - account_treasury_settings: { - tos_acceptance?: components["schemas"]["account_terms_of_service"]; - }; - /** AccountUnificationAccountController */ - account_unification_account_controller: { - /** @description `true` if the Connect application retrieving the resource controls the account and can therefore exercise [platform controls](https://stripe.com/docs/connect/platform-controls-for-standard-accounts). Otherwise, this field is null. */ - is_controller?: boolean; - /** - * @description The controller type. Can be `application`, if a Connect application controls the account, or `account`, if the account controls itself. - * @enum {string} - */ - type: "account" | "application"; - }; - /** Address */ - address: { - /** @description City, district, suburb, town, or village. */ - city?: string | null; - /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ - country?: string | null; - /** @description Address line 1 (e.g., street, PO Box, or company name). */ - line1?: string | null; - /** @description Address line 2 (e.g., apartment, suite, unit, or building). */ - line2?: string | null; - /** @description ZIP or postal code. */ - postal_code?: string | null; - /** @description State, county, province, or region. */ - state?: string | null; - }; - /** APIErrors */ - api_errors: { - /** @description For card errors, the ID of the failed charge. */ - charge?: string; - /** @description For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported. */ - code?: string; - /** @description For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one. */ - decline_code?: string; - /** @description A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported. */ - doc_url?: string; - /** @description A human-readable message providing more details about the error. For card errors, these messages can be shown to your users. */ - message?: string; - /** @description If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field. */ - param?: string; - payment_intent?: components["schemas"]["payment_intent"]; - payment_method?: components["schemas"]["payment_method"]; - /** @description If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors. */ - payment_method_type?: string; - /** @description A URL to the request log entry in your dashboard. */ - request_log_url?: string; - setup_intent?: components["schemas"]["setup_intent"]; - /** @description The source object for errors returned on a request involving a source. */ - source?: components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"]; - /** - * @description The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error` - * @enum {string} - */ - type: "api_error" | "card_error" | "idempotency_error" | "invalid_request_error"; - }; - /** ApplePayDomain */ - apple_pay_domain: { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - domain_name: string; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "apple_pay_domain"; - }; - /** Application */ - application: { - /** @description Unique identifier for the object. */ - id: string; - /** @description The name of the application. */ - name?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "application"; - }; - /** PlatformFee */ - application_fee: { - /** @description ID of the Stripe account this fee was taken from. */ - account: string | components["schemas"]["account"]; - /** @description Amount earned, in cents (or local equivalent). */ - amount: number; - /** @description Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the fee if a partial refund was issued) */ - amount_refunded: number; - /** @description ID of the Connect application that earned the fee. */ - application: string | components["schemas"]["application"]; - /** @description Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds). */ - balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; - /** @description ID of the charge that the application fee was taken from. */ - charge: string | components["schemas"]["charge"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "application_fee"; - /** @description ID of the corresponding charge on the platform account, if this fee was the result of a charge using the `destination` parameter. */ - originating_transaction?: (string | components["schemas"]["charge"]) | null; - /** @description Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false. */ - refunded: boolean; - /** - * FeeRefundList - * @description A list of refunds that have been applied to the fee. - */ - refunds: { - /** @description Details about each object. */ - data: components["schemas"]["fee_refund"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - /** - * SecretServiceResourceSecret - * @description Secret Store is an API that allows Stripe Apps developers to securely persist secrets for use by UI Extensions and app backends. - * - * The primary resource in Secret Store is a `secret`. Other apps can't view secrets created by an app. Additionally, secrets are scoped to provide further permission control. - * - * All Dashboard users and the app backend share `account` scoped secrets. Use the `account` scope for secrets that don't change per-user, like a third-party API key. - * - * A `user` scoped secret is accessible by the app backend and one specific Dashboard user. Use the `user` scope for per-user secrets like per-user OAuth tokens, where different users might have different permissions. - * - * Related guide: [Store data between page reloads](https://stripe.com/docs/stripe-apps/store-auth-data-custom-objects) - */ - "apps.secret": { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description If true, indicates that this secret has been deleted */ - deleted?: boolean; - /** - * Format: unix-time - * @description The Unix timestamp for the expiry time of the secret, after which the secret deletes. - */ - expires_at?: number | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description A name for the secret that's unique within the scope. */ - name: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "apps.secret"; - /** @description The plaintext secret value to be stored. */ - payload?: string | null; - scope: components["schemas"]["secret_service_resource_scope"]; - }; - /** AutomaticTax */ - automatic_tax: { - /** @description Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice items (invoice items with manually specified [tax rates](https://stripe.com/docs/api/tax_rates), negative amounts, or `tax_behavior=unspecified`) cannot be added to automatic tax invoices. */ - enabled: boolean; - /** - * @description The status of the most recent automated tax calculation for this invoice. - * @enum {string|null} - */ - status?: "complete" | "failed" | "requires_location_inputs" | null; - }; - /** - * Balance - * @description This is an object representing your Stripe balance. You can retrieve it to see - * the balance currently on your Stripe account. - * - * You can also retrieve the balance history, which contains a list of - * [transactions](https://stripe.com/docs/reporting/balance-transaction-types) that contributed to the balance - * (charges, payouts, and so forth). - * - * The available and pending amounts for each currency are broken down further by - * payment source types. - * - * Related guide: [Understanding Connect account balances](https://stripe.com/docs/connect/account-balances) - */ - balance: { - /** @description Available funds that you can transfer or pay out automatically by Stripe or explicitly through the [Transfers API](https://stripe.com/docs/api#transfers) or [Payouts API](https://stripe.com/docs/api#payouts). You can find the available balance for each currency and payment type in the `source_types` property. */ - available: components["schemas"]["balance_amount"][]; - /** @description Funds held due to negative balances on connected Custom accounts. You can find the connect reserve balance for each currency and payment type in the `source_types` property. */ - connect_reserved?: components["schemas"]["balance_amount"][]; - /** @description Funds that you can pay out using Instant Payouts. */ - instant_available?: components["schemas"]["balance_amount"][]; - issuing?: components["schemas"]["balance_detail"]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "balance"; - /** @description Funds that aren't available in the balance yet. You can find the pending balance for each currency and each payment type in the `source_types` property. */ - pending: components["schemas"]["balance_amount"][]; - }; - /** BalanceAmount */ - balance_amount: { - /** @description Balance amount. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - source_types?: components["schemas"]["balance_amount_by_source_type"]; - }; - /** BalanceAmountBySourceType */ - balance_amount_by_source_type: { - /** @description Amount for bank account. */ - bank_account?: number; - /** @description Amount for card. */ - card?: number; - /** @description Amount for FPX. */ - fpx?: number; - }; - /** BalanceDetail */ - balance_detail: { - /** @description Funds that are available for use. */ - available: components["schemas"]["balance_amount"][]; - }; - /** - * BalanceTransaction - * @description Balance transactions represent funds moving through your Stripe account. - * Stripe creates them for every type of transaction that enters or leaves your Stripe account balance. - * - * Related guide: [Balance transaction types](https://stripe.com/docs/reports/balance-transaction-types) - */ - balance_transaction: { - /** @description Gross amount of the transaction (in cents (or local equivalent)). */ - amount: number; - /** - * Format: unix-time - * @description The date that the transaction's net funds become available in the Stripe balance. - */ - available_on: number; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description If applicable, this transaction uses an exchange rate. If money converts from currency A to currency B, then the `amount` in currency A, multipled by the `exchange_rate`, equals the `amount` in currency B. For example, if you charge a customer 10.00 EUR, the PaymentIntent's `amount` is `1000` and `currency` is `eur`. If this converts to 12.34 USD in your Stripe account, the BalanceTransaction's `amount` is `1234`, its `currency` is `usd`, and the `exchange_rate` is `1.234`. */ - exchange_rate?: number | null; - /** @description Fees (in cents (or local equivalent)) paid for this transaction. */ - fee: number; - /** @description Detailed breakdown of fees (in cents (or local equivalent)) paid for this transaction. */ - fee_details: components["schemas"]["fee"][]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Net amount of the transaction (in cents (or local equivalent)). */ - net: number; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "balance_transaction"; - /** @description Learn more about how [reporting categories] (https://stripe.com/docs/reports/reporting-categories) can help you understand balance transactions from an accounting perspective. */ - reporting_category: string; - /** @description This transaction relates to the Stripe object. */ - source?: (string | components["schemas"]["application_fee"] | components["schemas"]["charge"] | components["schemas"]["connect_collection_transfer"] | components["schemas"]["customer_cash_balance_transaction"] | components["schemas"]["dispute"] | components["schemas"]["fee_refund"] | components["schemas"]["issuing.authorization"] | components["schemas"]["issuing.dispute"] | components["schemas"]["issuing.transaction"] | components["schemas"]["payout"] | components["schemas"]["platform_tax_fee"] | components["schemas"]["refund"] | components["schemas"]["reserve_transaction"] | components["schemas"]["tax_deducted_at_source"] | components["schemas"]["topup"] | components["schemas"]["transfer"] | components["schemas"]["transfer_reversal"]) | null; - /** @description The transaction's net funds status in the Stripe balance, which are either `available` or `pending`. */ - status: string; - /** - * @description Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. Learn more about [balance transaction types and what they represent](https://stripe.com/docs/reports/balance-transaction-types). To classify transactions for accounting purposes, consider `reporting_category` instead. - * @enum {string} - */ - type: "adjustment" | "advance" | "advance_funding" | "anticipation_repayment" | "application_fee" | "application_fee_refund" | "charge" | "connect_collection_transfer" | "contribution" | "issuing_authorization_hold" | "issuing_authorization_release" | "issuing_dispute" | "issuing_transaction" | "obligation_inbound" | "obligation_outbound" | "obligation_payout" | "obligation_payout_failure" | "obligation_reversal_inbound" | "obligation_reversal_outbound" | "payment" | "payment_failure_refund" | "payment_refund" | "payment_reversal" | "payout" | "payout_cancel" | "payout_failure" | "refund" | "refund_failure" | "reserve_transaction" | "reserved_funds" | "stripe_fee" | "stripe_fx_fee" | "tax_fee" | "topup" | "topup_reversal" | "transfer" | "transfer_cancel" | "transfer_failure" | "transfer_refund"; - }; - /** - * BankAccount - * @description These bank accounts are payment methods on `Customer` objects. - * - * On the other hand [External Accounts](https://stripe.com/docs/api#external_accounts) are transfer - * destinations on `Account` objects for [Custom accounts](https://stripe.com/docs/connect/custom-accounts). - * They can be bank accounts or debit cards as well, and are documented in the links above. - * - * Related guide: [Bank debits and transfers](https://stripe.com/docs/payments/bank-debits-transfers) - */ - bank_account: { - /** @description The ID of the account that the bank account is associated with. */ - account?: (string | components["schemas"]["account"]) | null; - /** @description The name of the person or business that owns the bank account. */ - account_holder_name?: string | null; - /** @description The type of entity that holds the account. This can be either `individual` or `company`. */ - account_holder_type?: string | null; - /** @description The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`. */ - account_type?: string | null; - /** @description A set of available payout methods for this bank account. Only values from this set should be passed as the `method` when creating a payout. */ - available_payout_methods?: (("instant" | "standard")[]) | null; - /** @description Name of the bank associated with the routing number (e.g., `WELLS FARGO`). */ - bank_name?: string | null; - /** @description Two-letter ISO code representing the country the bank account is located in. */ - country: string; - /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account. */ - currency: string; - /** @description The ID of the customer that the bank account is associated with. */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** @description Whether this bank account is the default external account for its currency. */ - default_for_currency?: boolean | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Information about the [upcoming new requirements for the bank account](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when. */ - future_requirements?: components["schemas"]["external_account_requirements"] | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description The last four digits of the bank account number. */ - last4: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "bank_account"; - /** @description Information about the requirements for the bank account, including what information needs to be collected. */ - requirements?: components["schemas"]["external_account_requirements"] | null; - /** @description The routing transit number for the bank account. */ - routing_number?: string | null; - /** - * @description For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a transfer sent to this bank account fails, we'll set the status to `errored` and will not continue to send transfers until the bank details are updated. - * - * For external accounts, possible values are `new`, `errored` and `verification_failed`. If a transfer fails, the status is set to `errored` and transfers are stopped until account details are updated. In India, if we can't [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we'll set the status to `verification_failed`. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply. - */ - status: string; - }; - /** BankConnectionsResourceAccountholder */ - bank_connections_resource_accountholder: { - /** @description The ID of the Stripe account this account belongs to. Should only be present if `account_holder.type` is `account`. */ - account?: string | components["schemas"]["account"]; - /** @description ID of the Stripe customer this account belongs to. Present if and only if `account_holder.type` is `customer`. */ - customer?: string | components["schemas"]["customer"]; - /** - * @description Type of account holder that this account belongs to. - * @enum {string} - */ - type: "account" | "customer"; - }; - /** BankConnectionsResourceBalance */ - bank_connections_resource_balance: { - /** - * Format: unix-time - * @description The time that the external institution calculated this balance. Measured in seconds since the Unix epoch. - */ - as_of: number; - cash?: components["schemas"]["bank_connections_resource_balance_api_resource_cash_balance"]; - credit?: components["schemas"]["bank_connections_resource_balance_api_resource_credit_balance"]; - /** - * @description The balances owed to (or by) the account holder. - * - * Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. - * - * Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. - */ - current: { - [key: string]: number; - }; - /** - * @description The `type` of the balance. An additional hash is included on the balance with a name matching this value. - * @enum {string} - */ - type: "cash" | "credit"; - }; - /** BankConnectionsResourceBalanceAPIResourceCashBalance */ - bank_connections_resource_balance_api_resource_cash_balance: { - /** - * @description The funds available to the account holder. Typically this is the current balance less any holds. - * - * Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. - * - * Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. - */ - available?: { - [key: string]: number; - } | null; - }; - /** BankConnectionsResourceBalanceAPIResourceCreditBalance */ - bank_connections_resource_balance_api_resource_credit_balance: { - /** - * @description The credit that has been used by the account holder. - * - * Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. - * - * Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. - */ - used?: { - [key: string]: number; - } | null; - }; - /** BankConnectionsResourceBalanceRefresh */ - bank_connections_resource_balance_refresh: { - /** - * Format: unix-time - * @description The time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch. - */ - last_attempted_at: number; - /** - * @description The status of the last refresh attempt. - * @enum {string} - */ - status: "failed" | "pending" | "succeeded"; - }; - /** BankConnectionsResourceLinkAccountSessionFilters */ - bank_connections_resource_link_account_session_filters: { - /** @description List of countries from which to filter accounts. */ - countries?: string[] | null; - }; - /** BankConnectionsResourceOwnershipRefresh */ - bank_connections_resource_ownership_refresh: { - /** - * Format: unix-time - * @description The time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch. - */ - last_attempted_at: number; - /** - * @description The status of the last refresh attempt. - * @enum {string} - */ - status: "failed" | "pending" | "succeeded"; - }; - /** billing_details */ - billing_details: { - /** @description Billing address. */ - address?: components["schemas"]["address"] | null; - /** @description Email address. */ - email?: string | null; - /** @description Full name. */ - name?: string | null; - /** @description Billing phone number (including extension). */ - phone?: string | null; - }; - /** - * PortalConfiguration - * @description A portal configuration describes the functionality and behavior of a portal session. - */ - "billing_portal.configuration": { - /** @description Whether the configuration is active and can be used to create portal sessions. */ - active: boolean; - /** @description ID of the Connect Application that created the configuration. */ - application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; - business_profile: components["schemas"]["portal_business_profile"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session. */ - default_return_url?: string | null; - features: components["schemas"]["portal_features"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Whether the configuration is the default. If `true`, this configuration can be managed in the Dashboard and portal sessions will use this configuration unless it is overriden when creating the session. */ - is_default: boolean; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - login_page: components["schemas"]["portal_login_page"]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "billing_portal.configuration"; - /** - * Format: unix-time - * @description Time at which the object was last updated. Measured in seconds since the Unix epoch. - */ - updated: number; - }; - /** - * PortalSession - * @description The Billing customer portal is a Stripe-hosted UI for subscription and - * billing management. - * - * A portal configuration describes the functionality and features that you - * want to provide to your customers through the portal. - * - * A portal session describes the instantiation of the customer portal for - * a particular customer. By visiting the session's URL, the customer - * can manage their subscriptions and billing details. For security reasons, - * sessions are short-lived and will expire if the customer does not visit the URL. - * Create sessions on-demand when customers intend to manage their subscriptions - * and billing details. - * - * Learn more in the [integration guide](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal). - */ - "billing_portal.session": { - /** @description The configuration used by this session, describing the features available. */ - configuration: string | components["schemas"]["billing_portal.configuration"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The ID of the customer for this session. */ - customer: string; - /** @description Information about a specific flow for the customer to go through. See the [docs](https://stripe.com/docs/customer-management/portal-deep-links) to learn more about using customer portal deep links and flows. */ - flow?: components["schemas"]["portal_flows_flow"] | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description The IETF language tag of the locale Customer Portal is displayed in. If blank or auto, the customer’s `preferred_locales` or browser’s locale is used. - * @enum {string|null} - */ - locale?: "auto" | "bg" | "cs" | "da" | "de" | "el" | "en" | "en-AU" | "en-CA" | "en-GB" | "en-IE" | "en-IN" | "en-NZ" | "en-SG" | "es" | "es-419" | "et" | "fi" | "fil" | "fr" | "fr-CA" | "hr" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "mt" | "nb" | "nl" | "pl" | "pt" | "pt-BR" | "ro" | "ru" | "sk" | "sl" | "sv" | "th" | "tr" | "vi" | "zh" | "zh-HK" | "zh-TW" | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "billing_portal.session"; - /** @description The account for which the session was created on behalf of. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://stripe.com/docs/connect/separate-charges-and-transfers#on-behalf-of). Use the [Accounts API](https://stripe.com/docs/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays. */ - on_behalf_of?: string | null; - /** @description The URL to redirect customers to when they click on the portal's link to return to your website. */ - return_url?: string | null; - /** @description The short-lived URL of the session that gives customers access to the customer portal. */ - url: string; - }; - /** CancellationDetails */ - cancellation_details: { - /** @description Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user. */ - comment?: string | null; - /** - * @description The customer submitted reason for why they canceled, if the subscription was canceled explicitly by the user. - * @enum {string|null} - */ - feedback?: "customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused" | null; - /** - * @description Why this subscription was canceled. - * @enum {string|null} - */ - reason?: "cancellation_requested" | "payment_disputed" | "payment_failed" | null; - }; - /** - * AccountCapability - * @description This is an object representing a capability for a Stripe account. - * - * Related guide: [Account capabilities](https://stripe.com/docs/connect/account-capabilities) - */ - capability: { - /** @description The account for which the capability enables functionality. */ - account: string | components["schemas"]["account"]; - future_requirements?: components["schemas"]["account_capability_future_requirements"]; - /** @description The identifier for the capability. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "capability"; - /** @description Whether the capability has been requested. */ - requested: boolean; - /** - * Format: unix-time - * @description Time at which the capability was requested. Measured in seconds since the Unix epoch. - */ - requested_at?: number | null; - requirements?: components["schemas"]["account_capability_requirements"]; - /** - * @description The status of the capability. Can be `active`, `inactive`, `pending`, or `unrequested`. - * @enum {string} - */ - status: "active" | "disabled" | "inactive" | "pending" | "unrequested"; - }; - /** - * Card - * @description You can store multiple cards on a customer in order to charge the customer - * later. You can also store multiple debit cards on a recipient in order to - * transfer to those cards later. - * - * Related guide: [Card payments with Sources](https://stripe.com/docs/sources/cards) - */ - card: { - /** @description The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead. */ - account?: (string | components["schemas"]["account"]) | null; - /** @description City/District/Suburb/Town/Village. */ - address_city?: string | null; - /** @description Billing address country, if provided when creating card. */ - address_country?: string | null; - /** @description Address line 1 (Street address/PO Box/Company name). */ - address_line1?: string | null; - /** @description If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. */ - address_line1_check?: string | null; - /** @description Address line 2 (Apartment/Suite/Unit/Building). */ - address_line2?: string | null; - /** @description State/County/Province/Region. */ - address_state?: string | null; - /** @description ZIP or postal code. */ - address_zip?: string | null; - /** @description If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. */ - address_zip_check?: string | null; - /** @description A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout. */ - available_payout_methods?: (("instant" | "standard")[]) | null; - /** @description Card brand. Can be `American Express`, `Diners Club`, `Discover`, `Eftpos Australia`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`. */ - brand: string; - /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ - country?: string | null; - /** @description Three-letter [ISO code for currency](https://stripe.com/docs/payouts). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. */ - currency?: string | null; - /** @description The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead. */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** @description If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge). */ - cvc_check?: string | null; - /** @description Whether this card is the default external account for its currency. */ - default_for_currency?: boolean | null; - /** @description (For tokenized numbers only.) The last four digits of the device account number. */ - dynamic_last4?: string | null; - /** @description Two-digit number representing the card's expiration month. */ - exp_month: number; - /** @description Four-digit number representing the card's expiration year. */ - exp_year: number; - /** - * @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. - * - * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* - */ - fingerprint?: string | null; - /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ - funding: string; - /** @description Unique identifier for the object. */ - id: string; - /** @description The last four digits of the card. */ - last4: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** @description Cardholder name. */ - name?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "card"; - /** @description For external accounts, possible values are `new` and `errored`. If a transfer fails, the status is set to `errored` and transfers are stopped until account details are updated. */ - status?: string | null; - /** @description If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null. */ - tokenization_method?: string | null; - }; - /** card_generated_from_payment_method_details */ - card_generated_from_payment_method_details: { - card_present?: components["schemas"]["payment_method_details_card_present"]; - /** @description The type of payment method transaction-specific details from the transaction that generated this `card` payment method. Always `card_present`. */ - type: string; - }; - /** CardIssuingAccountTermsOfService */ - card_issuing_account_terms_of_service: { - /** @description The Unix timestamp marking when the account representative accepted the service agreement. */ - date?: number | null; - /** @description The IP address from which the account representative accepted the service agreement. */ - ip?: string | null; - /** @description The user agent of the browser from which the account representative accepted the service agreement. */ - user_agent?: string; - }; - /** card_mandate_payment_method_details */ - card_mandate_payment_method_details: Record; - /** - * cash_balance - * @description A customer's `Cash balance` represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds can be used for payment and can eventually be paid out to your bank account. - */ - cash_balance: { - /** @description A hash of all cash balances available to this customer. You cannot delete a customer with any cash balances, even if the balance is 0. Amounts are represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - available?: { - [key: string]: number; - } | null; - /** @description The ID of the customer whose cash balance this object represents. */ - customer: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "cash_balance"; - settings: components["schemas"]["customer_balance_customer_balance_settings"]; - }; - /** - * Charge - * @description The `Charge` object represents a single attempt to move money into your Stripe account. - * PaymentIntent confirmation is the most common way to create Charges, but transferring - * money to a different Stripe account through Connect also creates Charges. - * Some legacy payment flows create Charges directly, which is not recommended for new integrations. - */ - charge: { - /** @description Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ - amount: number; - /** @description Amount in cents (or local equivalent) captured (can be less than the amount attribute on the charge if a partial capture was made). */ - amount_captured: number; - /** @description Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the charge if a partial refund was issued). */ - amount_refunded: number; - /** @description ID of the Connect application that created the charge. */ - application?: (string | components["schemas"]["application"]) | null; - /** @description The application fee (if any) for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees) for details. */ - application_fee?: (string | components["schemas"]["application_fee"]) | null; - /** @description The amount of the application fee (if any) requested for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees) for details. */ - application_fee_amount?: number | null; - /** @description ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes). */ - balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; - billing_details: components["schemas"]["billing_details"]; - /** @description The full statement descriptor that is passed to card networks, and that is displayed on your customers' credit card and bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined. */ - calculated_statement_descriptor?: string | null; - /** @description If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured. */ - captured: boolean; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description ID of the customer this charge is for if one exists. */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description Whether the charge has been disputed. */ - disputed: boolean; - /** @description ID of the balance transaction that describes the reversal of the balance on your account due to payment failure. */ - failure_balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; - /** @description Error code explaining reason for charge failure if available (see [the errors section](https://stripe.com/docs/error-codes) for a list of codes). */ - failure_code?: string | null; - /** @description Message to user further explaining reason for charge failure if available. */ - failure_message?: string | null; - /** @description Information on fraud assessments for the charge. */ - fraud_details?: components["schemas"]["charge_fraud_details"] | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description ID of the invoice this charge is for if one exists. */ - invoice?: (string | components["schemas"]["invoice"]) | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "charge"; - /** @description The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers) for details. */ - on_behalf_of?: (string | components["schemas"]["account"]) | null; - /** @description Details about whether the payment was accepted, and why. See [understanding declines](https://stripe.com/docs/declines) for details. */ - outcome?: components["schemas"]["charge_outcome"] | null; - /** @description `true` if the charge succeeded, or was successfully authorized for later capture. */ - paid: boolean; - /** @description ID of the PaymentIntent associated with this charge, if one exists. */ - payment_intent?: (string | components["schemas"]["payment_intent"]) | null; - /** @description ID of the payment method used in this charge. */ - payment_method?: string | null; - /** @description Details about the payment method at the time of the transaction. */ - payment_method_details?: components["schemas"]["payment_method_details"] | null; - radar_options?: components["schemas"]["radar_radar_options"]; - /** @description This is the email address that the receipt for this charge was sent to. */ - receipt_email?: string | null; - /** @description This is the transaction number that appears on email receipts sent for this charge. This attribute will be `null` until a receipt has been sent. */ - receipt_number?: string | null; - /** @description This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt. */ - receipt_url?: string | null; - /** @description Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false. */ - refunded: boolean; - /** - * RefundList - * @description A list of refunds that have been applied to the charge. - */ - refunds?: { - /** @description Details about each object. */ - data: components["schemas"]["refund"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - } | null; - /** @description ID of the review associated with this charge if one exists. */ - review?: (string | components["schemas"]["review"]) | null; - /** @description Shipping information for the charge. */ - shipping?: components["schemas"]["shipping"] | null; - /** @description The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details. */ - source_transfer?: (string | components["schemas"]["transfer"]) | null; - /** @description For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ - statement_descriptor?: string | null; - /** @description Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ - statement_descriptor_suffix?: string | null; - /** - * @description The status of the payment is either `succeeded`, `pending`, or `failed`. - * @enum {string} - */ - status: "failed" | "pending" | "succeeded"; - /** @description ID of the transfer to the `destination` account (only applicable if the charge was created using the `destination` parameter). */ - transfer?: string | components["schemas"]["transfer"]; - /** @description An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details. */ - transfer_data?: components["schemas"]["charge_transfer_data"] | null; - /** @description A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. */ - transfer_group?: string | null; - }; - /** ChargeFraudDetails */ - charge_fraud_details: { - /** @description Assessments from Stripe. If set, the value is `fraudulent`. */ - stripe_report?: string; - /** @description Assessments reported by you. If set, possible values of are `safe` and `fraudulent`. */ - user_report?: string; - }; - /** ChargeOutcome */ - charge_outcome: { - /** @description Possible values are `approved_by_network`, `declined_by_network`, `not_sent_to_network`, and `reversed_after_approval`. The value `reversed_after_approval` indicates the payment was [blocked by Stripe](https://stripe.com/docs/declines#blocked-payments) after bank authorization, and may temporarily appear as "pending" on a cardholder's statement. */ - network_status?: string | null; - /** @description An enumerated value providing a more detailed explanation of the outcome's `type`. Charges blocked by Radar's default block rule have the value `highest_risk_level`. Charges placed in review by Radar's default review rule have the value `elevated_risk_level`. Charges authorized, blocked, or placed in review by custom rules have the value `rule`. See [understanding declines](https://stripe.com/docs/declines) for more details. */ - reason?: string | null; - /** @description Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are `normal`, `elevated`, `highest`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value `not_assessed`. In the event of an error in the evaluation, this field will have the value `unknown`. This field is only available with Radar. */ - risk_level?: string; - /** @description Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams. */ - risk_score?: number; - /** @description The ID of the Radar rule that matched the payment, if applicable. */ - rule?: string | components["schemas"]["rule"]; - /** @description A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer. */ - seller_message?: string | null; - /** @description Possible values are `authorized`, `manual_review`, `issuer_declined`, `blocked`, and `invalid`. See [understanding declines](https://stripe.com/docs/declines) and [Radar reviews](https://stripe.com/docs/radar/reviews) for details. */ - type: string; - }; - /** ChargeTransferData */ - charge_transfer_data: { - /** @description The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account. */ - amount?: number | null; - /** @description ID of an existing, connected Stripe account to transfer funds to if `transfer_data` was specified in the charge request. */ - destination: string | components["schemas"]["account"]; - }; - /** - * Session - * @description A Checkout Session represents your customer's session as they pay for - * one-time purchases or subscriptions through [Checkout](https://stripe.com/docs/payments/checkout) - * or [Payment Links](https://stripe.com/docs/payments/payment-links). We recommend creating a - * new Session each time your customer attempts to pay. - * - * Once payment is successful, the Checkout Session will contain a reference - * to the [Customer](https://stripe.com/docs/api/customers), and either the successful - * [PaymentIntent](https://stripe.com/docs/api/payment_intents) or an active - * [Subscription](https://stripe.com/docs/api/subscriptions). - * - * You can create a Checkout Session on your server and redirect to its URL - * to begin Checkout. - * - * Related guide: [Checkout quickstart](https://stripe.com/docs/checkout/quickstart) - */ - "checkout.session": { - /** @description When set, provides configuration for actions to take if this Checkout Session expires. */ - after_expiration?: components["schemas"]["payment_pages_checkout_session_after_expiration"] | null; - /** @description Enables user redeemable promotion codes. */ - allow_promotion_codes?: boolean | null; - /** @description Total of all items before discounts or taxes are applied. */ - amount_subtotal?: number | null; - /** @description Total of all items after discounts and taxes are applied. */ - amount_total?: number | null; - automatic_tax: components["schemas"]["payment_pages_checkout_session_automatic_tax"]; - /** - * @description Describes whether Checkout should collect the customer's billing address. - * @enum {string|null} - */ - billing_address_collection?: "auto" | "required" | null; - /** @description If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. */ - cancel_url?: string | null; - /** - * @description A unique string to reference the Checkout Session. This can be a - * customer ID, a cart ID, or similar, and can be used to reconcile the - * Session with your internal systems. - */ - client_reference_id?: string | null; - /** @description Results of `consent_collection` for this session. */ - consent?: components["schemas"]["payment_pages_checkout_session_consent"] | null; - /** @description When set, provides configuration for the Checkout Session to gather active consent from customers. */ - consent_collection?: components["schemas"]["payment_pages_checkout_session_consent_collection"] | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string | null; - /** @description Currency conversion details for automatic currency conversion sessions */ - currency_conversion?: components["schemas"]["payment_pages_checkout_session_currency_conversion"] | null; - /** @description Collect additional information from your customer using custom fields. Up to 2 fields are supported. */ - custom_fields: components["schemas"]["payment_pages_checkout_session_custom_fields"][]; - custom_text: components["schemas"]["payment_pages_checkout_session_custom_text"]; - /** - * @description The ID of the customer for this Session. - * For Checkout Sessions in `subscription` mode or Checkout Sessions with `customer_creation` set as `always` in `payment` mode, Checkout - * will create a new customer object based on information provided - * during the payment flow unless an existing customer was provided when - * the Session was created. - */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** - * @description Configure whether a Checkout Session creates a Customer when the Checkout Session completes. - * @enum {string|null} - */ - customer_creation?: "always" | "if_required" | null; - /** @description The customer details including the customer's tax exempt status and the customer's tax IDs. Only the customer's email is present on Sessions in `setup` mode. */ - customer_details?: components["schemas"]["payment_pages_checkout_session_customer_details"] | null; - /** - * @description If provided, this value will be used when the Customer object is created. - * If not provided, customers will be asked to enter their email address. - * Use this parameter to prefill customer data if you already have an email - * on file. To access information about the customer once the payment flow is - * complete, use the `customer` attribute. - */ - customer_email?: string | null; - /** - * Format: unix-time - * @description The timestamp at which the Checkout Session will expire. - */ - expires_at: number; - /** @description Unique identifier for the object. */ - id: string; - /** @description ID of the invoice created by the Checkout Session, if it exists. */ - invoice?: (string | components["schemas"]["invoice"]) | null; - /** @description Details on the state of invoice creation for the Checkout Session. */ - invoice_creation?: components["schemas"]["payment_pages_checkout_session_invoice_creation"] | null; - /** - * PaymentPagesCheckoutSessionListLineItems - * @description The line items purchased by the customer. - */ - line_items?: { - /** @description Details about each object. */ - data: components["schemas"]["item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used. - * @enum {string|null} - */ - locale?: "auto" | "bg" | "cs" | "da" | "de" | "el" | "en" | "en-GB" | "es" | "es-419" | "et" | "fi" | "fil" | "fr" | "fr-CA" | "hr" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "mt" | "nb" | "nl" | "pl" | "pt" | "pt-BR" | "ro" | "ru" | "sk" | "sl" | "sv" | "th" | "tr" | "vi" | "zh" | "zh-HK" | "zh-TW" | null; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description The mode of the Checkout Session. - * @enum {string} - */ - mode: "payment" | "setup" | "subscription"; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "checkout.session"; - /** @description The ID of the PaymentIntent for Checkout Sessions in `payment` mode. */ - payment_intent?: (string | components["schemas"]["payment_intent"]) | null; - /** @description The ID of the Payment Link that created this Session. */ - payment_link?: (string | components["schemas"]["payment_link"]) | null; - /** - * @description Configure whether a Checkout Session should collect a payment method. - * @enum {string|null} - */ - payment_method_collection?: "always" | "if_required" | null; - /** @description Information about the payment method configuration used for this Checkout session if using dynamic payment methods. */ - payment_method_configuration_details?: components["schemas"]["payment_method_config_biz_payment_method_configuration_details"] | null; - /** @description Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession. */ - payment_method_options?: components["schemas"]["checkout_session_payment_method_options"] | null; - /** - * @description A list of the types of payment methods (e.g. card) this Checkout - * Session is allowed to accept. - */ - payment_method_types: string[]; - /** - * @description The payment status of the Checkout Session, one of `paid`, `unpaid`, or `no_payment_required`. - * You can use this value to decide when to fulfill your customer's order. - * @enum {string} - */ - payment_status: "no_payment_required" | "paid" | "unpaid"; - phone_number_collection?: components["schemas"]["payment_pages_checkout_session_phone_number_collection"]; - /** @description The ID of the original expired Checkout Session that triggered the recovery flow. */ - recovered_from?: string | null; - /** @description The ID of the SetupIntent for Checkout Sessions in `setup` mode. */ - setup_intent?: (string | components["schemas"]["setup_intent"]) | null; - /** @description When set, provides configuration for Checkout to collect a shipping address from a customer. */ - shipping_address_collection?: components["schemas"]["payment_pages_checkout_session_shipping_address_collection"] | null; - /** @description The details of the customer cost of shipping, including the customer chosen ShippingRate. */ - shipping_cost?: components["schemas"]["payment_pages_checkout_session_shipping_cost"] | null; - /** @description Shipping information for this Checkout Session. */ - shipping_details?: components["schemas"]["shipping"] | null; - /** @description The shipping rate options applied to this Session. */ - shipping_options: components["schemas"]["payment_pages_checkout_session_shipping_option"][]; - /** - * @description The status of the Checkout Session, one of `open`, `complete`, or `expired`. - * @enum {string|null} - */ - status?: "complete" | "expired" | "open" | null; - /** - * @description Describes the type of transaction being performed by Checkout in order to customize - * relevant text on the page, such as the submit button. `submit_type` can only be - * specified on Checkout Sessions in `payment` mode, but not Checkout Sessions - * in `subscription` or `setup` mode. - * @enum {string|null} - */ - submit_type?: "auto" | "book" | "donate" | "pay" | null; - /** @description The ID of the subscription for Checkout Sessions in `subscription` mode. */ - subscription?: (string | components["schemas"]["subscription"]) | null; - /** - * @description The URL the customer will be directed to after the payment or - * subscription creation is successful. - */ - success_url?: string | null; - tax_id_collection?: components["schemas"]["payment_pages_checkout_session_tax_id_collection"]; - /** @description Tax and discount details for the computed total amount. */ - total_details?: components["schemas"]["payment_pages_checkout_session_total_details"] | null; - /** - * @description The URL to the Checkout Session. Redirect customers to this URL to take them to Checkout. If you’re using [Custom Domains](https://stripe.com/docs/payments/checkout/custom-domains), the URL will use your subdomain. Otherwise, it’ll use `checkout.stripe.com.` - * This value is only present when the session is active. - */ - url?: string | null; - }; - /** CheckoutAcssDebitMandateOptions */ - checkout_acss_debit_mandate_options: { - /** @description A URL for custom mandate text */ - custom_mandate_url?: string; - /** @description List of Stripe products where this mandate can be selected automatically. Returned when the Session is in `setup` mode. */ - default_for?: ("invoice" | "subscription")[]; - /** @description Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. */ - interval_description?: string | null; - /** - * @description Payment schedule for the mandate. - * @enum {string|null} - */ - payment_schedule?: "combined" | "interval" | "sporadic" | null; - /** - * @description Transaction type of the mandate. - * @enum {string|null} - */ - transaction_type?: "business" | "personal" | null; - }; - /** CheckoutAcssDebitPaymentMethodOptions */ - checkout_acss_debit_payment_method_options: { - /** - * @description Currency supported by the bank account. Returned when the Session is in `setup` mode. - * @enum {string} - */ - currency?: "cad" | "usd"; - mandate_options?: components["schemas"]["checkout_acss_debit_mandate_options"]; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - /** - * @description Bank account verification method. - * @enum {string} - */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** CheckoutAffirmPaymentMethodOptions */ - checkout_affirm_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutAfterpayClearpayPaymentMethodOptions */ - checkout_afterpay_clearpay_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutAlipayPaymentMethodOptions */ - checkout_alipay_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutAuBecsDebitPaymentMethodOptions */ - checkout_au_becs_debit_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutBacsDebitPaymentMethodOptions */ - checkout_bacs_debit_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** CheckoutBancontactPaymentMethodOptions */ - checkout_bancontact_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutBoletoPaymentMethodOptions */ - checkout_boleto_payment_method_options: { - /** @description The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will expire on Wednesday at 23:59 America/Sao_Paulo time. */ - expires_after_days: number; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** CheckoutCardInstallmentsOptions */ - checkout_card_installments_options: { - /** @description Indicates if installments are enabled */ - enabled?: boolean; - }; - /** CheckoutCardPaymentMethodOptions */ - checkout_card_payment_method_options: { - installments?: components["schemas"]["checkout_card_installments_options"]; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - /** @description Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. */ - statement_descriptor_suffix_kana?: string; - /** @description Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. */ - statement_descriptor_suffix_kanji?: string; - }; - /** CheckoutCashappPaymentMethodOptions */ - checkout_cashapp_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutCustomerBalanceBankTransferPaymentMethodOptions */ - checkout_customer_balance_bank_transfer_payment_method_options: { - eu_bank_transfer?: components["schemas"]["payment_method_options_customer_balance_eu_bank_account"]; - /** - * @description List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. - * - * Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. - */ - requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; - /** - * @description The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. - * @enum {string|null} - */ - type?: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer" | null; - }; - /** CheckoutCustomerBalancePaymentMethodOptions */ - checkout_customer_balance_payment_method_options: { - bank_transfer?: components["schemas"]["checkout_customer_balance_bank_transfer_payment_method_options"]; - /** - * @description The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. - * @enum {string|null} - */ - funding_type?: "bank_transfer" | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutEpsPaymentMethodOptions */ - checkout_eps_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutFpxPaymentMethodOptions */ - checkout_fpx_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutGiropayPaymentMethodOptions */ - checkout_giropay_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutGrabPayPaymentMethodOptions */ - checkout_grab_pay_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutIdealPaymentMethodOptions */ - checkout_ideal_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutKlarnaPaymentMethodOptions */ - checkout_klarna_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** CheckoutKonbiniPaymentMethodOptions */ - checkout_konbini_payment_method_options: { - /** @description The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. */ - expires_after_days?: number | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutLinkPaymentMethodOptions */ - checkout_link_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session"; - }; - /** CheckoutOxxoPaymentMethodOptions */ - checkout_oxxo_payment_method_options: { - /** @description The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time. */ - expires_after_days: number; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutP24PaymentMethodOptions */ - checkout_p24_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutPaynowPaymentMethodOptions */ - checkout_paynow_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutPixPaymentMethodOptions */ - checkout_pix_payment_method_options: { - /** @description The number of seconds after which Pix payment will expire. */ - expires_after_seconds?: number | null; - }; - /** CheckoutSepaDebitPaymentMethodOptions */ - checkout_sepa_debit_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** CheckoutSessionPaymentMethodOptions */ - checkout_session_payment_method_options: { - acss_debit?: components["schemas"]["checkout_acss_debit_payment_method_options"]; - affirm?: components["schemas"]["checkout_affirm_payment_method_options"]; - afterpay_clearpay?: components["schemas"]["checkout_afterpay_clearpay_payment_method_options"]; - alipay?: components["schemas"]["checkout_alipay_payment_method_options"]; - au_becs_debit?: components["schemas"]["checkout_au_becs_debit_payment_method_options"]; - bacs_debit?: components["schemas"]["checkout_bacs_debit_payment_method_options"]; - bancontact?: components["schemas"]["checkout_bancontact_payment_method_options"]; - boleto?: components["schemas"]["checkout_boleto_payment_method_options"]; - card?: components["schemas"]["checkout_card_payment_method_options"]; - cashapp?: components["schemas"]["checkout_cashapp_payment_method_options"]; - customer_balance?: components["schemas"]["checkout_customer_balance_payment_method_options"]; - eps?: components["schemas"]["checkout_eps_payment_method_options"]; - fpx?: components["schemas"]["checkout_fpx_payment_method_options"]; - giropay?: components["schemas"]["checkout_giropay_payment_method_options"]; - grabpay?: components["schemas"]["checkout_grab_pay_payment_method_options"]; - ideal?: components["schemas"]["checkout_ideal_payment_method_options"]; - klarna?: components["schemas"]["checkout_klarna_payment_method_options"]; - konbini?: components["schemas"]["checkout_konbini_payment_method_options"]; - link?: components["schemas"]["checkout_link_payment_method_options"]; - oxxo?: components["schemas"]["checkout_oxxo_payment_method_options"]; - p24?: components["schemas"]["checkout_p24_payment_method_options"]; - paynow?: components["schemas"]["checkout_paynow_payment_method_options"]; - pix?: components["schemas"]["checkout_pix_payment_method_options"]; - sepa_debit?: components["schemas"]["checkout_sepa_debit_payment_method_options"]; - sofort?: components["schemas"]["checkout_sofort_payment_method_options"]; - us_bank_account?: components["schemas"]["checkout_us_bank_account_payment_method_options"]; - }; - /** CheckoutSofortPaymentMethodOptions */ - checkout_sofort_payment_method_options: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** CheckoutUsBankAccountPaymentMethodOptions */ - checkout_us_bank_account_payment_method_options: { - financial_connections?: components["schemas"]["linked_account_options_us_bank_account"]; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - /** - * @description Bank account verification method. - * @enum {string} - */ - verification_method?: "automatic" | "instant"; - }; - /** ConnectCollectionTransfer */ - connect_collection_transfer: { - /** @description Amount transferred, in cents (or local equivalent). */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description ID of the account that funds are being collected for. */ - destination: string | components["schemas"]["account"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "connect_collection_transfer"; - }; - /** ConnectEmbeddedAccountSessionCreateComponents */ - connect_embedded_account_session_create_components: { - account_onboarding: components["schemas"]["connect_embedded_base_config_claim"]; - }; - /** ConnectEmbeddedBaseConfigClaim */ - connect_embedded_base_config_claim: { - /** @description Whether the embedded component is enabled. */ - enabled: boolean; - }; - /** - * CountrySpec - * @description Stripe needs to collect certain pieces of information about each account - * created. These requirements can differ depending on the account's country. The - * Country Specs API makes these rules available to your integration. - * - * You can also view the information from this API call as [an online - * guide](/docs/connect/required-verification-information). - */ - country_spec: { - /** @description The default currency for this country. This applies to both payment methods and bank accounts. */ - default_currency: string; - /** @description Unique identifier for the object. Represented as the ISO country code for this country. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "country_spec"; - /** @description Currencies that can be accepted in the specific country (for transfers). */ - supported_bank_account_currencies: { - [key: string]: string[]; - }; - /** @description Currencies that can be accepted in the specified country (for payments). */ - supported_payment_currencies: string[]; - /** @description Payment methods available in the specified country. You may need to enable some payment methods (e.g., [ACH](https://stripe.com/docs/ach)) on your account before they appear in this list. The `stripe` payment method refers to [charging through your platform](https://stripe.com/docs/connect/destination-charges). */ - supported_payment_methods: string[]; - /** @description Countries that can accept transfers from the specified country. */ - supported_transfer_countries: string[]; - verification_fields: components["schemas"]["country_spec_verification_fields"]; - }; - /** CountrySpecVerificationFieldDetails */ - country_spec_verification_field_details: { - /** @description Additional fields which are only required for some users. */ - additional: string[]; - /** @description Fields which every account must eventually provide. */ - minimum: string[]; - }; - /** CountrySpecVerificationFields */ - country_spec_verification_fields: { - company: components["schemas"]["country_spec_verification_field_details"]; - individual: components["schemas"]["country_spec_verification_field_details"]; - }; - /** - * Coupon - * @description A coupon contains information about a percent-off or amount-off discount you - * might want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices), - * [checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents). - */ - coupon: { - /** @description Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer. */ - amount_off?: number | null; - applies_to?: components["schemas"]["coupon_applies_to"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description If `amount_off` has been set, the three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the amount to take off. */ - currency?: string | null; - /** @description Coupons defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ - currency_options?: { - [key: string]: components["schemas"]["coupon_currency_option"]; - }; - /** - * @description One of `forever`, `once`, and `repeating`. Describes how long a customer who applies this coupon will get the discount. - * @enum {string} - */ - duration: "forever" | "once" | "repeating"; - /** @description If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`. */ - duration_in_months?: number | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid. */ - max_redemptions?: number | null; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** @description Name of the coupon displayed to customers on for instance invoices or receipts. */ - name?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "coupon"; - /** @description Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a $ (or local equivalent)100 invoice $ (or local equivalent)50 instead. */ - percent_off?: number | null; - /** - * Format: unix-time - * @description Date after which the coupon can no longer be redeemed. - */ - redeem_by?: number | null; - /** @description Number of times this coupon has been applied to a customer. */ - times_redeemed: number; - /** @description Taking account of the above properties, whether this coupon can still be applied to a customer. */ - valid: boolean; - }; - /** CouponAppliesTo */ - coupon_applies_to: { - /** @description A list of product IDs this coupon applies to */ - products: string[]; - }; - /** CouponCurrencyOption */ - coupon_currency_option: { - /** @description Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer. */ - amount_off: number; - }; - /** - * CreditNote - * @description Issue a credit note to adjust an invoice's amount after the invoice is finalized. - * - * Related guide: [Credit notes](https://stripe.com/docs/billing/invoices/credit-notes) - */ - credit_note: { - /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax. */ - amount: number; - /** @description This is the sum of all the shipping amounts. */ - amount_shipping: number; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description ID of the customer. */ - customer: string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]; - /** @description Customer balance transaction related to this credit note. */ - customer_balance_transaction?: (string | components["schemas"]["customer_balance_transaction"]) | null; - /** @description The integer amount in cents (or local equivalent) representing the total amount of discount that was credited. */ - discount_amount: number; - /** @description The aggregate amounts calculated per discount for all line items. */ - discount_amounts: components["schemas"]["discounts_resource_discount_amount"][]; - /** - * Format: unix-time - * @description The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. - */ - effective_at?: number | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description ID of the invoice. */ - invoice: string | components["schemas"]["invoice"]; - /** - * CreditNoteLinesList - * @description Line items that make up the credit note - */ - lines: { - /** @description Details about each object. */ - data: components["schemas"]["credit_note_line_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Customer-facing text that appears on the credit note PDF. */ - memo?: string | null; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** @description A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice. */ - number: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "credit_note"; - /** @description Amount that was credited outside of Stripe. */ - out_of_band_amount?: number | null; - /** @description The link to download the PDF of the credit note. */ - pdf: string; - /** - * @description Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` - * @enum {string|null} - */ - reason?: "duplicate" | "fraudulent" | "order_change" | "product_unsatisfactory" | null; - /** @description Refund related to this credit note. */ - refund?: (string | components["schemas"]["refund"]) | null; - /** @description The details of the cost of shipping, including the ShippingRate applied to the invoice. */ - shipping_cost?: components["schemas"]["invoices_shipping_cost"] | null; - /** - * @description Status of this credit note, one of `issued` or `void`. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding). - * @enum {string} - */ - status: "issued" | "void"; - /** @description The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding exclusive tax and invoice level discounts. */ - subtotal: number; - /** @description The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding all tax and invoice level discounts. */ - subtotal_excluding_tax?: number | null; - /** @description The aggregate amounts calculated per tax rate for all line items. */ - tax_amounts: components["schemas"]["credit_note_tax_amount"][]; - /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax and all discount. */ - total: number; - /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note, excluding tax, but including discounts. */ - total_excluding_tax?: number | null; - /** - * @description Type of this credit note, one of `pre_payment` or `post_payment`. A `pre_payment` credit note means it was issued when the invoice was open. A `post_payment` credit note means it was issued when the invoice was paid. - * @enum {string} - */ - type: "post_payment" | "pre_payment"; - /** - * Format: unix-time - * @description The time that the credit note was voided. - */ - voided_at?: number | null; - }; - /** - * CreditNoteLineItem - * @description The credit note line item object - */ - credit_note_line_item: { - /** @description The integer amount in cents (or local equivalent) representing the gross amount being credited for this line item, excluding (exclusive) tax and discounts. */ - amount: number; - /** @description The integer amount in cents (or local equivalent) representing the amount being credited for this line item, excluding all tax and discounts. */ - amount_excluding_tax?: number | null; - /** @description Description of the item being credited. */ - description?: string | null; - /** @description The integer amount in cents (or local equivalent) representing the discount being credited for this line item. */ - discount_amount: number; - /** @description The amount of discount calculated per discount for this line item */ - discount_amounts: components["schemas"]["discounts_resource_discount_amount"][]; - /** @description Unique identifier for the object. */ - id: string; - /** @description ID of the invoice line item being credited */ - invoice_line_item?: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "credit_note_line_item"; - /** @description The number of units of product being credited. */ - quantity?: number | null; - /** @description The amount of tax calculated per tax rate for this line item */ - tax_amounts: components["schemas"]["credit_note_tax_amount"][]; - /** @description The tax rates which apply to the line item. */ - tax_rates: components["schemas"]["tax_rate"][]; - /** - * @description The type of the credit note line item, one of `invoice_line_item` or `custom_line_item`. When the type is `invoice_line_item` there is an additional `invoice_line_item` property on the resource the value of which is the id of the credited line item on the invoice. - * @enum {string} - */ - type: "custom_line_item" | "invoice_line_item"; - /** @description The cost of each unit of product being credited. */ - unit_amount?: number | null; - /** - * Format: decimal - * @description Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. - */ - unit_amount_decimal?: string | null; - /** - * Format: decimal - * @description The amount in cents (or local equivalent) representing the unit amount being credited for this line item, excluding all tax and discounts. - */ - unit_amount_excluding_tax?: string | null; - }; - /** CreditNoteTaxAmount */ - credit_note_tax_amount: { - /** @description The amount, in cents (or local equivalent), of the tax. */ - amount: number; - /** @description Whether this tax amount is inclusive or exclusive. */ - inclusive: boolean; - /** @description The tax rate that was applied to get this tax amount. */ - tax_rate: string | components["schemas"]["tax_rate"]; - /** - * @description The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. - * @enum {string|null} - */ - taxability_reason?: "customer_exempt" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated" | null; - /** @description The amount on which tax is calculated, in cents (or local equivalent). */ - taxable_amount?: number | null; - }; - /** CurrencyOption */ - currency_option: { - /** @description When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. */ - custom_unit_amount?: components["schemas"]["custom_unit_amount"] | null; - /** - * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. - * @enum {string|null} - */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified" | null; - /** @description Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. */ - tiers?: components["schemas"]["price_tier"][]; - /** @description The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`. */ - unit_amount?: number | null; - /** - * Format: decimal - * @description The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`. - */ - unit_amount_decimal?: string | null; - }; - /** CustomUnitAmount */ - custom_unit_amount: { - /** @description The maximum unit amount the customer can specify for this item. */ - maximum?: number | null; - /** @description The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. */ - minimum?: number | null; - /** @description The starting unit amount which can be updated by the customer. */ - preset?: number | null; - }; - /** - * Customer - * @description This object represents a customer of your business. Use it to create recurring charges and track payments that belong to the same customer. - * - * Related guide: [Save a card during payment](https://stripe.com/docs/payments/save-during-payment) - */ - customer: { - /** @description The customer's address. */ - address?: components["schemas"]["address"] | null; - /** @description The current balance, if any, that's stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that's added to their next invoice. The balance only considers amounts that Stripe hasn't successfully applied to any invoice. It doesn't reflect unpaid invoices. This balance is only taken into account after invoices finalize. */ - balance?: number; - /** @description The current funds being held by Stripe on behalf of the customer. You can apply these funds towards payment intents when the source is "cash_balance". The `settings[reconciliation_mode]` field describes if these funds apply to these payment intents manually or automatically. */ - cash_balance?: components["schemas"]["cash_balance"] | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes. */ - currency?: string | null; - /** - * @description ID of the default payment source for the customer. - * - * If you use payment methods created through the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) field instead. - */ - default_source?: (string | components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"]) | null; - /** - * @description If Stripe bills the customer's latest invoice by automatically charging and the latest charge fails, it sets `delinquent`` to `true``. If Stripe bills the invoice by sending it, and the invoice isn't paid by the due date, it also sets `delinquent`` to `true`. - * - * If an invoice becomes uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn't reset to `false`. - */ - delinquent?: boolean | null; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description Describes the current discount active on the customer, if there is one. */ - discount?: components["schemas"]["discount"] | null; - /** @description The customer's email address. */ - email?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description The current multi-currency balances, if any, that's stored on the customer. If positive in a currency, the customer has a credit to apply to their next invoice denominated in that currency. If negative, the customer has an amount owed that's added to their next invoice denominated in that currency. These balances don't apply to unpaid invoices. They solely track amounts that Stripe hasn't successfully applied to any invoice. Stripe only applies a balance in a specific currency to an invoice after that invoice (which is in the same currency) finalizes. */ - invoice_credit_balance?: { - [key: string]: number; - }; - /** @description The prefix for the customer used to generate unique invoice numbers. */ - invoice_prefix?: string | null; - invoice_settings?: components["schemas"]["invoice_setting_customer_setting"]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - }; - /** @description The customer's full name or business name. */ - name?: string | null; - /** @description The suffix of the customer's next invoice number (for example, 0001). */ - next_invoice_sequence?: number; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "customer"; - /** @description The customer's phone number. */ - phone?: string | null; - /** @description The customer's preferred locales (languages), ordered by preference. */ - preferred_locales?: string[] | null; - /** @description Mailing and shipping address for the customer. Appears on invoices emailed to this customer. */ - shipping?: components["schemas"]["shipping"] | null; - /** - * ApmsSourcesSourceList - * @description The customer's payment sources, if any. - */ - sources?: { - /** @description Details about each object. */ - data: (components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"])[]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - /** - * SubscriptionList - * @description The customer's current subscriptions, if any. - */ - subscriptions?: { - /** @description Details about each object. */ - data: components["schemas"]["subscription"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - tax?: components["schemas"]["customer_tax"]; - /** - * @description Describes the customer's tax exemption status, which is `none`, `exempt`, or `reverse`. When set to `reverse`, invoice and receipt PDFs include the following text: **"Reverse charge"**. - * @enum {string|null} - */ - tax_exempt?: "exempt" | "none" | "reverse" | null; - /** - * TaxIDsList - * @description The customer's tax IDs. - */ - tax_ids?: { - /** @description Details about each object. */ - data: components["schemas"]["tax_id"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - /** @description ID of the test clock that this customer belongs to. */ - test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; - }; - /** customer_acceptance */ - customer_acceptance: { - /** - * Format: unix-time - * @description The time that the customer accepts the mandate. - */ - accepted_at?: number | null; - offline?: components["schemas"]["offline_acceptance"]; - online?: components["schemas"]["online_acceptance"]; - /** - * @description The mandate includes the type of customer acceptance information, such as: `online` or `offline`. - * @enum {string} - */ - type: "offline" | "online"; - }; - /** CustomerBalanceCustomerBalanceSettings */ - customer_balance_customer_balance_settings: { - /** - * @description The configuration for how funds that land in the customer cash balance are reconciled. - * @enum {string} - */ - reconciliation_mode: "automatic" | "manual"; - /** @description A flag to indicate if reconciliation mode returned is the user's default or is specific to this customer cash balance */ - using_merchant_default: boolean; - }; - /** CustomerBalanceResourceCashBalanceTransactionResourceAdjustedForOverdraft */ - customer_balance_resource_cash_balance_transaction_resource_adjusted_for_overdraft: { - /** @description The [Balance Transaction](docs/api/balance_transactions/object) that corresponds to funds taken out of your Stripe balance. */ - balance_transaction: string | components["schemas"]["balance_transaction"]; - /** @description The [Cash Balance Transaction](https://stripe.com/docs/api/cash_balance_transactions/object) that brought the customer balance negative, triggering the clawback of funds. */ - linked_transaction: string | components["schemas"]["customer_cash_balance_transaction"]; - }; - /** CustomerBalanceResourceCashBalanceTransactionResourceAppliedToPaymentTransaction */ - customer_balance_resource_cash_balance_transaction_resource_applied_to_payment_transaction: { - /** @description The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were applied to. */ - payment_intent: string | components["schemas"]["payment_intent"]; - }; - /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransaction */ - customer_balance_resource_cash_balance_transaction_resource_funded_transaction: { - bank_transfer: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer"]; - }; - /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransfer */ - customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer: { - eu_bank_transfer?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_eu_bank_transfer"]; - gb_bank_transfer?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_gb_bank_transfer"]; - jp_bank_transfer?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_jp_bank_transfer"]; - /** @description The user-supplied reference field on the bank transfer. */ - reference?: string | null; - /** - * @description The funding method type used to fund the customer balance. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. - * @enum {string} - */ - type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; - us_bank_transfer?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_us_bank_transfer"]; - }; - /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceEuBankTransfer */ - customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_eu_bank_transfer: { - /** @description The BIC of the bank of the sender of the funding. */ - bic?: string | null; - /** @description The last 4 digits of the IBAN of the sender of the funding. */ - iban_last4?: string | null; - /** @description The full name of the sender, as supplied by the sending bank. */ - sender_name?: string | null; - }; - /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceGbBankTransfer */ - customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_gb_bank_transfer: { - /** @description The last 4 digits of the account number of the sender of the funding. */ - account_number_last4?: string | null; - /** @description The full name of the sender, as supplied by the sending bank. */ - sender_name?: string | null; - /** @description The sort code of the bank of the sender of the funding */ - sort_code?: string | null; - }; - /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceJpBankTransfer */ - customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_jp_bank_transfer: { - /** @description The name of the bank of the sender of the funding. */ - sender_bank?: string | null; - /** @description The name of the bank branch of the sender of the funding. */ - sender_branch?: string | null; - /** @description The full name of the sender, as supplied by the sending bank. */ - sender_name?: string | null; - }; - /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceUsBankTransfer */ - customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_us_bank_transfer: { - /** - * @description The banking network used for this funding. - * @enum {string} - */ - network?: "ach" | "domestic_wire_us" | "swift"; - /** @description The full name of the sender, as supplied by the sending bank. */ - sender_name?: string | null; - }; - /** CustomerBalanceResourceCashBalanceTransactionResourceRefundedFromPaymentTransaction */ - customer_balance_resource_cash_balance_transaction_resource_refunded_from_payment_transaction: { - /** @description The [Refund](https://stripe.com/docs/api/refunds/object) that moved these funds into the customer's cash balance. */ - refund: string | components["schemas"]["refund"]; - }; - /** CustomerBalanceResourceCashBalanceTransactionResourceUnappliedFromPaymentTransaction */ - customer_balance_resource_cash_balance_transaction_resource_unapplied_from_payment_transaction: { - /** @description The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were unapplied from. */ - payment_intent: string | components["schemas"]["payment_intent"]; - }; - /** - * CustomerBalanceTransaction - * @description Each customer has a [Balance](https://stripe.com/docs/api/customers/object#customer_object-balance) value, - * which denotes a debit or credit that's automatically applied to their next invoice upon finalization. - * You may modify the value directly by using the [update customer API](https://stripe.com/docs/api/customers/update), - * or by creating a Customer Balance Transaction, which increments or decrements the customer's `balance` by the specified `amount`. - * - * Related guide: [Customer balance](https://stripe.com/docs/billing/customer/balance) - */ - customer_balance_transaction: { - /** @description The amount of the transaction. A negative value is a credit for the customer's balance, and a positive value is a debit to the customer's `balance`. */ - amount: number; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The ID of the credit note (if any) related to the transaction. */ - credit_note?: (string | components["schemas"]["credit_note"]) | null; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description The ID of the customer the transaction belongs to. */ - customer: string | components["schemas"]["customer"]; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description The customer's `balance` after the transaction was applied. A negative value decreases the amount due on the customer's next invoice. A positive value increases the amount due on the customer's next invoice. */ - ending_balance: number; - /** @description Unique identifier for the object. */ - id: string; - /** @description The ID of the invoice (if any) related to the transaction. */ - invoice?: (string | components["schemas"]["invoice"]) | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "customer_balance_transaction"; - /** - * @description Transaction type: `adjustment`, `applied_to_invoice`, `credit_note`, `initial`, `invoice_overpaid`, `invoice_too_large`, `invoice_too_small`, `unspent_receiver_credit`, or `unapplied_from_invoice`. See the [Customer Balance page](https://stripe.com/docs/billing/customer/balance#types) to learn more about transaction types. - * @enum {string} - */ - type: "adjustment" | "applied_to_invoice" | "credit_note" | "initial" | "invoice_overpaid" | "invoice_too_large" | "invoice_too_small" | "migration" | "unapplied_from_invoice" | "unspent_receiver_credit"; - }; - /** - * CustomerCashBalanceTransaction - * @description Customers with certain payments enabled have a cash balance, representing funds that were paid - * by the customer to a merchant, but have not yet been allocated to a payment. Cash Balance Transactions - * represent when funds are moved into or out of this balance. This includes funding by the customer, allocation - * to payments, and refunds to the customer. - */ - customer_cash_balance_transaction: { - adjusted_for_overdraft?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_adjusted_for_overdraft"]; - applied_to_payment?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_applied_to_payment_transaction"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description The customer whose available cash balance changed as a result of this transaction. */ - customer: string | components["schemas"]["customer"]; - /** @description The total available cash balance for the specified currency after this transaction was applied. Represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - ending_balance: number; - funded?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description The amount by which the cash balance changed, represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). A positive value represents funds being added to the cash balance, a negative value represents funds being removed from the cash balance. */ - net_amount: number; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "customer_cash_balance_transaction"; - refunded_from_payment?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_refunded_from_payment_transaction"]; - /** - * @description The type of the cash balance transaction. New types may be added in future. See [Customer Balance](https://stripe.com/docs/payments/customer-balance#types) to learn more about these types. - * @enum {string} - */ - type: "adjusted_for_overdraft" | "applied_to_payment" | "funded" | "funding_reversed" | "refunded_from_payment" | "return_canceled" | "return_initiated" | "unapplied_from_payment"; - unapplied_from_payment?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_unapplied_from_payment_transaction"]; - }; - /** CustomerTax */ - customer_tax: { - /** - * @description Surfaces if automatic tax computation is possible given the current customer location information. - * @enum {string} - */ - automatic_tax: "failed" | "not_collecting" | "supported" | "unrecognized_location"; - /** @description A recent IP address of the customer used for tax reporting and tax location inference. */ - ip_address?: string | null; - /** @description The customer's location as identified by Stripe Tax. */ - location?: components["schemas"]["customer_tax_location"] | null; - }; - /** CustomerTaxLocation */ - customer_tax_location: { - /** @description The customer's country as identified by Stripe Tax. */ - country: string; - /** - * @description The data source used to infer the customer's location. - * @enum {string} - */ - source: "billing_address" | "ip_address" | "payment_method" | "shipping_destination"; - /** @description The customer's state, county, province, or region as identified by Stripe Tax. */ - state?: string | null; - }; - /** DeletedAccount */ - deleted_account: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "account"; - }; - /** DeletedApplePayDomain */ - deleted_apple_pay_domain: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "apple_pay_domain"; - }; - /** DeletedApplication */ - deleted_application: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** @description The name of the application. */ - name?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "application"; - }; - /** DeletedBankAccount */ - deleted_bank_account: { - /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account. */ - currency?: string | null; - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "bank_account"; - }; - /** DeletedCard */ - deleted_card: { - /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account. */ - currency?: string | null; - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "card"; - }; - /** DeletedCoupon */ - deleted_coupon: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "coupon"; - }; - /** DeletedCustomer */ - deleted_customer: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "customer"; - }; - /** DeletedDiscount */ - deleted_discount: { - /** @description The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode. */ - checkout_session?: string | null; - coupon: components["schemas"]["coupon"]; - /** @description The ID of the customer associated with this discount. */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array. */ - id: string; - /** @description The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice. */ - invoice?: string | null; - /** @description The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item. */ - invoice_item?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "discount"; - /** @description The promotion code applied to create this discount. */ - promotion_code?: (string | components["schemas"]["promotion_code"]) | null; - /** - * Format: unix-time - * @description Date that the coupon was applied. - */ - start: number; - /** @description The subscription that this coupon is applied to, if it is applied to a particular subscription. */ - subscription?: string | null; - }; - /** Polymorphic */ - deleted_external_account: components["schemas"]["deleted_bank_account"] | components["schemas"]["deleted_card"]; - /** DeletedInvoice */ - deleted_invoice: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "invoice"; - }; - /** DeletedInvoiceItem */ - deleted_invoiceitem: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "invoiceitem"; - }; - /** Polymorphic */ - deleted_payment_source: components["schemas"]["deleted_bank_account"] | components["schemas"]["deleted_card"]; - /** DeletedPerson */ - deleted_person: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "person"; - }; - /** DeletedPlan */ - deleted_plan: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "plan"; - }; - /** DeletedPrice */ - deleted_price: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "price"; - }; - /** DeletedProduct */ - deleted_product: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "product"; - }; - /** RadarListDeletedList */ - "deleted_radar.value_list": { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "radar.value_list"; - }; - /** RadarListDeletedListItem */ - "deleted_radar.value_list_item": { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "radar.value_list_item"; - }; - /** DeletedSubscriptionItem */ - deleted_subscription_item: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "subscription_item"; - }; - /** deleted_tax_id */ - deleted_tax_id: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "tax_id"; - }; - /** TerminalConfigurationDeletedConfiguration */ - "deleted_terminal.configuration": { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "terminal.configuration"; - }; - /** TerminalLocationDeletedLocation */ - "deleted_terminal.location": { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "terminal.location"; - }; - /** TerminalReaderDeletedReader */ - "deleted_terminal.reader": { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "terminal.reader"; - }; - /** DeletedTestClock */ - "deleted_test_helpers.test_clock": { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "test_helpers.test_clock"; - }; - /** NotificationWebhookEndpointDeleted */ - deleted_webhook_endpoint: { - /** - * @description Always true for a deleted object - * @enum {boolean} - */ - deleted: true; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "webhook_endpoint"; - }; - /** - * Discount - * @description A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes). - * It contains information about when the discount began, when it will end, and what it is applied to. - * - * Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts) - */ - discount: { - /** @description The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode. */ - checkout_session?: string | null; - coupon: components["schemas"]["coupon"]; - /** @description The ID of the customer associated with this discount. */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** - * Format: unix-time - * @description If the coupon has a duration of `repeating`, the date that this discount will end. If the coupon has a duration of `once` or `forever`, this attribute will be null. - */ - end?: number | null; - /** @description The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array. */ - id: string; - /** @description The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice. */ - invoice?: string | null; - /** @description The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item. */ - invoice_item?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "discount"; - /** @description The promotion code applied to create this discount. */ - promotion_code?: (string | components["schemas"]["promotion_code"]) | null; - /** - * Format: unix-time - * @description Date that the coupon was applied. - */ - start: number; - /** @description The subscription that this coupon is applied to, if it is applied to a particular subscription. */ - subscription?: string | null; - }; - /** DiscountsResourceDiscountAmount */ - discounts_resource_discount_amount: { - /** @description The amount, in cents (or local equivalent), of the discount. */ - amount: number; - /** @description The discount that was applied to get this discount amount. */ - discount: string | components["schemas"]["discount"] | components["schemas"]["deleted_discount"]; - }; - /** - * Dispute - * @description A dispute occurs when a customer questions your charge with their card issuer. - * When this happens, you have the opportunity to respond to the dispute with - * evidence that shows that the charge is legitimate. - * - * Related guide: [Disputes and fraud](https://stripe.com/docs/disputes) - */ - dispute: { - /** @description Disputed amount. Usually the amount of the charge, but it can differ (usually because of currency fluctuation or because only part of the order is disputed). */ - amount: number; - /** @description List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute. */ - balance_transactions: components["schemas"]["balance_transaction"][]; - /** @description ID of the charge that's disputed. */ - charge: string | components["schemas"]["charge"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - evidence: components["schemas"]["dispute_evidence"]; - evidence_details: components["schemas"]["dispute_evidence_details"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description If true, it's still possible to refund the disputed payment. After the payment has been fully refunded, no further funds are withdrawn from your Stripe account as a result of this dispute. */ - is_charge_refundable: boolean; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "dispute"; - /** @description ID of the PaymentIntent that's disputed. */ - payment_intent?: (string | components["schemas"]["payment_intent"]) | null; - payment_method_details?: components["schemas"]["dispute_payment_method_details"]; - /** @description Reason given by cardholder for dispute. Possible values are `bank_cannot_process`, `check_returned`, `credit_not_processed`, `customer_initiated`, `debit_not_authorized`, `duplicate`, `fraudulent`, `general`, `incorrect_account_details`, `insufficient_funds`, `product_not_received`, `product_unacceptable`, `subscription_canceled`, or `unrecognized`. Learn more about [dispute reasons](https://stripe.com/docs/disputes/categories). */ - reason: string; - /** - * @description Current status of dispute. Possible values are `warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `won`, or `lost`. - * @enum {string} - */ - status: "lost" | "needs_response" | "under_review" | "warning_closed" | "warning_needs_response" | "warning_under_review" | "won"; - }; - /** DisputeEvidence */ - dispute_evidence: { - /** @description Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity. */ - access_activity_log?: string | null; - /** @description The billing address provided by the customer. */ - billing_address?: string | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your subscription cancellation policy, as shown to the customer. */ - cancellation_policy?: (string | components["schemas"]["file"]) | null; - /** @description An explanation of how and when the customer was shown your refund policy prior to purchase. */ - cancellation_policy_disclosure?: string | null; - /** @description A justification for why the customer's subscription was not canceled. */ - cancellation_rebuttal?: string | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service. */ - customer_communication?: (string | components["schemas"]["file"]) | null; - /** @description The email address of the customer. */ - customer_email_address?: string | null; - /** @description The name of the customer. */ - customer_name?: string | null; - /** @description The IP address that the customer used when making the purchase. */ - customer_purchase_ip?: string | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A relevant document or contract showing the customer's signature. */ - customer_signature?: (string | components["schemas"]["file"]) | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate. */ - duplicate_charge_documentation?: (string | components["schemas"]["file"]) | null; - /** @description An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate. */ - duplicate_charge_explanation?: string | null; - /** @description The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge. */ - duplicate_charge_id?: string | null; - /** @description A description of the product or service that was sold. */ - product_description?: string | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any receipt or message sent to the customer notifying them of the charge. */ - receipt?: (string | components["schemas"]["file"]) | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your refund policy, as shown to the customer. */ - refund_policy?: (string | components["schemas"]["file"]) | null; - /** @description Documentation demonstrating that the customer was shown your refund policy prior to purchase. */ - refund_policy_disclosure?: string | null; - /** @description A justification for why the customer is not entitled to a refund. */ - refund_refusal_explanation?: string | null; - /** @description The date on which the customer received or began receiving the purchased service, in a clear human-readable format. */ - service_date?: string | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement. */ - service_documentation?: (string | components["schemas"]["file"]) | null; - /** @description The address to which a physical product was shipped. You should try to include as complete address information as possible. */ - shipping_address?: string | null; - /** @description The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas. */ - shipping_carrier?: string | null; - /** @description The date on which a physical product began its route to the shipping address, in a clear human-readable format. */ - shipping_date?: string | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer's full shipping address, if possible. */ - shipping_documentation?: (string | components["schemas"]["file"]) | null; - /** @description The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. */ - shipping_tracking_number?: string | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any additional evidence or statements. */ - uncategorized_file?: (string | components["schemas"]["file"]) | null; - /** @description Any additional evidence or statements. */ - uncategorized_text?: string | null; - }; - /** DisputeEvidenceDetails */ - dispute_evidence_details: { - /** - * Format: unix-time - * @description Date by which evidence must be submitted in order to successfully challenge dispute. Will be 0 if the customer's bank or credit card company doesn't allow a response for this particular dispute. - */ - due_by?: number | null; - /** @description Whether evidence has been staged for this dispute. */ - has_evidence: boolean; - /** @description Whether the last evidence submission was submitted past the due date. Defaults to `false` if no evidence submissions have occurred. If `true`, then delivery of the latest evidence is *not* guaranteed. */ - past_due: boolean; - /** @description The number of times evidence has been submitted. Typically, you may only submit evidence once. */ - submission_count: number; - }; - /** DisputePaymentMethodDetails */ - dispute_payment_method_details: { - /** @description Card specific dispute details. */ - card?: components["schemas"]["dispute_payment_method_details_card"] | null; - /** - * @description Payment method type. - * @enum {string} - */ - type: "card"; - }; - /** DisputePaymentMethodDetailsCard */ - dispute_payment_method_details_card: { - /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ - brand: string; - /** @description The card network's specific dispute reason code, which maps to one of Stripe's primary dispute categories to simplify response guidance. The [Network code map](https://stripe.com/docs/disputes/categories#network-code-map) lists all available dispute reason codes by network. */ - network_reason_code?: string | null; - }; - /** EmailSent */ - email_sent: { - /** - * Format: unix-time - * @description The timestamp when the email was sent. - */ - email_sent_at: number; - /** @description The recipient's email address. */ - email_sent_to: string; - }; - /** EphemeralKey */ - ephemeral_key: { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** - * Format: unix-time - * @description Time at which the key will expire. Measured in seconds since the Unix epoch. - */ - expires: number; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "ephemeral_key"; - /** @description The key's secret. You can use this value to make authorized requests to the Stripe API. */ - secret?: string; - }; - /** @description An error response from the Stripe API */ - error: { - error: components["schemas"]["api_errors"]; - }; - /** - * NotificationEvent - * @description Events are our way of letting you know when something interesting happens in - * your account. When an interesting event occurs, we create a new `Event` - * object. For example, when a charge succeeds, we create a `charge.succeeded` - * event, and when an invoice payment attempt fails, we create an - * `invoice.payment_failed` event. Certain API requests might create multiple - * events. For example, if you create a new subscription for a - * customer, you receive both a `customer.subscription.created` event and a - * `charge.succeeded` event. - * - * Events occur when the state of another API resource changes. The event's data - * field embeds the resource's state at the time of the change. For - * example, a `charge.succeeded` event contains a charge, and an - * `invoice.payment_failed` event contains an invoice. - * - * As with other API resources, you can use endpoints to retrieve an - * [individual event](https://stripe.com/docs/api#retrieve_event) or a [list of events](https://stripe.com/docs/api#list_events) - * from the API. We also have a separate - * [webhooks](http://en.wikipedia.org/wiki/Webhook) system for sending the - * `Event` objects directly to an endpoint on your server. You can manage - * webhooks in your - * [account settings](https://dashboard.stripe.com/account/webhooks). Learn how - * to [listen for events] - * (/docs/webhooks) so that your integration can automatically trigger reactions. - * - * When using [Connect](https://stripe.com/docs/connect), you can also receive event notifications - * that occur in connected accounts. For these events, there's an - * additional `account` attribute in the received `Event` object. - * - * We only guarantee access to events through the [Retrieve Event API](https://stripe.com/docs/api#retrieve_event) - * for 30 days. - */ - event: { - /** @description The connected account that originates the event. */ - account?: string; - /** @description The Stripe API version used to render `data`. This property is populated only for events on or after October 31, 2014. */ - api_version?: string | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - data: components["schemas"]["notification_event_data"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "event"; - /** @description Number of webhooks that haven't been successfully delivered (for example, to return a 20x response) to the URLs you specify. */ - pending_webhooks: number; - /** @description Information on the API request that triggers the event. */ - request?: components["schemas"]["notification_event_request"] | null; - /** @description Description of the event (for example, `invoice.created` or `charge.refunded`). */ - type: string; - }; - /** - * ExchangeRate - * @description `Exchange Rate` objects allow you to determine the rates that Stripe is - * currently using to convert from one currency to another. Since this number is - * variable throughout the day, there are various reasons why you might want to - * know the current rate (for example, to dynamically price an item for a user - * with a default payment in a foreign currency). - * - * If you want a guarantee that the charge is made with a certain exchange rate - * you expect is current, you can pass in `exchange_rate` to charges endpoints. - * If the value is no longer up to date, the charge won't go through. Please - * refer to our [Exchange Rates API](https://stripe.com/docs/exchange-rates) guide for more - * details. - */ - exchange_rate: { - /** @description Unique identifier for the object. Represented as the three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "exchange_rate"; - /** @description Hash where the keys are supported currencies and the values are the exchange rate at which the base id currency converts to the key currency. */ - rates: { - [key: string]: number; - }; - }; - /** Polymorphic */ - external_account: components["schemas"]["bank_account"] | components["schemas"]["card"]; - /** ExternalAccountRequirements */ - external_account_requirements: { - /** @description Fields that need to be collected to keep the external account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled. */ - currently_due?: string[] | null; - /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ - errors?: components["schemas"]["account_requirements_error"][] | null; - /** @description Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the external account. */ - past_due?: string[] | null; - /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. */ - pending_verification?: string[] | null; - }; - /** Fee */ - fee: { - /** @description Amount of the fee, in cents. */ - amount: number; - /** @description ID of the Connect application that earned the fee. */ - application?: string | null; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description Type of the fee, one of: `application_fee`, `stripe_fee` or `tax`. */ - type: string; - }; - /** - * FeeRefund - * @description `Application Fee Refund` objects allow you to refund an application fee that - * has previously been created but not yet refunded. Funds will be refunded to - * the Stripe account from which the fee was originally collected. - * - * Related guide: [Refunding application fees](https://stripe.com/docs/connect/destination-charges#refunding-app-fee) - */ - fee_refund: { - /** @description Amount, in cents (or local equivalent). */ - amount: number; - /** @description Balance transaction that describes the impact on your account balance. */ - balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description ID of the application fee that was refunded. */ - fee: string | components["schemas"]["application_fee"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "fee_refund"; - }; - /** - * File - * @description This object represents files hosted on Stripe's servers. You can upload - * files with the [create file](https://stripe.com/docs/api#create_file) request - * (for example, when uploading dispute evidence). Stripe also - * creates files independetly (for example, the results of a [Sigma scheduled - * query](#scheduled_queries)). - * - * Related guide: [File upload guide](https://stripe.com/docs/file-upload) - */ - file: { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** - * Format: unix-time - * @description The file expires and isn't available at this time in epoch seconds. - */ - expires_at?: number | null; - /** @description The suitable name for saving the file to a filesystem. */ - filename?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** - * FileFileLinkList - * @description A list of [file links](https://stripe.com/docs/api#file_links) that point at this file. - */ - links?: { - /** @description Details about each object. */ - data: components["schemas"]["file_link"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "file"; - /** - * @description The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file. - * @enum {string} - */ - purpose: "account_requirement" | "additional_verification" | "business_icon" | "business_logo" | "customer_signature" | "dispute_evidence" | "document_provider_identity_document" | "finance_report_run" | "identity_document" | "identity_document_downloadable" | "pci_document" | "selfie" | "sigma_scheduled_query" | "tax_document_user_upload" | "terminal_reader_splashscreen"; - /** @description The size of the file object in bytes. */ - size: number; - /** @description A suitable title for the document. */ - title?: string | null; - /** @description The returned file type (for example, `csv`, `pdf`, `jpg`, or `png`). */ - type?: string | null; - /** @description Use your live secret API key to download the file from this URL. */ - url?: string | null; - }; - /** - * FileLink - * @description To share the contents of a `File` object with non-Stripe users, you can - * create a `FileLink`. `FileLink`s contain a URL that you can use to - * retrieve the contents of the file without authentication. - */ - file_link: { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Returns if the link is already expired. */ - expired: boolean; - /** - * Format: unix-time - * @description Time that the link expires. - */ - expires_at?: number | null; - /** @description The file object this link points to. */ - file: string | components["schemas"]["file"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "file_link"; - /** @description The publicly accessible URL to download the file. */ - url?: string | null; - }; - /** - * BankConnectionsResourceLinkedAccount - * @description A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access. - */ - "financial_connections.account": { - /** @description The account holder that this account belongs to. */ - account_holder?: components["schemas"]["bank_connections_resource_accountholder"] | null; - /** @description The most recent information about the account's balance. */ - balance?: components["schemas"]["bank_connections_resource_balance"] | null; - /** @description The state of the most recent attempt to refresh the account balance. */ - balance_refresh?: components["schemas"]["bank_connections_resource_balance_refresh"] | null; - /** - * @description The type of the account. Account category is further divided in `subcategory`. - * @enum {string} - */ - category: "cash" | "credit" | "investment" | "other"; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description A human-readable name that has been assigned to this account, either by the account holder or by the institution. */ - display_name?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description The name of the institution that holds this account. */ - institution_name: string; - /** @description The last 4 digits of the account number. If present, this will be 4 numeric characters. */ - last4?: string | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "financial_connections.account"; - /** @description The most recent information about the account's owners. */ - ownership?: (string | components["schemas"]["financial_connections.account_ownership"]) | null; - /** @description The state of the most recent attempt to refresh the account owners. */ - ownership_refresh?: components["schemas"]["bank_connections_resource_ownership_refresh"] | null; - /** @description The list of permissions granted by this account. */ - permissions?: (("balances" | "ownership" | "payment_method" | "transactions")[]) | null; - /** - * @description The status of the link to the account. - * @enum {string} - */ - status: "active" | "disconnected" | "inactive"; - /** - * @description If `category` is `cash`, one of: - * - * - `checking` - * - `savings` - * - `other` - * - * If `category` is `credit`, one of: - * - * - `mortgage` - * - `line_of_credit` - * - `credit_card` - * - `other` - * - * If `category` is `investment` or `other`, this will be `other`. - * @enum {string} - */ - subcategory: "checking" | "credit_card" | "line_of_credit" | "mortgage" | "other" | "savings"; - /** @description The [PaymentMethod type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)(s) that can be created from this account. */ - supported_payment_method_types: ("link" | "us_bank_account")[]; - }; - /** - * BankConnectionsResourceOwner - * @description Describes an owner of an account. - */ - "financial_connections.account_owner": { - /** @description The email address of the owner. */ - email?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description The full name of the owner. */ - name: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "financial_connections.account_owner"; - /** @description The ownership object that this owner belongs to. */ - ownership: string; - /** @description The raw phone number of the owner. */ - phone?: string | null; - /** @description The raw physical address of the owner. */ - raw_address?: string | null; - /** - * Format: unix-time - * @description The timestamp of the refresh that updated this owner. - */ - refreshed_at?: number | null; - }; - /** - * BankConnectionsResourceOwnership - * @description Describes a snapshot of the owners of an account at a particular point in time. - */ - "financial_connections.account_ownership": { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "financial_connections.account_ownership"; - /** - * BankConnectionsResourceOwnerList - * @description A paginated list of owners for this account. - */ - owners: { - /** @description Details about each object. */ - data: components["schemas"]["financial_connections.account_owner"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - /** - * BankConnectionsResourceLinkAccountSession - * @description A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link their accounts. - */ - "financial_connections.session": { - /** @description The account holder for whom accounts are collected in this session. */ - account_holder?: components["schemas"]["bank_connections_resource_accountholder"] | null; - /** - * BankConnectionsResourceLinkedAccountList - * @description The accounts that were collected as part of this Session. - */ - accounts: { - /** @description Details about each object. */ - data: components["schemas"]["financial_connections.account"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - /** @description A value that will be passed to the client to launch the authentication flow. */ - client_secret: string; - filters?: components["schemas"]["bank_connections_resource_link_account_session_filters"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "financial_connections.session"; - /** @description Permissions requested for accounts collected during this session. */ - permissions: ("balances" | "ownership" | "payment_method" | "transactions")[]; - /** @description Data features requested to be retrieved upon account creation. */ - prefetch?: (("balances" | "ownership")[]) | null; - /** @description For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. */ - return_url?: string; - }; - /** FinancialReportingFinanceReportRunRunParameters */ - financial_reporting_finance_report_run_run_parameters: { - /** @description The set of output columns requested for inclusion in the report run. */ - columns?: string[]; - /** @description Connected account ID by which to filter the report run. */ - connected_account?: string; - /** @description Currency of objects to be included in the report run. */ - currency?: string; - /** - * Format: unix-time - * @description Ending timestamp of data to be included in the report run. Can be any UTC timestamp between 1 second after the user specified `interval_start` and 1 second before this report's last `data_available_end` value. - */ - interval_end?: number; - /** - * Format: unix-time - * @description Starting timestamp of data to be included in the report run. Can be any UTC timestamp between 1 second after this report's `data_available_start` and 1 second before the user specified `interval_end` value. - */ - interval_start?: number; - /** @description Payout ID by which to filter the report run. */ - payout?: string; - /** @description Category of balance transactions to be included in the report run. */ - reporting_category?: string; - /** @description Defaults to `Etc/UTC`. The output timezone for all timestamps in the report. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones). Has no effect on `interval_start` or `interval_end`. */ - timezone?: string; - }; - /** - * CustomerBalanceFundingInstructionsCustomerBalanceFundingInstructions - * @description Each customer has a [`balance`](https://stripe.com/docs/api/customers/object#customer_object-balance) that is - * automatically applied to future invoices and payments using the `customer_balance` payment method. - * Customers can fund this balance by initiating a bank transfer to any account in the - * `financial_addresses` field. - * Related guide: [Customer balance funding instructions](https://stripe.com/docs/payments/customer-balance/funding-instructions) - */ - funding_instructions: { - bank_transfer: components["schemas"]["funding_instructions_bank_transfer"]; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** - * @description The `funding_type` of the returned instructions - * @enum {string} - */ - funding_type: "bank_transfer"; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "funding_instructions"; - }; - /** FundingInstructionsBankTransfer */ - funding_instructions_bank_transfer: { - /** @description The country of the bank account to fund */ - country: string; - /** @description A list of financial addresses that can be used to fund a particular balance */ - financial_addresses: components["schemas"]["funding_instructions_bank_transfer_financial_address"][]; - /** - * @description The bank_transfer type - * @enum {string} - */ - type: "eu_bank_transfer" | "jp_bank_transfer"; - }; - /** - * FundingInstructionsBankTransferFinancialAddress - * @description FinancialAddresses contain identifying information that resolves to a FinancialAccount. - */ - funding_instructions_bank_transfer_financial_address: { - iban?: components["schemas"]["funding_instructions_bank_transfer_iban_record"]; - sort_code?: components["schemas"]["funding_instructions_bank_transfer_sort_code_record"]; - spei?: components["schemas"]["funding_instructions_bank_transfer_spei_record"]; - /** @description The payment networks supported by this FinancialAddress */ - supported_networks?: ("bacs" | "fps" | "sepa" | "spei" | "zengin")[]; - /** - * @description The type of financial address - * @enum {string} - */ - type: "iban" | "sort_code" | "spei" | "zengin"; - zengin?: components["schemas"]["funding_instructions_bank_transfer_zengin_record"]; - }; - /** - * FundingInstructionsBankTransferIbanRecord - * @description Iban Records contain E.U. bank account details per the SEPA format. - */ - funding_instructions_bank_transfer_iban_record: { - /** @description The name of the person or business that owns the bank account */ - account_holder_name: string; - /** @description The BIC/SWIFT code of the account. */ - bic: string; - /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ - country: string; - /** @description The IBAN of the account. */ - iban: string; - }; - /** - * FundingInstructionsBankTransferSortCodeRecord - * @description Sort Code Records contain U.K. bank account details per the sort code format. - */ - funding_instructions_bank_transfer_sort_code_record: { - /** @description The name of the person or business that owns the bank account */ - account_holder_name: string; - /** @description The account number */ - account_number: string; - /** @description The six-digit sort code */ - sort_code: string; - }; - /** - * FundingInstructionsBankTransferSpeiRecord - * @description SPEI Records contain Mexico bank account details per the SPEI format. - */ - funding_instructions_bank_transfer_spei_record: { - /** @description The three-digit bank code */ - bank_code: string; - /** @description The short banking institution name */ - bank_name: string; - /** @description The CLABE number */ - clabe: string; - }; - /** - * FundingInstructionsBankTransferZenginRecord - * @description Zengin Records contain Japan bank account details per the Zengin format. - */ - funding_instructions_bank_transfer_zengin_record: { - /** @description The account holder name */ - account_holder_name?: string | null; - /** @description The account number */ - account_number?: string | null; - /** @description The bank account type. In Japan, this can only be `futsu` or `toza`. */ - account_type?: string | null; - /** @description The bank code of the account */ - bank_code?: string | null; - /** @description The bank name of the account */ - bank_name?: string | null; - /** @description The branch code of the account */ - branch_code?: string | null; - /** @description The branch name of the account */ - branch_name?: string | null; - }; - /** - * GelatoDataDocumentReportDateOfBirth - * @description Point in Time - */ - gelato_data_document_report_date_of_birth: { - /** @description Numerical day between 1 and 31. */ - day?: number | null; - /** @description Numerical month between 1 and 12. */ - month?: number | null; - /** @description The four-digit year. */ - year?: number | null; - }; - /** - * GelatoDataDocumentReportExpirationDate - * @description Point in Time - */ - gelato_data_document_report_expiration_date: { - /** @description Numerical day between 1 and 31. */ - day?: number | null; - /** @description Numerical month between 1 and 12. */ - month?: number | null; - /** @description The four-digit year. */ - year?: number | null; - }; - /** - * GelatoDataDocumentReportIssuedDate - * @description Point in Time - */ - gelato_data_document_report_issued_date: { - /** @description Numerical day between 1 and 31. */ - day?: number | null; - /** @description Numerical month between 1 and 12. */ - month?: number | null; - /** @description The four-digit year. */ - year?: number | null; - }; - /** - * GelatoDataIdNumberReportDate - * @description Point in Time - */ - gelato_data_id_number_report_date: { - /** @description Numerical day between 1 and 31. */ - day?: number | null; - /** @description Numerical month between 1 and 12. */ - month?: number | null; - /** @description The four-digit year. */ - year?: number | null; - }; - /** - * GelatoDataVerifiedOutputsDate - * @description Point in Time - */ - gelato_data_verified_outputs_date: { - /** @description Numerical day between 1 and 31. */ - day?: number | null; - /** @description Numerical month between 1 and 12. */ - month?: number | null; - /** @description The four-digit year. */ - year?: number | null; - }; - /** - * GelatoDocumentReport - * @description Result from a document check - */ - gelato_document_report: { - /** @description Address as it appears in the document. */ - address?: components["schemas"]["address"] | null; - /** @description Date of birth as it appears in the document. */ - dob?: components["schemas"]["gelato_data_document_report_date_of_birth"] | null; - /** @description Details on the verification error. Present when status is `unverified`. */ - error?: components["schemas"]["gelato_document_report_error"] | null; - /** @description Expiration date of the document. */ - expiration_date?: components["schemas"]["gelato_data_document_report_expiration_date"] | null; - /** @description Array of [File](https://stripe.com/docs/api/files) ids containing images for this document. */ - files?: string[] | null; - /** @description First name as it appears in the document. */ - first_name?: string | null; - /** @description Issued date of the document. */ - issued_date?: components["schemas"]["gelato_data_document_report_issued_date"] | null; - /** @description Issuing country of the document. */ - issuing_country?: string | null; - /** @description Last name as it appears in the document. */ - last_name?: string | null; - /** @description Document ID number. */ - number?: string | null; - /** - * @description Status of this `document` check. - * @enum {string} - */ - status: "unverified" | "verified"; - /** - * @description Type of the document. - * @enum {string|null} - */ - type?: "driving_license" | "id_card" | "passport" | null; - }; - /** GelatoDocumentReportError */ - gelato_document_report_error: { - /** - * @description A short machine-readable string giving the reason for the verification failure. - * @enum {string|null} - */ - code?: "document_expired" | "document_type_not_supported" | "document_unverified_other" | null; - /** @description A human-readable message giving the reason for the failure. These messages can be shown to your users. */ - reason?: string | null; - }; - /** - * GelatoIdNumberReport - * @description Result from an id_number check - */ - gelato_id_number_report: { - /** @description Date of birth. */ - dob?: components["schemas"]["gelato_data_id_number_report_date"] | null; - /** @description Details on the verification error. Present when status is `unverified`. */ - error?: components["schemas"]["gelato_id_number_report_error"] | null; - /** @description First name. */ - first_name?: string | null; - /** @description ID number. */ - id_number?: string | null; - /** - * @description Type of ID number. - * @enum {string|null} - */ - id_number_type?: "br_cpf" | "sg_nric" | "us_ssn" | null; - /** @description Last name. */ - last_name?: string | null; - /** - * @description Status of this `id_number` check. - * @enum {string} - */ - status: "unverified" | "verified"; - }; - /** GelatoIdNumberReportError */ - gelato_id_number_report_error: { - /** - * @description A short machine-readable string giving the reason for the verification failure. - * @enum {string|null} - */ - code?: "id_number_insufficient_document_data" | "id_number_mismatch" | "id_number_unverified_other" | null; - /** @description A human-readable message giving the reason for the failure. These messages can be shown to your users. */ - reason?: string | null; - }; - /** GelatoReportDocumentOptions */ - gelato_report_document_options: { - /** @description Array of strings of allowed identity document types. If the provided identity document isn’t one of the allowed types, the verification check will fail with a document_type_not_allowed error code. */ - allowed_types?: ("driving_license" | "id_card" | "passport")[]; - /** @description Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document’s extracted name and date of birth. */ - require_id_number?: boolean; - /** @description Disable image uploads, identity document images have to be captured using the device’s camera. */ - require_live_capture?: boolean; - /** @description Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user’s face. [Learn more](https://stripe.com/docs/identity/selfie). */ - require_matching_selfie?: boolean; - }; - /** GelatoReportIdNumberOptions */ - gelato_report_id_number_options: Record; - /** - * GelatoSelfieReport - * @description Result from a selfie check - */ - gelato_selfie_report: { - /** @description ID of the [File](https://stripe.com/docs/api/files) holding the image of the identity document used in this check. */ - document?: string | null; - /** @description Details on the verification error. Present when status is `unverified`. */ - error?: components["schemas"]["gelato_selfie_report_error"] | null; - /** @description ID of the [File](https://stripe.com/docs/api/files) holding the image of the selfie used in this check. */ - selfie?: string | null; - /** - * @description Status of this `selfie` check. - * @enum {string} - */ - status: "unverified" | "verified"; - }; - /** GelatoSelfieReportError */ - gelato_selfie_report_error: { - /** - * @description A short machine-readable string giving the reason for the verification failure. - * @enum {string|null} - */ - code?: "selfie_document_missing_photo" | "selfie_face_mismatch" | "selfie_manipulated" | "selfie_unverified_other" | null; - /** @description A human-readable message giving the reason for the failure. These messages can be shown to your users. */ - reason?: string | null; - }; - /** GelatoSessionDocumentOptions */ - gelato_session_document_options: { - /** @description Array of strings of allowed identity document types. If the provided identity document isn’t one of the allowed types, the verification check will fail with a document_type_not_allowed error code. */ - allowed_types?: ("driving_license" | "id_card" | "passport")[]; - /** @description Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document’s extracted name and date of birth. */ - require_id_number?: boolean; - /** @description Disable image uploads, identity document images have to be captured using the device’s camera. */ - require_live_capture?: boolean; - /** @description Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user’s face. [Learn more](https://stripe.com/docs/identity/selfie). */ - require_matching_selfie?: boolean; - }; - /** GelatoSessionIdNumberOptions */ - gelato_session_id_number_options: Record; - /** - * GelatoSessionLastError - * @description Shows last VerificationSession error - */ - gelato_session_last_error: { - /** - * @description A short machine-readable string giving the reason for the verification or user-session failure. - * @enum {string|null} - */ - code?: "abandoned" | "consent_declined" | "country_not_supported" | "device_not_supported" | "document_expired" | "document_type_not_supported" | "document_unverified_other" | "id_number_insufficient_document_data" | "id_number_mismatch" | "id_number_unverified_other" | "selfie_document_missing_photo" | "selfie_face_mismatch" | "selfie_manipulated" | "selfie_unverified_other" | "under_supported_age" | null; - /** @description A message that explains the reason for verification or user-session failure. */ - reason?: string | null; - }; - /** GelatoVerificationReportOptions */ - gelato_verification_report_options: { - document?: components["schemas"]["gelato_report_document_options"]; - id_number?: components["schemas"]["gelato_report_id_number_options"]; - }; - /** GelatoVerificationSessionOptions */ - gelato_verification_session_options: { - document?: components["schemas"]["gelato_session_document_options"]; - id_number?: components["schemas"]["gelato_session_id_number_options"]; - }; - /** GelatoVerifiedOutputs */ - gelato_verified_outputs: { - /** @description The user's verified address. */ - address?: components["schemas"]["address"] | null; - /** @description The user’s verified date of birth. */ - dob?: components["schemas"]["gelato_data_verified_outputs_date"] | null; - /** @description The user's verified first name. */ - first_name?: string | null; - /** @description The user's verified id number. */ - id_number?: string | null; - /** - * @description The user's verified id number type. - * @enum {string|null} - */ - id_number_type?: "br_cpf" | "sg_nric" | "us_ssn" | null; - /** @description The user's verified last name. */ - last_name?: string | null; - }; - /** - * GelatoVerificationReport - * @description A VerificationReport is the result of an attempt to collect and verify data from a user. - * The collection of verification checks performed is determined from the `type` and `options` - * parameters used. You can find the result of each verification check performed in the - * appropriate sub-resource: `document`, `id_number`, `selfie`. - * - * Each VerificationReport contains a copy of any data collected by the user as well as - * reference IDs which can be used to access collected images through the [FileUpload](https://stripe.com/docs/api/files) - * API. To configure and create VerificationReports, use the - * [VerificationSession](https://stripe.com/docs/api/identity/verification_sessions) API. - * - * Related guides: [Accessing verification results](https://stripe.com/docs/identity/verification-sessions#results). - */ - "identity.verification_report": { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - document?: components["schemas"]["gelato_document_report"]; - /** @description Unique identifier for the object. */ - id: string; - id_number?: components["schemas"]["gelato_id_number_report"]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "identity.verification_report"; - options?: components["schemas"]["gelato_verification_report_options"]; - selfie?: components["schemas"]["gelato_selfie_report"]; - /** - * @description Type of report. - * @enum {string} - */ - type?: "document" | "id_number"; - /** @description ID of the VerificationSession that created this report. */ - verification_session?: string | null; - }; - /** - * GelatoVerificationSession - * @description A VerificationSession guides you through the process of collecting and verifying the identities - * of your users. It contains details about the type of verification, such as what [verification - * check](/docs/identity/verification-checks) to perform. Only create one VerificationSession for - * each verification in your system. - * - * A VerificationSession transitions through [multiple - * statuses](/docs/identity/how-sessions-work) throughout its lifetime as it progresses through - * the verification flow. The VerificationSession contains the user's verified data after - * verification checks are complete. - * - * Related guide: [The Verification Sessions API](https://stripe.com/docs/identity/verification-sessions) - */ - "identity.verification_session": { - /** @description The short-lived client secret used by Stripe.js to [show a verification modal](https://stripe.com/docs/js/identity/modal) inside your app. This client secret expires after 24 hours and can only be used once. Don’t store it, log it, embed it in a URL, or expose it to anyone other than the user. Make sure that you have TLS enabled on any page that includes the client secret. Refer to our docs on [passing the client secret to the frontend](https://stripe.com/docs/identity/verification-sessions#client-secret) to learn more. */ - client_secret?: string | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Unique identifier for the object. */ - id: string; - /** @description If present, this property tells you the last error encountered when processing the verification. */ - last_error?: components["schemas"]["gelato_session_last_error"] | null; - /** @description ID of the most recent VerificationReport. [Learn more about accessing detailed verification results.](https://stripe.com/docs/identity/verification-sessions#results) */ - last_verification_report?: (string | components["schemas"]["identity.verification_report"]) | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "identity.verification_session"; - /** @description A set of options for the session’s verification checks. */ - options?: components["schemas"]["gelato_verification_session_options"] | null; - /** @description Redaction status of this VerificationSession. If the VerificationSession is not redacted, this field will be null. */ - redaction?: components["schemas"]["verification_session_redaction"] | null; - /** - * @description Status of this VerificationSession. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work). - * @enum {string} - */ - status: "canceled" | "processing" | "requires_input" | "verified"; - /** - * @description The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed. - * @enum {string|null} - */ - type?: "document" | "id_number" | null; - /** @description The short-lived URL that you use to redirect a user to Stripe to submit their identity information. This URL expires after 48 hours and can only be used once. Don’t store it, log it, send it in emails or expose it to anyone other than the user. Refer to our docs on [verifying identity documents](https://stripe.com/docs/identity/verify-identity-documents?platform=web&type=redirect) to learn how to redirect users to Stripe. */ - url?: string | null; - /** @description The user’s verified data. */ - verified_outputs?: components["schemas"]["gelato_verified_outputs"] | null; - }; - /** InboundTransfers */ - inbound_transfers: { - billing_details: components["schemas"]["treasury_shared_resource_billing_details"]; - /** - * @description The type of the payment method used in the InboundTransfer. - * @enum {string} - */ - type: "us_bank_account"; - us_bank_account?: components["schemas"]["inbound_transfers_payment_method_details_us_bank_account"]; - }; - /** inbound_transfers_payment_method_details_us_bank_account */ - inbound_transfers_payment_method_details_us_bank_account: { - /** - * @description Account holder type: individual or company. - * @enum {string|null} - */ - account_holder_type?: "company" | "individual" | null; - /** - * @description Account type: checkings or savings. Defaults to checking if omitted. - * @enum {string|null} - */ - account_type?: "checking" | "savings" | null; - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - /** - * @description The US bank account network used to debit funds. - * @enum {string} - */ - network: "ach"; - /** @description Routing number of the bank account. */ - routing_number?: string | null; - }; - /** - * Invoice - * @description Invoices are statements of amounts owed by a customer, and are either - * generated one-off, or generated periodically from a subscription. - * - * They contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments - * that may be caused by subscription upgrades/downgrades (if necessary). - * - * If your invoice is configured to be billed through automatic charges, - * Stripe automatically finalizes your invoice and attempts payment. Note - * that finalizing the invoice, - * [when automatic](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection), does - * not happen immediately as the invoice is created. Stripe waits - * until one hour after the last webhook was successfully sent (or the last - * webhook timed out after failing). If you (and the platforms you may have - * connected to) have no webhooks configured, Stripe waits one hour after - * creation to finalize the invoice. - * - * If your invoice is configured to be billed by sending an email, then based on your - * [email settings](https://dashboard.stripe.com/account/billing/automatic), - * Stripe will email the invoice to your customer and await payment. These - * emails can contain a link to a hosted page to pay the invoice. - * - * Stripe applies any customer credit on the account before determining the - * amount due for the invoice (i.e., the amount that will be actually - * charged). If the amount due for the invoice is less than Stripe's [minimum allowed charge - * per currency](/docs/currencies#minimum-and-maximum-charge-amounts), the - * invoice is automatically marked paid, and we add the amount due to the - * customer's credit balance which is applied to the next invoice. - * - * More details on the customer's credit balance are - * [here](https://stripe.com/docs/billing/customer/balance). - * - * Related guide: [Send invoices to customers](https://stripe.com/docs/billing/invoices/sending) - */ - invoice: { - /** @description The country of the business associated with this invoice, most often the business creating the invoice. */ - account_country?: string | null; - /** @description The public name of the business associated with this invoice, most often the business creating the invoice. */ - account_name?: string | null; - /** @description The account tax IDs associated with the invoice. Only editable when the invoice is a draft. */ - account_tax_ids?: ((string | components["schemas"]["tax_id"] | components["schemas"]["deleted_tax_id"])[]) | null; - /** @description Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`. */ - amount_due: number; - /** @description The amount, in cents (or local equivalent), that was paid. */ - amount_paid: number; - /** @description The difference between amount_due and amount_paid, in cents (or local equivalent). */ - amount_remaining: number; - /** @description This is the sum of all the shipping amounts. */ - amount_shipping: number; - /** @description ID of the Connect Application that created the invoice. */ - application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; - /** @description The fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid. */ - application_fee_amount?: number | null; - /** @description Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule. */ - attempt_count: number; - /** @description Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users. */ - attempted: boolean; - /** @description Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action. */ - auto_advance?: boolean; - automatic_tax: components["schemas"]["automatic_tax"]; - /** - * @description Indicates the reason why the invoice was created. - * - * * `manual`: Unrelated to a subscription, for example, created via the invoice editor. - * * `subscription`: No longer in use. Applies to subscriptions from before May 2018 where no distinction was made between updates, cycles, and thresholds. - * * `subscription_create`: A new subscription was created. - * * `subscription_cycle`: A subscription advanced into a new period. - * * `subscription_threshold`: A subscription reached a billing threshold. - * * `subscription_update`: A subscription was updated. - * * `upcoming`: Reserved for simulated invoices, per the upcoming invoice endpoint. - * @enum {string|null} - */ - billing_reason?: "automatic_pending_invoice_item_invoice" | "manual" | "quote_accept" | "subscription" | "subscription_create" | "subscription_cycle" | "subscription_threshold" | "subscription_update" | "upcoming" | null; - /** @description ID of the latest charge generated for this invoice, if any. */ - charge?: (string | components["schemas"]["charge"]) | null; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. - * @enum {string} - */ - collection_method: "charge_automatically" | "send_invoice"; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Custom fields displayed on the invoice. */ - custom_fields?: components["schemas"]["invoice_setting_custom_field"][] | null; - /** @description The ID of the customer who will be billed. */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** @description The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated. */ - customer_address?: components["schemas"]["address"] | null; - /** @description The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated. */ - customer_email?: string | null; - /** @description The customer's name. Until the invoice is finalized, this field will equal `customer.name`. Once the invoice is finalized, this field will no longer be updated. */ - customer_name?: string | null; - /** @description The customer's phone number. Until the invoice is finalized, this field will equal `customer.phone`. Once the invoice is finalized, this field will no longer be updated. */ - customer_phone?: string | null; - /** @description The customer's shipping information. Until the invoice is finalized, this field will equal `customer.shipping`. Once the invoice is finalized, this field will no longer be updated. */ - customer_shipping?: components["schemas"]["shipping"] | null; - /** - * @description The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated. - * @enum {string|null} - */ - customer_tax_exempt?: "exempt" | "none" | "reverse" | null; - /** @description The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated. */ - customer_tax_ids?: components["schemas"]["invoices_resource_invoice_tax_id"][] | null; - /** @description ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings. */ - default_payment_method?: (string | components["schemas"]["payment_method"]) | null; - /** @description ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source. */ - default_source?: (string | components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"]) | null; - /** @description The tax rates applied to this invoice, if any. */ - default_tax_rates: components["schemas"]["tax_rate"][]; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard. */ - description?: string | null; - /** @description Describes the current discount applied to this invoice, if there is one. Not populated if there are multiple discounts. */ - discount?: components["schemas"]["discount"] | null; - /** @description The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount. */ - discounts?: ((string | components["schemas"]["discount"] | components["schemas"]["deleted_discount"])[]) | null; - /** - * Format: unix-time - * @description The date on which payment for this invoice is due. This value will be `null` for invoices where `collection_method=charge_automatically`. - */ - due_date?: number | null; - /** - * Format: unix-time - * @description The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt. - */ - effective_at?: number | null; - /** @description Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null. */ - ending_balance?: number | null; - /** @description Footer displayed on the invoice. */ - footer?: string | null; - /** @description Details of the invoice that was cloned. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details. */ - from_invoice?: components["schemas"]["invoices_from_invoice"] | null; - /** @description The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null. */ - hosted_invoice_url?: string | null; - /** @description Unique identifier for the object. This property is always present unless the invoice is an upcoming invoice. See [Retrieve an upcoming invoice](https://stripe.com/docs/api/invoices/upcoming) for more details. */ - id?: string; - /** @description The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null. */ - invoice_pdf?: string | null; - /** @description The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized. */ - last_finalization_error?: components["schemas"]["api_errors"] | null; - /** @description The ID of the most recent non-draft revision of this invoice */ - latest_revision?: (string | components["schemas"]["invoice"]) | null; - /** - * InvoiceLinesList - * @description The individual line items that make up the invoice. `lines` is sorted as follows: (1) pending invoice items (including prorations) in reverse chronological order, (2) subscription items in reverse chronological order, and (3) invoice items added after invoice creation in chronological order. - */ - lines: { - /** @description Details about each object. */ - data: components["schemas"]["line_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * Format: unix-time - * @description The time at which payment will next be attempted. This value will be `null` for invoices where `collection_method=send_invoice`. - */ - next_payment_attempt?: number | null; - /** @description A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified. */ - number?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "invoice"; - /** @description The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. */ - on_behalf_of?: (string | components["schemas"]["account"]) | null; - /** @description Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance. */ - paid: boolean; - /** @description Returns true if the invoice was manually marked paid, returns false if the invoice hasn't been paid yet or was paid on Stripe. */ - paid_out_of_band: boolean; - /** @description The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent. */ - payment_intent?: (string | components["schemas"]["payment_intent"]) | null; - payment_settings: components["schemas"]["invoices_payment_settings"]; - /** - * Format: unix-time - * @description End of the usage period during which invoice items were added to this invoice. - */ - period_end: number; - /** - * Format: unix-time - * @description Start of the usage period during which invoice items were added to this invoice. - */ - period_start: number; - /** @description Total amount of all post-payment credit notes issued for this invoice. */ - post_payment_credit_notes_amount: number; - /** @description Total amount of all pre-payment credit notes issued for this invoice. */ - pre_payment_credit_notes_amount: number; - /** @description The quote this invoice was generated from. */ - quote?: (string | components["schemas"]["quote"]) | null; - /** @description This is the transaction number that appears on email receipts sent for this invoice. */ - receipt_number?: string | null; - /** @description The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. */ - rendering?: components["schemas"]["invoices_invoice_rendering"] | null; - /** @description Options for invoice PDF rendering. */ - rendering_options?: components["schemas"]["invoice_setting_rendering_options"] | null; - /** @description The details of the cost of shipping, including the ShippingRate applied on the invoice. */ - shipping_cost?: components["schemas"]["invoices_shipping_cost"] | null; - /** @description Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer. */ - shipping_details?: components["schemas"]["shipping"] | null; - /** @description Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. For revision invoices, this also includes any customer balance that was applied to the original invoice. */ - starting_balance: number; - /** @description Extra information about an invoice for the customer's credit card statement. */ - statement_descriptor?: string | null; - /** - * @description The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview) - * @enum {string|null} - */ - status?: "draft" | "open" | "paid" | "uncollectible" | "void" | null; - status_transitions: components["schemas"]["invoices_status_transitions"]; - /** @description The subscription that this invoice was prepared for, if any. */ - subscription?: (string | components["schemas"]["subscription"]) | null; - /** @description Details about the subscription that created this invoice. */ - subscription_details?: components["schemas"]["subscription_details_data"] | null; - /** @description Only set for upcoming invoices that preview prorations. The time used to calculate prorations. */ - subscription_proration_date?: number; - /** @description Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or exclusive tax is applied. Item discounts are already incorporated */ - subtotal: number; - /** @description The integer amount in cents (or local equivalent) representing the subtotal of the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated */ - subtotal_excluding_tax?: number | null; - /** @description The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice. */ - tax?: number | null; - /** @description ID of the test clock this invoice belongs to. */ - test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; - threshold_reason?: components["schemas"]["invoice_threshold_reason"]; - /** @description Total after discounts and taxes. */ - total: number; - /** @description The aggregate amounts calculated per discount across all line items. */ - total_discount_amounts?: components["schemas"]["discounts_resource_discount_amount"][] | null; - /** @description The integer amount in cents (or local equivalent) representing the total amount of the invoice including all discounts but excluding all tax. */ - total_excluding_tax?: number | null; - /** @description The aggregate amounts calculated per tax rate for all line items. */ - total_tax_amounts: components["schemas"]["invoice_tax_amount"][]; - /** @description The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to for the invoice. */ - transfer_data?: components["schemas"]["invoice_transfer_data"] | null; - /** - * Format: unix-time - * @description Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have [been exhausted](https://stripe.com/docs/billing/webhooks#understand). This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created. - */ - webhooks_delivered_at?: number | null; - }; - /** invoice_installments_card */ - invoice_installments_card: { - /** @description Whether Installments are enabled for this Invoice. */ - enabled?: boolean | null; - }; - /** InvoiceItemThresholdReason */ - invoice_item_threshold_reason: { - /** @description The IDs of the line items that triggered the threshold invoice. */ - line_item_ids: string[]; - /** @description The quantity threshold boundary that applied to the given line item. */ - usage_gte: number; - }; - /** InvoiceLineItemPeriod */ - invoice_line_item_period: { - /** - * Format: unix-time - * @description The end of the period, which must be greater than or equal to the start. This value is inclusive. - */ - end: number; - /** - * Format: unix-time - * @description The start of the period. This value is inclusive. - */ - start: number; - }; - /** invoice_mandate_options_card */ - invoice_mandate_options_card: { - /** @description Amount to be charged for future payments. */ - amount?: number | null; - /** - * @description One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. - * @enum {string|null} - */ - amount_type?: "fixed" | "maximum" | null; - /** @description A description of the mandate or subscription that is meant to be displayed to the customer. */ - description?: string | null; - }; - /** invoice_payment_method_options_acss_debit */ - invoice_payment_method_options_acss_debit: { - mandate_options?: components["schemas"]["invoice_payment_method_options_acss_debit_mandate_options"]; - /** - * @description Bank account verification method. - * @enum {string} - */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** invoice_payment_method_options_acss_debit_mandate_options */ - invoice_payment_method_options_acss_debit_mandate_options: { - /** - * @description Transaction type of the mandate. - * @enum {string|null} - */ - transaction_type?: "business" | "personal" | null; - }; - /** invoice_payment_method_options_bancontact */ - invoice_payment_method_options_bancontact: { - /** - * @description Preferred language of the Bancontact authorization page that the customer is redirected to. - * @enum {string} - */ - preferred_language: "de" | "en" | "fr" | "nl"; - }; - /** invoice_payment_method_options_card */ - invoice_payment_method_options_card: { - installments?: components["schemas"]["invoice_installments_card"]; - /** - * @description We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. - * @enum {string|null} - */ - request_three_d_secure?: "any" | "automatic" | null; - }; - /** invoice_payment_method_options_customer_balance */ - invoice_payment_method_options_customer_balance: { - bank_transfer?: components["schemas"]["invoice_payment_method_options_customer_balance_bank_transfer"]; - /** - * @description The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. - * @enum {string|null} - */ - funding_type?: "bank_transfer" | null; - }; - /** invoice_payment_method_options_customer_balance_bank_transfer */ - invoice_payment_method_options_customer_balance_bank_transfer: { - eu_bank_transfer?: components["schemas"]["invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer"]; - /** @description The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. */ - type?: string | null; - }; - /** invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer */ - invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer: { - /** - * @description The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. - * @enum {string} - */ - country: "BE" | "DE" | "ES" | "FR" | "IE" | "NL"; - }; - /** invoice_payment_method_options_konbini */ - invoice_payment_method_options_konbini: Record; - /** invoice_payment_method_options_us_bank_account */ - invoice_payment_method_options_us_bank_account: { - financial_connections?: components["schemas"]["invoice_payment_method_options_us_bank_account_linked_account_options"]; - /** - * @description Bank account verification method. - * @enum {string} - */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** invoice_payment_method_options_us_bank_account_linked_account_options */ - invoice_payment_method_options_us_bank_account_linked_account_options: { - /** @description The list of permissions to request. The `payment_method` permission must be included. */ - permissions?: ("balances" | "payment_method" | "transactions")[]; - /** @description Data features requested to be retrieved upon account creation. */ - prefetch?: "balances"[] | null; - }; - /** InvoiceRenderingPdf */ - invoice_rendering_pdf: { - /** - * @description Page size of invoice pdf. Options include a4, letter, and auto. If set to auto, page size will be switched to a4 or letter based on customer locale. - * @enum {string|null} - */ - page_size?: "a4" | "auto" | "letter" | null; - }; - /** InvoiceSettingCustomField */ - invoice_setting_custom_field: { - /** @description The name of the custom field. */ - name: string; - /** @description The value of the custom field. */ - value: string; - }; - /** InvoiceSettingCustomerSetting */ - invoice_setting_customer_setting: { - /** @description Default custom fields to be displayed on invoices for this customer. */ - custom_fields?: components["schemas"]["invoice_setting_custom_field"][] | null; - /** @description ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices. */ - default_payment_method?: (string | components["schemas"]["payment_method"]) | null; - /** @description Default footer to be displayed on invoices for this customer. */ - footer?: string | null; - /** @description Default options for invoice PDF rendering for this customer. */ - rendering_options?: components["schemas"]["invoice_setting_rendering_options"] | null; - }; - /** InvoiceSettingQuoteSetting */ - invoice_setting_quote_setting: { - /** @description Number of days within which a customer must pay invoices generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`. */ - days_until_due?: number | null; - }; - /** InvoiceSettingRenderingOptions */ - invoice_setting_rendering_options: { - /** @description How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. */ - amount_tax_display?: string | null; - }; - /** InvoiceSettingSubscriptionSchedulePhaseSetting */ - invoice_setting_subscription_schedule_phase_setting: { - /** @description Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`. */ - days_until_due?: number | null; - }; - /** InvoiceSettingSubscriptionScheduleSetting */ - invoice_setting_subscription_schedule_setting: { - /** @description Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`. */ - days_until_due?: number | null; - }; - /** InvoiceTaxAmount */ - invoice_tax_amount: { - /** @description The amount, in cents (or local equivalent), of the tax. */ - amount: number; - /** @description Whether this tax amount is inclusive or exclusive. */ - inclusive: boolean; - /** @description The tax rate that was applied to get this tax amount. */ - tax_rate: string | components["schemas"]["tax_rate"]; - /** - * @description The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. - * @enum {string|null} - */ - taxability_reason?: "customer_exempt" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated" | null; - /** @description The amount on which tax is calculated, in cents (or local equivalent). */ - taxable_amount?: number | null; - }; - /** InvoiceThresholdReason */ - invoice_threshold_reason: { - /** @description The total invoice amount threshold boundary if it triggered the threshold invoice. */ - amount_gte?: number | null; - /** @description Indicates which line items triggered a threshold invoice. */ - item_reasons: components["schemas"]["invoice_item_threshold_reason"][]; - }; - /** InvoiceTransferData */ - invoice_transfer_data: { - /** @description The amount in cents (or local equivalent) that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination. */ - amount?: number | null; - /** @description The account where funds from the payment will be transferred to upon payment success. */ - destination: string | components["schemas"]["account"]; - }; - /** - * InvoiceItem - * @description Invoice Items represent the component lines of an [invoice](https://stripe.com/docs/api/invoices). An invoice item is added to an - * invoice by creating or updating it with an `invoice` field, at which point it will be included as - * [an invoice line item](https://stripe.com/docs/api/invoices/line_item) within - * [invoice.lines](https://stripe.com/docs/api/invoices/object#invoice_object-lines). - * - * Invoice Items can be created before you are ready to actually send the invoice. This can be particularly useful when combined - * with a [subscription](https://stripe.com/docs/api/subscriptions). Sometimes you want to add a charge or credit to a customer, but actually charge - * or credit the customer’s card only at the end of a regular billing cycle. This is useful for combining several charges - * (to minimize per-transaction fees), or for having Stripe tabulate your usage-based billing totals. - * - * Related guides: [Integrate with the Invoicing API](https://stripe.com/docs/invoicing/integration), [Subscription Invoices](https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items). - */ - invoiceitem: { - /** @description Amount (in the `currency` specified) of the invoice item. This should always be equal to `unit_amount * quantity`. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description The ID of the customer who will be billed when this invoice item is billed. */ - customer: string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - date: number; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description If true, discounts will apply to this invoice item. Always false for prorations. */ - discountable: boolean; - /** @description The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount. */ - discounts?: ((string | components["schemas"]["discount"])[]) | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description The ID of the invoice this invoice item belongs to. */ - invoice?: (string | components["schemas"]["invoice"]) | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "invoiceitem"; - period: components["schemas"]["invoice_line_item_period"]; - /** @description The price of the invoice item. */ - price?: components["schemas"]["price"] | null; - /** @description Whether the invoice item was created automatically as a proration adjustment when the customer switched plans. */ - proration: boolean; - /** @description Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for. */ - quantity: number; - /** @description The subscription that this invoice item has been created for, if any. */ - subscription?: (string | components["schemas"]["subscription"]) | null; - /** @description The subscription item that this invoice item has been created for, if any. */ - subscription_item?: string; - /** @description The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. */ - tax_rates?: components["schemas"]["tax_rate"][] | null; - /** @description ID of the test clock this invoice item belongs to. */ - test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; - /** @description Unit amount (in the `currency` specified) of the invoice item. */ - unit_amount?: number | null; - /** - * Format: decimal - * @description Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. - */ - unit_amount_decimal?: string | null; - }; - /** InvoicesFromInvoice */ - invoices_from_invoice: { - /** @description The relation between this invoice and the cloned invoice */ - action: string; - /** @description The invoice that was cloned. */ - invoice: string | components["schemas"]["invoice"]; - }; - /** InvoicesInvoiceRendering */ - invoices_invoice_rendering: { - /** @description How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. */ - amount_tax_display?: string | null; - /** @description Invoice pdf rendering options */ - pdf?: components["schemas"]["invoice_rendering_pdf"] | null; - }; - /** InvoicesPaymentMethodOptions */ - invoices_payment_method_options: { - /** @description If paying by `acss_debit`, this sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice’s PaymentIntent. */ - acss_debit?: components["schemas"]["invoice_payment_method_options_acss_debit"] | null; - /** @description If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the invoice’s PaymentIntent. */ - bancontact?: components["schemas"]["invoice_payment_method_options_bancontact"] | null; - /** @description If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the invoice’s PaymentIntent. */ - card?: components["schemas"]["invoice_payment_method_options_card"] | null; - /** @description If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice’s PaymentIntent. */ - customer_balance?: components["schemas"]["invoice_payment_method_options_customer_balance"] | null; - /** @description If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice’s PaymentIntent. */ - konbini?: components["schemas"]["invoice_payment_method_options_konbini"] | null; - /** @description If paying by `us_bank_account`, this sub-hash contains details about the ACH direct debit payment method options to pass to the invoice’s PaymentIntent. */ - us_bank_account?: components["schemas"]["invoice_payment_method_options_us_bank_account"] | null; - }; - /** InvoicesPaymentSettings */ - invoices_payment_settings: { - /** @description ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the invoice's default_payment_method or default_source, if set. */ - default_mandate?: string | null; - /** @description Payment-method-specific configuration to provide to the invoice’s PaymentIntent. */ - payment_method_options?: components["schemas"]["invoices_payment_method_options"] | null; - /** @description The list of payment method types (e.g. card) to provide to the invoice’s PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). */ - payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | null; - }; - /** InvoicesResourceInvoiceTaxID */ - invoices_resource_invoice_tax_id: { - /** - * @description The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, or `unknown` - * @enum {string} - */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "unknown" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; - /** @description The value of the tax ID. */ - value?: string | null; - }; - /** InvoicesResourceLineItemsCreditedItems */ - invoices_resource_line_items_credited_items: { - /** @description Invoice containing the credited invoice line items */ - invoice: string; - /** @description Credited invoice line items */ - invoice_line_items: string[]; - }; - /** InvoicesResourceLineItemsProrationDetails */ - invoices_resource_line_items_proration_details: { - /** @description For a credit proration `line_item`, the original debit line_items to which the credit proration applies. */ - credited_items?: components["schemas"]["invoices_resource_line_items_credited_items"] | null; - }; - /** InvoicesShippingCost */ - invoices_shipping_cost: { - /** @description Total shipping cost before any taxes are applied. */ - amount_subtotal: number; - /** @description Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0. */ - amount_tax: number; - /** @description Total shipping cost after taxes are applied. */ - amount_total: number; - /** @description The ID of the ShippingRate for this invoice. */ - shipping_rate?: (string | components["schemas"]["shipping_rate"]) | null; - /** @description The taxes applied to the shipping rate. */ - taxes?: components["schemas"]["line_items_tax_amount"][]; - }; - /** InvoicesStatusTransitions */ - invoices_status_transitions: { - /** - * Format: unix-time - * @description The time that the invoice draft was finalized. - */ - finalized_at?: number | null; - /** - * Format: unix-time - * @description The time that the invoice was marked uncollectible. - */ - marked_uncollectible_at?: number | null; - /** - * Format: unix-time - * @description The time that the invoice was paid. - */ - paid_at?: number | null; - /** - * Format: unix-time - * @description The time that the invoice was voided. - */ - voided_at?: number | null; - }; - /** - * IssuingAuthorization - * @description When an [issued card](https://stripe.com/docs/issuing) is used to make a purchase, an Issuing `Authorization` - * object is created. [Authorizations](https://stripe.com/docs/issuing/purchases/authorizations) must be approved for the - * purchase to be completed successfully. - * - * Related guide: [Issued card authorizations](https://stripe.com/docs/issuing/purchases/authorizations) - */ - "issuing.authorization": { - /** @description The total amount that was authorized or rejected. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount: number; - /** @description Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount_details?: components["schemas"]["issuing_authorization_amount_details"] | null; - /** @description Whether the authorization has been approved. */ - approved: boolean; - /** - * @description How the card details were provided. - * @enum {string} - */ - authorization_method: "chip" | "contactless" | "keyed_in" | "online" | "swipe"; - /** @description List of balance transactions associated with this authorization. */ - balance_transactions: components["schemas"]["balance_transaction"][]; - card: components["schemas"]["issuing.card"]; - /** @description The cardholder to whom this authorization belongs. */ - cardholder?: (string | components["schemas"]["issuing.cardholder"]) | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description The total amount that was authorized or rejected. This amount is in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - merchant_amount: number; - /** @description The currency that was presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - merchant_currency: string; - merchant_data: components["schemas"]["issuing_authorization_merchant_data"]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** @description Details about the authorization, such as identifiers, set by the card network. */ - network_data?: components["schemas"]["issuing_authorization_network_data"] | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "issuing.authorization"; - /** @description The pending authorization request. This field will only be non-null during an `issuing_authorization.request` webhook. */ - pending_request?: components["schemas"]["issuing_authorization_pending_request"] | null; - /** @description History of every time a `pending_request` authorization was approved/declined, either by you directly or by Stripe (e.g. based on your spending_controls). If the merchant changes the authorization by performing an incremental authorization, you can look at this field to see the previous requests for the authorization. This field can be helpful in determining why a given authorization was approved/declined. */ - request_history: components["schemas"]["issuing_authorization_request"][]; - /** - * @description The current status of the authorization in its lifecycle. - * @enum {string} - */ - status: "closed" | "pending" | "reversed"; - /** @description List of [transactions](https://stripe.com/docs/api/issuing/transactions) associated with this authorization. */ - transactions: components["schemas"]["issuing.transaction"][]; - /** @description [Treasury](https://stripe.com/docs/api/treasury) details related to this authorization if it was created on a [FinancialAccount](https://stripe.com/docs/api/treasury/financial_accounts). */ - treasury?: components["schemas"]["issuing_authorization_treasury"] | null; - verification_data: components["schemas"]["issuing_authorization_verification_data"]; - /** @description The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. Will populate as `null` when no digital wallet was utilized. */ - wallet?: string | null; - }; - /** - * IssuingCard - * @description You can [create physical or virtual cards](https://stripe.com/docs/issuing/cards) that are issued to cardholders. - */ - "issuing.card": { - /** @description The brand of the card. */ - brand: string; - /** - * @description The reason why the card was canceled. - * @enum {string|null} - */ - cancellation_reason?: "design_rejected" | "lost" | "stolen" | null; - cardholder: components["schemas"]["issuing.cardholder"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Supported currencies are `usd` in the US, `eur` in the EU, and `gbp` in the UK. */ - currency: string; - /** @description The card's CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the ["Retrieve a card" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via "List all cards" or any other endpoint. */ - cvc?: string; - /** @description The expiration month of the card. */ - exp_month: number; - /** @description The expiration year of the card. */ - exp_year: number; - /** @description The financial account this card is attached to. */ - financial_account?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description The last 4 digits of the card number. */ - last4: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** @description The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the ["Retrieve a card" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via "List all cards" or any other endpoint. */ - number?: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "issuing.card"; - /** @description The latest card that replaces this card, if any. */ - replaced_by?: (string | components["schemas"]["issuing.card"]) | null; - /** @description The card this card replaces, if any. */ - replacement_for?: (string | components["schemas"]["issuing.card"]) | null; - /** - * @description The reason why the previous card needed to be replaced. - * @enum {string|null} - */ - replacement_reason?: "damaged" | "expired" | "lost" | "stolen" | null; - /** @description Where and how the card will be shipped. */ - shipping?: components["schemas"]["issuing_card_shipping"] | null; - spending_controls: components["schemas"]["issuing_card_authorization_controls"]; - /** - * @description Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. - * @enum {string} - */ - status: "active" | "canceled" | "inactive"; - /** - * @description The type of the card. - * @enum {string} - */ - type: "physical" | "virtual"; - /** @description Information relating to digital wallets (like Apple Pay and Google Pay). */ - wallets?: components["schemas"]["issuing_card_wallets"] | null; - }; - /** - * IssuingCardholder - * @description An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://stripe.com/docs/issuing) cards. - * - * Related guide: [How to create a cardholder](https://stripe.com/docs/issuing/cards#create-cardholder) - */ - "issuing.cardholder": { - billing: components["schemas"]["issuing_cardholder_address"]; - /** @description Additional information about a `company` cardholder. */ - company?: components["schemas"]["issuing_cardholder_company"] | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The cardholder's email address. */ - email?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Additional information about an `individual` cardholder. */ - individual?: components["schemas"]["issuing_cardholder_individual"] | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** @description The cardholder's name. This will be printed on cards issued to them. */ - name: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "issuing.cardholder"; - /** @description The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure#when-is-3d-secure-applied) for more details. */ - phone_number?: string | null; - /** - * @description The cardholder’s preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`. - * This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder. - */ - preferred_locales?: (("de" | "en" | "es" | "fr" | "it")[]) | null; - requirements: components["schemas"]["issuing_cardholder_requirements"]; - /** @description Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. */ - spending_controls?: components["schemas"]["issuing_cardholder_authorization_controls"] | null; - /** - * @description Specifies whether to permit authorizations on this cardholder's cards. - * @enum {string} - */ - status: "active" | "blocked" | "inactive"; - /** - * @description One of `individual` or `company`. See [Choose a cardholder type](https://stripe.com/docs/issuing/other/choose-cardholder) for more details. - * @enum {string} - */ - type: "company" | "individual"; - }; - /** - * IssuingDispute - * @description As a [card issuer](https://stripe.com/docs/issuing), you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with. - * - * Related guide: [Issuing disputes](https://stripe.com/docs/issuing/purchases/disputes) - */ - "issuing.dispute": { - /** @description Disputed amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Usually the amount of the `transaction`, but can differ (usually because of currency fluctuation). */ - amount: number; - /** @description List of balance transactions associated with the dispute. */ - balance_transactions?: components["schemas"]["balance_transaction"][] | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The currency the `transaction` was made in. */ - currency: string; - evidence: components["schemas"]["issuing_dispute_evidence"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "issuing.dispute"; - /** - * @description Current status of the dispute. - * @enum {string} - */ - status: "expired" | "lost" | "submitted" | "unsubmitted" | "won"; - /** @description The transaction being disputed. */ - transaction: string | components["schemas"]["issuing.transaction"]; - /** @description [Treasury](https://stripe.com/docs/api/treasury) details related to this dispute if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts */ - treasury?: components["schemas"]["issuing_dispute_treasury"] | null; - }; - /** - * IssuingSettlement - * @description When a non-stripe BIN is used, any use of an [issued card](https://stripe.com/docs/issuing) must be settled directly with the card network. The net amount owed is represented by an Issuing `Settlement` object. - */ - "issuing.settlement": { - /** @description The Bank Identification Number reflecting this settlement record. */ - bin: string; - /** @description The date that the transactions are cleared and posted to user's accounts. */ - clearing_date: number; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Unique identifier for the object. */ - id: string; - /** @description The total interchange received as reimbursement for the transactions. */ - interchange_fees: number; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** @description The total net amount required to settle with the network. */ - net_total: number; - /** - * @description The card network for this settlement report. One of ["visa"] - * @enum {string} - */ - network: "visa"; - /** @description The total amount of fees owed to the network. */ - network_fees: number; - /** @description The Settlement Identification Number assigned by the network. */ - network_settlement_identifier: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "issuing.settlement"; - /** @description One of `international` or `uk_national_net`. */ - settlement_service: string; - /** @description The total number of transactions reflected in this settlement. */ - transaction_count: number; - /** @description The total transaction amount reflected in this settlement. */ - transaction_volume: number; - }; - /** - * IssuingTransaction - * @description Any use of an [issued card](https://stripe.com/docs/issuing) that results in funds entering or leaving - * your Stripe account, such as a completed purchase or refund, is represented by an Issuing - * `Transaction` object. - * - * Related guide: [Issued card transactions](https://stripe.com/docs/issuing/purchases/transactions) - */ - "issuing.transaction": { - /** @description The transaction amount, which will be reflected in your balance. This amount is in your currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount: number; - /** @description Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount_details?: components["schemas"]["issuing_transaction_amount_details"] | null; - /** @description The `Authorization` object that led to this transaction. */ - authorization?: (string | components["schemas"]["issuing.authorization"]) | null; - /** @description ID of the [balance transaction](https://stripe.com/docs/api/balance_transactions) associated with this transaction. */ - balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; - /** @description The card used to make this transaction. */ - card: string | components["schemas"]["issuing.card"]; - /** @description The cardholder to whom this transaction belongs. */ - cardholder?: (string | components["schemas"]["issuing.cardholder"]) | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description If you've disputed the transaction, the ID of the dispute. */ - dispute?: (string | components["schemas"]["issuing.dispute"]) | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description The amount that the merchant will receive, denominated in `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). It will be different from `amount` if the merchant is taking payment in a different currency. */ - merchant_amount: number; - /** @description The currency with which the merchant is taking payment. */ - merchant_currency: string; - merchant_data: components["schemas"]["issuing_authorization_merchant_data"]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "issuing.transaction"; - /** @description Additional purchase information that is optionally provided by the merchant. */ - purchase_details?: components["schemas"]["issuing_transaction_purchase_details"] | null; - /** @description [Treasury](https://stripe.com/docs/api/treasury) details related to this transaction if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts */ - treasury?: components["schemas"]["issuing_transaction_treasury"] | null; - /** - * @description The nature of the transaction. - * @enum {string} - */ - type: "capture" | "refund"; - /** - * @description The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. - * @enum {string|null} - */ - wallet?: "apple_pay" | "google_pay" | "samsung_pay" | null; - }; - /** IssuingAuthorizationAmountDetails */ - issuing_authorization_amount_details: { - /** @description The fee charged by the ATM for the cash withdrawal. */ - atm_fee?: number | null; - /** @description The amount of cash requested by the cardholder. */ - cashback_amount?: number | null; - }; - /** IssuingAuthorizationMerchantData */ - issuing_authorization_merchant_data: { - /** @description A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values. */ - category: string; - /** @description The merchant category code for the seller’s business */ - category_code: string; - /** @description City where the seller is located */ - city?: string | null; - /** @description Country where the seller is located */ - country?: string | null; - /** @description Name of the seller */ - name?: string | null; - /** @description Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant. */ - network_id: string; - /** @description Postal code where the seller is located */ - postal_code?: string | null; - /** @description State where the seller is located */ - state?: string | null; - /** @description An ID assigned by the seller to the location of the sale. */ - terminal_id?: string | null; - }; - /** IssuingAuthorizationNetworkData */ - issuing_authorization_network_data: { - /** @description Identifier assigned to the acquirer by the card network. Sometimes this value is not provided by the network; in this case, the value will be `null`. */ - acquiring_institution_id?: string | null; - }; - /** IssuingAuthorizationPendingRequest */ - issuing_authorization_pending_request: { - /** @description The additional amount Stripe will hold if the authorization is approved, in the card's [currency](https://stripe.com/docs/api#issuing_authorization_object-pending-request-currency) and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount: number; - /** @description Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount_details?: components["schemas"]["issuing_authorization_amount_details"] | null; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization. */ - is_amount_controllable: boolean; - /** @description The amount the merchant is requesting to be authorized in the `merchant_currency`. The amount is in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - merchant_amount: number; - /** @description The local currency the merchant is requesting to authorize. */ - merchant_currency: string; - }; - /** IssuingAuthorizationRequest */ - issuing_authorization_request: { - /** @description The `pending_request.amount` at the time of the request, presented in your card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Stripe held this amount from your account to fund the authorization if the request was approved. */ - amount: number; - /** @description Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount_details?: components["schemas"]["issuing_authorization_amount_details"] | null; - /** @description Whether this request was approved. */ - approved: boolean; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description The `pending_request.merchant_amount` at the time of the request, presented in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - merchant_amount: number; - /** @description The currency that was collected by the merchant and presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - merchant_currency: string; - /** - * @description When an authorization is approved or declined by you or by Stripe, this field provides additional detail on the reason for the outcome. - * @enum {string} - */ - reason: "account_disabled" | "card_active" | "card_inactive" | "cardholder_inactive" | "cardholder_verification_required" | "insufficient_funds" | "not_allowed" | "spending_controls" | "suspected_fraud" | "verification_failed" | "webhook_approved" | "webhook_declined" | "webhook_error" | "webhook_timeout"; - /** @description If approve/decline decision is directly responsed to the webhook with json payload and if the response is invalid (e.g., parsing errors), we surface the detailed message via this field. */ - reason_message?: string | null; - }; - /** IssuingAuthorizationTreasury */ - issuing_authorization_treasury: { - /** @description The array of [ReceivedCredits](https://stripe.com/docs/api/treasury/received_credits) associated with this authorization */ - received_credits: string[]; - /** @description The array of [ReceivedDebits](https://stripe.com/docs/api/treasury/received_debits) associated with this authorization */ - received_debits: string[]; - /** @description The Treasury [Transaction](https://stripe.com/docs/api/treasury/transactions) associated with this authorization */ - transaction?: string | null; - }; - /** IssuingAuthorizationVerificationData */ - issuing_authorization_verification_data: { - /** - * @description Whether the cardholder provided an address first line and if it matched the cardholder’s `billing.address.line1`. - * @enum {string} - */ - address_line1_check: "match" | "mismatch" | "not_provided"; - /** - * @description Whether the cardholder provided a postal code and if it matched the cardholder’s `billing.address.postal_code`. - * @enum {string} - */ - address_postal_code_check: "match" | "mismatch" | "not_provided"; - /** - * @description Whether the cardholder provided a CVC and if it matched Stripe’s record. - * @enum {string} - */ - cvc_check: "match" | "mismatch" | "not_provided"; - /** - * @description Whether the cardholder provided an expiry date and if it matched Stripe’s record. - * @enum {string} - */ - expiry_check: "match" | "mismatch" | "not_provided"; - }; - /** IssuingCardApplePay */ - issuing_card_apple_pay: { - /** @description Apple Pay Eligibility */ - eligible: boolean; - /** - * @description Reason the card is ineligible for Apple Pay - * @enum {string|null} - */ - ineligible_reason?: "missing_agreement" | "missing_cardholder_contact" | "unsupported_region" | null; - }; - /** IssuingCardAuthorizationControls */ - issuing_card_authorization_controls: { - /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. */ - allowed_categories?: (("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]) | null; - /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. */ - blocked_categories?: (("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]) | null; - /** @description Limit spending with amount-based rules that apply across any cards this card replaced (i.e., its `replacement_for` card and _that_ card's `replacement_for` card, up the chain). */ - spending_limits?: components["schemas"]["issuing_card_spending_limit"][] | null; - /** @description Currency of the amounts within `spending_limits`. Always the same as the currency of the card. */ - spending_limits_currency?: string | null; - }; - /** IssuingCardGooglePay */ - issuing_card_google_pay: { - /** @description Google Pay Eligibility */ - eligible: boolean; - /** - * @description Reason the card is ineligible for Google Pay - * @enum {string|null} - */ - ineligible_reason?: "missing_agreement" | "missing_cardholder_contact" | "unsupported_region" | null; - }; - /** IssuingCardShipping */ - issuing_card_shipping: { - address: components["schemas"]["address"]; - /** - * @description The delivery company that shipped a card. - * @enum {string|null} - */ - carrier?: "dhl" | "fedex" | "royal_mail" | "usps" | null; - /** @description Additional information that may be required for clearing customs. */ - customs?: components["schemas"]["issuing_card_shipping_customs"] | null; - /** - * Format: unix-time - * @description A unix timestamp representing a best estimate of when the card will be delivered. - */ - eta?: number | null; - /** @description Recipient name. */ - name: string; - /** @description The phone number of the receiver of the shipment. Our courier partners will use this number to contact you in the event of card delivery issues. For individual shipments to the EU/UK, if this field is empty, we will provide them with the phone number provided when the cardholder was initially created. */ - phone_number?: string | null; - /** @description Whether a signature is required for card delivery. This feature is only supported for US users. Standard shipping service does not support signature on delivery. The default value for standard shipping service is false and for express and priority services is true. */ - require_signature?: boolean | null; - /** - * @description Shipment service, such as `standard` or `express`. - * @enum {string} - */ - service: "express" | "priority" | "standard"; - /** - * @description The delivery status of the card. - * @enum {string|null} - */ - status?: "canceled" | "delivered" | "failure" | "pending" | "returned" | "shipped" | null; - /** @description A tracking number for a card shipment. */ - tracking_number?: string | null; - /** @description A link to the shipping carrier's site where you can view detailed information about a card shipment. */ - tracking_url?: string | null; - /** - * @description Packaging options. - * @enum {string} - */ - type: "bulk" | "individual"; - }; - /** IssuingCardShippingCustoms */ - issuing_card_shipping_customs: { - /** @description A registration number used for customs in Europe. See [https://www.gov.uk/eori](https://www.gov.uk/eori) for the UK and [https://ec.europa.eu/taxation_customs/business/customs-procedures-import-and-export/customs-procedures/economic-operators-registration-and-identification-number-eori_en](https://ec.europa.eu/taxation_customs/business/customs-procedures-import-and-export/customs-procedures/economic-operators-registration-and-identification-number-eori_en) for the EU. */ - eori_number?: string | null; - }; - /** IssuingCardSpendingLimit */ - issuing_card_spending_limit: { - /** @description Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount: number; - /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. */ - categories?: (("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]) | null; - /** - * @description Interval (or event) to which the amount applies. - * @enum {string} - */ - interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; - }; - /** IssuingCardWallets */ - issuing_card_wallets: { - apple_pay: components["schemas"]["issuing_card_apple_pay"]; - google_pay: components["schemas"]["issuing_card_google_pay"]; - /** @description Unique identifier for a card used with digital wallets */ - primary_account_identifier?: string | null; - }; - /** IssuingCardholderAddress */ - issuing_cardholder_address: { - address: components["schemas"]["address"]; - }; - /** IssuingCardholderAuthorizationControls */ - issuing_cardholder_authorization_controls: { - /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. */ - allowed_categories?: (("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]) | null; - /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. */ - blocked_categories?: (("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]) | null; - /** @description Limit spending with amount-based rules that apply across this cardholder's cards. */ - spending_limits?: components["schemas"]["issuing_cardholder_spending_limit"][] | null; - /** @description Currency of the amounts within `spending_limits`. */ - spending_limits_currency?: string | null; - }; - /** IssuingCardholderCardIssuing */ - issuing_cardholder_card_issuing: { - /** @description Information about cardholder acceptance of [Authorized User Terms](https://stripe.com/docs/issuing/cards). */ - user_terms_acceptance?: components["schemas"]["issuing_cardholder_user_terms_acceptance"] | null; - }; - /** IssuingCardholderCompany */ - issuing_cardholder_company: { - /** @description Whether the company's business ID number was provided. */ - tax_id_provided: boolean; - }; - /** IssuingCardholderIdDocument */ - issuing_cardholder_id_document: { - /** @description The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. */ - back?: (string | components["schemas"]["file"]) | null; - /** @description The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. */ - front?: (string | components["schemas"]["file"]) | null; - }; - /** IssuingCardholderIndividual */ - issuing_cardholder_individual: { - /** @description Information related to the card_issuing program for this cardholder. */ - card_issuing?: components["schemas"]["issuing_cardholder_card_issuing"] | null; - /** @description The date of birth of this cardholder. */ - dob?: components["schemas"]["issuing_cardholder_individual_dob"] | null; - /** @description The first name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. */ - first_name?: string | null; - /** @description The last name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. */ - last_name?: string | null; - /** @description Government-issued ID document for this cardholder. */ - verification?: components["schemas"]["issuing_cardholder_verification"] | null; - }; - /** IssuingCardholderIndividualDOB */ - issuing_cardholder_individual_dob: { - /** @description The day of birth, between 1 and 31. */ - day?: number | null; - /** @description The month of birth, between 1 and 12. */ - month?: number | null; - /** @description The four-digit year of birth. */ - year?: number | null; - }; - /** IssuingCardholderRequirements */ - issuing_cardholder_requirements: { - /** - * @description If `disabled_reason` is present, all cards will decline authorizations with `cardholder_verification_required` reason. - * @enum {string|null} - */ - disabled_reason?: "listed" | "rejected.listed" | "requirements.past_due" | "under_review" | null; - /** @description Array of fields that need to be collected in order to verify and re-enable the cardholder. */ - past_due?: (("company.tax_id" | "individual.card_issuing.user_terms_acceptance.date" | "individual.card_issuing.user_terms_acceptance.ip" | "individual.dob.day" | "individual.dob.month" | "individual.dob.year" | "individual.first_name" | "individual.last_name" | "individual.verification.document")[]) | null; - }; - /** IssuingCardholderSpendingLimit */ - issuing_cardholder_spending_limit: { - /** @description Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount: number; - /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. */ - categories?: (("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]) | null; - /** - * @description Interval (or event) to which the amount applies. - * @enum {string} - */ - interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; - }; - /** IssuingCardholderUserTermsAcceptance */ - issuing_cardholder_user_terms_acceptance: { - /** - * Format: unix-time - * @description The Unix timestamp marking when the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users. - */ - date?: number | null; - /** @description The IP address from which the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users. */ - ip?: string | null; - /** @description The user agent of the browser from which the cardholder accepted the Authorized User Terms. */ - user_agent?: string | null; - }; - /** IssuingCardholderVerification */ - issuing_cardholder_verification: { - /** @description An identifying document, either a passport or local ID card. */ - document?: components["schemas"]["issuing_cardholder_id_document"] | null; - }; - /** IssuingDisputeCanceledEvidence */ - issuing_dispute_canceled_evidence: { - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ - additional_documentation?: (string | components["schemas"]["file"]) | null; - /** - * Format: unix-time - * @description Date when order was canceled. - */ - canceled_at?: number | null; - /** @description Whether the cardholder was provided with a cancellation policy. */ - cancellation_policy_provided?: boolean | null; - /** @description Reason for canceling the order. */ - cancellation_reason?: string | null; - /** - * Format: unix-time - * @description Date when the cardholder expected to receive the product. - */ - expected_at?: number | null; - /** @description Explanation of why the cardholder is disputing this transaction. */ - explanation?: string | null; - /** @description Description of the merchandise or service that was purchased. */ - product_description?: string | null; - /** - * @description Whether the product was a merchandise or service. - * @enum {string|null} - */ - product_type?: "merchandise" | "service" | null; - /** - * @description Result of cardholder's attempt to return the product. - * @enum {string|null} - */ - return_status?: "merchant_rejected" | "successful" | null; - /** - * Format: unix-time - * @description Date when the product was returned or attempted to be returned. - */ - returned_at?: number | null; - }; - /** IssuingDisputeDuplicateEvidence */ - issuing_dispute_duplicate_evidence: { - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ - additional_documentation?: (string | components["schemas"]["file"]) | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the card statement showing that the product had already been paid for. */ - card_statement?: (string | components["schemas"]["file"]) | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the receipt showing that the product had been paid for in cash. */ - cash_receipt?: (string | components["schemas"]["file"]) | null; - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Image of the front and back of the check that was used to pay for the product. */ - check_image?: (string | components["schemas"]["file"]) | null; - /** @description Explanation of why the cardholder is disputing this transaction. */ - explanation?: string | null; - /** @description Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one. */ - original_transaction?: string | null; - }; - /** IssuingDisputeEvidence */ - issuing_dispute_evidence: { - canceled?: components["schemas"]["issuing_dispute_canceled_evidence"]; - duplicate?: components["schemas"]["issuing_dispute_duplicate_evidence"]; - fraudulent?: components["schemas"]["issuing_dispute_fraudulent_evidence"]; - merchandise_not_as_described?: components["schemas"]["issuing_dispute_merchandise_not_as_described_evidence"]; - not_received?: components["schemas"]["issuing_dispute_not_received_evidence"]; - other?: components["schemas"]["issuing_dispute_other_evidence"]; - /** - * @description The reason for filing the dispute. Its value will match the field containing the evidence. - * @enum {string} - */ - reason: "canceled" | "duplicate" | "fraudulent" | "merchandise_not_as_described" | "not_received" | "other" | "service_not_as_described"; - service_not_as_described?: components["schemas"]["issuing_dispute_service_not_as_described_evidence"]; - }; - /** IssuingDisputeFraudulentEvidence */ - issuing_dispute_fraudulent_evidence: { - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ - additional_documentation?: (string | components["schemas"]["file"]) | null; - /** @description Explanation of why the cardholder is disputing this transaction. */ - explanation?: string | null; - }; - /** IssuingDisputeMerchandiseNotAsDescribedEvidence */ - issuing_dispute_merchandise_not_as_described_evidence: { - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ - additional_documentation?: (string | components["schemas"]["file"]) | null; - /** @description Explanation of why the cardholder is disputing this transaction. */ - explanation?: string | null; - /** - * Format: unix-time - * @description Date when the product was received. - */ - received_at?: number | null; - /** @description Description of the cardholder's attempt to return the product. */ - return_description?: string | null; - /** - * @description Result of cardholder's attempt to return the product. - * @enum {string|null} - */ - return_status?: "merchant_rejected" | "successful" | null; - /** - * Format: unix-time - * @description Date when the product was returned or attempted to be returned. - */ - returned_at?: number | null; - }; - /** IssuingDisputeNotReceivedEvidence */ - issuing_dispute_not_received_evidence: { - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ - additional_documentation?: (string | components["schemas"]["file"]) | null; - /** - * Format: unix-time - * @description Date when the cardholder expected to receive the product. - */ - expected_at?: number | null; - /** @description Explanation of why the cardholder is disputing this transaction. */ - explanation?: string | null; - /** @description Description of the merchandise or service that was purchased. */ - product_description?: string | null; - /** - * @description Whether the product was a merchandise or service. - * @enum {string|null} - */ - product_type?: "merchandise" | "service" | null; - }; - /** IssuingDisputeOtherEvidence */ - issuing_dispute_other_evidence: { - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ - additional_documentation?: (string | components["schemas"]["file"]) | null; - /** @description Explanation of why the cardholder is disputing this transaction. */ - explanation?: string | null; - /** @description Description of the merchandise or service that was purchased. */ - product_description?: string | null; - /** - * @description Whether the product was a merchandise or service. - * @enum {string|null} - */ - product_type?: "merchandise" | "service" | null; - }; - /** IssuingDisputeServiceNotAsDescribedEvidence */ - issuing_dispute_service_not_as_described_evidence: { - /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ - additional_documentation?: (string | components["schemas"]["file"]) | null; - /** - * Format: unix-time - * @description Date when order was canceled. - */ - canceled_at?: number | null; - /** @description Reason for canceling the order. */ - cancellation_reason?: string | null; - /** @description Explanation of why the cardholder is disputing this transaction. */ - explanation?: string | null; - /** - * Format: unix-time - * @description Date when the product was received. - */ - received_at?: number | null; - }; - /** IssuingDisputeTreasury */ - issuing_dispute_treasury: { - /** @description The Treasury [DebitReversal](https://stripe.com/docs/api/treasury/debit_reversals) representing this Issuing dispute */ - debit_reversal?: string | null; - /** @description The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) that is being disputed. */ - received_debit: string; - }; - /** IssuingTransactionAmountDetails */ - issuing_transaction_amount_details: { - /** @description The fee charged by the ATM for the cash withdrawal. */ - atm_fee?: number | null; - /** @description The amount of cash requested by the cardholder. */ - cashback_amount?: number | null; - }; - /** IssuingTransactionFlightData */ - issuing_transaction_flight_data: { - /** @description The time that the flight departed. */ - departure_at?: number | null; - /** @description The name of the passenger. */ - passenger_name?: string | null; - /** @description Whether the ticket is refundable. */ - refundable?: boolean | null; - /** @description The legs of the trip. */ - segments?: components["schemas"]["issuing_transaction_flight_data_leg"][] | null; - /** @description The travel agency that issued the ticket. */ - travel_agency?: string | null; - }; - /** IssuingTransactionFlightDataLeg */ - issuing_transaction_flight_data_leg: { - /** @description The three-letter IATA airport code of the flight's destination. */ - arrival_airport_code?: string | null; - /** @description The airline carrier code. */ - carrier?: string | null; - /** @description The three-letter IATA airport code that the flight departed from. */ - departure_airport_code?: string | null; - /** @description The flight number. */ - flight_number?: string | null; - /** @description The flight's service class. */ - service_class?: string | null; - /** @description Whether a stopover is allowed on this flight. */ - stopover_allowed?: boolean | null; - }; - /** IssuingTransactionFuelData */ - issuing_transaction_fuel_data: { - /** @description The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. */ - type: string; - /** @description The units for `volume_decimal`. One of `us_gallon` or `liter`. */ - unit: string; - /** - * Format: decimal - * @description The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. - */ - unit_cost_decimal: string; - /** - * Format: decimal - * @description The volume of the fuel that was pumped, represented as a decimal string with at most 12 decimal places. - */ - volume_decimal?: string | null; - }; - /** IssuingTransactionLodgingData */ - issuing_transaction_lodging_data: { - /** @description The time of checking into the lodging. */ - check_in_at?: number | null; - /** @description The number of nights stayed at the lodging. */ - nights?: number | null; - }; - /** IssuingTransactionPurchaseDetails */ - issuing_transaction_purchase_details: { - /** @description Information about the flight that was purchased with this transaction. */ - flight?: components["schemas"]["issuing_transaction_flight_data"] | null; - /** @description Information about fuel that was purchased with this transaction. */ - fuel?: components["schemas"]["issuing_transaction_fuel_data"] | null; - /** @description Information about lodging that was purchased with this transaction. */ - lodging?: components["schemas"]["issuing_transaction_lodging_data"] | null; - /** @description The line items in the purchase. */ - receipt?: components["schemas"]["issuing_transaction_receipt_data"][] | null; - /** @description A merchant-specific order number. */ - reference?: string | null; - }; - /** IssuingTransactionReceiptData */ - issuing_transaction_receipt_data: { - /** @description The description of the item. The maximum length of this field is 26 characters. */ - description?: string | null; - /** @description The quantity of the item. */ - quantity?: number | null; - /** @description The total for this line item in cents. */ - total?: number | null; - /** @description The unit cost of the item in cents. */ - unit_cost?: number | null; - }; - /** IssuingTransactionTreasury */ - issuing_transaction_treasury: { - /** @description The Treasury [ReceivedCredit](https://stripe.com/docs/api/treasury/received_credits) representing this Issuing transaction if it is a refund */ - received_credit?: string | null; - /** @description The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) representing this Issuing transaction if it is a capture */ - received_debit?: string | null; - }; - /** - * LineItem - * @description A line item. - */ - item: { - /** @description Total discount amount applied. If no discounts were applied, defaults to 0. */ - amount_discount: number; - /** @description Total before any discounts or taxes are applied. */ - amount_subtotal: number; - /** @description Total tax amount applied. If no tax was applied, defaults to 0. */ - amount_tax: number; - /** @description Total after discounts and taxes. */ - amount_total: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name. */ - description: string; - /** @description The discounts applied to the line item. */ - discounts?: components["schemas"]["line_items_discount_amount"][]; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "item"; - /** @description The price used to generate the line item. */ - price?: components["schemas"]["price"] | null; - /** @description The quantity of products being purchased. */ - quantity?: number | null; - /** @description The taxes applied to the line item. */ - taxes?: components["schemas"]["line_items_tax_amount"][]; - }; - /** LegalEntityCompany */ - legal_entity_company: { - address?: components["schemas"]["address"]; - /** @description The Kana variation of the company's primary address (Japan only). */ - address_kana?: components["schemas"]["legal_entity_japan_address"] | null; - /** @description The Kanji variation of the company's primary address (Japan only). */ - address_kanji?: components["schemas"]["legal_entity_japan_address"] | null; - /** @description Whether the company's directors have been provided. This Boolean will be `true` if you've manually indicated that all directors are provided via [the `directors_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-directors_provided). */ - directors_provided?: boolean; - /** @description Whether the company's executives have been provided. This Boolean will be `true` if you've manually indicated that all executives are provided via [the `executives_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-executives_provided), or if Stripe determined that sufficient executives were provided. */ - executives_provided?: boolean; - /** @description The export license ID number of the company, also referred as Import Export Code (India only). */ - export_license_id?: string; - /** @description The purpose code to use for export transactions (India only). */ - export_purpose_code?: string; - /** @description The company's legal name. */ - name?: string | null; - /** @description The Kana variation of the company's legal name (Japan only). */ - name_kana?: string | null; - /** @description The Kanji variation of the company's legal name (Japan only). */ - name_kanji?: string | null; - /** @description Whether the company's owners have been provided. This Boolean will be `true` if you've manually indicated that all owners are provided via [the `owners_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-owners_provided), or if Stripe determined that sufficient owners were provided. Stripe determines ownership requirements using both the number of owners provided and their total percent ownership (calculated by adding the `percent_ownership` of each owner together). */ - owners_provided?: boolean; - /** @description This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct. */ - ownership_declaration?: components["schemas"]["legal_entity_ubo_declaration"] | null; - /** @description The company's phone number (used for verification). */ - phone?: string | null; - /** - * @description The category identifying the legal structure of the company or legal entity. See [Business structure](https://stripe.com/docs/connect/identity-verification#business-structure) for more details. - * @enum {string} - */ - structure?: "free_zone_establishment" | "free_zone_llc" | "government_instrumentality" | "governmental_unit" | "incorporated_non_profit" | "incorporated_partnership" | "limited_liability_partnership" | "llc" | "multi_member_llc" | "private_company" | "private_corporation" | "private_partnership" | "public_company" | "public_corporation" | "public_partnership" | "single_member_llc" | "sole_establishment" | "sole_proprietorship" | "tax_exempt_government_instrumentality" | "unincorporated_association" | "unincorporated_non_profit" | "unincorporated_partnership"; - /** @description Whether the company's business ID number was provided. */ - tax_id_provided?: boolean; - /** @description The jurisdiction in which the `tax_id` is registered (Germany-based companies only). */ - tax_id_registrar?: string; - /** @description Whether the company's business VAT number was provided. */ - vat_id_provided?: boolean; - /** @description Information on the verification state of the company. */ - verification?: components["schemas"]["legal_entity_company_verification"] | null; - }; - /** LegalEntityCompanyVerification */ - legal_entity_company_verification: { - document: components["schemas"]["legal_entity_company_verification_document"]; - }; - /** LegalEntityCompanyVerificationDocument */ - legal_entity_company_verification_document: { - /** @description The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. */ - back?: (string | components["schemas"]["file"]) | null; - /** @description A user-displayable string describing the verification state of this document. */ - details?: string | null; - /** @description One of `document_corrupt`, `document_expired`, `document_failed_copy`, `document_failed_greyscale`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_not_readable`, `document_not_uploaded`, `document_type_not_supported`, or `document_too_large`. A machine-readable code specifying the verification state for this document. */ - details_code?: string | null; - /** @description The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. */ - front?: (string | components["schemas"]["file"]) | null; - }; - /** LegalEntityDOB */ - legal_entity_dob: { - /** @description The day of birth, between 1 and 31. */ - day?: number | null; - /** @description The month of birth, between 1 and 12. */ - month?: number | null; - /** @description The four-digit year of birth. */ - year?: number | null; - }; - /** LegalEntityJapanAddress */ - legal_entity_japan_address: { - /** @description City/Ward. */ - city?: string | null; - /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ - country?: string | null; - /** @description Block/Building number. */ - line1?: string | null; - /** @description Building details. */ - line2?: string | null; - /** @description ZIP or postal code. */ - postal_code?: string | null; - /** @description Prefecture. */ - state?: string | null; - /** @description Town/cho-me. */ - town?: string | null; - }; - /** LegalEntityPersonVerification */ - legal_entity_person_verification: { - /** @description A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. */ - additional_document?: components["schemas"]["legal_entity_person_verification_document"] | null; - /** @description A user-displayable string describing the verification state for the person. For example, this may say "Provided identity information could not be verified". */ - details?: string | null; - /** @description One of `document_address_mismatch`, `document_dob_mismatch`, `document_duplicate_type`, `document_id_number_mismatch`, `document_name_mismatch`, `document_nationality_mismatch`, `failed_keyed_identity`, or `failed_other`. A machine-readable code specifying the verification state for the person. */ - details_code?: string | null; - document?: components["schemas"]["legal_entity_person_verification_document"]; - /** @description The state of verification for the person. Possible values are `unverified`, `pending`, or `verified`. */ - status: string; - }; - /** LegalEntityPersonVerificationDocument */ - legal_entity_person_verification_document: { - /** @description The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. */ - back?: (string | components["schemas"]["file"]) | null; - /** @description A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say "Identity document is too unclear to read". */ - details?: string | null; - /** @description One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document. */ - details_code?: string | null; - /** @description The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. */ - front?: (string | components["schemas"]["file"]) | null; - }; - /** LegalEntityUBODeclaration */ - legal_entity_ubo_declaration: { - /** - * Format: unix-time - * @description The Unix timestamp marking when the beneficial owner attestation was made. - */ - date?: number | null; - /** @description The IP address from which the beneficial owner attestation was made. */ - ip?: string | null; - /** @description The user-agent string from the browser where the beneficial owner attestation was made. */ - user_agent?: string | null; - }; - /** InvoiceLineItem */ - line_item: { - /** @description The amount, in cents (or local equivalent). */ - amount: number; - /** @description The integer amount in cents (or local equivalent) representing the amount for this line item, excluding all tax and discounts. */ - amount_excluding_tax?: number | null; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description The amount of discount calculated per discount for this line item. */ - discount_amounts?: components["schemas"]["discounts_resource_discount_amount"][] | null; - /** @description If true, discounts will apply to this line item. Always false for prorations. */ - discountable: boolean; - /** @description The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount. */ - discounts?: ((string | components["schemas"]["discount"])[]) | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description The ID of the [invoice item](https://stripe.com/docs/api/invoiceitems) associated with this line item if any. */ - invoice_item?: string | components["schemas"]["invoiceitem"]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type=subscription` this will reflect the metadata of the subscription that caused the line item to be created. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "line_item"; - period: components["schemas"]["invoice_line_item_period"]; - /** @description The price of the line item. */ - price?: components["schemas"]["price"] | null; - /** @description Whether this is a proration. */ - proration: boolean; - /** @description Additional details for proration line items */ - proration_details?: components["schemas"]["invoices_resource_line_items_proration_details"] | null; - /** @description The quantity of the subscription, if the line item is a subscription or a proration. */ - quantity?: number | null; - /** @description The subscription that the invoice item pertains to, if any. */ - subscription?: (string | components["schemas"]["subscription"]) | null; - /** @description The subscription item that generated this line item. Left empty if the line item is not an explicit result of a subscription. */ - subscription_item?: string | components["schemas"]["subscription_item"]; - /** @description The amount of tax calculated per tax rate for this line item */ - tax_amounts?: components["schemas"]["invoice_tax_amount"][]; - /** @description The tax rates which apply to the line item. */ - tax_rates?: components["schemas"]["tax_rate"][]; - /** - * @description A string identifying the type of the source of this line item, either an `invoiceitem` or a `subscription`. - * @enum {string} - */ - type: "invoiceitem" | "subscription"; - /** - * Format: decimal - * @description The amount in cents (or local equivalent) representing the unit amount for this line item, excluding all tax and discounts. - */ - unit_amount_excluding_tax?: string | null; - }; - /** LineItemsDiscountAmount */ - line_items_discount_amount: { - /** @description The amount discounted. */ - amount: number; - discount: components["schemas"]["discount"]; - }; - /** LineItemsTaxAmount */ - line_items_tax_amount: { - /** @description Amount of tax applied for this rate. */ - amount: number; - rate: components["schemas"]["tax_rate"]; - /** - * @description The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. - * @enum {string|null} - */ - taxability_reason?: "customer_exempt" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated" | null; - /** @description The amount on which tax is calculated, in cents (or local equivalent). */ - taxable_amount?: number | null; - }; - /** linked_account_options_us_bank_account */ - linked_account_options_us_bank_account: { - /** @description The list of permissions to request. The `payment_method` permission must be included. */ - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - /** @description Data features requested to be retrieved upon account creation. */ - prefetch?: "balances"[] | null; - /** @description For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. */ - return_url?: string; - }; - /** - * LoginLink - * @description Login Links are single-use login link for an Express account to access their Stripe dashboard. - */ - login_link: { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "login_link"; - /** @description The URL for the login link. */ - url: string; - }; - /** - * Mandate - * @description A Mandate is a record of the permission that your customer gives you to debit their payment method. - */ - mandate: { - customer_acceptance: components["schemas"]["customer_acceptance"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - multi_use?: components["schemas"]["mandate_multi_use"]; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "mandate"; - /** @description The account (if any) that the mandate is intended for. */ - on_behalf_of?: string; - /** @description ID of the payment method associated with this mandate. */ - payment_method: string | components["schemas"]["payment_method"]; - payment_method_details: components["schemas"]["mandate_payment_method_details"]; - single_use?: components["schemas"]["mandate_single_use"]; - /** - * @description The mandate status indicates whether or not you can use it to initiate a payment. - * @enum {string} - */ - status: "active" | "inactive" | "pending"; - /** - * @description The type of the mandate. - * @enum {string} - */ - type: "multi_use" | "single_use"; - }; - /** mandate_acss_debit */ - mandate_acss_debit: { - /** @description List of Stripe products where this mandate can be selected automatically. */ - default_for?: ("invoice" | "subscription")[]; - /** @description Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. */ - interval_description?: string | null; - /** - * @description Payment schedule for the mandate. - * @enum {string} - */ - payment_schedule: "combined" | "interval" | "sporadic"; - /** - * @description Transaction type of the mandate. - * @enum {string} - */ - transaction_type: "business" | "personal"; - }; - /** mandate_au_becs_debit */ - mandate_au_becs_debit: { - /** @description The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively. */ - url: string; - }; - /** mandate_bacs_debit */ - mandate_bacs_debit: { - /** - * @description The status of the mandate on the Bacs network. Can be one of `pending`, `revoked`, `refused`, or `accepted`. - * @enum {string} - */ - network_status: "accepted" | "pending" | "refused" | "revoked"; - /** @description The unique reference identifying the mandate on the Bacs network. */ - reference: string; - /** @description The URL that will contain the mandate that the customer has signed. */ - url: string; - }; - /** mandate_cashapp */ - mandate_cashapp: Record; - /** mandate_link */ - mandate_link: Record; - /** mandate_multi_use */ - mandate_multi_use: Record; - /** mandate_payment_method_details */ - mandate_payment_method_details: { - acss_debit?: components["schemas"]["mandate_acss_debit"]; - au_becs_debit?: components["schemas"]["mandate_au_becs_debit"]; - bacs_debit?: components["schemas"]["mandate_bacs_debit"]; - card?: components["schemas"]["card_mandate_payment_method_details"]; - cashapp?: components["schemas"]["mandate_cashapp"]; - link?: components["schemas"]["mandate_link"]; - paypal?: components["schemas"]["mandate_paypal"]; - sepa_debit?: components["schemas"]["mandate_sepa_debit"]; - /** @description This mandate corresponds with a specific payment method type. The `payment_method_details` includes an additional hash with the same name and contains mandate information that's specific to that payment method. */ - type: string; - us_bank_account?: components["schemas"]["mandate_us_bank_account"]; - }; - /** mandate_paypal */ - mandate_paypal: { - /** @description The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. */ - billing_agreement_id?: string | null; - /** @description PayPal account PayerID. This identifier uniquely identifies the PayPal customer. */ - payer_id?: string | null; - }; - /** mandate_sepa_debit */ - mandate_sepa_debit: { - /** @description The unique reference of the mandate. */ - reference: string; - /** @description The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively. */ - url: string; - }; - /** mandate_single_use */ - mandate_single_use: { - /** @description The amount of the payment on a single use mandate. */ - amount: number; - /** @description The currency of the payment on a single use mandate. */ - currency: string; - }; - /** mandate_us_bank_account */ - mandate_us_bank_account: Record; - /** networks */ - networks: { - /** @description All available networks for the card. */ - available: string[]; - /** @description The preferred network for the card. */ - preferred?: string | null; - }; - /** NotificationEventData */ - notification_event_data: { - /** @description Object containing the API resource relevant to the event. For example, an `invoice.created` event will have a full [invoice object](https://stripe.com/docs/api#invoice_object) as the value of the object key. */ - object: Record; - /** @description Object containing the names of the updated attributes and their values prior to the event (only included in events of type `*.updated`). If an array attribute has any updated elements, this object contains the entire array. In Stripe API versions 2017-04-06 or earlier, an updated array attribute in this object includes only the updated array elements. */ - previous_attributes?: Record; - }; - /** NotificationEventRequest */ - notification_event_request: { - /** @description ID of the API request that caused the event. If null, the event was automatic (e.g., Stripe's automatic subscription handling). Request logs are available in the [dashboard](https://dashboard.stripe.com/logs), but currently not in the API. */ - id?: string | null; - /** @description The idempotency key transmitted during the request, if any. *Note: This property is populated only for events on or after May 23, 2017*. */ - idempotency_key?: string | null; - }; - /** offline_acceptance */ - offline_acceptance: Record; - /** online_acceptance */ - online_acceptance: { - /** @description The customer accepts the mandate from this IP address. */ - ip_address?: string | null; - /** @description The customer accepts the mandate using the user agent of the browser. */ - user_agent?: string | null; - }; - /** OutboundPaymentsPaymentMethodDetails */ - outbound_payments_payment_method_details: { - billing_details: components["schemas"]["treasury_shared_resource_billing_details"]; - financial_account?: components["schemas"]["outbound_payments_payment_method_details_financial_account"]; - /** - * @description The type of the payment method used in the OutboundPayment. - * @enum {string} - */ - type: "financial_account" | "us_bank_account"; - us_bank_account?: components["schemas"]["outbound_payments_payment_method_details_us_bank_account"]; - }; - /** outbound_payments_payment_method_details_financial_account */ - outbound_payments_payment_method_details_financial_account: { - /** @description Token of the FinancialAccount. */ - id: string; - /** - * @description The rails used to send funds. - * @enum {string} - */ - network: "stripe"; - }; - /** outbound_payments_payment_method_details_us_bank_account */ - outbound_payments_payment_method_details_us_bank_account: { - /** - * @description Account holder type: individual or company. - * @enum {string|null} - */ - account_holder_type?: "company" | "individual" | null; - /** - * @description Account type: checkings or savings. Defaults to checking if omitted. - * @enum {string|null} - */ - account_type?: "checking" | "savings" | null; - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - /** - * @description The US bank account network used to send funds. - * @enum {string} - */ - network: "ach" | "us_domestic_wire"; - /** @description Routing number of the bank account. */ - routing_number?: string | null; - }; - /** OutboundTransfersPaymentMethodDetails */ - outbound_transfers_payment_method_details: { - billing_details: components["schemas"]["treasury_shared_resource_billing_details"]; - /** - * @description The type of the payment method used in the OutboundTransfer. - * @enum {string} - */ - type: "us_bank_account"; - us_bank_account?: components["schemas"]["outbound_transfers_payment_method_details_us_bank_account"]; - }; - /** outbound_transfers_payment_method_details_us_bank_account */ - outbound_transfers_payment_method_details_us_bank_account: { - /** - * @description Account holder type: individual or company. - * @enum {string|null} - */ - account_holder_type?: "company" | "individual" | null; - /** - * @description Account type: checkings or savings. Defaults to checking if omitted. - * @enum {string|null} - */ - account_type?: "checking" | "savings" | null; - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - /** - * @description The US bank account network used to send funds. - * @enum {string} - */ - network: "ach" | "us_domestic_wire"; - /** @description Routing number of the bank account. */ - routing_number?: string | null; - }; - /** PackageDimensions */ - package_dimensions: { - /** @description Height, in inches. */ - height: number; - /** @description Length, in inches. */ - length: number; - /** @description Weight, in ounces. */ - weight: number; - /** @description Width, in inches. */ - width: number; - }; - /** PaymentFlowsAmountDetails */ - payment_flows_amount_details: { - tip?: components["schemas"]["payment_flows_amount_details_resource_tip"]; - }; - /** PaymentFlowsAmountDetailsResourceTip */ - payment_flows_amount_details_resource_tip: { - /** @description Portion of the amount that corresponds to a tip. */ - amount?: number; - }; - /** PaymentFlowsAutomaticPaymentMethodsPaymentIntent */ - payment_flows_automatic_payment_methods_payment_intent: { - /** - * @description Controls whether this PaymentIntent will accept redirect-based payment methods. - * - * Redirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the payment. - * @enum {string} - */ - allow_redirects?: "always" | "never"; - /** @description Automatically calculates compatible payment methods */ - enabled: boolean; - }; - /** PaymentFlowsAutomaticPaymentMethodsSetupIntent */ - payment_flows_automatic_payment_methods_setup_intent: { - /** - * @description Controls whether this SetupIntent will accept redirect-based payment methods. - * - * Redirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/setup_intents/confirm) this SetupIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the setup. - * @enum {string} - */ - allow_redirects?: "always" | "never"; - /** @description Automatically calculates compatible payment methods */ - enabled?: boolean | null; - }; - /** PaymentFlowsInstallmentOptions */ - payment_flows_installment_options: { - enabled: boolean; - plan?: components["schemas"]["payment_method_details_card_installments_plan"]; - }; - /** PaymentFlowsPrivatePaymentMethodsAlipay */ - payment_flows_private_payment_methods_alipay: Record; - /** PaymentFlowsPrivatePaymentMethodsAlipayDetails */ - payment_flows_private_payment_methods_alipay_details: { - /** @description Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same. */ - buyer_id?: string; - /** @description Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same. */ - fingerprint?: string | null; - /** @description Transaction ID of this particular Alipay transaction. */ - transaction_id?: string | null; - }; - /** PaymentFlowsPrivatePaymentMethodsKlarnaDOB */ - payment_flows_private_payment_methods_klarna_dob: { - /** @description The day of birth, between 1 and 31. */ - day?: number | null; - /** @description The month of birth, between 1 and 12. */ - month?: number | null; - /** @description The four-digit year of birth. */ - year?: number | null; - }; - /** - * PaymentIntent - * @description A PaymentIntent guides you through the process of collecting a payment from your customer. - * We recommend that you create exactly one PaymentIntent for each order or - * customer session in your system. You can reference the PaymentIntent later to - * see the history of payment attempts for a particular session. - * - * A PaymentIntent transitions through - * [multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses) - * throughout its lifetime as it interfaces with Stripe.js to perform - * authentication flows and ultimately creates at most one successful charge. - * - * Related guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents) - */ - payment_intent: { - /** @description Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ - amount: number; - /** @description Amount that can be captured from this PaymentIntent. */ - amount_capturable?: number; - amount_details?: components["schemas"]["payment_flows_amount_details"]; - /** @description Amount that was collected by this PaymentIntent. */ - amount_received?: number; - /** @description ID of the Connect application that created the PaymentIntent. */ - application?: (string | components["schemas"]["application"]) | null; - /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ - application_fee_amount?: number | null; - /** @description Settings to configure compatible payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods) */ - automatic_payment_methods?: components["schemas"]["payment_flows_automatic_payment_methods_payment_intent"] | null; - /** - * Format: unix-time - * @description Populated when `status` is `canceled`, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch. - */ - canceled_at?: number | null; - /** - * @description Reason for cancellation of this PaymentIntent, either user-provided (`duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned`) or generated by Stripe internally (`failed_invoice`, `void_invoice`, or `automatic`). - * @enum {string|null} - */ - cancellation_reason?: "abandoned" | "automatic" | "duplicate" | "failed_invoice" | "fraudulent" | "requested_by_customer" | "void_invoice" | null; - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method: "automatic" | "automatic_async" | "manual"; - /** - * @description The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key. - * - * The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret. - * - * Refer to our docs to [accept a payment](https://stripe.com/docs/payments/accept-a-payment?ui=elements) and learn about how `client_secret` should be handled. - */ - client_secret?: string | null; - /** @enum {string} */ - confirmation_method: "automatic" | "manual"; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** - * @description ID of the Customer this PaymentIntent belongs to, if one exists. - * - * Payment methods attached to other Customers cannot be used with this PaymentIntent. - * - * If present in combination with [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage), this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. - */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description ID of the invoice that created this PaymentIntent, if it exists. */ - invoice?: (string | components["schemas"]["invoice"]) | null; - /** @description The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason. */ - last_payment_error?: components["schemas"]["api_errors"] | null; - /** @description The latest charge created by this payment intent. */ - latest_charge?: (string | components["schemas"]["charge"]) | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. For more information, see the [documentation](https://stripe.com/docs/payments/payment-intents/creating-payment-intents#storing-information-in-metadata). */ - metadata?: { - [key: string]: string; - }; - /** @description If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source. */ - next_action?: components["schemas"]["payment_intent_next_action"] | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "payment_intent"; - /** @description The account (if any) for which the funds of the PaymentIntent are intended. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details. */ - on_behalf_of?: (string | components["schemas"]["account"]) | null; - /** @description ID of the payment method used in this PaymentIntent. */ - payment_method?: (string | components["schemas"]["payment_method"]) | null; - /** @description Information about the payment method configuration used for this PaymentIntent. */ - payment_method_configuration_details?: components["schemas"]["payment_method_config_biz_payment_method_configuration_details"] | null; - /** @description Payment-method-specific configuration for this PaymentIntent. */ - payment_method_options?: components["schemas"]["payment_intent_payment_method_options"] | null; - /** @description The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. */ - payment_method_types: string[]; - /** @description If present, this property tells you about the processing state of the payment. */ - processing?: components["schemas"]["payment_intent_processing"] | null; - /** @description Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). */ - receipt_email?: string | null; - /** @description ID of the review associated with this PaymentIntent, if any. */ - review?: (string | components["schemas"]["review"]) | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string|null} - */ - setup_future_usage?: "off_session" | "on_session" | null; - /** @description Shipping information for this PaymentIntent. */ - shipping?: components["schemas"]["shipping"] | null; - /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ - statement_descriptor?: string | null; - /** @description Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ - statement_descriptor_suffix?: string | null; - /** - * @description Status of this PaymentIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `requires_capture`, `canceled`, or `succeeded`. Read more about each PaymentIntent [status](https://stripe.com/docs/payments/intents#intent-statuses). - * @enum {string} - */ - status: "canceled" | "processing" | "requires_action" | "requires_capture" | "requires_confirmation" | "requires_payment_method" | "succeeded"; - /** @description The data with which to automatically create a Transfer when the payment is finalized. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details. */ - transfer_data?: components["schemas"]["transfer_data"] | null; - /** @description A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers) for details. */ - transfer_group?: string | null; - }; - /** PaymentIntentCardProcessing */ - payment_intent_card_processing: { - customer_notification?: components["schemas"]["payment_intent_processing_customer_notification"]; - }; - /** PaymentIntentNextAction */ - payment_intent_next_action: { - alipay_handle_redirect?: components["schemas"]["payment_intent_next_action_alipay_handle_redirect"]; - boleto_display_details?: components["schemas"]["payment_intent_next_action_boleto"]; - card_await_notification?: components["schemas"]["payment_intent_next_action_card_await_notification"]; - cashapp_handle_redirect_or_display_qr_code?: components["schemas"]["payment_intent_next_action_cashapp_handle_redirect_or_display_qr_code"]; - display_bank_transfer_instructions?: components["schemas"]["payment_intent_next_action_display_bank_transfer_instructions"]; - konbini_display_details?: components["schemas"]["payment_intent_next_action_konbini"]; - oxxo_display_details?: components["schemas"]["payment_intent_next_action_display_oxxo_details"]; - paynow_display_qr_code?: components["schemas"]["payment_intent_next_action_paynow_display_qr_code"]; - pix_display_qr_code?: components["schemas"]["payment_intent_next_action_pix_display_qr_code"]; - promptpay_display_qr_code?: components["schemas"]["payment_intent_next_action_promptpay_display_qr_code"]; - redirect_to_url?: components["schemas"]["payment_intent_next_action_redirect_to_url"]; - /** @description Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`. */ - type: string; - /** @description When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js. */ - use_stripe_sdk?: Record; - verify_with_microdeposits?: components["schemas"]["payment_intent_next_action_verify_with_microdeposits"]; - wechat_pay_display_qr_code?: components["schemas"]["payment_intent_next_action_wechat_pay_display_qr_code"]; - wechat_pay_redirect_to_android_app?: components["schemas"]["payment_intent_next_action_wechat_pay_redirect_to_android_app"]; - wechat_pay_redirect_to_ios_app?: components["schemas"]["payment_intent_next_action_wechat_pay_redirect_to_ios_app"]; - }; - /** PaymentIntentNextActionAlipayHandleRedirect */ - payment_intent_next_action_alipay_handle_redirect: { - /** @description The native data to be used with Alipay SDK you must redirect your customer to in order to authenticate the payment in an Android App. */ - native_data?: string | null; - /** @description The native URL you must redirect your customer to in order to authenticate the payment in an iOS App. */ - native_url?: string | null; - /** @description If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion. */ - return_url?: string | null; - /** @description The URL you must redirect your customer to in order to authenticate the payment. */ - url?: string | null; - }; - /** payment_intent_next_action_boleto */ - payment_intent_next_action_boleto: { - /** - * Format: unix-time - * @description The timestamp after which the boleto expires. - */ - expires_at?: number | null; - /** @description The URL to the hosted boleto voucher page, which allows customers to view the boleto voucher. */ - hosted_voucher_url?: string | null; - /** @description The boleto number. */ - number?: string | null; - /** @description The URL to the downloadable boleto voucher PDF. */ - pdf?: string | null; - }; - /** PaymentIntentNextActionCardAwaitNotification */ - payment_intent_next_action_card_await_notification: { - /** - * Format: unix-time - * @description The time that payment will be attempted. If customer approval is required, they need to provide approval before this time. - */ - charge_attempt_at?: number | null; - /** @description For payments greater than INR 15000, the customer must provide explicit approval of the payment with their bank. For payments of lower amount, no customer action is required. */ - customer_approval_required?: boolean | null; - }; - /** PaymentIntentNextActionCashappHandleRedirectOrDisplayQrCode */ - payment_intent_next_action_cashapp_handle_redirect_or_display_qr_code: { - /** @description The URL to the hosted Cash App Pay instructions page, which allows customers to view the QR code, and supports QR code refreshing on expiration. */ - hosted_instructions_url: string; - /** @description The url for mobile redirect based auth */ - mobile_auth_url: string; - qr_code: components["schemas"]["payment_intent_next_action_cashapp_qr_code"]; - }; - /** PaymentIntentNextActionCashappQRCode */ - payment_intent_next_action_cashapp_qr_code: { - /** - * Format: unix-time - * @description The date (unix timestamp) when the QR code expires. - */ - expires_at: number; - /** @description The image_url_png string used to render QR code */ - image_url_png: string; - /** @description The image_url_svg string used to render QR code */ - image_url_svg: string; - }; - /** PaymentIntentNextActionDisplayBankTransferInstructions */ - payment_intent_next_action_display_bank_transfer_instructions: { - /** @description The remaining amount that needs to be transferred to complete the payment. */ - amount_remaining?: number | null; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string | null; - /** @description A list of financial addresses that can be used to fund the customer balance */ - financial_addresses?: components["schemas"]["funding_instructions_bank_transfer_financial_address"][]; - /** @description A link to a hosted page that guides your customer through completing the transfer. */ - hosted_instructions_url?: string | null; - /** @description A string identifying this payment. Instruct your customer to include this code in the reference or memo field of their bank transfer. */ - reference?: string | null; - /** - * @description Type of bank transfer - * @enum {string} - */ - type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; - }; - /** PaymentIntentNextActionDisplayOxxoDetails */ - payment_intent_next_action_display_oxxo_details: { - /** - * Format: unix-time - * @description The timestamp after which the OXXO voucher expires. - */ - expires_after?: number | null; - /** @description The URL for the hosted OXXO voucher page, which allows customers to view and print an OXXO voucher. */ - hosted_voucher_url?: string | null; - /** @description OXXO reference number. */ - number?: string | null; - }; - /** payment_intent_next_action_konbini */ - payment_intent_next_action_konbini: { - /** - * Format: unix-time - * @description The timestamp at which the pending Konbini payment expires. - */ - expires_at: number; - /** @description The URL for the Konbini payment instructions page, which allows customers to view and print a Konbini voucher. */ - hosted_voucher_url?: string | null; - stores: components["schemas"]["payment_intent_next_action_konbini_stores"]; - }; - /** payment_intent_next_action_konbini_familymart */ - payment_intent_next_action_konbini_familymart: { - /** @description The confirmation number. */ - confirmation_number?: string; - /** @description The payment code. */ - payment_code: string; - }; - /** payment_intent_next_action_konbini_lawson */ - payment_intent_next_action_konbini_lawson: { - /** @description The confirmation number. */ - confirmation_number?: string; - /** @description The payment code. */ - payment_code: string; - }; - /** payment_intent_next_action_konbini_ministop */ - payment_intent_next_action_konbini_ministop: { - /** @description The confirmation number. */ - confirmation_number?: string; - /** @description The payment code. */ - payment_code: string; - }; - /** payment_intent_next_action_konbini_seicomart */ - payment_intent_next_action_konbini_seicomart: { - /** @description The confirmation number. */ - confirmation_number?: string; - /** @description The payment code. */ - payment_code: string; - }; - /** payment_intent_next_action_konbini_stores */ - payment_intent_next_action_konbini_stores: { - /** @description FamilyMart instruction details. */ - familymart?: components["schemas"]["payment_intent_next_action_konbini_familymart"] | null; - /** @description Lawson instruction details. */ - lawson?: components["schemas"]["payment_intent_next_action_konbini_lawson"] | null; - /** @description Ministop instruction details. */ - ministop?: components["schemas"]["payment_intent_next_action_konbini_ministop"] | null; - /** @description Seicomart instruction details. */ - seicomart?: components["schemas"]["payment_intent_next_action_konbini_seicomart"] | null; - }; - /** PaymentIntentNextActionPaynowDisplayQrCode */ - payment_intent_next_action_paynow_display_qr_code: { - /** @description The raw data string used to generate QR code, it should be used together with QR code library. */ - data: string; - /** @description The URL to the hosted PayNow instructions page, which allows customers to view the PayNow QR code. */ - hosted_instructions_url?: string | null; - /** @description The image_url_png string used to render QR code */ - image_url_png: string; - /** @description The image_url_svg string used to render QR code */ - image_url_svg: string; - }; - /** PaymentIntentNextActionPixDisplayQrCode */ - payment_intent_next_action_pix_display_qr_code: { - /** @description The raw data string used to generate QR code, it should be used together with QR code library. */ - data?: string; - /** @description The date (unix timestamp) when the PIX expires. */ - expires_at?: number; - /** @description The URL to the hosted pix instructions page, which allows customers to view the pix QR code. */ - hosted_instructions_url?: string; - /** @description The image_url_png string used to render png QR code */ - image_url_png?: string; - /** @description The image_url_svg string used to render svg QR code */ - image_url_svg?: string; - }; - /** PaymentIntentNextActionPromptpayDisplayQrCode */ - payment_intent_next_action_promptpay_display_qr_code: { - /** @description The raw data string used to generate QR code, it should be used together with QR code library. */ - data: string; - /** @description The URL to the hosted PromptPay instructions page, which allows customers to view the PromptPay QR code. */ - hosted_instructions_url: string; - /** @description The PNG path used to render the QR code, can be used as the source in an HTML img tag */ - image_url_png: string; - /** @description The SVG path used to render the QR code, can be used as the source in an HTML img tag */ - image_url_svg: string; - }; - /** PaymentIntentNextActionRedirectToUrl */ - payment_intent_next_action_redirect_to_url: { - /** @description If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion. */ - return_url?: string | null; - /** @description The URL you must redirect your customer to in order to authenticate the payment. */ - url?: string | null; - }; - /** PaymentIntentNextActionVerifyWithMicrodeposits */ - payment_intent_next_action_verify_with_microdeposits: { - /** - * Format: unix-time - * @description The timestamp when the microdeposits are expected to land. - */ - arrival_date: number; - /** @description The URL for the hosted verification page, which allows customers to verify their bank account. */ - hosted_verification_url: string; - /** - * @description The type of the microdeposit sent to the customer. Used to distinguish between different verification methods. - * @enum {string|null} - */ - microdeposit_type?: "amounts" | "descriptor_code" | null; - }; - /** PaymentIntentNextActionWechatPayDisplayQrCode */ - payment_intent_next_action_wechat_pay_display_qr_code: { - /** @description The data being used to generate QR code */ - data: string; - /** @description The URL to the hosted WeChat Pay instructions page, which allows customers to view the WeChat Pay QR code. */ - hosted_instructions_url: string; - /** @description The base64 image data for a pre-generated QR code */ - image_data_url: string; - /** @description The image_url_png string used to render QR code */ - image_url_png: string; - /** @description The image_url_svg string used to render QR code */ - image_url_svg: string; - }; - /** PaymentIntentNextActionWechatPayRedirectToAndroidApp */ - payment_intent_next_action_wechat_pay_redirect_to_android_app: { - /** @description app_id is the APP ID registered on WeChat open platform */ - app_id: string; - /** @description nonce_str is a random string */ - nonce_str: string; - /** @description package is static value */ - package: string; - /** @description an unique merchant ID assigned by WeChat Pay */ - partner_id: string; - /** @description an unique trading ID assigned by WeChat Pay */ - prepay_id: string; - /** @description A signature */ - sign: string; - /** @description Specifies the current time in epoch format */ - timestamp: string; - }; - /** PaymentIntentNextActionWechatPayRedirectToIOSApp */ - payment_intent_next_action_wechat_pay_redirect_to_ios_app: { - /** @description An universal link that redirect to WeChat Pay app */ - native_url: string; - }; - /** PaymentIntentPaymentMethodOptions */ - payment_intent_payment_method_options: { - acss_debit?: components["schemas"]["payment_intent_payment_method_options_acss_debit"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - affirm?: components["schemas"]["payment_method_options_affirm"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - afterpay_clearpay?: components["schemas"]["payment_method_options_afterpay_clearpay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - alipay?: components["schemas"]["payment_method_options_alipay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - au_becs_debit?: components["schemas"]["payment_intent_payment_method_options_au_becs_debit"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - bacs_debit?: components["schemas"]["payment_method_options_bacs_debit"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - bancontact?: components["schemas"]["payment_method_options_bancontact"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - blik?: components["schemas"]["payment_intent_payment_method_options_blik"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - boleto?: components["schemas"]["payment_method_options_boleto"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - card?: components["schemas"]["payment_intent_payment_method_options_card"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - card_present?: components["schemas"]["payment_method_options_card_present"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - cashapp?: components["schemas"]["payment_method_options_cashapp"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - customer_balance?: components["schemas"]["payment_method_options_customer_balance"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - eps?: components["schemas"]["payment_intent_payment_method_options_eps"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - fpx?: components["schemas"]["payment_method_options_fpx"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - giropay?: components["schemas"]["payment_method_options_giropay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - grabpay?: components["schemas"]["payment_method_options_grabpay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - ideal?: components["schemas"]["payment_method_options_ideal"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - interac_present?: components["schemas"]["payment_method_options_interac_present"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - klarna?: components["schemas"]["payment_method_options_klarna"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - konbini?: components["schemas"]["payment_method_options_konbini"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - link?: components["schemas"]["payment_intent_payment_method_options_link"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - oxxo?: components["schemas"]["payment_method_options_oxxo"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - p24?: components["schemas"]["payment_method_options_p24"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - paynow?: components["schemas"]["payment_method_options_paynow"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - paypal?: components["schemas"]["payment_method_options_paypal"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - pix?: components["schemas"]["payment_method_options_pix"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - promptpay?: components["schemas"]["payment_method_options_promptpay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - sepa_debit?: components["schemas"]["payment_intent_payment_method_options_sepa_debit"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - sofort?: components["schemas"]["payment_method_options_sofort"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - us_bank_account?: components["schemas"]["payment_intent_payment_method_options_us_bank_account"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - wechat_pay?: components["schemas"]["payment_method_options_wechat_pay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - zip?: components["schemas"]["payment_method_options_zip"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; - }; - /** payment_intent_payment_method_options_acss_debit */ - payment_intent_payment_method_options_acss_debit: { - mandate_options?: components["schemas"]["payment_intent_payment_method_options_mandate_options_acss_debit"]; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - /** - * @description Bank account verification method. - * @enum {string} - */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** payment_intent_payment_method_options_au_becs_debit */ - payment_intent_payment_method_options_au_becs_debit: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** payment_intent_payment_method_options_blik */ - payment_intent_payment_method_options_blik: Record; - /** payment_intent_payment_method_options_card */ - payment_intent_payment_method_options_card: { - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method?: "manual"; - /** - * @description Installment details for this payment (Mexico only). - * - * For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). - */ - installments?: components["schemas"]["payment_method_options_card_installments"] | null; - /** @description Configuration options for setting up an eMandate for cards issued in India. */ - mandate_options?: components["schemas"]["payment_method_options_card_mandate_options"] | null; - /** - * @description Selected network to process this payment intent on. Depends on the available networks of the card attached to the payment intent. Can be only set confirm-time. - * @enum {string|null} - */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa" | null; - /** - * @description We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: `automatic` or `any`. If not provided, defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. - * @enum {string|null} - */ - request_three_d_secure?: "any" | "automatic" | "challenge_only" | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - /** @description Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. */ - statement_descriptor_suffix_kana?: string; - /** @description Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. */ - statement_descriptor_suffix_kanji?: string; - }; - /** payment_intent_payment_method_options_eps */ - payment_intent_payment_method_options_eps: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_intent_payment_method_options_link */ - payment_intent_payment_method_options_link: { - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method?: "manual"; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session"; - }; - /** payment_intent_payment_method_options_mandate_options_acss_debit */ - payment_intent_payment_method_options_mandate_options_acss_debit: { - /** @description A URL for custom mandate text */ - custom_mandate_url?: string; - /** @description Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. */ - interval_description?: string | null; - /** - * @description Payment schedule for the mandate. - * @enum {string|null} - */ - payment_schedule?: "combined" | "interval" | "sporadic" | null; - /** - * @description Transaction type of the mandate. - * @enum {string|null} - */ - transaction_type?: "business" | "personal" | null; - }; - /** payment_intent_payment_method_options_mandate_options_sepa_debit */ - payment_intent_payment_method_options_mandate_options_sepa_debit: Record; - /** payment_intent_payment_method_options_sepa_debit */ - payment_intent_payment_method_options_sepa_debit: { - mandate_options?: components["schemas"]["payment_intent_payment_method_options_mandate_options_sepa_debit"]; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** payment_intent_payment_method_options_us_bank_account */ - payment_intent_payment_method_options_us_bank_account: { - financial_connections?: components["schemas"]["linked_account_options_us_bank_account"]; - /** - * @description Preferred transaction settlement speed - * @enum {string} - */ - preferred_settlement_speed?: "fastest" | "standard"; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - /** - * @description Bank account verification method. - * @enum {string} - */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** PaymentIntentProcessing */ - payment_intent_processing: { - card?: components["schemas"]["payment_intent_card_processing"]; - /** - * @description Type of the payment method for which payment is in `processing` state, one of `card`. - * @enum {string} - */ - type: "card"; - }; - /** PaymentIntentProcessingCustomerNotification */ - payment_intent_processing_customer_notification: { - /** @description Whether customer approval has been requested for this payment. For payments greater than INR 15000 or mandate amount, the customer must provide explicit approval of the payment with their bank. */ - approval_requested?: boolean | null; - /** - * Format: unix-time - * @description If customer approval is required, they need to provide approval before this time. - */ - completes_at?: number | null; - }; - /** PaymentIntentTypeSpecificPaymentMethodOptionsClient */ - payment_intent_type_specific_payment_method_options_client: { - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method?: "manual" | "manual_preferred"; - installments?: components["schemas"]["payment_flows_installment_options"]; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - /** - * @description Bank account verification method. - * @enum {string} - */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** - * PaymentLink - * @description A payment link is a shareable URL that will take your customers to a hosted payment page. A payment link can be shared and used multiple times. - * - * When a customer opens a payment link it will open a new [checkout session](https://stripe.com/docs/api/checkout/sessions) to render the payment page. You can use [checkout session events](https://stripe.com/docs/api/events/types#event_types-checkout.session.completed) to track payments through payment links. - * - * Related guide: [Payment Links API](https://stripe.com/docs/payment-links) - */ - payment_link: { - /** @description Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated. */ - active: boolean; - after_completion: components["schemas"]["payment_links_resource_after_completion"]; - /** @description Whether user redeemable promotion codes are enabled. */ - allow_promotion_codes: boolean; - /** @description The ID of the Connect application that created the Payment Link. */ - application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; - /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. */ - application_fee_amount?: number | null; - /** @description This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. */ - application_fee_percent?: number | null; - automatic_tax: components["schemas"]["payment_links_resource_automatic_tax"]; - /** - * @description Configuration for collecting the customer's billing address. - * @enum {string} - */ - billing_address_collection: "auto" | "required"; - /** @description When set, provides configuration to gather active consent from customers. */ - consent_collection?: components["schemas"]["payment_links_resource_consent_collection"] | null; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Collect additional information from your customer using custom fields. Up to 2 fields are supported. */ - custom_fields: components["schemas"]["payment_links_resource_custom_fields"][]; - custom_text: components["schemas"]["payment_links_resource_custom_text"]; - /** - * @description Configuration for Customer creation during checkout. - * @enum {string} - */ - customer_creation: "always" | "if_required"; - /** @description Unique identifier for the object. */ - id: string; - /** @description Configuration for creating invoice for payment mode payment links. */ - invoice_creation?: components["schemas"]["payment_links_resource_invoice_creation"] | null; - /** - * PaymentLinksResourceListLineItems - * @description The line items representing what is being sold. - */ - line_items?: { - /** @description Details about each object. */ - data: components["schemas"]["item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "payment_link"; - /** @description The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details. */ - on_behalf_of?: (string | components["schemas"]["account"]) | null; - /** @description Indicates the parameters to be passed to PaymentIntent creation during checkout. */ - payment_intent_data?: components["schemas"]["payment_links_resource_payment_intent_data"] | null; - /** - * @description Configuration for collecting a payment method during checkout. - * @enum {string} - */ - payment_method_collection: "always" | "if_required"; - /** @description The list of payment method types that customers can use. When `null`, Stripe will dynamically show relevant payment methods you've enabled in your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). */ - payment_method_types?: (("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | null; - phone_number_collection: components["schemas"]["payment_links_resource_phone_number_collection"]; - /** @description Configuration for collecting the customer's shipping address. */ - shipping_address_collection?: components["schemas"]["payment_links_resource_shipping_address_collection"] | null; - /** @description The shipping rate options applied to the session. */ - shipping_options: components["schemas"]["payment_links_resource_shipping_option"][]; - /** - * @description Indicates the type of transaction being performed which customizes relevant text on the page, such as the submit button. - * @enum {string} - */ - submit_type: "auto" | "book" | "donate" | "pay"; - /** @description When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`. */ - subscription_data?: components["schemas"]["payment_links_resource_subscription_data"] | null; - tax_id_collection: components["schemas"]["payment_links_resource_tax_id_collection"]; - /** @description The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to. */ - transfer_data?: components["schemas"]["payment_links_resource_transfer_data"] | null; - /** @description The public URL that can be shared with customers. */ - url: string; - }; - /** PaymentLinksResourceAfterCompletion */ - payment_links_resource_after_completion: { - hosted_confirmation?: components["schemas"]["payment_links_resource_completion_behavior_confirmation_page"]; - redirect?: components["schemas"]["payment_links_resource_completion_behavior_redirect"]; - /** - * @description The specified behavior after the purchase is complete. - * @enum {string} - */ - type: "hosted_confirmation" | "redirect"; - }; - /** PaymentLinksResourceAutomaticTax */ - payment_links_resource_automatic_tax: { - /** @description If `true`, tax will be calculated automatically using the customer's location. */ - enabled: boolean; - }; - /** PaymentLinksResourceCompletionBehaviorConfirmationPage */ - payment_links_resource_completion_behavior_confirmation_page: { - /** @description The custom message that is displayed to the customer after the purchase is complete. */ - custom_message?: string | null; - }; - /** PaymentLinksResourceCompletionBehaviorRedirect */ - payment_links_resource_completion_behavior_redirect: { - /** @description The URL the customer will be redirected to after the purchase is complete. */ - url: string; - }; - /** PaymentLinksResourceConsentCollection */ - payment_links_resource_consent_collection: { - /** - * @description If set to `auto`, enables the collection of customer consent for promotional communications. - * @enum {string|null} - */ - promotions?: "auto" | "none" | null; - /** - * @description If set to `required`, it requires cutomers to accept the terms of service before being able to pay. If set to `none`, customers won't be shown a checkbox to accept the terms of service. - * @enum {string|null} - */ - terms_of_service?: "none" | "required" | null; - }; - /** PaymentLinksResourceCustomFields */ - payment_links_resource_custom_fields: { - /** @description Configuration for `type=dropdown` fields. */ - dropdown?: components["schemas"]["payment_links_resource_custom_fields_dropdown"] | null; - /** @description String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters. */ - key: string; - label: components["schemas"]["payment_links_resource_custom_fields_label"]; - /** @description Configuration for `type=numeric` fields. */ - numeric?: components["schemas"]["payment_links_resource_custom_fields_numeric"] | null; - /** @description Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. */ - optional: boolean; - /** @description Configuration for `type=text` fields. */ - text?: components["schemas"]["payment_links_resource_custom_fields_text"] | null; - /** - * @description The type of the field. - * @enum {string} - */ - type: "dropdown" | "numeric" | "text"; - }; - /** PaymentLinksResourceCustomFieldsDropdown */ - payment_links_resource_custom_fields_dropdown: { - /** @description The options available for the customer to select. Up to 200 options allowed. */ - options: components["schemas"]["payment_links_resource_custom_fields_dropdown_option"][]; - }; - /** PaymentLinksResourceCustomFieldsDropdownOption */ - payment_links_resource_custom_fields_dropdown_option: { - /** @description The label for the option, displayed to the customer. Up to 100 characters. */ - label: string; - /** @description The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters. */ - value: string; - }; - /** PaymentLinksResourceCustomFieldsLabel */ - payment_links_resource_custom_fields_label: { - /** @description Custom text for the label, displayed to the customer. Up to 50 characters. */ - custom?: string | null; - /** - * @description The type of the label. - * @enum {string} - */ - type: "custom"; - }; - /** PaymentLinksResourceCustomFieldsNumeric */ - payment_links_resource_custom_fields_numeric: { - /** @description The maximum character length constraint for the customer's input. */ - maximum_length?: number | null; - /** @description The minimum character length requirement for the customer's input. */ - minimum_length?: number | null; - }; - /** PaymentLinksResourceCustomFieldsText */ - payment_links_resource_custom_fields_text: { - /** @description The maximum character length constraint for the customer's input. */ - maximum_length?: number | null; - /** @description The minimum character length requirement for the customer's input. */ - minimum_length?: number | null; - }; - /** PaymentLinksResourceCustomText */ - payment_links_resource_custom_text: { - /** @description Custom text that should be displayed alongside shipping address collection. */ - shipping_address?: components["schemas"]["payment_links_resource_custom_text_position"] | null; - /** @description Custom text that should be displayed alongside the payment confirmation button. */ - submit?: components["schemas"]["payment_links_resource_custom_text_position"] | null; - /** @description Custom text that should be displayed in place of the default terms of service agreement text. */ - terms_of_service_acceptance?: components["schemas"]["payment_links_resource_custom_text_position"] | null; - }; - /** PaymentLinksResourceCustomTextPosition */ - payment_links_resource_custom_text_position: { - /** @description Text may be up to 1200 characters in length. */ - message: string; - }; - /** PaymentLinksResourceInvoiceCreation */ - payment_links_resource_invoice_creation: { - /** @description Enable creating an invoice on successful payment. */ - enabled: boolean; - /** @description Configuration for the invoice. Default invoice values will be used if unspecified. */ - invoice_data?: components["schemas"]["payment_links_resource_invoice_settings"] | null; - }; - /** PaymentLinksResourceInvoiceSettings */ - payment_links_resource_invoice_settings: { - /** @description The account tax IDs associated with the invoice. */ - account_tax_ids?: ((string | components["schemas"]["tax_id"] | components["schemas"]["deleted_tax_id"])[]) | null; - /** @description A list of up to 4 custom fields to be displayed on the invoice. */ - custom_fields?: components["schemas"]["invoice_setting_custom_field"][] | null; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description Footer to be displayed on the invoice. */ - footer?: string | null; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** @description Options for invoice PDF rendering. */ - rendering_options?: components["schemas"]["invoice_setting_rendering_options"] | null; - }; - /** PaymentLinksResourcePaymentIntentData */ - payment_links_resource_payment_intent_data: { - /** - * @description Indicates when the funds will be captured from the customer's account. - * @enum {string|null} - */ - capture_method?: "automatic" | "automatic_async" | "manual" | null; - /** - * @description Indicates that you intend to make future payments with the payment method collected during checkout. - * @enum {string|null} - */ - setup_future_usage?: "off_session" | "on_session" | null; - }; - /** PaymentLinksResourcePhoneNumberCollection */ - payment_links_resource_phone_number_collection: { - /** @description If `true`, a phone number will be collected during checkout. */ - enabled: boolean; - }; - /** PaymentLinksResourceShippingAddressCollection */ - payment_links_resource_shipping_address_collection: { - /** @description An array of two-letter ISO country codes representing which countries Checkout should provide as options for shipping locations. Unsupported country codes: `AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SD, SY, UM, VI`. */ - allowed_countries: ("AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CV" | "CW" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MK" | "ML" | "MM" | "MN" | "MO" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SZ" | "TA" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "ZZ")[]; - }; - /** PaymentLinksResourceShippingOption */ - payment_links_resource_shipping_option: { - /** @description A non-negative integer in cents representing how much to charge. */ - shipping_amount: number; - /** @description The ID of the Shipping Rate to use for this shipping option. */ - shipping_rate: string | components["schemas"]["shipping_rate"]; - }; - /** PaymentLinksResourceSubscriptionData */ - payment_links_resource_subscription_data: { - /** @description The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription. */ - description?: string | null; - /** @description Integer representing the number of trial period days before the customer is charged for the first time. */ - trial_period_days?: number | null; - }; - /** PaymentLinksResourceTaxIdCollection */ - payment_links_resource_tax_id_collection: { - /** @description Indicates whether tax ID collection is enabled for the session. */ - enabled: boolean; - }; - /** PaymentLinksResourceTransferData */ - payment_links_resource_transfer_data: { - /** @description The amount in cents (or local equivalent) that will be transferred to the destination account. By default, the entire amount is transferred to the destination. */ - amount?: number | null; - /** @description The connected account receiving the transfer. */ - destination: string | components["schemas"]["account"]; - }; - /** - * PaymentMethod - * @description PaymentMethod objects represent your customer's payment instruments. - * You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to - * Customer objects to store instrument details for future payments. - * - * Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios). - */ - payment_method: { - acss_debit?: components["schemas"]["payment_method_acss_debit"]; - affirm?: components["schemas"]["payment_method_affirm"]; - afterpay_clearpay?: components["schemas"]["payment_method_afterpay_clearpay"]; - alipay?: components["schemas"]["payment_flows_private_payment_methods_alipay"]; - au_becs_debit?: components["schemas"]["payment_method_au_becs_debit"]; - bacs_debit?: components["schemas"]["payment_method_bacs_debit"]; - bancontact?: components["schemas"]["payment_method_bancontact"]; - billing_details: components["schemas"]["billing_details"]; - blik?: components["schemas"]["payment_method_blik"]; - boleto?: components["schemas"]["payment_method_boleto"]; - card?: components["schemas"]["payment_method_card"]; - card_present?: components["schemas"]["payment_method_card_present"]; - cashapp?: components["schemas"]["payment_method_cashapp"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer. */ - customer?: (string | components["schemas"]["customer"]) | null; - customer_balance?: components["schemas"]["payment_method_customer_balance"]; - eps?: components["schemas"]["payment_method_eps"]; - fpx?: components["schemas"]["payment_method_fpx"]; - giropay?: components["schemas"]["payment_method_giropay"]; - grabpay?: components["schemas"]["payment_method_grabpay"]; - /** @description Unique identifier for the object. */ - id: string; - ideal?: components["schemas"]["payment_method_ideal"]; - interac_present?: components["schemas"]["payment_method_interac_present"]; - klarna?: components["schemas"]["payment_method_klarna"]; - konbini?: components["schemas"]["payment_method_konbini"]; - link?: components["schemas"]["payment_method_link"]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "payment_method"; - oxxo?: components["schemas"]["payment_method_oxxo"]; - p24?: components["schemas"]["payment_method_p24"]; - paynow?: components["schemas"]["payment_method_paynow"]; - paypal?: components["schemas"]["payment_method_paypal"]; - pix?: components["schemas"]["payment_method_pix"]; - promptpay?: components["schemas"]["payment_method_promptpay"]; - radar_options?: components["schemas"]["radar_radar_options"]; - sepa_debit?: components["schemas"]["payment_method_sepa_debit"]; - sofort?: components["schemas"]["payment_method_sofort"]; - /** - * @description The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type. - * @enum {string} - */ - type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "card_present" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "interac_present" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; - us_bank_account?: components["schemas"]["payment_method_us_bank_account"]; - wechat_pay?: components["schemas"]["payment_method_wechat_pay"]; - zip?: components["schemas"]["payment_method_zip"]; - }; - /** payment_method_acss_debit */ - payment_method_acss_debit: { - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Institution number of the bank account. */ - institution_number?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - /** @description Transit number of the bank account. */ - transit_number?: string | null; - }; - /** payment_method_affirm */ - payment_method_affirm: Record; - /** payment_method_afterpay_clearpay */ - payment_method_afterpay_clearpay: Record; - /** payment_method_au_becs_debit */ - payment_method_au_becs_debit: { - /** @description Six-digit number identifying bank and branch associated with this bank account. */ - bsb_number?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - }; - /** payment_method_bacs_debit */ - payment_method_bacs_debit: { - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - /** @description Sort code of the bank account. (e.g., `10-20-30`) */ - sort_code?: string | null; - }; - /** payment_method_bancontact */ - payment_method_bancontact: Record; - /** payment_method_blik */ - payment_method_blik: Record; - /** payment_method_boleto */ - payment_method_boleto: { - /** @description Uniquely identifies the customer tax id (CNPJ or CPF) */ - tax_id: string; - }; - /** payment_method_card */ - payment_method_card: { - /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ - brand: string; - /** @description Checks on Card address and CVC if provided. */ - checks?: components["schemas"]["payment_method_card_checks"] | null; - /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ - country?: string | null; - /** @description Two-digit number representing the card's expiration month. */ - exp_month: number; - /** @description Four-digit number representing the card's expiration year. */ - exp_year: number; - /** - * @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. - * - * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* - */ - fingerprint?: string | null; - /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ - funding: string; - /** @description Details of the original PaymentMethod that created this object. */ - generated_from?: components["schemas"]["payment_method_card_generated_card"] | null; - /** @description The last four digits of the card. */ - last4: string; - /** @description Contains information about card networks that can be used to process the payment. */ - networks?: components["schemas"]["networks"] | null; - /** @description Contains details on how this Card may be used for 3D Secure authentication. */ - three_d_secure_usage?: components["schemas"]["three_d_secure_usage"] | null; - /** @description If this Card is part of a card wallet, this contains the details of the card wallet. */ - wallet?: components["schemas"]["payment_method_card_wallet"] | null; - }; - /** payment_method_card_checks */ - payment_method_card_checks: { - /** @description If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ - address_line1_check?: string | null; - /** @description If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ - address_postal_code_check?: string | null; - /** @description If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ - cvc_check?: string | null; - }; - /** payment_method_card_generated_card */ - payment_method_card_generated_card: { - /** @description The charge that created this object. */ - charge?: string | null; - /** @description Transaction-specific details of the payment method used in the payment. */ - payment_method_details?: components["schemas"]["card_generated_from_payment_method_details"] | null; - /** @description The ID of the SetupAttempt that generated this PaymentMethod, if any. */ - setup_attempt?: (string | components["schemas"]["setup_attempt"]) | null; - }; - /** payment_method_card_present */ - payment_method_card_present: { - /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ - brand?: string | null; - /** @description The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. */ - cardholder_name?: string | null; - /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ - country?: string | null; - /** @description Two-digit number representing the card's expiration month. */ - exp_month: number; - /** @description Four-digit number representing the card's expiration year. */ - exp_year: number; - /** - * @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. - * - * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* - */ - fingerprint?: string | null; - /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ - funding?: string | null; - /** @description The last four digits of the card. */ - last4?: string | null; - /** @description Contains information about card networks that can be used to process the payment. */ - networks?: components["schemas"]["payment_method_card_present_networks"] | null; - /** - * @description How card details were read in this transaction. - * @enum {string|null} - */ - read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2" | null; - }; - /** payment_method_card_present_networks */ - payment_method_card_present_networks: { - /** @description All available networks for the card. */ - available: string[]; - /** @description The preferred network for the card. */ - preferred?: string | null; - }; - /** payment_method_card_wallet */ - payment_method_card_wallet: { - amex_express_checkout?: components["schemas"]["payment_method_card_wallet_amex_express_checkout"]; - apple_pay?: components["schemas"]["payment_method_card_wallet_apple_pay"]; - /** @description (For tokenized numbers only.) The last four digits of the device account number. */ - dynamic_last4?: string | null; - google_pay?: components["schemas"]["payment_method_card_wallet_google_pay"]; - link?: components["schemas"]["payment_method_card_wallet_link"]; - masterpass?: components["schemas"]["payment_method_card_wallet_masterpass"]; - samsung_pay?: components["schemas"]["payment_method_card_wallet_samsung_pay"]; - /** - * @description The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. - * @enum {string} - */ - type: "amex_express_checkout" | "apple_pay" | "google_pay" | "link" | "masterpass" | "samsung_pay" | "visa_checkout"; - visa_checkout?: components["schemas"]["payment_method_card_wallet_visa_checkout"]; - }; - /** payment_method_card_wallet_amex_express_checkout */ - payment_method_card_wallet_amex_express_checkout: Record; - /** payment_method_card_wallet_apple_pay */ - payment_method_card_wallet_apple_pay: Record; - /** payment_method_card_wallet_google_pay */ - payment_method_card_wallet_google_pay: Record; - /** payment_method_card_wallet_link */ - payment_method_card_wallet_link: Record; - /** payment_method_card_wallet_masterpass */ - payment_method_card_wallet_masterpass: { - /** @description Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - billing_address?: components["schemas"]["address"] | null; - /** @description Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - email?: string | null; - /** @description Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - name?: string | null; - /** @description Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - shipping_address?: components["schemas"]["address"] | null; - }; - /** payment_method_card_wallet_samsung_pay */ - payment_method_card_wallet_samsung_pay: Record; - /** payment_method_card_wallet_visa_checkout */ - payment_method_card_wallet_visa_checkout: { - /** @description Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - billing_address?: components["schemas"]["address"] | null; - /** @description Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - email?: string | null; - /** @description Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - name?: string | null; - /** @description Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - shipping_address?: components["schemas"]["address"] | null; - }; - /** payment_method_cashapp */ - payment_method_cashapp: { - /** @description A unique and immutable identifier assigned by Cash App to every buyer. */ - buyer_id?: string | null; - /** @description A public identifier for buyers using Cash App. */ - cashtag?: string | null; - }; - /** PaymentMethodConfigBizPaymentMethodConfigurationDetails */ - payment_method_config_biz_payment_method_configuration_details: { - /** @description ID of the payment method configuration used. */ - id: string; - /** @description ID of the parent payment method configuration used. */ - parent?: string | null; - }; - /** PaymentMethodConfigResourceDisplayPreference */ - payment_method_config_resource_display_preference: { - /** @description For child configurations, whether or not the account's preference will be observed. If `false`, the parent configuration's preference is used. */ - overridable?: boolean | null; - /** - * @description The account's display preference. - * @enum {string} - */ - preference: "none" | "off" | "on"; - /** - * @description The effective display preference value. - * @enum {string} - */ - value: "off" | "on"; - }; - /** PaymentMethodConfigResourcePaymentMethodProperties */ - payment_method_config_resource_payment_method_properties: { - /** @description Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. */ - available: boolean; - display_preference: components["schemas"]["payment_method_config_resource_display_preference"]; - }; - /** - * PaymentMethodConfigResourcePaymentMethodConfiguration - * @description An object detailing payment method configurations. - */ - payment_method_configuration: { - acss_debit?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - /** @description Whether the configuration can be used for new payments. */ - active: boolean; - affirm?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - afterpay_clearpay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - alipay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - apple_pay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - /** @description The Connect application associated with this configuration. */ - application?: string | null; - au_becs_debit?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - bacs_debit?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - bancontact?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - blik?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - boleto?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - card?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - cartes_bancaires?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - cashapp?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - eps?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - fpx?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - giropay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - google_pay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - grabpay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - /** @description Unique identifier for the object. */ - id: string; - id_bank_transfer?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - ideal?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - /** @description The default configuration is used whenever no payment method configuration is specified. */ - is_default: boolean; - jcb?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - klarna?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - konbini?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - link?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - multibanco?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - /** @description Configuration name. */ - name: string; - netbanking?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "payment_method_configuration"; - oxxo?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - p24?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - /** @description The configuration's parent configuration. */ - parent?: string | null; - pay_by_bank?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - paynow?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - paypal?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - promptpay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - sepa_debit?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - sofort?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - upi?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - us_bank_account?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - wechat_pay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; - }; - /** payment_method_customer_balance */ - payment_method_customer_balance: Record; - /** payment_method_details */ - payment_method_details: { - ach_credit_transfer?: components["schemas"]["payment_method_details_ach_credit_transfer"]; - ach_debit?: components["schemas"]["payment_method_details_ach_debit"]; - acss_debit?: components["schemas"]["payment_method_details_acss_debit"]; - affirm?: components["schemas"]["payment_method_details_affirm"]; - afterpay_clearpay?: components["schemas"]["payment_method_details_afterpay_clearpay"]; - alipay?: components["schemas"]["payment_flows_private_payment_methods_alipay_details"]; - au_becs_debit?: components["schemas"]["payment_method_details_au_becs_debit"]; - bacs_debit?: components["schemas"]["payment_method_details_bacs_debit"]; - bancontact?: components["schemas"]["payment_method_details_bancontact"]; - blik?: components["schemas"]["payment_method_details_blik"]; - boleto?: components["schemas"]["payment_method_details_boleto"]; - card?: components["schemas"]["payment_method_details_card"]; - card_present?: components["schemas"]["payment_method_details_card_present"]; - cashapp?: components["schemas"]["payment_method_details_cashapp"]; - customer_balance?: components["schemas"]["payment_method_details_customer_balance"]; - eps?: components["schemas"]["payment_method_details_eps"]; - fpx?: components["schemas"]["payment_method_details_fpx"]; - giropay?: components["schemas"]["payment_method_details_giropay"]; - grabpay?: components["schemas"]["payment_method_details_grabpay"]; - ideal?: components["schemas"]["payment_method_details_ideal"]; - interac_present?: components["schemas"]["payment_method_details_interac_present"]; - klarna?: components["schemas"]["payment_method_details_klarna"]; - konbini?: components["schemas"]["payment_method_details_konbini"]; - link?: components["schemas"]["payment_method_details_link"]; - multibanco?: components["schemas"]["payment_method_details_multibanco"]; - oxxo?: components["schemas"]["payment_method_details_oxxo"]; - p24?: components["schemas"]["payment_method_details_p24"]; - paynow?: components["schemas"]["payment_method_details_paynow"]; - paypal?: components["schemas"]["payment_method_details_paypal"]; - pix?: components["schemas"]["payment_method_details_pix"]; - promptpay?: components["schemas"]["payment_method_details_promptpay"]; - sepa_debit?: components["schemas"]["payment_method_details_sepa_debit"]; - sofort?: components["schemas"]["payment_method_details_sofort"]; - stripe_account?: components["schemas"]["payment_method_details_stripe_account"]; - /** - * @description The type of transaction-specific details of the payment method used in the payment, one of `ach_credit_transfer`, `ach_debit`, `acss_debit`, `alipay`, `au_becs_debit`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `klarna`, `multibanco`, `p24`, `sepa_debit`, `sofort`, `stripe_account`, or `wechat`. - * An additional hash is included on `payment_method_details` with a name matching this value. - * It contains information specific to the payment method. - */ - type: string; - us_bank_account?: components["schemas"]["payment_method_details_us_bank_account"]; - wechat?: components["schemas"]["payment_method_details_wechat"]; - wechat_pay?: components["schemas"]["payment_method_details_wechat_pay"]; - zip?: components["schemas"]["payment_method_details_zip"]; - }; - /** payment_method_details_ach_credit_transfer */ - payment_method_details_ach_credit_transfer: { - /** @description Account number to transfer funds to. */ - account_number?: string | null; - /** @description Name of the bank associated with the routing number. */ - bank_name?: string | null; - /** @description Routing transit number for the bank account to transfer funds to. */ - routing_number?: string | null; - /** @description SWIFT code of the bank associated with the routing number. */ - swift_code?: string | null; - }; - /** payment_method_details_ach_debit */ - payment_method_details_ach_debit: { - /** - * @description Type of entity that holds the account. This can be either `individual` or `company`. - * @enum {string|null} - */ - account_holder_type?: "company" | "individual" | null; - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Two-letter ISO code representing the country the bank account is located in. */ - country?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - /** @description Routing transit number of the bank account. */ - routing_number?: string | null; - }; - /** payment_method_details_acss_debit */ - payment_method_details_acss_debit: { - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Institution number of the bank account */ - institution_number?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - /** @description ID of the mandate used to make this payment. */ - mandate?: string; - /** @description Transit number of the bank account. */ - transit_number?: string | null; - }; - /** payment_method_details_affirm */ - payment_method_details_affirm: Record; - /** payment_method_details_afterpay_clearpay */ - payment_method_details_afterpay_clearpay: { - /** @description The Afterpay order ID associated with this payment intent. */ - order_id?: string | null; - /** @description Order identifier shown to the merchant in Afterpay’s online portal. */ - reference?: string | null; - }; - /** payment_method_details_au_becs_debit */ - payment_method_details_au_becs_debit: { - /** @description Bank-State-Branch number of the bank account. */ - bsb_number?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - /** @description ID of the mandate used to make this payment. */ - mandate?: string; - }; - /** payment_method_details_bacs_debit */ - payment_method_details_bacs_debit: { - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - /** @description ID of the mandate used to make this payment. */ - mandate?: string | null; - /** @description Sort code of the bank account. (e.g., `10-20-30`) */ - sort_code?: string | null; - }; - /** payment_method_details_bancontact */ - payment_method_details_bancontact: { - /** @description Bank code of bank associated with the bank account. */ - bank_code?: string | null; - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Bank Identifier Code of the bank associated with the bank account. */ - bic?: string | null; - /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ - generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; - /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ - generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; - /** @description Last four characters of the IBAN. */ - iban_last4?: string | null; - /** - * @description Preferred language of the Bancontact authorization page that the customer is redirected to. - * Can be one of `en`, `de`, `fr`, or `nl` - * @enum {string|null} - */ - preferred_language?: "de" | "en" | "fr" | "nl" | null; - /** - * @description Owner's verified full name. Values are verified or provided by Bancontact directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - */ - verified_name?: string | null; - }; - /** payment_method_details_blik */ - payment_method_details_blik: Record; - /** payment_method_details_boleto */ - payment_method_details_boleto: { - /** @description The tax ID of the customer (CPF for individuals consumers or CNPJ for businesses consumers) */ - tax_id: string; - }; - /** payment_method_details_card */ - payment_method_details_card: { - /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ - brand?: string | null; - /** @description Check results by Card networks on Card address and CVC at time of payment. */ - checks?: components["schemas"]["payment_method_details_card_checks"] | null; - /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ - country?: string | null; - /** @description Two-digit number representing the card's expiration month. */ - exp_month: number; - /** @description Four-digit number representing the card's expiration year. */ - exp_year: number; - /** - * @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. - * - * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* - */ - fingerprint?: string | null; - /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ - funding?: string | null; - /** - * @description Installment details for this payment (Mexico only). - * - * For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). - */ - installments?: components["schemas"]["payment_method_details_card_installments"] | null; - /** @description The last four digits of the card. */ - last4?: string | null; - /** @description ID of the mandate used to make this payment or created by it. */ - mandate?: string | null; - /** @description Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ - network?: string | null; - /** @description If this card has network token credentials, this contains the details of the network token credentials. */ - network_token?: components["schemas"]["payment_method_details_card_network_token"] | null; - /** @description Populated if this transaction used 3D Secure authentication. */ - three_d_secure?: components["schemas"]["three_d_secure_details_charge"] | null; - /** @description If this Card is part of a card wallet, this contains the details of the card wallet. */ - wallet?: components["schemas"]["payment_method_details_card_wallet"] | null; - }; - /** payment_method_details_card_checks */ - payment_method_details_card_checks: { - /** @description If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ - address_line1_check?: string | null; - /** @description If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ - address_postal_code_check?: string | null; - /** @description If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ - cvc_check?: string | null; - }; - /** payment_method_details_card_installments */ - payment_method_details_card_installments: { - /** @description Installment plan selected for the payment. */ - plan?: components["schemas"]["payment_method_details_card_installments_plan"] | null; - }; - /** payment_method_details_card_installments_plan */ - payment_method_details_card_installments_plan: { - /** @description For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card. */ - count?: number | null; - /** - * @description For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card. - * One of `month`. - * @enum {string|null} - */ - interval?: "month" | null; - /** - * @description Type of installment plan, one of `fixed_count`. - * @enum {string} - */ - type: "fixed_count"; - }; - /** payment_method_details_card_network_token */ - payment_method_details_card_network_token: { - /** @description Indicates if Stripe used a network token, either user provided or Stripe managed when processing the transaction. */ - used: boolean; - }; - /** payment_method_details_card_present */ - payment_method_details_card_present: { - /** @description The authorized amount */ - amount_authorized?: number | null; - /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ - brand?: string | null; - /** - * Format: unix-time - * @description When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured. - */ - capture_before?: number; - /** @description The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. */ - cardholder_name?: string | null; - /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ - country?: string | null; - /** @description Authorization response cryptogram. */ - emv_auth_data?: string | null; - /** @description Two-digit number representing the card's expiration month. */ - exp_month: number; - /** @description Four-digit number representing the card's expiration year. */ - exp_year: number; - /** - * @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. - * - * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* - */ - fingerprint?: string | null; - /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ - funding?: string | null; - /** @description ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. */ - generated_card?: string | null; - /** @description Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support). */ - incremental_authorization_supported: boolean; - /** @description The last four digits of the card. */ - last4?: string | null; - /** @description Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ - network?: string | null; - /** @description Defines whether the authorized amount can be over-captured or not */ - overcapture_supported: boolean; - /** - * @description How card details were read in this transaction. - * @enum {string|null} - */ - read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2" | null; - /** @description A collection of fields required to be displayed on receipts. Only required for EMV transactions. */ - receipt?: components["schemas"]["payment_method_details_card_present_receipt"] | null; - }; - /** payment_method_details_card_present_receipt */ - payment_method_details_card_present_receipt: { - /** - * @description The type of account being debited or credited - * @enum {string} - */ - account_type?: "checking" | "credit" | "prepaid" | "unknown"; - /** @description EMV tag 9F26, cryptogram generated by the integrated circuit chip. */ - application_cryptogram?: string | null; - /** @description Mnenomic of the Application Identifier. */ - application_preferred_name?: string | null; - /** @description Identifier for this transaction. */ - authorization_code?: string | null; - /** @description EMV tag 8A. A code returned by the card issuer. */ - authorization_response_code?: string | null; - /** @description How the cardholder verified ownership of the card. */ - cardholder_verification_method?: string | null; - /** @description EMV tag 84. Similar to the application identifier stored on the integrated circuit chip. */ - dedicated_file_name?: string | null; - /** @description The outcome of a series of EMV functions performed by the card reader. */ - terminal_verification_results?: string | null; - /** @description An indication of various EMV functions performed during the transaction. */ - transaction_status_information?: string | null; - }; - /** payment_method_details_card_wallet */ - payment_method_details_card_wallet: { - amex_express_checkout?: components["schemas"]["payment_method_details_card_wallet_amex_express_checkout"]; - apple_pay?: components["schemas"]["payment_method_details_card_wallet_apple_pay"]; - /** @description (For tokenized numbers only.) The last four digits of the device account number. */ - dynamic_last4?: string | null; - google_pay?: components["schemas"]["payment_method_details_card_wallet_google_pay"]; - link?: components["schemas"]["payment_method_details_card_wallet_link"]; - masterpass?: components["schemas"]["payment_method_details_card_wallet_masterpass"]; - samsung_pay?: components["schemas"]["payment_method_details_card_wallet_samsung_pay"]; - /** - * @description The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. - * @enum {string} - */ - type: "amex_express_checkout" | "apple_pay" | "google_pay" | "link" | "masterpass" | "samsung_pay" | "visa_checkout"; - visa_checkout?: components["schemas"]["payment_method_details_card_wallet_visa_checkout"]; - }; - /** payment_method_details_card_wallet_amex_express_checkout */ - payment_method_details_card_wallet_amex_express_checkout: Record; - /** payment_method_details_card_wallet_apple_pay */ - payment_method_details_card_wallet_apple_pay: Record; - /** payment_method_details_card_wallet_google_pay */ - payment_method_details_card_wallet_google_pay: Record; - /** payment_method_details_card_wallet_link */ - payment_method_details_card_wallet_link: Record; - /** payment_method_details_card_wallet_masterpass */ - payment_method_details_card_wallet_masterpass: { - /** @description Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - billing_address?: components["schemas"]["address"] | null; - /** @description Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - email?: string | null; - /** @description Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - name?: string | null; - /** @description Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - shipping_address?: components["schemas"]["address"] | null; - }; - /** payment_method_details_card_wallet_samsung_pay */ - payment_method_details_card_wallet_samsung_pay: Record; - /** payment_method_details_card_wallet_visa_checkout */ - payment_method_details_card_wallet_visa_checkout: { - /** @description Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - billing_address?: components["schemas"]["address"] | null; - /** @description Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - email?: string | null; - /** @description Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - name?: string | null; - /** @description Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - shipping_address?: components["schemas"]["address"] | null; - }; - /** payment_method_details_cashapp */ - payment_method_details_cashapp: { - /** @description A unique and immutable identifier assigned by Cash App to every buyer. */ - buyer_id?: string | null; - /** @description A public identifier for buyers using Cash App. */ - cashtag?: string | null; - }; - /** payment_method_details_customer_balance */ - payment_method_details_customer_balance: Record; - /** payment_method_details_eps */ - payment_method_details_eps: { - /** - * @description The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`. - * @enum {string|null} - */ - bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau" | null; - /** - * @description Owner's verified full name. Values are verified or provided by EPS directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - * EPS rarely provides this information so the attribute is usually empty. - */ - verified_name?: string | null; - }; - /** payment_method_details_fpx */ - payment_method_details_fpx: { - /** - * @description The customer's bank. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`. - * @enum {string} - */ - bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; - /** @description Unique transaction id generated by FPX for every request from the merchant */ - transaction_id?: string | null; - }; - /** payment_method_details_giropay */ - payment_method_details_giropay: { - /** @description Bank code of bank associated with the bank account. */ - bank_code?: string | null; - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Bank Identifier Code of the bank associated with the bank account. */ - bic?: string | null; - /** - * @description Owner's verified full name. Values are verified or provided by Giropay directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - * Giropay rarely provides this information so the attribute is usually empty. - */ - verified_name?: string | null; - }; - /** payment_method_details_grabpay */ - payment_method_details_grabpay: { - /** @description Unique transaction id generated by GrabPay */ - transaction_id?: string | null; - }; - /** payment_method_details_ideal */ - payment_method_details_ideal: { - /** - * @description The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. - * @enum {string|null} - */ - bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe" | null; - /** - * @description The Bank Identifier Code of the customer's bank. - * @enum {string|null} - */ - bic?: "ABNANL2A" | "ASNBNL21" | "BITSNL2A" | "BUNQNL2A" | "FVLBNL22" | "HANDNL2A" | "INGBNL2A" | "KNABNL2H" | "MOYONL21" | "NTSBDEB1" | "RABONL2U" | "RBRBNL21" | "REVOIE23" | "REVOLT21" | "SNSBNL2A" | "TRIONL2U" | null; - /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ - generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; - /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ - generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; - /** @description Last four characters of the IBAN. */ - iban_last4?: string | null; - /** - * @description Owner's verified full name. Values are verified or provided by iDEAL directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - */ - verified_name?: string | null; - }; - /** payment_method_details_interac_present */ - payment_method_details_interac_present: { - /** @description Card brand. Can be `interac`, `mastercard` or `visa`. */ - brand?: string | null; - /** @description The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. */ - cardholder_name?: string | null; - /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ - country?: string | null; - /** @description Authorization response cryptogram. */ - emv_auth_data?: string | null; - /** @description Two-digit number representing the card's expiration month. */ - exp_month: number; - /** @description Four-digit number representing the card's expiration year. */ - exp_year: number; - /** - * @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. - * - * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* - */ - fingerprint?: string | null; - /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ - funding?: string | null; - /** @description ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. */ - generated_card?: string | null; - /** @description The last four digits of the card. */ - last4?: string | null; - /** @description Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ - network?: string | null; - /** @description EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */ - preferred_locales?: string[] | null; - /** - * @description How card details were read in this transaction. - * @enum {string|null} - */ - read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2" | null; - /** @description A collection of fields required to be displayed on receipts. Only required for EMV transactions. */ - receipt?: components["schemas"]["payment_method_details_interac_present_receipt"] | null; - }; - /** payment_method_details_interac_present_receipt */ - payment_method_details_interac_present_receipt: { - /** - * @description The type of account being debited or credited - * @enum {string} - */ - account_type?: "checking" | "savings" | "unknown"; - /** @description EMV tag 9F26, cryptogram generated by the integrated circuit chip. */ - application_cryptogram?: string | null; - /** @description Mnenomic of the Application Identifier. */ - application_preferred_name?: string | null; - /** @description Identifier for this transaction. */ - authorization_code?: string | null; - /** @description EMV tag 8A. A code returned by the card issuer. */ - authorization_response_code?: string | null; - /** @description How the cardholder verified ownership of the card. */ - cardholder_verification_method?: string | null; - /** @description EMV tag 84. Similar to the application identifier stored on the integrated circuit chip. */ - dedicated_file_name?: string | null; - /** @description The outcome of a series of EMV functions performed by the card reader. */ - terminal_verification_results?: string | null; - /** @description An indication of various EMV functions performed during the transaction. */ - transaction_status_information?: string | null; - }; - /** payment_method_details_klarna */ - payment_method_details_klarna: { - /** - * @description The Klarna payment method used for this transaction. - * Can be one of `pay_later`, `pay_now`, `pay_with_financing`, or `pay_in_installments` - */ - payment_method_category?: string | null; - /** - * @description Preferred language of the Klarna authorization page that the customer is redirected to. - * Can be one of `de-AT`, `en-AT`, `nl-BE`, `fr-BE`, `en-BE`, `de-DE`, `en-DE`, `da-DK`, `en-DK`, `es-ES`, `en-ES`, `fi-FI`, `sv-FI`, `en-FI`, `en-GB`, `en-IE`, `it-IT`, `en-IT`, `nl-NL`, `en-NL`, `nb-NO`, `en-NO`, `sv-SE`, `en-SE`, `en-US`, `es-US`, `fr-FR`, `en-FR`, `cs-CZ`, `en-CZ`, `el-GR`, `en-GR`, `en-AU`, `en-NZ`, `en-CA`, `fr-CA`, `pl-PL`, `en-PL`, `pt-PT`, `en-PT`, `de-CH`, `fr-CH`, `it-CH`, or `en-CH` - */ - preferred_locale?: string | null; - }; - /** payment_method_details_konbini */ - payment_method_details_konbini: { - /** @description If the payment succeeded, this contains the details of the convenience store where the payment was completed. */ - store?: components["schemas"]["payment_method_details_konbini_store"] | null; - }; - /** payment_method_details_konbini_store */ - payment_method_details_konbini_store: { - /** - * @description The name of the convenience store chain where the payment was completed. - * @enum {string|null} - */ - chain?: "familymart" | "lawson" | "ministop" | "seicomart" | null; - }; - /** payment_method_details_link */ - payment_method_details_link: { - /** - * @description Two-letter ISO code representing the funding source country beneath the Link payment. - * You could use this attribute to get a sense of international fees. - */ - country?: string | null; - }; - /** payment_method_details_multibanco */ - payment_method_details_multibanco: { - /** @description Entity number associated with this Multibanco payment. */ - entity?: string | null; - /** @description Reference number associated with this Multibanco payment. */ - reference?: string | null; - }; - /** payment_method_details_oxxo */ - payment_method_details_oxxo: { - /** @description OXXO reference number */ - number?: string | null; - }; - /** payment_method_details_p24 */ - payment_method_details_p24: { - /** - * @description The customer's bank. Can be one of `ing`, `citi_handlowy`, `tmobile_usbugi_bankowe`, `plus_bank`, `etransfer_pocztowy24`, `banki_spbdzielcze`, `bank_nowy_bfg_sa`, `getin_bank`, `blik`, `noble_pay`, `ideabank`, `envelobank`, `santander_przelew24`, `nest_przelew`, `mbank_mtransfer`, `inteligo`, `pbac_z_ipko`, `bnp_paribas`, `credit_agricole`, `toyota_bank`, `bank_pekao_sa`, `volkswagen_bank`, `bank_millennium`, `alior_bank`, or `boz`. - * @enum {string|null} - */ - bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank" | null; - /** @description Unique reference for this Przelewy24 payment. */ - reference?: string | null; - /** - * @description Owner's verified full name. Values are verified or provided by Przelewy24 directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - * Przelewy24 rarely provides this information so the attribute is usually empty. - */ - verified_name?: string | null; - }; - /** payment_method_details_paynow */ - payment_method_details_paynow: { - /** @description Reference number associated with this PayNow payment */ - reference?: string | null; - }; - /** payment_method_details_paypal */ - payment_method_details_paypal: { - /** - * @description Owner's email. Values are provided by PayPal directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - */ - payer_email?: string | null; - /** @description PayPal account PayerID. This identifier uniquely identifies the PayPal customer. */ - payer_id?: string | null; - /** - * @description Owner's full name. Values provided by PayPal directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - */ - payer_name?: string | null; - /** @description The level of protection offered as defined by PayPal Seller Protection for Merchants, for this transaction. */ - seller_protection?: components["schemas"]["paypal_seller_protection"] | null; - /** @description A unique ID generated by PayPal for this transaction. */ - transaction_id?: string | null; - }; - /** payment_method_details_pix */ - payment_method_details_pix: { - /** @description Unique transaction id generated by BCB */ - bank_transaction_id?: string | null; - }; - /** payment_method_details_promptpay */ - payment_method_details_promptpay: { - /** @description Bill reference generated by PromptPay */ - reference?: string | null; - }; - /** payment_method_details_sepa_debit */ - payment_method_details_sepa_debit: { - /** @description Bank code of bank associated with the bank account. */ - bank_code?: string | null; - /** @description Branch code of bank associated with the bank account. */ - branch_code?: string | null; - /** @description Two-letter ISO code representing the country the bank account is located in. */ - country?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Last four characters of the IBAN. */ - last4?: string | null; - /** @description ID of the mandate used to make this payment. */ - mandate?: string | null; - }; - /** payment_method_details_sofort */ - payment_method_details_sofort: { - /** @description Bank code of bank associated with the bank account. */ - bank_code?: string | null; - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Bank Identifier Code of the bank associated with the bank account. */ - bic?: string | null; - /** @description Two-letter ISO code representing the country the bank account is located in. */ - country?: string | null; - /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ - generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; - /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ - generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; - /** @description Last four characters of the IBAN. */ - iban_last4?: string | null; - /** - * @description Preferred language of the SOFORT authorization page that the customer is redirected to. - * Can be one of `de`, `en`, `es`, `fr`, `it`, `nl`, or `pl` - * @enum {string|null} - */ - preferred_language?: "de" | "en" | "es" | "fr" | "it" | "nl" | "pl" | null; - /** - * @description Owner's verified full name. Values are verified or provided by SOFORT directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - */ - verified_name?: string | null; - }; - /** payment_method_details_stripe_account */ - payment_method_details_stripe_account: Record; - /** payment_method_details_us_bank_account */ - payment_method_details_us_bank_account: { - /** - * @description Account holder type: individual or company. - * @enum {string|null} - */ - account_holder_type?: "company" | "individual" | null; - /** - * @description Account type: checkings or savings. Defaults to checking if omitted. - * @enum {string|null} - */ - account_type?: "checking" | "savings" | null; - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - /** @description Routing number of the bank account. */ - routing_number?: string | null; - }; - /** payment_method_details_wechat */ - payment_method_details_wechat: Record; - /** payment_method_details_wechat_pay */ - payment_method_details_wechat_pay: { - /** @description Uniquely identifies this particular WeChat Pay account. You can use this attribute to check whether two WeChat accounts are the same. */ - fingerprint?: string | null; - /** @description Transaction ID of this particular WeChat Pay transaction. */ - transaction_id?: string | null; - }; - /** payment_method_details_zip */ - payment_method_details_zip: Record; - /** - * PaymentMethodDomainResourcePaymentMethodDomain - * @description A payment method domain represents a web domain that you have registered with Stripe. - * Stripe Elements use registered payment method domains to control where certain payment methods are shown. - * - * Related guides: [Payment method domains](https://stripe.com/docs/payments/payment-methods/pmd-registration). - */ - payment_method_domain: { - apple_pay: components["schemas"]["payment_method_domain_resource_payment_method_status"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The domain name that this payment method domain object represents. */ - domain_name: string; - /** @description Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements. */ - enabled: boolean; - google_pay: components["schemas"]["payment_method_domain_resource_payment_method_status"]; - /** @description Unique identifier for the object. */ - id: string; - link: components["schemas"]["payment_method_domain_resource_payment_method_status"]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "payment_method_domain"; - paypal: components["schemas"]["payment_method_domain_resource_payment_method_status"]; - }; - /** - * PaymentMethodDomainResourcePaymentMethodStatus - * @description Indicates the status of a specific payment method on a payment method domain. - */ - payment_method_domain_resource_payment_method_status: { - /** - * @description The status of the payment method on the domain. - * @enum {string} - */ - status: "active" | "inactive"; - status_details?: components["schemas"]["payment_method_domain_resource_payment_method_status_details"]; - }; - /** - * PaymentMethodDomainResourcePaymentMethodStatusDetails - * @description Contains additional details about the status of a payment method for a specific payment method domain. - */ - payment_method_domain_resource_payment_method_status_details: { - /** @description The error message associated with the status of the payment method on the domain. */ - error_message: string; - }; - /** payment_method_eps */ - payment_method_eps: { - /** - * @description The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`. - * @enum {string|null} - */ - bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau" | null; - }; - /** payment_method_fpx */ - payment_method_fpx: { - /** - * @description The customer's bank, if provided. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`. - * @enum {string} - */ - bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; - }; - /** payment_method_giropay */ - payment_method_giropay: Record; - /** payment_method_grabpay */ - payment_method_grabpay: Record; - /** payment_method_ideal */ - payment_method_ideal: { - /** - * @description The customer's bank, if provided. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. - * @enum {string|null} - */ - bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe" | null; - /** - * @description The Bank Identifier Code of the customer's bank, if the bank was provided. - * @enum {string|null} - */ - bic?: "ABNANL2A" | "ASNBNL21" | "BITSNL2A" | "BUNQNL2A" | "FVLBNL22" | "HANDNL2A" | "INGBNL2A" | "KNABNL2H" | "MOYONL21" | "NTSBDEB1" | "RABONL2U" | "RBRBNL21" | "REVOIE23" | "REVOLT21" | "SNSBNL2A" | "TRIONL2U" | null; - }; - /** payment_method_interac_present */ - payment_method_interac_present: { - /** @description Card brand. Can be `interac`, `mastercard` or `visa`. */ - brand?: string | null; - /** @description The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. */ - cardholder_name?: string | null; - /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ - country?: string | null; - /** @description Two-digit number representing the card's expiration month. */ - exp_month: number; - /** @description Four-digit number representing the card's expiration year. */ - exp_year: number; - /** - * @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. - * - * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* - */ - fingerprint?: string | null; - /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ - funding?: string | null; - /** @description The last four digits of the card. */ - last4?: string | null; - /** @description Contains information about card networks that can be used to process the payment. */ - networks?: components["schemas"]["payment_method_card_present_networks"] | null; - /** @description EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */ - preferred_locales?: string[] | null; - /** - * @description How card details were read in this transaction. - * @enum {string|null} - */ - read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2" | null; - }; - /** payment_method_klarna */ - payment_method_klarna: { - /** @description The customer's date of birth, if provided. */ - dob?: components["schemas"]["payment_flows_private_payment_methods_klarna_dob"] | null; - }; - /** payment_method_konbini */ - payment_method_konbini: Record; - /** payment_method_link */ - payment_method_link: { - /** @description Account owner's email address. */ - email?: string | null; - }; - /** payment_method_options_affirm */ - payment_method_options_affirm: { - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method?: "manual"; - /** @description Preferred language of the Affirm authorization page that the customer is redirected to. */ - preferred_locale?: string; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_afterpay_clearpay */ - payment_method_options_afterpay_clearpay: { - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method?: "manual"; - /** - * @description Order identifier shown to the customer in Afterpay’s online portal. We recommend using a value that helps you answer any questions a customer might have about - * the payment. The identifier is limited to 128 characters and may contain only letters, digits, underscores, backslashes and dashes. - */ - reference?: string | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_alipay */ - payment_method_options_alipay: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session"; - }; - /** payment_method_options_bacs_debit */ - payment_method_options_bacs_debit: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** payment_method_options_bancontact */ - payment_method_options_bancontact: { - /** - * @description Preferred language of the Bancontact authorization page that the customer is redirected to. - * @enum {string} - */ - preferred_language: "de" | "en" | "fr" | "nl"; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session"; - }; - /** payment_method_options_boleto */ - payment_method_options_boleto: { - /** @description The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will expire on Wednesday at 23:59 America/Sao_Paulo time. */ - expires_after_days: number; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** payment_method_options_card_installments */ - payment_method_options_card_installments: { - /** @description Installment plans that may be selected for this PaymentIntent. */ - available_plans?: components["schemas"]["payment_method_details_card_installments_plan"][] | null; - /** @description Whether Installments are enabled for this PaymentIntent. */ - enabled: boolean; - /** @description Installment plan selected for this PaymentIntent. */ - plan?: components["schemas"]["payment_method_details_card_installments_plan"] | null; - }; - /** payment_method_options_card_mandate_options */ - payment_method_options_card_mandate_options: { - /** @description Amount to be charged for future payments. */ - amount: number; - /** - * @description One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. - * @enum {string} - */ - amount_type: "fixed" | "maximum"; - /** @description A description of the mandate or subscription that is meant to be displayed to the customer. */ - description?: string | null; - /** - * Format: unix-time - * @description End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. - */ - end_date?: number | null; - /** - * @description Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. - * @enum {string} - */ - interval: "day" | "month" | "sporadic" | "week" | "year"; - /** @description The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. */ - interval_count?: number | null; - /** @description Unique identifier for the mandate or subscription. */ - reference: string; - /** - * Format: unix-time - * @description Start date of the mandate or subscription. Start date should not be lesser than yesterday. - */ - start_date: number; - /** @description Specifies the type of mandates supported. Possible values are `india`. */ - supported_types?: "india"[] | null; - }; - /** payment_method_options_card_present */ - payment_method_options_card_present: { - /** @description Request ability to capture this payment beyond the standard [authorization validity window](https://stripe.com/docs/terminal/features/extended-authorizations#authorization-validity) */ - request_extended_authorization?: boolean | null; - /** @description Request ability to [increment](https://stripe.com/docs/terminal/features/incremental-authorizations) this PaymentIntent if the combination of MCC and card brand is eligible. Check [incremental_authorization_supported](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) in the [Confirm](https://stripe.com/docs/api/payment_intents/confirm) response to verify support. */ - request_incremental_authorization_support?: boolean | null; - }; - /** payment_method_options_cashapp */ - payment_method_options_cashapp: { - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method?: "manual"; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** payment_method_options_customer_balance */ - payment_method_options_customer_balance: { - bank_transfer?: components["schemas"]["payment_method_options_customer_balance_bank_transfer"]; - /** - * @description The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. - * @enum {string|null} - */ - funding_type?: "bank_transfer" | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_customer_balance_bank_transfer */ - payment_method_options_customer_balance_bank_transfer: { - eu_bank_transfer?: components["schemas"]["payment_method_options_customer_balance_eu_bank_account"]; - /** - * @description List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. - * - * Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. - */ - requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; - /** - * @description The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. - * @enum {string|null} - */ - type?: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer" | null; - }; - /** payment_method_options_customer_balance_eu_bank_account */ - payment_method_options_customer_balance_eu_bank_account: { - /** - * @description The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. - * @enum {string} - */ - country: "BE" | "DE" | "ES" | "FR" | "IE" | "NL"; - }; - /** payment_method_options_fpx */ - payment_method_options_fpx: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_giropay */ - payment_method_options_giropay: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_grabpay */ - payment_method_options_grabpay: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_ideal */ - payment_method_options_ideal: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session"; - }; - /** payment_method_options_interac_present */ - payment_method_options_interac_present: Record; - /** payment_method_options_klarna */ - payment_method_options_klarna: { - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method?: "manual"; - /** @description Preferred locale of the Klarna checkout page that the customer is redirected to. */ - preferred_locale?: string | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_konbini */ - payment_method_options_konbini: { - /** @description An optional 10 to 11 digit numeric-only string determining the confirmation code at applicable convenience stores. */ - confirmation_number?: string | null; - /** @description The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. */ - expires_after_days?: number | null; - /** - * Format: unix-time - * @description The timestamp at which the Konbini payment instructions will expire. Only one of `expires_after_days` or `expires_at` may be set. - */ - expires_at?: number | null; - /** @description A product descriptor of up to 22 characters, which will appear to customers at the convenience store. */ - product_description?: string | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_oxxo */ - payment_method_options_oxxo: { - /** @description The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time. */ - expires_after_days: number; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_p24 */ - payment_method_options_p24: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_paynow */ - payment_method_options_paynow: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_paypal */ - payment_method_options_paypal: { - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method?: "manual"; - /** @description Preferred locale of the PayPal checkout page that the customer is redirected to. */ - preferred_locale?: string | null; - /** @description A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID. */ - reference?: string | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session"; - }; - /** payment_method_options_pix */ - payment_method_options_pix: { - /** @description The number of seconds (between 10 and 1209600) after which Pix payment will expire. */ - expires_after_seconds?: number | null; - /** @description The timestamp at which the Pix expires. */ - expires_at?: number | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_promptpay */ - payment_method_options_promptpay: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_sofort */ - payment_method_options_sofort: { - /** - * @description Preferred language of the SOFORT authorization page that the customer is redirected to. - * @enum {string|null} - */ - preferred_language?: "de" | "en" | "es" | "fr" | "it" | "nl" | "pl" | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none" | "off_session"; - }; - /** payment_method_options_wechat_pay */ - payment_method_options_wechat_pay: { - /** @description The app ID registered with WeChat Pay. Only required when client is ios or android. */ - app_id?: string | null; - /** - * @description The client type that the end customer will pay from - * @enum {string|null} - */ - client?: "android" | "ios" | "web" | null; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_options_zip */ - payment_method_options_zip: { - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "none"; - }; - /** payment_method_oxxo */ - payment_method_oxxo: Record; - /** payment_method_p24 */ - payment_method_p24: { - /** - * @description The customer's bank, if provided. - * @enum {string|null} - */ - bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank" | null; - }; - /** payment_method_paynow */ - payment_method_paynow: Record; - /** payment_method_paypal */ - payment_method_paypal: { - /** - * @description Owner's email. Values are provided by PayPal directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - */ - payer_email?: string | null; - /** @description PayPal account PayerID. This identifier uniquely identifies the PayPal customer. */ - payer_id?: string | null; - }; - /** payment_method_pix */ - payment_method_pix: Record; - /** payment_method_promptpay */ - payment_method_promptpay: Record; - /** payment_method_sepa_debit */ - payment_method_sepa_debit: { - /** @description Bank code of bank associated with the bank account. */ - bank_code?: string | null; - /** @description Branch code of bank associated with the bank account. */ - branch_code?: string | null; - /** @description Two-letter ISO code representing the country the bank account is located in. */ - country?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Information about the object that generated this PaymentMethod. */ - generated_from?: components["schemas"]["sepa_debit_generated_from"] | null; - /** @description Last four characters of the IBAN. */ - last4?: string | null; - }; - /** payment_method_sofort */ - payment_method_sofort: { - /** @description Two-letter ISO code representing the country the bank account is located in. */ - country?: string | null; - }; - /** payment_method_us_bank_account */ - payment_method_us_bank_account: { - /** - * @description Account holder type: individual or company. - * @enum {string|null} - */ - account_holder_type?: "company" | "individual" | null; - /** - * @description Account type: checkings or savings. Defaults to checking if omitted. - * @enum {string|null} - */ - account_type?: "checking" | "savings" | null; - /** @description The name of the bank. */ - bank_name?: string | null; - /** @description The ID of the Financial Connections Account used to create the payment method. */ - financial_connections_account?: string | null; - /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ - fingerprint?: string | null; - /** @description Last four digits of the bank account number. */ - last4?: string | null; - /** @description Contains information about US bank account networks that can be used. */ - networks?: components["schemas"]["us_bank_account_networks"] | null; - /** @description Routing number of the bank account. */ - routing_number?: string | null; - /** @description Contains information about the future reusability of this PaymentMethod. */ - status_details?: components["schemas"]["payment_method_us_bank_account_status_details"] | null; - }; - /** payment_method_us_bank_account_blocked */ - payment_method_us_bank_account_blocked: { - /** - * @description The ACH network code that resulted in this block. - * @enum {string|null} - */ - network_code?: "R02" | "R03" | "R04" | "R05" | "R07" | "R08" | "R10" | "R11" | "R16" | "R20" | "R29" | "R31" | null; - /** - * @description The reason why this PaymentMethod's fingerprint has been blocked - * @enum {string|null} - */ - reason?: "bank_account_closed" | "bank_account_frozen" | "bank_account_invalid_details" | "bank_account_restricted" | "bank_account_unusable" | "debit_not_authorized" | null; - }; - /** payment_method_us_bank_account_status_details */ - payment_method_us_bank_account_status_details: { - blocked?: components["schemas"]["payment_method_us_bank_account_blocked"]; - }; - /** payment_method_wechat_pay */ - payment_method_wechat_pay: Record; - /** payment_method_zip */ - payment_method_zip: Record; - /** PaymentPagesCheckoutSessionAfterExpiration */ - payment_pages_checkout_session_after_expiration: { - /** @description When set, configuration used to recover the Checkout Session on expiry. */ - recovery?: components["schemas"]["payment_pages_checkout_session_after_expiration_recovery"] | null; - }; - /** PaymentPagesCheckoutSessionAfterExpirationRecovery */ - payment_pages_checkout_session_after_expiration_recovery: { - /** @description Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to `false` */ - allow_promotion_codes: boolean; - /** - * @description If `true`, a recovery url will be generated to recover this Checkout Session if it - * expires before a transaction is completed. It will be attached to the - * Checkout Session object upon expiration. - */ - enabled: boolean; - /** - * Format: unix-time - * @description The timestamp at which the recovery URL will expire. - */ - expires_at?: number | null; - /** @description URL that creates a new Checkout Session when clicked that is a copy of this expired Checkout Session */ - url?: string | null; - }; - /** PaymentPagesCheckoutSessionAutomaticTax */ - payment_pages_checkout_session_automatic_tax: { - /** @description Indicates whether automatic tax is enabled for the session */ - enabled: boolean; - /** - * @description The status of the most recent automated tax calculation for this session. - * @enum {string|null} - */ - status?: "complete" | "failed" | "requires_location_inputs" | null; - }; - /** PaymentPagesCheckoutSessionConsent */ - payment_pages_checkout_session_consent: { - /** - * @description If `opt_in`, the customer consents to receiving promotional communications - * from the merchant about this Checkout Session. - * @enum {string|null} - */ - promotions?: "opt_in" | "opt_out" | null; - /** - * @description If `accepted`, the customer in this Checkout Session has agreed to the merchant's terms of service. - * @enum {string|null} - */ - terms_of_service?: "accepted" | null; - }; - /** PaymentPagesCheckoutSessionConsentCollection */ - payment_pages_checkout_session_consent_collection: { - /** - * @description If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout - * Session will determine whether to display an option to opt into promotional communication - * from the merchant depending on the customer's locale. Only available to US merchants. - * @enum {string|null} - */ - promotions?: "auto" | "none" | null; - /** - * @description If set to `required`, it requires customers to accept the terms of service before being able to pay. - * @enum {string|null} - */ - terms_of_service?: "none" | "required" | null; - }; - /** PaymentPagesCheckoutSessionCurrencyConversion */ - payment_pages_checkout_session_currency_conversion: { - /** @description Total of all items in source currency before discounts or taxes are applied. */ - amount_subtotal: number; - /** @description Total of all items in source currency after discounts and taxes are applied. */ - amount_total: number; - /** - * Format: decimal - * @description Exchange rate used to convert source currency amounts to customer currency amounts - */ - fx_rate: string; - /** @description Creation currency of the CheckoutSession before localization */ - source_currency: string; - }; - /** PaymentPagesCheckoutSessionCustomFields */ - payment_pages_checkout_session_custom_fields: { - /** @description Configuration for `type=dropdown` fields. */ - dropdown?: components["schemas"]["payment_pages_checkout_session_custom_fields_dropdown"] | null; - /** @description String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters. */ - key: string; - label: components["schemas"]["payment_pages_checkout_session_custom_fields_label"]; - /** @description Configuration for `type=numeric` fields. */ - numeric?: components["schemas"]["payment_pages_checkout_session_custom_fields_numeric"] | null; - /** @description Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. */ - optional: boolean; - /** @description Configuration for `type=text` fields. */ - text?: components["schemas"]["payment_pages_checkout_session_custom_fields_text"] | null; - /** - * @description The type of the field. - * @enum {string} - */ - type: "dropdown" | "numeric" | "text"; - }; - /** PaymentPagesCheckoutSessionCustomFieldsDropdown */ - payment_pages_checkout_session_custom_fields_dropdown: { - /** @description The options available for the customer to select. Up to 200 options allowed. */ - options: components["schemas"]["payment_pages_checkout_session_custom_fields_option"][]; - /** @description The option selected by the customer. This will be the `value` for the option. */ - value?: string | null; - }; - /** PaymentPagesCheckoutSessionCustomFieldsLabel */ - payment_pages_checkout_session_custom_fields_label: { - /** @description Custom text for the label, displayed to the customer. Up to 50 characters. */ - custom?: string | null; - /** - * @description The type of the label. - * @enum {string} - */ - type: "custom"; - }; - /** PaymentPagesCheckoutSessionCustomFieldsNumeric */ - payment_pages_checkout_session_custom_fields_numeric: { - /** @description The maximum character length constraint for the customer's input. */ - maximum_length?: number | null; - /** @description The minimum character length requirement for the customer's input. */ - minimum_length?: number | null; - /** @description The value entered by the customer, containing only digits. */ - value?: string | null; - }; - /** PaymentPagesCheckoutSessionCustomFieldsOption */ - payment_pages_checkout_session_custom_fields_option: { - /** @description The label for the option, displayed to the customer. Up to 100 characters. */ - label: string; - /** @description The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters. */ - value: string; - }; - /** PaymentPagesCheckoutSessionCustomFieldsText */ - payment_pages_checkout_session_custom_fields_text: { - /** @description The maximum character length constraint for the customer's input. */ - maximum_length?: number | null; - /** @description The minimum character length requirement for the customer's input. */ - minimum_length?: number | null; - /** @description The value entered by the customer. */ - value?: string | null; - }; - /** PaymentPagesCheckoutSessionCustomText */ - payment_pages_checkout_session_custom_text: { - /** @description Custom text that should be displayed alongside shipping address collection. */ - shipping_address?: components["schemas"]["payment_pages_checkout_session_custom_text_position"] | null; - /** @description Custom text that should be displayed alongside the payment confirmation button. */ - submit?: components["schemas"]["payment_pages_checkout_session_custom_text_position"] | null; - /** @description Custom text that should be displayed in place of the default terms of service agreement text. */ - terms_of_service_acceptance?: components["schemas"]["payment_pages_checkout_session_custom_text_position"] | null; - }; - /** PaymentPagesCheckoutSessionCustomTextPosition */ - payment_pages_checkout_session_custom_text_position: { - /** @description Text may be up to 1200 characters in length. */ - message: string; - }; - /** PaymentPagesCheckoutSessionCustomerDetails */ - payment_pages_checkout_session_customer_details: { - /** @description The customer's address after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022. */ - address?: components["schemas"]["address"] | null; - /** - * @description The email associated with the Customer, if one exists, on the Checkout Session after a completed Checkout Session or at time of session expiry. - * Otherwise, if the customer has consented to promotional content, this value is the most recent valid email provided by the customer on the Checkout form. - */ - email?: string | null; - /** @description The customer's name after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022. */ - name?: string | null; - /** @description The customer's phone number after a completed Checkout Session. */ - phone?: string | null; - /** - * @description The customer’s tax exempt status after a completed Checkout Session. - * @enum {string|null} - */ - tax_exempt?: "exempt" | "none" | "reverse" | null; - /** @description The customer’s tax IDs after a completed Checkout Session. */ - tax_ids?: components["schemas"]["payment_pages_checkout_session_tax_id"][] | null; - }; - /** PaymentPagesCheckoutSessionInvoiceCreation */ - payment_pages_checkout_session_invoice_creation: { - /** @description Indicates whether invoice creation is enabled for the Checkout Session. */ - enabled: boolean; - invoice_data: components["schemas"]["payment_pages_checkout_session_invoice_settings"]; - }; - /** PaymentPagesCheckoutSessionInvoiceSettings */ - payment_pages_checkout_session_invoice_settings: { - /** @description The account tax IDs associated with the invoice. */ - account_tax_ids?: ((string | components["schemas"]["tax_id"] | components["schemas"]["deleted_tax_id"])[]) | null; - /** @description Custom fields displayed on the invoice. */ - custom_fields?: components["schemas"]["invoice_setting_custom_field"][] | null; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description Footer displayed on the invoice. */ - footer?: string | null; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** @description Options for invoice PDF rendering. */ - rendering_options?: components["schemas"]["invoice_setting_rendering_options"] | null; - }; - /** PaymentPagesCheckoutSessionPhoneNumberCollection */ - payment_pages_checkout_session_phone_number_collection: { - /** @description Indicates whether phone number collection is enabled for the session */ - enabled: boolean; - }; - /** PaymentPagesCheckoutSessionShippingAddressCollection */ - payment_pages_checkout_session_shipping_address_collection: { - /** - * @description An array of two-letter ISO country codes representing which countries Checkout should provide as options for - * shipping locations. Unsupported country codes: `AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SD, SY, UM, VI`. - */ - allowed_countries: ("AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CV" | "CW" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MK" | "ML" | "MM" | "MN" | "MO" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SZ" | "TA" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "ZZ")[]; - }; - /** PaymentPagesCheckoutSessionShippingCost */ - payment_pages_checkout_session_shipping_cost: { - /** @description Total shipping cost before any discounts or taxes are applied. */ - amount_subtotal: number; - /** @description Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0. */ - amount_tax: number; - /** @description Total shipping cost after discounts and taxes are applied. */ - amount_total: number; - /** @description The ID of the ShippingRate for this order. */ - shipping_rate?: (string | components["schemas"]["shipping_rate"]) | null; - /** @description The taxes applied to the shipping rate. */ - taxes?: components["schemas"]["line_items_tax_amount"][]; - }; - /** PaymentPagesCheckoutSessionShippingOption */ - payment_pages_checkout_session_shipping_option: { - /** @description A non-negative integer in cents representing how much to charge. */ - shipping_amount: number; - /** @description The shipping rate. */ - shipping_rate: string | components["schemas"]["shipping_rate"]; - }; - /** PaymentPagesCheckoutSessionTaxID */ - payment_pages_checkout_session_tax_id: { - /** - * @description The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, or `unknown` - * @enum {string} - */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "unknown" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; - /** @description The value of the tax ID. */ - value?: string | null; - }; - /** PaymentPagesCheckoutSessionTaxIDCollection */ - payment_pages_checkout_session_tax_id_collection: { - /** @description Indicates whether tax ID collection is enabled for the session */ - enabled: boolean; - }; - /** PaymentPagesCheckoutSessionTotalDetails */ - payment_pages_checkout_session_total_details: { - /** @description This is the sum of all the discounts. */ - amount_discount: number; - /** @description This is the sum of all the shipping amounts. */ - amount_shipping?: number | null; - /** @description This is the sum of all the tax amounts. */ - amount_tax: number; - breakdown?: components["schemas"]["payment_pages_checkout_session_total_details_resource_breakdown"]; - }; - /** PaymentPagesCheckoutSessionTotalDetailsResourceBreakdown */ - payment_pages_checkout_session_total_details_resource_breakdown: { - /** @description The aggregated discounts. */ - discounts: components["schemas"]["line_items_discount_amount"][]; - /** @description The aggregated tax amounts by rate. */ - taxes: components["schemas"]["line_items_tax_amount"][]; - }; - /** Polymorphic */ - payment_source: components["schemas"]["account"] | components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"]; - /** - * Payout - * @description A `Payout` object is created when you receive funds from Stripe, or when you - * initiate a payout to either a bank account or debit card of a [connected - * Stripe account](/docs/connect/bank-debit-card-payouts). You can retrieve individual payouts, - * and list all payouts. Payouts are made on [varying - * schedules](/docs/connect/manage-payout-schedule), depending on your country and - * industry. - * - * Related guide: [Receiving payouts](https://stripe.com/docs/payouts) - */ - payout: { - /** @description The amount (in cents (or local equivalent)) that transfers to your bank account or debit card. */ - amount: number; - /** - * Format: unix-time - * @description Date that you can expect the payout to arrive in the bank. This factors in delays to account for weekends or bank holidays. - */ - arrival_date: number; - /** @description Returns `true` if the payout is created by an [automated payout schedule](https://stripe.com/docs/payouts#payout-schedule) and `false` if it's [requested manually](https://stripe.com/docs/payouts#manual-payouts). */ - automatic: boolean; - /** @description ID of the balance transaction that describes the impact of this payout on your account balance. */ - balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description ID of the bank account or card the payout is sent to. */ - destination?: (string | components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["deleted_bank_account"] | components["schemas"]["deleted_card"]) | null; - /** @description If the payout fails or cancels, this is the ID of the balance transaction that reverses the initial balance transaction and returns the funds from the failed payout back in your balance. */ - failure_balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; - /** @description Error code that provides a reason for a payout failure, if available. View our [list of failure codes](https://stripe.com/docs/api#payout_failures). */ - failure_code?: string | null; - /** @description Message that provides the reason for a payout failure, if available. */ - failure_message?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** @description The method used to send this payout, which can be `standard` or `instant`. `instant` is supported for payouts to debit cards and bank accounts in certain countries. Learn more about [bank support for Instant Payouts](https://stripe.com/docs/payouts/instant-payouts-banks). */ - method: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "payout"; - /** @description If the payout reverses another, this is the ID of the original payout. */ - original_payout?: (string | components["schemas"]["payout"]) | null; - /** - * @description If `completed`, you can use the [Balance Transactions API](https://stripe.com/docs/api/balance_transactions/list#balance_transaction_list-payout) to list all balance transactions that are paid out in this payout. - * @enum {string} - */ - reconciliation_status: "completed" | "in_progress" | "not_applicable"; - /** @description If the payout reverses, this is the ID of the payout that reverses this payout. */ - reversed_by?: (string | components["schemas"]["payout"]) | null; - /** @description The source balance this payout came from, which can be one of the following: `card`, `fpx`, or `bank_account`. */ - source_type: string; - /** @description Extra information about a payout that displays on the user's bank statement. */ - statement_descriptor?: string | null; - /** @description Current status of the payout: `paid`, `pending`, `in_transit`, `canceled` or `failed`. A payout is `pending` until it's submitted to the bank, when it becomes `in_transit`. The status changes to `paid` if the transaction succeeds, or to `failed` or `canceled` (within 5 business days). Some payouts that fail might initially show as `paid`, then change to `failed`. */ - status: string; - /** - * @description Can be `bank_account` or `card`. - * @enum {string} - */ - type: "bank_account" | "card"; - }; - /** paypal_seller_protection */ - paypal_seller_protection: { - /** @description An array of conditions that are covered for the transaction, if applicable. */ - dispute_categories?: (("fraudulent" | "product_not_received")[]) | null; - /** - * @description Indicates whether the transaction is eligible for PayPal's seller protection. - * @enum {string} - */ - status: "eligible" | "not_eligible" | "partially_eligible"; - }; - /** Period */ - period: { - /** - * Format: unix-time - * @description The end date of this usage period. All usage up to and including this point in time is included. - */ - end?: number | null; - /** - * Format: unix-time - * @description The start date of this usage period. All usage after this point in time is included. - */ - start?: number | null; - }; - /** - * Person - * @description This is an object representing a person associated with a Stripe account. - * - * A platform cannot access a Standard or Express account's persons after the account starts onboarding, such as after generating an account link for the account. - * See the [Standard onboarding](https://stripe.com/docs/connect/standard-accounts) or [Express onboarding documentation](https://stripe.com/docs/connect/express-accounts) for information about platform prefilling and account onboarding steps. - * - * Related guide: [Handling identity verification with the API](https://stripe.com/docs/connect/handling-api-verification#person-information) - */ - person: { - /** @description The account the person is associated with. */ - account: string; - address?: components["schemas"]["address"]; - address_kana?: components["schemas"]["legal_entity_japan_address"] | null; - address_kanji?: components["schemas"]["legal_entity_japan_address"] | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - dob?: components["schemas"]["legal_entity_dob"]; - /** @description The person's email address. */ - email?: string | null; - /** @description The person's first name. */ - first_name?: string | null; - /** @description The Kana variation of the person's first name (Japan only). */ - first_name_kana?: string | null; - /** @description The Kanji variation of the person's first name (Japan only). */ - first_name_kanji?: string | null; - /** @description A list of alternate names or aliases that the person is known by. */ - full_name_aliases?: string[]; - future_requirements?: components["schemas"]["person_future_requirements"] | null; - /** @description The person's gender (International regulations require either "male" or "female"). */ - gender?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Whether the person's `id_number` was provided. True if either the full ID number was provided or if only the required part of the ID number was provided (ex. last four of an individual's SSN for the US indicated by `ssn_last_4_provided`). */ - id_number_provided?: boolean; - /** @description Whether the person's `id_number_secondary` was provided. */ - id_number_secondary_provided?: boolean; - /** @description The person's last name. */ - last_name?: string | null; - /** @description The Kana variation of the person's last name (Japan only). */ - last_name_kana?: string | null; - /** @description The Kanji variation of the person's last name (Japan only). */ - last_name_kanji?: string | null; - /** @description The person's maiden name. */ - maiden_name?: string | null; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - }; - /** @description The country where the person is a national. */ - nationality?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "person"; - /** @description The person's phone number. */ - phone?: string | null; - /** - * @description Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. - * @enum {string} - */ - political_exposure?: "existing" | "none"; - registered_address?: components["schemas"]["address"]; - relationship?: components["schemas"]["person_relationship"]; - requirements?: components["schemas"]["person_requirements"] | null; - /** @description Whether the last four digits of the person's Social Security number have been provided (U.S. only). */ - ssn_last_4_provided?: boolean; - verification?: components["schemas"]["legal_entity_person_verification"]; - }; - /** PersonFutureRequirements */ - person_future_requirements: { - /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ - alternatives?: components["schemas"]["account_requirements_alternative"][] | null; - /** @description Fields that need to be collected to keep the person's account enabled. If not collected by the account's `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash, and may immediately become `past_due`, but the account may also be given a grace period depending on the account's enablement state prior to transition. */ - currently_due: string[]; - /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ - errors: components["schemas"]["account_requirements_error"][]; - /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `future_requirements[current_deadline]` becomes set. */ - eventually_due: string[]; - /** @description Fields that weren't collected by the account's `requirements.current_deadline`. These fields need to be collected to enable the person's account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`. */ - past_due: string[]; - /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. */ - pending_verification: string[]; - }; - /** PersonRelationship */ - person_relationship: { - /** @description Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. */ - director?: boolean | null; - /** @description Whether the person has significant responsibility to control, manage, or direct the organization. */ - executive?: boolean | null; - /** @description Whether the person is an owner of the account’s legal entity. */ - owner?: boolean | null; - /** @description The percent owned by the person of the account's legal entity. */ - percent_ownership?: number | null; - /** @description Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. */ - representative?: boolean | null; - /** @description The person's title (e.g., CEO, Support Engineer). */ - title?: string | null; - }; - /** PersonRequirements */ - person_requirements: { - /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ - alternatives?: components["schemas"]["account_requirements_alternative"][] | null; - /** @description Fields that need to be collected to keep the person's account enabled. If not collected by the account's `current_deadline`, these fields appear in `past_due` as well, and the account is disabled. */ - currently_due: string[]; - /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ - errors: components["schemas"]["account_requirements_error"][]; - /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `current_deadline` becomes set. */ - eventually_due: string[]; - /** @description Fields that weren't collected by the account's `current_deadline`. These fields need to be collected to enable the person's account. */ - past_due: string[]; - /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. */ - pending_verification: string[]; - }; - /** - * Plan - * @description You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration. - * - * Plans define the base price, currency, and billing cycle for recurring purchases of products. - * [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme. - * - * For example, you might have a single "gold" product that has plans for $10/month, $100/year, €9/month, and €90/year. - * - * Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and prices](https://stripe.com/docs/products-prices/overview). - */ - plan: { - /** @description Whether the plan can be used for new purchases. */ - active: boolean; - /** - * @description Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`. - * @enum {string|null} - */ - aggregate_usage?: "last_during_period" | "last_ever" | "max" | "sum" | null; - /** @description The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`. */ - amount?: number | null; - /** - * Format: decimal - * @description The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`. - */ - amount_decimal?: string | null; - /** - * @description Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes. - * @enum {string} - */ - billing_scheme: "per_unit" | "tiered"; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`. - * @enum {string} - */ - interval: "day" | "month" | "week" | "year"; - /** @description The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. */ - interval_count: number; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** @description A brief description of the plan, hidden from customers. */ - nickname?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "plan"; - /** @description The product whose pricing this plan determines. */ - product?: (string | components["schemas"]["product"] | components["schemas"]["deleted_product"]) | null; - /** @description Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. */ - tiers?: components["schemas"]["plan_tier"][]; - /** - * @description Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows. - * @enum {string|null} - */ - tiers_mode?: "graduated" | "volume" | null; - /** @description Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`. */ - transform_usage?: components["schemas"]["transform_usage"] | null; - /** @description Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). */ - trial_period_days?: number | null; - /** - * @description Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`. - * @enum {string} - */ - usage_type: "licensed" | "metered"; - }; - /** PlanTier */ - plan_tier: { - /** @description Price for the entire tier. */ - flat_amount?: number | null; - /** - * Format: decimal - * @description Same as `flat_amount`, but contains a decimal value with at most 12 decimal places. - */ - flat_amount_decimal?: string | null; - /** @description Per unit price for units relevant to the tier. */ - unit_amount?: number | null; - /** - * Format: decimal - * @description Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. - */ - unit_amount_decimal?: string | null; - /** @description Up to and including to this quantity will be contained in the tier. */ - up_to?: number | null; - }; - /** PlatformTax */ - platform_tax_fee: { - /** @description The Connected account that incurred this charge. */ - account: string; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "platform_tax_fee"; - /** @description The payment object that caused this tax to be inflicted. */ - source_transaction: string; - /** @description The type of tax (VAT). */ - type: string; - }; - /** PortalBusinessProfile */ - portal_business_profile: { - /** @description The messaging shown to customers in the portal. */ - headline?: string | null; - /** @description A link to the business’s publicly available privacy policy. */ - privacy_policy_url?: string | null; - /** @description A link to the business’s publicly available terms of service. */ - terms_of_service_url?: string | null; - }; - /** PortalCustomerUpdate */ - portal_customer_update: { - /** @description The types of customer updates that are supported. When empty, customers are not updateable. */ - allowed_updates: ("address" | "email" | "name" | "phone" | "shipping" | "tax_id")[]; - /** @description Whether the feature is enabled. */ - enabled: boolean; - }; - /** PortalFeatures */ - portal_features: { - customer_update: components["schemas"]["portal_customer_update"]; - invoice_history: components["schemas"]["portal_invoice_list"]; - payment_method_update: components["schemas"]["portal_payment_method_update"]; - subscription_cancel: components["schemas"]["portal_subscription_cancel"]; - subscription_pause: components["schemas"]["portal_subscription_pause"]; - subscription_update: components["schemas"]["portal_subscription_update"]; - }; - /** PortalFlowsAfterCompletionHostedConfirmation */ - portal_flows_after_completion_hosted_confirmation: { - /** @description A custom message to display to the customer after the flow is completed. */ - custom_message?: string | null; - }; - /** PortalFlowsAfterCompletionRedirect */ - portal_flows_after_completion_redirect: { - /** @description The URL the customer will be redirected to after the flow is completed. */ - return_url: string; - }; - /** PortalFlowsCouponOffer */ - portal_flows_coupon_offer: { - /** @description The ID of the coupon to be offered. */ - coupon: string; - }; - /** PortalFlowsFlow */ - portal_flows_flow: { - after_completion: components["schemas"]["portal_flows_flow_after_completion"]; - /** @description Configuration when `flow.type=subscription_cancel`. */ - subscription_cancel?: components["schemas"]["portal_flows_flow_subscription_cancel"] | null; - /** @description Configuration when `flow.type=subscription_update`. */ - subscription_update?: components["schemas"]["portal_flows_flow_subscription_update"] | null; - /** @description Configuration when `flow.type=subscription_update_confirm`. */ - subscription_update_confirm?: components["schemas"]["portal_flows_flow_subscription_update_confirm"] | null; - /** - * @description Type of flow that the customer will go through. - * @enum {string} - */ - type: "payment_method_update" | "subscription_cancel" | "subscription_update" | "subscription_update_confirm"; - }; - /** PortalFlowsFlowAfterCompletion */ - portal_flows_flow_after_completion: { - /** @description Configuration when `after_completion.type=hosted_confirmation`. */ - hosted_confirmation?: components["schemas"]["portal_flows_after_completion_hosted_confirmation"] | null; - /** @description Configuration when `after_completion.type=redirect`. */ - redirect?: components["schemas"]["portal_flows_after_completion_redirect"] | null; - /** - * @description The specified type of behavior after the flow is completed. - * @enum {string} - */ - type: "hosted_confirmation" | "portal_homepage" | "redirect"; - }; - /** PortalFlowsFlowSubscriptionCancel */ - portal_flows_flow_subscription_cancel: { - /** @description Specify a retention strategy to be used in the cancellation flow. */ - retention?: components["schemas"]["portal_flows_retention"] | null; - /** @description The ID of the subscription to be canceled. */ - subscription: string; - }; - /** PortalFlowsFlowSubscriptionUpdate */ - portal_flows_flow_subscription_update: { - /** @description The ID of the subscription to be updated. */ - subscription: string; - }; - /** PortalFlowsFlowSubscriptionUpdateConfirm */ - portal_flows_flow_subscription_update_confirm: { - /** @description The coupon or promotion code to apply to this subscription update. Currently, only up to one may be specified. */ - discounts?: components["schemas"]["portal_flows_subscription_update_confirm_discount"][] | null; - /** @description The [subscription item](https://stripe.com/docs/api/subscription_items) to be updated through this flow. Currently, only up to one may be specified and subscriptions with multiple items are not updatable. */ - items: components["schemas"]["portal_flows_subscription_update_confirm_item"][]; - /** @description The ID of the subscription to be updated. */ - subscription: string; - }; - /** PortalFlowsRetention */ - portal_flows_retention: { - /** @description Configuration when `retention.type=coupon_offer`. */ - coupon_offer?: components["schemas"]["portal_flows_coupon_offer"] | null; - /** - * @description Type of retention strategy that will be used. - * @enum {string} - */ - type: "coupon_offer"; - }; - /** PortalFlowsSubscriptionUpdateConfirmDiscount */ - portal_flows_subscription_update_confirm_discount: { - /** @description The ID of the coupon to apply to this subscription update. */ - coupon?: string | null; - /** @description The ID of a promotion code to apply to this subscription update. */ - promotion_code?: string | null; - }; - /** PortalFlowsSubscriptionUpdateConfirmItem */ - portal_flows_subscription_update_confirm_item: { - /** @description The ID of the [subscription item](https://stripe.com/docs/api/subscriptions/object#subscription_object-items-data-id) to be updated. */ - id?: string | null; - /** @description The price the customer should subscribe to through this flow. The price must also be included in the configuration's [`features.subscription_update.products`](docs/api/customer_portal/configuration#portal_configuration_object-features-subscription_update-products). */ - price?: string | null; - /** @description [Quantity](https://stripe.com/docs/subscriptions/quantities) for this item that the customer should subscribe to through this flow. */ - quantity?: number; - }; - /** PortalInvoiceList */ - portal_invoice_list: { - /** @description Whether the feature is enabled. */ - enabled: boolean; - }; - /** PortalLoginPage */ - portal_login_page: { - /** - * @description If `true`, a shareable `url` will be generated that will take your customers to a hosted login page for the customer portal. - * - * If `false`, the previously generated `url`, if any, will be deactivated. - */ - enabled: boolean; - /** @description A shareable URL to the hosted portal login page. Your customers will be able to log in with their [email](https://stripe.com/docs/api/customers/object#customer_object-email) and receive a link to their customer portal. */ - url?: string | null; - }; - /** PortalPaymentMethodUpdate */ - portal_payment_method_update: { - /** @description Whether the feature is enabled. */ - enabled: boolean; - }; - /** PortalSubscriptionCancel */ - portal_subscription_cancel: { - cancellation_reason: components["schemas"]["portal_subscription_cancellation_reason"]; - /** @description Whether the feature is enabled. */ - enabled: boolean; - /** - * @description Whether to cancel subscriptions immediately or at the end of the billing period. - * @enum {string} - */ - mode: "at_period_end" | "immediately"; - /** - * @description Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`. - * @enum {string} - */ - proration_behavior: "always_invoice" | "create_prorations" | "none"; - }; - /** PortalSubscriptionCancellationReason */ - portal_subscription_cancellation_reason: { - /** @description Whether the feature is enabled. */ - enabled: boolean; - /** @description Which cancellation reasons will be given as options to the customer. */ - options: ("customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused")[]; - }; - /** PortalSubscriptionPause */ - portal_subscription_pause: { - /** @description Whether the feature is enabled. */ - enabled: boolean; - }; - /** PortalSubscriptionUpdate */ - portal_subscription_update: { - /** @description The types of subscription updates that are supported for items listed in the `products` attribute. When empty, subscriptions are not updateable. */ - default_allowed_updates: ("price" | "promotion_code" | "quantity")[]; - /** @description Whether the feature is enabled. */ - enabled: boolean; - /** @description The list of products that support subscription updates. */ - products?: components["schemas"]["portal_subscription_update_product"][] | null; - /** - * @description Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`. - * @enum {string} - */ - proration_behavior: "always_invoice" | "create_prorations" | "none"; - }; - /** PortalSubscriptionUpdateProduct */ - portal_subscription_update_product: { - /** @description The list of price IDs which, when subscribed to, a subscription can be updated. */ - prices: string[]; - /** @description The product ID. */ - product: string; - }; - /** - * Price - * @description Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products. - * [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme. - * - * For example, you might have a single "gold" product that has prices for $10/month, $100/year, and €9 once. - * - * Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [create an invoice](https://stripe.com/docs/billing/invoices/create), and more about [products and prices](https://stripe.com/docs/products-prices/overview). - */ - price: { - /** @description Whether the price can be used for new purchases. */ - active: boolean; - /** - * @description Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes. - * @enum {string} - */ - billing_scheme: "per_unit" | "tiered"; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ - currency_options?: { - [key: string]: components["schemas"]["currency_option"]; - }; - /** @description When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. */ - custom_unit_amount?: components["schemas"]["custom_unit_amount"] | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. */ - lookup_key?: string | null; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** @description A brief description of the price, hidden from customers. */ - nickname?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "price"; - /** @description The ID of the product this price is associated with. */ - product: string | components["schemas"]["product"] | components["schemas"]["deleted_product"]; - /** @description The recurring components of a price such as `interval` and `usage_type`. */ - recurring?: components["schemas"]["recurring"] | null; - /** - * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. - * @enum {string|null} - */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified" | null; - /** @description Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. */ - tiers?: components["schemas"]["price_tier"][]; - /** - * @description Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows. - * @enum {string|null} - */ - tiers_mode?: "graduated" | "volume" | null; - /** @description Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`. */ - transform_quantity?: components["schemas"]["transform_quantity"] | null; - /** - * @description One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase. - * @enum {string} - */ - type: "one_time" | "recurring"; - /** @description The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`. */ - unit_amount?: number | null; - /** - * Format: decimal - * @description The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`. - */ - unit_amount_decimal?: string | null; - }; - /** PriceTier */ - price_tier: { - /** @description Price for the entire tier. */ - flat_amount?: number | null; - /** - * Format: decimal - * @description Same as `flat_amount`, but contains a decimal value with at most 12 decimal places. - */ - flat_amount_decimal?: string | null; - /** @description Per unit price for units relevant to the tier. */ - unit_amount?: number | null; - /** - * Format: decimal - * @description Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. - */ - unit_amount_decimal?: string | null; - /** @description Up to and including to this quantity will be contained in the tier. */ - up_to?: number | null; - }; - /** - * Product - * @description Products describe the specific goods or services you offer to your customers. - * For example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product. - * They can be used in conjunction with [Prices](https://stripe.com/docs/api#prices) to configure pricing in Payment Links, Checkout, and Subscriptions. - * - * Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), - * [share a Payment Link](https://stripe.com/docs/payment-links), - * [accept payments with Checkout](https://stripe.com/docs/payments/accept-a-payment#create-product-prices-upfront), - * and more about [Products and Prices](https://stripe.com/docs/products-prices/overview) - */ - product: { - /** @description Whether the product is currently available for purchase. */ - active: boolean; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product. */ - default_price?: (string | components["schemas"]["price"]) | null; - /** @description The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. */ - description?: string | null; - /** @description A list of up to 15 features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table). */ - features: components["schemas"]["product_feature"][]; - /** @description Unique identifier for the object. */ - id: string; - /** @description A list of up to 8 URLs of images for this product, meant to be displayable to the customer. */ - images: string[]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** @description The product's name, meant to be displayable to the customer. */ - name: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "product"; - /** @description The dimensions of this product for shipping purposes. */ - package_dimensions?: components["schemas"]["package_dimensions"] | null; - /** @description Whether this product is shipped (i.e., physical goods). */ - shippable?: boolean | null; - /** @description Extra information about a product which will appear on your customer's credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used. */ - statement_descriptor?: string | null; - /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. */ - tax_code?: (string | components["schemas"]["tax_code"]) | null; - /** @description A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. */ - unit_label?: string | null; - /** - * Format: unix-time - * @description Time at which the object was last updated. Measured in seconds since the Unix epoch. - */ - updated: number; - /** @description A URL of a publicly-accessible webpage for this product. */ - url?: string | null; - }; - /** ProductFeature */ - product_feature: { - /** @description The feature's name. Up to 80 characters long. */ - name: string; - }; - /** - * PromotionCode - * @description A Promotion Code represents a customer-redeemable code for a [coupon](https://stripe.com/docs/api#coupons). It can be used to - * create multiple codes for a single coupon. - */ - promotion_code: { - /** @description Whether the promotion code is currently active. A promotion code is only active if the coupon is also valid. */ - active: boolean; - /** @description The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for each customer. */ - code: string; - coupon: components["schemas"]["coupon"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The customer that this promotion code can be used by. */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** - * Format: unix-time - * @description Date at which the promotion code can no longer be redeemed. - */ - expires_at?: number | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Maximum number of times this promotion code can be redeemed. */ - max_redemptions?: number | null; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "promotion_code"; - restrictions: components["schemas"]["promotion_codes_resource_restrictions"]; - /** @description Number of times this promotion code has been used. */ - times_redeemed: number; - }; - /** PromotionCodeCurrencyOption */ - promotion_code_currency_option: { - /** @description Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work). */ - minimum_amount: number; - }; - /** PromotionCodesResourceRestrictions */ - promotion_codes_resource_restrictions: { - /** @description Promotion code restrictions defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ - currency_options?: { - [key: string]: components["schemas"]["promotion_code_currency_option"]; - }; - /** @description A Boolean indicating if the Promotion Code should only be redeemed for Customers without any successful payments or invoices */ - first_time_transaction: boolean; - /** @description Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work). */ - minimum_amount?: number | null; - /** @description Three-letter [ISO code](https://stripe.com/docs/currencies) for minimum_amount */ - minimum_amount_currency?: string | null; - }; - /** - * Quote - * @description A Quote is a way to model prices that you'd like to provide to a customer. - * Once accepted, it will automatically create an invoice, subscription or subscription schedule. - */ - quote: { - /** @description Total before any discounts or taxes are applied. */ - amount_subtotal: number; - /** @description Total after discounts and taxes are applied. */ - amount_total: number; - /** @description ID of the Connect Application that created the quote. */ - application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; - /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Only applicable if there are no line items with recurring prices on the quote. */ - application_fee_amount?: number | null; - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. Only applicable if there are line items with recurring prices on the quote. */ - application_fee_percent?: number | null; - automatic_tax: components["schemas"]["quotes_resource_automatic_tax"]; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or on finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. - * @enum {string} - */ - collection_method: "charge_automatically" | "send_invoice"; - computed: components["schemas"]["quotes_resource_computed"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string | null; - /** @description The customer which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed. */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** @description The tax rates applied to this quote. */ - default_tax_rates?: (string | components["schemas"]["tax_rate"])[]; - /** @description A description that will be displayed on the quote PDF. */ - description?: string | null; - /** @description The discounts applied to this quote. */ - discounts: (string | components["schemas"]["discount"])[]; - /** - * Format: unix-time - * @description The date on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. - */ - expires_at: number; - /** @description A footer that will be displayed on the quote PDF. */ - footer?: string | null; - /** @description Details of the quote that was cloned. See the [cloning documentation](https://stripe.com/docs/quotes/clone) for more details. */ - from_quote?: components["schemas"]["quotes_resource_from_quote"] | null; - /** @description A header that will be displayed on the quote PDF. */ - header?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description The invoice that was created from this quote. */ - invoice?: (string | components["schemas"]["invoice"] | components["schemas"]["deleted_invoice"]) | null; - /** @description All invoices will be billed using the specified settings. */ - invoice_settings?: components["schemas"]["invoice_setting_quote_setting"] | null; - /** - * QuotesResourceListLineItems - * @description A list of items the customer is being quoted for. - */ - line_items?: { - /** @description Details about each object. */ - data: components["schemas"]["item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** @description A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://stripe.com/docs/quotes/overview#finalize). */ - number?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "quote"; - /** @description The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details. */ - on_behalf_of?: (string | components["schemas"]["account"]) | null; - /** - * @description The status of the quote. - * @enum {string} - */ - status: "accepted" | "canceled" | "draft" | "open"; - status_transitions: components["schemas"]["quotes_resource_status_transitions"]; - /** @description The subscription that was created or updated from this quote. */ - subscription?: (string | components["schemas"]["subscription"]) | null; - subscription_data: components["schemas"]["quotes_resource_subscription_data_subscription_data"]; - /** @description The subscription schedule that was created or updated from this quote. */ - subscription_schedule?: (string | components["schemas"]["subscription_schedule"]) | null; - /** @description ID of the test clock this quote belongs to. */ - test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; - total_details: components["schemas"]["quotes_resource_total_details"]; - /** @description The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices. */ - transfer_data?: components["schemas"]["quotes_resource_transfer_data"] | null; - }; - /** QuotesResourceAutomaticTax */ - quotes_resource_automatic_tax: { - /** @description Automatically calculate taxes */ - enabled: boolean; - /** - * @description The status of the most recent automated tax calculation for this quote. - * @enum {string|null} - */ - status?: "complete" | "failed" | "requires_location_inputs" | null; - }; - /** QuotesResourceComputed */ - quotes_resource_computed: { - /** @description The definitive totals and line items the customer will be charged on a recurring basis. Takes into account the line items with recurring prices and discounts with `duration=forever` coupons only. Defaults to `null` if no inputted line items with recurring prices. */ - recurring?: components["schemas"]["quotes_resource_recurring"] | null; - upfront: components["schemas"]["quotes_resource_upfront"]; - }; - /** QuotesResourceFromQuote */ - quotes_resource_from_quote: { - /** @description Whether this quote is a revision of a different quote. */ - is_revision: boolean; - /** @description The quote that was cloned. */ - quote: string | components["schemas"]["quote"]; - }; - /** QuotesResourceRecurring */ - quotes_resource_recurring: { - /** @description Total before any discounts or taxes are applied. */ - amount_subtotal: number; - /** @description Total after discounts and taxes are applied. */ - amount_total: number; - /** - * @description The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`. - * @enum {string} - */ - interval: "day" | "month" | "week" | "year"; - /** @description The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. */ - interval_count: number; - total_details: components["schemas"]["quotes_resource_total_details"]; - }; - /** QuotesResourceStatusTransitions */ - quotes_resource_status_transitions: { - /** - * Format: unix-time - * @description The time that the quote was accepted. Measured in seconds since Unix epoch. - */ - accepted_at?: number | null; - /** - * Format: unix-time - * @description The time that the quote was canceled. Measured in seconds since Unix epoch. - */ - canceled_at?: number | null; - /** - * Format: unix-time - * @description The time that the quote was finalized. Measured in seconds since Unix epoch. - */ - finalized_at?: number | null; - }; - /** QuotesResourceSubscriptionDataSubscriptionData */ - quotes_resource_subscription_data_subscription_data: { - /** @description The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription. */ - description?: string | null; - /** - * Format: unix-time - * @description When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. This date is ignored if it is in the past when the quote is accepted. Measured in seconds since the Unix epoch. - */ - effective_date?: number | null; - /** @description Integer representing the number of trial period days before the customer is charged for the first time. */ - trial_period_days?: number | null; - }; - /** QuotesResourceTotalDetails */ - quotes_resource_total_details: { - /** @description This is the sum of all the discounts. */ - amount_discount: number; - /** @description This is the sum of all the shipping amounts. */ - amount_shipping?: number | null; - /** @description This is the sum of all the tax amounts. */ - amount_tax: number; - breakdown?: components["schemas"]["quotes_resource_total_details_resource_breakdown"]; - }; - /** QuotesResourceTotalDetailsResourceBreakdown */ - quotes_resource_total_details_resource_breakdown: { - /** @description The aggregated discounts. */ - discounts: components["schemas"]["line_items_discount_amount"][]; - /** @description The aggregated tax amounts by rate. */ - taxes: components["schemas"]["line_items_tax_amount"][]; - }; - /** QuotesResourceTransferData */ - quotes_resource_transfer_data: { - /** @description The amount in cents (or local equivalent) that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination. */ - amount?: number | null; - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount will be transferred to the destination. */ - amount_percent?: number | null; - /** @description The account where funds from the payment will be transferred to upon payment success. */ - destination: string | components["schemas"]["account"]; - }; - /** QuotesResourceUpfront */ - quotes_resource_upfront: { - /** @description Total before any discounts or taxes are applied. */ - amount_subtotal: number; - /** @description Total after discounts and taxes are applied. */ - amount_total: number; - /** - * QuotesResourceListLineItems - * @description The line items that will appear on the next invoice after this quote is accepted. This does not include pending invoice items that exist on the customer but may still be included in the next invoice. - */ - line_items?: { - /** @description Details about each object. */ - data: components["schemas"]["item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - total_details: components["schemas"]["quotes_resource_total_details"]; - }; - /** - * RadarEarlyFraudWarning - * @description An early fraud warning indicates that the card issuer has notified us that a - * charge may be fraudulent. - * - * Related guide: [Early fraud warnings](https://stripe.com/docs/disputes/measuring#early-fraud-warnings) - */ - "radar.early_fraud_warning": { - /** @description An EFW is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an EFW, in order to avoid receiving a dispute later. */ - actionable: boolean; - /** @description ID of the charge this early fraud warning is for, optionally expanded. */ - charge: string | components["schemas"]["charge"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The type of fraud labelled by the issuer. One of `card_never_received`, `fraudulent_card_application`, `made_with_counterfeit_card`, `made_with_lost_card`, `made_with_stolen_card`, `misc`, `unauthorized_use_of_card`. */ - fraud_type: string; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "radar.early_fraud_warning"; - /** @description ID of the Payment Intent this early fraud warning is for, optionally expanded. */ - payment_intent?: string | components["schemas"]["payment_intent"]; - }; - /** - * RadarListList - * @description Value lists allow you to group values together which can then be referenced in rules. - * - * Related guide: [Default Stripe lists](https://stripe.com/docs/radar/lists#managing-list-items) - */ - "radar.value_list": { - /** @description The name of the value list for use in rules. */ - alias: string; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The name or email address of the user who created this value list. */ - created_by: string; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description The type of items in the value list. One of `card_fingerprint`, `us_bank_account_fingerprint`, `sepa_debit_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, or `customer_id`. - * @enum {string} - */ - item_type: "card_bin" | "card_fingerprint" | "case_sensitive_string" | "country" | "customer_id" | "email" | "ip_address" | "sepa_debit_fingerprint" | "string" | "us_bank_account_fingerprint"; - /** - * RadarListListItemList - * @description List of items contained within this value list. - */ - list_items: { - /** @description Details about each object. */ - data: components["schemas"]["radar.value_list_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** @description The name of the value list. */ - name: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "radar.value_list"; - }; - /** - * RadarListListItem - * @description Value list items allow you to add specific values to a given Radar value list, which can then be used in rules. - * - * Related guide: [Managing list items](https://stripe.com/docs/radar/lists#managing-list-items) - */ - "radar.value_list_item": { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The name or email address of the user who added this item to the value list. */ - created_by: string; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "radar.value_list_item"; - /** @description The value of the item. */ - value: string; - /** @description The identifier of the value list this item belongs to. */ - value_list: string; - }; - /** - * RadarRadarOptions - * @description Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. - */ - radar_radar_options: { - /** @description A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments. */ - session?: string; - }; - /** RadarReviewResourceLocation */ - radar_review_resource_location: { - /** @description The city where the payment originated. */ - city?: string | null; - /** @description Two-letter ISO code representing the country where the payment originated. */ - country?: string | null; - /** @description The geographic latitude where the payment originated. */ - latitude?: number | null; - /** @description The geographic longitude where the payment originated. */ - longitude?: number | null; - /** @description The state/county/province/region where the payment originated. */ - region?: string | null; - }; - /** RadarReviewResourceSession */ - radar_review_resource_session: { - /** @description The browser used in this browser session (e.g., `Chrome`). */ - browser?: string | null; - /** @description Information about the device used for the browser session (e.g., `Samsung SM-G930T`). */ - device?: string | null; - /** @description The platform for the browser session (e.g., `Macintosh`). */ - platform?: string | null; - /** @description The version for the browser session (e.g., `61.0.3163.100`). */ - version?: string | null; - }; - /** received_payment_method_details_financial_account */ - received_payment_method_details_financial_account: { - /** @description The FinancialAccount ID. */ - id: string; - /** - * @description The rails the ReceivedCredit was sent over. A FinancialAccount can only send funds over `stripe`. - * @enum {string} - */ - network: "stripe"; - }; - /** Recurring */ - recurring: { - /** - * @description Specifies a usage aggregation strategy for prices of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`. - * @enum {string|null} - */ - aggregate_usage?: "last_during_period" | "last_ever" | "max" | "sum" | null; - /** - * @description The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`. - * @enum {string} - */ - interval: "day" | "month" | "week" | "year"; - /** @description The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. */ - interval_count: number; - /** - * @description Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`. - * @enum {string} - */ - usage_type: "licensed" | "metered"; - }; - /** - * Refund - * @description `Refund` objects allow you to refund a charge that has previously been created - * but not yet refunded. Funds will be refunded to the credit or debit card that - * was originally charged. - * - * Related guide: [Refunds](https://stripe.com/docs/refunds) - */ - refund: { - /** @description Amount, in cents (or local equivalent). */ - amount: number; - /** @description Balance transaction that describes the impact on your account balance. */ - balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; - /** @description ID of the charge that was refunded. */ - charge?: (string | components["schemas"]["charge"]) | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. (Available on non-card refunds only) */ - description?: string; - /** @description If the refund failed, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction. */ - failure_balance_transaction?: string | components["schemas"]["balance_transaction"]; - /** @description If the refund failed, the reason for refund failure if known. Possible values are `lost_or_stolen_card`, `expired_or_canceled_card`, `charge_for_pending_refund_disputed`, `insufficient_funds`, `declined`, `merchant_request` or `unknown`. */ - failure_reason?: string; - /** @description Unique identifier for the object. */ - id: string; - /** @description For payment methods without native refund support (e.g., Konbini, PromptPay), email for the customer to receive refund instructions. */ - instructions_email?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - next_action?: components["schemas"]["refund_next_action"]; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "refund"; - /** @description ID of the PaymentIntent that was refunded. */ - payment_intent?: (string | components["schemas"]["payment_intent"]) | null; - /** - * @description Reason for the refund, either user-provided (`duplicate`, `fraudulent`, or `requested_by_customer`) or generated by Stripe internally (`expired_uncaptured_charge`). - * @enum {string|null} - */ - reason?: "duplicate" | "expired_uncaptured_charge" | "fraudulent" | "requested_by_customer" | null; - /** @description This is the transaction number that appears on email receipts sent for this refund. */ - receipt_number?: string | null; - /** @description The transfer reversal that is associated with the refund. Only present if the charge came from another Stripe account. See the Connect documentation for details. */ - source_transfer_reversal?: (string | components["schemas"]["transfer_reversal"]) | null; - /** @description Status of the refund. For credit card refunds, this can be `pending`, `succeeded`, or `failed`. For other types of refunds, it can be `pending`, `requires_action`, `succeeded`, `failed`, or `canceled`. Refer to our [refunds](https://stripe.com/docs/refunds#failed-refunds) documentation for more details. */ - status?: string | null; - /** @description If the accompanying transfer was reversed, the transfer reversal object. Only applicable if the charge was created using the destination parameter. */ - transfer_reversal?: (string | components["schemas"]["transfer_reversal"]) | null; - }; - /** RefundNextAction */ - refund_next_action: { - /** @description Contains the refund details. */ - display_details?: components["schemas"]["refund_next_action_display_details"] | null; - /** @description Type of the next action to perform. */ - type: string; - }; - /** RefundNextActionDisplayDetails */ - refund_next_action_display_details: { - email_sent: components["schemas"]["email_sent"]; - /** - * Format: unix-time - * @description The expiry timestamp. - */ - expires_at: number; - }; - /** - * reporting_report_run - * @description The Report Run object represents an instance of a report type generated with - * specific run parameters. Once the object is created, Stripe begins processing the report. - * When the report has finished running, it will give you a reference to a file - * where you can retrieve your results. For an overview, see - * [API Access to Reports](https://stripe.com/docs/reporting/statements/api). - * - * Note that certain report types can only be run based on your live-mode data (not test-mode - * data), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes). - */ - "reporting.report_run": { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** - * @description If something should go wrong during the run, a message about the failure (populated when - * `status=failed`). - */ - error?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description `true` if the report is run on live mode data and `false` if it is run on test mode data. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "reporting.report_run"; - parameters: components["schemas"]["financial_reporting_finance_report_run_run_parameters"]; - /** @description The ID of the [report type](https://stripe.com/docs/reports/report-types) to run, such as `"balance.summary.1"`. */ - report_type: string; - /** - * @description The file object representing the result of the report run (populated when - * `status=succeeded`). - */ - result?: components["schemas"]["file"] | null; - /** - * @description Status of this report run. This will be `pending` when the run is initially created. - * When the run finishes, this will be set to `succeeded` and the `result` field will be populated. - * Rarely, we may encounter an error, at which point this will be set to `failed` and the `error` field will be populated. - */ - status: string; - /** - * Format: unix-time - * @description Timestamp at which this run successfully finished (populated when - * `status=succeeded`). Measured in seconds since the Unix epoch. - */ - succeeded_at?: number | null; - }; - /** - * reporting_report_type - * @description The Report Type resource corresponds to a particular type of report, such as - * the "Activity summary" or "Itemized payouts" reports. These objects are - * identified by an ID belonging to a set of enumerated values. See - * [API Access to Reports documentation](https://stripe.com/docs/reporting/statements/api) - * for those Report Type IDs, along with required and optional parameters. - * - * Note that certain report types can only be run based on your live-mode data (not test-mode - * data), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes). - */ - "reporting.report_type": { - /** - * Format: unix-time - * @description Most recent time for which this Report Type is available. Measured in seconds since the Unix epoch. - */ - data_available_end: number; - /** - * Format: unix-time - * @description Earliest time for which this Report Type is available. Measured in seconds since the Unix epoch. - */ - data_available_start: number; - /** @description List of column names that are included by default when this Report Type gets run. (If the Report Type doesn't support the `columns` parameter, this will be null.) */ - default_columns?: string[] | null; - /** @description The [ID of the Report Type](https://stripe.com/docs/reporting/statements/api#available-report-types), such as `balance.summary.1`. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Human-readable name of the Report Type */ - name: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "reporting.report_type"; - /** - * Format: unix-time - * @description When this Report Type was latest updated. Measured in seconds since the Unix epoch. - */ - updated: number; - /** @description Version of the Report Type. Different versions report with the same ID will have the same purpose, but may take different run parameters or have different result schemas. */ - version: number; - }; - /** ReserveTransaction */ - reserve_transaction: { - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "reserve_transaction"; - }; - /** - * RadarReview - * @description Reviews can be used to supplement automated fraud detection with human expertise. - * - * Learn more about [Radar](/radar) and reviewing payments - * [here](https://stripe.com/docs/radar/reviews). - */ - review: { - /** @description The ZIP or postal code of the card used, if applicable. */ - billing_zip?: string | null; - /** @description The charge associated with this review. */ - charge?: (string | components["schemas"]["charge"]) | null; - /** - * @description The reason the review was closed, or null if it has not yet been closed. One of `approved`, `refunded`, `refunded_as_fraud`, `disputed`, or `redacted`. - * @enum {string|null} - */ - closed_reason?: "approved" | "disputed" | "redacted" | "refunded" | "refunded_as_fraud" | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Unique identifier for the object. */ - id: string; - /** @description The IP address where the payment originated. */ - ip_address?: string | null; - /** @description Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address. */ - ip_address_location?: components["schemas"]["radar_review_resource_location"] | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "review"; - /** @description If `true`, the review needs action. */ - open: boolean; - /** - * @description The reason the review was opened. One of `rule` or `manual`. - * @enum {string} - */ - opened_reason: "manual" | "rule"; - /** @description The PaymentIntent ID associated with this review, if one exists. */ - payment_intent?: string | components["schemas"]["payment_intent"]; - /** @description The reason the review is currently open or closed. One of `rule`, `manual`, `approved`, `refunded`, `refunded_as_fraud`, `disputed`, or `redacted`. */ - reason: string; - /** @description Information related to the browsing session of the user who initiated the payment. */ - session?: components["schemas"]["radar_review_resource_session"] | null; - }; - /** RadarRule */ - rule: { - /** @description The action taken on the payment. */ - action: string; - /** @description Unique identifier for the object. */ - id: string; - /** @description The predicate to evaluate the payment against. */ - predicate: string; - }; - /** - * ScheduledQueryRun - * @description If you have [scheduled a Sigma query](https://stripe.com/docs/sigma/scheduled-queries), you'll - * receive a `sigma.scheduled_query_run.created` webhook each time the query - * runs. The webhook contains a `ScheduledQueryRun` object, which you can use to - * retrieve the query results. - */ - scheduled_query_run: { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** - * Format: unix-time - * @description When the query was run, Sigma contained a snapshot of your Stripe data at this time. - */ - data_load_time: number; - error?: components["schemas"]["sigma_scheduled_query_run_error"]; - /** @description The file object representing the results of the query. */ - file?: components["schemas"]["file"] | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "scheduled_query_run"; - /** - * Format: unix-time - * @description Time at which the result expires and is no longer available for download. - */ - result_available_until: number; - /** @description SQL for the query. */ - sql: string; - /** @description The query's execution status, which will be `completed` for successful runs, and `canceled`, `failed`, or `timed_out` otherwise. */ - status: string; - /** @description Title of the query. */ - title: string; - }; - /** SchedulesPhaseAutomaticTax */ - schedules_phase_automatic_tax: { - /** @description Whether Stripe automatically computes tax on invoices created during this phase. */ - enabled: boolean; - }; - /** SecretServiceResourceScope */ - secret_service_resource_scope: { - /** - * @description The secret scope type. - * @enum {string} - */ - type: "account" | "user"; - /** @description The user ID, if type is set to "user" */ - user?: string; - }; - /** sepa_debit_generated_from */ - sepa_debit_generated_from: { - /** @description The ID of the Charge that generated this PaymentMethod, if any. */ - charge?: (string | components["schemas"]["charge"]) | null; - /** @description The ID of the SetupAttempt that generated this PaymentMethod, if any. */ - setup_attempt?: (string | components["schemas"]["setup_attempt"]) | null; - }; - /** - * PaymentFlowsSetupIntentSetupAttempt - * @description A SetupAttempt describes one attempted confirmation of a SetupIntent, - * whether that confirmation is successful or unsuccessful. You can use - * SetupAttempts to inspect details of a specific attempt at setting up a - * payment method using a SetupIntent. - */ - setup_attempt: { - /** @description The value of [application](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-application) on the SetupIntent at the time of this confirmation. */ - application?: (string | components["schemas"]["application"]) | null; - /** - * @description If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. - * - * It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. - */ - attach_to_self?: boolean; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The value of [customer](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-customer) on the SetupIntent at the time of this confirmation. */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** - * @description Indicates the directions of money movement for which this payment method is intended to be used. - * - * Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. - */ - flow_directions?: (("inbound" | "outbound")[]) | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "setup_attempt"; - /** @description The value of [on_behalf_of](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-on_behalf_of) on the SetupIntent at the time of this confirmation. */ - on_behalf_of?: (string | components["schemas"]["account"]) | null; - /** @description ID of the payment method used with this SetupAttempt. */ - payment_method: string | components["schemas"]["payment_method"]; - payment_method_details: components["schemas"]["setup_attempt_payment_method_details"]; - /** @description The error encountered during this attempt to confirm the SetupIntent, if any. */ - setup_error?: components["schemas"]["api_errors"] | null; - /** @description ID of the SetupIntent that this attempt belongs to. */ - setup_intent: string | components["schemas"]["setup_intent"]; - /** @description Status of this SetupAttempt, one of `requires_confirmation`, `requires_action`, `processing`, `succeeded`, `failed`, or `abandoned`. */ - status: string; - /** @description The value of [usage](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-usage) on the SetupIntent at the time of this confirmation, one of `off_session` or `on_session`. */ - usage: string; - }; - /** SetupAttemptPaymentMethodDetails */ - setup_attempt_payment_method_details: { - acss_debit?: components["schemas"]["setup_attempt_payment_method_details_acss_debit"]; - au_becs_debit?: components["schemas"]["setup_attempt_payment_method_details_au_becs_debit"]; - bacs_debit?: components["schemas"]["setup_attempt_payment_method_details_bacs_debit"]; - bancontact?: components["schemas"]["setup_attempt_payment_method_details_bancontact"]; - boleto?: components["schemas"]["setup_attempt_payment_method_details_boleto"]; - card?: components["schemas"]["setup_attempt_payment_method_details_card"]; - card_present?: components["schemas"]["setup_attempt_payment_method_details_card_present"]; - cashapp?: components["schemas"]["setup_attempt_payment_method_details_cashapp"]; - ideal?: components["schemas"]["setup_attempt_payment_method_details_ideal"]; - klarna?: components["schemas"]["setup_attempt_payment_method_details_klarna"]; - link?: components["schemas"]["setup_attempt_payment_method_details_link"]; - paypal?: components["schemas"]["setup_attempt_payment_method_details_paypal"]; - sepa_debit?: components["schemas"]["setup_attempt_payment_method_details_sepa_debit"]; - sofort?: components["schemas"]["setup_attempt_payment_method_details_sofort"]; - /** @description The type of the payment method used in the SetupIntent (e.g., `card`). An additional hash is included on `payment_method_details` with a name matching this value. It contains confirmation-specific information for the payment method. */ - type: string; - us_bank_account?: components["schemas"]["setup_attempt_payment_method_details_us_bank_account"]; - }; - /** setup_attempt_payment_method_details_acss_debit */ - setup_attempt_payment_method_details_acss_debit: Record; - /** setup_attempt_payment_method_details_au_becs_debit */ - setup_attempt_payment_method_details_au_becs_debit: Record; - /** setup_attempt_payment_method_details_bacs_debit */ - setup_attempt_payment_method_details_bacs_debit: Record; - /** setup_attempt_payment_method_details_bancontact */ - setup_attempt_payment_method_details_bancontact: { - /** @description Bank code of bank associated with the bank account. */ - bank_code?: string | null; - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Bank Identifier Code of the bank associated with the bank account. */ - bic?: string | null; - /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ - generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; - /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ - generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; - /** @description Last four characters of the IBAN. */ - iban_last4?: string | null; - /** - * @description Preferred language of the Bancontact authorization page that the customer is redirected to. - * Can be one of `en`, `de`, `fr`, or `nl` - * @enum {string|null} - */ - preferred_language?: "de" | "en" | "fr" | "nl" | null; - /** - * @description Owner's verified full name. Values are verified or provided by Bancontact directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - */ - verified_name?: string | null; - }; - /** setup_attempt_payment_method_details_boleto */ - setup_attempt_payment_method_details_boleto: Record; - /** setup_attempt_payment_method_details_card */ - setup_attempt_payment_method_details_card: { - /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ - brand?: string | null; - /** @description Check results by Card networks on Card address and CVC at the time of authorization */ - checks?: components["schemas"]["payment_method_details_card_checks"] | null; - /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ - country?: string | null; - /** @description Two-digit number representing the card's expiration month. */ - exp_month?: number | null; - /** @description Four-digit number representing the card's expiration year. */ - exp_year?: number | null; - /** - * @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. - * - * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* - */ - fingerprint?: string | null; - /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ - funding?: string | null; - /** @description The last four digits of the card. */ - last4?: string | null; - /** @description Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ - network?: string | null; - /** @description Populated if this authorization used 3D Secure authentication. */ - three_d_secure?: components["schemas"]["three_d_secure_details"] | null; - /** @description If this Card is part of a card wallet, this contains the details of the card wallet. */ - wallet?: components["schemas"]["setup_attempt_payment_method_details_card_wallet"] | null; - }; - /** setup_attempt_payment_method_details_card_present */ - setup_attempt_payment_method_details_card_present: { - /** @description The ID of the Card PaymentMethod which was generated by this SetupAttempt. */ - generated_card?: (string | components["schemas"]["payment_method"]) | null; - }; - /** setup_attempt_payment_method_details_card_wallet */ - setup_attempt_payment_method_details_card_wallet: { - apple_pay?: components["schemas"]["payment_method_details_card_wallet_apple_pay"]; - google_pay?: components["schemas"]["payment_method_details_card_wallet_google_pay"]; - /** - * @description The type of the card wallet, one of `apple_pay`, `google_pay`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. - * @enum {string} - */ - type: "apple_pay" | "google_pay" | "link"; - }; - /** setup_attempt_payment_method_details_cashapp */ - setup_attempt_payment_method_details_cashapp: Record; - /** setup_attempt_payment_method_details_ideal */ - setup_attempt_payment_method_details_ideal: { - /** - * @description The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. - * @enum {string|null} - */ - bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe" | null; - /** - * @description The Bank Identifier Code of the customer's bank. - * @enum {string|null} - */ - bic?: "ABNANL2A" | "ASNBNL21" | "BITSNL2A" | "BUNQNL2A" | "FVLBNL22" | "HANDNL2A" | "INGBNL2A" | "KNABNL2H" | "MOYONL21" | "NTSBDEB1" | "RABONL2U" | "RBRBNL21" | "REVOIE23" | "REVOLT21" | "SNSBNL2A" | "TRIONL2U" | null; - /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ - generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; - /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ - generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; - /** @description Last four characters of the IBAN. */ - iban_last4?: string | null; - /** - * @description Owner's verified full name. Values are verified or provided by iDEAL directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - */ - verified_name?: string | null; - }; - /** setup_attempt_payment_method_details_klarna */ - setup_attempt_payment_method_details_klarna: Record; - /** setup_attempt_payment_method_details_link */ - setup_attempt_payment_method_details_link: Record; - /** setup_attempt_payment_method_details_paypal */ - setup_attempt_payment_method_details_paypal: Record; - /** setup_attempt_payment_method_details_sepa_debit */ - setup_attempt_payment_method_details_sepa_debit: Record; - /** setup_attempt_payment_method_details_sofort */ - setup_attempt_payment_method_details_sofort: { - /** @description Bank code of bank associated with the bank account. */ - bank_code?: string | null; - /** @description Name of the bank associated with the bank account. */ - bank_name?: string | null; - /** @description Bank Identifier Code of the bank associated with the bank account. */ - bic?: string | null; - /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ - generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; - /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ - generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; - /** @description Last four characters of the IBAN. */ - iban_last4?: string | null; - /** - * @description Preferred language of the Sofort authorization page that the customer is redirected to. - * Can be one of `en`, `de`, `fr`, or `nl` - * @enum {string|null} - */ - preferred_language?: "de" | "en" | "fr" | "nl" | null; - /** - * @description Owner's verified full name. Values are verified or provided by Sofort directly - * (if supported) at the time of authorization or settlement. They cannot be set or mutated. - */ - verified_name?: string | null; - }; - /** setup_attempt_payment_method_details_us_bank_account */ - setup_attempt_payment_method_details_us_bank_account: Record; - /** - * SetupIntent - * @description A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments. - * For example, you could use a SetupIntent to set up and save your customer's card without immediately collecting a payment. - * Later, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow. - * - * Create a SetupIntent as soon as you're ready to collect your customer's payment credentials. - * Do not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid. - * The SetupIntent then transitions through multiple [statuses](https://stripe.com/docs/payments/intents#intent-statuses) as it guides - * you through the setup process. - * - * Successful SetupIntents result in payment credentials that are optimized for future payments. - * For example, cardholders in [certain regions](/guides/strong-customer-authentication) may need to be run through - * [Strong Customer Authentication](https://stripe.com/docs/strong-customer-authentication) at the time of payment method collection - * in order to streamline later [off-session payments](https://stripe.com/docs/payments/setup-intents). - * If the SetupIntent is used with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer), upon success, - * it will automatically attach the resulting payment method to that Customer. - * We recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on - * PaymentIntents to save payment methods in order to prevent saving invalid or unoptimized payment methods. - * - * By using SetupIntents, you ensure that your customers experience the minimum set of required friction, - * even as regulations change over time. - * - * Related guide: [Setup Intents API](https://stripe.com/docs/payments/setup-intents) - */ - setup_intent: { - /** @description ID of the Connect application that created the SetupIntent. */ - application?: (string | components["schemas"]["application"]) | null; - /** - * @description If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. - * - * It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. - */ - attach_to_self?: boolean; - /** @description Settings for dynamic payment methods compatible with this Setup Intent */ - automatic_payment_methods?: components["schemas"]["payment_flows_automatic_payment_methods_setup_intent"] | null; - /** - * @description Reason for cancellation of this SetupIntent, one of `abandoned`, `requested_by_customer`, or `duplicate`. - * @enum {string|null} - */ - cancellation_reason?: "abandoned" | "duplicate" | "requested_by_customer" | null; - /** - * @description The client secret of this SetupIntent. Used for client-side retrieval using a publishable key. - * - * The client secret can be used to complete payment setup from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret. - */ - client_secret?: string | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** - * @description ID of the Customer this SetupIntent belongs to, if one exists. - * - * If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent. - */ - customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** - * @description Indicates the directions of money movement for which this payment method is intended to be used. - * - * Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. - */ - flow_directions?: (("inbound" | "outbound")[]) | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description The error encountered in the previous SetupIntent confirmation. */ - last_setup_error?: components["schemas"]["api_errors"] | null; - /** @description The most recent SetupAttempt for this SetupIntent. */ - latest_attempt?: (string | components["schemas"]["setup_attempt"]) | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description ID of the multi use Mandate generated by the SetupIntent. */ - mandate?: (string | components["schemas"]["mandate"]) | null; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** @description If present, this property tells you what actions you need to take in order for your customer to continue payment setup. */ - next_action?: components["schemas"]["setup_intent_next_action"] | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "setup_intent"; - /** @description The account (if any) for which the setup is intended. */ - on_behalf_of?: (string | components["schemas"]["account"]) | null; - /** @description ID of the payment method used with this SetupIntent. */ - payment_method?: (string | components["schemas"]["payment_method"]) | null; - /** @description Information about the payment method configuration used for this Setup Intent. */ - payment_method_configuration_details?: components["schemas"]["payment_method_config_biz_payment_method_configuration_details"] | null; - /** @description Payment-method-specific configuration for this SetupIntent. */ - payment_method_options?: components["schemas"]["setup_intent_payment_method_options"] | null; - /** @description The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. */ - payment_method_types: string[]; - /** @description ID of the single_use Mandate generated by the SetupIntent. */ - single_use_mandate?: (string | components["schemas"]["mandate"]) | null; - /** - * @description [Status](https://stripe.com/docs/payments/intents#intent-statuses) of this SetupIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `canceled`, or `succeeded`. - * @enum {string} - */ - status: "canceled" | "processing" | "requires_action" | "requires_confirmation" | "requires_payment_method" | "succeeded"; - /** - * @description Indicates how the payment method is intended to be used in the future. - * - * Use `on_session` if you intend to only reuse the payment method when the customer is in your checkout flow. Use `off_session` if your customer may or may not be in your checkout flow. If not provided, this value defaults to `off_session`. - */ - usage: string; - }; - /** SetupIntentNextAction */ - setup_intent_next_action: { - cashapp_handle_redirect_or_display_qr_code?: components["schemas"]["payment_intent_next_action_cashapp_handle_redirect_or_display_qr_code"]; - redirect_to_url?: components["schemas"]["setup_intent_next_action_redirect_to_url"]; - /** @description Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`. */ - type: string; - /** @description When confirming a SetupIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js. */ - use_stripe_sdk?: Record; - verify_with_microdeposits?: components["schemas"]["setup_intent_next_action_verify_with_microdeposits"]; - }; - /** SetupIntentNextActionRedirectToUrl */ - setup_intent_next_action_redirect_to_url: { - /** @description If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion. */ - return_url?: string | null; - /** @description The URL you must redirect your customer to in order to authenticate. */ - url?: string | null; - }; - /** SetupIntentNextActionVerifyWithMicrodeposits */ - setup_intent_next_action_verify_with_microdeposits: { - /** - * Format: unix-time - * @description The timestamp when the microdeposits are expected to land. - */ - arrival_date: number; - /** @description The URL for the hosted verification page, which allows customers to verify their bank account. */ - hosted_verification_url: string; - /** - * @description The type of the microdeposit sent to the customer. Used to distinguish between different verification methods. - * @enum {string|null} - */ - microdeposit_type?: "amounts" | "descriptor_code" | null; - }; - /** SetupIntentPaymentMethodOptions */ - setup_intent_payment_method_options: { - acss_debit?: components["schemas"]["setup_intent_payment_method_options_acss_debit"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; - card?: components["schemas"]["setup_intent_payment_method_options_card"]; - link?: components["schemas"]["setup_intent_payment_method_options_link"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; - paypal?: components["schemas"]["setup_intent_payment_method_options_paypal"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; - sepa_debit?: components["schemas"]["setup_intent_payment_method_options_sepa_debit"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; - us_bank_account?: components["schemas"]["setup_intent_payment_method_options_us_bank_account"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; - }; - /** setup_intent_payment_method_options_acss_debit */ - setup_intent_payment_method_options_acss_debit: { - /** - * @description Currency supported by the bank account - * @enum {string|null} - */ - currency?: "cad" | "usd" | null; - mandate_options?: components["schemas"]["setup_intent_payment_method_options_mandate_options_acss_debit"]; - /** - * @description Bank account verification method. - * @enum {string} - */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** setup_intent_payment_method_options_card */ - setup_intent_payment_method_options_card: { - /** @description Configuration options for setting up an eMandate for cards issued in India. */ - mandate_options?: components["schemas"]["setup_intent_payment_method_options_card_mandate_options"] | null; - /** - * @description Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the setup intent. Can be only set confirm-time. - * @enum {string|null} - */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa" | null; - /** - * @description We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: `automatic` or `any`. If not provided, defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. - * @enum {string|null} - */ - request_three_d_secure?: "any" | "automatic" | "challenge_only" | null; - }; - /** setup_intent_payment_method_options_card_mandate_options */ - setup_intent_payment_method_options_card_mandate_options: { - /** @description Amount to be charged for future payments. */ - amount: number; - /** - * @description One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. - * @enum {string} - */ - amount_type: "fixed" | "maximum"; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description A description of the mandate or subscription that is meant to be displayed to the customer. */ - description?: string | null; - /** - * Format: unix-time - * @description End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. - */ - end_date?: number | null; - /** - * @description Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. - * @enum {string} - */ - interval: "day" | "month" | "sporadic" | "week" | "year"; - /** @description The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. */ - interval_count?: number | null; - /** @description Unique identifier for the mandate or subscription. */ - reference: string; - /** - * Format: unix-time - * @description Start date of the mandate or subscription. Start date should not be lesser than yesterday. - */ - start_date: number; - /** @description Specifies the type of mandates supported. Possible values are `india`. */ - supported_types?: "india"[] | null; - }; - /** setup_intent_payment_method_options_link */ - setup_intent_payment_method_options_link: Record; - /** setup_intent_payment_method_options_mandate_options_acss_debit */ - setup_intent_payment_method_options_mandate_options_acss_debit: { - /** @description A URL for custom mandate text */ - custom_mandate_url?: string; - /** @description List of Stripe products where this mandate can be selected automatically. */ - default_for?: ("invoice" | "subscription")[]; - /** @description Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. */ - interval_description?: string | null; - /** - * @description Payment schedule for the mandate. - * @enum {string|null} - */ - payment_schedule?: "combined" | "interval" | "sporadic" | null; - /** - * @description Transaction type of the mandate. - * @enum {string|null} - */ - transaction_type?: "business" | "personal" | null; - }; - /** setup_intent_payment_method_options_mandate_options_sepa_debit */ - setup_intent_payment_method_options_mandate_options_sepa_debit: Record; - /** setup_intent_payment_method_options_paypal */ - setup_intent_payment_method_options_paypal: { - /** @description The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. */ - billing_agreement_id?: string | null; - }; - /** setup_intent_payment_method_options_sepa_debit */ - setup_intent_payment_method_options_sepa_debit: { - mandate_options?: components["schemas"]["setup_intent_payment_method_options_mandate_options_sepa_debit"]; - }; - /** setup_intent_payment_method_options_us_bank_account */ - setup_intent_payment_method_options_us_bank_account: { - financial_connections?: components["schemas"]["linked_account_options_us_bank_account"]; - /** - * @description Bank account verification method. - * @enum {string} - */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** SetupIntentTypeSpecificPaymentMethodOptionsClient */ - setup_intent_type_specific_payment_method_options_client: { - /** - * @description Bank account verification method. - * @enum {string} - */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** Shipping */ - shipping: { - address?: components["schemas"]["address"]; - /** @description The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. */ - carrier?: string | null; - /** @description Recipient name. */ - name?: string; - /** @description Recipient phone (including extension). */ - phone?: string | null; - /** @description The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. */ - tracking_number?: string | null; - }; - /** - * ShippingRate - * @description Shipping rates describe the price of shipping presented to your customers and - * applied to a purchase. For more information, see [Charge for shipping](https://stripe.com/docs/payments/during-payment/charge-shipping). - */ - shipping_rate: { - /** @description Whether the shipping rate can be used for new purchases. Defaults to `true`. */ - active: boolean; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. */ - delivery_estimate?: components["schemas"]["shipping_rate_delivery_estimate"] | null; - /** @description The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. */ - display_name?: string | null; - fixed_amount?: components["schemas"]["shipping_rate_fixed_amount"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "shipping_rate"; - /** - * @description Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. - * @enum {string|null} - */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified" | null; - /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. */ - tax_code?: (string | components["schemas"]["tax_code"]) | null; - /** - * @description The type of calculation to use on the shipping rate. Can only be `fixed_amount` for now. - * @enum {string} - */ - type: "fixed_amount"; - }; - /** ShippingRateCurrencyOption */ - shipping_rate_currency_option: { - /** @description A non-negative integer in cents representing how much to charge. */ - amount: number; - /** - * @description Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. - * @enum {string} - */ - tax_behavior: "exclusive" | "inclusive" | "unspecified"; - }; - /** ShippingRateDeliveryEstimate */ - shipping_rate_delivery_estimate: { - /** @description The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite. */ - maximum?: components["schemas"]["shipping_rate_delivery_estimate_bound"] | null; - /** @description The lower bound of the estimated range. If empty, represents no lower bound. */ - minimum?: components["schemas"]["shipping_rate_delivery_estimate_bound"] | null; - }; - /** ShippingRateDeliveryEstimateBound */ - shipping_rate_delivery_estimate_bound: { - /** - * @description A unit of time. - * @enum {string} - */ - unit: "business_day" | "day" | "hour" | "month" | "week"; - /** @description Must be greater than 0. */ - value: number; - }; - /** ShippingRateFixedAmount */ - shipping_rate_fixed_amount: { - /** @description A non-negative integer in cents representing how much to charge. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ - currency_options?: { - [key: string]: components["schemas"]["shipping_rate_currency_option"]; - }; - }; - /** SigmaScheduledQueryRunError */ - sigma_scheduled_query_run_error: { - /** @description Information about the run failure. */ - message: string; - }; - /** - * Source - * @description `Source` objects allow you to accept a variety of payment methods. They - * represent a customer's payment instrument, and can be used with the Stripe API - * just like a `Card` object: once chargeable, they can be charged, or can be - * attached to customers. - * - * Stripe doesn't recommend using the deprecated [Sources API](https://stripe.com/docs/api/sources). - * We recommend that you adopt the [PaymentMethods API](https://stripe.com/docs/api/payment_methods). - * This newer API provides access to our latest features and payment method types. - * - * Related guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers). - */ - source: { - ach_credit_transfer?: components["schemas"]["source_type_ach_credit_transfer"]; - ach_debit?: components["schemas"]["source_type_ach_debit"]; - acss_debit?: components["schemas"]["source_type_acss_debit"]; - alipay?: components["schemas"]["source_type_alipay"]; - /** @description A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources. */ - amount?: number | null; - au_becs_debit?: components["schemas"]["source_type_au_becs_debit"]; - bancontact?: components["schemas"]["source_type_bancontact"]; - card?: components["schemas"]["source_type_card"]; - card_present?: components["schemas"]["source_type_card_present"]; - /** @description The client secret of the source. Used for client-side retrieval using a publishable key. */ - client_secret: string; - code_verification?: components["schemas"]["source_code_verification_flow"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. Required for `single_use` sources. */ - currency?: string | null; - /** @description The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer. */ - customer?: string; - eps?: components["schemas"]["source_type_eps"]; - /** @description The authentication `flow` of the source. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`. */ - flow: string; - giropay?: components["schemas"]["source_type_giropay"]; - /** @description Unique identifier for the object. */ - id: string; - ideal?: components["schemas"]["source_type_ideal"]; - klarna?: components["schemas"]["source_type_klarna"]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - multibanco?: components["schemas"]["source_type_multibanco"]; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "source"; - /** @description Information about the owner of the payment instrument that may be used or required by particular source types. */ - owner?: components["schemas"]["source_owner"] | null; - p24?: components["schemas"]["source_type_p24"]; - receiver?: components["schemas"]["source_receiver_flow"]; - redirect?: components["schemas"]["source_redirect_flow"]; - sepa_debit?: components["schemas"]["source_type_sepa_debit"]; - sofort?: components["schemas"]["source_type_sofort"]; - source_order?: components["schemas"]["source_order"]; - /** @description Extra information about a source. This will appear on your customer's statement every time you charge the source. */ - statement_descriptor?: string | null; - /** @description The status of the source, one of `canceled`, `chargeable`, `consumed`, `failed`, or `pending`. Only `chargeable` sources can be used to create a charge. */ - status: string; - three_d_secure?: components["schemas"]["source_type_three_d_secure"]; - /** - * @description The `type` of the source. The `type` is a payment method, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `multibanco`, `klarna`, `p24`, `sepa_debit`, `sofort`, `three_d_secure`, or `wechat`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https://stripe.com/docs/sources) used. - * @enum {string} - */ - type: "ach_credit_transfer" | "ach_debit" | "acss_debit" | "alipay" | "au_becs_debit" | "bancontact" | "card" | "card_present" | "eps" | "giropay" | "ideal" | "klarna" | "multibanco" | "p24" | "sepa_debit" | "sofort" | "three_d_secure" | "wechat"; - /** @description Either `reusable` or `single_use`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned. */ - usage?: string | null; - wechat?: components["schemas"]["source_type_wechat"]; - }; - /** SourceCodeVerificationFlow */ - source_code_verification_flow: { - /** @description The number of attempts remaining to authenticate the source object with a verification code. */ - attempts_remaining: number; - /** @description The status of the code verification, either `pending` (awaiting verification, `attempts_remaining` should be greater than 0), `succeeded` (successful verification) or `failed` (failed verification, cannot be verified anymore as `attempts_remaining` should be 0). */ - status: string; - }; - /** - * SourceMandateNotification - * @description Source mandate notifications should be created when a notification related to - * a source mandate must be sent to the payer. They will trigger a webhook or - * deliver an email to the customer. - */ - source_mandate_notification: { - acss_debit?: components["schemas"]["source_mandate_notification_acss_debit_data"]; - /** @description A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount associated with the mandate notification. The amount is expressed in the currency of the underlying source. Required if the notification type is `debit_initiated`. */ - amount?: number | null; - bacs_debit?: components["schemas"]["source_mandate_notification_bacs_debit_data"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "source_mandate_notification"; - /** @description The reason of the mandate notification. Valid reasons are `mandate_confirmed` or `debit_initiated`. */ - reason: string; - sepa_debit?: components["schemas"]["source_mandate_notification_sepa_debit_data"]; - source: components["schemas"]["source"]; - /** @description The status of the mandate notification. Valid statuses are `pending` or `submitted`. */ - status: string; - /** @description The type of source this mandate notification is attached to. Should be the source type identifier code for the payment method, such as `three_d_secure`. */ - type: string; - }; - /** SourceMandateNotificationAcssDebitData */ - source_mandate_notification_acss_debit_data: { - /** @description The statement descriptor associate with the debit. */ - statement_descriptor?: string; - }; - /** SourceMandateNotificationBacsDebitData */ - source_mandate_notification_bacs_debit_data: { - /** @description Last 4 digits of the account number associated with the debit. */ - last4?: string; - }; - /** SourceMandateNotificationSepaDebitData */ - source_mandate_notification_sepa_debit_data: { - /** @description SEPA creditor ID. */ - creditor_identifier?: string; - /** @description Last 4 digits of the account number associated with the debit. */ - last4?: string; - /** @description Mandate reference associated with the debit. */ - mandate_reference?: string; - }; - /** SourceOrder */ - source_order: { - /** @description A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the order. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description The email address of the customer placing the order. */ - email?: string; - /** @description List of items constituting the order. */ - items?: components["schemas"]["source_order_item"][] | null; - shipping?: components["schemas"]["shipping"]; - }; - /** SourceOrderItem */ - source_order_item: { - /** @description The amount (price) for this order item. */ - amount?: number | null; - /** @description This currency of this order item. Required when `amount` is present. */ - currency?: string | null; - /** @description Human-readable description for this order item. */ - description?: string | null; - /** @description The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU). */ - parent?: string | null; - /** @description The quantity of this order item. When type is `sku`, this is the number of instances of the SKU to be ordered. */ - quantity?: number; - /** @description The type of this order item. Must be `sku`, `tax`, or `shipping`. */ - type?: string | null; - }; - /** SourceOwner */ - source_owner: { - /** @description Owner's address. */ - address?: components["schemas"]["address"] | null; - /** @description Owner's email address. */ - email?: string | null; - /** @description Owner's full name. */ - name?: string | null; - /** @description Owner's phone number (including extension). */ - phone?: string | null; - /** @description Verified owner's address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - verified_address?: components["schemas"]["address"] | null; - /** @description Verified owner's email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - verified_email?: string | null; - /** @description Verified owner's full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - verified_name?: string | null; - /** @description Verified owner's phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. */ - verified_phone?: string | null; - }; - /** SourceReceiverFlow */ - source_receiver_flow: { - /** @description The address of the receiver source. This is the value that should be communicated to the customer to send their funds to. */ - address?: string | null; - /** @description The total amount that was moved to your balance. This is almost always equal to the amount charged. In rare cases when customers deposit excess funds and we are unable to refund those, those funds get moved to your balance and show up in amount_charged as well. The amount charged is expressed in the source's currency. */ - amount_charged: number; - /** @description The total amount received by the receiver source. `amount_received = amount_returned + amount_charged` should be true for consumed sources unless customers deposit excess funds. The amount received is expressed in the source's currency. */ - amount_received: number; - /** @description The total amount that was returned to the customer. The amount returned is expressed in the source's currency. */ - amount_returned: number; - /** @description Type of refund attribute method, one of `email`, `manual`, or `none`. */ - refund_attributes_method: string; - /** @description Type of refund attribute status, one of `missing`, `requested`, or `available`. */ - refund_attributes_status: string; - }; - /** SourceRedirectFlow */ - source_redirect_flow: { - /** @description The failure reason for the redirect, either `user_abort` (the customer aborted or dropped out of the redirect flow), `declined` (the authentication failed or the transaction was declined), or `processing_error` (the redirect failed due to a technical error). Present only if the redirect status is `failed`. */ - failure_reason?: string | null; - /** @description The URL you provide to redirect the customer to after they authenticated their payment. */ - return_url: string; - /** @description The status of the redirect, either `pending` (ready to be used by your customer to authenticate the transaction), `succeeded` (succesful authentication, cannot be reused) or `not_required` (redirect should not be used) or `failed` (failed authentication, cannot be reused). */ - status: string; - /** @description The URL provided to you to redirect a customer to as part of a `redirect` authentication flow. */ - url: string; - }; - /** - * SourceTransaction - * @description Some payment methods have no required amount that a customer must send. - * Customers can be instructed to send any amount, and it can be made up of - * multiple transactions. As such, sources can have multiple associated - * transactions. - */ - source_transaction: { - ach_credit_transfer?: components["schemas"]["source_transaction_ach_credit_transfer_data"]; - /** @description A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount your customer has pushed to the receiver. */ - amount: number; - chf_credit_transfer?: components["schemas"]["source_transaction_chf_credit_transfer_data"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - gbp_credit_transfer?: components["schemas"]["source_transaction_gbp_credit_transfer_data"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "source_transaction"; - paper_check?: components["schemas"]["source_transaction_paper_check_data"]; - sepa_credit_transfer?: components["schemas"]["source_transaction_sepa_credit_transfer_data"]; - /** @description The ID of the source this transaction is attached to. */ - source: string; - /** @description The status of the transaction, one of `succeeded`, `pending`, or `failed`. */ - status: string; - /** - * @description The type of source this transaction is attached to. - * @enum {string} - */ - type: "ach_credit_transfer" | "ach_debit" | "alipay" | "bancontact" | "card" | "card_present" | "eps" | "giropay" | "ideal" | "klarna" | "multibanco" | "p24" | "sepa_debit" | "sofort" | "three_d_secure" | "wechat"; - }; - /** SourceTransactionAchCreditTransferData */ - source_transaction_ach_credit_transfer_data: { - /** @description Customer data associated with the transfer. */ - customer_data?: string; - /** @description Bank account fingerprint associated with the transfer. */ - fingerprint?: string; - /** @description Last 4 digits of the account number associated with the transfer. */ - last4?: string; - /** @description Routing number associated with the transfer. */ - routing_number?: string; - }; - /** SourceTransactionChfCreditTransferData */ - source_transaction_chf_credit_transfer_data: { - /** @description Reference associated with the transfer. */ - reference?: string; - /** @description Sender's country address. */ - sender_address_country?: string; - /** @description Sender's line 1 address. */ - sender_address_line1?: string; - /** @description Sender's bank account IBAN. */ - sender_iban?: string; - /** @description Sender's name. */ - sender_name?: string; - }; - /** SourceTransactionGbpCreditTransferData */ - source_transaction_gbp_credit_transfer_data: { - /** @description Bank account fingerprint associated with the Stripe owned bank account receiving the transfer. */ - fingerprint?: string; - /** @description The credit transfer rails the sender used to push this transfer. The possible rails are: Faster Payments, BACS, CHAPS, and wire transfers. Currently only Faster Payments is supported. */ - funding_method?: string; - /** @description Last 4 digits of sender account number associated with the transfer. */ - last4?: string; - /** @description Sender entered arbitrary information about the transfer. */ - reference?: string; - /** @description Sender account number associated with the transfer. */ - sender_account_number?: string; - /** @description Sender name associated with the transfer. */ - sender_name?: string; - /** @description Sender sort code associated with the transfer. */ - sender_sort_code?: string; - }; - /** SourceTransactionPaperCheckData */ - source_transaction_paper_check_data: { - /** @description Time at which the deposited funds will be available for use. Measured in seconds since the Unix epoch. */ - available_at?: string; - /** @description Comma-separated list of invoice IDs associated with the paper check. */ - invoices?: string; - }; - /** SourceTransactionSepaCreditTransferData */ - source_transaction_sepa_credit_transfer_data: { - /** @description Reference associated with the transfer. */ - reference?: string; - /** @description Sender's bank account IBAN. */ - sender_iban?: string; - /** @description Sender's name. */ - sender_name?: string; - }; - source_type_ach_credit_transfer: { - account_number?: string | null; - bank_name?: string | null; - fingerprint?: string | null; - refund_account_holder_name?: string | null; - refund_account_holder_type?: string | null; - refund_routing_number?: string | null; - routing_number?: string | null; - swift_code?: string | null; - }; - source_type_ach_debit: { - bank_name?: string | null; - country?: string | null; - fingerprint?: string | null; - last4?: string | null; - routing_number?: string | null; - type?: string | null; - }; - source_type_acss_debit: { - bank_address_city?: string | null; - bank_address_line_1?: string | null; - bank_address_line_2?: string | null; - bank_address_postal_code?: string | null; - bank_name?: string | null; - category?: string | null; - country?: string | null; - fingerprint?: string | null; - last4?: string | null; - routing_number?: string | null; - }; - source_type_alipay: { - data_string?: string | null; - native_url?: string | null; - statement_descriptor?: string | null; - }; - source_type_au_becs_debit: { - bsb_number?: string | null; - fingerprint?: string | null; - last4?: string | null; - }; - source_type_bancontact: { - bank_code?: string | null; - bank_name?: string | null; - bic?: string | null; - iban_last4?: string | null; - preferred_language?: string | null; - statement_descriptor?: string | null; - }; - source_type_card: { - address_line1_check?: string | null; - address_zip_check?: string | null; - brand?: string | null; - country?: string | null; - cvc_check?: string | null; - dynamic_last4?: string | null; - exp_month?: number | null; - exp_year?: number | null; - fingerprint?: string; - funding?: string | null; - last4?: string | null; - name?: string | null; - three_d_secure?: string; - tokenization_method?: string | null; - }; - source_type_card_present: { - application_cryptogram?: string; - application_preferred_name?: string; - authorization_code?: string | null; - authorization_response_code?: string; - brand?: string | null; - country?: string | null; - cvm_type?: string; - data_type?: string | null; - dedicated_file_name?: string; - emv_auth_data?: string; - evidence_customer_signature?: string | null; - evidence_transaction_certificate?: string | null; - exp_month?: number | null; - exp_year?: number | null; - fingerprint?: string; - funding?: string | null; - last4?: string | null; - pos_device_id?: string | null; - pos_entry_mode?: string; - read_method?: string | null; - reader?: string | null; - terminal_verification_results?: string; - transaction_status_information?: string; - }; - source_type_eps: { - reference?: string | null; - statement_descriptor?: string | null; - }; - source_type_giropay: { - bank_code?: string | null; - bank_name?: string | null; - bic?: string | null; - statement_descriptor?: string | null; - }; - source_type_ideal: { - bank?: string | null; - bic?: string | null; - iban_last4?: string | null; - statement_descriptor?: string | null; - }; - source_type_klarna: { - background_image_url?: string; - client_token?: string | null; - first_name?: string; - last_name?: string; - locale?: string; - logo_url?: string; - page_title?: string; - pay_later_asset_urls_descriptive?: string; - pay_later_asset_urls_standard?: string; - pay_later_name?: string; - pay_later_redirect_url?: string; - pay_now_asset_urls_descriptive?: string; - pay_now_asset_urls_standard?: string; - pay_now_name?: string; - pay_now_redirect_url?: string; - pay_over_time_asset_urls_descriptive?: string; - pay_over_time_asset_urls_standard?: string; - pay_over_time_name?: string; - pay_over_time_redirect_url?: string; - payment_method_categories?: string; - purchase_country?: string; - purchase_type?: string; - redirect_url?: string; - shipping_delay?: number; - shipping_first_name?: string; - shipping_last_name?: string; - }; - source_type_multibanco: { - entity?: string | null; - reference?: string | null; - refund_account_holder_address_city?: string | null; - refund_account_holder_address_country?: string | null; - refund_account_holder_address_line1?: string | null; - refund_account_holder_address_line2?: string | null; - refund_account_holder_address_postal_code?: string | null; - refund_account_holder_address_state?: string | null; - refund_account_holder_name?: string | null; - refund_iban?: string | null; - }; - source_type_p24: { - reference?: string | null; - }; - source_type_sepa_debit: { - bank_code?: string | null; - branch_code?: string | null; - country?: string | null; - fingerprint?: string | null; - last4?: string | null; - mandate_reference?: string | null; - mandate_url?: string | null; - }; - source_type_sofort: { - bank_code?: string | null; - bank_name?: string | null; - bic?: string | null; - country?: string | null; - iban_last4?: string | null; - preferred_language?: string | null; - statement_descriptor?: string | null; - }; - source_type_three_d_secure: { - address_line1_check?: string | null; - address_zip_check?: string | null; - authenticated?: boolean | null; - brand?: string | null; - card?: string | null; - country?: string | null; - customer?: string | null; - cvc_check?: string | null; - dynamic_last4?: string | null; - exp_month?: number | null; - exp_year?: number | null; - fingerprint?: string; - funding?: string | null; - last4?: string | null; - name?: string | null; - three_d_secure?: string; - tokenization_method?: string | null; - }; - source_type_wechat: { - prepay_id?: string; - qr_code_url?: string | null; - statement_descriptor?: string; - }; - /** - * Subscription - * @description Subscriptions allow you to charge a customer on a recurring basis. - * - * Related guide: [Creating subscriptions](https://stripe.com/docs/billing/subscriptions/creating) - */ - subscription: { - /** @description ID of the Connect Application that created the subscription. */ - application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. */ - application_fee_percent?: number | null; - automatic_tax: components["schemas"]["subscription_automatic_tax"]; - /** - * Format: unix-time - * @description Determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format. - */ - billing_cycle_anchor: number; - /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period */ - billing_thresholds?: components["schemas"]["subscription_billing_thresholds"] | null; - /** - * Format: unix-time - * @description A date in the future at which the subscription will automatically get canceled - */ - cancel_at?: number | null; - /** @description If the subscription has been canceled with the `at_period_end` flag set to `true`, `cancel_at_period_end` on the subscription will be true. You can use this attribute to determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period. */ - cancel_at_period_end: boolean; - /** - * Format: unix-time - * @description If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with `cancel_at_period_end`, `canceled_at` will reflect the time of the most recent update request, not the end of the subscription period when the subscription is automatically moved to a canceled state. - */ - canceled_at?: number | null; - /** @description Details about why this subscription was cancelled */ - cancellation_details?: components["schemas"]["cancellation_details"] | null; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. - * @enum {string} - */ - collection_method: "charge_automatically" | "send_invoice"; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** - * Format: unix-time - * @description End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created. - */ - current_period_end: number; - /** - * Format: unix-time - * @description Start of the current period that the subscription has been invoiced for. - */ - current_period_start: number; - /** @description ID of the customer who owns the subscription. */ - customer: string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]; - /** @description Number of days a customer has to pay invoices generated by this subscription. This value will be `null` for subscriptions where `collection_method=charge_automatically`. */ - days_until_due?: number | null; - /** @description ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ - default_payment_method?: (string | components["schemas"]["payment_method"]) | null; - /** @description ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ - default_source?: (string | components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"]) | null; - /** @description The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. */ - default_tax_rates?: components["schemas"]["tax_rate"][] | null; - /** @description The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces. */ - description?: string | null; - /** @description Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis. */ - discount?: components["schemas"]["discount"] | null; - /** - * Format: unix-time - * @description If the subscription has ended, the date the subscription ended. - */ - ended_at?: number | null; - /** @description Unique identifier for the object. */ - id: string; - /** - * SubscriptionItemList - * @description List of subscription items, each with an attached price. - */ - items: { - /** @description Details about each object. */ - data: components["schemas"]["subscription_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; + "/v1/account": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an account.

*/ + get: operations["GetAccount"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/account_links": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow.

*/ + post: operations["PostAccountLinks"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/account_sessions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access.

*/ + post: operations["PostAccountSessions"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty.

*/ + get: operations["GetAccounts"]; + put: never; + /** @description

With Connect, you can create Stripe accounts for your users. + * To do this, you’ll first need to register your platform.

+ * + *

If you’ve already collected information for your connected accounts, you can prefill that information when + * creating the account. Connect Onboarding won’t ask for the prefilled information during account onboarding. + * You can prefill any information on the account.

*/ + post: operations["PostAccounts"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an account.

*/ + get: operations["GetAccountsAccount"]; + put: never; + /** @description

Updates a connected account by setting the values of the parameters passed. Any parameters not provided are + * left unchanged.

+ * + *

For Custom accounts, you can update any information on the account. For other accounts, you can update all information until that + * account has started to go through Connect Onboarding. Once you create an Account Link + * for a Standard or Express account, some parameters can no longer be changed. These are marked as Custom Only or Custom and Express + * below.

+ * + *

To update your own account, use the Dashboard. Refer to our + * Connect documentation to learn more about updating accounts.

*/ + post: operations["PostAccountsAccount"]; + /** @description

With Connect, you can delete accounts you manage.

+ * + *

Accounts created using test-mode keys can be deleted at any time. Standard accounts created using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys can only be deleted once all balances are zero.

+ * + *

If you want to delete your own account, use the account information tab in your account settings instead.

*/ + delete: operations["DeleteAccountsAccount"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/bank_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Create an external account for a given account.

*/ + post: operations["PostAccountsAccountBankAccounts"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/bank_accounts/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve a specified external account for a given account.

*/ + get: operations["GetAccountsAccountBankAccountsId"]; + put: never; + /** @description

Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.

+ * + *

You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.

*/ + post: operations["PostAccountsAccountBankAccountsId"]; + /** @description

Delete a specified external account for a given account.

*/ + delete: operations["DeleteAccountsAccountBankAccountsId"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/capabilities": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.

*/ + get: operations["GetAccountsAccountCapabilities"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/capabilities/{capability}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves information about the specified Account Capability.

*/ + get: operations["GetAccountsAccountCapabilitiesCapability"]; + put: never; + /** @description

Updates an existing Account Capability. Request or remove a capability by updating its requested parameter.

*/ + post: operations["PostAccountsAccountCapabilitiesCapability"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/external_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

List external accounts for an account.

*/ + get: operations["GetAccountsAccountExternalAccounts"]; + put: never; + /** @description

Create an external account for a given account.

*/ + post: operations["PostAccountsAccountExternalAccounts"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/external_accounts/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve a specified external account for a given account.

*/ + get: operations["GetAccountsAccountExternalAccountsId"]; + put: never; + /** @description

Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.

+ * + *

You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.

*/ + post: operations["PostAccountsAccountExternalAccountsId"]; + /** @description

Delete a specified external account for a given account.

*/ + delete: operations["DeleteAccountsAccountExternalAccountsId"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/login_links": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Creates a single-use login link for an Express account to access their Stripe dashboard.

+ * + *

You may only create login links for Express accounts connected to your platform.

*/ + post: operations["PostAccountsAccountLoginLinks"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/people": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.

*/ + get: operations["GetAccountsAccountPeople"]; + put: never; + /** @description

Creates a new person.

*/ + post: operations["PostAccountsAccountPeople"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/people/{person}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an existing person.

*/ + get: operations["GetAccountsAccountPeoplePerson"]; + put: never; + /** @description

Updates an existing person.

*/ + post: operations["PostAccountsAccountPeoplePerson"]; + /** @description

Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.

*/ + delete: operations["DeleteAccountsAccountPeoplePerson"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/persons": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.

*/ + get: operations["GetAccountsAccountPersons"]; + put: never; + /** @description

Creates a new person.

*/ + post: operations["PostAccountsAccountPersons"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/persons/{person}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an existing person.

*/ + get: operations["GetAccountsAccountPersonsPerson"]; + put: never; + /** @description

Updates an existing person.

*/ + post: operations["PostAccountsAccountPersonsPerson"]; + /** @description

Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.

*/ + delete: operations["DeleteAccountsAccountPersonsPerson"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/accounts/{account}/reject": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

With Connect, you may flag accounts as suspicious.

+ * + *

Test-mode Custom and Express accounts can be rejected at any time. Accounts created using live-mode keys may only be rejected once all balances are zero.

*/ + post: operations["PostAccountsAccountReject"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/apple_pay/domains": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

List apple pay domains.

*/ + get: operations["GetApplePayDomains"]; + put: never; + /** @description

Create an apple pay domain.

*/ + post: operations["PostApplePayDomains"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/apple_pay/domains/{domain}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve an apple pay domain.

*/ + get: operations["GetApplePayDomainsDomain"]; + put: never; + post: never; + /** @description

Delete an apple pay domain.

*/ + delete: operations["DeleteApplePayDomainsDomain"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/application_fees": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of application fees you’ve previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.

*/ + get: operations["GetApplicationFees"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/application_fees/{fee}/refunds/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee.

*/ + get: operations["GetApplicationFeesFeeRefundsId"]; + put: never; + /** @description

Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

+ * + *

This request only accepts metadata as an argument.

*/ + post: operations["PostApplicationFeesFeeRefundsId"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/application_fees/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee.

*/ + get: operations["GetApplicationFeesId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/application_fees/{id}/refund": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: operations["PostApplicationFeesIdRefund"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/application_fees/{id}/refunds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds.

*/ + get: operations["GetApplicationFeesIdRefunds"]; + put: never; + /** @description

Refunds an application fee that has previously been collected but not yet refunded. + * Funds will be refunded to the Stripe account from which the fee was originally collected.

+ * + *

You can optionally refund only part of an application fee. + * You can do so multiple times, until the entire fee has been refunded.

+ * + *

Once entirely refunded, an application fee can’t be refunded again. + * This method will raise an error when called on an already-refunded application fee, + * or when trying to refund more money than is left on an application fee.

*/ + post: operations["PostApplicationFeesIdRefunds"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/apps/secrets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

List all secrets stored on the given scope.

*/ + get: operations["GetAppsSecrets"]; + put: never; + /** @description

Create or replace a secret in the secret store.

*/ + post: operations["PostAppsSecrets"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/apps/secrets/delete": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Deletes a secret from the secret store by name and scope.

*/ + post: operations["PostAppsSecretsDelete"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/apps/secrets/find": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Finds a secret in the secret store by name and scope.

*/ + get: operations["GetAppsSecretsFind"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/balance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the current account balance, based on the authentication that was used to make the request. + * For a sample request, see Accounting for negative balances.

*/ + get: operations["GetBalance"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/balance/history": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.

+ * + *

Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history.

*/ + get: operations["GetBalanceHistory"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/balance/history/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the balance transaction with the given ID.

+ * + *

Note that this endpoint previously used the path /v1/balance/history/:id.

*/ + get: operations["GetBalanceHistoryId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/balance_transactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.

+ * + *

Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history.

*/ + get: operations["GetBalanceTransactions"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/balance_transactions/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the balance transaction with the given ID.

+ * + *

Note that this endpoint previously used the path /v1/balance/history/:id.

*/ + get: operations["GetBalanceTransactionsId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/billing_portal/configurations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of configurations that describe the functionality of the customer portal.

*/ + get: operations["GetBillingPortalConfigurations"]; + put: never; + /** @description

Creates a configuration that describes the functionality and behavior of a PortalSession

*/ + post: operations["PostBillingPortalConfigurations"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/billing_portal/configurations/{configuration}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a configuration that describes the functionality of the customer portal.

*/ + get: operations["GetBillingPortalConfigurationsConfiguration"]; + put: never; + /** @description

Updates a configuration that describes the functionality of the customer portal.

*/ + post: operations["PostBillingPortalConfigurationsConfiguration"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/billing_portal/sessions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Creates a session of the customer portal.

*/ + post: operations["PostBillingPortalSessions"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/charges": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.

*/ + get: operations["GetCharges"]; + put: never; + /** @description

Use the Payment Intents API to initiate a new payment instead + * of using this method. Confirmation of the PaymentIntent creates the Charge + * object used to request payment, so this method is limited to legacy integrations.

*/ + post: operations["PostCharges"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/charges/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Search for charges you’ve previously created using Stripe’s Search Query Language. + * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating + * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up + * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ + get: operations["GetChargesSearch"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/charges/{charge}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge.

*/ + get: operations["GetChargesCharge"]; + put: never; + /** @description

Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ + post: operations["PostChargesCharge"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/charges/{charge}/capture": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Capture the payment of an existing, uncaptured charge that was created with the capture option set to false.

+ * + *

Uncaptured payments expire a set number of days after they are created (7 by default), after which they are marked as refunded and capture attempts will fail.

+ * + *

Don’t use this method to capture a PaymentIntent-initiated charge. Use Capture a PaymentIntent.

*/ + post: operations["PostChargesChargeCapture"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/charges/{charge}/dispute": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve a dispute for a specified charge.

*/ + get: operations["GetChargesChargeDispute"]; + put: never; + post: operations["PostChargesChargeDispute"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/charges/{charge}/dispute/close": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: operations["PostChargesChargeDisputeClose"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/charges/{charge}/refund": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

When you create a new refund, you must specify either a Charge or a PaymentIntent object.

+ * + *

This action refunds a previously created charge that’s not refunded yet. + * Funds are refunded to the credit or debit card that’s originally charged.

+ * + *

You can optionally refund only part of a charge. + * You can repeat this until the entire charge is refunded.

+ * + *

After you entirely refund a charge, you can’t refund it again. + * This method raises an error when it’s called on an already-refunded charge, + * or when you attempt to refund more money than is left on a charge.

*/ + post: operations["PostChargesChargeRefund"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/charges/{charge}/refunds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds.

*/ + get: operations["GetChargesChargeRefunds"]; + put: never; + /** @description

When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.

+ * + *

Creating a new refund will refund a charge that has previously been created but not yet refunded. + * Funds will be refunded to the credit or debit card that was originally charged.

+ * + *

You can optionally refund only part of a charge. + * You can do so multiple times, until the entire charge has been refunded.

+ * + *

Once entirely refunded, a charge can’t be refunded again. + * This method will raise an error when called on an already-refunded charge, + * or when trying to refund more money than is left on a charge.

*/ + post: operations["PostChargesChargeRefunds"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/charges/{charge}/refunds/{refund}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing refund.

*/ + get: operations["GetChargesChargeRefundsRefund"]; + put: never; + /** @description

Update a specified refund.

*/ + post: operations["PostChargesChargeRefundsRefund"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/checkout/sessions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Checkout Sessions.

*/ + get: operations["GetCheckoutSessions"]; + put: never; + /** @description

Creates a Session object.

*/ + post: operations["PostCheckoutSessions"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/checkout/sessions/{session}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a Session object.

*/ + get: operations["GetCheckoutSessionsSession"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/checkout/sessions/{session}/expire": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

A Session can be expired when it is in one of these statuses: open

+ * + *

After it expires, a customer can’t complete a Session and customers loading the Session see a message saying the Session is expired.

*/ + post: operations["PostCheckoutSessionsSessionExpire"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/checkout/sessions/{session}/line_items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ + get: operations["GetCheckoutSessionsSessionLineItems"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/country_specs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Lists all Country Spec objects available in the API.

*/ + get: operations["GetCountrySpecs"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/country_specs/{country}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a Country Spec for a given Country code.

*/ + get: operations["GetCountrySpecsCountry"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/coupons": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your coupons.

*/ + get: operations["GetCoupons"]; + put: never; + /** @description

You can create coupons easily via the coupon management page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.

+ * + *

A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoice’s subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off of 200 is applied to it.

*/ + post: operations["PostCoupons"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/coupons/{coupon}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the coupon with the given ID.

*/ + get: operations["GetCouponsCoupon"]; + put: never; + /** @description

Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.

*/ + post: operations["PostCouponsCoupon"]; + /** @description

You can delete coupons via the coupon management page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can’t redeem the coupon. You can also delete coupons via the API.

*/ + delete: operations["DeleteCouponsCoupon"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/credit_notes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of credit notes.

*/ + get: operations["GetCreditNotes"]; + put: never; + /** @description

Issue a credit note to adjust the amount of a finalized invoice. For a status=open invoice, a credit note reduces + * its amount_due. For a status=paid invoice, a credit note does not affect its amount_due. Instead, it can result + * in any combination of the following:

+ * + *
    + *
  • Refund: create a new refund (using refund_amount) or link an existing refund (using refund).
  • + *
  • Customer balance credit: credit the customer’s balance (using credit_amount) which will be automatically applied to their next invoice when it’s finalized.
  • + *
  • Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount).
  • + *
+ * + *

For post-payment credit notes the sum of the refund, credit and outside of Stripe amounts must equal the credit note total.

+ * + *

You may issue multiple credit notes for an invoice. Each credit note will increment the invoice’s pre_payment_credit_notes_amount + * or post_payment_credit_notes_amount depending on its status at the time of credit note creation.

*/ + post: operations["PostCreditNotes"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/credit_notes/preview": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Get a preview of a credit note without creating it.

*/ + get: operations["GetCreditNotesPreview"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/credit_notes/preview/lines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

When retrieving a credit note preview, you’ll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.

*/ + get: operations["GetCreditNotesPreviewLines"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/credit_notes/{credit_note}/lines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

When retrieving a credit note, you’ll get a lines property containing the the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ + get: operations["GetCreditNotesCreditNoteLines"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/credit_notes/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the credit note object with the given identifier.

*/ + get: operations["GetCreditNotesId"]; + put: never; + /** @description

Updates an existing credit note.

*/ + post: operations["PostCreditNotesId"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/credit_notes/{id}/void": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Marks a credit note as void. Learn more about voiding credit notes.

*/ + post: operations["PostCreditNotesIdVoid"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.

*/ + get: operations["GetCustomers"]; + put: never; + /** @description

Creates a new customer object.

*/ + post: operations["PostCustomers"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Search for customers you’ve previously created using Stripe’s Search Query Language. + * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating + * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up + * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ + get: operations["GetCustomersSearch"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a Customer object.

*/ + get: operations["GetCustomersCustomer"]; + put: never; + /** @description

Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer’s active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer’s current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior.

+ * + *

This request accepts mostly the same arguments as the customer creation call.

*/ + post: operations["PostCustomersCustomer"]; + /** @description

Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.

*/ + delete: operations["DeleteCustomersCustomer"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/balance_transactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of transactions that updated the customer’s balances.

*/ + get: operations["GetCustomersCustomerBalanceTransactions"]; + put: never; + /** @description

Creates an immutable transaction that updates the customer’s credit balance.

*/ + post: operations["PostCustomersCustomerBalanceTransactions"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/balance_transactions/{transaction}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a specific customer balance transaction that updated the customer’s balances.

*/ + get: operations["GetCustomersCustomerBalanceTransactionsTransaction"]; + put: never; + /** @description

Most credit balance transaction fields are immutable, but you may update its description and metadata.

*/ + post: operations["PostCustomersCustomerBalanceTransactionsTransaction"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/bank_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} + * @deprecated + * @description

You can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional bank accounts.

*/ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - /** @description The most recent invoice this subscription has generated. */ - latest_invoice?: (string | components["schemas"]["invoice"]) | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * Format: unix-time - * @description Specifies the approximate timestamp on which any pending invoice items will be billed according to the schedule provided at `pending_invoice_item_interval`. - */ - next_pending_invoice_item_invoice?: number | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "subscription"; - /** @description The account (if any) the charge was made on behalf of for charges associated with this subscription. See the Connect documentation for details. */ - on_behalf_of?: (string | components["schemas"]["account"]) | null; - /** @description If specified, payment collection for this subscription will be paused. */ - pause_collection?: components["schemas"]["subscriptions_resource_pause_collection"] | null; - /** @description Payment settings passed on to invoices created by the subscription. */ - payment_settings?: components["schemas"]["subscriptions_resource_payment_settings"] | null; - /** @description Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. */ - pending_invoice_item_interval?: components["schemas"]["subscription_pending_invoice_item_interval"] | null; - /** @description You can use this [SetupIntent](https://stripe.com/docs/api/setup_intents) to collect user authentication when creating a subscription without immediate payment or updating a subscription's payment method, allowing you to optimize for off-session payments. Learn more in the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication#scenario-2). */ - pending_setup_intent?: (string | components["schemas"]["setup_intent"]) | null; - /** @description If specified, [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates) that will be applied to the subscription once the `latest_invoice` has been paid. */ - pending_update?: components["schemas"]["subscriptions_resource_pending_update"] | null; - /** @description The schedule attached to the subscription */ - schedule?: (string | components["schemas"]["subscription_schedule"]) | null; - /** - * Format: unix-time - * @description Date when the subscription was first created. The date might differ from the `created` date due to backdating. - */ - start_date: number; - /** - * @description Possible values are `incomplete`, `incomplete_expired`, `trialing`, `active`, `past_due`, `canceled`, or `unpaid`. - * - * For `collection_method=charge_automatically` a subscription moves into `incomplete` if the initial payment attempt fails. A subscription in this state can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an `active` state. If the first invoice is not paid within 23 hours, the subscription transitions to `incomplete_expired`. This is a terminal state, the open invoice will be voided and no further invoices will be generated. - * - * A subscription that is currently in a trial period is `trialing` and moves to `active` when the trial period is over. - * - * If subscription `collection_method=charge_automatically`, it becomes `past_due` when payment is required but cannot be paid (due to failed payment or awaiting additional user actions). Once Stripe has exhausted all payment retry attempts, the subscription will become `canceled` or `unpaid` (depending on your subscriptions settings). - * - * If subscription `collection_method=send_invoice` it becomes `past_due` when its invoice is not paid by the due date, and `canceled` or `unpaid` if it is still not paid by an additional deadline after that. Note that when a subscription has a status of `unpaid`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices. - * @enum {string} - */ - status: "active" | "canceled" | "incomplete" | "incomplete_expired" | "past_due" | "paused" | "trialing" | "unpaid"; - /** @description ID of the test clock this subscription belongs to. */ - test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; - /** @description The account (if any) the subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices. */ - transfer_data?: components["schemas"]["subscription_transfer_data"] | null; - /** - * Format: unix-time - * @description If the subscription has a trial, the end of that trial. - */ - trial_end?: number | null; - /** @description Settings related to subscription trials. */ - trial_settings?: components["schemas"]["subscriptions_trials_resource_trial_settings"] | null; - /** - * Format: unix-time - * @description If the subscription has a trial, the beginning of that trial. - */ - trial_start?: number | null; - }; - /** SubscriptionAutomaticTax */ - subscription_automatic_tax: { - /** @description Whether Stripe automatically computes tax on this subscription. */ - enabled: boolean; - }; - /** SubscriptionBillingThresholds */ - subscription_billing_thresholds: { - /** @description Monetary threshold that triggers the subscription to create an invoice */ - amount_gte?: number | null; - /** @description Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`. */ - reset_billing_cycle_anchor?: boolean | null; - }; - /** SubscriptionDetailsData */ - subscription_details_data: { - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will reflect the metadata of the subscription at the time of invoice creation. *Note: This attribute is populated only for invoices created on or after June 29, 2023.* */ - metadata?: { - [key: string]: string; - } | null; - }; - /** - * SubscriptionItem - * @description Subscription items allow you to create customer subscriptions with more than - * one plan, making it easy to represent complex billing relationships. - */ - subscription_item: { - /** @description Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period */ - billing_thresholds?: components["schemas"]["subscription_item_billing_thresholds"] | null; - /** @description Time at which the object was created. Measured in seconds since the Unix epoch. */ - created: number; - /** @description Unique identifier for the object. */ - id: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "subscription_item"; - price: components["schemas"]["price"]; - /** @description The [quantity](https://stripe.com/docs/subscriptions/quantities) of the plan to which the customer should be subscribed. */ - quantity?: number; - /** @description The `subscription` this `subscription_item` belongs to. */ - subscription: string; - /** @description The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`. */ - tax_rates?: components["schemas"]["tax_rate"][] | null; - }; - /** SubscriptionItemBillingThresholds */ - subscription_item_billing_thresholds: { - /** @description Usage threshold that triggers the subscription to create an invoice */ - usage_gte?: number | null; - }; - /** subscription_payment_method_options_card */ - subscription_payment_method_options_card: { - mandate_options?: components["schemas"]["invoice_mandate_options_card"]; - /** - * @description Selected network to process this Subscription on. Depends on the available networks of the card attached to the Subscription. Can be only set confirm-time. - * @enum {string|null} - */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa" | null; - /** - * @description We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. - * @enum {string|null} - */ - request_three_d_secure?: "any" | "automatic" | null; - }; - /** SubscriptionPendingInvoiceItemInterval */ - subscription_pending_invoice_item_interval: { - /** - * @description Specifies invoicing frequency. Either `day`, `week`, `month` or `year`. - * @enum {string} - */ - interval: "day" | "month" | "week" | "year"; - /** @description The number of intervals between invoices. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). */ - interval_count: number; - }; - /** - * SubscriptionSchedule - * @description A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes. - * - * Related guide: [Subscription schedules](https://stripe.com/docs/billing/subscriptions/subscription-schedules) - */ - subscription_schedule: { - /** @description ID of the Connect Application that created the schedule. */ - application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; - /** - * Format: unix-time - * @description Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch. - */ - canceled_at?: number | null; - /** - * Format: unix-time - * @description Time at which the subscription schedule was completed. Measured in seconds since the Unix epoch. - */ - completed_at?: number | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Object representing the start and end dates for the current phase of the subscription schedule, if it is `active`. */ - current_phase?: components["schemas"]["subscription_schedule_current_phase"] | null; - /** @description ID of the customer who owns the subscription schedule. */ - customer: string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]; - default_settings: components["schemas"]["subscription_schedules_resource_default_settings"]; - /** - * @description Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running.`cancel` will end the subscription schedule and cancel the underlying subscription. - * @enum {string} - */ - end_behavior: "cancel" | "none" | "release" | "renew"; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "subscription_schedule"; - /** @description Configuration for the subscription schedule's phases. */ - phases: components["schemas"]["subscription_schedule_phase_configuration"][]; - /** - * Format: unix-time - * @description Time at which the subscription schedule was released. Measured in seconds since the Unix epoch. - */ - released_at?: number | null; - /** @description ID of the subscription once managed by the subscription schedule (if it is released). */ - released_subscription?: string | null; - /** - * @description The present status of the subscription schedule. Possible values are `not_started`, `active`, `completed`, `released`, and `canceled`. You can read more about the different states in our [behavior guide](https://stripe.com/docs/billing/subscriptions/subscription-schedules). - * @enum {string} - */ - status: "active" | "canceled" | "completed" | "not_started" | "released"; - /** @description ID of the subscription managed by the subscription schedule. */ - subscription?: (string | components["schemas"]["subscription"]) | null; - /** @description ID of the test clock this subscription schedule belongs to. */ - test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; - }; - /** - * SubscriptionScheduleAddInvoiceItem - * @description An Add Invoice Item describes the prices and quantities that will be added as pending invoice items when entering a phase. - */ - subscription_schedule_add_invoice_item: { - /** @description ID of the price used to generate the invoice item. */ - price: string | components["schemas"]["price"] | components["schemas"]["deleted_price"]; - /** @description The quantity of the invoice item. */ - quantity?: number | null; - /** @description The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item. */ - tax_rates?: components["schemas"]["tax_rate"][] | null; - }; - /** - * SubscriptionScheduleConfigurationItem - * @description A phase item describes the price and quantity of a phase. - */ - subscription_schedule_configuration_item: { - /** @description Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period */ - billing_thresholds?: components["schemas"]["subscription_item_billing_thresholds"] | null; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an item. Metadata on this item will update the underlying subscription item's `metadata` when the phase is entered. */ - metadata?: { - [key: string]: string; - } | null; - /** @description ID of the price to which the customer should be subscribed. */ - price: string | components["schemas"]["price"] | components["schemas"]["deleted_price"]; - /** @description Quantity of the plan to which the customer should be subscribed. */ - quantity?: number; - /** @description The tax rates which apply to this `phase_item`. When set, the `default_tax_rates` on the phase do not apply to this `phase_item`. */ - tax_rates?: components["schemas"]["tax_rate"][] | null; - }; - /** SubscriptionScheduleCurrentPhase */ - subscription_schedule_current_phase: { - /** - * Format: unix-time - * @description The end of this phase of the subscription schedule. - */ - end_date: number; - /** - * Format: unix-time - * @description The start of this phase of the subscription schedule. - */ - start_date: number; - }; - /** - * SubscriptionSchedulePhaseConfiguration - * @description A phase describes the plans, coupon, and trialing status of a subscription for a predefined time period. - */ - subscription_schedule_phase_configuration: { - /** @description A list of prices and quantities that will generate invoice items appended to the next invoice for this phase. */ - add_invoice_items: components["schemas"]["subscription_schedule_add_invoice_item"][]; - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account during this phase of the schedule. */ - application_fee_percent?: number | null; - automatic_tax?: components["schemas"]["schedules_phase_automatic_tax"]; - /** - * @description Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). - * @enum {string|null} - */ - billing_cycle_anchor?: "automatic" | "phase_start" | null; - /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period */ - billing_thresholds?: components["schemas"]["subscription_billing_thresholds"] | null; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. - * @enum {string|null} - */ - collection_method?: "charge_automatically" | "send_invoice" | null; - /** @description ID of the coupon to use during this phase of the subscription schedule. */ - coupon?: (string | components["schemas"]["coupon"] | components["schemas"]["deleted_coupon"]) | null; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. */ - default_payment_method?: (string | components["schemas"]["payment_method"]) | null; - /** @description The default tax rates to apply to the subscription during this phase of the subscription schedule. */ - default_tax_rates?: components["schemas"]["tax_rate"][] | null; - /** @description Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription. */ - description?: string | null; - /** - * Format: unix-time - * @description The end of this phase of the subscription schedule. - */ - end_date: number; - /** @description The invoice settings applicable during this phase. */ - invoice_settings?: components["schemas"]["invoice_setting_subscription_schedule_phase_setting"] | null; - /** @description Subscription items to configure the subscription to during this phase of the subscription schedule. */ - items: components["schemas"]["subscription_schedule_configuration_item"][]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered. Updating the underlying subscription's `metadata` directly will not affect the current phase's `metadata`. */ - metadata?: { - [key: string]: string; - } | null; - /** @description The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details. */ - on_behalf_of?: (string | components["schemas"]["account"]) | null; - /** - * @description If the subscription schedule will prorate when transitioning to this phase. Possible values are `create_prorations` and `none`. - * @enum {string} - */ - proration_behavior: "always_invoice" | "create_prorations" | "none"; - /** - * Format: unix-time - * @description The start of this phase of the subscription schedule. - */ - start_date: number; - /** @description The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices. */ - transfer_data?: components["schemas"]["subscription_transfer_data"] | null; - /** - * Format: unix-time - * @description When the trial ends within the phase. - */ - trial_end?: number | null; - }; - /** SubscriptionSchedulesResourceDefaultSettings */ - subscription_schedules_resource_default_settings: { - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account during this phase of the schedule. */ - application_fee_percent?: number | null; - automatic_tax?: components["schemas"]["subscription_schedules_resource_default_settings_automatic_tax"]; - /** - * @description Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). - * @enum {string} - */ - billing_cycle_anchor: "automatic" | "phase_start"; - /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period */ - billing_thresholds?: components["schemas"]["subscription_billing_thresholds"] | null; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. - * @enum {string|null} - */ - collection_method?: "charge_automatically" | "send_invoice" | null; - /** @description ID of the default payment method for the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. */ - default_payment_method?: (string | components["schemas"]["payment_method"]) | null; - /** @description Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription. */ - description?: string | null; - /** @description The subscription schedule's default invoice settings. */ - invoice_settings?: components["schemas"]["invoice_setting_subscription_schedule_setting"] | null; - /** @description The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details. */ - on_behalf_of?: (string | components["schemas"]["account"]) | null; - /** @description The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices. */ - transfer_data?: components["schemas"]["subscription_transfer_data"] | null; - }; - /** SubscriptionSchedulesResourceDefaultSettingsAutomaticTax */ - subscription_schedules_resource_default_settings_automatic_tax: { - /** @description Whether Stripe automatically computes tax on invoices created during this phase. */ - enabled: boolean; - }; - /** SubscriptionTransferData */ - subscription_transfer_data: { - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. */ - amount_percent?: number | null; - /** @description The account where funds from the payment will be transferred to upon payment success. */ - destination: string | components["schemas"]["account"]; - }; - /** - * SubscriptionsResourcePauseCollection - * @description The Pause Collection settings determine how we will pause collection for this subscription and for how long the subscription - * should be paused. - */ - subscriptions_resource_pause_collection: { - /** - * @description The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`. - * @enum {string} - */ - behavior: "keep_as_draft" | "mark_uncollectible" | "void"; - /** - * Format: unix-time - * @description The time after which the subscription will resume collecting payments. - */ - resumes_at?: number | null; - }; - /** SubscriptionsResourcePaymentMethodOptions */ - subscriptions_resource_payment_method_options: { - /** @description This sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to invoices created by the subscription. */ - acss_debit?: components["schemas"]["invoice_payment_method_options_acss_debit"] | null; - /** @description This sub-hash contains details about the Bancontact payment method options to pass to invoices created by the subscription. */ - bancontact?: components["schemas"]["invoice_payment_method_options_bancontact"] | null; - /** @description This sub-hash contains details about the Card payment method options to pass to invoices created by the subscription. */ - card?: components["schemas"]["subscription_payment_method_options_card"] | null; - /** @description This sub-hash contains details about the Bank transfer payment method options to pass to invoices created by the subscription. */ - customer_balance?: components["schemas"]["invoice_payment_method_options_customer_balance"] | null; - /** @description This sub-hash contains details about the Konbini payment method options to pass to invoices created by the subscription. */ - konbini?: components["schemas"]["invoice_payment_method_options_konbini"] | null; - /** @description This sub-hash contains details about the ACH direct debit payment method options to pass to invoices created by the subscription. */ - us_bank_account?: components["schemas"]["invoice_payment_method_options_us_bank_account"] | null; - }; - /** SubscriptionsResourcePaymentSettings */ - subscriptions_resource_payment_settings: { - /** @description Payment-method-specific configuration to provide to invoices created by the subscription. */ - payment_method_options?: components["schemas"]["subscriptions_resource_payment_method_options"] | null; - /** @description The list of payment method types to provide to every invoice created by the subscription. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). */ - payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | null; - /** - * @description Either `off`, or `on_subscription`. With `on_subscription` Stripe updates `subscription.default_payment_method` when a subscription payment succeeds. - * @enum {string|null} - */ - save_default_payment_method?: "off" | "on_subscription" | null; - }; - /** - * SubscriptionsResourcePendingUpdate - * @description Pending Updates store the changes pending from a previous update that will be applied - * to the Subscription upon successful payment. - */ - subscriptions_resource_pending_update: { - /** - * Format: unix-time - * @description If the update is applied, determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format. - */ - billing_cycle_anchor?: number | null; - /** - * Format: unix-time - * @description The point after which the changes reflected by this update will be discarded and no longer applied. - */ - expires_at: number; - /** @description List of subscription items, each with an attached plan, that will be set if the update is applied. */ - subscription_items?: components["schemas"]["subscription_item"][] | null; - /** - * Format: unix-time - * @description Unix timestamp representing the end of the trial period the customer will get before being charged for the first time, if the update is applied. - */ - trial_end?: number | null; - /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ - trial_from_plan?: boolean | null; - }; - /** - * SubscriptionsTrialsResourceEndBehavior - * @description Defines how a subscription behaves when a free trial ends. - */ - subscriptions_trials_resource_end_behavior: { - /** - * @description Indicates how the subscription should change when the trial ends if the user did not provide a payment method. - * @enum {string} - */ - missing_payment_method: "cancel" | "create_invoice" | "pause"; - }; - /** - * SubscriptionsTrialsResourceTrialSettings - * @description Configures how this subscription behaves during the trial period. - */ - subscriptions_trials_resource_trial_settings: { - end_behavior: components["schemas"]["subscriptions_trials_resource_end_behavior"]; - }; - /** - * TaxProductResourceTaxCalculation - * @description A Tax Calculation allows you to calculate the tax to collect from your customer. - * - * Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom) - */ - "tax.calculation": { - /** @description Total after taxes. */ - amount_total: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description The ID of an existing [Customer](https://stripe.com/docs/api/customers/object) used for the resource. */ - customer?: string | null; - customer_details: components["schemas"]["tax_product_resource_customer_details"]; - /** - * Format: unix-time - * @description Timestamp of date at which the tax calculation will expire. - */ - expires_at?: number | null; - /** @description Unique identifier for the calculation. */ - id?: string | null; - /** - * TaxProductResourceTaxCalculationLineItemList - * @description The list of items the customer is purchasing. - */ - line_items?: { - /** @description Details about each object. */ - data: components["schemas"]["tax.calculation_line_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; + get: operations["GetCustomersCustomerBankAccounts"]; + put: never; + /** @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

+ * + *

If the card’s owner has no default card, then the new card will become the default. + * However, if the owner already has a default, then it will not change. + * To change the default, you should update the customer to have a new default_source.

*/ + post: operations["PostCustomersCustomerBankAccounts"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/bank_accounts/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} + * @deprecated + * @description

By default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.

*/ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - } | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "tax.calculation"; - /** @description The shipping cost details for the calculation. */ - shipping_cost?: components["schemas"]["tax_product_resource_tax_calculation_shipping_cost"] | null; - /** @description The amount of tax to be collected on top of the line item prices. */ - tax_amount_exclusive: number; - /** @description The amount of tax already included in the line item prices. */ - tax_amount_inclusive: number; - /** @description Breakdown of individual tax amounts that add up to the total. */ - tax_breakdown: components["schemas"]["tax_product_resource_tax_breakdown"][]; - /** - * Format: unix-time - * @description Timestamp of date at which the tax rules and rates in effect applies for the calculation. - */ - tax_date: number; - }; - /** TaxProductResourceTaxCalculationLineItem */ - "tax.calculation_line_item": { - /** @description The line item amount in integer cents. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. */ - amount: number; - /** @description The amount of tax calculated for this line item, in integer cents. */ - amount_tax: number; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "tax.calculation_line_item"; - /** @description The ID of an existing [Product](https://stripe.com/docs/api/products/object). */ - product?: string | null; - /** @description The number of units of the item being purchased. For reversals, this is the quantity reversed. */ - quantity: number; - /** @description A custom identifier for this line item. */ - reference?: string | null; - /** - * @description Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. - * @enum {string} - */ - tax_behavior: "exclusive" | "inclusive"; - /** @description Detailed account of taxes relevant to this line item. */ - tax_breakdown?: components["schemas"]["tax_product_resource_line_item_tax_breakdown"][] | null; - /** @description The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for this resource. */ - tax_code: string; - }; - /** - * TaxProductResourceTaxSettings - * @description You can use Tax `Settings` to manage configurations used by Stripe Tax calculations. - * - * Related guide: [Using the Settings API](https://stripe.com/docs/tax/settings-api) - */ - "tax.settings": { - defaults: components["schemas"]["tax_product_resource_tax_settings_defaults"]; - /** @description The place where your business is located. */ - head_office?: components["schemas"]["tax_product_resource_tax_settings_head_office"] | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "tax.settings"; - /** - * @description The `active` status indicates you have all required settings to calculate tax. A status can transition out of `active` when new required settings are introduced. - * @enum {string} - */ - status: "active" | "pending"; - status_details: components["schemas"]["tax_product_resource_tax_settings_status_details"]; - }; - /** - * TaxProductResourceTaxTransaction - * @description A Tax Transaction records the tax collected from or refunded to your customer. - * - * Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom#tax-transaction) - */ - "tax.transaction": { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description The ID of an existing [Customer](https://stripe.com/docs/api/customers/object) used for the resource. */ - customer?: string | null; - customer_details: components["schemas"]["tax_product_resource_customer_details"]; - /** @description Unique identifier for the transaction. */ - id: string; - /** - * TaxProductResourceTaxTransactionLineItemList - * @description The tax collected or refunded, by line item. - */ - line_items?: { - /** @description Details about each object. */ - data: components["schemas"]["tax.transaction_line_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; + get: operations["GetCustomersCustomerBankAccountsId"]; + put: never; + /** @description

Update a specified source for a given customer.

*/ + post: operations["PostCustomersCustomerBankAccountsId"]; + /** @description

Delete a specified source for a given customer.

*/ + delete: operations["DeleteCustomersCustomerBankAccountsId"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/bank_accounts/{id}/verify": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Verify a specified bank account for a given customer.

*/ + post: operations["PostCustomersCustomerBankAccountsIdVerify"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/cards": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} + * @deprecated + * @description

You can see a list of the cards belonging to a customer. + * Note that the 10 most recent sources are always available on the Customer object. + * If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional cards.

*/ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - } | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "tax.transaction"; - /** @description A custom unique identifier, such as 'myOrder_123'. */ - reference: string; - /** @description If `type=reversal`, contains information about what was reversed. */ - reversal?: components["schemas"]["tax_product_resource_tax_transaction_resource_reversal"] | null; - /** @description The shipping cost details for the transaction. */ - shipping_cost?: components["schemas"]["tax_product_resource_tax_transaction_shipping_cost"] | null; - /** - * Format: unix-time - * @description Timestamp of date at which the tax rules and rates in effect applies for the calculation. - */ - tax_date: number; - /** - * @description If `reversal`, this transaction reverses an earlier transaction. - * @enum {string} - */ - type: "reversal" | "transaction"; - }; - /** TaxProductResourceTaxTransactionLineItem */ - "tax.transaction_line_item": { - /** @description The line item amount in integer cents. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. */ - amount: number; - /** @description The amount of tax calculated for this line item, in integer cents. */ - amount_tax: number; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "tax.transaction_line_item"; - /** @description The ID of an existing [Product](https://stripe.com/docs/api/products/object). */ - product?: string | null; - /** @description The number of units of the item being purchased. For reversals, this is the quantity reversed. */ - quantity: number; - /** @description A custom identifier for this line item in the transaction. */ - reference: string; - /** @description If `type=reversal`, contains information about what was reversed. */ - reversal?: components["schemas"]["tax_product_resource_tax_transaction_line_item_resource_reversal"] | null; - /** - * @description Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. - * @enum {string} - */ - tax_behavior: "exclusive" | "inclusive"; - /** @description The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for this resource. */ - tax_code: string; - /** - * @description If `reversal`, this line item reverses an earlier transaction. - * @enum {string} - */ - type: "reversal" | "transaction"; - }; - /** - * TaxProductResourceTaxCode - * @description [Tax codes](https://stripe.com/docs/tax/tax-categories) classify goods and services for tax purposes. - */ - tax_code: { - /** @description A detailed description of which types of products the tax code represents. */ - description: string; - /** @description Unique identifier for the object. */ - id: string; - /** @description A short name for the tax code. */ - name: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "tax_code"; - }; - /** TaxDeductedAtSource */ - tax_deducted_at_source: { - /** @description Unique identifier for the object. */ - id: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "tax_deducted_at_source"; - /** - * Format: unix-time - * @description The end of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period. - */ - period_end: number; - /** - * Format: unix-time - * @description The start of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period. - */ - period_start: number; - /** @description The TAN that was supplied to Stripe when TDS was assessed */ - tax_deduction_account_number: string; - }; - /** - * tax_id - * @description You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers) or account. - * Customer and account tax IDs get displayed on related invoices and credit notes. - * - * Related guides: [Customer tax identification numbers](https://stripe.com/docs/billing/taxes/tax-ids), [Account tax IDs](https://stripe.com/docs/invoicing/connect#account-tax-ids) - */ - tax_id: { - /** @description Two-letter ISO code representing the country of the tax ID. */ - country?: string | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description ID of the customer. */ - customer?: (string | components["schemas"]["customer"]) | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "tax_id"; - /** - * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `no_vat`, `nz_gst`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sv_nit`, `th_vat`, `tr_tin`, `tw_vat`, `ua_vat`, `us_ein`, `uy_ruc`, `ve_rif`, `vn_tin`, or `za_vat`. Note that some legacy tax IDs have type `unknown` - * @enum {string} - */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "unknown" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; - /** @description Value of the tax ID. */ - value: string; - /** @description Tax ID verification information. */ - verification?: components["schemas"]["tax_id_verification"] | null; - }; - /** tax_id_verification */ - tax_id_verification: { - /** - * @description Verification status, one of `pending`, `verified`, `unverified`, or `unavailable`. - * @enum {string} - */ - status: "pending" | "unavailable" | "unverified" | "verified"; - /** @description Verified address. */ - verified_address?: string | null; - /** @description Verified name. */ - verified_name?: string | null; - }; - /** TaxProductResourceCustomerDetails */ - tax_product_resource_customer_details: { - /** @description The customer's postal address (for example, home or business location). */ - address?: components["schemas"]["tax_product_resource_postal_address"] | null; - /** - * @description The type of customer address provided. - * @enum {string|null} - */ - address_source?: "billing" | "shipping" | null; - /** @description The customer's IP address (IPv4 or IPv6). */ - ip_address?: string | null; - /** @description The customer's tax IDs (for example, EU VAT numbers). */ - tax_ids: components["schemas"]["tax_product_resource_customer_details_resource_tax_id"][]; - /** - * @description The taxability override used for taxation. - * @enum {string} - */ - taxability_override: "customer_exempt" | "none" | "reverse_charge"; - }; - /** TaxProductResourceCustomerDetailsResourceTaxId */ - tax_product_resource_customer_details_resource_tax_id: { - /** - * @description The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, or `unknown` - * @enum {string} - */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "unknown" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; - /** @description The value of the tax ID. */ - value: string; - }; - /** TaxProductResourceJurisdiction */ - tax_product_resource_jurisdiction: { - /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ - country: string; - /** @description A human-readable name for the jurisdiction imposing the tax. */ - display_name: string; - /** - * @description Indicates the level of the jurisdiction imposing the tax. - * @enum {string} - */ - level: "city" | "country" | "county" | "district" | "state"; - /** @description [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. */ - state?: string | null; - }; - /** TaxProductResourceLineItemTaxBreakdown */ - tax_product_resource_line_item_tax_breakdown: { - /** @description The amount of tax, in integer cents. */ - amount: number; - jurisdiction: components["schemas"]["tax_product_resource_jurisdiction"]; - /** - * @description Indicates whether the jurisdiction was determined by the origin (merchant's address) or destination (customer's address). - * @enum {string} - */ - sourcing: "destination" | "origin"; - /** @description Details regarding the rate for this tax. This field will be `null` when the tax is not imposed, for example if the product is exempt from tax. */ - tax_rate_details?: components["schemas"]["tax_product_resource_line_item_tax_rate_details"] | null; - /** - * @description The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. - * @enum {string} - */ - taxability_reason: "customer_exempt" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated"; - /** @description The amount on which tax is calculated, in integer cents. */ - taxable_amount: number; - }; - /** TaxProductResourceLineItemTaxRateDetails */ - tax_product_resource_line_item_tax_rate_details: { - /** @description A localized display name for tax type, intended to be human-readable. For example, "Local Sales and Use Tax", "Value-added tax (VAT)", or "Umsatzsteuer (USt.)". */ - display_name: string; - /** @description The tax rate percentage as a string. For example, 8.5% is represented as "8.5". */ - percentage_decimal: string; - /** - * @description The tax type, such as `vat` or `sales_tax`. - * @enum {string} - */ - tax_type: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "vat"; - }; - /** TaxProductResourcePostalAddress */ - tax_product_resource_postal_address: { - /** @description City, district, suburb, town, or village. */ - city?: string | null; - /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ - country: string; - /** @description Address line 1 (e.g., street, PO Box, or company name). */ - line1?: string | null; - /** @description Address line 2 (e.g., apartment, suite, unit, or building). */ - line2?: string | null; - /** @description ZIP or postal code. */ - postal_code?: string | null; - /** @description State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix. Example: "NY" or "TX". */ - state?: string | null; - }; - /** TaxProductResourceTaxBreakdown */ - tax_product_resource_tax_breakdown: { - /** @description The amount of tax, in integer cents. */ - amount: number; - /** @description Specifies whether the tax amount is included in the line item amount. */ - inclusive: boolean; - tax_rate_details: components["schemas"]["tax_product_resource_tax_rate_details"]; - /** - * @description The reasoning behind this tax, for example, if the product is tax exempt. We might extend the possible values for this field to support new tax rules. - * @enum {string} - */ - taxability_reason: "customer_exempt" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated"; - /** @description The amount on which tax is calculated, in integer cents. */ - taxable_amount: number; - }; - /** TaxProductResourceTaxCalculationShippingCost */ - tax_product_resource_tax_calculation_shipping_cost: { - /** @description The shipping amount in integer cents. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. */ - amount: number; - /** @description The amount of tax calculated for shipping, in integer cents. */ - amount_tax: number; - /** @description The ID of an existing [ShippingRate](https://stripe.com/docs/api/shipping_rates/object). */ - shipping_rate?: string; - /** - * @description Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. - * @enum {string} - */ - tax_behavior: "exclusive" | "inclusive"; - /** @description Detailed account of taxes relevant to shipping cost. */ - tax_breakdown?: components["schemas"]["tax_product_resource_line_item_tax_breakdown"][]; - /** @description The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for shipping. */ - tax_code: string; - }; - /** TaxProductResourceTaxRateDetails */ - tax_product_resource_tax_rate_details: { - /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ - country?: string | null; - /** @description The tax rate percentage as a string. For example, 8.5% is represented as `"8.5"`. */ - percentage_decimal: string; - /** @description State, county, province, or region. */ - state?: string | null; - /** - * @description The tax type, such as `vat` or `sales_tax`. - * @enum {string|null} - */ - tax_type?: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "vat" | null; - }; - /** TaxProductResourceTaxSettingsDefaults */ - tax_product_resource_tax_settings_defaults: { - /** - * @description Default [tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#tax-behavior) used to specify whether the price is considered inclusive of taxes or exclusive of taxes. If the item's price has a tax behavior set, it will take precedence over the default tax behavior. - * @enum {string|null} - */ - tax_behavior?: "exclusive" | "inclusive" | "inferred_by_currency" | null; - /** @description Default [tax code](https://stripe.com/docs/tax/tax-categories) used to classify your products and prices. */ - tax_code?: string | null; - }; - /** TaxProductResourceTaxSettingsHeadOffice */ - tax_product_resource_tax_settings_head_office: { - address: components["schemas"]["address"]; - }; - /** TaxProductResourceTaxSettingsStatusDetails */ - tax_product_resource_tax_settings_status_details: { - active?: components["schemas"]["tax_product_resource_tax_settings_status_details_resource_active"]; - pending?: components["schemas"]["tax_product_resource_tax_settings_status_details_resource_pending"]; - }; - /** TaxProductResourceTaxSettingsStatusDetailsResourceActive */ - tax_product_resource_tax_settings_status_details_resource_active: Record; - /** TaxProductResourceTaxSettingsStatusDetailsResourcePending */ - tax_product_resource_tax_settings_status_details_resource_pending: { - /** @description The list of missing fields that are required to perform calculations. It includes the entry `head_office` when the status is `pending`. It is recommended to set the optional values even if they aren't listed as required for calculating taxes. Calculations can fail if missing fields aren't explicitly provided on every call. */ - missing_fields?: string[] | null; - }; - /** TaxProductResourceTaxTransactionLineItemResourceReversal */ - tax_product_resource_tax_transaction_line_item_resource_reversal: { - /** @description The `id` of the line item to reverse in the original transaction. */ - original_line_item: string; - }; - /** TaxProductResourceTaxTransactionResourceReversal */ - tax_product_resource_tax_transaction_resource_reversal: { - /** @description The `id` of the reversed `Transaction` object. */ - original_transaction?: string | null; - }; - /** TaxProductResourceTaxTransactionShippingCost */ - tax_product_resource_tax_transaction_shipping_cost: { - /** @description The shipping amount in integer cents. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. */ - amount: number; - /** @description The amount of tax calculated for shipping, in integer cents. */ - amount_tax: number; - /** @description The ID of an existing [ShippingRate](https://stripe.com/docs/api/shipping_rates/object). */ - shipping_rate?: string; - /** - * @description Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. - * @enum {string} - */ - tax_behavior: "exclusive" | "inclusive"; - /** @description The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for shipping. */ - tax_code: string; - }; - /** - * TaxRate - * @description Tax rates can be applied to [invoices](https://stripe.com/docs/billing/invoices/tax-rates), [subscriptions](https://stripe.com/docs/billing/subscriptions/taxes) and [Checkout Sessions](https://stripe.com/docs/payments/checkout/set-up-a-subscription#tax-rates) to collect tax. - * - * Related guide: [Tax rates](https://stripe.com/docs/billing/taxes/tax-rates) - */ - tax_rate: { - /** @description Defaults to `true`. When set to `false`, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. */ - active: boolean; - /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ - country?: string | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. */ - description?: string | null; - /** @description The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page. */ - display_name: string; - /** - * @description Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, - * this percentage reflects the rate actually used to calculate tax based on the product's taxability - * and whether the user is registered to collect taxes in the corresponding jurisdiction. - */ - effective_percentage?: number | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description This specifies if the tax rate is inclusive or exclusive. */ - inclusive: boolean; - /** @description The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice. */ - jurisdiction?: string | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "tax_rate"; - /** @description Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions. */ - percentage: number; - /** @description [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. */ - state?: string | null; - /** - * @description The high-level tax type, such as `vat` or `sales_tax`. - * @enum {string|null} - */ - tax_type?: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "service_tax" | "vat" | null; - }; - /** - * TerminalConfigurationConfiguration - * @description A Configurations object represents how features should be configured for terminal readers. - */ - "terminal.configuration": { - bbpos_wisepos_e?: components["schemas"]["terminal_configuration_configuration_resource_device_type_specific_config"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Whether this Configuration is the default for your account */ - is_account_default?: boolean | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "terminal.configuration"; - tipping?: components["schemas"]["terminal_configuration_configuration_resource_tipping"]; - verifone_p400?: components["schemas"]["terminal_configuration_configuration_resource_device_type_specific_config"]; - }; - /** - * TerminalConnectionToken - * @description A Connection Token is used by the Stripe Terminal SDK to connect to a reader. - * - * Related guide: [Fleet management](https://stripe.com/docs/terminal/fleet/locations) - */ - "terminal.connection_token": { - /** @description The id of the location that this connection token is scoped to. Note that location scoping only applies to internet-connected readers. For more details, see [the docs on scoping connection tokens](https://stripe.com/docs/terminal/fleet/locations#connection-tokens). */ - location?: string; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "terminal.connection_token"; - /** @description Your application should pass this token to the Stripe Terminal SDK. */ - secret: string; - }; - /** - * TerminalLocationLocation - * @description A Location represents a grouping of readers. - * - * Related guide: [Fleet management](https://stripe.com/docs/terminal/fleet/locations) - */ - "terminal.location": { - address: components["schemas"]["address"]; - /** @description The ID of a configuration that will be used to customize all readers in this location. */ - configuration_overrides?: string; - /** @description The display name of the location. */ - display_name: string; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "terminal.location"; - }; - /** - * TerminalReaderReader - * @description A Reader represents a physical device for accepting payment details. - * - * Related guide: [Connecting to a reader](https://stripe.com/docs/terminal/payments/connect-reader) - */ - "terminal.reader": { - /** @description The most recent action performed by the reader. */ - action?: components["schemas"]["terminal_reader_reader_resource_reader_action"] | null; - /** @description The current software version of the reader. */ - device_sw_version?: string | null; - /** - * @description Type of reader, one of `bbpos_wisepad3`, `stripe_m2`, `bbpos_chipper2x`, `bbpos_wisepos_e`, `verifone_P400`, or `simulated_wisepos_e`. - * @enum {string} - */ - device_type: "bbpos_chipper2x" | "bbpos_wisepad3" | "bbpos_wisepos_e" | "simulated_wisepos_e" | "stripe_m2" | "verifone_P400"; - /** @description Unique identifier for the object. */ - id: string; - /** @description The local IP address of the reader. */ - ip_address?: string | null; - /** @description Custom label given to the reader for easier identification. */ - label: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description The location identifier of the reader. */ - location?: (string | components["schemas"]["terminal.location"]) | null; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "terminal.reader"; - /** @description Serial number of the reader. */ - serial_number: string; - /** @description The networking status of the reader. */ - status?: string | null; - }; - /** TerminalConfigurationConfigurationResourceCurrencySpecificConfig */ - terminal_configuration_configuration_resource_currency_specific_config: { - /** @description Fixed amounts displayed when collecting a tip */ - fixed_amounts?: number[] | null; - /** @description Percentages displayed when collecting a tip */ - percentages?: number[] | null; - /** @description Below this amount, fixed amounts will be displayed; above it, percentages will be displayed */ - smart_tip_threshold?: number; - }; - /** TerminalConfigurationConfigurationResourceDeviceTypeSpecificConfig */ - terminal_configuration_configuration_resource_device_type_specific_config: { - /** @description A File ID representing an image you would like displayed on the reader. */ - splashscreen?: string | components["schemas"]["file"]; - }; - /** TerminalConfigurationConfigurationResourceTipping */ - terminal_configuration_configuration_resource_tipping: { - aud?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - cad?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - chf?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - czk?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - dkk?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - eur?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - gbp?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - hkd?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - myr?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - nok?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - nzd?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - sek?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - sgd?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - usd?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; - }; - /** - * TerminalReaderReaderResourceCart - * @description Represents a cart to be displayed on the reader - */ - terminal_reader_reader_resource_cart: { - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description List of line items in the cart. */ - line_items: components["schemas"]["terminal_reader_reader_resource_line_item"][]; - /** @description Tax amount for the entire cart. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - tax?: number | null; - /** @description Total amount for the entire cart, including tax. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - total: number; - }; - /** - * TerminalReaderReaderResourceLineItem - * @description Represents a line item to be displayed on the reader - */ - terminal_reader_reader_resource_line_item: { - /** @description The amount of the line item. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount: number; - /** @description Description of the line item. */ - description: string; - /** @description The quantity of the line item. */ - quantity: number; - }; - /** - * TerminalReaderReaderResourceProcessConfig - * @description Represents a per-transaction override of a reader configuration - */ - terminal_reader_reader_resource_process_config: { - /** @description Override showing a tipping selection screen on this transaction. */ - skip_tipping?: boolean; - tipping?: components["schemas"]["terminal_reader_reader_resource_tipping_config"]; - }; - /** - * TerminalReaderReaderResourceProcessPaymentIntentAction - * @description Represents a reader action to process a payment intent - */ - terminal_reader_reader_resource_process_payment_intent_action: { - /** @description Most recent PaymentIntent processed by the reader. */ - payment_intent: string | components["schemas"]["payment_intent"]; - process_config?: components["schemas"]["terminal_reader_reader_resource_process_config"]; - }; - /** - * TerminalReaderReaderResourceProcessSetupConfig - * @description Represents a per-setup override of a reader configuration - */ - terminal_reader_reader_resource_process_setup_config: Record; - /** - * TerminalReaderReaderResourceProcessSetupIntentAction - * @description Represents a reader action to process a setup intent - */ - terminal_reader_reader_resource_process_setup_intent_action: { - /** @description ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. */ - generated_card?: string; - process_config?: components["schemas"]["terminal_reader_reader_resource_process_setup_config"]; - /** @description Most recent SetupIntent processed by the reader. */ - setup_intent: string | components["schemas"]["setup_intent"]; - }; - /** - * TerminalReaderReaderResourceReaderAction - * @description Represents an action performed by the reader - */ - terminal_reader_reader_resource_reader_action: { - /** @description Failure code, only set if status is `failed`. */ - failure_code?: string | null; - /** @description Detailed failure message, only set if status is `failed`. */ - failure_message?: string | null; - process_payment_intent?: components["schemas"]["terminal_reader_reader_resource_process_payment_intent_action"]; - process_setup_intent?: components["schemas"]["terminal_reader_reader_resource_process_setup_intent_action"]; - refund_payment?: components["schemas"]["terminal_reader_reader_resource_refund_payment_action"]; - set_reader_display?: components["schemas"]["terminal_reader_reader_resource_set_reader_display_action"]; - /** - * @description Status of the action performed by the reader. - * @enum {string} - */ - status: "failed" | "in_progress" | "succeeded"; - /** - * @description Type of action performed by the reader. - * @enum {string} - */ - type: "process_payment_intent" | "process_setup_intent" | "refund_payment" | "set_reader_display"; - }; - /** - * TerminalReaderReaderResourceRefundPaymentAction - * @description Represents a reader action to refund a payment - */ - terminal_reader_reader_resource_refund_payment_action: { - /** @description The amount being refunded. */ - amount?: number; - /** @description Charge that is being refunded. */ - charge?: string | components["schemas"]["charge"]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - }; - /** @description Payment intent that is being refunded. */ - payment_intent?: string | components["schemas"]["payment_intent"]; - /** - * @description The reason for the refund. - * @enum {string} - */ - reason?: "duplicate" | "fraudulent" | "requested_by_customer"; - /** @description Unique identifier for the refund object. */ - refund?: string | components["schemas"]["refund"]; - /** @description Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. */ - refund_application_fee?: boolean; - /** @description Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge. */ - reverse_transfer?: boolean; - }; - /** - * TerminalReaderReaderResourceSetReaderDisplayAction - * @description Represents a reader action to set the reader display - */ - terminal_reader_reader_resource_set_reader_display_action: { - /** @description Cart object to be displayed by the reader. */ - cart?: components["schemas"]["terminal_reader_reader_resource_cart"] | null; - /** - * @description Type of information to be displayed by the reader. - * @enum {string} - */ - type: "cart"; - }; - /** - * TerminalReaderReaderResourceTippingConfig - * @description Represents a per-transaction tipping configuration - */ - terminal_reader_reader_resource_tipping_config: { - /** @description Amount used to calculate tip suggestions on tipping selection screen for this transaction. Must be a positive integer in the smallest currency unit (e.g., 100 cents to represent $1.00 or 100 to represent ¥100, a zero-decimal currency). */ - amount_eligible?: number; - }; - /** - * TestClock - * @description A test clock enables deterministic control over objects in testmode. With a test clock, you can create - * objects at a frozen time in the past or future, and advance to a specific future time to observe webhooks and state changes. After the clock advances, - * you can either validate the current state of your scenario (and test your assumptions), change the current state of your scenario (and test more complex scenarios), or keep advancing forward in time. - */ - "test_helpers.test_clock": { - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** - * Format: unix-time - * @description Time at which this clock is scheduled to auto delete. - */ - deletes_after: number; - /** - * Format: unix-time - * @description Time at which all objects belonging to this clock are frozen. - */ - frozen_time: number; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description The custom name supplied at creation. */ - name?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "test_helpers.test_clock"; - /** - * @description The status of the Test Clock. - * @enum {string} - */ - status: "advancing" | "internal_failure" | "ready"; - }; - /** three_d_secure_details */ - three_d_secure_details: { - /** - * @description For authenticated transactions: how the customer was authenticated by - * the issuing bank. - * @enum {string|null} - */ - authentication_flow?: "challenge" | "frictionless" | null; - /** - * @description Indicates the outcome of 3D Secure authentication. - * @enum {string|null} - */ - result?: "attempt_acknowledged" | "authenticated" | "exempted" | "failed" | "not_supported" | "processing_error" | null; - /** - * @description Additional information about why 3D Secure succeeded or failed based - * on the `result`. - * @enum {string|null} - */ - result_reason?: "abandoned" | "bypassed" | "canceled" | "card_not_enrolled" | "network_not_supported" | "protocol_error" | "rejected" | null; - /** - * @description The version of 3D Secure that was used. - * @enum {string|null} - */ - version?: "1.0.2" | "2.1.0" | "2.2.0" | null; - }; - /** three_d_secure_details_charge */ - three_d_secure_details_charge: { - /** - * @description For authenticated transactions: how the customer was authenticated by - * the issuing bank. - * @enum {string|null} - */ - authentication_flow?: "challenge" | "frictionless" | null; - /** - * @description Indicates the outcome of 3D Secure authentication. - * @enum {string|null} - */ - result?: "attempt_acknowledged" | "authenticated" | "exempted" | "failed" | "not_supported" | "processing_error" | null; - /** - * @description Additional information about why 3D Secure succeeded or failed based - * on the `result`. - * @enum {string|null} - */ - result_reason?: "abandoned" | "bypassed" | "canceled" | "card_not_enrolled" | "network_not_supported" | "protocol_error" | "rejected" | null; - /** - * @description The version of 3D Secure that was used. - * @enum {string|null} - */ - version?: "1.0.2" | "2.1.0" | "2.2.0" | null; - }; - /** three_d_secure_usage */ - three_d_secure_usage: { - /** @description Whether 3D Secure is supported on this card. */ - supported: boolean; - }; - /** - * Token - * @description Tokenization is the process Stripe uses to collect sensitive card or bank - * account details, or personally identifiable information (PII), directly from - * your customers in a secure manner. A token representing this information is - * returned to your server to use. You should use our - * [recommended payments integrations](https://stripe.com/docs/payments) to perform this process - * client-side. This ensures that no sensitive card data touches your server, - * and allows your integration to operate in a PCI-compliant way. - * - * If you cannot use client-side tokenization, you can also create tokens using - * the API with either your publishable or secret API key. Keep in mind that if - * your integration uses this method, you are responsible for any PCI compliance - * that may be required, and you must keep your secret API key safe. Unlike with - * client-side tokenization, your customer's information is not sent directly to - * Stripe, so we cannot determine how it is handled or stored. - * - * Tokens cannot be stored or used more than once. To store card or bank account - * information for later use, you can create [Customer](https://stripe.com/docs/api#customers) - * objects or [Custom accounts](https://stripe.com/docs/api#external_accounts). Note that - * [Radar](https://stripe.com/docs/radar), our integrated solution for automatic fraud protection, - * performs best with integrations that use client-side tokenization. - */ - token: { - bank_account?: components["schemas"]["bank_account"]; - card?: components["schemas"]["card"]; - /** @description IP address of the client that generated the token. */ - client_ip?: string | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "token"; - /** @description Type of the token: `account`, `bank_account`, `card`, or `pii`. */ - type: string; - /** @description Whether this token has already been used (tokens can be used only once). */ - used: boolean; - }; - /** - * Topup - * @description To top up your Stripe balance, you create a top-up object. You can retrieve - * individual top-ups, as well as list all top-ups. Top-ups are identified by a - * unique, random ID. - * - * Related guide: [Topping up your platform account](https://stripe.com/docs/connect/top-ups) - */ - topup: { - /** @description Amount transferred. */ - amount: number; - /** @description ID of the balance transaction that describes the impact of this top-up on your account balance. May not be specified depending on status of top-up. */ - balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description Date the funds are expected to arrive in your Stripe account for payouts. This factors in delays like weekends or bank holidays. May not be specified depending on status of top-up. */ - expected_availability_date?: number | null; - /** @description Error code explaining reason for top-up failure if available (see [the errors section](https://stripe.com/docs/api#errors) for a list of codes). */ - failure_code?: string | null; - /** @description Message to user further explaining reason for top-up failure if available. */ - failure_message?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "topup"; - /** @description For most Stripe users, the source of every top-up is a bank account. This hash is then the [source object](https://stripe.com/docs/api#source_object) describing that bank account. */ - source?: components["schemas"]["source"] | null; - /** @description Extra information about a top-up. This will appear on your source's bank statement. It must contain at least one letter. */ - statement_descriptor?: string | null; - /** - * @description The status of the top-up is either `canceled`, `failed`, `pending`, `reversed`, or `succeeded`. - * @enum {string} - */ - status: "canceled" | "failed" | "pending" | "reversed" | "succeeded"; - /** @description A string that identifies this top-up as part of a group. */ - transfer_group?: string | null; - }; - /** - * Transfer - * @description A `Transfer` object is created when you move funds between Stripe accounts as - * part of Connect. - * - * Before April 6, 2017, transfers also represented movement of funds from a - * Stripe account to a card or bank account. This behavior has since been split - * out into a [Payout](https://stripe.com/docs/api#payout_object) object, with corresponding payout endpoints. For more - * information, read about the - * [transfer/payout split](https://stripe.com/docs/transfer-payout-split). - * - * Related guide: [Creating separate charges and transfers](https://stripe.com/docs/connect/separate-charges-and-transfers) - */ - transfer: { - /** @description Amount in cents (or local equivalent) to be transferred. */ - amount: number; - /** @description Amount in cents (or local equivalent) reversed (can be less than the amount attribute on the transfer if a partial reversal was issued). */ - amount_reversed: number; - /** @description Balance transaction that describes the impact of this transfer on your account balance. */ - balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; - /** - * Format: unix-time - * @description Time that this record of the transfer was first created. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description ID of the Stripe account the transfer was sent to. */ - destination?: (string | components["schemas"]["account"]) | null; - /** @description If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer. */ - destination_payment?: string | components["schemas"]["charge"]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "transfer"; - /** - * TransferReversalList - * @description A list of reversals that have been applied to the transfer. - */ - reversals: { - /** @description Details about each object. */ - data: components["schemas"]["transfer_reversal"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; + get: operations["GetCustomersCustomerCards"]; + put: never; + /** @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

+ * + *

If the card’s owner has no default card, then the new card will become the default. + * However, if the owner already has a default, then it will not change. + * To change the default, you should update the customer to have a new default_source.

*/ + post: operations["PostCustomersCustomerCards"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/cards/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} + * @deprecated + * @description

You can always see the 10 most recent cards directly on a customer; this method lets you retrieve details about a specific card stored on the customer.

*/ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - /** @description Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false. */ - reversed: boolean; - /** @description ID of the charge or payment that was used to fund the transfer. If null, the transfer was funded from the available balance. */ - source_transaction?: (string | components["schemas"]["charge"]) | null; - /** @description The source balance this transfer came from. One of `card`, `fpx`, or `bank_account`. */ - source_type?: string; - /** @description A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. */ - transfer_group?: string | null; - }; - /** transfer_data */ - transfer_data: { - /** @description Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ - amount?: number; - /** - * @description The account (if any) the payment will be attributed to for tax - * reporting, and where funds from the payment will be transferred to upon - * payment success. - */ - destination: string | components["schemas"]["account"]; - }; - /** - * TransferReversal - * @description [Stripe Connect](https://stripe.com/docs/connect) platforms can reverse transfers made to a - * connected account, either entirely or partially, and can also specify whether - * to refund any related application fees. Transfer reversals add to the - * platform's balance and subtract from the destination account's balance. - * - * Reversing a transfer that was made for a [destination - * charge](/docs/connect/destination-charges) is allowed only up to the amount of - * the charge. It is possible to reverse a - * [transfer_group](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) - * transfer only if the destination account has enough balance to cover the - * reversal. - * - * Related guide: [Reversing transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#reversing-transfers) - */ - transfer_reversal: { - /** @description Amount, in cents (or local equivalent). */ - amount: number; - /** @description Balance transaction that describes the impact on your account balance. */ - balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Linked payment refund for the transfer reversal. */ - destination_payment_refund?: (string | components["schemas"]["refund"]) | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "transfer_reversal"; - /** @description ID of the refund responsible for the transfer reversal. */ - source_refund?: (string | components["schemas"]["refund"]) | null; - /** @description ID of the transfer that was reversed. */ - transfer: string | components["schemas"]["transfer"]; - }; - /** TransferSchedule */ - transfer_schedule: { - /** @description The number of days charges for the account will be held before being paid out. */ - delay_days: number; - /** @description How frequently funds will be paid out. One of `manual` (payouts only created via API call), `daily`, `weekly`, or `monthly`. */ - interval: string; - /** @description The day of the month funds will be paid out. Only shown if `interval` is monthly. Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months. */ - monthly_anchor?: number; - /** @description The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc. Only shown if `interval` is weekly. */ - weekly_anchor?: string; - }; - /** TransformQuantity */ - transform_quantity: { - /** @description Divide usage by this number. */ - divide_by: number; - /** - * @description After division, either round the result `up` or `down`. - * @enum {string} - */ - round: "down" | "up"; - }; - /** TransformUsage */ - transform_usage: { - /** @description Divide usage by this number. */ - divide_by: number; - /** - * @description After division, either round the result `up` or `down`. - * @enum {string} - */ - round: "down" | "up"; - }; - /** - * TreasuryReceivedCreditsResourceCreditReversal - * @description You can reverse some [ReceivedCredits](https://stripe.com/docs/api#received_credits) depending on their network and source flow. Reversing a ReceivedCredit leads to the creation of a new object known as a CreditReversal. - */ - "treasury.credit_reversal": { - /** @description Amount (in cents) transferred. */ - amount: number; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description The FinancialAccount to reverse funds from. */ - financial_account: string; - /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ - hosted_regulatory_receipt_url?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description The rails used to reverse the funds. - * @enum {string} - */ - network: "ach" | "stripe"; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "treasury.credit_reversal"; - /** @description The ReceivedCredit being reversed. */ - received_credit: string; - /** - * @description Status of the CreditReversal - * @enum {string} - */ - status: "canceled" | "posted" | "processing"; - status_transitions: components["schemas"]["treasury_received_credits_resource_status_transitions"]; - /** @description The Transaction associated with this object. */ - transaction?: (string | components["schemas"]["treasury.transaction"]) | null; - }; - /** - * TreasuryReceivedDebitsResourceDebitReversal - * @description You can reverse some [ReceivedDebits](https://stripe.com/docs/api#received_debits) depending on their network and source flow. Reversing a ReceivedDebit leads to the creation of a new object known as a DebitReversal. - */ - "treasury.debit_reversal": { - /** @description Amount (in cents) transferred. */ - amount: number; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description The FinancialAccount to reverse funds from. */ - financial_account?: string | null; - /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ - hosted_regulatory_receipt_url?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Other flows linked to a DebitReversal. */ - linked_flows?: components["schemas"]["treasury_received_debits_resource_debit_reversal_linked_flows"] | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description The rails used to reverse the funds. - * @enum {string} - */ - network: "ach" | "card"; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "treasury.debit_reversal"; - /** @description The ReceivedDebit being reversed. */ - received_debit: string; - /** - * @description Status of the DebitReversal - * @enum {string} - */ - status: "failed" | "processing" | "succeeded"; - status_transitions: components["schemas"]["treasury_received_debits_resource_status_transitions"]; - /** @description The Transaction associated with this object. */ - transaction?: (string | components["schemas"]["treasury.transaction"]) | null; - }; - /** - * TreasuryFinancialAccountsResourceFinancialAccount - * @description Stripe Treasury provides users with a container for money called a FinancialAccount that is separate from their Payments balance. - * FinancialAccounts serve as the source and destination of Treasury’s money movement APIs. - */ - "treasury.financial_account": { - /** @description The array of paths to active Features in the Features hash. */ - active_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "inbound_transfers.ach" | "intra_stripe_flows" | "outbound_payments.ach" | "outbound_payments.us_domestic_wire" | "outbound_transfers.ach" | "outbound_transfers.us_domestic_wire" | "remote_deposit_capture")[]; - balance: components["schemas"]["treasury_financial_accounts_resource_balance"]; - /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ - country: string; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - features?: components["schemas"]["treasury.financial_account_features"]; - /** @description The set of credentials that resolve to a FinancialAccount. */ - financial_addresses: components["schemas"]["treasury_financial_accounts_resource_financial_address"][]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata?: { - [key: string]: string; - } | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "treasury.financial_account"; - /** @description The array of paths to pending Features in the Features hash. */ - pending_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "inbound_transfers.ach" | "intra_stripe_flows" | "outbound_payments.ach" | "outbound_payments.us_domestic_wire" | "outbound_transfers.ach" | "outbound_transfers.us_domestic_wire" | "remote_deposit_capture")[]; - /** @description The set of functionalities that the platform can restrict on the FinancialAccount. */ - platform_restrictions?: components["schemas"]["treasury_financial_accounts_resource_platform_restrictions"] | null; - /** @description The array of paths to restricted Features in the Features hash. */ - restricted_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "inbound_transfers.ach" | "intra_stripe_flows" | "outbound_payments.ach" | "outbound_payments.us_domestic_wire" | "outbound_transfers.ach" | "outbound_transfers.us_domestic_wire" | "remote_deposit_capture")[]; - /** - * @description The enum specifying what state the account is in. - * @enum {string} - */ - status: "closed" | "open"; - status_details: components["schemas"]["treasury_financial_accounts_resource_status_details"]; - /** @description The currencies the FinancialAccount can hold a balance in. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. */ - supported_currencies: string[]; - }; - /** - * TreasuryFinancialAccountsResourceFinancialAccountFeatures - * @description Encodes whether a FinancialAccount has access to a particular Feature, with a `status` enum and associated `status_details`. - * Stripe or the platform can control Features via the requested field. - */ - "treasury.financial_account_features": { - card_issuing?: components["schemas"]["treasury_financial_accounts_resource_toggle_settings"]; - deposit_insurance?: components["schemas"]["treasury_financial_accounts_resource_toggle_settings"]; - financial_addresses?: components["schemas"]["treasury_financial_accounts_resource_financial_addresses_features"]; - inbound_transfers?: components["schemas"]["treasury_financial_accounts_resource_inbound_transfers"]; - intra_stripe_flows?: components["schemas"]["treasury_financial_accounts_resource_toggle_settings"]; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "treasury.financial_account_features"; - outbound_payments?: components["schemas"]["treasury_financial_accounts_resource_outbound_payments"]; - outbound_transfers?: components["schemas"]["treasury_financial_accounts_resource_outbound_transfers"]; - }; - /** - * TreasuryInboundTransfersResourceInboundTransfer - * @description Use [InboundTransfers](https://stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) to add funds to your [FinancialAccount](https://stripe.com/docs/api#financial_accounts) via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit. - */ - "treasury.inbound_transfer": { - /** @description Amount (in cents) transferred. */ - amount: number; - /** @description Returns `true` if the InboundTransfer is able to be canceled. */ - cancelable: boolean; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description Details about this InboundTransfer's failure. Only set when status is `failed`. */ - failure_details?: components["schemas"]["treasury_inbound_transfers_resource_failure_details"] | null; - /** @description The FinancialAccount that received the funds. */ - financial_account: string; - /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ - hosted_regulatory_receipt_url?: string | null; - /** @description Unique identifier for the object. */ - id: string; - linked_flows: components["schemas"]["treasury_inbound_transfers_resource_inbound_transfer_resource_linked_flows"]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "treasury.inbound_transfer"; - /** @description The origin payment method to be debited for an InboundTransfer. */ - origin_payment_method: string; - /** @description Details about the PaymentMethod for an InboundTransfer. */ - origin_payment_method_details?: components["schemas"]["inbound_transfers"] | null; - /** @description Returns `true` if the funds for an InboundTransfer were returned after the InboundTransfer went to the `succeeded` state. */ - returned?: boolean | null; - /** @description Statement descriptor shown when funds are debited from the source. Not all payment networks support `statement_descriptor`. */ - statement_descriptor: string; - /** - * @description Status of the InboundTransfer: `processing`, `succeeded`, `failed`, and `canceled`. An InboundTransfer is `processing` if it is created and pending. The status changes to `succeeded` once the funds have been "confirmed" and a `transaction` is created and posted. The status changes to `failed` if the transfer fails. - * @enum {string} - */ - status: "canceled" | "failed" | "processing" | "succeeded"; - status_transitions: components["schemas"]["treasury_inbound_transfers_resource_inbound_transfer_resource_status_transitions"]; - /** @description The Transaction associated with this object. */ - transaction?: (string | components["schemas"]["treasury.transaction"]) | null; - }; - /** - * TreasuryOutboundPaymentsResourceOutboundPayment - * @description Use OutboundPayments to send funds to another party's external bank account or [FinancialAccount](https://stripe.com/docs/api#financial_accounts). To send money to an account belonging to the same user, use an [OutboundTransfer](https://stripe.com/docs/api#outbound_transfers). - * - * Simulate OutboundPayment state changes with the `/v1/test_helpers/treasury/outbound_payments` endpoints. These methods can only be called on test mode objects. - */ - "treasury.outbound_payment": { - /** @description Amount (in cents) transferred. */ - amount: number; - /** @description Returns `true` if the object can be canceled, and `false` otherwise. */ - cancelable: boolean; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description ID of the [customer](https://stripe.com/docs/api/customers) to whom an OutboundPayment is sent. */ - customer?: string | null; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description The PaymentMethod via which an OutboundPayment is sent. This field can be empty if the OutboundPayment was created using `destination_payment_method_data`. */ - destination_payment_method?: string | null; - /** @description Details about the PaymentMethod for an OutboundPayment. */ - destination_payment_method_details?: components["schemas"]["outbound_payments_payment_method_details"] | null; - /** @description Details about the end user. */ - end_user_details?: components["schemas"]["treasury_outbound_payments_resource_outbound_payment_resource_end_user_details"] | null; - /** - * Format: unix-time - * @description The date when funds are expected to arrive in the destination account. - */ - expected_arrival_date: number; - /** @description The FinancialAccount that funds were pulled from. */ - financial_account: string; - /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ - hosted_regulatory_receipt_url?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "treasury.outbound_payment"; - /** @description Details about a returned OutboundPayment. Only set when the status is `returned`. */ - returned_details?: components["schemas"]["treasury_outbound_payments_resource_returned_status"] | null; - /** @description The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer). */ - statement_descriptor: string; - /** - * @description Current status of the OutboundPayment: `processing`, `failed`, `posted`, `returned`, `canceled`. An OutboundPayment is `processing` if it has been created and is pending. The status changes to `posted` once the OutboundPayment has been "confirmed" and funds have left the account, or to `failed` or `canceled`. If an OutboundPayment fails to arrive at its destination, its status will change to `returned`. - * @enum {string} - */ - status: "canceled" | "failed" | "posted" | "processing" | "returned"; - status_transitions: components["schemas"]["treasury_outbound_payments_resource_outbound_payment_resource_status_transitions"]; - /** @description The Transaction associated with this object. */ - transaction: string | components["schemas"]["treasury.transaction"]; - }; - /** - * TreasuryOutboundTransfersResourceOutboundTransfer - * @description Use OutboundTransfers to transfer funds from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) to a PaymentMethod belonging to the same entity. To send funds to a different party, use [OutboundPayments](https://stripe.com/docs/api#outbound_payments) instead. You can send funds over ACH rails or through a domestic wire transfer to a user's own external bank account. - * - * Simulate OutboundTransfer state changes with the `/v1/test_helpers/treasury/outbound_transfers` endpoints. These methods can only be called on test mode objects. - */ - "treasury.outbound_transfer": { - /** @description Amount (in cents) transferred. */ - amount: number; - /** @description Returns `true` if the object can be canceled, and `false` otherwise. */ - cancelable: boolean; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string | null; - /** @description The PaymentMethod used as the payment instrument for an OutboundTransfer. */ - destination_payment_method?: string | null; - destination_payment_method_details: components["schemas"]["outbound_transfers_payment_method_details"]; - /** - * Format: unix-time - * @description The date when funds are expected to arrive in the destination account. - */ - expected_arrival_date: number; - /** @description The FinancialAccount that funds were pulled from. */ - financial_account: string; - /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ - hosted_regulatory_receipt_url?: string | null; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "treasury.outbound_transfer"; - /** @description Details about a returned OutboundTransfer. Only set when the status is `returned`. */ - returned_details?: components["schemas"]["treasury_outbound_transfers_resource_returned_details"] | null; - /** @description Information about the OutboundTransfer to be sent to the recipient account. */ - statement_descriptor: string; - /** - * @description Current status of the OutboundTransfer: `processing`, `failed`, `canceled`, `posted`, `returned`. An OutboundTransfer is `processing` if it has been created and is pending. The status changes to `posted` once the OutboundTransfer has been "confirmed" and funds have left the account, or to `failed` or `canceled`. If an OutboundTransfer fails to arrive at its destination, its status will change to `returned`. - * @enum {string} - */ - status: "canceled" | "failed" | "posted" | "processing" | "returned"; - status_transitions: components["schemas"]["treasury_outbound_transfers_resource_status_transitions"]; - /** @description The Transaction associated with this object. */ - transaction: string | components["schemas"]["treasury.transaction"]; - }; - /** - * TreasuryReceivedCreditsResourceReceivedCredit - * @description ReceivedCredits represent funds sent to a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount. - */ - "treasury.received_credit": { - /** @description Amount (in cents) transferred. */ - amount: number; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description: string; - /** - * @description Reason for the failure. A ReceivedCredit might fail because the receiving FinancialAccount is closed or frozen. - * @enum {string|null} - */ - failure_code?: "account_closed" | "account_frozen" | "other" | null; - /** @description The FinancialAccount that received the funds. */ - financial_account?: string | null; - /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ - hosted_regulatory_receipt_url?: string | null; - /** @description Unique identifier for the object. */ - id: string; - initiating_payment_method_details: components["schemas"]["treasury_shared_resource_initiating_payment_method_details_initiating_payment_method_details"]; - linked_flows: components["schemas"]["treasury_received_credits_resource_linked_flows"]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description The rails used to send the funds. - * @enum {string} - */ - network: "ach" | "card" | "stripe" | "us_domestic_wire"; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "treasury.received_credit"; - /** @description Details describing when a ReceivedCredit may be reversed. */ - reversal_details?: components["schemas"]["treasury_received_credits_resource_reversal_details"] | null; - /** - * @description Status of the ReceivedCredit. ReceivedCredits are created either `succeeded` (approved) or `failed` (declined). If a ReceivedCredit is declined, the failure reason can be found in the `failure_code` field. - * @enum {string} - */ - status: "failed" | "succeeded"; - /** @description The Transaction associated with this object. */ - transaction?: (string | components["schemas"]["treasury.transaction"]) | null; - }; - /** - * TreasuryReceivedDebitsResourceReceivedDebit - * @description ReceivedDebits represent funds pulled from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts). These are not initiated from the FinancialAccount. - */ - "treasury.received_debit": { - /** @description Amount (in cents) transferred. */ - amount: number; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description: string; - /** - * @description Reason for the failure. A ReceivedDebit might fail because the FinancialAccount doesn't have sufficient funds, is closed, or is frozen. - * @enum {string|null} - */ - failure_code?: "account_closed" | "account_frozen" | "insufficient_funds" | "other" | null; - /** @description The FinancialAccount that funds were pulled from. */ - financial_account?: string | null; - /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ - hosted_regulatory_receipt_url?: string | null; - /** @description Unique identifier for the object. */ - id: string; - initiating_payment_method_details?: components["schemas"]["treasury_shared_resource_initiating_payment_method_details_initiating_payment_method_details"]; - linked_flows: components["schemas"]["treasury_received_debits_resource_linked_flows"]; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description The network used for the ReceivedDebit. - * @enum {string} - */ - network: "ach" | "card" | "stripe"; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "treasury.received_debit"; - /** @description Details describing when a ReceivedDebit might be reversed. */ - reversal_details?: components["schemas"]["treasury_received_debits_resource_reversal_details"] | null; - /** - * @description Status of the ReceivedDebit. ReceivedDebits are created with a status of either `succeeded` (approved) or `failed` (declined). The failure reason can be found under the `failure_code`. - * @enum {string} - */ - status: "failed" | "succeeded"; - /** @description The Transaction associated with this object. */ - transaction?: (string | components["schemas"]["treasury.transaction"]) | null; - }; - /** - * TreasuryTransactionsResourceTransaction - * @description Transactions represent changes to a [FinancialAccount's](https://stripe.com/docs/api#financial_accounts) balance. - */ - "treasury.transaction": { - /** @description Amount (in cents) transferred. */ - amount: number; - balance_impact: components["schemas"]["treasury_transactions_resource_balance_impact"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description: string; - /** - * TreasuryTransactionsResourceTransactionEntryList - * @description A list of TransactionEntries that are part of this Transaction. This cannot be expanded in any list endpoints. - */ - entries?: { - /** @description Details about each object. */ - data: components["schemas"]["treasury.transaction_entry"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; + get: operations["GetCustomersCustomerCardsId"]; + put: never; + /** @description

Update a specified source for a given customer.

*/ + post: operations["PostCustomersCustomerCardsId"]; + /** @description

Delete a specified source for a given customer.

*/ + delete: operations["DeleteCustomersCustomerCardsId"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/cash_balance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a customer’s cash balance.

*/ + get: operations["GetCustomersCustomerCashBalance"]; + put: never; + /** @description

Changes the settings on a customer’s cash balance.

*/ + post: operations["PostCustomersCustomerCashBalance"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/cash_balance_transactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of transactions that modified the customer’s cash balance.

*/ + get: operations["GetCustomersCustomerCashBalanceTransactions"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/cash_balance_transactions/{transaction}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a specific cash balance transaction, which updated the customer’s cash balance.

*/ + get: operations["GetCustomersCustomerCashBalanceTransactionsTransaction"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/discount": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["GetCustomersCustomerDiscount"]; + put: never; + post: never; + /** @description

Removes the currently applied discount on a customer.

*/ + delete: operations["DeleteCustomersCustomerDiscount"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/funding_instructions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new + * funding instructions will be created. If funding instructions have already been created for a given customer, the same + * funding instructions will be retrieved. In other words, we will return the same funding instructions each time.

*/ + post: operations["PostCustomersCustomerFundingInstructions"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/payment_methods": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of PaymentMethods for a given Customer

*/ + get: operations["GetCustomersCustomerPaymentMethods"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/payment_methods/{payment_method}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a PaymentMethod object for a given Customer.

*/ + get: operations["GetCustomersCustomerPaymentMethodsPaymentMethod"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/sources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

List sources for a specified customer.

*/ + get: operations["GetCustomersCustomerSources"]; + put: never; + /** @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

+ * + *

If the card’s owner has no default card, then the new card will become the default. + * However, if the owner already has a default, then it will not change. + * To change the default, you should update the customer to have a new default_source.

*/ + post: operations["PostCustomersCustomerSources"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/sources/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve a specified source for a given customer.

*/ + get: operations["GetCustomersCustomerSourcesId"]; + put: never; + /** @description

Update a specified source for a given customer.

*/ + post: operations["PostCustomersCustomerSourcesId"]; + /** @description

Delete a specified source for a given customer.

*/ + delete: operations["DeleteCustomersCustomerSourcesId"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/sources/{id}/verify": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Verify a specified bank account for a given customer.

*/ + post: operations["PostCustomersCustomerSourcesIdVerify"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/subscriptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

You can see a list of the customer’s active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, you can use the limit and starting_after parameters to page through additional subscriptions.

*/ + get: operations["GetCustomersCustomerSubscriptions"]; + put: never; + /** @description

Creates a new subscription on an existing customer.

*/ + post: operations["PostCustomersCustomerSubscriptions"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the subscription with the given ID.

*/ + get: operations["GetCustomersCustomerSubscriptionsSubscriptionExposedId"]; + put: never; + /** @description

Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint.

*/ + post: operations["PostCustomersCustomerSubscriptionsSubscriptionExposedId"]; + /** @description

Cancels a customer’s subscription. If you set the at_period_end parameter to true, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise, with the default false value, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription.

+ * + *

Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually deleted. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.

+ * + *

By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.

*/ + delete: operations["DeleteCustomersCustomerSubscriptionsSubscriptionExposedId"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}/discount": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount"]; + put: never; + post: never; + /** @description

Removes the currently applied discount on a customer.

*/ + delete: operations["DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/tax_ids": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of tax IDs for a customer.

*/ + get: operations["GetCustomersCustomerTaxIds"]; + put: never; + /** @description

Creates a new tax_id object for a customer.

*/ + post: operations["PostCustomersCustomerTaxIds"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/customers/{customer}/tax_ids/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the tax_id object with the given identifier.

*/ + get: operations["GetCustomersCustomerTaxIdsId"]; + put: never; + post: never; + /** @description

Deletes an existing tax_id object.

*/ + delete: operations["DeleteCustomersCustomerTaxIdsId"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/disputes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your disputes.

*/ + get: operations["GetDisputes"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/disputes/{dispute}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the dispute with the given ID.

*/ + get: operations["GetDisputesDispute"]; + put: never; + /** @description

When you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your dashboard, but if you prefer, you can use the API to submit evidence programmatically.

+ * + *

Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our guide to dispute types.

*/ + post: operations["PostDisputesDispute"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/disputes/{dispute}/close": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.

+ * + *

The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible.

*/ + post: operations["PostDisputesDisputeClose"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/ephemeral_keys": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Creates a short-lived API key for a given resource.

*/ + post: operations["PostEphemeralKeys"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/ephemeral_keys/{key}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** @description

Invalidates a short-lived API key for a given resource.

*/ + delete: operations["DeleteEphemeralKeysKey"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/events": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in event object api_version attribute (not according to your current Stripe API version or Stripe-Version header).

*/ + get: operations["GetEvents"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/events/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.

*/ + get: operations["GetEventsId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/exchange_rates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports.

*/ + get: operations["GetExchangeRates"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/exchange_rates/{rate_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the exchange rates from the given currency to every supported currency.

*/ + get: operations["GetExchangeRatesRateId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/file_links": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of file links.

*/ + get: operations["GetFileLinks"]; + put: never; + /** @description

Creates a new file link object.

*/ + post: operations["PostFileLinks"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/file_links/{link}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the file link with the given ID.

*/ + get: operations["GetFileLinksLink"]; + put: never; + /** @description

Updates an existing file link object. Expired links can no longer be updated.

*/ + post: operations["PostFileLinksLink"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/files": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top.

*/ + get: operations["GetFiles"]; + put: never; + /** @description

To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file.

+ * + *

All of Stripe’s officially supported Client libraries support sending multipart/form-data.

*/ + post: operations["PostFiles"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/files/{file}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to access file contents.

*/ + get: operations["GetFilesFile"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/financial_connections/accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Financial Connections Account objects.

*/ + get: operations["GetFinancialConnectionsAccounts"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/financial_connections/accounts/{account}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an Financial Connections Account.

*/ + get: operations["GetFinancialConnectionsAccountsAccount"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/financial_connections/accounts/{account}/disconnect": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).

*/ + post: operations["PostFinancialConnectionsAccountsAccountDisconnect"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/financial_connections/accounts/{account}/owners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Lists all owners for a given Account

*/ + get: operations["GetFinancialConnectionsAccountsAccountOwners"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/financial_connections/accounts/{account}/refresh": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Refreshes the data associated with a Financial Connections Account.

*/ + post: operations["PostFinancialConnectionsAccountsAccountRefresh"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/financial_connections/sessions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.

*/ + post: operations["PostFinancialConnectionsSessions"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/financial_connections/sessions/{session}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a Financial Connections Session

*/ + get: operations["GetFinancialConnectionsSessionsSession"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/identity/verification_reports": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

List all verification reports.

*/ + get: operations["GetIdentityVerificationReports"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/identity/verification_reports/{report}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an existing VerificationReport

*/ + get: operations["GetIdentityVerificationReportsReport"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/identity/verification_sessions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of VerificationSessions

*/ + get: operations["GetIdentityVerificationSessions"]; + put: never; + /** @description

Creates a VerificationSession object.

+ * + *

After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session’s url.

+ * + *

If your API key is in test mode, verification checks won’t actually process, though everything else will occur as if in live mode.

+ * + *

Related guide: Verify your users’ identity documents

*/ + post: operations["PostIdentityVerificationSessions"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/identity/verification_sessions/{session}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a VerificationSession that was previously created.

+ * + *

When the session status is requires_input, you can use this method to retrieve a valid + * client_secret or url to allow re-submission.

*/ + get: operations["GetIdentityVerificationSessionsSession"]; + put: never; + /** @description

Updates a VerificationSession object.

+ * + *

When the session status is requires_input, you can use this method to update the + * verification check and options.

*/ + post: operations["PostIdentityVerificationSessionsSession"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/identity/verification_sessions/{session}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

A VerificationSession object can be canceled when it is in requires_input status.

+ * + *

Once canceled, future submission attempts are disabled. This cannot be undone. Learn more.

*/ + post: operations["PostIdentityVerificationSessionsSessionCancel"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/identity/verification_sessions/{session}/redact": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Redact a VerificationSession to remove all collected information from Stripe. This will redact + * the VerificationSession and all objects related to it, including VerificationReports, Events, + * request logs, etc.

+ * + *

A VerificationSession object can be redacted when it is in requires_input or verified + * status. Redacting a VerificationSession in requires_action + * state will automatically cancel it.

+ * + *

The redaction process may take up to four days. When the redaction process is in progress, the + * VerificationSession’s redaction.status field will be set to processing; when the process is + * finished, it will change to redacted and an identity.verification_session.redacted event + * will be emitted.

+ * + *

Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the + * fields that contain personal data will be replaced by the string [redacted] or a similar + * placeholder. The metadata field will also be erased. Redacted objects cannot be updated or + * used for any purpose.

+ * + *

Learn more.

*/ + post: operations["PostIdentityVerificationSessionsSessionRedact"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoiceitems": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.

*/ + get: operations["GetInvoiceitems"]; + put: never; + /** @description

Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified.

*/ + post: operations["PostInvoiceitems"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoiceitems/{invoiceitem}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the invoice item with the given ID.

*/ + get: operations["GetInvoiceitemsInvoiceitem"]; + put: never; + /** @description

Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.

*/ + post: operations["PostInvoiceitemsInvoiceitem"]; + /** @description

Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not attached to invoices, or if it’s attached to a draft invoice.

*/ + delete: operations["DeleteInvoiceitemsInvoiceitem"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoices": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.

*/ + get: operations["GetInvoices"]; + put: never; + /** @description

This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you finalize the invoice, which allows you to pay or send the invoice to your customers.

*/ + post: operations["PostInvoices"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoices/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Search for invoices you’ve previously created using Stripe’s Search Query Language. + * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating + * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up + * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ + get: operations["GetInvoicesSearch"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoices/upcoming": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

At any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.

+ * + *

Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer’s discount.

+ * + *

You can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass a proration_date parameter when doing the actual subscription update. The value passed in should be the same as the subscription_proration_date returned on the upcoming invoice resource. The recommended way to get only the prorations being previewed is to consider only proration line items where period[start] is equal to the subscription_proration_date on the upcoming invoice resource.

*/ + get: operations["GetInvoicesUpcoming"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoices/upcoming/lines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

When retrieving an upcoming invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ + get: operations["GetInvoicesUpcomingLines"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoices/{invoice}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the invoice with the given ID.

*/ + get: operations["GetInvoicesInvoice"]; + put: never; + /** @description

Draft invoices are fully editable. Once an invoice is finalized, + * monetary values, as well as collection_method, become uneditable.

+ * + *

If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on, + * sending reminders for, or automatically reconciling invoices, pass + * auto_advance=false.

*/ + post: operations["PostInvoicesInvoice"]; + /** @description

Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be voided.

*/ + delete: operations["DeleteInvoicesInvoice"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoices/{invoice}/finalize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.

*/ + post: operations["PostInvoicesInvoiceFinalize"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoices/{invoice}/lines": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

When retrieving an invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ + get: operations["GetInvoicesInvoiceLines"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoices/{invoice}/mark_uncollectible": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.

*/ + post: operations["PostInvoicesInvoiceMarkUncollectible"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoices/{invoice}/pay": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your subscriptions settings. However, if you’d like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.

*/ + post: operations["PostInvoicesInvoicePay"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoices/{invoice}/send": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Stripe will automatically send invoices to customers according to your subscriptions settings. However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.

+ * + *

Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event.

*/ + post: operations["PostInvoicesInvoiceSend"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/invoices/{invoice}/void": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to deletion, however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.

*/ + post: operations["PostInvoicesInvoiceVoid"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/authorizations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ + get: operations["GetIssuingAuthorizations"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/authorizations/{authorization}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an Issuing Authorization object.

*/ + get: operations["GetIssuingAuthorizationsAuthorization"]; + put: never; + /** @description

Updates the specified Issuing Authorization object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ + post: operations["PostIssuingAuthorizationsAuthorization"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/authorizations/{authorization}/approve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

[Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the real-time authorization flow. + * This method is deprecated. Instead, respond directly to the webhook request to approve an authorization.

*/ + post: operations["PostIssuingAuthorizationsAuthorizationApprove"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/authorizations/{authorization}/decline": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

[Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the real time authorization flow. + * This method is deprecated. Instead, respond directly to the webhook request to decline an authorization.

*/ + post: operations["PostIssuingAuthorizationsAuthorizationDecline"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/cardholders": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ + get: operations["GetIssuingCardholders"]; + put: never; + /** @description

Creates a new Issuing Cardholder object that can be issued cards.

*/ + post: operations["PostIssuingCardholders"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/cardholders/{cardholder}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an Issuing Cardholder object.

*/ + get: operations["GetIssuingCardholdersCardholder"]; + put: never; + /** @description

Updates the specified Issuing Cardholder object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ + post: operations["PostIssuingCardholdersCardholder"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/cards": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Issuing Card objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ + get: operations["GetIssuingCards"]; + put: never; + /** @description

Creates an Issuing Card object.

*/ + post: operations["PostIssuingCards"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/cards/{card}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an Issuing Card object.

*/ + get: operations["GetIssuingCardsCard"]; + put: never; + /** @description

Updates the specified Issuing Card object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ + post: operations["PostIssuingCardsCard"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/disputes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ + get: operations["GetIssuingDisputes"]; + put: never; + /** @description

Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to Dispute reasons and evidence for more details about evidence requirements.

*/ + post: operations["PostIssuingDisputes"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/disputes/{dispute}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an Issuing Dispute object.

*/ + get: operations["GetIssuingDisputesDispute"]; + put: never; + /** @description

Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence object can be unset by passing in an empty string.

*/ + post: operations["PostIssuingDisputesDispute"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/disputes/{dispute}/submit": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute’s reason are present. For more details, see Dispute reasons and evidence.

*/ + post: operations["PostIssuingDisputesDisputeSubmit"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/settlements": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Issuing Settlement objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ + get: operations["GetIssuingSettlements"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/settlements/{settlement}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an Issuing Settlement object.

*/ + get: operations["GetIssuingSettlementsSettlement"]; + put: never; + /** @description

Updates the specified Issuing Settlement object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ + post: operations["PostIssuingSettlementsSettlement"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/transactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ + get: operations["GetIssuingTransactions"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/issuing/transactions/{transaction}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an Issuing Transaction object.

*/ + get: operations["GetIssuingTransactionsTransaction"]; + put: never; + /** @description

Updates the specified Issuing Transaction object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ + post: operations["PostIssuingTransactionsTransaction"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/link_account_sessions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.

*/ + post: operations["PostLinkAccountSessions"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/link_account_sessions/{session}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a Financial Connections Session

*/ + get: operations["GetLinkAccountSessionsSession"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/linked_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Financial Connections Account objects.

*/ + get: operations["GetLinkedAccounts"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/linked_accounts/{account}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an Financial Connections Account.

*/ + get: operations["GetLinkedAccountsAccount"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/linked_accounts/{account}/disconnect": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).

*/ + post: operations["PostLinkedAccountsAccountDisconnect"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/linked_accounts/{account}/owners": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Lists all owners for a given Account

*/ + get: operations["GetLinkedAccountsAccountOwners"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/linked_accounts/{account}/refresh": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Refreshes the data associated with a Financial Connections Account.

*/ + post: operations["PostLinkedAccountsAccountRefresh"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/mandates/{mandate}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a Mandate object.

*/ + get: operations["GetMandatesMandate"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_intents": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of PaymentIntents.

*/ + get: operations["GetPaymentIntents"]; + put: never; + /** @description

Creates a PaymentIntent object.

+ * + *

After the PaymentIntent is created, attach a payment method and confirm + * to continue the payment. Learn more about the available payment flows + * with the Payment Intents API.

+ * + *

When you use confirm=true during creation, it’s equivalent to creating + * and confirming the PaymentIntent in the same call. You can use any parameters + * available in the confirm API when you supply + * confirm=true.

*/ + post: operations["PostPaymentIntents"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_intents/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Search for PaymentIntents you’ve previously created using Stripe’s Search Query Language. + * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating + * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up + * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ + get: operations["GetPaymentIntentsSearch"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_intents/{intent}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a PaymentIntent that has previously been created.

+ * + *

You can retrieve a PaymentIntent client-side using a publishable key when the client_secret is in the query string.

+ * + *

If you retrieve a PaymentIntent with a publishable key, it only returns a subset of properties. Refer to the payment intent object reference for more details.

*/ + get: operations["GetPaymentIntentsIntent"]; + put: never; + /** @description

Updates properties on a PaymentIntent object without confirming.

+ * + *

Depending on which properties you update, you might need to confirm the + * PaymentIntent again. For example, updating the payment_method + * always requires you to confirm the PaymentIntent again. If you prefer to + * update and confirm at the same time, we recommend updating properties through + * the confirm API instead.

*/ + post: operations["PostPaymentIntentsIntent"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_intents/{intent}/apply_customer_balance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Manually reconcile the remaining amount for a customer_balance PaymentIntent.

*/ + post: operations["PostPaymentIntentsIntentApplyCustomerBalance"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_intents/{intent}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

You can cancel a PaymentIntent object when it’s in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, in rare cases, processing.

+ * + *

After it’s canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded.

+ * + *

You can’t cancel the PaymentIntent for a Checkout Session. Expire the Checkout Session instead.

*/ + post: operations["PostPaymentIntentsIntentCancel"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_intents/{intent}/capture": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture.

+ * + *

Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation.

+ * + *

Learn more about separate authorization and capture.

*/ + post: operations["PostPaymentIntentsIntentCapture"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_intents/{intent}/confirm": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Confirm that your customer intends to pay with current or provided + * payment method. Upon confirmation, the PaymentIntent will attempt to initiate + * a payment. + * If the selected payment method requires additional authentication steps, the + * PaymentIntent will transition to the requires_action status and + * suggest additional actions via next_action. If payment fails, + * the PaymentIntent transitions to the requires_payment_method status or the + * canceled status if the confirmation limit is reached. If + * payment succeeds, the PaymentIntent will transition to the succeeded + * status (or requires_capture, if capture_method is set to manual). + * If the confirmation_method is automatic, payment may be attempted + * using our client SDKs + * and the PaymentIntent’s client_secret. + * After next_actions are handled by the client, no additional + * confirmation is required to complete the payment. + * If the confirmation_method is manual, all payment attempts must be + * initiated using a secret key. + * If any actions are required for the payment, the PaymentIntent will + * return to the requires_confirmation state + * after those actions are completed. Your server needs to then + * explicitly re-confirm the PaymentIntent to initiate the next payment + * attempt. Read the expanded documentation + * to learn more about manual confirmation.

*/ + post: operations["PostPaymentIntentsIntentConfirm"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_intents/{intent}/increment_authorization": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Perform an incremental authorization on an eligible + * PaymentIntent. To be eligible, the + * PaymentIntent’s status must be requires_capture and + * incremental_authorization_supported + * must be true.

+ * + *

Incremental authorizations attempt to increase the authorized amount on + * your customer’s card to the new, higher amount provided. Similar to the + * initial authorization, incremental authorizations can be declined. A + * single PaymentIntent can call this endpoint multiple times to further + * increase the authorized amount.

+ * + *

If the incremental authorization succeeds, the PaymentIntent object + * returns with the updated + * amount. + * If the incremental authorization fails, a + * card_declined error returns, and no other + * fields on the PaymentIntent or Charge update. The PaymentIntent + * object remains capturable for the previously authorized amount.

+ * + *

Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. + * After it’s captured, a PaymentIntent can no longer be incremented.

+ * + *

Learn more about incremental authorizations.

*/ + post: operations["PostPaymentIntentsIntentIncrementAuthorization"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_intents/{intent}/verify_microdeposits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Verifies microdeposits on a PaymentIntent object.

*/ + post: operations["PostPaymentIntentsIntentVerifyMicrodeposits"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_links": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your payment links.

*/ + get: operations["GetPaymentLinks"]; + put: never; + /** @description

Creates a payment link.

*/ + post: operations["PostPaymentLinks"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_links/{payment_link}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve a payment link.

*/ + get: operations["GetPaymentLinksPaymentLink"]; + put: never; + /** @description

Updates a payment link.

*/ + post: operations["PostPaymentLinksPaymentLink"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_links/{payment_link}/line_items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ + get: operations["GetPaymentLinksPaymentLinkLineItems"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_method_configurations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

List payment method configurations

*/ + get: operations["GetPaymentMethodConfigurations"]; + put: never; + /** @description

Creates a payment method configuration

*/ + post: operations["PostPaymentMethodConfigurations"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_method_configurations/{configuration}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve payment method configuration

*/ + get: operations["GetPaymentMethodConfigurationsConfiguration"]; + put: never; + /** @description

Update payment method configuration

*/ + post: operations["PostPaymentMethodConfigurationsConfiguration"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_method_domains": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Lists the details of existing payment method domains.

*/ + get: operations["GetPaymentMethodDomains"]; + put: never; + /** @description

Creates a payment method domain.

*/ + post: operations["PostPaymentMethodDomains"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_method_domains/{payment_method_domain}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing payment method domain.

*/ + get: operations["GetPaymentMethodDomainsPaymentMethodDomain"]; + put: never; + /** @description

Updates an existing payment method domain.

*/ + post: operations["PostPaymentMethodDomainsPaymentMethodDomain"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_method_domains/{payment_method_domain}/validate": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Some payment methods such as Apple Pay require additional steps to verify a domain. If the requirements weren’t satisfied when the domain was created, the payment method will be inactive on the domain. + * The payment method doesn’t appear in Elements for this domain until it is active.

+ * + *

To activate a payment method on an existing payment method domain, complete the required validation steps specific to the payment method, and then validate the payment method domain with this endpoint.

+ * + *

Related guides: Payment method domains.

*/ + post: operations["PostPaymentMethodDomainsPaymentMethodDomainValidate"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_methods": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the List a Customer’s PaymentMethods API instead.

*/ + get: operations["GetPaymentMethods"]; + put: never; + /** @description

Creates a PaymentMethod object. Read the Stripe.js reference to learn how to create PaymentMethods via Stripe.js.

+ * + *

Instead of creating a PaymentMethod directly, we recommend using the PaymentIntents API to accept a payment immediately or the SetupIntent API to collect payment method details ahead of a future payment.

*/ + post: operations["PostPaymentMethods"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_methods/{payment_method}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use Retrieve a Customer’s PaymentMethods

*/ + get: operations["GetPaymentMethodsPaymentMethod"]; + put: never; + /** @description

Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.

*/ + post: operations["PostPaymentMethodsPaymentMethod"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_methods/{payment_method}/attach": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Attaches a PaymentMethod object to a Customer.

+ * + *

To attach a new PaymentMethod to a customer for future payments, we recommend you use a SetupIntent + * or a PaymentIntent with setup_future_usage. + * These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach + * endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for + * future use, which makes later declines and payment friction more likely. + * See Optimizing cards for future payments for more information about setting up + * future payments.

+ * + *

To use this PaymentMethod as the default for invoice or subscription payments, + * set invoice_settings.default_payment_method, + * on the Customer to the PaymentMethod’s ID.

*/ + post: operations["PostPaymentMethodsPaymentMethodAttach"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payment_methods/{payment_method}/detach": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer.

*/ + post: operations["PostPaymentMethodsPaymentMethodDetach"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payouts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of existing payouts sent to third-party bank accounts or payouts that Stripe sent to you. The payouts return in sorted order, with the most recently created payouts appearing first.

*/ + get: operations["GetPayouts"]; + put: never; + /** @description

To send funds to your own bank account, create a new payout object. Your Stripe balance must cover the payout amount. If it doesn’t, you receive an “Insufficient Funds” error.

+ * + *

If your API key is in test mode, money won’t actually be sent, though every other action occurs as if you’re in live mode.

+ * + *

If you create a manual payout on a Stripe account that uses multiple payment source types, you need to specify the source type balance that the payout draws from. The balance object details available and pending amounts by source type.

*/ + post: operations["PostPayouts"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payouts/{payout}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list. Stripe returns the corresponding payout information.

*/ + get: operations["GetPayoutsPayout"]; + put: never; + /** @description

Updates the specified payout by setting the values of the parameters you pass. We don’t change parameters that you don’t provide. This request only accepts the metadata as arguments.

*/ + post: operations["PostPayoutsPayout"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payouts/{payout}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

You can cancel a previously created payout if it hasn’t been paid out yet. Stripe refunds the funds to your available balance. You can’t cancel automatic Stripe payouts.

*/ + post: operations["PostPayoutsPayoutCancel"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/payouts/{payout}/reverse": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US bank accounts. If the payout is in the pending status, use /v1/payouts/:id/cancel instead.

+ * + *

By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required.

*/ + post: operations["PostPayoutsPayoutReverse"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/plans": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your plans.

*/ + get: operations["GetPlans"]; + put: never; + /** @description

You can now model subscriptions more flexibly using the Prices API. It replaces the Plans API and is backwards compatible to simplify your migration.

*/ + post: operations["PostPlans"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/plans/{plan}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the plan with the given ID.

*/ + get: operations["GetPlansPlan"]; + put: never; + /** @description

Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.

*/ + post: operations["PostPlansPlan"]; + /** @description

Deleting plans means new subscribers can’t be added. Existing subscribers aren’t affected.

*/ + delete: operations["DeletePlansPlan"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/prices": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your prices.

*/ + get: operations["GetPrices"]; + put: never; + /** @description

Creates a new price for an existing product. The price can be recurring or one-time.

*/ + post: operations["PostPrices"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/prices/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Search for prices you’ve previously created using Stripe’s Search Query Language. + * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating + * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up + * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ + get: operations["GetPricesSearch"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/prices/{price}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the price with the given ID.

*/ + get: operations["GetPricesPrice"]; + put: never; + /** @description

Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged.

*/ + post: operations["PostPricesPrice"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/products": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.

*/ + get: operations["GetProducts"]; + put: never; + /** @description

Creates a new product object.

*/ + post: operations["PostProducts"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/products/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Search for products you’ve previously created using Stripe’s Search Query Language. + * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating + * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up + * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ + get: operations["GetProductsSearch"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/products/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.

*/ + get: operations["GetProductsId"]; + put: never; + /** @description

Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ + post: operations["PostProductsId"]; + /** @description

Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it.

*/ + delete: operations["DeleteProductsId"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/promotion_codes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your promotion codes.

*/ + get: operations["GetPromotionCodes"]; + put: never; + /** @description

A promotion code points to a coupon. You can optionally restrict the code to a specific customer, redemption limit, and expiration date.

*/ + post: operations["PostPromotionCodes"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/promotion_codes/{promotion_code}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use list with the desired code.

*/ + get: operations["GetPromotionCodesPromotionCode"]; + put: never; + /** @description

Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable.

*/ + post: operations["PostPromotionCodesPromotionCode"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/quotes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your quotes.

*/ + get: operations["GetQuotes"]; + put: never; + /** @description

A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the quote template.

*/ + post: operations["PostQuotes"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/quotes/{quote}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the quote with the given ID.

*/ + get: operations["GetQuotesQuote"]; + put: never; + /** @description

A quote models prices and services for a customer.

*/ + post: operations["PostQuotesQuote"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/quotes/{quote}/accept": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Accepts the specified quote.

*/ + post: operations["PostQuotesQuoteAccept"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/quotes/{quote}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Cancels the quote.

*/ + post: operations["PostQuotesQuoteCancel"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/quotes/{quote}/computed_upfront_line_items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

When retrieving a quote, there is an includable computed.upfront.line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items.

*/ + get: operations["GetQuotesQuoteComputedUpfrontLineItems"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/quotes/{quote}/finalize": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Finalizes the quote.

*/ + post: operations["PostQuotesQuoteFinalize"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/quotes/{quote}/line_items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ + get: operations["GetQuotesQuoteLineItems"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/quotes/{quote}/pdf": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Download the PDF for a finalized quote

*/ + get: operations["GetQuotesQuotePdf"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/radar/early_fraud_warnings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of early fraud warnings.

*/ + get: operations["GetRadarEarlyFraudWarnings"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/radar/early_fraud_warnings/{early_fraud_warning}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an early fraud warning that has previously been created.

+ * + *

Please refer to the early fraud warning object reference for more details.

*/ + get: operations["GetRadarEarlyFraudWarningsEarlyFraudWarning"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/radar/value_list_items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of ValueListItem objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ + get: operations["GetRadarValueListItems"]; + put: never; + /** @description

Creates a new ValueListItem object, which is added to the specified parent value list.

*/ + post: operations["PostRadarValueListItems"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/radar/value_list_items/{item}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a ValueListItem object.

*/ + get: operations["GetRadarValueListItemsItem"]; + put: never; + post: never; + /** @description

Deletes a ValueListItem object, removing it from its parent value list.

*/ + delete: operations["DeleteRadarValueListItemsItem"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/radar/value_lists": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of ValueList objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ + get: operations["GetRadarValueLists"]; + put: never; + /** @description

Creates a new ValueList object, which can then be referenced in rules.

*/ + post: operations["PostRadarValueLists"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/radar/value_lists/{value_list}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a ValueList object.

*/ + get: operations["GetRadarValueListsValueList"]; + put: never; + /** @description

Updates a ValueList object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that item_type is immutable.

*/ + post: operations["PostRadarValueListsValueList"]; + /** @description

Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules.

*/ + delete: operations["DeleteRadarValueListsValueList"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/refunds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of all refunds you created. We return the refunds in sorted order, with the most recent refunds appearing first The 10 most recent refunds are always available by default on the Charge object.

*/ + get: operations["GetRefunds"]; + put: never; + /** @description

When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.

+ * + *

Creating a new refund will refund a charge that has previously been created but not yet refunded. + * Funds will be refunded to the credit or debit card that was originally charged.

+ * + *

You can optionally refund only part of a charge. + * You can do so multiple times, until the entire charge has been refunded.

+ * + *

Once entirely refunded, a charge can’t be refunded again. + * This method will raise an error when called on an already-refunded charge, + * or when trying to refund more money than is left on a charge.

*/ + post: operations["PostRefunds"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/refunds/{refund}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing refund.

*/ + get: operations["GetRefundsRefund"]; + put: never; + /** @description

Updates the refund that you specify by setting the values of the passed parameters. Any parameters that you don’t provide remain unchanged.

+ * + *

This request only accepts metadata as an argument.

*/ + post: operations["PostRefundsRefund"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/refunds/{refund}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Cancels a refund with a status of requires_action.

+ * + *

You can’t cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state.

*/ + post: operations["PostRefundsRefundCancel"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/reporting/report_runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Report Runs, with the most recent appearing first.

*/ + get: operations["GetReportingReportRuns"]; + put: never; + /** @description

Creates a new object and begin running the report. (Certain report types require a live-mode API key.)

*/ + post: operations["PostReportingReportRuns"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/reporting/report_runs/{report_run}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing Report Run.

*/ + get: operations["GetReportingReportRunsReportRun"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/reporting/report_types": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a full list of Report Types.

*/ + get: operations["GetReportingReportTypes"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/reporting/report_types/{report_type}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a Report Type. (Certain report types require a live-mode API key.)

*/ + get: operations["GetReportingReportTypesReportType"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ + get: operations["GetReviews"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/reviews/{review}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a Review object.

*/ + get: operations["GetReviewsReview"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/reviews/{review}/approve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Approves a Review object, closing it and removing it from the list of reviews.

*/ + post: operations["PostReviewsReviewApprove"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/setup_attempts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of SetupAttempts that associate with a provided SetupIntent.

*/ + get: operations["GetSetupAttempts"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/setup_intents": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of SetupIntents.

*/ + get: operations["GetSetupIntents"]; + put: never; + /** @description

Creates a SetupIntent object.

+ * + *

After the SetupIntent is created, attach a payment method and confirm + * to collect any required permissions to charge the payment method later.

*/ + post: operations["PostSetupIntents"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/setup_intents/{intent}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a SetupIntent that has previously been created.

+ * + *

Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string.

+ * + *

When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the SetupIntent object reference for more details.

*/ + get: operations["GetSetupIntentsIntent"]; + put: never; + /** @description

Updates a SetupIntent object.

*/ + post: operations["PostSetupIntentsIntent"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/setup_intents/{intent}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

A SetupIntent object can be canceled when it is in one of these statuses: requires_payment_method, requires_confirmation, or requires_action.

+ * + *

Once canceled, setup is abandoned and any operations on the SetupIntent will fail with an error.

*/ + post: operations["PostSetupIntentsIntentCancel"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/setup_intents/{intent}/confirm": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Confirm that your customer intends to set up the current or + * provided payment method. For example, you would confirm a SetupIntent + * when a customer hits the “Save” button on a payment method management + * page on your website.

+ * + *

If the selected payment method does not require any additional + * steps from the customer, the SetupIntent will transition to the + * succeeded status.

+ * + *

Otherwise, it will transition to the requires_action status and + * suggest additional actions via next_action. If setup fails, + * the SetupIntent will transition to the + * requires_payment_method status or the canceled status if the + * confirmation limit is reached.

*/ + post: operations["PostSetupIntentsIntentConfirm"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/setup_intents/{intent}/verify_microdeposits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Verifies microdeposits on a SetupIntent object.

*/ + post: operations["PostSetupIntentsIntentVerifyMicrodeposits"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/shipping_rates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your shipping rates.

*/ + get: operations["GetShippingRates"]; + put: never; + /** @description

Creates a new shipping rate object.

*/ + post: operations["PostShippingRates"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/shipping_rates/{shipping_rate_token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns the shipping rate object with the given ID.

*/ + get: operations["GetShippingRatesShippingRateToken"]; + put: never; + /** @description

Updates an existing shipping rate object.

*/ + post: operations["PostShippingRatesShippingRateToken"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/sigma/scheduled_query_runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of scheduled query runs.

*/ + get: operations["GetSigmaScheduledQueryRuns"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/sigma/scheduled_query_runs/{scheduled_query_run}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an scheduled query run.

*/ + get: operations["GetSigmaScheduledQueryRunsScheduledQueryRun"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/sources": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Creates a new source object.

*/ + post: operations["PostSources"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/sources/{source}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information.

*/ + get: operations["GetSourcesSource"]; + put: never; + /** @description

Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

+ * + *

This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our payment method guides for more detail.

*/ + post: operations["PostSourcesSource"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/sources/{source}/mandate_notifications/{mandate_notification}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a new Source MandateNotification.

*/ + get: operations["GetSourcesSourceMandateNotificationsMandateNotification"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/sources/{source}/source_transactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

List source transactions for a given source.

*/ + get: operations["GetSourcesSourceSourceTransactions"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/sources/{source}/source_transactions/{source_transaction}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieve an existing source transaction object. Supply the unique source ID from a source creation request and the source transaction ID and Stripe will return the corresponding up-to-date source object information.

*/ + get: operations["GetSourcesSourceSourceTransactionsSourceTransaction"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/sources/{source}/verify": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Verify a given source.

*/ + post: operations["PostSourcesSourceVerify"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscription_items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your subscription items for a given subscription.

*/ + get: operations["GetSubscriptionItems"]; + put: never; + /** @description

Adds a new item to an existing subscription. No existing items will be changed or replaced.

*/ + post: operations["PostSubscriptionItems"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscription_items/{item}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the subscription item with the given ID.

*/ + get: operations["GetSubscriptionItemsItem"]; + put: never; + /** @description

Updates the plan or quantity of an item on a current subscription.

*/ + post: operations["PostSubscriptionItemsItem"]; + /** @description

Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.

*/ + delete: operations["DeleteSubscriptionItemsItem"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscription_items/{subscription_item}/usage_record_summaries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

For the specified subscription item, returns a list of summary objects. Each object in the list provides usage information that’s been summarized from multiple usage records and over a subscription billing period (e.g., 15 usage records in the month of September).

+ * + *

The list is sorted in reverse-chronological order (newest first). The first list item represents the most current usage period that hasn’t ended yet. Since new usage records can still be added, the returned summary information for the subscription item’s ID should be seen as unstable until the subscription billing period ends.

*/ + get: operations["GetSubscriptionItemsSubscriptionItemUsageRecordSummaries"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscription_items/{subscription_item}/usage_records": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Creates a usage record for a specified subscription item and date, and fills it with a quantity.

+ * + *

Usage records provide quantity information that Stripe uses to track how much a customer is using your service. With usage information and the pricing model set up by the metered billing plan, Stripe helps you send accurate invoices to your customers.

+ * + *

The default calculation for usage is to add up all the quantity values of the usage records within a billing period. You can change this default behavior with the billing plan’s aggregate_usage parameter. When there is more than one usage record with the same timestamp, Stripe adds the quantity values together. In most cases, this is the desired resolution, however, you can change this behavior with the action parameter.

+ * + *

The default pricing model for metered billing is per-unit pricing. For finer granularity, you can configure metered billing to have a tiered pricing model.

*/ + post: operations["PostSubscriptionItemsSubscriptionItemUsageRecords"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscription_schedules": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the list of your subscription schedules.

*/ + get: operations["GetSubscriptionSchedules"]; + put: never; + /** @description

Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.

*/ + post: operations["PostSubscriptionSchedules"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscription_schedules/{schedule}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation.

*/ + get: operations["GetSubscriptionSchedulesSchedule"]; + put: never; + /** @description

Updates an existing subscription schedule.

*/ + post: operations["PostSubscriptionSchedulesSchedule"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscription_schedules/{schedule}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active.

*/ + post: operations["PostSubscriptionSchedulesScheduleCancel"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscription_schedules/{schedule}/release": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription’s ID to the released_subscription property.

*/ + post: operations["PostSubscriptionSchedulesScheduleRelease"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscriptions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify status=canceled.

*/ + get: operations["GetSubscriptions"]; + put: never; + /** @description

Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.

+ * + *

When you create a subscription with collection_method=charge_automatically, the first invoice is finalized as part of the request. + * The payment_behavior parameter determines the exact behavior of the initial payment.

+ * + *

To start subscriptions where the first invoice always begins in a draft status, use subscription schedules instead. + * Schedules provide the flexibility to model more complex billing configurations that change over time.

*/ + post: operations["PostSubscriptions"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscriptions/search": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Search for subscriptions you’ve previously created using Stripe’s Search Query Language. + * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating + * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up + * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ + get: operations["GetSubscriptionsSearch"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscriptions/{subscription_exposed_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the subscription with the given ID.

*/ + get: operations["GetSubscriptionsSubscriptionExposedId"]; + put: never; + /** @description

Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint.

*/ + post: operations["PostSubscriptionsSubscriptionExposedId"]; + /** @description

Cancels a customer’s subscription immediately. The customer will not be charged again for the subscription.

+ * + *

Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually deleted. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.

+ * + *

By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.

*/ + delete: operations["DeleteSubscriptionsSubscriptionExposedId"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscriptions/{subscription_exposed_id}/discount": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + post: never; + /** @description

Removes the currently applied discount on a subscription.

*/ + delete: operations["DeleteSubscriptionsSubscriptionExposedIdDiscount"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/subscriptions/{subscription}/resume": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date.

*/ + post: operations["PostSubscriptionsSubscriptionResume"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tax/calculations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Calculates tax based on input and returns a Tax Calculation object.

*/ + post: operations["PostTaxCalculations"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tax/calculations/{calculation}/line_items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the line items of a persisted tax calculation as a collection.

*/ + get: operations["GetTaxCalculationsCalculationLineItems"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tax/settings": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves Tax Settings for a merchant.

*/ + get: operations["GetTaxSettings"]; + put: never; + /** @description

Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set.

*/ + post: operations["PostTaxSettings"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tax/transactions/create_from_calculation": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Creates a Tax Transaction from a calculation.

*/ + post: operations["PostTaxTransactionsCreateFromCalculation"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tax/transactions/create_reversal": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Partially or fully reverses a previously created Transaction.

*/ + post: operations["PostTaxTransactionsCreateReversal"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tax/transactions/{transaction}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a Tax Transaction object.

*/ + get: operations["GetTaxTransactionsTransaction"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tax/transactions/{transaction}/line_items": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the line items of a committed standalone transaction as a collection.

*/ + get: operations["GetTaxTransactionsTransactionLineItems"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tax_codes": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

A list of all tax codes available to add to Products in order to allow specific tax calculations.

*/ + get: operations["GetTaxCodes"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tax_codes/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information.

*/ + get: operations["GetTaxCodesId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tax_rates": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first.

*/ + get: operations["GetTaxRates"]; + put: never; + /** @description

Creates a new tax rate.

*/ + post: operations["PostTaxRates"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tax_rates/{tax_rate}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a tax rate with the given ID

*/ + get: operations["GetTaxRatesTaxRate"]; + put: never; + /** @description

Updates an existing tax rate.

*/ + post: operations["PostTaxRatesTaxRate"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/configurations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Configuration objects.

*/ + get: operations["GetTerminalConfigurations"]; + put: never; + /** @description

Creates a new Configuration object.

*/ + post: operations["PostTerminalConfigurations"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/configurations/{configuration}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a Configuration object.

*/ + get: operations["GetTerminalConfigurationsConfiguration"]; + put: never; + /** @description

Updates a new Configuration object.

*/ + post: operations["PostTerminalConfigurationsConfiguration"]; + /** @description

Deletes a Configuration object.

*/ + delete: operations["DeleteTerminalConfigurationsConfiguration"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/connection_tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token.

*/ + post: operations["PostTerminalConnectionTokens"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/locations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Location objects.

*/ + get: operations["GetTerminalLocations"]; + put: never; + /** @description

Creates a new Location object. + * For further details, including which address fields are required in each country, see the Manage locations guide.

*/ + post: operations["PostTerminalLocations"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/locations/{location}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a Location object.

*/ + get: operations["GetTerminalLocationsLocation"]; + put: never; + /** @description

Updates a Location object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ + post: operations["PostTerminalLocationsLocation"]; + /** @description

Deletes a Location object.

*/ + delete: operations["DeleteTerminalLocationsLocation"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/readers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of Reader objects.

*/ + get: operations["GetTerminalReaders"]; + put: never; + /** @description

Creates a new Reader object.

*/ + post: operations["PostTerminalReaders"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/readers/{reader}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a Reader object.

*/ + get: operations["GetTerminalReadersReader"]; + put: never; + /** @description

Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ + post: operations["PostTerminalReadersReader"]; + /** @description

Deletes a Reader object.

*/ + delete: operations["DeleteTerminalReadersReader"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/readers/{reader}/cancel_action": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Cancels the current reader action.

*/ + post: operations["PostTerminalReadersReaderCancelAction"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/readers/{reader}/process_payment_intent": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Initiates a payment flow on a Reader.

*/ + post: operations["PostTerminalReadersReaderProcessPaymentIntent"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/readers/{reader}/process_setup_intent": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Initiates a setup intent flow on a Reader.

*/ + post: operations["PostTerminalReadersReaderProcessSetupIntent"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/readers/{reader}/refund_payment": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Initiates a refund on a Reader

*/ + post: operations["PostTerminalReadersReaderRefundPayment"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/terminal/readers/{reader}/set_reader_display": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Sets reader display to show cart details.

*/ + post: operations["PostTerminalReadersReaderSetReaderDisplay"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/customers/{customer}/fund_cash_balance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Create an incoming testmode bank transfer

*/ + post: operations["PostTestHelpersCustomersCustomerFundCashBalance"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/authorizations": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Create a test-mode authorization.

*/ + post: operations["PostTestHelpersIssuingAuthorizations"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/authorizations/{authorization}/capture": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Capture a test-mode authorization.

*/ + post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationCapture"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/authorizations/{authorization}/expire": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Expire a test-mode Authorization.

*/ + post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationExpire"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/authorizations/{authorization}/increment": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Increment a test-mode Authorization.

*/ + post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationIncrement"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/authorizations/{authorization}/reverse": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Reverse a test-mode Authorization.

*/ + post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationReverse"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/cards/{card}/shipping/deliver": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Updates the shipping status of the specified Issuing Card object to delivered.

*/ + post: operations["PostTestHelpersIssuingCardsCardShippingDeliver"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/cards/{card}/shipping/fail": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Updates the shipping status of the specified Issuing Card object to failure.

*/ + post: operations["PostTestHelpersIssuingCardsCardShippingFail"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/cards/{card}/shipping/return": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Updates the shipping status of the specified Issuing Card object to returned.

*/ + post: operations["PostTestHelpersIssuingCardsCardShippingReturn"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/cards/{card}/shipping/ship": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Updates the shipping status of the specified Issuing Card object to shipped.

*/ + post: operations["PostTestHelpersIssuingCardsCardShippingShip"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/transactions/create_force_capture": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Allows the user to capture an arbitrary amount, also known as a forced capture.

*/ + post: operations["PostTestHelpersIssuingTransactionsCreateForceCapture"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/transactions/create_unlinked_refund": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Allows the user to refund an arbitrary amount, also known as a unlinked refund.

*/ + post: operations["PostTestHelpersIssuingTransactionsCreateUnlinkedRefund"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/issuing/transactions/{transaction}/refund": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Refund a test-mode Transaction.

*/ + post: operations["PostTestHelpersIssuingTransactionsTransactionRefund"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/refunds/{refund}/expire": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Expire a refund with a status of requires_action.

*/ + post: operations["PostTestHelpersRefundsRefundExpire"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/terminal/readers/{reader}/present_payment_method": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction.

*/ + post: operations["PostTestHelpersTerminalReadersReaderPresentPaymentMethod"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/test_clocks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your test clocks.

*/ + get: operations["GetTestHelpersTestClocks"]; + put: never; + /** @description

Creates a new test clock that can be attached to new customers and quotes.

*/ + post: operations["PostTestHelpersTestClocks"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/test_clocks/{test_clock}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a test clock.

*/ + get: operations["GetTestHelpersTestClocksTestClock"]; + put: never; + post: never; + /** @description

Deletes a test clock.

*/ + delete: operations["DeleteTestHelpersTestClocksTestClock"]; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/test_clocks/{test_clock}/advance": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready.

*/ + post: operations["PostTestHelpersTestClocksTestClockAdvance"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/treasury/inbound_transfers/{id}/fail": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state.

*/ + post: operations["PostTestHelpersTreasuryInboundTransfersIdFail"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/treasury/inbound_transfers/{id}/return": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state.

*/ + post: operations["PostTestHelpersTreasuryInboundTransfersIdReturn"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/treasury/inbound_transfers/{id}/succeed": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state.

*/ + post: operations["PostTestHelpersTreasuryInboundTransfersIdSucceed"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/treasury/outbound_payments/{id}/fail": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state.

*/ + post: operations["PostTestHelpersTreasuryOutboundPaymentsIdFail"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/treasury/outbound_payments/{id}/post": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state.

*/ + post: operations["PostTestHelpersTreasuryOutboundPaymentsIdPost"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/treasury/outbound_payments/{id}/return": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state.

*/ + post: operations["PostTestHelpersTreasuryOutboundPaymentsIdReturn"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/fail": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state.

*/ + post: operations["PostTestHelpersTreasuryOutboundTransfersOutboundTransferFail"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/post": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state.

*/ + post: operations["PostTestHelpersTreasuryOutboundTransfersOutboundTransferPost"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/return": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state.

*/ + post: operations["PostTestHelpersTreasuryOutboundTransfersOutboundTransferReturn"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/treasury/received_credits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Use this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can’t directly create ReceivedCredits initiated by third parties.

*/ + post: operations["PostTestHelpersTreasuryReceivedCredits"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/test_helpers/treasury/received_debits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can’t directly create ReceivedDebits initiated by third parties.

*/ + post: operations["PostTestHelpersTreasuryReceivedDebits"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tokens": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Creates a single-use token that represents a bank account’s details. + * You can use this token with any API method in place of a bank account dictionary. You can only use this token once. To do so, attach it to a Custom account.

*/ + post: operations["PostTokens"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/tokens/{token}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the token with the given ID.

*/ + get: operations["GetTokensToken"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/topups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of top-ups.

*/ + get: operations["GetTopups"]; + put: never; + /** @description

Top up the balance of an account

*/ + post: operations["PostTopups"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/topups/{topup}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information.

*/ + get: operations["GetTopupsTopup"]; + put: never; + /** @description

Updates the metadata of a top-up. Other top-up details are not editable by design.

*/ + post: operations["PostTopupsTopup"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/topups/{topup}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Cancels a top-up. Only pending top-ups can be canceled.

*/ + post: operations["PostTopupsTopupCancel"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/transfers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first.

*/ + get: operations["GetTransfers"]; + put: never; + /** @description

To send funds from your Stripe account to a connected account, you create a new transfer object. Your Stripe balance must be able to cover the transfer amount, or you’ll receive an “Insufficient Funds” error.

*/ + post: operations["PostTransfers"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/transfers/{id}/reversals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional reversals.

*/ + get: operations["GetTransfersIdReversals"]; + put: never; + /** @description

When you create a new reversal, you must specify a transfer to create it on.

+ * + *

When reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed.

+ * + *

Once entirely reversed, a transfer can’t be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer.

*/ + post: operations["PostTransfersIdReversals"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/transfers/{transfer}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information.

*/ + get: operations["GetTransfersTransfer"]; + put: never; + /** @description

Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

+ * + *

This request accepts only metadata as an argument.

*/ + post: operations["PostTransfersTransfer"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/transfers/{transfer}/reversals/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer.

*/ + get: operations["GetTransfersTransferReversalsId"]; + put: never; + /** @description

Updates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

+ * + *

This request only accepts metadata and description as arguments.

*/ + post: operations["PostTransfersTransferReversalsId"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/credit_reversals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of CreditReversals.

*/ + get: operations["GetTreasuryCreditReversals"]; + put: never; + /** @description

Reverses a ReceivedCredit and creates a CreditReversal object.

*/ + post: operations["PostTreasuryCreditReversals"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/credit_reversals/{credit_reversal}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list

*/ + get: operations["GetTreasuryCreditReversalsCreditReversal"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/debit_reversals": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of DebitReversals.

*/ + get: operations["GetTreasuryDebitReversals"]; + put: never; + /** @description

Reverses a ReceivedDebit and creates a DebitReversal object.

*/ + post: operations["PostTreasuryDebitReversals"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/debit_reversals/{debit_reversal}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a DebitReversal object.

*/ + get: operations["GetTreasuryDebitReversalsDebitReversal"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/financial_accounts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of FinancialAccounts.

*/ + get: operations["GetTreasuryFinancialAccounts"]; + put: never; + /** @description

Creates a new FinancialAccount. For now, each connected account can only have one FinancialAccount.

*/ + post: operations["PostTreasuryFinancialAccounts"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/financial_accounts/{financial_account}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of a FinancialAccount.

*/ + get: operations["GetTreasuryFinancialAccountsFinancialAccount"]; + put: never; + /** @description

Updates the details of a FinancialAccount.

*/ + post: operations["PostTreasuryFinancialAccountsFinancialAccount"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/financial_accounts/{financial_account}/features": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves Features information associated with the FinancialAccount.

*/ + get: operations["GetTreasuryFinancialAccountsFinancialAccountFeatures"]; + put: never; + /** @description

Updates the Features associated with a FinancialAccount.

*/ + post: operations["PostTreasuryFinancialAccountsFinancialAccountFeatures"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/inbound_transfers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of InboundTransfers sent from the specified FinancialAccount.

*/ + get: operations["GetTreasuryInboundTransfers"]; + put: never; + /** @description

Creates an InboundTransfer.

*/ + post: operations["PostTreasuryInboundTransfers"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/inbound_transfers/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing InboundTransfer.

*/ + get: operations["GetTreasuryInboundTransfersId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/inbound_transfers/{inbound_transfer}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Cancels an InboundTransfer.

*/ + post: operations["PostTreasuryInboundTransfersInboundTransferCancel"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/outbound_payments": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of OutboundPayments sent from the specified FinancialAccount.

*/ + get: operations["GetTreasuryOutboundPayments"]; + put: never; + /** @description

Creates an OutboundPayment.

*/ + post: operations["PostTreasuryOutboundPayments"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/outbound_payments/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list.

*/ + get: operations["GetTreasuryOutboundPaymentsId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/outbound_payments/{id}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

Cancel an OutboundPayment.

*/ + post: operations["PostTreasuryOutboundPaymentsIdCancel"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/outbound_transfers": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of OutboundTransfers sent from the specified FinancialAccount.

*/ + get: operations["GetTreasuryOutboundTransfers"]; + put: never; + /** @description

Creates an OutboundTransfer.

*/ + post: operations["PostTreasuryOutboundTransfers"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/outbound_transfers/{outbound_transfer}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list.

*/ + get: operations["GetTreasuryOutboundTransfersOutboundTransfer"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/outbound_transfers/{outbound_transfer}/cancel": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: never; + /** @description

An OutboundTransfer can be canceled if the funds have not yet been paid out.

*/ + post: operations["PostTreasuryOutboundTransfersOutboundTransferCancel"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/received_credits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of ReceivedCredits.

*/ + get: operations["GetTreasuryReceivedCredits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/received_credits/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list.

*/ + get: operations["GetTreasuryReceivedCreditsId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/received_debits": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of ReceivedDebits.

*/ + get: operations["GetTreasuryReceivedDebits"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/received_debits/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list

*/ + get: operations["GetTreasuryReceivedDebitsId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/transaction_entries": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a list of TransactionEntry objects.

*/ + get: operations["GetTreasuryTransactionEntries"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/transaction_entries/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a TransactionEntry object.

*/ + get: operations["GetTreasuryTransactionEntriesId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/transactions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves a list of Transaction objects.

*/ + get: operations["GetTreasuryTransactions"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/treasury/transactions/{id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the details of an existing Transaction.

*/ + get: operations["GetTreasuryTransactionsId"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/webhook_endpoints": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Returns a list of your webhook endpoints.

*/ + get: operations["GetWebhookEndpoints"]; + put: never; + /** @description

A webhook endpoint must have a url and a list of enabled_events. You may optionally specify the Boolean connect parameter. If set to true, then a Connect webhook endpoint that notifies the specified url about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url only about events from your account is created. You can also create webhook endpoints in the webhooks settings section of the Dashboard.

*/ + post: operations["PostWebhookEndpoints"]; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/v1/webhook_endpoints/{webhook_endpoint}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** @description

Retrieves the webhook endpoint with the given ID.

*/ + get: operations["GetWebhookEndpointsWebhookEndpoint"]; + put: never; + /** @description

Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint.

*/ + post: operations["PostWebhookEndpointsWebhookEndpoint"]; + /** @description

You can also delete webhook endpoints via the webhook endpoint management page of the Stripe dashboard.

*/ + delete: operations["DeleteWebhookEndpointsWebhookEndpoint"]; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} + * Account + * @description This is an object representing a Stripe account. You can retrieve it to see + * properties on the account like its current requirements or if the account is + * enabled to make live charges or receive payouts. + * + * For Custom accounts, the properties below are always returned. For other accounts, some properties are returned until that + * account has started to go through Connect Onboarding. Once you create an [Account Link](https://stripe.com/docs/api/account_links) + * for a Standard or Express account, some parameters are no longer returned. These are marked as **Custom Only** or **Custom and Express** + * below. Learn about the differences [between accounts](https://stripe.com/docs/connect/accounts). */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - } | null; - /** @description The FinancialAccount associated with this object. */ - financial_account: string; - /** @description ID of the flow that created the Transaction. */ - flow?: string | null; - /** @description Details of the flow that created the Transaction. */ - flow_details?: components["schemas"]["treasury_transactions_resource_flow_details"] | null; - /** - * @description Type of the flow that created the Transaction. - * @enum {string} - */ - flow_type: "credit_reversal" | "debit_reversal" | "inbound_transfer" | "issuing_authorization" | "other" | "outbound_payment" | "outbound_transfer" | "received_credit" | "received_debit"; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "treasury.transaction"; - /** - * @description Status of the Transaction. - * @enum {string} - */ - status: "open" | "posted" | "void"; - status_transitions: components["schemas"]["treasury_transactions_resource_abstract_transaction_resource_status_transitions"]; - }; - /** - * TreasuryTransactionsResourceTransactionEntry - * @description TransactionEntries represent individual units of money movements within a single [Transaction](https://stripe.com/docs/api#transactions). - */ - "treasury.transaction_entry": { - balance_impact: components["schemas"]["treasury_transactions_resource_balance_impact"]; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** - * Format: unix-time - * @description When the TransactionEntry will impact the FinancialAccount's balance. - */ - effective_at: number; - /** @description The FinancialAccount associated with this object. */ - financial_account: string; - /** @description Token of the flow associated with the TransactionEntry. */ - flow?: string | null; - /** @description Details of the flow associated with the TransactionEntry. */ - flow_details?: components["schemas"]["treasury_transactions_resource_flow_details"] | null; - /** - * @description Type of the flow associated with the TransactionEntry. - * @enum {string} - */ - flow_type: "credit_reversal" | "debit_reversal" | "inbound_transfer" | "issuing_authorization" | "other" | "outbound_payment" | "outbound_transfer" | "received_credit" | "received_debit"; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "treasury.transaction_entry"; - /** @description The Transaction associated with this object. */ - transaction: string | components["schemas"]["treasury.transaction"]; - /** - * @description The specific money movement that generated the TransactionEntry. - * @enum {string} - */ - type: "credit_reversal" | "credit_reversal_posting" | "debit_reversal" | "inbound_transfer" | "inbound_transfer_return" | "issuing_authorization_hold" | "issuing_authorization_release" | "other" | "outbound_payment" | "outbound_payment_cancellation" | "outbound_payment_failure" | "outbound_payment_posting" | "outbound_payment_return" | "outbound_transfer" | "outbound_transfer_cancellation" | "outbound_transfer_failure" | "outbound_transfer_posting" | "outbound_transfer_return" | "received_credit" | "received_debit"; - }; - /** - * TreasuryFinancialAccountsResourceABARecord - * @description ABA Records contain U.S. bank account details per the ABA format. - */ - treasury_financial_accounts_resource_aba_record: { - /** @description The name of the person or business that owns the bank account. */ - account_holder_name: string; - /** @description The account number. */ - account_number?: string | null; - /** @description The last four characters of the account number. */ - account_number_last4: string; - /** @description Name of the bank. */ - bank_name: string; - /** @description Routing number for the account. */ - routing_number: string; - }; - /** - * TreasuryFinancialAccountsResourceAbaToggleSettings - * @description Toggle settings for enabling/disabling the ABA address feature - */ - treasury_financial_accounts_resource_aba_toggle_settings: { - /** @description Whether the FinancialAccount should have the Feature. */ - requested: boolean; - /** - * @description Whether the Feature is operational. - * @enum {string} - */ - status: "active" | "pending" | "restricted"; - /** @description Additional details; includes at least one entry when the status is not `active`. */ - status_details: components["schemas"]["treasury_financial_accounts_resource_toggles_setting_status_details"][]; - }; - /** - * TreasuryFinancialAccountsResourceAchToggleSettings - * @description Toggle settings for enabling/disabling an ACH specific feature - */ - treasury_financial_accounts_resource_ach_toggle_settings: { - /** @description Whether the FinancialAccount should have the Feature. */ - requested: boolean; - /** - * @description Whether the Feature is operational. - * @enum {string} - */ - status: "active" | "pending" | "restricted"; - /** @description Additional details; includes at least one entry when the status is not `active`. */ - status_details: components["schemas"]["treasury_financial_accounts_resource_toggles_setting_status_details"][]; - }; - /** - * TreasuryFinancialAccountsResourceBalance - * @description Balance information for the FinancialAccount - */ - treasury_financial_accounts_resource_balance: { - /** @description Funds the user can spend right now. */ - cash: { - [key: string]: number; - }; - /** @description Funds not spendable yet, but will become available at a later time. */ - inbound_pending: { - [key: string]: number; - }; - /** @description Funds in the account, but not spendable because they are being held for pending outbound flows. */ - outbound_pending: { - [key: string]: number; - }; - }; - /** TreasuryFinancialAccountsResourceClosedStatusDetails */ - treasury_financial_accounts_resource_closed_status_details: { - /** @description The array that contains reasons for a FinancialAccount closure. */ - reasons: ("account_rejected" | "closed_by_platform" | "other")[]; - }; - /** - * TreasuryFinancialAccountsResourceFinancialAddress - * @description FinancialAddresses contain identifying information that resolves to a FinancialAccount. - */ - treasury_financial_accounts_resource_financial_address: { - aba?: components["schemas"]["treasury_financial_accounts_resource_aba_record"]; - /** @description The list of networks that the address supports */ - supported_networks?: ("ach" | "us_domestic_wire")[]; - /** - * @description The type of financial address - * @enum {string} - */ - type: "aba"; - }; - /** - * TreasuryFinancialAccountsResourceFinancialAddressesFeatures - * @description Settings related to Financial Addresses features on a Financial Account - */ - treasury_financial_accounts_resource_financial_addresses_features: { - aba?: components["schemas"]["treasury_financial_accounts_resource_aba_toggle_settings"]; - }; - /** - * TreasuryFinancialAccountsResourceInboundTransfers - * @description InboundTransfers contains inbound transfers features for a FinancialAccount. - */ - treasury_financial_accounts_resource_inbound_transfers: { - ach?: components["schemas"]["treasury_financial_accounts_resource_ach_toggle_settings"]; - }; - /** - * TreasuryFinancialAccountsResourceOutboundPayments - * @description Settings related to Outbound Payments features on a Financial Account - */ - treasury_financial_accounts_resource_outbound_payments: { - ach?: components["schemas"]["treasury_financial_accounts_resource_ach_toggle_settings"]; - us_domestic_wire?: components["schemas"]["treasury_financial_accounts_resource_toggle_settings"]; - }; - /** - * TreasuryFinancialAccountsResourceOutboundTransfers - * @description OutboundTransfers contains outbound transfers features for a FinancialAccount. - */ - treasury_financial_accounts_resource_outbound_transfers: { - ach?: components["schemas"]["treasury_financial_accounts_resource_ach_toggle_settings"]; - us_domestic_wire?: components["schemas"]["treasury_financial_accounts_resource_toggle_settings"]; - }; - /** - * TreasuryFinancialAccountsResourcePlatformRestrictions - * @description Restrictions that a Connect Platform has placed on this FinancialAccount. - */ - treasury_financial_accounts_resource_platform_restrictions: { - /** - * @description Restricts all inbound money movement. - * @enum {string|null} - */ - inbound_flows?: "restricted" | "unrestricted" | null; - /** - * @description Restricts all outbound money movement. - * @enum {string|null} - */ - outbound_flows?: "restricted" | "unrestricted" | null; - }; - /** TreasuryFinancialAccountsResourceStatusDetails */ - treasury_financial_accounts_resource_status_details: { - /** @description Details related to the closure of this FinancialAccount */ - closed?: components["schemas"]["treasury_financial_accounts_resource_closed_status_details"] | null; - }; - /** - * TreasuryFinancialAccountsResourceToggleSettings - * @description Toggle settings for enabling/disabling a feature - */ - treasury_financial_accounts_resource_toggle_settings: { - /** @description Whether the FinancialAccount should have the Feature. */ - requested: boolean; - /** - * @description Whether the Feature is operational. - * @enum {string} - */ - status: "active" | "pending" | "restricted"; - /** @description Additional details; includes at least one entry when the status is not `active`. */ - status_details: components["schemas"]["treasury_financial_accounts_resource_toggles_setting_status_details"][]; - }; - /** - * TreasuryFinancialAccountsResourceTogglesSettingStatusDetails - * @description Additional details on the FinancialAccount Features information. - */ - treasury_financial_accounts_resource_toggles_setting_status_details: { - /** - * @description Represents the reason why the status is `pending` or `restricted`. - * @enum {string} - */ - code: "activating" | "capability_not_requested" | "financial_account_closed" | "rejected_other" | "rejected_unsupported_business" | "requirements_past_due" | "requirements_pending_verification" | "restricted_by_platform" | "restricted_other"; - /** - * @description Represents what the user should do, if anything, to activate the Feature. - * @enum {string|null} - */ - resolution?: "contact_stripe" | "provide_information" | "remove_restriction" | null; - /** - * @description The `platform_restrictions` that are restricting this Feature. - * @enum {string} - */ - restriction?: "inbound_flows" | "outbound_flows"; - }; - /** TreasuryInboundTransfersResourceFailureDetails */ - treasury_inbound_transfers_resource_failure_details: { - /** - * @description Reason for the failure. - * @enum {string} - */ - code: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "debit_not_authorized" | "incorrect_account_holder_address" | "incorrect_account_holder_name" | "incorrect_account_holder_tax_id" | "insufficient_funds" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; - }; - /** TreasuryInboundTransfersResourceInboundTransferResourceLinkedFlows */ - treasury_inbound_transfers_resource_inbound_transfer_resource_linked_flows: { - /** @description If funds for this flow were returned after the flow went to the `succeeded` state, this field contains a reference to the ReceivedDebit return. */ - received_debit?: string | null; - }; - /** TreasuryInboundTransfersResourceInboundTransferResourceStatusTransitions */ - treasury_inbound_transfers_resource_inbound_transfer_resource_status_transitions: { - /** - * Format: unix-time - * @description Timestamp describing when an InboundTransfer changed status to `canceled`. - */ - canceled_at?: number | null; - /** - * Format: unix-time - * @description Timestamp describing when an InboundTransfer changed status to `failed`. - */ - failed_at?: number | null; - /** - * Format: unix-time - * @description Timestamp describing when an InboundTransfer changed status to `succeeded`. - */ - succeeded_at?: number | null; - }; - /** TreasuryOutboundPaymentsResourceOutboundPaymentResourceEndUserDetails */ - treasury_outbound_payments_resource_outbound_payment_resource_end_user_details: { - /** @description IP address of the user initiating the OutboundPayment. Set if `present` is set to `true`. IP address collection is required for risk and compliance reasons. This will be used to help determine if the OutboundPayment is authorized or should be blocked. */ - ip_address?: string | null; - /** @description `true`` if the OutboundPayment creation request is being made on behalf of an end user by a platform. Otherwise, `false`. */ - present: boolean; - }; - /** TreasuryOutboundPaymentsResourceOutboundPaymentResourceStatusTransitions */ - treasury_outbound_payments_resource_outbound_payment_resource_status_transitions: { - /** - * Format: unix-time - * @description Timestamp describing when an OutboundPayment changed status to `canceled`. - */ - canceled_at?: number | null; - /** - * Format: unix-time - * @description Timestamp describing when an OutboundPayment changed status to `failed`. - */ - failed_at?: number | null; - /** - * Format: unix-time - * @description Timestamp describing when an OutboundPayment changed status to `posted`. - */ - posted_at?: number | null; - /** - * Format: unix-time - * @description Timestamp describing when an OutboundPayment changed status to `returned`. - */ - returned_at?: number | null; - }; - /** TreasuryOutboundPaymentsResourceReturnedStatus */ - treasury_outbound_payments_resource_returned_status: { - /** - * @description Reason for the return. - * @enum {string} - */ - code: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "declined" | "incorrect_account_holder_name" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; - /** @description The Transaction associated with this object. */ - transaction: string | components["schemas"]["treasury.transaction"]; - }; - /** TreasuryOutboundTransfersResourceReturnedDetails */ - treasury_outbound_transfers_resource_returned_details: { - /** - * @description Reason for the return. - * @enum {string} - */ - code: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "declined" | "incorrect_account_holder_name" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; - /** @description The Transaction associated with this object. */ - transaction: string | components["schemas"]["treasury.transaction"]; - }; - /** TreasuryOutboundTransfersResourceStatusTransitions */ - treasury_outbound_transfers_resource_status_transitions: { - /** - * Format: unix-time - * @description Timestamp describing when an OutboundTransfer changed status to `canceled` - */ - canceled_at?: number | null; - /** - * Format: unix-time - * @description Timestamp describing when an OutboundTransfer changed status to `failed` - */ - failed_at?: number | null; - /** - * Format: unix-time - * @description Timestamp describing when an OutboundTransfer changed status to `posted` - */ - posted_at?: number | null; - /** - * Format: unix-time - * @description Timestamp describing when an OutboundTransfer changed status to `returned` - */ - returned_at?: number | null; - }; - /** TreasuryReceivedCreditsResourceLinkedFlows */ - treasury_received_credits_resource_linked_flows: { - /** @description The CreditReversal created as a result of this ReceivedCredit being reversed. */ - credit_reversal?: string | null; - /** @description Set if the ReceivedCredit was created due to an [Issuing Authorization](https://stripe.com/docs/api#issuing_authorizations) object. */ - issuing_authorization?: string | null; - /** @description Set if the ReceivedCredit is also viewable as an [Issuing transaction](https://stripe.com/docs/api#issuing_transactions) object. */ - issuing_transaction?: string | null; - /** @description ID of the source flow. Set if `network` is `stripe` and the source flow is visible to the user. Examples of source flows include OutboundPayments, payouts, or CreditReversals. */ - source_flow?: string | null; - /** @description The expandable object of the source flow. */ - source_flow_details?: components["schemas"]["treasury_received_credits_resource_source_flows_details"] | null; - /** @description The type of flow that originated the ReceivedCredit (for example, `outbound_payment`). */ - source_flow_type?: string | null; - }; - /** TreasuryReceivedCreditsResourceReversalDetails */ - treasury_received_credits_resource_reversal_details: { - /** - * Format: unix-time - * @description Time before which a ReceivedCredit can be reversed. - */ - deadline?: number | null; - /** - * @description Set if a ReceivedCredit cannot be reversed. - * @enum {string|null} - */ - restricted_reason?: "already_reversed" | "deadline_passed" | "network_restricted" | "other" | "source_flow_restricted" | null; - }; - /** TreasuryReceivedCreditsResourceSourceFlowsDetails */ - treasury_received_credits_resource_source_flows_details: { - credit_reversal?: components["schemas"]["treasury.credit_reversal"]; - outbound_payment?: components["schemas"]["treasury.outbound_payment"]; - payout?: components["schemas"]["payout"]; - /** - * @description The type of the source flow that originated the ReceivedCredit. - * @enum {string} - */ - type: "credit_reversal" | "other" | "outbound_payment" | "payout"; - }; - /** TreasuryReceivedCreditsResourceStatusTransitions */ - treasury_received_credits_resource_status_transitions: { - /** - * Format: unix-time - * @description Timestamp describing when the CreditReversal changed status to `posted` - */ - posted_at?: number | null; - }; - /** TreasuryReceivedDebitsResourceDebitReversalLinkedFlows */ - treasury_received_debits_resource_debit_reversal_linked_flows: { - /** @description Set if there is an Issuing dispute associated with the DebitReversal. */ - issuing_dispute?: string | null; - }; - /** TreasuryReceivedDebitsResourceLinkedFlows */ - treasury_received_debits_resource_linked_flows: { - /** @description The DebitReversal created as a result of this ReceivedDebit being reversed. */ - debit_reversal?: string | null; - /** @description Set if the ReceivedDebit is associated with an InboundTransfer's return of funds. */ - inbound_transfer?: string | null; - /** @description Set if the ReceivedDebit was created due to an [Issuing Authorization](https://stripe.com/docs/api#issuing_authorizations) object. */ - issuing_authorization?: string | null; - /** @description Set if the ReceivedDebit is also viewable as an [Issuing Dispute](https://stripe.com/docs/api#issuing_disputes) object. */ - issuing_transaction?: string | null; - }; - /** TreasuryReceivedDebitsResourceReversalDetails */ - treasury_received_debits_resource_reversal_details: { - /** - * Format: unix-time - * @description Time before which a ReceivedDebit can be reversed. - */ - deadline?: number | null; - /** - * @description Set if a ReceivedDebit can't be reversed. - * @enum {string|null} - */ - restricted_reason?: "already_reversed" | "deadline_passed" | "network_restricted" | "other" | "source_flow_restricted" | null; - }; - /** TreasuryReceivedDebitsResourceStatusTransitions */ - treasury_received_debits_resource_status_transitions: { - /** - * Format: unix-time - * @description Timestamp describing when the DebitReversal changed status to `completed`. - */ - completed_at?: number | null; - }; - /** TreasurySharedResourceBillingDetails */ - treasury_shared_resource_billing_details: { - address: components["schemas"]["address"]; - /** @description Email address. */ - email?: string | null; - /** @description Full name. */ - name?: string | null; - }; - /** TreasurySharedResourceInitiatingPaymentMethodDetailsInitiatingPaymentMethodDetails */ - treasury_shared_resource_initiating_payment_method_details_initiating_payment_method_details: { - /** - * @description Set when `type` is `balance`. - * @enum {string} - */ - balance?: "payments"; - billing_details: components["schemas"]["treasury_shared_resource_billing_details"]; - financial_account?: components["schemas"]["received_payment_method_details_financial_account"]; - /** @description Set when `type` is `issuing_card`. This is an [Issuing Card](https://stripe.com/docs/api#issuing_cards) ID. */ - issuing_card?: string; - /** - * @description Polymorphic type matching the originating money movement's source. This can be an external account, a Stripe balance, or a FinancialAccount. - * @enum {string} - */ - type: "balance" | "financial_account" | "issuing_card" | "stripe" | "us_bank_account"; - us_bank_account?: components["schemas"]["treasury_shared_resource_initiating_payment_method_details_us_bank_account"]; - }; - /** TreasurySharedResourceInitiatingPaymentMethodDetailsUSBankAccount */ - treasury_shared_resource_initiating_payment_method_details_us_bank_account: { - /** @description Bank name. */ - bank_name?: string | null; - /** @description The last four digits of the bank account number. */ - last4?: string | null; - /** @description The routing number for the bank account. */ - routing_number?: string | null; - }; - /** TreasuryTransactionsResourceAbstractTransactionResourceStatusTransitions */ - treasury_transactions_resource_abstract_transaction_resource_status_transitions: { - /** - * Format: unix-time - * @description Timestamp describing when the Transaction changed status to `posted`. - */ - posted_at?: number | null; - /** - * Format: unix-time - * @description Timestamp describing when the Transaction changed status to `void`. - */ - void_at?: number | null; - }; - /** - * TreasuryTransactionsResourceBalanceImpact - * @description Change to a FinancialAccount's balance - */ - treasury_transactions_resource_balance_impact: { - /** @description The change made to funds the user can spend right now. */ - cash: number; - /** @description The change made to funds that are not spendable yet, but will become available at a later time. */ - inbound_pending: number; - /** @description The change made to funds in the account, but not spendable because they are being held for pending outbound flows. */ - outbound_pending: number; - }; - /** TreasuryTransactionsResourceFlowDetails */ - treasury_transactions_resource_flow_details: { - credit_reversal?: components["schemas"]["treasury.credit_reversal"]; - debit_reversal?: components["schemas"]["treasury.debit_reversal"]; - inbound_transfer?: components["schemas"]["treasury.inbound_transfer"]; - issuing_authorization?: components["schemas"]["issuing.authorization"]; - outbound_payment?: components["schemas"]["treasury.outbound_payment"]; - outbound_transfer?: components["schemas"]["treasury.outbound_transfer"]; - received_credit?: components["schemas"]["treasury.received_credit"]; - received_debit?: components["schemas"]["treasury.received_debit"]; - /** - * @description Type of the flow that created the Transaction. Set to the same value as `flow_type`. - * @enum {string} - */ - type: "credit_reversal" | "debit_reversal" | "inbound_transfer" | "issuing_authorization" | "other" | "outbound_payment" | "outbound_transfer" | "received_credit" | "received_debit"; - }; - /** us_bank_account_networks */ - us_bank_account_networks: { - /** @description The preferred network. */ - preferred?: string | null; - /** @description All supported networks. */ - supported: ("ach" | "us_domestic_wire")[]; - }; - /** - * UsageRecord - * @description Usage records allow you to report customer usage and metrics to Stripe for - * metered billing of subscription prices. - * - * Related guide: [Metered billing](https://stripe.com/docs/billing/subscriptions/metered-billing) - */ - usage_record: { - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "usage_record"; - /** @description The usage quantity for the specified date. */ - quantity: number; - /** @description The ID of the subscription item this usage record contains data for. */ - subscription_item: string; - /** - * Format: unix-time - * @description The timestamp when this usage occurred. - */ - timestamp: number; - }; - /** UsageRecordSummary */ - usage_record_summary: { - /** @description Unique identifier for the object. */ - id: string; - /** @description The invoice in which this usage period has been billed for. */ - invoice?: string | null; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "usage_record_summary"; - period: components["schemas"]["period"]; - /** @description The ID of the subscription item this summary is describing. */ - subscription_item: string; - /** @description The total usage within this usage period. */ - total_usage: number; - }; - /** verification_session_redaction */ - verification_session_redaction: { - /** - * @description Indicates whether this object and its related objects have been redacted or not. - * @enum {string} - */ - status: "processing" | "redacted"; - }; - /** - * NotificationWebhookEndpoint - * @description You can configure [webhook endpoints](https://stripe.com/docs/webhooks/) via the API to be - * notified about events that happen in your Stripe account or connected - * accounts. - * - * Most users configure webhooks from [the dashboard](https://dashboard.stripe.com/webhooks), which provides a user interface for registering and testing your webhook endpoints. - * - * Related guide: [Setting up webhooks](https://stripe.com/docs/webhooks/configure) - */ - webhook_endpoint: { - /** @description The API version events are rendered as for this webhook endpoint. */ - api_version?: string | null; - /** @description The ID of the associated Connect application. */ - application?: string | null; - /** - * Format: unix-time - * @description Time at which the object was created. Measured in seconds since the Unix epoch. - */ - created: number; - /** @description An optional description of what the webhook is used for. */ - description?: string | null; - /** @description The list of events to enable for this endpoint. `['*']` indicates that all events are enabled, except those that require explicit selection. */ - enabled_events: string[]; - /** @description Unique identifier for the object. */ - id: string; - /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ - livemode: boolean; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ - metadata: { - [key: string]: string; - }; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "webhook_endpoint"; - /** @description The endpoint's secret, used to generate [webhook signatures](https://stripe.com/docs/webhooks/signatures). Only returned at creation. */ - secret?: string; - /** @description The status of the webhook. It can be `enabled` or `disabled`. */ - status: string; - /** @description The URL of the webhook endpoint. */ - url: string; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export interface operations { - - /** @description

Retrieves the details of an account.

*/ - GetAccount: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow.

*/ - PostAccountLinks: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The identifier of the account to create an account link for. */ - account: string; - /** - * @description Which information the platform needs to collect from the user. One of `currently_due` or `eventually_due`. Default is `currently_due`. - * @enum {string} - */ - collect?: "currently_due" | "eventually_due"; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The URL the user will be redirected to if the account link is expired, has been previously-visited, or is otherwise invalid. The URL you specify should attempt to generate a new account link with the same parameters used to create the original account link, then redirect the user to the new account link's URL so they can continue with Connect Onboarding. If a new account link cannot be generated or the redirect fails you should display a useful error to the user. */ - refresh_url?: string; - /** @description The URL that the user will be redirected to upon leaving or completing the linked flow. */ - return_url?: string; - /** - * @description The type of account link the user is requesting. Possible values are `account_onboarding` or `account_update`. - * @enum {string} - */ - type: "account_onboarding" | "account_update"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["account_link"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access.

*/ - PostAccountSessions: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The identifier of the account to create an Account Session for. */ - account: string; - /** - * account_session_create_components_param - * @description Each key of the dictionary represents an embedded component, and each embedded component maps to its configuration (e.g. whether it has been enabled or not). - */ - components: { - /** base_config_param */ - account_onboarding?: { - enabled: boolean; - }; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["account_session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty.

*/ - GetAccounts: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["account"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

With Connect, you can create Stripe accounts for your users. - * To do this, you’ll first need to register your platform.

- * - *

If you’ve already collected information for your connected accounts, you can prefill that information when - * creating the account. Connect Onboarding won’t ask for the prefilled information during account onboarding. - * You can prefill any information on the account.

- */ - PostAccounts: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account. */ - account_token?: string; - /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ - bank_account?: ({ - account_holder_name?: string; - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number: string; - /** @enum {string} */ - account_type?: "checking" | "futsu" | "savings" | "toza"; - country: string; - currency?: string; - /** external_account_documents_param */ - documents?: { - /** documents_param */ - bank_account_ownership_verification?: { - files?: string[]; - }; - }; - /** @enum {string} */ - object?: "bank_account"; - routing_number?: string; - }) | string; - /** - * business_profile_specs - * @description Business information about the account. - */ - business_profile?: { - mcc?: string; - /** monthly_estimated_revenue_specs */ - monthly_estimated_revenue?: { - amount: number; - currency: string; - }; - name?: string; - product_description?: string; - /** address_specs */ - support_address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - support_email?: string; - support_phone?: string; - support_url?: string | ""; - url?: string; - }; - /** - * @description The business type. - * @enum {string} - */ - business_type?: "company" | "government_entity" | "individual" | "non_profit"; - /** - * capabilities_param - * @description Each key of the dictionary represents a capability, and each capability maps to its settings (e.g. whether it has been requested or not). Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive. - */ - capabilities?: { - /** capability_param */ - acss_debit_payments?: { - requested?: boolean; - }; - /** capability_param */ - affirm_payments?: { - requested?: boolean; - }; - /** capability_param */ - afterpay_clearpay_payments?: { - requested?: boolean; - }; - /** capability_param */ - au_becs_debit_payments?: { - requested?: boolean; - }; - /** capability_param */ - bacs_debit_payments?: { - requested?: boolean; - }; - /** capability_param */ - bancontact_payments?: { - requested?: boolean; - }; - /** capability_param */ - bank_transfer_payments?: { - requested?: boolean; - }; - /** capability_param */ - blik_payments?: { - requested?: boolean; - }; - /** capability_param */ - boleto_payments?: { - requested?: boolean; - }; - /** capability_param */ - card_issuing?: { - requested?: boolean; - }; - /** capability_param */ - card_payments?: { - requested?: boolean; - }; - /** capability_param */ - cartes_bancaires_payments?: { - requested?: boolean; - }; - /** capability_param */ - cashapp_payments?: { - requested?: boolean; - }; - /** capability_param */ - eps_payments?: { - requested?: boolean; - }; - /** capability_param */ - fpx_payments?: { - requested?: boolean; - }; - /** capability_param */ - giropay_payments?: { - requested?: boolean; - }; - /** capability_param */ - grabpay_payments?: { - requested?: boolean; - }; - /** capability_param */ - ideal_payments?: { - requested?: boolean; - }; - /** capability_param */ - india_international_payments?: { - requested?: boolean; - }; - /** capability_param */ - jcb_payments?: { - requested?: boolean; - }; - /** capability_param */ - klarna_payments?: { - requested?: boolean; - }; - /** capability_param */ - konbini_payments?: { - requested?: boolean; - }; - /** capability_param */ - legacy_payments?: { - requested?: boolean; - }; - /** capability_param */ - link_payments?: { - requested?: boolean; - }; - /** capability_param */ - oxxo_payments?: { - requested?: boolean; - }; - /** capability_param */ - p24_payments?: { - requested?: boolean; - }; - /** capability_param */ - paynow_payments?: { - requested?: boolean; - }; - /** capability_param */ - promptpay_payments?: { - requested?: boolean; - }; - /** capability_param */ - sepa_debit_payments?: { - requested?: boolean; - }; - /** capability_param */ - sofort_payments?: { - requested?: boolean; - }; - /** capability_param */ - tax_reporting_us_1099_k?: { - requested?: boolean; - }; - /** capability_param */ - tax_reporting_us_1099_misc?: { - requested?: boolean; - }; - /** capability_param */ - transfers?: { - requested?: boolean; - }; - /** capability_param */ - treasury?: { - requested?: boolean; - }; - /** capability_param */ - us_bank_account_ach_payments?: { - requested?: boolean; - }; - /** capability_param */ - zip_payments?: { - requested?: boolean; - }; - }; - /** - * company_specs - * @description Information about the company or business. This field is available for any `business_type`. - */ - company?: { - /** address_specs */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** japan_address_kana_specs */ - address_kana?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** japan_address_kanji_specs */ - address_kanji?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - directors_provided?: boolean; - executives_provided?: boolean; - export_license_id?: string; - export_purpose_code?: string; - name?: string; - name_kana?: string; - name_kanji?: string; - owners_provided?: boolean; - /** company_ownership_declaration */ - ownership_declaration?: { - /** Format: unix-time */ - date?: number; - ip?: string; - user_agent?: string; - }; - phone?: string; - registration_number?: string; - /** @enum {string} */ - structure?: "" | "free_zone_establishment" | "free_zone_llc" | "government_instrumentality" | "governmental_unit" | "incorporated_non_profit" | "incorporated_partnership" | "limited_liability_partnership" | "llc" | "multi_member_llc" | "private_company" | "private_corporation" | "private_partnership" | "public_company" | "public_corporation" | "public_partnership" | "single_member_llc" | "sole_establishment" | "sole_proprietorship" | "tax_exempt_government_instrumentality" | "unincorporated_association" | "unincorporated_non_profit" | "unincorporated_partnership"; - tax_id?: string; - tax_id_registrar?: string; - vat_id?: string; - /** verification_specs */ - verification?: { - /** verification_document_specs */ - document?: { - back?: string; - front?: string; - }; - }; - }; - /** @description The country in which the account holder resides, or in which the business is legally established. This should be an ISO 3166-1 alpha-2 country code. For example, if you are in the United States and the business for which you're creating an account is legally represented in Canada, you would use `CA` as the country for the account being created. Available countries include [Stripe's global markets](https://stripe.com/global) as well as countries where [cross-border payouts](https://stripe.com/docs/connect/cross-border-payouts) are supported. */ - country?: string; - /** @description Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts). */ - default_currency?: string; - /** - * documents_specs - * @description Documents that may be submitted to satisfy various informational requests. - */ - documents?: { - /** documents_param */ - bank_account_ownership_verification?: { - files?: string[]; - }; - /** documents_param */ - company_license?: { - files?: string[]; - }; - /** documents_param */ - company_memorandum_of_association?: { - files?: string[]; - }; - /** documents_param */ - company_ministerial_decree?: { - files?: string[]; - }; - /** documents_param */ - company_registration_verification?: { - files?: string[]; - }; - /** documents_param */ - company_tax_id_verification?: { - files?: string[]; - }; - /** documents_param */ - proof_of_registration?: { - files?: string[]; - }; - }; - /** @description The email address of the account holder. This is only to make the account easier to identify to you. Stripe only emails Custom accounts with your consent. */ - email?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A card or bank account to attach to the account for receiving [payouts](https://stripe.com/docs/connect/bank-debit-card-payouts) (you won’t be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://stripe.com/docs/api#account_create_bank_account) creation.

By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the [bank account](https://stripe.com/docs/api#account_create_bank_account) or [card creation](https://stripe.com/docs/api#account_create_card) APIs. */ - external_account?: string; - /** - * individual_specs - * @description Information about the person represented by the account. This field is null unless `business_type` is set to `individual`. - */ - individual?: { - /** address_specs */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** japan_address_kana_specs */ - address_kana?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** japan_address_kanji_specs */ - address_kanji?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - dob?: { - day: number; - month: number; - year: number; - } | ""; - email?: string; - first_name?: string; - first_name_kana?: string; - first_name_kanji?: string; - full_name_aliases?: string[] | ""; - gender?: string; - id_number?: string; - id_number_secondary?: string; - last_name?: string; - last_name_kana?: string; - last_name_kanji?: string; - maiden_name?: string; - metadata?: { - [key: string]: string; - } | ""; - phone?: string; - /** @enum {string} */ - political_exposure?: "existing" | "none"; - /** address_specs */ - registered_address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - ssn_last_4?: string; - /** person_verification_specs */ - verification?: { - /** person_verification_document_specs */ - additional_document?: { - back?: string; - front?: string; - }; - /** person_verification_document_specs */ - document?: { - back?: string; - front?: string; - }; - }; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** - * settings_specs - * @description Options for customizing how the account functions within Stripe. - */ - settings?: { - /** branding_settings_specs */ - branding?: { - icon?: string; - logo?: string; - primary_color?: string; - secondary_color?: string; - }; - /** card_issuing_settings_specs */ - card_issuing?: { - /** settings_terms_of_service_specs */ - tos_acceptance?: { - /** Format: unix-time */ - date?: number; - ip?: string; - user_agent?: string | ""; - }; - }; - /** card_payments_settings_specs */ - card_payments?: { - /** decline_charge_on_specs */ - decline_on?: { - avs_failure?: boolean; - cvc_failure?: boolean; - }; - statement_descriptor_prefix?: string; - statement_descriptor_prefix_kana?: string | ""; - statement_descriptor_prefix_kanji?: string | ""; - }; - /** payments_settings_specs */ - payments?: { - statement_descriptor?: string; - statement_descriptor_kana?: string; - statement_descriptor_kanji?: string; - }; - /** payout_settings_specs */ - payouts?: { - debit_negative_balances?: boolean; - /** transfer_schedule_specs */ - schedule?: { - delay_days?: "minimum" | number; - /** @enum {string} */ - interval?: "daily" | "manual" | "monthly" | "weekly"; - monthly_anchor?: number; - /** @enum {string} */ - weekly_anchor?: "friday" | "monday" | "saturday" | "sunday" | "thursday" | "tuesday" | "wednesday"; - }; - statement_descriptor?: string; - }; - /** treasury_settings_specs */ - treasury?: { - /** settings_terms_of_service_specs */ - tos_acceptance?: { - /** Format: unix-time */ - date?: number; - ip?: string; - user_agent?: string | ""; - }; - }; - }; - /** - * tos_acceptance_specs - * @description Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/docs/connect/updating-accounts#tos-acceptance). - */ - tos_acceptance?: { - /** Format: unix-time */ - date?: number; - ip?: string; - service_agreement?: string; - user_agent?: string; - }; - /** - * @description The type of Stripe account to create. May be one of `custom`, `express` or `standard`. - * @enum {string} - */ - type?: "custom" | "express" | "standard"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an account.

*/ - GetAccountsAccount: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Updates a connected account by setting the values of the parameters passed. Any parameters not provided are - * left unchanged.

- * - *

For Custom accounts, you can update any information on the account. For other accounts, you can update all information until that - * account has started to go through Connect Onboarding. Once you create an Account Link - * for a Standard or Express account, some parameters can no longer be changed. These are marked as Custom Only or Custom and Express - * below.

- * - *

To update your own account, use the Dashboard. Refer to our - * Connect documentation to learn more about updating accounts.

- */ - PostAccountsAccount: { - parameters: { - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account. */ - account_token?: string; - /** - * business_profile_specs - * @description Business information about the account. - */ - business_profile?: { - mcc?: string; - /** monthly_estimated_revenue_specs */ - monthly_estimated_revenue?: { - amount: number; - currency: string; - }; - name?: string; - product_description?: string; - /** address_specs */ - support_address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - support_email?: string; - support_phone?: string; - support_url?: string | ""; - url?: string; - }; - /** - * @description The business type. - * @enum {string} - */ - business_type?: "company" | "government_entity" | "individual" | "non_profit"; - /** - * capabilities_param - * @description Each key of the dictionary represents a capability, and each capability maps to its settings (e.g. whether it has been requested or not). Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive. - */ - capabilities?: { - /** capability_param */ - acss_debit_payments?: { - requested?: boolean; - }; - /** capability_param */ - affirm_payments?: { - requested?: boolean; - }; - /** capability_param */ - afterpay_clearpay_payments?: { - requested?: boolean; - }; - /** capability_param */ - au_becs_debit_payments?: { - requested?: boolean; - }; - /** capability_param */ - bacs_debit_payments?: { - requested?: boolean; - }; - /** capability_param */ - bancontact_payments?: { - requested?: boolean; - }; - /** capability_param */ - bank_transfer_payments?: { - requested?: boolean; - }; - /** capability_param */ - blik_payments?: { - requested?: boolean; - }; - /** capability_param */ - boleto_payments?: { - requested?: boolean; - }; - /** capability_param */ - card_issuing?: { - requested?: boolean; - }; - /** capability_param */ - card_payments?: { - requested?: boolean; - }; - /** capability_param */ - cartes_bancaires_payments?: { - requested?: boolean; - }; - /** capability_param */ - cashapp_payments?: { - requested?: boolean; - }; - /** capability_param */ - eps_payments?: { - requested?: boolean; - }; - /** capability_param */ - fpx_payments?: { - requested?: boolean; - }; - /** capability_param */ - giropay_payments?: { - requested?: boolean; - }; - /** capability_param */ - grabpay_payments?: { - requested?: boolean; - }; - /** capability_param */ - ideal_payments?: { - requested?: boolean; - }; - /** capability_param */ - india_international_payments?: { - requested?: boolean; - }; - /** capability_param */ - jcb_payments?: { - requested?: boolean; - }; - /** capability_param */ - klarna_payments?: { - requested?: boolean; - }; - /** capability_param */ - konbini_payments?: { - requested?: boolean; - }; - /** capability_param */ - legacy_payments?: { - requested?: boolean; - }; - /** capability_param */ - link_payments?: { - requested?: boolean; - }; - /** capability_param */ - oxxo_payments?: { - requested?: boolean; - }; - /** capability_param */ - p24_payments?: { - requested?: boolean; - }; - /** capability_param */ - paynow_payments?: { - requested?: boolean; - }; - /** capability_param */ - promptpay_payments?: { - requested?: boolean; - }; - /** capability_param */ - sepa_debit_payments?: { - requested?: boolean; - }; - /** capability_param */ - sofort_payments?: { - requested?: boolean; - }; - /** capability_param */ - tax_reporting_us_1099_k?: { - requested?: boolean; - }; - /** capability_param */ - tax_reporting_us_1099_misc?: { - requested?: boolean; - }; - /** capability_param */ - transfers?: { - requested?: boolean; - }; - /** capability_param */ - treasury?: { - requested?: boolean; - }; - /** capability_param */ - us_bank_account_ach_payments?: { - requested?: boolean; - }; - /** capability_param */ - zip_payments?: { - requested?: boolean; - }; - }; - /** - * company_specs - * @description Information about the company or business. This field is available for any `business_type`. - */ - company?: { - /** address_specs */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** japan_address_kana_specs */ - address_kana?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** japan_address_kanji_specs */ - address_kanji?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - directors_provided?: boolean; - executives_provided?: boolean; - export_license_id?: string; - export_purpose_code?: string; - name?: string; - name_kana?: string; - name_kanji?: string; - owners_provided?: boolean; - /** company_ownership_declaration */ - ownership_declaration?: { - /** Format: unix-time */ - date?: number; - ip?: string; - user_agent?: string; - }; - phone?: string; - registration_number?: string; - /** @enum {string} */ - structure?: "" | "free_zone_establishment" | "free_zone_llc" | "government_instrumentality" | "governmental_unit" | "incorporated_non_profit" | "incorporated_partnership" | "limited_liability_partnership" | "llc" | "multi_member_llc" | "private_company" | "private_corporation" | "private_partnership" | "public_company" | "public_corporation" | "public_partnership" | "single_member_llc" | "sole_establishment" | "sole_proprietorship" | "tax_exempt_government_instrumentality" | "unincorporated_association" | "unincorporated_non_profit" | "unincorporated_partnership"; - tax_id?: string; - tax_id_registrar?: string; - vat_id?: string; - /** verification_specs */ - verification?: { - /** verification_document_specs */ - document?: { - back?: string; - front?: string; - }; - }; - }; - /** @description Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts). */ - default_currency?: string; - /** - * documents_specs - * @description Documents that may be submitted to satisfy various informational requests. - */ - documents?: { - /** documents_param */ - bank_account_ownership_verification?: { - files?: string[]; - }; - /** documents_param */ - company_license?: { - files?: string[]; - }; - /** documents_param */ - company_memorandum_of_association?: { - files?: string[]; - }; - /** documents_param */ - company_ministerial_decree?: { - files?: string[]; - }; - /** documents_param */ - company_registration_verification?: { - files?: string[]; - }; - /** documents_param */ - company_tax_id_verification?: { - files?: string[]; - }; - /** documents_param */ - proof_of_registration?: { - files?: string[]; - }; - }; - /** @description The email address of the account holder. This is only to make the account easier to identify to you. Stripe only emails Custom accounts with your consent. */ - email?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A card or bank account to attach to the account for receiving [payouts](https://stripe.com/docs/connect/bank-debit-card-payouts) (you won’t be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://stripe.com/docs/api#account_create_bank_account) creation.

By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the [bank account](https://stripe.com/docs/api#account_create_bank_account) or [card creation](https://stripe.com/docs/api#account_create_card) APIs. */ - external_account?: string; - /** - * individual_specs - * @description Information about the person represented by the account. This field is null unless `business_type` is set to `individual`. - */ - individual?: { - /** address_specs */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** japan_address_kana_specs */ - address_kana?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** japan_address_kanji_specs */ - address_kanji?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - dob?: { - day: number; - month: number; - year: number; - } | ""; - email?: string; - first_name?: string; - first_name_kana?: string; - first_name_kanji?: string; - full_name_aliases?: string[] | ""; - gender?: string; - id_number?: string; - id_number_secondary?: string; - last_name?: string; - last_name_kana?: string; - last_name_kanji?: string; - maiden_name?: string; + account: { + /** @description Business information about the account. */ + business_profile?: components["schemas"]["account_business_profile"] | null; + /** + * @description The business type. + * @enum {string|null} + */ + business_type?: "company" | "government_entity" | "individual" | "non_profit"; + capabilities?: components["schemas"]["account_capabilities"]; + /** @description Whether the account can create live charges. */ + charges_enabled?: boolean; + company?: components["schemas"]["legal_entity_company"]; + controller?: components["schemas"]["account_unification_account_controller"]; + /** @description The account's country. */ + country?: string; + /** + * Format: unix-time + * @description Time at which the account was connected. Measured in seconds since the Unix epoch. + */ + created?: number; + /** @description Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts). */ + default_currency?: string; + /** @description Whether account details have been submitted. Standard accounts cannot receive payouts before this is true. */ + details_submitted?: boolean; + /** @description An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform. */ + email?: string | null; + /** + * ExternalAccountList + * @description External accounts (bank accounts and debit cards) currently attached to this account + */ + external_accounts?: { + /** @description The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards. */ + data: (components["schemas"]["bank_account"] | components["schemas"]["card"])[]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + future_requirements?: components["schemas"]["account_future_requirements"]; + /** @description Unique identifier for the object. */ + id: string; + individual?: components["schemas"]["person"]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; - } | ""; - phone?: string; - /** @enum {string} */ - political_exposure?: "existing" | "none"; - /** address_specs */ - registered_address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - ssn_last_4?: string; - /** person_verification_specs */ - verification?: { - /** person_verification_document_specs */ - additional_document?: { - back?: string; - front?: string; - }; - /** person_verification_document_specs */ - document?: { - back?: string; - front?: string; - }; - }; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** - * settings_specs_update - * @description Options for customizing how the account functions within Stripe. - */ - settings?: { - /** branding_settings_specs */ - branding?: { - icon?: string; - logo?: string; - primary_color?: string; - secondary_color?: string; - }; - /** card_issuing_settings_specs */ - card_issuing?: { - /** settings_terms_of_service_specs */ - tos_acceptance?: { - /** Format: unix-time */ - date?: number; - ip?: string; - user_agent?: string | ""; - }; - }; - /** card_payments_settings_specs */ - card_payments?: { - /** decline_charge_on_specs */ - decline_on?: { - avs_failure?: boolean; - cvc_failure?: boolean; - }; - statement_descriptor_prefix?: string; - statement_descriptor_prefix_kana?: string | ""; - statement_descriptor_prefix_kanji?: string | ""; - }; - /** payments_settings_specs */ - payments?: { - statement_descriptor?: string; - statement_descriptor_kana?: string; - statement_descriptor_kanji?: string; - }; - /** payout_settings_specs */ - payouts?: { - debit_negative_balances?: boolean; - /** transfer_schedule_specs */ - schedule?: { - delay_days?: "minimum" | number; - /** @enum {string} */ - interval?: "daily" | "manual" | "monthly" | "weekly"; - monthly_anchor?: number; - /** @enum {string} */ - weekly_anchor?: "friday" | "monday" | "saturday" | "sunday" | "thursday" | "tuesday" | "wednesday"; - }; - statement_descriptor?: string; - }; - /** treasury_settings_specs */ - treasury?: { - /** settings_terms_of_service_specs */ - tos_acceptance?: { - /** Format: unix-time */ - date?: number; - ip?: string; - user_agent?: string | ""; - }; - }; - }; - /** - * tos_acceptance_specs - * @description Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/docs/connect/updating-accounts#tos-acceptance). - */ - tos_acceptance?: { - /** Format: unix-time */ - date?: number; - ip?: string; - service_agreement?: string; - user_agent?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

With Connect, you can delete accounts you manage.

- * - *

Accounts created using test-mode keys can be deleted at any time. Standard accounts created using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys can only be deleted once all balances are zero.

- * - *

If you want to delete your own account, use the account information tab in your account settings instead.

- */ - DeleteAccountsAccount: { - parameters: { - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Create an external account for a given account.

*/ - PostAccountsAccountBankAccounts: { - parameters: { - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ - bank_account?: ({ - account_holder_name?: string; - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number: string; - /** @enum {string} */ - account_type?: "checking" | "futsu" | "savings" | "toza"; - country: string; - currency?: string; - /** external_account_documents_param */ - documents?: { - /** documents_param */ - bank_account_ownership_verification?: { - files?: string[]; - }; - }; - /** @enum {string} */ - object?: "bank_account"; - routing_number?: string; - }) | string; - /** @description When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency. */ - default_for_currency?: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ - external_account?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["external_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieve a specified external account for a given account.

*/ - GetAccountsAccountBankAccountsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - account: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["external_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.

- * - *

You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.

- */ - PostAccountsAccountBankAccountsId: { - parameters: { - path: { - account: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The name of the person or business that owns the bank account. */ - account_holder_name?: string; - /** - * @description The type of entity that holds the account. This can be either `individual` or `company`. - * @enum {string} - */ - account_holder_type?: "" | "company" | "individual"; - /** - * @description The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`. - * @enum {string} - */ - account_type?: "checking" | "futsu" | "savings" | "toza"; - /** @description City/District/Suburb/Town/Village. */ - address_city?: string; - /** @description Billing address country, if provided when creating card. */ - address_country?: string; - /** @description Address line 1 (Street address/PO Box/Company name). */ - address_line1?: string; - /** @description Address line 2 (Apartment/Suite/Unit/Building). */ - address_line2?: string; - /** @description State/County/Province/Region. */ - address_state?: string; - /** @description ZIP or postal code. */ - address_zip?: string; - /** @description When set to true, this becomes the default external account for its currency. */ - default_for_currency?: boolean; - /** - * external_account_documents_param - * @description Documents that may be submitted to satisfy various informational requests. - */ - documents?: { - /** documents_param */ - bank_account_ownership_verification?: { - files?: string[]; - }; - }; - /** @description Two digit number representing the card’s expiration month. */ - exp_month?: string; - /** @description Four digit number representing the card’s expiration year. */ - exp_year?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Cardholder name. */ - name?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["external_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Delete a specified external account for a given account.

*/ - DeleteAccountsAccountBankAccountsId: { - parameters: { - path: { - account: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_external_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.

*/ - GetAccountsAccountCapabilities: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["capability"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves information about the specified Account Capability.

*/ - GetAccountsAccountCapabilitiesCapability: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - account: string; - capability: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["capability"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates an existing Account Capability. Request or remove a capability by updating its requested parameter.

*/ - PostAccountsAccountCapabilitiesCapability: { - parameters: { - path: { - account: string; - capability: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * @description To request a new capability for an account, pass true. There can be a delay before the requested capability becomes active. If the capability has any activation requirements, the response includes them in the `requirements` arrays. - * - * If a capability isn't permanent, you can remove it from the account by passing false. Most capabilities are permanent after they've been requested. Attempting to remove a permanent capability returns an error. - */ - requested?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["capability"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

List external accounts for an account.

*/ - GetAccountsAccountExternalAccounts: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards. */ - data: (components["schemas"]["bank_account"] | components["schemas"]["card"])[]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Create an external account for a given account.

*/ - PostAccountsAccountExternalAccounts: { - parameters: { - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ - bank_account?: ({ - account_holder_name?: string; - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number: string; - /** @enum {string} */ - account_type?: "checking" | "futsu" | "savings" | "toza"; - country: string; - currency?: string; - /** external_account_documents_param */ - documents?: { - /** documents_param */ - bank_account_ownership_verification?: { - files?: string[]; - }; + [key: string]: string; }; - /** @enum {string} */ - object?: "bank_account"; - routing_number?: string; - }) | string; - /** @description When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency. */ - default_for_currency?: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ - external_account?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["external_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieve a specified external account for a given account.

*/ - GetAccountsAccountExternalAccountsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - account: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["external_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.

- * - *

You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.

- */ - PostAccountsAccountExternalAccountsId: { - parameters: { - path: { - account: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The name of the person or business that owns the bank account. */ - account_holder_name?: string; - /** - * @description The type of entity that holds the account. This can be either `individual` or `company`. - * @enum {string} - */ - account_holder_type?: "" | "company" | "individual"; - /** - * @description The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`. - * @enum {string} - */ - account_type?: "checking" | "futsu" | "savings" | "toza"; - /** @description City/District/Suburb/Town/Village. */ - address_city?: string; - /** @description Billing address country, if provided when creating card. */ - address_country?: string; - /** @description Address line 1 (Street address/PO Box/Company name). */ - address_line1?: string; - /** @description Address line 2 (Apartment/Suite/Unit/Building). */ - address_line2?: string; - /** @description State/County/Province/Region. */ - address_state?: string; - /** @description ZIP or postal code. */ - address_zip?: string; - /** @description When set to true, this becomes the default external account for its currency. */ - default_for_currency?: boolean; - /** - * external_account_documents_param - * @description Documents that may be submitted to satisfy various informational requests. - */ - documents?: { - /** documents_param */ - bank_account_ownership_verification?: { - files?: string[]; - }; - }; - /** @description Two digit number representing the card’s expiration month. */ - exp_month?: string; - /** @description Four digit number representing the card’s expiration year. */ - exp_year?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Cardholder name. */ - name?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["external_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Delete a specified external account for a given account.

*/ - DeleteAccountsAccountExternalAccountsId: { - parameters: { - path: { - account: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_external_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Creates a single-use login link for an Express account to access their Stripe dashboard.

- * - *

You may only create login links for Express accounts connected to your platform.

- */ - PostAccountsAccountLoginLinks: { - parameters: { - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["login_link"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.

*/ - GetAccountsAccountPeople: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Filters on the list of people returned based on the person's relationship to the account's company. */ - relationship?: { - director?: boolean; - executive?: boolean; - owner?: boolean; - representative?: boolean; - }; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["person"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new person.

*/ - PostAccountsAccountPeople: { - parameters: { - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * address_specs - * @description The person's address. - */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** - * japan_address_kana_specs - * @description The Kana variation of the person's address (Japan only). - */ - address_kana?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** - * japan_address_kanji_specs - * @description The Kanji variation of the person's address (Japan only). - */ - address_kanji?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** @description The person's date of birth. */ - dob?: { - day: number; - month: number; - year: number; - } | ""; - /** - * person_documents_specs - * @description Documents that may be submitted to satisfy various informational requests. - */ - documents?: { - /** documents_param */ - company_authorization?: { - files?: (string | "")[]; - }; - /** documents_param */ - passport?: { - files?: (string | "")[]; - }; - /** documents_param */ - visa?: { - files?: (string | "")[]; - }; - }; - /** @description The person's email address. */ - email?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The person's first name. */ - first_name?: string; - /** @description The Kana variation of the person's first name (Japan only). */ - first_name_kana?: string; - /** @description The Kanji variation of the person's first name (Japan only). */ - first_name_kanji?: string; - /** @description A list of alternate names or aliases that the person is known by. */ - full_name_aliases?: string[] | ""; - /** @description The person's gender (International regulations require either "male" or "female"). */ - gender?: string; - /** @description The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ - id_number?: string; - /** @description The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ - id_number_secondary?: string; - /** @description The person's last name. */ - last_name?: string; - /** @description The Kana variation of the person's last name (Japan only). */ - last_name_kana?: string; - /** @description The Kanji variation of the person's last name (Japan only). */ - last_name_kanji?: string; - /** @description The person's maiden name. */ - maiden_name?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ - nationality?: string; - /** @description A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person. */ - person_token?: string; - /** @description The person's phone number. */ - phone?: string; - /** @description Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. */ - political_exposure?: string; - /** - * address_specs - * @description The person's registered address. - */ - registered_address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** - * relationship_specs - * @description The relationship that this person has with the account's legal entity. - */ - relationship?: { - director?: boolean; - executive?: boolean; - owner?: boolean; - percent_ownership?: number | ""; - representative?: boolean; - title?: string; - }; - /** @description The last four digits of the person's Social Security number (U.S. only). */ - ssn_last_4?: string; - /** - * person_verification_specs - * @description The person's verification status. - */ - verification?: { - /** person_verification_document_specs */ - additional_document?: { - back?: string; - front?: string; - }; - /** person_verification_document_specs */ - document?: { - back?: string; - front?: string; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["person"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves an existing person.

*/ - GetAccountsAccountPeoplePerson: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - account: string; - person: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["person"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates an existing person.

*/ - PostAccountsAccountPeoplePerson: { - parameters: { - path: { - account: string; - person: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * address_specs - * @description The person's address. - */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** - * japan_address_kana_specs - * @description The Kana variation of the person's address (Japan only). - */ - address_kana?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** - * japan_address_kanji_specs - * @description The Kanji variation of the person's address (Japan only). - */ - address_kanji?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** @description The person's date of birth. */ - dob?: { - day: number; - month: number; - year: number; - } | ""; - /** - * person_documents_specs - * @description Documents that may be submitted to satisfy various informational requests. - */ - documents?: { - /** documents_param */ - company_authorization?: { - files?: (string | "")[]; - }; - /** documents_param */ - passport?: { - files?: (string | "")[]; - }; - /** documents_param */ - visa?: { - files?: (string | "")[]; - }; - }; - /** @description The person's email address. */ - email?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The person's first name. */ - first_name?: string; - /** @description The Kana variation of the person's first name (Japan only). */ - first_name_kana?: string; - /** @description The Kanji variation of the person's first name (Japan only). */ - first_name_kanji?: string; - /** @description A list of alternate names or aliases that the person is known by. */ - full_name_aliases?: string[] | ""; - /** @description The person's gender (International regulations require either "male" or "female"). */ - gender?: string; - /** @description The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ - id_number?: string; - /** @description The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ - id_number_secondary?: string; - /** @description The person's last name. */ - last_name?: string; - /** @description The Kana variation of the person's last name (Japan only). */ - last_name_kana?: string; - /** @description The Kanji variation of the person's last name (Japan only). */ - last_name_kanji?: string; - /** @description The person's maiden name. */ - maiden_name?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ - nationality?: string; - /** @description A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person. */ - person_token?: string; - /** @description The person's phone number. */ - phone?: string; - /** @description Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. */ - political_exposure?: string; - /** - * address_specs - * @description The person's registered address. - */ - registered_address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** - * relationship_specs - * @description The relationship that this person has with the account's legal entity. - */ - relationship?: { - director?: boolean; - executive?: boolean; - owner?: boolean; - percent_ownership?: number | ""; - representative?: boolean; - title?: string; - }; - /** @description The last four digits of the person's Social Security number (U.S. only). */ - ssn_last_4?: string; - /** - * person_verification_specs - * @description The person's verification status. - */ - verification?: { - /** person_verification_document_specs */ - additional_document?: { - back?: string; - front?: string; - }; - /** person_verification_document_specs */ - document?: { - back?: string; - front?: string; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["person"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.

*/ - DeleteAccountsAccountPeoplePerson: { - parameters: { - path: { - account: string; - person: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_person"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.

*/ - GetAccountsAccountPersons: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Filters on the list of people returned based on the person's relationship to the account's company. */ - relationship?: { - director?: boolean; - executive?: boolean; - owner?: boolean; - representative?: boolean; - }; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["person"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new person.

*/ - PostAccountsAccountPersons: { - parameters: { - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * address_specs - * @description The person's address. - */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** - * japan_address_kana_specs - * @description The Kana variation of the person's address (Japan only). - */ - address_kana?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** - * japan_address_kanji_specs - * @description The Kanji variation of the person's address (Japan only). - */ - address_kanji?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** @description The person's date of birth. */ - dob?: { - day: number; - month: number; - year: number; - } | ""; - /** - * person_documents_specs - * @description Documents that may be submitted to satisfy various informational requests. - */ - documents?: { - /** documents_param */ - company_authorization?: { - files?: (string | "")[]; - }; - /** documents_param */ - passport?: { - files?: (string | "")[]; - }; - /** documents_param */ - visa?: { - files?: (string | "")[]; - }; - }; - /** @description The person's email address. */ - email?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The person's first name. */ - first_name?: string; - /** @description The Kana variation of the person's first name (Japan only). */ - first_name_kana?: string; - /** @description The Kanji variation of the person's first name (Japan only). */ - first_name_kanji?: string; - /** @description A list of alternate names or aliases that the person is known by. */ - full_name_aliases?: string[] | ""; - /** @description The person's gender (International regulations require either "male" or "female"). */ - gender?: string; - /** @description The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ - id_number?: string; - /** @description The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ - id_number_secondary?: string; - /** @description The person's last name. */ - last_name?: string; - /** @description The Kana variation of the person's last name (Japan only). */ - last_name_kana?: string; - /** @description The Kanji variation of the person's last name (Japan only). */ - last_name_kanji?: string; - /** @description The person's maiden name. */ - maiden_name?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ - nationality?: string; - /** @description A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person. */ - person_token?: string; - /** @description The person's phone number. */ - phone?: string; - /** @description Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. */ - political_exposure?: string; - /** - * address_specs - * @description The person's registered address. - */ - registered_address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** - * relationship_specs - * @description The relationship that this person has with the account's legal entity. - */ - relationship?: { - director?: boolean; - executive?: boolean; - owner?: boolean; - percent_ownership?: number | ""; - representative?: boolean; - title?: string; - }; - /** @description The last four digits of the person's Social Security number (U.S. only). */ - ssn_last_4?: string; - /** - * person_verification_specs - * @description The person's verification status. - */ - verification?: { - /** person_verification_document_specs */ - additional_document?: { - back?: string; - front?: string; - }; - /** person_verification_document_specs */ - document?: { - back?: string; - front?: string; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["person"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves an existing person.

*/ - GetAccountsAccountPersonsPerson: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - account: string; - person: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["person"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates an existing person.

*/ - PostAccountsAccountPersonsPerson: { - parameters: { - path: { - account: string; - person: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * address_specs - * @description The person's address. - */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** - * japan_address_kana_specs - * @description The Kana variation of the person's address (Japan only). - */ - address_kana?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** - * japan_address_kanji_specs - * @description The Kanji variation of the person's address (Japan only). - */ - address_kanji?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** @description The person's date of birth. */ - dob?: { - day: number; - month: number; - year: number; - } | ""; - /** - * person_documents_specs - * @description Documents that may be submitted to satisfy various informational requests. - */ - documents?: { - /** documents_param */ - company_authorization?: { - files?: (string | "")[]; - }; - /** documents_param */ - passport?: { - files?: (string | "")[]; - }; - /** documents_param */ - visa?: { - files?: (string | "")[]; - }; - }; - /** @description The person's email address. */ - email?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The person's first name. */ - first_name?: string; - /** @description The Kana variation of the person's first name (Japan only). */ - first_name_kana?: string; - /** @description The Kanji variation of the person's first name (Japan only). */ - first_name_kanji?: string; - /** @description A list of alternate names or aliases that the person is known by. */ - full_name_aliases?: string[] | ""; - /** @description The person's gender (International regulations require either "male" or "female"). */ - gender?: string; - /** @description The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ - id_number?: string; - /** @description The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ - id_number_secondary?: string; - /** @description The person's last name. */ - last_name?: string; - /** @description The Kana variation of the person's last name (Japan only). */ - last_name_kana?: string; - /** @description The Kanji variation of the person's last name (Japan only). */ - last_name_kanji?: string; - /** @description The person's maiden name. */ - maiden_name?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ - nationality?: string; - /** @description A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person. */ - person_token?: string; - /** @description The person's phone number. */ - phone?: string; - /** @description Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. */ - political_exposure?: string; - /** - * address_specs - * @description The person's registered address. - */ - registered_address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** - * relationship_specs - * @description The relationship that this person has with the account's legal entity. - */ - relationship?: { - director?: boolean; - executive?: boolean; - owner?: boolean; - percent_ownership?: number | ""; - representative?: boolean; - title?: string; - }; - /** @description The last four digits of the person's Social Security number (U.S. only). */ - ssn_last_4?: string; - /** - * person_verification_specs - * @description The person's verification status. - */ - verification?: { - /** person_verification_document_specs */ - additional_document?: { - back?: string; - front?: string; - }; - /** person_verification_document_specs */ - document?: { - back?: string; - front?: string; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["person"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.

*/ - DeleteAccountsAccountPersonsPerson: { - parameters: { - path: { - account: string; - person: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_person"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

With Connect, you may flag accounts as suspicious.

- * - *

Test-mode Custom and Express accounts can be rejected at any time. Accounts created using live-mode keys may only be rejected once all balances are zero.

- */ - PostAccountsAccountReject: { - parameters: { - path: { - account: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The reason for rejecting the account. Can be `fraud`, `terms_of_service`, or `other`. */ - reason: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

List apple pay domains.

*/ - GetApplePayDomains: { - parameters: { - query?: { - domain_name?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["apple_pay_domain"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Create an apple pay domain.

*/ - PostApplePayDomains: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - domain_name: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["apple_pay_domain"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieve an apple pay domain.

*/ - GetApplePayDomainsDomain: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - domain: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["apple_pay_domain"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Delete an apple pay domain.

*/ - DeleteApplePayDomainsDomain: { - parameters: { - path: { - domain: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_apple_pay_domain"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of application fees you’ve previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.

*/ - GetApplicationFees: { - parameters: { - query?: { - /** @description Only return application fees for the charge specified by this charge ID. */ - charge?: string; - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["application_fee"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee.

*/ - GetApplicationFeesFeeRefundsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - fee: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["fee_refund"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

- * - *

This request only accepts metadata as an argument.

- */ - PostApplicationFeesFeeRefundsId: { - parameters: { - path: { - fee: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["fee_refund"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee.

*/ - GetApplicationFeesId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["application_fee"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - PostApplicationFeesIdRefund: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - amount?: number; - directive?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["application_fee"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds.

*/ - GetApplicationFeesIdRefunds: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["fee_refund"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Refunds an application fee that has previously been collected but not yet refunded. - * Funds will be refunded to the Stripe account from which the fee was originally collected.

- * - *

You can optionally refund only part of an application fee. - * You can do so multiple times, until the entire fee has been refunded.

- * - *

Once entirely refunded, an application fee can’t be refunded again. - * This method will raise an error when called on an already-refunded application fee, - * or when trying to refund more money than is left on an application fee.

- */ - PostApplicationFeesIdRefunds: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description A positive integer, in _cents (or local equivalent)_, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee. */ - amount?: number; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["fee_refund"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

List all secrets stored on the given scope.

*/ - GetAppsSecrets: { - parameters: { - query: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. */ - scope: { - /** @enum {string} */ - type: "account" | "user"; - user?: string; - }; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["apps.secret"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Create or replace a secret in the secret store.

*/ - PostAppsSecrets: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * Format: unix-time - * @description The Unix timestamp for the expiry time of the secret, after which the secret deletes. - */ - expires_at?: number; - /** @description A name for the secret that's unique within the scope. */ - name: string; - /** @description The plaintext secret value to be stored. */ - payload: string; - /** - * scope_param - * @description Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. - */ - scope: { - /** @enum {string} */ - type: "account" | "user"; - user?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["apps.secret"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes a secret from the secret store by name and scope.

*/ - PostAppsSecretsDelete: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A name for the secret that's unique within the scope. */ - name: string; - /** - * scope_param - * @description Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. - */ - scope: { - /** @enum {string} */ - type: "account" | "user"; - user?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["apps.secret"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Finds a secret in the secret store by name and scope.

*/ - GetAppsSecretsFind: { - parameters: { - query: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A name for the secret that's unique within the scope. */ - name: string; - /** @description Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. */ - scope: { - /** @enum {string} */ - type: "account" | "user"; - user?: string; - }; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["apps.secret"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Retrieves the current account balance, based on the authentication that was used to make the request. - * For a sample request, see Accounting for negative balances.

- */ - GetBalance: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["balance"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.

- * - *

Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history.

- */ - GetBalanceHistory: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return transactions in a certain currency. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID. */ - payout?: string; - /** @description Only returns the original transaction. */ - source?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. */ - type?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["balance_transaction"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Retrieves the balance transaction with the given ID.

- * - *

Note that this endpoint previously used the path /v1/balance/history/:id.

- */ - GetBalanceHistoryId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["balance_transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.

- * - *

Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history.

- */ - GetBalanceTransactions: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return transactions in a certain currency. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID. */ - payout?: string; - /** @description Only returns the original transaction. */ - source?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. */ - type?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["balance_transaction"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Retrieves the balance transaction with the given ID.

- * - *

Note that this endpoint previously used the path /v1/balance/history/:id.

- */ - GetBalanceTransactionsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["balance_transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of configurations that describe the functionality of the customer portal.

*/ - GetBillingPortalConfigurations: { - parameters: { - query?: { - /** @description Only return configurations that are active or inactive (e.g., pass `true` to only list active configurations). */ - active?: boolean; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Only return the default or non-default configurations (e.g., pass `true` to only list the default configuration). */ - is_default?: boolean; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["billing_portal.configuration"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a configuration that describes the functionality and behavior of a PortalSession

*/ - PostBillingPortalConfigurations: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * business_profile_create_param - * @description The business information shown to customers in the portal. - */ - business_profile: { - headline?: string | ""; - privacy_policy_url?: string; - terms_of_service_url?: string; - }; - /** @description The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session. */ - default_return_url?: string | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * features_creation_param - * @description Information about the features available in the portal. - */ - features: { - /** customer_update_creation_param */ - customer_update?: { - allowed_updates?: (("address" | "email" | "name" | "phone" | "shipping" | "tax_id")[]) | ""; - enabled: boolean; - }; - /** invoice_list_param */ - invoice_history?: { - enabled: boolean; - }; - /** payment_method_update_param */ - payment_method_update?: { - enabled: boolean; - }; - /** subscription_cancel_creation_param */ - subscription_cancel?: { - /** subscription_cancellation_reason_creation_param */ - cancellation_reason?: { - enabled: boolean; - options: (("customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused")[]) | ""; - }; - enabled: boolean; - /** @enum {string} */ - mode?: "at_period_end" | "immediately"; - /** @enum {string} */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - }; - /** subscription_pause_param */ - subscription_pause?: { - enabled?: boolean; - }; - /** subscription_update_creation_param */ - subscription_update?: { - default_allowed_updates: (("price" | "promotion_code" | "quantity")[]) | ""; - enabled: boolean; - products: { - prices: string[]; - product: string; - }[] | ""; - /** @enum {string} */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - }; - }; - /** - * login_page_create_param - * @description The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share). - */ - login_page?: { - enabled: boolean; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["billing_portal.configuration"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a configuration that describes the functionality of the customer portal.

*/ - GetBillingPortalConfigurationsConfiguration: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - configuration: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["billing_portal.configuration"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates a configuration that describes the functionality of the customer portal.

*/ - PostBillingPortalConfigurationsConfiguration: { - parameters: { - path: { - configuration: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether the configuration is active and can be used to create portal sessions. */ - active?: boolean; - /** - * business_profile_update_param - * @description The business information shown to customers in the portal. - */ - business_profile?: { - headline?: string | ""; - privacy_policy_url?: string | ""; - terms_of_service_url?: string | ""; - }; - /** @description The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session. */ - default_return_url?: string | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * features_updating_param - * @description Information about the features available in the portal. - */ - features?: { - /** customer_update_updating_param */ - customer_update?: { - allowed_updates?: (("address" | "email" | "name" | "phone" | "shipping" | "tax_id")[]) | ""; - enabled?: boolean; - }; - /** invoice_list_param */ - invoice_history?: { - enabled: boolean; - }; - /** payment_method_update_param */ - payment_method_update?: { - enabled: boolean; - }; - /** subscription_cancel_updating_param */ - subscription_cancel?: { - /** subscription_cancellation_reason_updating_param */ - cancellation_reason?: { - enabled: boolean; - options?: (("customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused")[]) | ""; - }; - enabled?: boolean; - /** @enum {string} */ - mode?: "at_period_end" | "immediately"; - /** @enum {string} */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - }; - /** subscription_pause_param */ - subscription_pause?: { - enabled?: boolean; - }; - /** subscription_update_updating_param */ - subscription_update?: { - default_allowed_updates?: (("price" | "promotion_code" | "quantity")[]) | ""; - enabled?: boolean; - products?: { - prices: string[]; - product: string; - }[] | ""; - /** @enum {string} */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - }; - }; - /** - * login_page_update_param - * @description The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share). - */ - login_page?: { - enabled: boolean; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["billing_portal.configuration"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a session of the customer portal.

*/ - PostBillingPortalSessions: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The ID of an existing [configuration](https://stripe.com/docs/api/customer_portal/configuration) to use for this session, describing its functionality and features. If not specified, the session uses the default configuration. */ - configuration?: string; - /** @description The ID of an existing customer. */ - customer: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * flow_data_param - * @description Information about a specific flow for the customer to go through. See the [docs](https://stripe.com/docs/customer-management/portal-deep-links) to learn more about using customer portal deep links and flows. - */ - flow_data?: { - /** flow_data_after_completion_param */ - after_completion?: { - /** after_completion_hosted_confirmation_param */ - hosted_confirmation?: { - custom_message?: string; - }; - /** after_completion_redirect_param */ - redirect?: { - return_url: string; - }; - /** @enum {string} */ - type: "hosted_confirmation" | "portal_homepage" | "redirect"; - }; - /** flow_data_subscription_cancel_param */ - subscription_cancel?: { - /** retention_param */ - retention?: { - /** coupon_offer_param */ - coupon_offer: { - coupon: string; - }; - /** @enum {string} */ - type: "coupon_offer"; - }; - subscription: string; - }; - /** flow_data_subscription_update_param */ - subscription_update?: { - subscription: string; - }; - /** flow_data_subscription_update_confirm_param */ - subscription_update_confirm?: { - discounts?: { - coupon?: string; - promotion_code?: string; - }[]; - items: { - id: string; - price?: string; - quantity?: number; - }[]; - subscription: string; - }; - /** @enum {string} */ - type: "payment_method_update" | "subscription_cancel" | "subscription_update" | "subscription_update_confirm"; - }; - /** - * @description The IETF language tag of the locale customer portal is displayed in. If blank or auto, the customer’s `preferred_locales` or browser’s locale is used. - * @enum {string} - */ - locale?: "auto" | "bg" | "cs" | "da" | "de" | "el" | "en" | "en-AU" | "en-CA" | "en-GB" | "en-IE" | "en-IN" | "en-NZ" | "en-SG" | "es" | "es-419" | "et" | "fi" | "fil" | "fr" | "fr-CA" | "hr" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "mt" | "nb" | "nl" | "pl" | "pt" | "pt-BR" | "ro" | "ru" | "sk" | "sl" | "sv" | "th" | "tr" | "vi" | "zh" | "zh-HK" | "zh-TW"; - /** @description The `on_behalf_of` account to use for this session. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://stripe.com/docs/connect/separate-charges-and-transfers#on-behalf-of). Use the [Accounts API](https://stripe.com/docs/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays. */ - on_behalf_of?: string; - /** @description The default URL to redirect customers to when they click on the portal's link to return to your website. */ - return_url?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["billing_portal.session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.

*/ - GetCharges: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return charges for the customer specified by this customer ID. */ - customer?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return charges that were created by the PaymentIntent specified by this PaymentIntent ID. */ - payment_intent?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return charges for this transfer group. */ - transfer_group?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["charge"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "account"; + /** @description Whether Stripe can send payouts to this account. */ + payouts_enabled?: boolean; + requirements?: components["schemas"]["account_requirements"]; + /** @description Options for customizing how the account functions within Stripe. */ + settings?: components["schemas"]["account_settings"] | null; + tos_acceptance?: components["schemas"]["account_tos_acceptance"]; + /** + * @description The Stripe account type. Can be `standard`, `express`, or `custom`. + * @enum {string} + */ + type?: "custom" | "express" | "standard"; + }; + /** AccountBacsDebitPaymentsSettings */ + account_bacs_debit_payments_settings: { + /** @description The Bacs Direct Debit Display Name for this account. For payments made with Bacs Direct Debit, this will appear on the mandate, and as the statement descriptor. */ + display_name?: string; + }; + /** AccountBrandingSettings */ + account_branding_settings: { + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account. Must be square and at least 128px x 128px. */ + icon?: (string | components["schemas"]["file"]) | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account's name next to it if provided. Must be at least 128px x 128px. */ + logo?: (string | components["schemas"]["file"]) | null; + /** @description A CSS hex color value representing the primary branding color for this account */ + primary_color?: string | null; + /** @description A CSS hex color value representing the secondary branding color for this account */ + secondary_color?: string | null; + }; + /** AccountBusinessProfile */ + account_business_profile: { + /** @description [The merchant category code for the account](https://stripe.com/docs/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. */ + mcc?: string | null; + monthly_estimated_revenue?: components["schemas"]["account_monthly_estimated_revenue"]; + /** @description The customer-facing business name. */ + name?: string | null; + /** @description Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes. */ + product_description?: string | null; + /** @description A publicly available mailing address for sending support issues to. */ + support_address?: components["schemas"]["address"] | null; + /** @description A publicly available email address for sending support issues to. */ + support_email?: string | null; + /** @description A publicly available phone number to call with support issues. */ + support_phone?: string | null; + /** @description A publicly available website for handling support issues. */ + support_url?: string | null; + /** @description The business's publicly available website. */ + url?: string | null; + }; + /** AccountCapabilities */ + account_capabilities: { + /** + * @description The status of the Canadian pre-authorized debits payments capability of the account, or whether the account can directly process Canadian pre-authorized debits charges. + * @enum {string} + */ + acss_debit_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the Affirm capability of the account, or whether the account can directly process Affirm charges. + * @enum {string} + */ + affirm_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the Afterpay Clearpay capability of the account, or whether the account can directly process Afterpay Clearpay charges. + * @enum {string} + */ + afterpay_clearpay_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the BECS Direct Debit (AU) payments capability of the account, or whether the account can directly process BECS Direct Debit (AU) charges. + * @enum {string} + */ + au_becs_debit_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the Bacs Direct Debits payments capability of the account, or whether the account can directly process Bacs Direct Debits charges. + * @enum {string} + */ + bacs_debit_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the Bancontact payments capability of the account, or whether the account can directly process Bancontact charges. + * @enum {string} + */ + bancontact_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the customer_balance payments capability of the account, or whether the account can directly process customer_balance charges. + * @enum {string} + */ + bank_transfer_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the blik payments capability of the account, or whether the account can directly process blik charges. + * @enum {string} + */ + blik_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the boleto payments capability of the account, or whether the account can directly process boleto charges. + * @enum {string} + */ + boleto_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the card issuing capability of the account, or whether you can use Issuing to distribute funds on cards + * @enum {string} + */ + card_issuing?: "active" | "inactive" | "pending"; + /** + * @description The status of the card payments capability of the account, or whether the account can directly process credit and debit card charges. + * @enum {string} + */ + card_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the Cartes Bancaires payments capability of the account, or whether the account can directly process Cartes Bancaires card charges in EUR currency. + * @enum {string} + */ + cartes_bancaires_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the Cash App Pay capability of the account, or whether the account can directly process Cash App Pay payments. + * @enum {string} + */ + cashapp_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the EPS payments capability of the account, or whether the account can directly process EPS charges. + * @enum {string} + */ + eps_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the FPX payments capability of the account, or whether the account can directly process FPX charges. + * @enum {string} + */ + fpx_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the giropay payments capability of the account, or whether the account can directly process giropay charges. + * @enum {string} + */ + giropay_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the GrabPay payments capability of the account, or whether the account can directly process GrabPay charges. + * @enum {string} + */ + grabpay_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the iDEAL payments capability of the account, or whether the account can directly process iDEAL charges. + * @enum {string} + */ + ideal_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the india_international_payments capability of the account, or whether the account can process international charges (non INR) in India. + * @enum {string} + */ + india_international_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the JCB payments capability of the account, or whether the account (Japan only) can directly process JCB credit card charges in JPY currency. + * @enum {string} + */ + jcb_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the Klarna payments capability of the account, or whether the account can directly process Klarna charges. + * @enum {string} + */ + klarna_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the konbini payments capability of the account, or whether the account can directly process konbini charges. + * @enum {string} + */ + konbini_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the legacy payments capability of the account. + * @enum {string} + */ + legacy_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the link_payments capability of the account, or whether the account can directly process Link charges. + * @enum {string} + */ + link_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the OXXO payments capability of the account, or whether the account can directly process OXXO charges. + * @enum {string} + */ + oxxo_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the P24 payments capability of the account, or whether the account can directly process P24 charges. + * @enum {string} + */ + p24_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the paynow payments capability of the account, or whether the account can directly process paynow charges. + * @enum {string} + */ + paynow_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the promptpay payments capability of the account, or whether the account can directly process promptpay charges. + * @enum {string} + */ + promptpay_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the SEPA Direct Debits payments capability of the account, or whether the account can directly process SEPA Direct Debits charges. + * @enum {string} + */ + sepa_debit_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the Sofort payments capability of the account, or whether the account can directly process Sofort charges. + * @enum {string} + */ + sofort_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the tax reporting 1099-K (US) capability of the account. + * @enum {string} + */ + tax_reporting_us_1099_k?: "active" | "inactive" | "pending"; + /** + * @description The status of the tax reporting 1099-MISC (US) capability of the account. + * @enum {string} + */ + tax_reporting_us_1099_misc?: "active" | "inactive" | "pending"; + /** + * @description The status of the transfers capability of the account, or whether your platform can transfer funds to the account. + * @enum {string} + */ + transfers?: "active" | "inactive" | "pending"; + /** + * @description The status of the banking capability, or whether the account can have bank accounts. + * @enum {string} + */ + treasury?: "active" | "inactive" | "pending"; + /** + * @description The status of the US bank account ACH payments capability of the account, or whether the account can directly process US bank account charges. + * @enum {string} + */ + us_bank_account_ach_payments?: "active" | "inactive" | "pending"; + /** + * @description The status of the Zip capability of the account, or whether the account can directly process Zip charges. + * @enum {string} + */ + zip_payments?: "active" | "inactive" | "pending"; + }; + /** AccountCapabilityFutureRequirements */ + account_capability_future_requirements: { + /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ + alternatives?: components["schemas"]["account_requirements_alternative"][] | null; + /** + * Format: unix-time + * @description Date on which `future_requirements` merges with the main `requirements` hash and `future_requirements` becomes empty. After the transition, `currently_due` requirements may immediately become `past_due`, but the account may also be given a grace period depending on the capability's enablement state prior to transitioning. + */ + current_deadline?: number | null; + /** @description Fields that need to be collected to keep the capability enabled. If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash. */ + currently_due: string[]; + /** @description This is typed as a string for consistency with `requirements.disabled_reason`, but it safe to assume `future_requirements.disabled_reason` is empty because fields in `future_requirements` will never disable the account. */ + disabled_reason?: string | null; + /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ + errors: components["schemas"]["account_requirements_error"][]; + /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well. */ + eventually_due: string[]; + /** @description Fields that weren't collected by `requirements.current_deadline`. These fields need to be collected to enable the capability on the account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`. */ + past_due: string[]; + /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. */ + pending_verification: string[]; + }; + /** AccountCapabilityRequirements */ + account_capability_requirements: { + /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ + alternatives?: components["schemas"]["account_requirements_alternative"][] | null; + /** + * Format: unix-time + * @description Date by which the fields in `currently_due` must be collected to keep the capability enabled for the account. These fields may disable the capability sooner if the next threshold is reached before they are collected. + */ + current_deadline?: number | null; + /** @description Fields that need to be collected to keep the capability enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the capability is disabled. */ + currently_due: string[]; + /** @description If the capability is disabled, this string describes why. Can be `requirements.past_due`, `requirements.pending_verification`, `listed`, `platform_paused`, `rejected.fraud`, `rejected.listed`, `rejected.terms_of_service`, `rejected.other`, `under_review`, or `other`. + * + * `rejected.unsupported_business` means that the account's business is not supported by the capability. For example, payment methods may restrict the businesses they support in their terms of service: + * + * - [Afterpay Clearpay's terms of service](/afterpay-clearpay/legal#restricted-businesses) + * + * If you believe that the rejection is in error, please contact support at https://support.stripe.com/contact/ for assistance. */ + disabled_reason?: string | null; + /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ + errors: components["schemas"]["account_requirements_error"][]; + /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set. */ + eventually_due: string[]; + /** @description Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the capability on the account. */ + past_due: string[]; + /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. */ + pending_verification: string[]; + }; + /** AccountCardIssuingSettings */ + account_card_issuing_settings: { + tos_acceptance?: components["schemas"]["card_issuing_account_terms_of_service"]; + }; + /** AccountCardPaymentsSettings */ + account_card_payments_settings: { + decline_on?: components["schemas"]["account_decline_charge_on"]; + /** @description The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion. */ + statement_descriptor_prefix?: string | null; + /** @description The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion. */ + statement_descriptor_prefix_kana?: string | null; + /** @description The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion. */ + statement_descriptor_prefix_kanji?: string | null; + }; + /** AccountDashboardSettings */ + account_dashboard_settings: { + /** @description The display name for this account. This is used on the Stripe Dashboard to differentiate between accounts. */ + display_name?: string | null; + /** @description The timezone used in the Stripe Dashboard for this account. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones). */ + timezone?: string | null; + }; + /** AccountDeclineChargeOn */ + account_decline_charge_on: { + /** @description Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification. */ + avs_failure: boolean; + /** @description Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification. */ + cvc_failure: boolean; + }; + /** AccountFutureRequirements */ + account_future_requirements: { + /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ + alternatives?: components["schemas"]["account_requirements_alternative"][] | null; + /** + * Format: unix-time + * @description Date on which `future_requirements` merges with the main `requirements` hash and `future_requirements` becomes empty. After the transition, `currently_due` requirements may immediately become `past_due`, but the account may also be given a grace period depending on its enablement state prior to transitioning. + */ + current_deadline?: number | null; + /** @description Fields that need to be collected to keep the account enabled. If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash. */ + currently_due?: string[] | null; + /** @description This is typed as a string for consistency with `requirements.disabled_reason`, but it safe to assume `future_requirements.disabled_reason` is empty because fields in `future_requirements` will never disable the account. */ + disabled_reason?: string | null; + /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ + errors?: components["schemas"]["account_requirements_error"][] | null; + /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well. */ + eventually_due?: string[] | null; + /** @description Fields that weren't collected by `requirements.current_deadline`. These fields need to be collected to enable the capability on the account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`. */ + past_due?: string[] | null; + /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. */ + pending_verification?: string[] | null; + }; + /** + * AccountLink + * @description Account Links are the means by which a Connect platform grants a connected account permission to access + * Stripe-hosted applications, such as Connect Onboarding. + * + * Related guide: [Connect Onboarding](https://stripe.com/docs/connect/custom/hosted-onboarding) + */ + account_link: { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** + * Format: unix-time + * @description The timestamp at which this account link will expire. + */ + expires_at: number; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "account_link"; + /** @description The URL for the account link. */ url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Use the Payment Intents API to initiate a new payment instead - * of using this method. Confirmation of the PaymentIntent creates the Charge - * object used to request payment, so this method is limited to legacy integrations.

- */ - PostCharges: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ - amount?: number; - application_fee?: number; - /** @description A fee in cents (or local equivalent) that will be applied to the charge and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the `Stripe-Account` header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees). */ - application_fee_amount?: number; - /** @description Whether to immediately capture the charge. Defaults to `true`. When `false`, the charge issues an authorization (or pre-authorization), and will need to be [captured](https://stripe.com/docs/api#capture_charge) later. Uncaptured charges expire after a set number of days (7 by default). For more information, see the [authorizing charges and settling later](https://stripe.com/docs/charges/placing-a-hold) documentation. */ - capture?: boolean; - /** @description A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js). */ - card?: { - address_city?: string; - address_country?: string; - address_line1?: string; - address_line2?: string; - address_state?: string; - address_zip?: string; - cvc?: string; - exp_month: number; - exp_year: number; - metadata?: { - [key: string]: string; - }; - name?: string; - number: string; - /** @enum {string} */ - object?: "card"; - } | string; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description The ID of an existing customer that will be charged in this request. */ - customer?: string; - /** @description An arbitrary string which you can attach to a `Charge` object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing. */ - description?: string; - destination?: { + }; + /** AccountMonthlyEstimatedRevenue */ + account_monthly_estimated_revenue: { + /** @description A non-negative integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + }; + /** AccountPaymentsSettings */ + account_payments_settings: { + /** @description The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. */ + statement_descriptor?: string | null; + /** @description The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only) */ + statement_descriptor_kana?: string | null; + /** @description The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only) */ + statement_descriptor_kanji?: string | null; + /** @description The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion. */ + statement_descriptor_prefix_kana?: string | null; + /** @description The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion. */ + statement_descriptor_prefix_kanji?: string | null; + }; + /** AccountPayoutSettings */ + account_payout_settings: { + /** @description A Boolean indicating if Stripe should try to reclaim negative balances from an attached bank account. See our [Understanding Connect Account Balances](https://stripe.com/docs/connect/account-balances) documentation for details. Default value is `false` for Custom accounts, otherwise `true`. */ + debit_negative_balances: boolean; + schedule: components["schemas"]["transfer_schedule"]; + /** @description The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard. */ + statement_descriptor?: string | null; + }; + /** AccountRequirements */ + account_requirements: { + /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ + alternatives?: components["schemas"]["account_requirements_alternative"][] | null; + /** + * Format: unix-time + * @description Date by which the fields in `currently_due` must be collected to keep the account enabled. These fields may disable the account sooner if the next threshold is reached before they are collected. + */ + current_deadline?: number | null; + /** @description Fields that need to be collected to keep the account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled. */ + currently_due?: string[] | null; + /** @description If the account is disabled, this string describes why. Can be `requirements.past_due`, `requirements.pending_verification`, `listed`, `platform_paused`, `rejected.fraud`, `rejected.listed`, `rejected.terms_of_service`, `rejected.other`, `under_review`, or `other`. */ + disabled_reason?: string | null; + /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ + errors?: components["schemas"]["account_requirements_error"][] | null; + /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set. */ + eventually_due?: string[] | null; + /** @description Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the account. */ + past_due?: string[] | null; + /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. */ + pending_verification?: string[] | null; + }; + /** AccountRequirementsAlternative */ + account_requirements_alternative: { + /** @description Fields that can be provided to satisfy all fields in `original_fields_due`. */ + alternative_fields_due: string[]; + /** @description Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`. */ + original_fields_due: string[]; + }; + /** AccountRequirementsError */ + account_requirements_error: { + /** + * @description The code for the type of error. + * @enum {string} + */ + code: "invalid_address_city_state_postal_code" | "invalid_dob_age_under_18" | "invalid_representative_country" | "invalid_street_address" | "invalid_tos_acceptance" | "invalid_value_other" | "verification_directors_mismatch" | "verification_document_address_mismatch" | "verification_document_address_missing" | "verification_document_corrupt" | "verification_document_country_not_supported" | "verification_document_directors_mismatch" | "verification_document_dob_mismatch" | "verification_document_duplicate_type" | "verification_document_expired" | "verification_document_failed_copy" | "verification_document_failed_greyscale" | "verification_document_failed_other" | "verification_document_failed_test_mode" | "verification_document_fraudulent" | "verification_document_id_number_mismatch" | "verification_document_id_number_missing" | "verification_document_incomplete" | "verification_document_invalid" | "verification_document_issue_or_expiry_date_missing" | "verification_document_manipulated" | "verification_document_missing_back" | "verification_document_missing_front" | "verification_document_name_mismatch" | "verification_document_name_missing" | "verification_document_nationality_mismatch" | "verification_document_not_readable" | "verification_document_not_signed" | "verification_document_not_uploaded" | "verification_document_photo_mismatch" | "verification_document_too_large" | "verification_document_type_not_supported" | "verification_extraneous_directors" | "verification_failed_address_match" | "verification_failed_business_iec_number" | "verification_failed_document_match" | "verification_failed_id_number_match" | "verification_failed_keyed_identity" | "verification_failed_keyed_match" | "verification_failed_name_match" | "verification_failed_other" | "verification_failed_residential_address" | "verification_failed_tax_id_match" | "verification_failed_tax_id_not_issued" | "verification_missing_directors" | "verification_missing_executives" | "verification_missing_owners" | "verification_requires_additional_memorandum_of_associations"; + /** @description An informative message that indicates the error type and provides additional details about the error. */ + reason: string; + /** @description The specific user onboarding requirement field (in the requirements hash) that needs to be resolved. */ + requirement: string; + }; + /** AccountSepaDebitPaymentsSettings */ + account_sepa_debit_payments_settings: { + /** @description SEPA creditor identifier that identifies the company making the payment. */ + creditor_id?: string; + }; + /** + * ConnectEmbeddedMethodAccountSessionCreateMethodAccountSession + * @description An AccountSession allows a Connect platform to grant access to a connected account in Connect embedded components. + * + * We recommend that you create an AccountSession each time you need to display an embedded component + * to your user. Do not save AccountSessions to your database as they expire relatively + * quickly, and cannot be used more than once. + * + * Related guide: [Connect embedded components](https://stripe.com/docs/connect/get-started-connect-embedded-components) + */ + account_session: { + /** @description The ID of the account the AccountSession was created for */ account: string; - amount?: number; - } | string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The Stripe account ID for which these funds are intended. Automatically set if you use the `destination` parameter. For details, see [Creating Separate Charges and Transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#on-behalf-of). */ - on_behalf_of?: string; - /** - * radar_options - * @description Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. - */ - radar_options?: { - session?: string; - }; - /** @description The email address to which this charge's [receipt](https://stripe.com/docs/dashboard/receipts) will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for test mode charges. If this charge is for a [Customer](https://stripe.com/docs/api/customers/object), the email address specified here will override the customer's email address. If `receipt_email` is specified for a charge in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). */ - receipt_email?: string; - /** - * optional_fields_shipping - * @description Shipping information for the charge. Helps prevent fraud on charges for physical goods. - */ - shipping?: { - /** optional_fields_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - carrier?: string; - name: string; - phone?: string; - tracking_number?: string; - }; - /** @description A payment source to be charged. This can be the ID of a [card](https://stripe.com/docs/api#cards) (i.e., credit or debit card), a [bank account](https://stripe.com/docs/api#bank_accounts), a [source](https://stripe.com/docs/api#sources), a [token](https://stripe.com/docs/api#tokens), or a [connected account](https://stripe.com/docs/connect/account-debits#charging-a-connected-account). For certain sources---namely, [cards](https://stripe.com/docs/api#cards), [bank accounts](https://stripe.com/docs/api#bank_accounts), and attached [sources](https://stripe.com/docs/api#sources)---you must also pass the ID of the associated customer. */ - source?: string; - /** @description For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ - statement_descriptor?: string; - /** @description Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ - statement_descriptor_suffix?: string; - /** - * transfer_data_specs - * @description An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details. - */ - transfer_data?: { - amount?: number; - destination: string; - }; - /** @description A string that identifies this transaction as part of a group. For details, see [Grouping transactions](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options). */ - transfer_group?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["charge"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Search for charges you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - GetChargesSearch: { - parameters: { - query: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ - page?: string; - /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for charges](https://stripe.com/docs/search#query-fields-for-charges). */ - query: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["charge"][]; - has_more: boolean; - next_page?: string | null; + /** @description The client secret of this AccountSession. Used on the client to set up secure access to the given `account`. + * + * The client secret can be used to provide access to `account` from your frontend. It should not be stored, logged, or exposed to anyone other than the connected account. Make sure that you have TLS enabled on any page that includes the client secret. + * + * Refer to our docs to [setup Connect embedded components](https://stripe.com/docs/connect/get-started-connect-embedded-components) and learn about how `client_secret` should be handled. */ + client_secret: string; + components: components["schemas"]["connect_embedded_account_session_create_components"]; + /** + * Format: unix-time + * @description The timestamp at which this AccountSession will expire. + */ + expires_at: number; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; /** * @description String representing the object's type. Objects of the same type share the same value. * @enum {string} */ - object: "search_result"; - /** @description The total number of objects that match the query, only accurate up to 10,000. */ - total_count?: number; - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge.

*/ - GetChargesCharge: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - charge: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["charge"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - PostChargesCharge: { - parameters: { - path: { - charge: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The ID of an existing customer that will be associated with this request. This field may only be updated if there is no existing associated customer with this charge. */ - customer?: string; - /** @description An arbitrary string which you can attach to a charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * fraud_details - * @description A set of key-value pairs you can attach to a charge giving information about its riskiness. If you believe a charge is fraudulent, include a `user_report` key with a value of `fraudulent`. If you believe a charge is safe, include a `user_report` key with a value of `safe`. Stripe will use the information you send to improve our fraud detection algorithms. - */ - fraud_details?: { - /** @enum {string} */ - user_report: "" | "fraudulent" | "safe"; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address. */ - receipt_email?: string; - /** - * optional_fields_shipping - * @description Shipping information for the charge. Helps prevent fraud on charges for physical goods. - */ - shipping?: { - /** optional_fields_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - carrier?: string; + object: "account_session"; + }; + /** AccountSettings */ + account_settings: { + bacs_debit_payments?: components["schemas"]["account_bacs_debit_payments_settings"]; + branding: components["schemas"]["account_branding_settings"]; + card_issuing?: components["schemas"]["account_card_issuing_settings"]; + card_payments: components["schemas"]["account_card_payments_settings"]; + dashboard: components["schemas"]["account_dashboard_settings"]; + payments: components["schemas"]["account_payments_settings"]; + payouts?: components["schemas"]["account_payout_settings"]; + sepa_debit_payments?: components["schemas"]["account_sepa_debit_payments_settings"]; + treasury?: components["schemas"]["account_treasury_settings"]; + }; + /** AccountTermsOfService */ + account_terms_of_service: { + /** @description The Unix timestamp marking when the account representative accepted the service agreement. */ + date?: number | null; + /** @description The IP address from which the account representative accepted the service agreement. */ + ip?: string | null; + /** @description The user agent of the browser from which the account representative accepted the service agreement. */ + user_agent?: string; + }; + /** AccountTOSAcceptance */ + account_tos_acceptance: { + /** + * Format: unix-time + * @description The Unix timestamp marking when the account representative accepted their service agreement + */ + date?: number | null; + /** @description The IP address from which the account representative accepted their service agreement */ + ip?: string | null; + /** @description The user's service agreement type */ + service_agreement?: string; + /** @description The user agent of the browser from which the account representative accepted their service agreement */ + user_agent?: string | null; + }; + /** AccountTreasurySettings */ + account_treasury_settings: { + tos_acceptance?: components["schemas"]["account_terms_of_service"]; + }; + /** AccountUnificationAccountController */ + account_unification_account_controller: { + /** @description `true` if the Connect application retrieving the resource controls the account and can therefore exercise [platform controls](https://stripe.com/docs/connect/platform-controls-for-standard-accounts). Otherwise, this field is null. */ + is_controller?: boolean; + /** + * @description The controller type. Can be `application`, if a Connect application controls the account, or `account`, if the account controls itself. + * @enum {string} + */ + type: "account" | "application"; + }; + /** Address */ + address: { + /** @description City, district, suburb, town, or village. */ + city?: string | null; + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country?: string | null; + /** @description Address line 1 (e.g., street, PO Box, or company name). */ + line1?: string | null; + /** @description Address line 2 (e.g., apartment, suite, unit, or building). */ + line2?: string | null; + /** @description ZIP or postal code. */ + postal_code?: string | null; + /** @description State, county, province, or region. */ + state?: string | null; + }; + /** APIErrors */ + api_errors: { + /** @description For card errors, the ID of the failed charge. */ + charge?: string; + /** @description For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported. */ + code?: string; + /** @description For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one. */ + decline_code?: string; + /** @description A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported. */ + doc_url?: string; + /** @description A human-readable message providing more details about the error. For card errors, these messages can be shown to your users. */ + message?: string; + /** @description If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field. */ + param?: string; + payment_intent?: components["schemas"]["payment_intent"]; + payment_method?: components["schemas"]["payment_method"]; + /** @description If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors. */ + payment_method_type?: string; + /** @description A URL to the request log entry in your dashboard. */ + request_log_url?: string; + setup_intent?: components["schemas"]["setup_intent"]; + /** @description The [source object](https://stripe.com/docs/api/sources/object) for errors returned on a request involving a source. */ + source?: components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"]; + /** + * @description The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error` + * @enum {string} + */ + type: "api_error" | "card_error" | "idempotency_error" | "invalid_request_error"; + }; + /** ApplePayDomain */ + apple_pay_domain: { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + domain_name: string; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "apple_pay_domain"; + }; + /** Application */ + application: { + /** @description Unique identifier for the object. */ + id: string; + /** @description The name of the application. */ + name?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "application"; + }; + /** PlatformFee */ + application_fee: { + /** @description ID of the Stripe account this fee was taken from. */ + account: string | components["schemas"]["account"]; + /** @description Amount earned, in cents (or local equivalent). */ + amount: number; + /** @description Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the fee if a partial refund was issued) */ + amount_refunded: number; + /** @description ID of the Connect application that earned the fee. */ + application: string | components["schemas"]["application"]; + /** @description Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds). */ + balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; + /** @description ID of the charge that the application fee was taken from. */ + charge: string | components["schemas"]["charge"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "application_fee"; + /** @description ID of the corresponding charge on the platform account, if this fee was the result of a charge using the `destination` parameter. */ + originating_transaction?: (string | components["schemas"]["charge"]) | null; + /** @description Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false. */ + refunded: boolean; + /** + * FeeRefundList + * @description A list of refunds that have been applied to the fee. + */ + refunds: { + /** @description Details about each object. */ + data: components["schemas"]["fee_refund"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + /** + * SecretServiceResourceSecret + * @description Secret Store is an API that allows Stripe Apps developers to securely persist secrets for use by UI Extensions and app backends. + * + * The primary resource in Secret Store is a `secret`. Other apps can't view secrets created by an app. Additionally, secrets are scoped to provide further permission control. + * + * All Dashboard users and the app backend share `account` scoped secrets. Use the `account` scope for secrets that don't change per-user, like a third-party API key. + * + * A `user` scoped secret is accessible by the app backend and one specific Dashboard user. Use the `user` scope for per-user secrets like per-user OAuth tokens, where different users might have different permissions. + * + * Related guide: [Store data between page reloads](https://stripe.com/docs/stripe-apps/store-auth-data-custom-objects) + */ + "apps.secret": { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description If true, indicates that this secret has been deleted */ + deleted?: boolean; + /** + * Format: unix-time + * @description The Unix timestamp for the expiry time of the secret, after which the secret deletes. + */ + expires_at?: number | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description A name for the secret that's unique within the scope. */ name: string; - phone?: string; - tracking_number?: string; - }; - /** @description A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. */ - transfer_group?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["charge"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Capture the payment of an existing, uncaptured charge that was created with the capture option set to false.

- * - *

Uncaptured payments expire a set number of days after they are created (7 by default), after which they are marked as refunded and capture attempts will fail.

- * - *

Don’t use this method to capture a PaymentIntent-initiated charge. Use Capture a PaymentIntent.

- */ - PostChargesChargeCapture: { - parameters: { - path: { - charge: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The amount to capture, which must be less than or equal to the original amount. Any additional amount will be automatically refunded. */ - amount?: number; - /** @description An application fee to add on to this charge. */ - application_fee?: number; - /** @description An application fee amount to add on to this charge, which must be less than or equal to the original amount. */ - application_fee_amount?: number; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The email address to send this charge's receipt to. This will override the previously-specified email address for this charge, if one was set. Receipts will not be sent in test mode. */ - receipt_email?: string; - /** @description For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ - statement_descriptor?: string; - /** @description Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ - statement_descriptor_suffix?: string; - /** - * transfer_data_specs - * @description An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details. - */ - transfer_data?: { - amount?: number; - }; - /** @description A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. */ - transfer_group?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["charge"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieve a dispute for a specified charge.

*/ - GetChargesChargeDispute: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - charge: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["dispute"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - PostChargesChargeDispute: { - parameters: { - path: { - charge: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * dispute_evidence_params - * @description Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000. - */ - evidence?: { - access_activity_log?: string; - billing_address?: string; - cancellation_policy?: string; - cancellation_policy_disclosure?: string; - cancellation_rebuttal?: string; - customer_communication?: string; - customer_email_address?: string; - customer_name?: string; - customer_purchase_ip?: string; - customer_signature?: string; - duplicate_charge_documentation?: string; - duplicate_charge_explanation?: string; - duplicate_charge_id?: string; - product_description?: string; - receipt?: string; - refund_policy?: string; - refund_policy_disclosure?: string; - refund_refusal_explanation?: string; - service_date?: string; - service_documentation?: string; - shipping_address?: string; - shipping_carrier?: string; - shipping_date?: string; - shipping_documentation?: string; - shipping_tracking_number?: string; - uncategorized_file?: string; - uncategorized_text?: string; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default). */ - submit?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["dispute"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - PostChargesChargeDisputeClose: { - parameters: { - path: { - charge: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["dispute"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.

- * - *

Creating a new refund will refund a charge that has previously been created but not yet refunded. - * Funds will be refunded to the credit or debit card that was originally charged.

- * - *

You can optionally refund only part of a charge. - * You can do so multiple times, until the entire charge has been refunded.

- * - *

Once entirely refunded, a charge can’t be refunded again. - * This method will raise an error when called on an already-refunded charge, - * or when trying to refund more money than is left on a charge.

- */ - PostChargesChargeRefund: { - parameters: { - path: { - /** @description The identifier of the charge to refund. */ - charge: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description A positive integer in cents (or local equivalent) representing how much of this charge to refund. Can refund only up to the remaining, unrefunded amount of the charge. */ - amount?: number; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions. */ - instructions_email?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The identifier of the PaymentIntent to refund. */ - payment_intent?: string; - /** - * @description String indicating the reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`. If you believe the charge to be fraudulent, specifying `fraudulent` as the reason will add the associated card and email to your [block lists](https://stripe.com/docs/radar/lists), and will also help us improve our fraud detection algorithms. - * @enum {string} - */ - reason?: "duplicate" | "fraudulent" | "requested_by_customer"; - /** @description Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. */ - refund_application_fee?: boolean; - /** @description Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount).

A transfer can be reversed only by the application that created the charge. */ - reverse_transfer?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["charge"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds.

*/ - GetChargesChargeRefunds: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - charge: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["refund"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.

- * - *

Creating a new refund will refund a charge that has previously been created but not yet refunded. - * Funds will be refunded to the credit or debit card that was originally charged.

- * - *

You can optionally refund only part of a charge. - * You can do so multiple times, until the entire charge has been refunded.

- * - *

Once entirely refunded, a charge can’t be refunded again. - * This method will raise an error when called on an already-refunded charge, - * or when trying to refund more money than is left on a charge.

- */ - PostChargesChargeRefunds: { - parameters: { - path: { - /** @description The identifier of the charge to refund. */ - charge: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - amount?: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description Customer whose customer balance to refund from. */ - customer?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions. */ - instructions_email?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** - * @description Origin of the refund - * @enum {string} - */ - origin?: "customer_balance"; - /** @description The identifier of the PaymentIntent to refund. */ - payment_intent?: string; - /** - * @description String indicating the reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`. If you believe the charge to be fraudulent, specifying `fraudulent` as the reason will add the associated card and email to your [block lists](https://stripe.com/docs/radar/lists), and will also help us improve our fraud detection algorithms. - * @enum {string} - */ - reason?: "duplicate" | "fraudulent" | "requested_by_customer"; - /** @description Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. */ - refund_application_fee?: boolean; - /** @description Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount).

A transfer can be reversed only by the application that created the charge. */ - reverse_transfer?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["refund"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing refund.

*/ - GetChargesChargeRefundsRefund: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - charge: string; - refund: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["refund"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Update a specified refund.

*/ - PostChargesChargeRefundsRefund: { - parameters: { - path: { - charge: string; - refund: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["refund"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Checkout Sessions.

*/ - GetCheckoutSessions: { - parameters: { - query?: { - /** @description Only return the Checkout Sessions for the Customer specified. */ - customer?: string; - /** @description Only return the Checkout Sessions for the Customer details specified. */ - customer_details?: { - email: string; - }; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return the Checkout Session for the PaymentIntent specified. */ - payment_intent?: string; - /** @description Only return the Checkout Sessions for the Payment Link specified. */ - payment_link?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return the Checkout Session for the subscription specified. */ - subscription?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["checkout.session"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a Session object.

*/ - PostCheckoutSessions: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * after_expiration_params - * @description Configure actions after a Checkout Session has expired. - */ - after_expiration?: { - /** recovery_params */ - recovery?: { - allow_promotion_codes?: boolean; - enabled: boolean; - }; - }; - /** @description Enables user redeemable promotion codes. */ - allow_promotion_codes?: boolean; - /** - * automatic_tax_params - * @description Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions. - */ - automatic_tax?: { - enabled: boolean; - }; - /** - * @description Specify whether Checkout should collect the customer's billing address. - * @enum {string} - */ - billing_address_collection?: "auto" | "required"; - /** @description If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. */ - cancel_url?: string; - /** - * @description A unique string to reference the Checkout Session. This can be a - * customer ID, a cart ID, or similar, and can be used to reconcile the - * session with your internal systems. - */ - client_reference_id?: string; - /** - * consent_collection_params - * @description Configure fields for the Checkout Session to gather active consent from customers. - */ - consent_collection?: { - /** @enum {string} */ - promotions?: "auto" | "none"; - /** @enum {string} */ - terms_of_service?: "none" | "required"; - }; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description Collect additional information from your customer using custom fields. Up to 2 fields are supported. */ - custom_fields?: ({ - /** custom_field_dropdown_param */ - dropdown?: { - options: { - label: string; - value: string; - }[]; - }; - key: string; - /** custom_field_label_param */ - label: { - custom: string; - /** @enum {string} */ - type: "custom"; - }; - /** custom_field_numeric_param */ - numeric?: { - maximum_length?: number; - minimum_length?: number; - }; - optional?: boolean; - /** custom_field_text_param */ - text?: { - maximum_length?: number; - minimum_length?: number; - }; - /** @enum {string} */ - type: "dropdown" | "numeric" | "text"; - })[]; - /** - * custom_text_param - * @description Display additional text for your customers using custom text. - */ - custom_text?: { - shipping_address?: { - message: string; - } | ""; - submit?: { - message: string; - } | ""; - terms_of_service_acceptance?: { - message: string; - } | ""; - }; - /** - * @description ID of an existing Customer, if one exists. In `payment` mode, the customer’s most recent card - * payment method will be used to prefill the email, name, card details, and billing address - * on the Checkout page. In `subscription` mode, the customer’s [default payment method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method) - * will be used if it’s a card, and otherwise the most recent card will be used. A valid billing address, billing name and billing email are required on the payment method for Checkout to prefill the customer's card details. - * - * If the Customer already has a valid [email](https://stripe.com/docs/api/customers/object#customer_object-email) set, the email will be prefilled and not editable in Checkout. - * If the Customer does not have a valid `email`, Checkout will set the email entered during the session on the Customer. - * - * If blank for Checkout Sessions in `subscription` mode or with `customer_creation` set as `always` in `payment` mode, Checkout will create a new Customer object based on information provided during the payment flow. - * - * You can set [`payment_intent_data.setup_future_usage`](https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-setup_future_usage) to have Checkout automatically attach the payment method to the Customer you pass in for future reuse. - */ - customer?: string; - /** - * @description Configure whether a Checkout Session creates a [Customer](https://stripe.com/docs/api/customers) during Session confirmation. - * - * When a Customer is not created, you can still retrieve email, address, and other customer data entered in Checkout - * with [customer_details](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_details). - * - * Sessions that don't create Customers instead are grouped by [guest customers](https://stripe.com/docs/payments/checkout/guest-customers) - * in the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions. - * - * Can only be set in `payment` and `setup` mode. - * @enum {string} - */ - customer_creation?: "always" | "if_required"; - /** - * @description If provided, this value will be used when the Customer object is created. - * If not provided, customers will be asked to enter their email address. - * Use this parameter to prefill customer data if you already have an email - * on file. To access information about the customer once a session is - * complete, use the `customer` field. - */ - customer_email?: string; - /** - * customer_update_params - * @description Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when `customer` is provided. - */ - customer_update?: { - /** @enum {string} */ - address?: "auto" | "never"; - /** @enum {string} */ - name?: "auto" | "never"; - /** @enum {string} */ - shipping?: "auto" | "never"; - }; - /** @description The coupon or promotion code to apply to this Session. Currently, only up to one may be specified. */ - discounts?: { - coupon?: string; - promotion_code?: string; - }[]; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * Format: unix-time - * @description The Epoch time in seconds at which the Checkout Session will expire. It can be anywhere from 30 minutes to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation. - */ - expires_at?: number; - /** - * invoice_creation_params - * @description Generate a post-purchase Invoice for one-time payments. - */ - invoice_creation?: { + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "apps.secret"; + /** @description The plaintext secret value to be stored. */ + payload?: string | null; + scope: components["schemas"]["secret_service_resource_scope"]; + }; + /** AutomaticTax */ + automatic_tax: { + /** @description Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice items (invoice items with manually specified [tax rates](https://stripe.com/docs/api/tax_rates), negative amounts, or `tax_behavior=unspecified`) cannot be added to automatic tax invoices. */ enabled: boolean; - /** invoice_data_params */ - invoice_data?: { - account_tax_ids?: string[] | ""; - custom_fields?: { - name: string; - value: string; - }[] | ""; - description?: string; - footer?: string; - metadata?: { - [key: string]: string; - }; - rendering_options?: ({ - /** @enum {string} */ - amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; - }) | ""; - }; - }; - /** - * @description A list of items the customer is purchasing. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices). - * - * For `payment` mode, there is a maximum of 100 line items, however it is recommended to consolidate line items if there are more than a few dozen. - * - * For `subscription` mode, there is a maximum of 20 line items with recurring Prices and 20 line items with one-time Prices. Line items with one-time Prices will be on the initial invoice only. - */ - line_items?: ({ - /** adjustable_quantity_params */ - adjustable_quantity?: { - enabled: boolean; - maximum?: number; - minimum?: number; - }; - dynamic_tax_rates?: string[]; - price?: string; - /** price_data_with_product_data */ - price_data?: { - currency: string; - product?: string; - /** product_data */ - product_data?: { - description?: string; - images?: string[]; - metadata?: { - [key: string]: string; - }; - name: string; - tax_code?: string; + /** + * @description The status of the most recent automated tax calculation for this invoice. + * @enum {string|null} + */ + status?: "complete" | "failed" | "requires_location_inputs"; + }; + /** + * Balance + * @description This is an object representing your Stripe balance. You can retrieve it to see + * the balance currently on your Stripe account. + * + * You can also retrieve the balance history, which contains a list of + * [transactions](https://stripe.com/docs/reporting/balance-transaction-types) that contributed to the balance + * (charges, payouts, and so forth). + * + * The available and pending amounts for each currency are broken down further by + * payment source types. + * + * Related guide: [Understanding Connect account balances](https://stripe.com/docs/connect/account-balances) + */ + balance: { + /** @description Available funds that you can transfer or pay out automatically by Stripe or explicitly through the [Transfers API](https://stripe.com/docs/api#transfers) or [Payouts API](https://stripe.com/docs/api#payouts). You can find the available balance for each currency and payment type in the `source_types` property. */ + available: components["schemas"]["balance_amount"][]; + /** @description Funds held due to negative balances on connected Custom accounts. You can find the connect reserve balance for each currency and payment type in the `source_types` property. */ + connect_reserved?: components["schemas"]["balance_amount"][]; + /** @description Funds that you can pay out using Instant Payouts. */ + instant_available?: components["schemas"]["balance_amount"][]; + issuing?: components["schemas"]["balance_detail"]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "balance"; + /** @description Funds that aren't available in the balance yet. You can find the pending balance for each currency and each payment type in the `source_types` property. */ + pending: components["schemas"]["balance_amount"][]; + }; + /** BalanceAmount */ + balance_amount: { + /** @description Balance amount. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + source_types?: components["schemas"]["balance_amount_by_source_type"]; + }; + /** BalanceAmountBySourceType */ + balance_amount_by_source_type: { + /** @description Amount for bank account. */ + bank_account?: number; + /** @description Amount for card. */ + card?: number; + /** @description Amount for FPX. */ + fpx?: number; + }; + /** BalanceDetail */ + balance_detail: { + /** @description Funds that are available for use. */ + available: components["schemas"]["balance_amount"][]; + }; + /** + * BalanceTransaction + * @description Balance transactions represent funds moving through your Stripe account. + * Stripe creates them for every type of transaction that enters or leaves your Stripe account balance. + * + * Related guide: [Balance transaction types](https://stripe.com/docs/reports/balance-transaction-types) + */ + balance_transaction: { + /** @description Gross amount of the transaction (in cents (or local equivalent)). */ + amount: number; + /** + * Format: unix-time + * @description The date that the transaction's net funds become available in the Stripe balance. + */ + available_on: number; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description If applicable, this transaction uses an exchange rate. If money converts from currency A to currency B, then the `amount` in currency A, multipled by the `exchange_rate`, equals the `amount` in currency B. For example, if you charge a customer 10.00 EUR, the PaymentIntent's `amount` is `1000` and `currency` is `eur`. If this converts to 12.34 USD in your Stripe account, the BalanceTransaction's `amount` is `1234`, its `currency` is `usd`, and the `exchange_rate` is `1.234`. */ + exchange_rate?: number | null; + /** @description Fees (in cents (or local equivalent)) paid for this transaction. */ + fee: number; + /** @description Detailed breakdown of fees (in cents (or local equivalent)) paid for this transaction. */ + fee_details: components["schemas"]["fee"][]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Net amount of the transaction (in cents (or local equivalent)). */ + net: number; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "balance_transaction"; + /** @description Learn more about how [reporting categories] (https://stripe.com/docs/reports/reporting-categories) can help you understand balance transactions from an accounting perspective. */ + reporting_category: string; + /** @description This transaction relates to the Stripe object. */ + source?: (string | components["schemas"]["application_fee"] | components["schemas"]["charge"] | components["schemas"]["connect_collection_transfer"] | components["schemas"]["customer_cash_balance_transaction"] | components["schemas"]["dispute"] | components["schemas"]["fee_refund"] | components["schemas"]["issuing.authorization"] | components["schemas"]["issuing.dispute"] | components["schemas"]["issuing.transaction"] | components["schemas"]["payout"] | components["schemas"]["platform_tax_fee"] | components["schemas"]["refund"] | components["schemas"]["reserve_transaction"] | components["schemas"]["tax_deducted_at_source"] | components["schemas"]["topup"] | components["schemas"]["transfer"] | components["schemas"]["transfer_reversal"]) | null; + /** @description The transaction's net funds status in the Stripe balance, which are either `available` or `pending`. */ + status: string; + /** + * @description Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. Learn more about [balance transaction types and what they represent](https://stripe.com/docs/reports/balance-transaction-types). To classify transactions for accounting purposes, consider `reporting_category` instead. + * @enum {string} + */ + type: "adjustment" | "advance" | "advance_funding" | "anticipation_repayment" | "application_fee" | "application_fee_refund" | "charge" | "connect_collection_transfer" | "contribution" | "issuing_authorization_hold" | "issuing_authorization_release" | "issuing_dispute" | "issuing_transaction" | "obligation_inbound" | "obligation_outbound" | "obligation_payout" | "obligation_payout_failure" | "obligation_reversal_inbound" | "obligation_reversal_outbound" | "payment" | "payment_failure_refund" | "payment_refund" | "payment_reversal" | "payout" | "payout_cancel" | "payout_failure" | "refund" | "refund_failure" | "reserve_transaction" | "reserved_funds" | "stripe_fee" | "stripe_fx_fee" | "tax_fee" | "topup" | "topup_reversal" | "transfer" | "transfer_cancel" | "transfer_failure" | "transfer_refund"; + }; + /** + * BankAccount + * @description These bank accounts are payment methods on `Customer` objects. + * + * On the other hand [External Accounts](https://stripe.com/docs/api#external_accounts) are transfer + * destinations on `Account` objects for [Custom accounts](https://stripe.com/docs/connect/custom-accounts). + * They can be bank accounts or debit cards as well, and are documented in the links above. + * + * Related guide: [Bank debits and transfers](https://stripe.com/docs/payments/bank-debits-transfers) + */ + bank_account: { + /** @description The ID of the account that the bank account is associated with. */ + account?: (string | components["schemas"]["account"]) | null; + /** @description The name of the person or business that owns the bank account. */ + account_holder_name?: string | null; + /** @description The type of entity that holds the account. This can be either `individual` or `company`. */ + account_holder_type?: string | null; + /** @description The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`. */ + account_type?: string | null; + /** @description A set of available payout methods for this bank account. Only values from this set should be passed as the `method` when creating a payout. */ + available_payout_methods?: ("instant" | "standard")[] | null; + /** @description Name of the bank associated with the routing number (e.g., `WELLS FARGO`). */ + bank_name?: string | null; + /** @description Two-letter ISO code representing the country the bank account is located in. */ + country: string; + /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account. */ + currency: string; + /** @description The ID of the customer that the bank account is associated with. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** @description Whether this bank account is the default external account for its currency. */ + default_for_currency?: boolean | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Information about the [upcoming new requirements for the bank account](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when. */ + future_requirements?: components["schemas"]["external_account_requirements"] | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description The last four digits of the bank account number. */ + last4: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "bank_account"; + /** @description Information about the requirements for the bank account, including what information needs to be collected. */ + requirements?: components["schemas"]["external_account_requirements"] | null; + /** @description The routing transit number for the bank account. */ + routing_number?: string | null; + /** @description For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a transfer sent to this bank account fails, we'll set the status to `errored` and will not continue to send transfers until the bank details are updated. + * + * For external accounts, possible values are `new`, `errored` and `verification_failed`. If a transfer fails, the status is set to `errored` and transfers are stopped until account details are updated. In India, if we can't [verify the owner of the bank account](https://support.stripe.com/questions/bank-account-ownership-verification), we'll set the status to `verification_failed`. Other validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply. */ + status: string; + }; + /** BankConnectionsResourceAccountholder */ + bank_connections_resource_accountholder: { + /** @description The ID of the Stripe account this account belongs to. Should only be present if `account_holder.type` is `account`. */ + account?: string | components["schemas"]["account"]; + /** @description ID of the Stripe customer this account belongs to. Present if and only if `account_holder.type` is `customer`. */ + customer?: string | components["schemas"]["customer"]; + /** + * @description Type of account holder that this account belongs to. + * @enum {string} + */ + type: "account" | "customer"; + }; + /** BankConnectionsResourceBalance */ + bank_connections_resource_balance: { + /** + * Format: unix-time + * @description The time that the external institution calculated this balance. Measured in seconds since the Unix epoch. + */ + as_of: number; + cash?: components["schemas"]["bank_connections_resource_balance_api_resource_cash_balance"]; + credit?: components["schemas"]["bank_connections_resource_balance_api_resource_credit_balance"]; + /** @description The balances owed to (or by) the account holder. + * + * Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. + * + * Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. */ + current: { + [key: string]: number; + }; + /** + * @description The `type` of the balance. An additional hash is included on the balance with a name matching this value. + * @enum {string} + */ + type: "cash" | "credit"; + }; + /** BankConnectionsResourceBalanceAPIResourceCashBalance */ + bank_connections_resource_balance_api_resource_cash_balance: { + /** @description The funds available to the account holder. Typically this is the current balance less any holds. + * + * Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. + * + * Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. */ + available?: { + [key: string]: number; + } | null; + }; + /** BankConnectionsResourceBalanceAPIResourceCreditBalance */ + bank_connections_resource_balance_api_resource_credit_balance: { + /** @description The credit that has been used by the account holder. + * + * Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. + * + * Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. */ + used?: { + [key: string]: number; + } | null; + }; + /** BankConnectionsResourceBalanceRefresh */ + bank_connections_resource_balance_refresh: { + /** + * Format: unix-time + * @description The time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch. + */ + last_attempted_at: number; + /** + * @description The status of the last refresh attempt. + * @enum {string} + */ + status: "failed" | "pending" | "succeeded"; + }; + /** BankConnectionsResourceLinkAccountSessionFilters */ + bank_connections_resource_link_account_session_filters: { + /** @description List of countries from which to filter accounts. */ + countries?: string[] | null; + }; + /** BankConnectionsResourceOwnershipRefresh */ + bank_connections_resource_ownership_refresh: { + /** + * Format: unix-time + * @description The time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch. + */ + last_attempted_at: number; + /** + * @description The status of the last refresh attempt. + * @enum {string} + */ + status: "failed" | "pending" | "succeeded"; + }; + /** billing_details */ + billing_details: { + /** @description Billing address. */ + address?: components["schemas"]["address"] | null; + /** @description Email address. */ + email?: string | null; + /** @description Full name. */ + name?: string | null; + /** @description Billing phone number (including extension). */ + phone?: string | null; + }; + /** + * PortalConfiguration + * @description A portal configuration describes the functionality and behavior of a portal session. + */ + "billing_portal.configuration": { + /** @description Whether the configuration is active and can be used to create portal sessions. */ + active: boolean; + /** @description ID of the Connect Application that created the configuration. */ + application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; + business_profile: components["schemas"]["portal_business_profile"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session. */ + default_return_url?: string | null; + features: components["schemas"]["portal_features"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Whether the configuration is the default. If `true`, this configuration can be managed in the Dashboard and portal sessions will use this configuration unless it is overriden when creating the session. */ + is_default: boolean; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + login_page: components["schemas"]["portal_login_page"]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "billing_portal.configuration"; + /** + * Format: unix-time + * @description Time at which the object was last updated. Measured in seconds since the Unix epoch. + */ + updated: number; + }; + /** + * PortalSession + * @description The Billing customer portal is a Stripe-hosted UI for subscription and + * billing management. + * + * A portal configuration describes the functionality and features that you + * want to provide to your customers through the portal. + * + * A portal session describes the instantiation of the customer portal for + * a particular customer. By visiting the session's URL, the customer + * can manage their subscriptions and billing details. For security reasons, + * sessions are short-lived and will expire if the customer does not visit the URL. + * Create sessions on-demand when customers intend to manage their subscriptions + * and billing details. + * + * Learn more in the [integration guide](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal). + */ + "billing_portal.session": { + /** @description The configuration used by this session, describing the features available. */ + configuration: string | components["schemas"]["billing_portal.configuration"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The ID of the customer for this session. */ + customer: string; + /** @description Information about a specific flow for the customer to go through. See the [docs](https://stripe.com/docs/customer-management/portal-deep-links) to learn more about using customer portal deep links and flows. */ + flow?: components["schemas"]["portal_flows_flow"] | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description The IETF language tag of the locale Customer Portal is displayed in. If blank or auto, the customer’s `preferred_locales` or browser’s locale is used. + * @enum {string|null} + */ + locale?: "auto" | "bg" | "cs" | "da" | "de" | "el" | "en" | "en-AU" | "en-CA" | "en-GB" | "en-IE" | "en-IN" | "en-NZ" | "en-SG" | "es" | "es-419" | "et" | "fi" | "fil" | "fr" | "fr-CA" | "hr" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "mt" | "nb" | "nl" | "pl" | "pt" | "pt-BR" | "ro" | "ru" | "sk" | "sl" | "sv" | "th" | "tr" | "vi" | "zh" | "zh-HK" | "zh-TW"; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "billing_portal.session"; + /** @description The account for which the session was created on behalf of. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://stripe.com/docs/connect/separate-charges-and-transfers#on-behalf-of). Use the [Accounts API](https://stripe.com/docs/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays. */ + on_behalf_of?: string | null; + /** @description The URL to redirect customers to when they click on the portal's link to return to your website. */ + return_url?: string | null; + /** @description The short-lived URL of the session that gives customers access to the customer portal. */ + url: string; + }; + /** CancellationDetails */ + cancellation_details: { + /** @description Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user. */ + comment?: string | null; + /** + * @description The customer submitted reason for why they canceled, if the subscription was canceled explicitly by the user. + * @enum {string|null} + */ + feedback?: "customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused"; + /** + * @description Why this subscription was canceled. + * @enum {string|null} + */ + reason?: "cancellation_requested" | "payment_disputed" | "payment_failed"; + }; + /** + * AccountCapability + * @description This is an object representing a capability for a Stripe account. + * + * Related guide: [Account capabilities](https://stripe.com/docs/connect/account-capabilities) + */ + capability: { + /** @description The account for which the capability enables functionality. */ + account: string | components["schemas"]["account"]; + future_requirements?: components["schemas"]["account_capability_future_requirements"]; + /** @description The identifier for the capability. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "capability"; + /** @description Whether the capability has been requested. */ + requested: boolean; + /** + * Format: unix-time + * @description Time at which the capability was requested. Measured in seconds since the Unix epoch. + */ + requested_at?: number | null; + requirements?: components["schemas"]["account_capability_requirements"]; + /** + * @description The status of the capability. Can be `active`, `inactive`, `pending`, or `unrequested`. + * @enum {string} + */ + status: "active" | "disabled" | "inactive" | "pending" | "unrequested"; + }; + /** + * Card + * @description You can store multiple cards on a customer in order to charge the customer + * later. You can also store multiple debit cards on a recipient in order to + * transfer to those cards later. + * + * Related guide: [Card payments with Sources](https://stripe.com/docs/sources/cards) + */ + card: { + /** @description The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead. */ + account?: (string | components["schemas"]["account"]) | null; + /** @description City/District/Suburb/Town/Village. */ + address_city?: string | null; + /** @description Billing address country, if provided when creating card. */ + address_country?: string | null; + /** @description Address line 1 (Street address/PO Box/Company name). */ + address_line1?: string | null; + /** @description If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. */ + address_line1_check?: string | null; + /** @description Address line 2 (Apartment/Suite/Unit/Building). */ + address_line2?: string | null; + /** @description State/County/Province/Region. */ + address_state?: string | null; + /** @description ZIP or postal code. */ + address_zip?: string | null; + /** @description If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. */ + address_zip_check?: string | null; + /** @description A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout. */ + available_payout_methods?: ("instant" | "standard")[] | null; + /** @description Card brand. Can be `American Express`, `Diners Club`, `Discover`, `Eftpos Australia`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`. */ + brand: string; + /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ + country?: string | null; + /** @description Three-letter [ISO code for currency](https://stripe.com/docs/payouts). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. */ + currency?: string | null; + /** @description The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** @description If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge). */ + cvc_check?: string | null; + /** @description Whether this card is the default external account for its currency. */ + default_for_currency?: boolean | null; + /** @description (For tokenized numbers only.) The last four digits of the device account number. */ + dynamic_last4?: string | null; + /** @description Two-digit number representing the card's expiration month. */ + exp_month: number; + /** @description Four-digit number representing the card's expiration year. */ + exp_year: number; + /** @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. + * + * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* */ + fingerprint?: string | null; + /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ + funding: string; + /** @description Unique identifier for the object. */ + id: string; + /** @description The last four digits of the card. */ + last4: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** @description Cardholder name. */ + name?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "card"; + /** @description For external accounts, possible values are `new` and `errored`. If a transfer fails, the status is set to `errored` and transfers are stopped until account details are updated. */ + status?: string | null; + /** @description If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null. */ + tokenization_method?: string | null; + }; + /** card_generated_from_payment_method_details */ + card_generated_from_payment_method_details: { + card_present?: components["schemas"]["payment_method_details_card_present"]; + /** @description The type of payment method transaction-specific details from the transaction that generated this `card` payment method. Always `card_present`. */ + type: string; + }; + /** CardIssuingAccountTermsOfService */ + card_issuing_account_terms_of_service: { + /** @description The Unix timestamp marking when the account representative accepted the service agreement. */ + date?: number | null; + /** @description The IP address from which the account representative accepted the service agreement. */ + ip?: string | null; + /** @description The user agent of the browser from which the account representative accepted the service agreement. */ + user_agent?: string; + }; + /** card_mandate_payment_method_details */ + card_mandate_payment_method_details: Record; + /** + * cash_balance + * @description A customer's `Cash balance` represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds can be used for payment and can eventually be paid out to your bank account. + */ + cash_balance: { + /** @description A hash of all cash balances available to this customer. You cannot delete a customer with any cash balances, even if the balance is 0. Amounts are represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + available?: { + [key: string]: number; + } | null; + /** @description The ID of the customer whose cash balance this object represents. */ + customer: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "cash_balance"; + settings: components["schemas"]["customer_balance_customer_balance_settings"]; + }; + /** + * Charge + * @description The `Charge` object represents a single attempt to move money into your Stripe account. + * PaymentIntent confirmation is the most common way to create Charges, but transferring + * money to a different Stripe account through Connect also creates Charges. + * Some legacy payment flows create Charges directly, which is not recommended for new integrations. + */ + charge: { + /** @description Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ + amount: number; + /** @description Amount in cents (or local equivalent) captured (can be less than the amount attribute on the charge if a partial capture was made). */ + amount_captured: number; + /** @description Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the charge if a partial refund was issued). */ + amount_refunded: number; + /** @description ID of the Connect application that created the charge. */ + application?: (string | components["schemas"]["application"]) | null; + /** @description The application fee (if any) for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees) for details. */ + application_fee?: (string | components["schemas"]["application_fee"]) | null; + /** @description The amount of the application fee (if any) requested for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees) for details. */ + application_fee_amount?: number | null; + /** @description ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes). */ + balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; + billing_details: components["schemas"]["billing_details"]; + /** @description The full statement descriptor that is passed to card networks, and that is displayed on your customers' credit card and bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined. */ + calculated_statement_descriptor?: string | null; + /** @description If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured. */ + captured: boolean; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description ID of the customer this charge is for if one exists. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description Whether the charge has been disputed. */ + disputed: boolean; + /** @description ID of the balance transaction that describes the reversal of the balance on your account due to payment failure. */ + failure_balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; + /** @description Error code explaining reason for charge failure if available (see [the errors section](https://stripe.com/docs/error-codes) for a list of codes). */ + failure_code?: string | null; + /** @description Message to user further explaining reason for charge failure if available. */ + failure_message?: string | null; + /** @description Information on fraud assessments for the charge. */ + fraud_details?: components["schemas"]["charge_fraud_details"] | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description ID of the invoice this charge is for if one exists. */ + invoice?: (string | components["schemas"]["invoice"]) | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "charge"; + /** @description The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers) for details. */ + on_behalf_of?: (string | components["schemas"]["account"]) | null; + /** @description Details about whether the payment was accepted, and why. See [understanding declines](https://stripe.com/docs/declines) for details. */ + outcome?: components["schemas"]["charge_outcome"] | null; + /** @description `true` if the charge succeeded, or was successfully authorized for later capture. */ + paid: boolean; + /** @description ID of the PaymentIntent associated with this charge, if one exists. */ + payment_intent?: (string | components["schemas"]["payment_intent"]) | null; + /** @description ID of the payment method used in this charge. */ + payment_method?: string | null; + /** @description Details about the payment method at the time of the transaction. */ + payment_method_details?: components["schemas"]["payment_method_details"] | null; + radar_options?: components["schemas"]["radar_radar_options"]; + /** @description This is the email address that the receipt for this charge was sent to. */ + receipt_email?: string | null; + /** @description This is the transaction number that appears on email receipts sent for this charge. This attribute will be `null` until a receipt has been sent. */ + receipt_number?: string | null; + /** @description This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt. */ + receipt_url?: string | null; + /** @description Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false. */ + refunded: boolean; + /** + * RefundList + * @description A list of refunds that have been applied to the charge. + */ + refunds?: { + /** @description Details about each object. */ + data: components["schemas"]["refund"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + } | null; + /** @description ID of the review associated with this charge if one exists. */ + review?: (string | components["schemas"]["review"]) | null; + /** @description Shipping information for the charge. */ + shipping?: components["schemas"]["shipping"] | null; + /** @description The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details. */ + source_transfer?: (string | components["schemas"]["transfer"]) | null; + /** @description For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ + statement_descriptor?: string | null; + /** @description Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ + statement_descriptor_suffix?: string | null; + /** + * @description The status of the payment is either `succeeded`, `pending`, or `failed`. + * @enum {string} + */ + status: "failed" | "pending" | "succeeded"; + /** @description ID of the transfer to the `destination` account (only applicable if the charge was created using the `destination` parameter). */ + transfer?: string | components["schemas"]["transfer"]; + /** @description An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details. */ + transfer_data?: components["schemas"]["charge_transfer_data"] | null; + /** @description A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. */ + transfer_group?: string | null; + }; + /** ChargeFraudDetails */ + charge_fraud_details: { + /** @description Assessments from Stripe. If set, the value is `fraudulent`. */ + stripe_report?: string; + /** @description Assessments reported by you. If set, possible values of are `safe` and `fraudulent`. */ + user_report?: string; + }; + /** ChargeOutcome */ + charge_outcome: { + /** @description Possible values are `approved_by_network`, `declined_by_network`, `not_sent_to_network`, and `reversed_after_approval`. The value `reversed_after_approval` indicates the payment was [blocked by Stripe](https://stripe.com/docs/declines#blocked-payments) after bank authorization, and may temporarily appear as "pending" on a cardholder's statement. */ + network_status?: string | null; + /** @description An enumerated value providing a more detailed explanation of the outcome's `type`. Charges blocked by Radar's default block rule have the value `highest_risk_level`. Charges placed in review by Radar's default review rule have the value `elevated_risk_level`. Charges authorized, blocked, or placed in review by custom rules have the value `rule`. See [understanding declines](https://stripe.com/docs/declines) for more details. */ + reason?: string | null; + /** @description Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are `normal`, `elevated`, `highest`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value `not_assessed`. In the event of an error in the evaluation, this field will have the value `unknown`. This field is only available with Radar. */ + risk_level?: string; + /** @description Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams. */ + risk_score?: number; + /** @description The ID of the Radar rule that matched the payment, if applicable. */ + rule?: string | components["schemas"]["rule"]; + /** @description A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer. */ + seller_message?: string | null; + /** @description Possible values are `authorized`, `manual_review`, `issuer_declined`, `blocked`, and `invalid`. See [understanding declines](https://stripe.com/docs/declines) and [Radar reviews](https://stripe.com/docs/radar/reviews) for details. */ + type: string; + }; + /** ChargeTransferData */ + charge_transfer_data: { + /** @description The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account. */ + amount?: number | null; + /** @description ID of an existing, connected Stripe account to transfer funds to if `transfer_data` was specified in the charge request. */ + destination: string | components["schemas"]["account"]; + }; + /** + * Session + * @description A Checkout Session represents your customer's session as they pay for + * one-time purchases or subscriptions through [Checkout](https://stripe.com/docs/payments/checkout) + * or [Payment Links](https://stripe.com/docs/payments/payment-links). We recommend creating a + * new Session each time your customer attempts to pay. + * + * Once payment is successful, the Checkout Session will contain a reference + * to the [Customer](https://stripe.com/docs/api/customers), and either the successful + * [PaymentIntent](https://stripe.com/docs/api/payment_intents) or an active + * [Subscription](https://stripe.com/docs/api/subscriptions). + * + * You can create a Checkout Session on your server and redirect to its URL + * to begin Checkout. + * + * Related guide: [Checkout quickstart](https://stripe.com/docs/checkout/quickstart) + */ + "checkout.session": { + /** @description When set, provides configuration for actions to take if this Checkout Session expires. */ + after_expiration?: components["schemas"]["payment_pages_checkout_session_after_expiration"] | null; + /** @description Enables user redeemable promotion codes. */ + allow_promotion_codes?: boolean | null; + /** @description Total of all items before discounts or taxes are applied. */ + amount_subtotal?: number | null; + /** @description Total of all items after discounts and taxes are applied. */ + amount_total?: number | null; + automatic_tax: components["schemas"]["payment_pages_checkout_session_automatic_tax"]; + /** + * @description Describes whether Checkout should collect the customer's billing address. + * @enum {string|null} + */ + billing_address_collection?: "auto" | "required"; + /** @description If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. */ + cancel_url?: string | null; + /** @description A unique string to reference the Checkout Session. This can be a + * customer ID, a cart ID, or similar, and can be used to reconcile the + * Session with your internal systems. */ + client_reference_id?: string | null; + /** @description Results of `consent_collection` for this session. */ + consent?: components["schemas"]["payment_pages_checkout_session_consent"] | null; + /** @description When set, provides configuration for the Checkout Session to gather active consent from customers. */ + consent_collection?: components["schemas"]["payment_pages_checkout_session_consent_collection"] | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string | null; + /** @description Currency conversion details for automatic currency conversion sessions */ + currency_conversion?: components["schemas"]["payment_pages_checkout_session_currency_conversion"] | null; + /** @description Collect additional information from your customer using custom fields. Up to 2 fields are supported. */ + custom_fields: components["schemas"]["payment_pages_checkout_session_custom_fields"][]; + custom_text: components["schemas"]["payment_pages_checkout_session_custom_text"]; + /** @description The ID of the customer for this Session. + * For Checkout Sessions in `subscription` mode or Checkout Sessions with `customer_creation` set as `always` in `payment` mode, Checkout + * will create a new customer object based on information provided + * during the payment flow unless an existing customer was provided when + * the Session was created. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** + * @description Configure whether a Checkout Session creates a Customer when the Checkout Session completes. + * @enum {string|null} + */ + customer_creation?: "always" | "if_required"; + /** @description The customer details including the customer's tax exempt status and the customer's tax IDs. Only the customer's email is present on Sessions in `setup` mode. */ + customer_details?: components["schemas"]["payment_pages_checkout_session_customer_details"] | null; + /** @description If provided, this value will be used when the Customer object is created. + * If not provided, customers will be asked to enter their email address. + * Use this parameter to prefill customer data if you already have an email + * on file. To access information about the customer once the payment flow is + * complete, use the `customer` attribute. */ + customer_email?: string | null; + /** + * Format: unix-time + * @description The timestamp at which the Checkout Session will expire. + */ + expires_at: number; + /** @description Unique identifier for the object. */ + id: string; + /** @description ID of the invoice created by the Checkout Session, if it exists. */ + invoice?: (string | components["schemas"]["invoice"]) | null; + /** @description Details on the state of invoice creation for the Checkout Session. */ + invoice_creation?: components["schemas"]["payment_pages_checkout_session_invoice_creation"] | null; + /** + * PaymentPagesCheckoutSessionListLineItems + * @description The line items purchased by the customer. + */ + line_items?: { + /** @description Details about each object. */ + data: components["schemas"]["item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used. + * @enum {string|null} + */ + locale?: "auto" | "bg" | "cs" | "da" | "de" | "el" | "en" | "en-GB" | "es" | "es-419" | "et" | "fi" | "fil" | "fr" | "fr-CA" | "hr" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "mt" | "nb" | "nl" | "pl" | "pt" | "pt-BR" | "ro" | "ru" | "sk" | "sl" | "sv" | "th" | "tr" | "vi" | "zh" | "zh-HK" | "zh-TW"; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description The mode of the Checkout Session. + * @enum {string} + */ + mode: "payment" | "setup" | "subscription"; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "checkout.session"; + /** @description The ID of the PaymentIntent for Checkout Sessions in `payment` mode. */ + payment_intent?: (string | components["schemas"]["payment_intent"]) | null; + /** @description The ID of the Payment Link that created this Session. */ + payment_link?: (string | components["schemas"]["payment_link"]) | null; + /** + * @description Configure whether a Checkout Session should collect a payment method. + * @enum {string|null} + */ + payment_method_collection?: "always" | "if_required"; + /** @description Information about the payment method configuration used for this Checkout session if using dynamic payment methods. */ + payment_method_configuration_details?: components["schemas"]["payment_method_config_biz_payment_method_configuration_details"] | null; + /** @description Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession. */ + payment_method_options?: components["schemas"]["checkout_session_payment_method_options"] | null; + /** @description A list of the types of payment methods (e.g. card) this Checkout + * Session is allowed to accept. */ + payment_method_types: string[]; + /** + * @description The payment status of the Checkout Session, one of `paid`, `unpaid`, or `no_payment_required`. + * You can use this value to decide when to fulfill your customer's order. + * @enum {string} + */ + payment_status: "no_payment_required" | "paid" | "unpaid"; + phone_number_collection?: components["schemas"]["payment_pages_checkout_session_phone_number_collection"]; + /** @description The ID of the original expired Checkout Session that triggered the recovery flow. */ + recovered_from?: string | null; + /** @description The ID of the SetupIntent for Checkout Sessions in `setup` mode. */ + setup_intent?: (string | components["schemas"]["setup_intent"]) | null; + /** @description When set, provides configuration for Checkout to collect a shipping address from a customer. */ + shipping_address_collection?: components["schemas"]["payment_pages_checkout_session_shipping_address_collection"] | null; + /** @description The details of the customer cost of shipping, including the customer chosen ShippingRate. */ + shipping_cost?: components["schemas"]["payment_pages_checkout_session_shipping_cost"] | null; + /** @description Shipping information for this Checkout Session. */ + shipping_details?: components["schemas"]["shipping"] | null; + /** @description The shipping rate options applied to this Session. */ + shipping_options: components["schemas"]["payment_pages_checkout_session_shipping_option"][]; + /** + * @description The status of the Checkout Session, one of `open`, `complete`, or `expired`. + * @enum {string|null} + */ + status?: "complete" | "expired" | "open"; + /** + * @description Describes the type of transaction being performed by Checkout in order to customize + * relevant text on the page, such as the submit button. `submit_type` can only be + * specified on Checkout Sessions in `payment` mode, but not Checkout Sessions + * in `subscription` or `setup` mode. + * @enum {string|null} + */ + submit_type?: "auto" | "book" | "donate" | "pay"; + /** @description The ID of the subscription for Checkout Sessions in `subscription` mode. */ + subscription?: (string | components["schemas"]["subscription"]) | null; + /** @description The URL the customer will be directed to after the payment or + * subscription creation is successful. */ + success_url?: string | null; + tax_id_collection?: components["schemas"]["payment_pages_checkout_session_tax_id_collection"]; + /** @description Tax and discount details for the computed total amount. */ + total_details?: components["schemas"]["payment_pages_checkout_session_total_details"] | null; + /** @description The URL to the Checkout Session. Redirect customers to this URL to take them to Checkout. If you’re using [Custom Domains](https://stripe.com/docs/payments/checkout/custom-domains), the URL will use your subdomain. Otherwise, it’ll use `checkout.stripe.com.` + * This value is only present when the session is active. */ + url?: string | null; + }; + /** CheckoutAcssDebitMandateOptions */ + checkout_acss_debit_mandate_options: { + /** @description A URL for custom mandate text */ + custom_mandate_url?: string; + /** @description List of Stripe products where this mandate can be selected automatically. Returned when the Session is in `setup` mode. */ + default_for?: ("invoice" | "subscription")[]; + /** @description Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. */ + interval_description?: string | null; + /** + * @description Payment schedule for the mandate. + * @enum {string|null} + */ + payment_schedule?: "combined" | "interval" | "sporadic"; + /** + * @description Transaction type of the mandate. + * @enum {string|null} + */ + transaction_type?: "business" | "personal"; + }; + /** CheckoutAcssDebitPaymentMethodOptions */ + checkout_acss_debit_payment_method_options: { + /** + * @description Currency supported by the bank account. Returned when the Session is in `setup` mode. + * @enum {string} + */ + currency?: "cad" | "usd"; + mandate_options?: components["schemas"]["checkout_acss_debit_mandate_options"]; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + /** + * @description Bank account verification method. + * @enum {string} + */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** CheckoutAffirmPaymentMethodOptions */ + checkout_affirm_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutAfterpayClearpayPaymentMethodOptions */ + checkout_afterpay_clearpay_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutAlipayPaymentMethodOptions */ + checkout_alipay_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutAuBecsDebitPaymentMethodOptions */ + checkout_au_becs_debit_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutBacsDebitPaymentMethodOptions */ + checkout_bacs_debit_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** CheckoutBancontactPaymentMethodOptions */ + checkout_bancontact_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutBoletoPaymentMethodOptions */ + checkout_boleto_payment_method_options: { + /** @description The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will expire on Wednesday at 23:59 America/Sao_Paulo time. */ + expires_after_days: number; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** CheckoutCardInstallmentsOptions */ + checkout_card_installments_options: { + /** @description Indicates if installments are enabled */ + enabled?: boolean; + }; + /** CheckoutCardPaymentMethodOptions */ + checkout_card_payment_method_options: { + installments?: components["schemas"]["checkout_card_installments_options"]; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + /** @description Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. */ + statement_descriptor_suffix_kana?: string; + /** @description Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. */ + statement_descriptor_suffix_kanji?: string; + }; + /** CheckoutCashappPaymentMethodOptions */ + checkout_cashapp_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutCustomerBalanceBankTransferPaymentMethodOptions */ + checkout_customer_balance_bank_transfer_payment_method_options: { + eu_bank_transfer?: components["schemas"]["payment_method_options_customer_balance_eu_bank_account"]; + /** @description List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. + * + * Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. */ + requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; + /** + * @description The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. + * @enum {string|null} + */ + type?: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; + }; + /** CheckoutCustomerBalancePaymentMethodOptions */ + checkout_customer_balance_payment_method_options: { + bank_transfer?: components["schemas"]["checkout_customer_balance_bank_transfer_payment_method_options"]; + /** + * @description The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. + * @enum {string|null} + */ + funding_type?: "bank_transfer"; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutEpsPaymentMethodOptions */ + checkout_eps_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutFpxPaymentMethodOptions */ + checkout_fpx_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutGiropayPaymentMethodOptions */ + checkout_giropay_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutGrabPayPaymentMethodOptions */ + checkout_grab_pay_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutIdealPaymentMethodOptions */ + checkout_ideal_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutKlarnaPaymentMethodOptions */ + checkout_klarna_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** CheckoutKonbiniPaymentMethodOptions */ + checkout_konbini_payment_method_options: { + /** @description The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. */ + expires_after_days?: number | null; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutLinkPaymentMethodOptions */ + checkout_link_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session"; + }; + /** CheckoutOxxoPaymentMethodOptions */ + checkout_oxxo_payment_method_options: { + /** @description The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time. */ + expires_after_days: number; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutP24PaymentMethodOptions */ + checkout_p24_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutPaynowPaymentMethodOptions */ + checkout_paynow_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutPixPaymentMethodOptions */ + checkout_pix_payment_method_options: { + /** @description The number of seconds after which Pix payment will expire. */ + expires_after_seconds?: number | null; + }; + /** CheckoutSepaDebitPaymentMethodOptions */ + checkout_sepa_debit_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** CheckoutSessionPaymentMethodOptions */ + checkout_session_payment_method_options: { + acss_debit?: components["schemas"]["checkout_acss_debit_payment_method_options"]; + affirm?: components["schemas"]["checkout_affirm_payment_method_options"]; + afterpay_clearpay?: components["schemas"]["checkout_afterpay_clearpay_payment_method_options"]; + alipay?: components["schemas"]["checkout_alipay_payment_method_options"]; + au_becs_debit?: components["schemas"]["checkout_au_becs_debit_payment_method_options"]; + bacs_debit?: components["schemas"]["checkout_bacs_debit_payment_method_options"]; + bancontact?: components["schemas"]["checkout_bancontact_payment_method_options"]; + boleto?: components["schemas"]["checkout_boleto_payment_method_options"]; + card?: components["schemas"]["checkout_card_payment_method_options"]; + cashapp?: components["schemas"]["checkout_cashapp_payment_method_options"]; + customer_balance?: components["schemas"]["checkout_customer_balance_payment_method_options"]; + eps?: components["schemas"]["checkout_eps_payment_method_options"]; + fpx?: components["schemas"]["checkout_fpx_payment_method_options"]; + giropay?: components["schemas"]["checkout_giropay_payment_method_options"]; + grabpay?: components["schemas"]["checkout_grab_pay_payment_method_options"]; + ideal?: components["schemas"]["checkout_ideal_payment_method_options"]; + klarna?: components["schemas"]["checkout_klarna_payment_method_options"]; + konbini?: components["schemas"]["checkout_konbini_payment_method_options"]; + link?: components["schemas"]["checkout_link_payment_method_options"]; + oxxo?: components["schemas"]["checkout_oxxo_payment_method_options"]; + p24?: components["schemas"]["checkout_p24_payment_method_options"]; + paynow?: components["schemas"]["checkout_paynow_payment_method_options"]; + pix?: components["schemas"]["checkout_pix_payment_method_options"]; + sepa_debit?: components["schemas"]["checkout_sepa_debit_payment_method_options"]; + sofort?: components["schemas"]["checkout_sofort_payment_method_options"]; + us_bank_account?: components["schemas"]["checkout_us_bank_account_payment_method_options"]; + }; + /** CheckoutSofortPaymentMethodOptions */ + checkout_sofort_payment_method_options: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** CheckoutUsBankAccountPaymentMethodOptions */ + checkout_us_bank_account_payment_method_options: { + financial_connections?: components["schemas"]["linked_account_options_us_bank_account"]; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + /** + * @description Bank account verification method. + * @enum {string} + */ + verification_method?: "automatic" | "instant"; + }; + /** ConnectCollectionTransfer */ + connect_collection_transfer: { + /** @description Amount transferred, in cents (or local equivalent). */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description ID of the account that funds are being collected for. */ + destination: string | components["schemas"]["account"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "connect_collection_transfer"; + }; + /** ConnectEmbeddedAccountSessionCreateComponents */ + connect_embedded_account_session_create_components: { + account_onboarding: components["schemas"]["connect_embedded_base_config_claim"]; + }; + /** ConnectEmbeddedBaseConfigClaim */ + connect_embedded_base_config_claim: { + /** @description Whether the embedded component is enabled. */ + enabled: boolean; + }; + /** + * CountrySpec + * @description Stripe needs to collect certain pieces of information about each account + * created. These requirements can differ depending on the account's country. The + * Country Specs API makes these rules available to your integration. + * + * You can also view the information from this API call as [an online + * guide](/docs/connect/required-verification-information). + */ + country_spec: { + /** @description The default currency for this country. This applies to both payment methods and bank accounts. */ + default_currency: string; + /** @description Unique identifier for the object. Represented as the ISO country code for this country. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "country_spec"; + /** @description Currencies that can be accepted in the specific country (for transfers). */ + supported_bank_account_currencies: { + [key: string]: string[]; + }; + /** @description Currencies that can be accepted in the specified country (for payments). */ + supported_payment_currencies: string[]; + /** @description Payment methods available in the specified country. You may need to enable some payment methods (e.g., [ACH](https://stripe.com/docs/ach)) on your account before they appear in this list. The `stripe` payment method refers to [charging through your platform](https://stripe.com/docs/connect/destination-charges). */ + supported_payment_methods: string[]; + /** @description Countries that can accept transfers from the specified country. */ + supported_transfer_countries: string[]; + verification_fields: components["schemas"]["country_spec_verification_fields"]; + }; + /** CountrySpecVerificationFieldDetails */ + country_spec_verification_field_details: { + /** @description Additional fields which are only required for some users. */ + additional: string[]; + /** @description Fields which every account must eventually provide. */ + minimum: string[]; + }; + /** CountrySpecVerificationFields */ + country_spec_verification_fields: { + company: components["schemas"]["country_spec_verification_field_details"]; + individual: components["schemas"]["country_spec_verification_field_details"]; + }; + /** + * Coupon + * @description A coupon contains information about a percent-off or amount-off discount you + * might want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices), + * [checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents). + */ + coupon: { + /** @description Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer. */ + amount_off?: number | null; + applies_to?: components["schemas"]["coupon_applies_to"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description If `amount_off` has been set, the three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the amount to take off. */ + currency?: string | null; + /** @description Coupons defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ + currency_options?: { + [key: string]: components["schemas"]["coupon_currency_option"]; + }; + /** + * @description One of `forever`, `once`, and `repeating`. Describes how long a customer who applies this coupon will get the discount. + * @enum {string} + */ + duration: "forever" | "once" | "repeating"; + /** @description If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`. */ + duration_in_months?: number | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid. */ + max_redemptions?: number | null; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** @description Name of the coupon displayed to customers on for instance invoices or receipts. */ + name?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "coupon"; + /** @description Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a $ (or local equivalent)100 invoice $ (or local equivalent)50 instead. */ + percent_off?: number | null; + /** + * Format: unix-time + * @description Date after which the coupon can no longer be redeemed. + */ + redeem_by?: number | null; + /** @description Number of times this coupon has been applied to a customer. */ + times_redeemed: number; + /** @description Taking account of the above properties, whether this coupon can still be applied to a customer. */ + valid: boolean; + }; + /** CouponAppliesTo */ + coupon_applies_to: { + /** @description A list of product IDs this coupon applies to */ + products: string[]; + }; + /** CouponCurrencyOption */ + coupon_currency_option: { + /** @description Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer. */ + amount_off: number; + }; + /** + * CreditNote + * @description Issue a credit note to adjust an invoice's amount after the invoice is finalized. + * + * Related guide: [Credit notes](https://stripe.com/docs/billing/invoices/credit-notes) + */ + credit_note: { + /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax. */ + amount: number; + /** @description This is the sum of all the shipping amounts. */ + amount_shipping: number; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description ID of the customer. */ + customer: string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]; + /** @description Customer balance transaction related to this credit note. */ + customer_balance_transaction?: (string | components["schemas"]["customer_balance_transaction"]) | null; + /** @description The integer amount in cents (or local equivalent) representing the total amount of discount that was credited. */ + discount_amount: number; + /** @description The aggregate amounts calculated per discount for all line items. */ + discount_amounts: components["schemas"]["discounts_resource_discount_amount"][]; + /** + * Format: unix-time + * @description The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. + */ + effective_at?: number | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description ID of the invoice. */ + invoice: string | components["schemas"]["invoice"]; + /** + * CreditNoteLinesList + * @description Line items that make up the credit note + */ + lines: { + /** @description Details about each object. */ + data: components["schemas"]["credit_note_line_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Customer-facing text that appears on the credit note PDF. */ + memo?: string | null; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** @description A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice. */ + number: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "credit_note"; + /** @description Amount that was credited outside of Stripe. */ + out_of_band_amount?: number | null; + /** @description The link to download the PDF of the credit note. */ + pdf: string; + /** + * @description Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` + * @enum {string|null} + */ + reason?: "duplicate" | "fraudulent" | "order_change" | "product_unsatisfactory"; + /** @description Refund related to this credit note. */ + refund?: (string | components["schemas"]["refund"]) | null; + /** @description The details of the cost of shipping, including the ShippingRate applied to the invoice. */ + shipping_cost?: components["schemas"]["invoices_shipping_cost"] | null; + /** + * @description Status of this credit note, one of `issued` or `void`. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding). + * @enum {string} + */ + status: "issued" | "void"; + /** @description The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding exclusive tax and invoice level discounts. */ + subtotal: number; + /** @description The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding all tax and invoice level discounts. */ + subtotal_excluding_tax?: number | null; + /** @description The aggregate amounts calculated per tax rate for all line items. */ + tax_amounts: components["schemas"]["credit_note_tax_amount"][]; + /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax and all discount. */ + total: number; + /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note, excluding tax, but including discounts. */ + total_excluding_tax?: number | null; + /** + * @description Type of this credit note, one of `pre_payment` or `post_payment`. A `pre_payment` credit note means it was issued when the invoice was open. A `post_payment` credit note means it was issued when the invoice was paid. + * @enum {string} + */ + type: "post_payment" | "pre_payment"; + /** + * Format: unix-time + * @description The time that the credit note was voided. + */ + voided_at?: number | null; + }; + /** + * CreditNoteLineItem + * @description The credit note line item object + */ + credit_note_line_item: { + /** @description The integer amount in cents (or local equivalent) representing the gross amount being credited for this line item, excluding (exclusive) tax and discounts. */ + amount: number; + /** @description The integer amount in cents (or local equivalent) representing the amount being credited for this line item, excluding all tax and discounts. */ + amount_excluding_tax?: number | null; + /** @description Description of the item being credited. */ + description?: string | null; + /** @description The integer amount in cents (or local equivalent) representing the discount being credited for this line item. */ + discount_amount: number; + /** @description The amount of discount calculated per discount for this line item */ + discount_amounts: components["schemas"]["discounts_resource_discount_amount"][]; + /** @description Unique identifier for the object. */ + id: string; + /** @description ID of the invoice line item being credited */ + invoice_line_item?: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "credit_note_line_item"; + /** @description The number of units of product being credited. */ + quantity?: number | null; + /** @description The amount of tax calculated per tax rate for this line item */ + tax_amounts: components["schemas"]["credit_note_tax_amount"][]; + /** @description The tax rates which apply to the line item. */ + tax_rates: components["schemas"]["tax_rate"][]; + /** + * @description The type of the credit note line item, one of `invoice_line_item` or `custom_line_item`. When the type is `invoice_line_item` there is an additional `invoice_line_item` property on the resource the value of which is the id of the credited line item on the invoice. + * @enum {string} + */ + type: "custom_line_item" | "invoice_line_item"; + /** @description The cost of each unit of product being credited. */ + unit_amount?: number | null; + /** + * Format: decimal + * @description Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. + */ + unit_amount_decimal?: string | null; + /** + * Format: decimal + * @description The amount in cents (or local equivalent) representing the unit amount being credited for this line item, excluding all tax and discounts. + */ + unit_amount_excluding_tax?: string | null; + }; + /** CreditNoteTaxAmount */ + credit_note_tax_amount: { + /** @description The amount, in cents (or local equivalent), of the tax. */ + amount: number; + /** @description Whether this tax amount is inclusive or exclusive. */ + inclusive: boolean; + /** @description The tax rate that was applied to get this tax amount. */ + tax_rate: string | components["schemas"]["tax_rate"]; + /** + * @description The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. + * @enum {string|null} + */ + taxability_reason?: "customer_exempt" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated"; + /** @description The amount on which tax is calculated, in cents (or local equivalent). */ + taxable_amount?: number | null; + }; + /** CurrencyOption */ + currency_option: { + /** @description When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. */ + custom_unit_amount?: components["schemas"]["custom_unit_amount"] | null; + /** + * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. + * @enum {string|null} + */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + /** @description Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. */ + tiers?: components["schemas"]["price_tier"][]; + /** @description The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`. */ + unit_amount?: number | null; + /** + * Format: decimal + * @description The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`. + */ + unit_amount_decimal?: string | null; + }; + /** CustomUnitAmount */ + custom_unit_amount: { + /** @description The maximum unit amount the customer can specify for this item. */ + maximum?: number | null; + /** @description The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. */ + minimum?: number | null; + /** @description The starting unit amount which can be updated by the customer. */ + preset?: number | null; + }; + /** + * Customer + * @description This object represents a customer of your business. Use it to create recurring charges and track payments that belong to the same customer. + * + * Related guide: [Save a card during payment](https://stripe.com/docs/payments/save-during-payment) + */ + customer: { + /** @description The customer's address. */ + address?: components["schemas"]["address"] | null; + /** @description The current balance, if any, that's stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that's added to their next invoice. The balance only considers amounts that Stripe hasn't successfully applied to any invoice. It doesn't reflect unpaid invoices. This balance is only taken into account after invoices finalize. */ + balance?: number; + /** @description The current funds being held by Stripe on behalf of the customer. You can apply these funds towards payment intents when the source is "cash_balance". The `settings[reconciliation_mode]` field describes if these funds apply to these payment intents manually or automatically. */ + cash_balance?: components["schemas"]["cash_balance"] | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes. */ + currency?: string | null; + /** @description ID of the default payment source for the customer. + * + * If you use payment methods created through the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) field instead. */ + default_source?: (string | components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"]) | null; + /** @description If Stripe bills the customer's latest invoice by automatically charging and the latest charge fails, it sets `delinquent`` to `true``. If Stripe bills the invoice by sending it, and the invoice isn't paid by the due date, it also sets `delinquent`` to `true`. + * + * If an invoice becomes uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn't reset to `false`. */ + delinquent?: boolean | null; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description Describes the current discount active on the customer, if there is one. */ + discount?: components["schemas"]["discount"] | null; + /** @description The customer's email address. */ + email?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description The current multi-currency balances, if any, that's stored on the customer. If positive in a currency, the customer has a credit to apply to their next invoice denominated in that currency. If negative, the customer has an amount owed that's added to their next invoice denominated in that currency. These balances don't apply to unpaid invoices. They solely track amounts that Stripe hasn't successfully applied to any invoice. Stripe only applies a balance in a specific currency to an invoice after that invoice (which is in the same currency) finalizes. */ + invoice_credit_balance?: { + [key: string]: number; + }; + /** @description The prefix for the customer used to generate unique invoice numbers. */ + invoice_prefix?: string | null; + invoice_settings?: components["schemas"]["invoice_setting_customer_setting"]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + }; + /** @description The customer's full name or business name. */ + name?: string | null; + /** @description The suffix of the customer's next invoice number (for example, 0001). */ + next_invoice_sequence?: number; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "customer"; + /** @description The customer's phone number. */ + phone?: string | null; + /** @description The customer's preferred locales (languages), ordered by preference. */ + preferred_locales?: string[] | null; + /** @description Mailing and shipping address for the customer. Appears on invoices emailed to this customer. */ + shipping?: components["schemas"]["shipping"] | null; + /** + * ApmsSourcesSourceList + * @description The customer's payment sources, if any. + */ + sources?: { + /** @description Details about each object. */ + data: (components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"])[]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + /** + * SubscriptionList + * @description The customer's current subscriptions, if any. + */ + subscriptions?: { + /** @description Details about each object. */ + data: components["schemas"]["subscription"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + tax?: components["schemas"]["customer_tax"]; + /** + * @description Describes the customer's tax exemption status, which is `none`, `exempt`, or `reverse`. When set to `reverse`, invoice and receipt PDFs include the following text: **"Reverse charge"**. + * @enum {string|null} + */ + tax_exempt?: "exempt" | "none" | "reverse"; + /** + * TaxIDsList + * @description The customer's tax IDs. + */ + tax_ids?: { + /** @description Details about each object. */ + data: components["schemas"]["tax_id"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + /** @description ID of the test clock that this customer belongs to. */ + test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; + }; + /** customer_acceptance */ + customer_acceptance: { + /** + * Format: unix-time + * @description The time that the customer accepts the mandate. + */ + accepted_at?: number | null; + offline?: components["schemas"]["offline_acceptance"]; + online?: components["schemas"]["online_acceptance"]; + /** + * @description The mandate includes the type of customer acceptance information, such as: `online` or `offline`. + * @enum {string} + */ + type: "offline" | "online"; + }; + /** CustomerBalanceCustomerBalanceSettings */ + customer_balance_customer_balance_settings: { + /** + * @description The configuration for how funds that land in the customer cash balance are reconciled. + * @enum {string} + */ + reconciliation_mode: "automatic" | "manual"; + /** @description A flag to indicate if reconciliation mode returned is the user's default or is specific to this customer cash balance */ + using_merchant_default: boolean; + }; + /** CustomerBalanceResourceCashBalanceTransactionResourceAdjustedForOverdraft */ + customer_balance_resource_cash_balance_transaction_resource_adjusted_for_overdraft: { + /** @description The [Balance Transaction](https://stripe.com/docs/api/balance_transactions/object) that corresponds to funds taken out of your Stripe balance. */ + balance_transaction: string | components["schemas"]["balance_transaction"]; + /** @description The [Cash Balance Transaction](https://stripe.com/docs/api/cash_balance_transactions/object) that brought the customer balance negative, triggering the clawback of funds. */ + linked_transaction: string | components["schemas"]["customer_cash_balance_transaction"]; + }; + /** CustomerBalanceResourceCashBalanceTransactionResourceAppliedToPaymentTransaction */ + customer_balance_resource_cash_balance_transaction_resource_applied_to_payment_transaction: { + /** @description The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were applied to. */ + payment_intent: string | components["schemas"]["payment_intent"]; + }; + /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransaction */ + customer_balance_resource_cash_balance_transaction_resource_funded_transaction: { + bank_transfer: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer"]; + }; + /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransfer */ + customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer: { + eu_bank_transfer?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_eu_bank_transfer"]; + gb_bank_transfer?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_gb_bank_transfer"]; + jp_bank_transfer?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_jp_bank_transfer"]; + /** @description The user-supplied reference field on the bank transfer. */ + reference?: string | null; + /** + * @description The funding method type used to fund the customer balance. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. + * @enum {string} + */ + type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; + us_bank_transfer?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_us_bank_transfer"]; + }; + /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceEuBankTransfer */ + customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_eu_bank_transfer: { + /** @description The BIC of the bank of the sender of the funding. */ + bic?: string | null; + /** @description The last 4 digits of the IBAN of the sender of the funding. */ + iban_last4?: string | null; + /** @description The full name of the sender, as supplied by the sending bank. */ + sender_name?: string | null; + }; + /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceGbBankTransfer */ + customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_gb_bank_transfer: { + /** @description The last 4 digits of the account number of the sender of the funding. */ + account_number_last4?: string | null; + /** @description The full name of the sender, as supplied by the sending bank. */ + sender_name?: string | null; + /** @description The sort code of the bank of the sender of the funding */ + sort_code?: string | null; + }; + /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceJpBankTransfer */ + customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_jp_bank_transfer: { + /** @description The name of the bank of the sender of the funding. */ + sender_bank?: string | null; + /** @description The name of the bank branch of the sender of the funding. */ + sender_branch?: string | null; + /** @description The full name of the sender, as supplied by the sending bank. */ + sender_name?: string | null; + }; + /** CustomerBalanceResourceCashBalanceTransactionResourceFundedTransactionResourceBankTransferResourceUsBankTransfer */ + customer_balance_resource_cash_balance_transaction_resource_funded_transaction_resource_bank_transfer_resource_us_bank_transfer: { + /** + * @description The banking network used for this funding. + * @enum {string} + */ + network?: "ach" | "domestic_wire_us" | "swift"; + /** @description The full name of the sender, as supplied by the sending bank. */ + sender_name?: string | null; + }; + /** CustomerBalanceResourceCashBalanceTransactionResourceRefundedFromPaymentTransaction */ + customer_balance_resource_cash_balance_transaction_resource_refunded_from_payment_transaction: { + /** @description The [Refund](https://stripe.com/docs/api/refunds/object) that moved these funds into the customer's cash balance. */ + refund: string | components["schemas"]["refund"]; + }; + /** CustomerBalanceResourceCashBalanceTransactionResourceUnappliedFromPaymentTransaction */ + customer_balance_resource_cash_balance_transaction_resource_unapplied_from_payment_transaction: { + /** @description The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were unapplied from. */ + payment_intent: string | components["schemas"]["payment_intent"]; + }; + /** + * CustomerBalanceTransaction + * @description Each customer has a [Balance](https://stripe.com/docs/api/customers/object#customer_object-balance) value, + * which denotes a debit or credit that's automatically applied to their next invoice upon finalization. + * You may modify the value directly by using the [update customer API](https://stripe.com/docs/api/customers/update), + * or by creating a Customer Balance Transaction, which increments or decrements the customer's `balance` by the specified `amount`. + * + * Related guide: [Customer balance](https://stripe.com/docs/billing/customer/balance) + */ + customer_balance_transaction: { + /** @description The amount of the transaction. A negative value is a credit for the customer's balance, and a positive value is a debit to the customer's `balance`. */ + amount: number; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The ID of the credit note (if any) related to the transaction. */ + credit_note?: (string | components["schemas"]["credit_note"]) | null; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description The ID of the customer the transaction belongs to. */ + customer: string | components["schemas"]["customer"]; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description The customer's `balance` after the transaction was applied. A negative value decreases the amount due on the customer's next invoice. A positive value increases the amount due on the customer's next invoice. */ + ending_balance: number; + /** @description Unique identifier for the object. */ + id: string; + /** @description The ID of the invoice (if any) related to the transaction. */ + invoice?: (string | components["schemas"]["invoice"]) | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "customer_balance_transaction"; + /** + * @description Transaction type: `adjustment`, `applied_to_invoice`, `credit_note`, `initial`, `invoice_overpaid`, `invoice_too_large`, `invoice_too_small`, `unspent_receiver_credit`, or `unapplied_from_invoice`. See the [Customer Balance page](https://stripe.com/docs/billing/customer/balance#types) to learn more about transaction types. + * @enum {string} + */ + type: "adjustment" | "applied_to_invoice" | "credit_note" | "initial" | "invoice_overpaid" | "invoice_too_large" | "invoice_too_small" | "migration" | "unapplied_from_invoice" | "unspent_receiver_credit"; + }; + /** + * CustomerCashBalanceTransaction + * @description Customers with certain payments enabled have a cash balance, representing funds that were paid + * by the customer to a merchant, but have not yet been allocated to a payment. Cash Balance Transactions + * represent when funds are moved into or out of this balance. This includes funding by the customer, allocation + * to payments, and refunds to the customer. + */ + customer_cash_balance_transaction: { + adjusted_for_overdraft?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_adjusted_for_overdraft"]; + applied_to_payment?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_applied_to_payment_transaction"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description The customer whose available cash balance changed as a result of this transaction. */ + customer: string | components["schemas"]["customer"]; + /** @description The total available cash balance for the specified currency after this transaction was applied. Represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + ending_balance: number; + funded?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_funded_transaction"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description The amount by which the cash balance changed, represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). A positive value represents funds being added to the cash balance, a negative value represents funds being removed from the cash balance. */ + net_amount: number; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "customer_cash_balance_transaction"; + refunded_from_payment?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_refunded_from_payment_transaction"]; + /** + * @description The type of the cash balance transaction. New types may be added in future. See [Customer Balance](https://stripe.com/docs/payments/customer-balance#types) to learn more about these types. + * @enum {string} + */ + type: "adjusted_for_overdraft" | "applied_to_payment" | "funded" | "funding_reversed" | "refunded_from_payment" | "return_canceled" | "return_initiated" | "unapplied_from_payment"; + unapplied_from_payment?: components["schemas"]["customer_balance_resource_cash_balance_transaction_resource_unapplied_from_payment_transaction"]; + }; + /** CustomerTax */ + customer_tax: { + /** + * @description Surfaces if automatic tax computation is possible given the current customer location information. + * @enum {string} + */ + automatic_tax: "failed" | "not_collecting" | "supported" | "unrecognized_location"; + /** @description A recent IP address of the customer used for tax reporting and tax location inference. */ + ip_address?: string | null; + /** @description The customer's location as identified by Stripe Tax. */ + location?: components["schemas"]["customer_tax_location"] | null; + }; + /** CustomerTaxLocation */ + customer_tax_location: { + /** @description The customer's country as identified by Stripe Tax. */ + country: string; + /** + * @description The data source used to infer the customer's location. + * @enum {string} + */ + source: "billing_address" | "ip_address" | "payment_method" | "shipping_destination"; + /** @description The customer's state, county, province, or region as identified by Stripe Tax. */ + state?: string | null; + }; + /** DeletedAccount */ + deleted_account: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "account"; + }; + /** DeletedApplePayDomain */ + deleted_apple_pay_domain: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "apple_pay_domain"; + }; + /** DeletedApplication */ + deleted_application: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** @description The name of the application. */ + name?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "application"; + }; + /** DeletedBankAccount */ + deleted_bank_account: { + /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account. */ + currency?: string | null; + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "bank_account"; + }; + /** DeletedCard */ + deleted_card: { + /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account. */ + currency?: string | null; + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "card"; + }; + /** DeletedCoupon */ + deleted_coupon: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "coupon"; + }; + /** DeletedCustomer */ + deleted_customer: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "customer"; + }; + /** DeletedDiscount */ + deleted_discount: { + /** @description The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode. */ + checkout_session?: string | null; + coupon: components["schemas"]["coupon"]; + /** @description The ID of the customer associated with this discount. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array. */ + id: string; + /** @description The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice. */ + invoice?: string | null; + /** @description The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item. */ + invoice_item?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "discount"; + /** @description The promotion code applied to create this discount. */ + promotion_code?: (string | components["schemas"]["promotion_code"]) | null; + /** + * Format: unix-time + * @description Date that the coupon was applied. + */ + start: number; + /** @description The subscription that this coupon is applied to, if it is applied to a particular subscription. */ + subscription?: string | null; + }; + /** Polymorphic */ + deleted_external_account: components["schemas"]["deleted_bank_account"] | components["schemas"]["deleted_card"]; + /** DeletedInvoice */ + deleted_invoice: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "invoice"; + }; + /** DeletedInvoiceItem */ + deleted_invoiceitem: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "invoiceitem"; + }; + /** Polymorphic */ + deleted_payment_source: components["schemas"]["deleted_bank_account"] | components["schemas"]["deleted_card"]; + /** DeletedPerson */ + deleted_person: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "person"; + }; + /** DeletedPlan */ + deleted_plan: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "plan"; + }; + /** DeletedPrice */ + deleted_price: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "price"; + }; + /** DeletedProduct */ + deleted_product: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "product"; + }; + /** RadarListDeletedList */ + "deleted_radar.value_list": { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "radar.value_list"; + }; + /** RadarListDeletedListItem */ + "deleted_radar.value_list_item": { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "radar.value_list_item"; + }; + /** DeletedSubscriptionItem */ + deleted_subscription_item: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "subscription_item"; + }; + /** deleted_tax_id */ + deleted_tax_id: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "tax_id"; + }; + /** TerminalConfigurationDeletedConfiguration */ + "deleted_terminal.configuration": { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "terminal.configuration"; + }; + /** TerminalLocationDeletedLocation */ + "deleted_terminal.location": { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "terminal.location"; + }; + /** TerminalReaderDeletedReader */ + "deleted_terminal.reader": { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "terminal.reader"; + }; + /** DeletedTestClock */ + "deleted_test_helpers.test_clock": { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "test_helpers.test_clock"; + }; + /** NotificationWebhookEndpointDeleted */ + deleted_webhook_endpoint: { + /** + * @description Always true for a deleted object + * @enum {boolean} + */ + deleted: true; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "webhook_endpoint"; + }; + /** + * Discount + * @description A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes). + * It contains information about when the discount began, when it will end, and what it is applied to. + * + * Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts) + */ + discount: { + /** @description The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode. */ + checkout_session?: string | null; + coupon: components["schemas"]["coupon"]; + /** @description The ID of the customer associated with this discount. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** + * Format: unix-time + * @description If the coupon has a duration of `repeating`, the date that this discount will end. If the coupon has a duration of `once` or `forever`, this attribute will be null. + */ + end?: number | null; + /** @description The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array. */ + id: string; + /** @description The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice. */ + invoice?: string | null; + /** @description The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item. */ + invoice_item?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "discount"; + /** @description The promotion code applied to create this discount. */ + promotion_code?: (string | components["schemas"]["promotion_code"]) | null; + /** + * Format: unix-time + * @description Date that the coupon was applied. + */ + start: number; + /** @description The subscription that this coupon is applied to, if it is applied to a particular subscription. */ + subscription?: string | null; + }; + /** DiscountsResourceDiscountAmount */ + discounts_resource_discount_amount: { + /** @description The amount, in cents (or local equivalent), of the discount. */ + amount: number; + /** @description The discount that was applied to get this discount amount. */ + discount: string | components["schemas"]["discount"] | components["schemas"]["deleted_discount"]; + }; + /** + * Dispute + * @description A dispute occurs when a customer questions your charge with their card issuer. + * When this happens, you have the opportunity to respond to the dispute with + * evidence that shows that the charge is legitimate. + * + * Related guide: [Disputes and fraud](https://stripe.com/docs/disputes) + */ + dispute: { + /** @description Disputed amount. Usually the amount of the charge, but it can differ (usually because of currency fluctuation or because only part of the order is disputed). */ + amount: number; + /** @description List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute. */ + balance_transactions: components["schemas"]["balance_transaction"][]; + /** @description ID of the charge that's disputed. */ + charge: string | components["schemas"]["charge"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + evidence: components["schemas"]["dispute_evidence"]; + evidence_details: components["schemas"]["dispute_evidence_details"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description If true, it's still possible to refund the disputed payment. After the payment has been fully refunded, no further funds are withdrawn from your Stripe account as a result of this dispute. */ + is_charge_refundable: boolean; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "dispute"; + /** @description ID of the PaymentIntent that's disputed. */ + payment_intent?: (string | components["schemas"]["payment_intent"]) | null; + payment_method_details?: components["schemas"]["dispute_payment_method_details"]; + /** @description Reason given by cardholder for dispute. Possible values are `bank_cannot_process`, `check_returned`, `credit_not_processed`, `customer_initiated`, `debit_not_authorized`, `duplicate`, `fraudulent`, `general`, `incorrect_account_details`, `insufficient_funds`, `product_not_received`, `product_unacceptable`, `subscription_canceled`, or `unrecognized`. Learn more about [dispute reasons](https://stripe.com/docs/disputes/categories). */ + reason: string; + /** + * @description Current status of dispute. Possible values are `warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `won`, or `lost`. + * @enum {string} + */ + status: "lost" | "needs_response" | "under_review" | "warning_closed" | "warning_needs_response" | "warning_under_review" | "won"; + }; + /** DisputeEvidence */ + dispute_evidence: { + /** @description Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity. */ + access_activity_log?: string | null; + /** @description The billing address provided by the customer. */ + billing_address?: string | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your subscription cancellation policy, as shown to the customer. */ + cancellation_policy?: (string | components["schemas"]["file"]) | null; + /** @description An explanation of how and when the customer was shown your refund policy prior to purchase. */ + cancellation_policy_disclosure?: string | null; + /** @description A justification for why the customer's subscription was not canceled. */ + cancellation_rebuttal?: string | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service. */ + customer_communication?: (string | components["schemas"]["file"]) | null; + /** @description The email address of the customer. */ + customer_email_address?: string | null; + /** @description The name of the customer. */ + customer_name?: string | null; + /** @description The IP address that the customer used when making the purchase. */ + customer_purchase_ip?: string | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A relevant document or contract showing the customer's signature. */ + customer_signature?: (string | components["schemas"]["file"]) | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate. */ + duplicate_charge_documentation?: (string | components["schemas"]["file"]) | null; + /** @description An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate. */ + duplicate_charge_explanation?: string | null; + /** @description The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge. */ + duplicate_charge_id?: string | null; + /** @description A description of the product or service that was sold. */ + product_description?: string | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any receipt or message sent to the customer notifying them of the charge. */ + receipt?: (string | components["schemas"]["file"]) | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your refund policy, as shown to the customer. */ + refund_policy?: (string | components["schemas"]["file"]) | null; + /** @description Documentation demonstrating that the customer was shown your refund policy prior to purchase. */ + refund_policy_disclosure?: string | null; + /** @description A justification for why the customer is not entitled to a refund. */ + refund_refusal_explanation?: string | null; + /** @description The date on which the customer received or began receiving the purchased service, in a clear human-readable format. */ + service_date?: string | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement. */ + service_documentation?: (string | components["schemas"]["file"]) | null; + /** @description The address to which a physical product was shipped. You should try to include as complete address information as possible. */ + shipping_address?: string | null; + /** @description The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas. */ + shipping_carrier?: string | null; + /** @description The date on which a physical product began its route to the shipping address, in a clear human-readable format. */ + shipping_date?: string | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer's full shipping address, if possible. */ + shipping_documentation?: (string | components["schemas"]["file"]) | null; + /** @description The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. */ + shipping_tracking_number?: string | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any additional evidence or statements. */ + uncategorized_file?: (string | components["schemas"]["file"]) | null; + /** @description Any additional evidence or statements. */ + uncategorized_text?: string | null; + }; + /** DisputeEvidenceDetails */ + dispute_evidence_details: { + /** + * Format: unix-time + * @description Date by which evidence must be submitted in order to successfully challenge dispute. Will be 0 if the customer's bank or credit card company doesn't allow a response for this particular dispute. + */ + due_by?: number | null; + /** @description Whether evidence has been staged for this dispute. */ + has_evidence: boolean; + /** @description Whether the last evidence submission was submitted past the due date. Defaults to `false` if no evidence submissions have occurred. If `true`, then delivery of the latest evidence is *not* guaranteed. */ + past_due: boolean; + /** @description The number of times evidence has been submitted. Typically, you may only submit evidence once. */ + submission_count: number; + }; + /** DisputePaymentMethodDetails */ + dispute_payment_method_details: { + /** @description Card specific dispute details. */ + card?: components["schemas"]["dispute_payment_method_details_card"] | null; + /** + * @description Payment method type. + * @enum {string} + */ + type: "card"; + }; + /** DisputePaymentMethodDetailsCard */ + dispute_payment_method_details_card: { + /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ + brand: string; + /** @description The card network's specific dispute reason code, which maps to one of Stripe's primary dispute categories to simplify response guidance. The [Network code map](https://stripe.com/docs/disputes/categories#network-code-map) lists all available dispute reason codes by network. */ + network_reason_code?: string | null; + }; + /** EmailSent */ + email_sent: { + /** + * Format: unix-time + * @description The timestamp when the email was sent. + */ + email_sent_at: number; + /** @description The recipient's email address. */ + email_sent_to: string; + }; + /** EphemeralKey */ + ephemeral_key: { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** + * Format: unix-time + * @description Time at which the key will expire. Measured in seconds since the Unix epoch. + */ + expires: number; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "ephemeral_key"; + /** @description The key's secret. You can use this value to make authorized requests to the Stripe API. */ + secret?: string; + }; + /** @description An error response from the Stripe API */ + error: { + error: components["schemas"]["api_errors"]; + }; + /** + * NotificationEvent + * @description Events are our way of letting you know when something interesting happens in + * your account. When an interesting event occurs, we create a new `Event` + * object. For example, when a charge succeeds, we create a `charge.succeeded` + * event, and when an invoice payment attempt fails, we create an + * `invoice.payment_failed` event. Certain API requests might create multiple + * events. For example, if you create a new subscription for a + * customer, you receive both a `customer.subscription.created` event and a + * `charge.succeeded` event. + * + * Events occur when the state of another API resource changes. The event's data + * field embeds the resource's state at the time of the change. For + * example, a `charge.succeeded` event contains a charge, and an + * `invoice.payment_failed` event contains an invoice. + * + * As with other API resources, you can use endpoints to retrieve an + * [individual event](https://stripe.com/docs/api#retrieve_event) or a [list of events](https://stripe.com/docs/api#list_events) + * from the API. We also have a separate + * [webhooks](http://en.wikipedia.org/wiki/Webhook) system for sending the + * `Event` objects directly to an endpoint on your server. You can manage + * webhooks in your + * [account settings](https://dashboard.stripe.com/account/webhooks). Learn how + * to [listen for events] + * (/docs/webhooks) so that your integration can automatically trigger reactions. + * + * When using [Connect](https://stripe.com/docs/connect), you can also receive event notifications + * that occur in connected accounts. For these events, there's an + * additional `account` attribute in the received `Event` object. + * + * We only guarantee access to events through the [Retrieve Event API](https://stripe.com/docs/api#retrieve_event) + * for 30 days. + */ + event: { + /** @description The connected account that originates the event. */ + account?: string; + /** @description The Stripe API version used to render `data`. This property is populated only for events on or after October 31, 2014. */ + api_version?: string | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + data: components["schemas"]["notification_event_data"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "event"; + /** @description Number of webhooks that haven't been successfully delivered (for example, to return a 20x response) to the URLs you specify. */ + pending_webhooks: number; + /** @description Information on the API request that triggers the event. */ + request?: components["schemas"]["notification_event_request"] | null; + /** @description Description of the event (for example, `invoice.created` or `charge.refunded`). */ + type: string; + }; + /** + * ExchangeRate + * @description `Exchange Rate` objects allow you to determine the rates that Stripe is + * currently using to convert from one currency to another. Since this number is + * variable throughout the day, there are various reasons why you might want to + * know the current rate (for example, to dynamically price an item for a user + * with a default payment in a foreign currency). + * + * If you want a guarantee that the charge is made with a certain exchange rate + * you expect is current, you can pass in `exchange_rate` to charges endpoints. + * If the value is no longer up to date, the charge won't go through. Please + * refer to our [Exchange Rates API](https://stripe.com/docs/exchange-rates) guide for more + * details. + */ + exchange_rate: { + /** @description Unique identifier for the object. Represented as the three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "exchange_rate"; + /** @description Hash where the keys are supported currencies and the values are the exchange rate at which the base id currency converts to the key currency. */ + rates: { + [key: string]: number; + }; + }; + /** Polymorphic */ + external_account: components["schemas"]["bank_account"] | components["schemas"]["card"]; + /** ExternalAccountRequirements */ + external_account_requirements: { + /** @description Fields that need to be collected to keep the external account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled. */ + currently_due?: string[] | null; + /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ + errors?: components["schemas"]["account_requirements_error"][] | null; + /** @description Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the external account. */ + past_due?: string[] | null; + /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. */ + pending_verification?: string[] | null; + }; + /** Fee */ + fee: { + /** @description Amount of the fee, in cents. */ + amount: number; + /** @description ID of the Connect application that earned the fee. */ + application?: string | null; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description Type of the fee, one of: `application_fee`, `stripe_fee` or `tax`. */ + type: string; + }; + /** + * FeeRefund + * @description `Application Fee Refund` objects allow you to refund an application fee that + * has previously been created but not yet refunded. Funds will be refunded to + * the Stripe account from which the fee was originally collected. + * + * Related guide: [Refunding application fees](https://stripe.com/docs/connect/destination-charges#refunding-app-fee) + */ + fee_refund: { + /** @description Amount, in cents (or local equivalent). */ + amount: number; + /** @description Balance transaction that describes the impact on your account balance. */ + balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description ID of the application fee that was refunded. */ + fee: string | components["schemas"]["application_fee"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "fee_refund"; + }; + /** + * File + * @description This object represents files hosted on Stripe's servers. You can upload + * files with the [create file](https://stripe.com/docs/api#create_file) request + * (for example, when uploading dispute evidence). Stripe also + * creates files independetly (for example, the results of a [Sigma scheduled + * query](#scheduled_queries)). + * + * Related guide: [File upload guide](https://stripe.com/docs/file-upload) + */ + file: { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** + * Format: unix-time + * @description The file expires and isn't available at this time in epoch seconds. + */ + expires_at?: number | null; + /** @description The suitable name for saving the file to a filesystem. */ + filename?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** + * FileFileLinkList + * @description A list of [file links](https://stripe.com/docs/api#file_links) that point at this file. + */ + links?: { + /** @description Details about each object. */ + data: components["schemas"]["file_link"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "file"; + /** + * @description The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file. + * @enum {string} + */ + purpose: "account_requirement" | "additional_verification" | "business_icon" | "business_logo" | "customer_signature" | "dispute_evidence" | "document_provider_identity_document" | "finance_report_run" | "identity_document" | "identity_document_downloadable" | "pci_document" | "selfie" | "sigma_scheduled_query" | "tax_document_user_upload" | "terminal_reader_splashscreen"; + /** @description The size of the file object in bytes. */ + size: number; + /** @description A suitable title for the document. */ + title?: string | null; + /** @description The returned file type (for example, `csv`, `pdf`, `jpg`, or `png`). */ + type?: string | null; + /** @description Use your live secret API key to download the file from this URL. */ + url?: string | null; + }; + /** + * FileLink + * @description To share the contents of a `File` object with non-Stripe users, you can + * create a `FileLink`. `FileLink`s contain a URL that you can use to + * retrieve the contents of the file without authentication. + */ + file_link: { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Returns if the link is already expired. */ + expired: boolean; + /** + * Format: unix-time + * @description Time that the link expires. + */ + expires_at?: number | null; + /** @description The file object this link points to. */ + file: string | components["schemas"]["file"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "file_link"; + /** @description The publicly accessible URL to download the file. */ + url?: string | null; + }; + /** + * BankConnectionsResourceLinkedAccount + * @description A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access. + */ + "financial_connections.account": { + /** @description The account holder that this account belongs to. */ + account_holder?: components["schemas"]["bank_connections_resource_accountholder"] | null; + /** @description The most recent information about the account's balance. */ + balance?: components["schemas"]["bank_connections_resource_balance"] | null; + /** @description The state of the most recent attempt to refresh the account balance. */ + balance_refresh?: components["schemas"]["bank_connections_resource_balance_refresh"] | null; + /** + * @description The type of the account. Account category is further divided in `subcategory`. + * @enum {string} + */ + category: "cash" | "credit" | "investment" | "other"; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description A human-readable name that has been assigned to this account, either by the account holder or by the institution. */ + display_name?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description The name of the institution that holds this account. */ + institution_name: string; + /** @description The last 4 digits of the account number. If present, this will be 4 numeric characters. */ + last4?: string | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "financial_connections.account"; + /** @description The most recent information about the account's owners. */ + ownership?: (string | components["schemas"]["financial_connections.account_ownership"]) | null; + /** @description The state of the most recent attempt to refresh the account owners. */ + ownership_refresh?: components["schemas"]["bank_connections_resource_ownership_refresh"] | null; + /** @description The list of permissions granted by this account. */ + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[] | null; + /** + * @description The status of the link to the account. + * @enum {string} + */ + status: "active" | "disconnected" | "inactive"; + /** + * @description If `category` is `cash`, one of: + * + * - `checking` + * - `savings` + * - `other` + * + * If `category` is `credit`, one of: + * + * - `mortgage` + * - `line_of_credit` + * - `credit_card` + * - `other` + * + * If `category` is `investment` or `other`, this will be `other`. + * @enum {string} + */ + subcategory: "checking" | "credit_card" | "line_of_credit" | "mortgage" | "other" | "savings"; + /** @description The [PaymentMethod type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)(s) that can be created from this account. */ + supported_payment_method_types: ("link" | "us_bank_account")[]; + }; + /** + * BankConnectionsResourceOwner + * @description Describes an owner of an account. + */ + "financial_connections.account_owner": { + /** @description The email address of the owner. */ + email?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description The full name of the owner. */ + name: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "financial_connections.account_owner"; + /** @description The ownership object that this owner belongs to. */ + ownership: string; + /** @description The raw phone number of the owner. */ + phone?: string | null; + /** @description The raw physical address of the owner. */ + raw_address?: string | null; + /** + * Format: unix-time + * @description The timestamp of the refresh that updated this owner. + */ + refreshed_at?: number | null; + }; + /** + * BankConnectionsResourceOwnership + * @description Describes a snapshot of the owners of an account at a particular point in time. + */ + "financial_connections.account_ownership": { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "financial_connections.account_ownership"; + /** + * BankConnectionsResourceOwnerList + * @description A paginated list of owners for this account. + */ + owners: { + /** @description Details about each object. */ + data: components["schemas"]["financial_connections.account_owner"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + /** + * BankConnectionsResourceLinkAccountSession + * @description A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link their accounts. + */ + "financial_connections.session": { + /** @description The account holder for whom accounts are collected in this session. */ + account_holder?: components["schemas"]["bank_connections_resource_accountholder"] | null; + /** + * BankConnectionsResourceLinkedAccountList + * @description The accounts that were collected as part of this Session. + */ + accounts: { + /** @description Details about each object. */ + data: components["schemas"]["financial_connections.account"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + /** @description A value that will be passed to the client to launch the authentication flow. */ + client_secret: string; + filters?: components["schemas"]["bank_connections_resource_link_account_session_filters"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "financial_connections.session"; + /** @description Permissions requested for accounts collected during this session. */ + permissions: ("balances" | "ownership" | "payment_method" | "transactions")[]; + /** @description Data features requested to be retrieved upon account creation. */ + prefetch?: ("balances" | "ownership")[] | null; + /** @description For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. */ + return_url?: string; + }; + /** FinancialReportingFinanceReportRunRunParameters */ + financial_reporting_finance_report_run_run_parameters: { + /** @description The set of output columns requested for inclusion in the report run. */ + columns?: string[]; + /** @description Connected account ID by which to filter the report run. */ + connected_account?: string; + /** @description Currency of objects to be included in the report run. */ + currency?: string; + /** + * Format: unix-time + * @description Ending timestamp of data to be included in the report run. Can be any UTC timestamp between 1 second after the user specified `interval_start` and 1 second before this report's last `data_available_end` value. + */ + interval_end?: number; + /** + * Format: unix-time + * @description Starting timestamp of data to be included in the report run. Can be any UTC timestamp between 1 second after this report's `data_available_start` and 1 second before the user specified `interval_end` value. + */ + interval_start?: number; + /** @description Payout ID by which to filter the report run. */ + payout?: string; + /** @description Category of balance transactions to be included in the report run. */ + reporting_category?: string; + /** @description Defaults to `Etc/UTC`. The output timezone for all timestamps in the report. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones). Has no effect on `interval_start` or `interval_end`. */ + timezone?: string; + }; + /** + * CustomerBalanceFundingInstructionsCustomerBalanceFundingInstructions + * @description Each customer has a [`balance`](https://stripe.com/docs/api/customers/object#customer_object-balance) that is + * automatically applied to future invoices and payments using the `customer_balance` payment method. + * Customers can fund this balance by initiating a bank transfer to any account in the + * `financial_addresses` field. + * Related guide: [Customer balance funding instructions](https://stripe.com/docs/payments/customer-balance/funding-instructions) + */ + funding_instructions: { + bank_transfer: components["schemas"]["funding_instructions_bank_transfer"]; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** + * @description The `funding_type` of the returned instructions + * @enum {string} + */ + funding_type: "bank_transfer"; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "funding_instructions"; + }; + /** FundingInstructionsBankTransfer */ + funding_instructions_bank_transfer: { + /** @description The country of the bank account to fund */ + country: string; + /** @description A list of financial addresses that can be used to fund a particular balance */ + financial_addresses: components["schemas"]["funding_instructions_bank_transfer_financial_address"][]; + /** + * @description The bank_transfer type + * @enum {string} + */ + type: "eu_bank_transfer" | "jp_bank_transfer"; + }; + /** + * FundingInstructionsBankTransferFinancialAddress + * @description FinancialAddresses contain identifying information that resolves to a FinancialAccount. + */ + funding_instructions_bank_transfer_financial_address: { + iban?: components["schemas"]["funding_instructions_bank_transfer_iban_record"]; + sort_code?: components["schemas"]["funding_instructions_bank_transfer_sort_code_record"]; + spei?: components["schemas"]["funding_instructions_bank_transfer_spei_record"]; + /** @description The payment networks supported by this FinancialAddress */ + supported_networks?: ("bacs" | "fps" | "sepa" | "spei" | "zengin")[]; + /** + * @description The type of financial address + * @enum {string} + */ + type: "iban" | "sort_code" | "spei" | "zengin"; + zengin?: components["schemas"]["funding_instructions_bank_transfer_zengin_record"]; + }; + /** + * FundingInstructionsBankTransferIbanRecord + * @description Iban Records contain E.U. bank account details per the SEPA format. + */ + funding_instructions_bank_transfer_iban_record: { + /** @description The name of the person or business that owns the bank account */ + account_holder_name: string; + /** @description The BIC/SWIFT code of the account. */ + bic: string; + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country: string; + /** @description The IBAN of the account. */ + iban: string; + }; + /** + * FundingInstructionsBankTransferSortCodeRecord + * @description Sort Code Records contain U.K. bank account details per the sort code format. + */ + funding_instructions_bank_transfer_sort_code_record: { + /** @description The name of the person or business that owns the bank account */ + account_holder_name: string; + /** @description The account number */ + account_number: string; + /** @description The six-digit sort code */ + sort_code: string; + }; + /** + * FundingInstructionsBankTransferSpeiRecord + * @description SPEI Records contain Mexico bank account details per the SPEI format. + */ + funding_instructions_bank_transfer_spei_record: { + /** @description The three-digit bank code */ + bank_code: string; + /** @description The short banking institution name */ + bank_name: string; + /** @description The CLABE number */ + clabe: string; + }; + /** + * FundingInstructionsBankTransferZenginRecord + * @description Zengin Records contain Japan bank account details per the Zengin format. + */ + funding_instructions_bank_transfer_zengin_record: { + /** @description The account holder name */ + account_holder_name?: string | null; + /** @description The account number */ + account_number?: string | null; + /** @description The bank account type. In Japan, this can only be `futsu` or `toza`. */ + account_type?: string | null; + /** @description The bank code of the account */ + bank_code?: string | null; + /** @description The bank name of the account */ + bank_name?: string | null; + /** @description The branch code of the account */ + branch_code?: string | null; + /** @description The branch name of the account */ + branch_name?: string | null; + }; + /** + * GelatoDataDocumentReportDateOfBirth + * @description Point in Time + */ + gelato_data_document_report_date_of_birth: { + /** @description Numerical day between 1 and 31. */ + day?: number | null; + /** @description Numerical month between 1 and 12. */ + month?: number | null; + /** @description The four-digit year. */ + year?: number | null; + }; + /** + * GelatoDataDocumentReportExpirationDate + * @description Point in Time + */ + gelato_data_document_report_expiration_date: { + /** @description Numerical day between 1 and 31. */ + day?: number | null; + /** @description Numerical month between 1 and 12. */ + month?: number | null; + /** @description The four-digit year. */ + year?: number | null; + }; + /** + * GelatoDataDocumentReportIssuedDate + * @description Point in Time + */ + gelato_data_document_report_issued_date: { + /** @description Numerical day between 1 and 31. */ + day?: number | null; + /** @description Numerical month between 1 and 12. */ + month?: number | null; + /** @description The four-digit year. */ + year?: number | null; + }; + /** + * GelatoDataIdNumberReportDate + * @description Point in Time + */ + gelato_data_id_number_report_date: { + /** @description Numerical day between 1 and 31. */ + day?: number | null; + /** @description Numerical month between 1 and 12. */ + month?: number | null; + /** @description The four-digit year. */ + year?: number | null; + }; + /** + * GelatoDataVerifiedOutputsDate + * @description Point in Time + */ + gelato_data_verified_outputs_date: { + /** @description Numerical day between 1 and 31. */ + day?: number | null; + /** @description Numerical month between 1 and 12. */ + month?: number | null; + /** @description The four-digit year. */ + year?: number | null; + }; + /** + * GelatoDocumentReport + * @description Result from a document check + */ + gelato_document_report: { + /** @description Address as it appears in the document. */ + address?: components["schemas"]["address"] | null; + /** @description Date of birth as it appears in the document. */ + dob?: components["schemas"]["gelato_data_document_report_date_of_birth"] | null; + /** @description Details on the verification error. Present when status is `unverified`. */ + error?: components["schemas"]["gelato_document_report_error"] | null; + /** @description Expiration date of the document. */ + expiration_date?: components["schemas"]["gelato_data_document_report_expiration_date"] | null; + /** @description Array of [File](https://stripe.com/docs/api/files) ids containing images for this document. */ + files?: string[] | null; + /** @description First name as it appears in the document. */ + first_name?: string | null; + /** @description Issued date of the document. */ + issued_date?: components["schemas"]["gelato_data_document_report_issued_date"] | null; + /** @description Issuing country of the document. */ + issuing_country?: string | null; + /** @description Last name as it appears in the document. */ + last_name?: string | null; + /** @description Document ID number. */ + number?: string | null; + /** + * @description Status of this `document` check. + * @enum {string} + */ + status: "unverified" | "verified"; + /** + * @description Type of the document. + * @enum {string|null} + */ + type?: "driving_license" | "id_card" | "passport"; + }; + /** GelatoDocumentReportError */ + gelato_document_report_error: { + /** + * @description A short machine-readable string giving the reason for the verification failure. + * @enum {string|null} + */ + code?: "document_expired" | "document_type_not_supported" | "document_unverified_other"; + /** @description A human-readable message giving the reason for the failure. These messages can be shown to your users. */ + reason?: string | null; + }; + /** + * GelatoIdNumberReport + * @description Result from an id_number check + */ + gelato_id_number_report: { + /** @description Date of birth. */ + dob?: components["schemas"]["gelato_data_id_number_report_date"] | null; + /** @description Details on the verification error. Present when status is `unverified`. */ + error?: components["schemas"]["gelato_id_number_report_error"] | null; + /** @description First name. */ + first_name?: string | null; + /** @description ID number. */ + id_number?: string | null; + /** + * @description Type of ID number. + * @enum {string|null} + */ + id_number_type?: "br_cpf" | "sg_nric" | "us_ssn"; + /** @description Last name. */ + last_name?: string | null; + /** + * @description Status of this `id_number` check. + * @enum {string} + */ + status: "unverified" | "verified"; + }; + /** GelatoIdNumberReportError */ + gelato_id_number_report_error: { + /** + * @description A short machine-readable string giving the reason for the verification failure. + * @enum {string|null} + */ + code?: "id_number_insufficient_document_data" | "id_number_mismatch" | "id_number_unverified_other"; + /** @description A human-readable message giving the reason for the failure. These messages can be shown to your users. */ + reason?: string | null; + }; + /** GelatoReportDocumentOptions */ + gelato_report_document_options: { + /** @description Array of strings of allowed identity document types. If the provided identity document isn’t one of the allowed types, the verification check will fail with a document_type_not_allowed error code. */ + allowed_types?: ("driving_license" | "id_card" | "passport")[]; + /** @description Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document’s extracted name and date of birth. */ + require_id_number?: boolean; + /** @description Disable image uploads, identity document images have to be captured using the device’s camera. */ + require_live_capture?: boolean; + /** @description Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user’s face. [Learn more](https://stripe.com/docs/identity/selfie). */ + require_matching_selfie?: boolean; + }; + /** GelatoReportIdNumberOptions */ + gelato_report_id_number_options: Record; + /** + * GelatoSelfieReport + * @description Result from a selfie check + */ + gelato_selfie_report: { + /** @description ID of the [File](https://stripe.com/docs/api/files) holding the image of the identity document used in this check. */ + document?: string | null; + /** @description Details on the verification error. Present when status is `unverified`. */ + error?: components["schemas"]["gelato_selfie_report_error"] | null; + /** @description ID of the [File](https://stripe.com/docs/api/files) holding the image of the selfie used in this check. */ + selfie?: string | null; + /** + * @description Status of this `selfie` check. + * @enum {string} + */ + status: "unverified" | "verified"; + }; + /** GelatoSelfieReportError */ + gelato_selfie_report_error: { + /** + * @description A short machine-readable string giving the reason for the verification failure. + * @enum {string|null} + */ + code?: "selfie_document_missing_photo" | "selfie_face_mismatch" | "selfie_manipulated" | "selfie_unverified_other"; + /** @description A human-readable message giving the reason for the failure. These messages can be shown to your users. */ + reason?: string | null; + }; + /** GelatoSessionDocumentOptions */ + gelato_session_document_options: { + /** @description Array of strings of allowed identity document types. If the provided identity document isn’t one of the allowed types, the verification check will fail with a document_type_not_allowed error code. */ + allowed_types?: ("driving_license" | "id_card" | "passport")[]; + /** @description Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document’s extracted name and date of birth. */ + require_id_number?: boolean; + /** @description Disable image uploads, identity document images have to be captured using the device’s camera. */ + require_live_capture?: boolean; + /** @description Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user’s face. [Learn more](https://stripe.com/docs/identity/selfie). */ + require_matching_selfie?: boolean; + }; + /** GelatoSessionIdNumberOptions */ + gelato_session_id_number_options: Record; + /** + * GelatoSessionLastError + * @description Shows last VerificationSession error + */ + gelato_session_last_error: { + /** + * @description A short machine-readable string giving the reason for the verification or user-session failure. + * @enum {string|null} + */ + code?: "abandoned" | "consent_declined" | "country_not_supported" | "device_not_supported" | "document_expired" | "document_type_not_supported" | "document_unverified_other" | "id_number_insufficient_document_data" | "id_number_mismatch" | "id_number_unverified_other" | "selfie_document_missing_photo" | "selfie_face_mismatch" | "selfie_manipulated" | "selfie_unverified_other" | "under_supported_age"; + /** @description A message that explains the reason for verification or user-session failure. */ + reason?: string | null; + }; + /** GelatoVerificationReportOptions */ + gelato_verification_report_options: { + document?: components["schemas"]["gelato_report_document_options"]; + id_number?: components["schemas"]["gelato_report_id_number_options"]; + }; + /** GelatoVerificationSessionOptions */ + gelato_verification_session_options: { + document?: components["schemas"]["gelato_session_document_options"]; + id_number?: components["schemas"]["gelato_session_id_number_options"]; + }; + /** GelatoVerifiedOutputs */ + gelato_verified_outputs: { + /** @description The user's verified address. */ + address?: components["schemas"]["address"] | null; + /** @description The user’s verified date of birth. */ + dob?: components["schemas"]["gelato_data_verified_outputs_date"] | null; + /** @description The user's verified first name. */ + first_name?: string | null; + /** @description The user's verified id number. */ + id_number?: string | null; + /** + * @description The user's verified id number type. + * @enum {string|null} + */ + id_number_type?: "br_cpf" | "sg_nric" | "us_ssn"; + /** @description The user's verified last name. */ + last_name?: string | null; + }; + /** + * GelatoVerificationReport + * @description A VerificationReport is the result of an attempt to collect and verify data from a user. + * The collection of verification checks performed is determined from the `type` and `options` + * parameters used. You can find the result of each verification check performed in the + * appropriate sub-resource: `document`, `id_number`, `selfie`. + * + * Each VerificationReport contains a copy of any data collected by the user as well as + * reference IDs which can be used to access collected images through the [FileUpload](https://stripe.com/docs/api/files) + * API. To configure and create VerificationReports, use the + * [VerificationSession](https://stripe.com/docs/api/identity/verification_sessions) API. + * + * Related guides: [Accessing verification results](https://stripe.com/docs/identity/verification-sessions#results). + */ + "identity.verification_report": { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + document?: components["schemas"]["gelato_document_report"]; + /** @description Unique identifier for the object. */ + id: string; + id_number?: components["schemas"]["gelato_id_number_report"]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "identity.verification_report"; + options?: components["schemas"]["gelato_verification_report_options"]; + selfie?: components["schemas"]["gelato_selfie_report"]; + /** + * @description Type of report. + * @enum {string} + */ + type?: "document" | "id_number"; + /** @description ID of the VerificationSession that created this report. */ + verification_session?: string | null; + }; + /** + * GelatoVerificationSession + * @description A VerificationSession guides you through the process of collecting and verifying the identities + * of your users. It contains details about the type of verification, such as what [verification + * check](/docs/identity/verification-checks) to perform. Only create one VerificationSession for + * each verification in your system. + * + * A VerificationSession transitions through [multiple + * statuses](/docs/identity/how-sessions-work) throughout its lifetime as it progresses through + * the verification flow. The VerificationSession contains the user's verified data after + * verification checks are complete. + * + * Related guide: [The Verification Sessions API](https://stripe.com/docs/identity/verification-sessions) + */ + "identity.verification_session": { + /** @description The short-lived client secret used by Stripe.js to [show a verification modal](https://stripe.com/docs/js/identity/modal) inside your app. This client secret expires after 24 hours and can only be used once. Don’t store it, log it, embed it in a URL, or expose it to anyone other than the user. Make sure that you have TLS enabled on any page that includes the client secret. Refer to our docs on [passing the client secret to the frontend](https://stripe.com/docs/identity/verification-sessions#client-secret) to learn more. */ + client_secret?: string | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Unique identifier for the object. */ + id: string; + /** @description If present, this property tells you the last error encountered when processing the verification. */ + last_error?: components["schemas"]["gelato_session_last_error"] | null; + /** @description ID of the most recent VerificationReport. [Learn more about accessing detailed verification results.](https://stripe.com/docs/identity/verification-sessions#results) */ + last_verification_report?: (string | components["schemas"]["identity.verification_report"]) | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "identity.verification_session"; + /** @description A set of options for the session’s verification checks. */ + options?: components["schemas"]["gelato_verification_session_options"] | null; + /** @description Redaction status of this VerificationSession. If the VerificationSession is not redacted, this field will be null. */ + redaction?: components["schemas"]["verification_session_redaction"] | null; + /** + * @description Status of this VerificationSession. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work). + * @enum {string} + */ + status: "canceled" | "processing" | "requires_input" | "verified"; + /** + * @description The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed. + * @enum {string|null} + */ + type?: "document" | "id_number"; + /** @description The short-lived URL that you use to redirect a user to Stripe to submit their identity information. This URL expires after 48 hours and can only be used once. Don’t store it, log it, send it in emails or expose it to anyone other than the user. Refer to our docs on [verifying identity documents](https://stripe.com/docs/identity/verify-identity-documents?platform=web&type=redirect) to learn how to redirect users to Stripe. */ + url?: string | null; + /** @description The user’s verified data. */ + verified_outputs?: components["schemas"]["gelato_verified_outputs"] | null; + }; + /** InboundTransfers */ + inbound_transfers: { + billing_details: components["schemas"]["treasury_shared_resource_billing_details"]; + /** + * @description The type of the payment method used in the InboundTransfer. + * @enum {string} + */ + type: "us_bank_account"; + us_bank_account?: components["schemas"]["inbound_transfers_payment_method_details_us_bank_account"]; + }; + /** inbound_transfers_payment_method_details_us_bank_account */ + inbound_transfers_payment_method_details_us_bank_account: { + /** + * @description Account holder type: individual or company. + * @enum {string|null} + */ + account_holder_type?: "company" | "individual"; + /** + * @description Account type: checkings or savings. Defaults to checking if omitted. + * @enum {string|null} + */ + account_type?: "checking" | "savings"; + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + /** + * @description The US bank account network used to debit funds. + * @enum {string} + */ + network: "ach"; + /** @description Routing number of the bank account. */ + routing_number?: string | null; + }; + /** + * Invoice + * @description Invoices are statements of amounts owed by a customer, and are either + * generated one-off, or generated periodically from a subscription. + * + * They contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments + * that may be caused by subscription upgrades/downgrades (if necessary). + * + * If your invoice is configured to be billed through automatic charges, + * Stripe automatically finalizes your invoice and attempts payment. Note + * that finalizing the invoice, + * [when automatic](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection), does + * not happen immediately as the invoice is created. Stripe waits + * until one hour after the last webhook was successfully sent (or the last + * webhook timed out after failing). If you (and the platforms you may have + * connected to) have no webhooks configured, Stripe waits one hour after + * creation to finalize the invoice. + * + * If your invoice is configured to be billed by sending an email, then based on your + * [email settings](https://dashboard.stripe.com/account/billing/automatic), + * Stripe will email the invoice to your customer and await payment. These + * emails can contain a link to a hosted page to pay the invoice. + * + * Stripe applies any customer credit on the account before determining the + * amount due for the invoice (i.e., the amount that will be actually + * charged). If the amount due for the invoice is less than Stripe's [minimum allowed charge + * per currency](/docs/currencies#minimum-and-maximum-charge-amounts), the + * invoice is automatically marked paid, and we add the amount due to the + * customer's credit balance which is applied to the next invoice. + * + * More details on the customer's credit balance are + * [here](https://stripe.com/docs/billing/customer/balance). + * + * Related guide: [Send invoices to customers](https://stripe.com/docs/billing/invoices/sending) + */ + invoice: { + /** @description The country of the business associated with this invoice, most often the business creating the invoice. */ + account_country?: string | null; + /** @description The public name of the business associated with this invoice, most often the business creating the invoice. */ + account_name?: string | null; + /** @description The account tax IDs associated with the invoice. Only editable when the invoice is a draft. */ + account_tax_ids?: (string | components["schemas"]["tax_id"] | components["schemas"]["deleted_tax_id"])[] | null; + /** @description Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`. */ + amount_due: number; + /** @description The amount, in cents (or local equivalent), that was paid. */ + amount_paid: number; + /** @description The difference between amount_due and amount_paid, in cents (or local equivalent). */ + amount_remaining: number; + /** @description This is the sum of all the shipping amounts. */ + amount_shipping: number; + /** @description ID of the Connect Application that created the invoice. */ + application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; + /** @description The fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid. */ + application_fee_amount?: number | null; + /** @description Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule. */ + attempt_count: number; + /** @description Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users. */ + attempted: boolean; + /** @description Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action. */ + auto_advance?: boolean; + automatic_tax: components["schemas"]["automatic_tax"]; + /** + * @description Indicates the reason why the invoice was created. + * + * * `manual`: Unrelated to a subscription, for example, created via the invoice editor. + * * `subscription`: No longer in use. Applies to subscriptions from before May 2018 where no distinction was made between updates, cycles, and thresholds. + * * `subscription_create`: A new subscription was created. + * * `subscription_cycle`: A subscription advanced into a new period. + * * `subscription_threshold`: A subscription reached a billing threshold. + * * `subscription_update`: A subscription was updated. + * * `upcoming`: Reserved for simulated invoices, per the upcoming invoice endpoint. + * @enum {string|null} + */ + billing_reason?: "automatic_pending_invoice_item_invoice" | "manual" | "quote_accept" | "subscription" | "subscription_create" | "subscription_cycle" | "subscription_threshold" | "subscription_update" | "upcoming"; + /** @description ID of the latest charge generated for this invoice, if any. */ + charge?: (string | components["schemas"]["charge"]) | null; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. + * @enum {string} + */ + collection_method: "charge_automatically" | "send_invoice"; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Custom fields displayed on the invoice. */ + custom_fields?: components["schemas"]["invoice_setting_custom_field"][] | null; + /** @description The ID of the customer who will be billed. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** @description The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated. */ + customer_address?: components["schemas"]["address"] | null; + /** @description The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated. */ + customer_email?: string | null; + /** @description The customer's name. Until the invoice is finalized, this field will equal `customer.name`. Once the invoice is finalized, this field will no longer be updated. */ + customer_name?: string | null; + /** @description The customer's phone number. Until the invoice is finalized, this field will equal `customer.phone`. Once the invoice is finalized, this field will no longer be updated. */ + customer_phone?: string | null; + /** @description The customer's shipping information. Until the invoice is finalized, this field will equal `customer.shipping`. Once the invoice is finalized, this field will no longer be updated. */ + customer_shipping?: components["schemas"]["shipping"] | null; + /** + * @description The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated. + * @enum {string|null} + */ + customer_tax_exempt?: "exempt" | "none" | "reverse"; + /** @description The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated. */ + customer_tax_ids?: components["schemas"]["invoices_resource_invoice_tax_id"][] | null; + /** @description ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings. */ + default_payment_method?: (string | components["schemas"]["payment_method"]) | null; + /** @description ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source. */ + default_source?: (string | components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"]) | null; + /** @description The tax rates applied to this invoice, if any. */ + default_tax_rates: components["schemas"]["tax_rate"][]; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard. */ + description?: string | null; + /** @description Describes the current discount applied to this invoice, if there is one. Not populated if there are multiple discounts. */ + discount?: components["schemas"]["discount"] | null; + /** @description The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount. */ + discounts?: (string | components["schemas"]["discount"] | components["schemas"]["deleted_discount"])[] | null; + /** + * Format: unix-time + * @description The date on which payment for this invoice is due. This value will be `null` for invoices where `collection_method=charge_automatically`. + */ + due_date?: number | null; + /** + * Format: unix-time + * @description The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt. + */ + effective_at?: number | null; + /** @description Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null. */ + ending_balance?: number | null; + /** @description Footer displayed on the invoice. */ + footer?: string | null; + /** @description Details of the invoice that was cloned. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details. */ + from_invoice?: components["schemas"]["invoices_from_invoice"] | null; + /** @description The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null. */ + hosted_invoice_url?: string | null; + /** @description Unique identifier for the object. This property is always present unless the invoice is an upcoming invoice. See [Retrieve an upcoming invoice](https://stripe.com/docs/api/invoices/upcoming) for more details. */ + id?: string; + /** @description The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null. */ + invoice_pdf?: string | null; + /** @description The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized. */ + last_finalization_error?: components["schemas"]["api_errors"] | null; + /** @description The ID of the most recent non-draft revision of this invoice */ + latest_revision?: (string | components["schemas"]["invoice"]) | null; + /** + * InvoiceLinesList + * @description The individual line items that make up the invoice. `lines` is sorted as follows: (1) pending invoice items (including prorations) in reverse chronological order, (2) subscription items in reverse chronological order, and (3) invoice items added after invoice creation in chronological order. + */ + lines: { + /** @description Details about each object. */ + data: components["schemas"]["line_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * Format: unix-time + * @description The time at which payment will next be attempted. This value will be `null` for invoices where `collection_method=send_invoice`. + */ + next_payment_attempt?: number | null; + /** @description A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified. */ + number?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "invoice"; + /** @description The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. */ + on_behalf_of?: (string | components["schemas"]["account"]) | null; + /** @description Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance. */ + paid: boolean; + /** @description Returns true if the invoice was manually marked paid, returns false if the invoice hasn't been paid yet or was paid on Stripe. */ + paid_out_of_band: boolean; + /** @description The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent. */ + payment_intent?: (string | components["schemas"]["payment_intent"]) | null; + payment_settings: components["schemas"]["invoices_payment_settings"]; + /** + * Format: unix-time + * @description End of the usage period during which invoice items were added to this invoice. + */ + period_end: number; + /** + * Format: unix-time + * @description Start of the usage period during which invoice items were added to this invoice. + */ + period_start: number; + /** @description Total amount of all post-payment credit notes issued for this invoice. */ + post_payment_credit_notes_amount: number; + /** @description Total amount of all pre-payment credit notes issued for this invoice. */ + pre_payment_credit_notes_amount: number; + /** @description The quote this invoice was generated from. */ + quote?: (string | components["schemas"]["quote"]) | null; + /** @description This is the transaction number that appears on email receipts sent for this invoice. */ + receipt_number?: string | null; + /** @description The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. */ + rendering?: components["schemas"]["invoices_invoice_rendering"] | null; + /** @description The details of the cost of shipping, including the ShippingRate applied on the invoice. */ + shipping_cost?: components["schemas"]["invoices_shipping_cost"] | null; + /** @description Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer. */ + shipping_details?: components["schemas"]["shipping"] | null; + /** @description Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. For revision invoices, this also includes any customer balance that was applied to the original invoice. */ + starting_balance: number; + /** @description Extra information about an invoice for the customer's credit card statement. */ + statement_descriptor?: string | null; + /** + * @description The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview) + * @enum {string|null} + */ + status?: "draft" | "open" | "paid" | "uncollectible" | "void"; + status_transitions: components["schemas"]["invoices_status_transitions"]; + /** @description The subscription that this invoice was prepared for, if any. */ + subscription?: (string | components["schemas"]["subscription"]) | null; + /** @description Details about the subscription that created this invoice. */ + subscription_details?: components["schemas"]["subscription_details_data"] | null; + /** @description Only set for upcoming invoices that preview prorations. The time used to calculate prorations. */ + subscription_proration_date?: number; + /** @description Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or exclusive tax is applied. Item discounts are already incorporated */ + subtotal: number; + /** @description The integer amount in cents (or local equivalent) representing the subtotal of the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated */ + subtotal_excluding_tax?: number | null; + /** @description The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice. */ + tax?: number | null; + /** @description ID of the test clock this invoice belongs to. */ + test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; + threshold_reason?: components["schemas"]["invoice_threshold_reason"]; + /** @description Total after discounts and taxes. */ + total: number; + /** @description The aggregate amounts calculated per discount across all line items. */ + total_discount_amounts?: components["schemas"]["discounts_resource_discount_amount"][] | null; + /** @description The integer amount in cents (or local equivalent) representing the total amount of the invoice including all discounts but excluding all tax. */ + total_excluding_tax?: number | null; + /** @description The aggregate amounts calculated per tax rate for all line items. */ + total_tax_amounts: components["schemas"]["invoice_tax_amount"][]; + /** @description The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to for the invoice. */ + transfer_data?: components["schemas"]["invoice_transfer_data"] | null; + /** + * Format: unix-time + * @description Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have [been exhausted](https://stripe.com/docs/billing/webhooks#understand). This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created. + */ + webhooks_delivered_at?: number | null; + }; + /** invoice_installments_card */ + invoice_installments_card: { + /** @description Whether Installments are enabled for this Invoice. */ + enabled?: boolean | null; + }; + /** InvoiceItemThresholdReason */ + invoice_item_threshold_reason: { + /** @description The IDs of the line items that triggered the threshold invoice. */ + line_item_ids: string[]; + /** @description The quantity threshold boundary that applied to the given line item. */ + usage_gte: number; + }; + /** InvoiceLineItemPeriod */ + invoice_line_item_period: { + /** + * Format: unix-time + * @description The end of the period, which must be greater than or equal to the start. This value is inclusive. + */ + end: number; + /** + * Format: unix-time + * @description The start of the period. This value is inclusive. + */ + start: number; + }; + /** invoice_mandate_options_card */ + invoice_mandate_options_card: { + /** @description Amount to be charged for future payments. */ + amount?: number | null; + /** + * @description One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. + * @enum {string|null} + */ + amount_type?: "fixed" | "maximum"; + /** @description A description of the mandate or subscription that is meant to be displayed to the customer. */ + description?: string | null; + }; + /** invoice_payment_method_options_acss_debit */ + invoice_payment_method_options_acss_debit: { + mandate_options?: components["schemas"]["invoice_payment_method_options_acss_debit_mandate_options"]; + /** + * @description Bank account verification method. + * @enum {string} + */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** invoice_payment_method_options_acss_debit_mandate_options */ + invoice_payment_method_options_acss_debit_mandate_options: { + /** + * @description Transaction type of the mandate. + * @enum {string|null} + */ + transaction_type?: "business" | "personal"; + }; + /** invoice_payment_method_options_bancontact */ + invoice_payment_method_options_bancontact: { + /** + * @description Preferred language of the Bancontact authorization page that the customer is redirected to. + * @enum {string} + */ + preferred_language: "de" | "en" | "fr" | "nl"; + }; + /** invoice_payment_method_options_card */ + invoice_payment_method_options_card: { + installments?: components["schemas"]["invoice_installments_card"]; + /** + * @description We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. + * @enum {string|null} + */ + request_three_d_secure?: "any" | "automatic"; + }; + /** invoice_payment_method_options_customer_balance */ + invoice_payment_method_options_customer_balance: { + bank_transfer?: components["schemas"]["invoice_payment_method_options_customer_balance_bank_transfer"]; + /** + * @description The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. + * @enum {string|null} + */ + funding_type?: "bank_transfer"; + }; + /** invoice_payment_method_options_customer_balance_bank_transfer */ + invoice_payment_method_options_customer_balance_bank_transfer: { + eu_bank_transfer?: components["schemas"]["invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer"]; + /** @description The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. */ + type?: string | null; + }; + /** invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer */ + invoice_payment_method_options_customer_balance_bank_transfer_eu_bank_transfer: { + /** + * @description The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. + * @enum {string} + */ + country: "BE" | "DE" | "ES" | "FR" | "IE" | "NL"; + }; + /** invoice_payment_method_options_konbini */ + invoice_payment_method_options_konbini: Record; + /** invoice_payment_method_options_us_bank_account */ + invoice_payment_method_options_us_bank_account: { + financial_connections?: components["schemas"]["invoice_payment_method_options_us_bank_account_linked_account_options"]; + /** + * @description Bank account verification method. + * @enum {string} + */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** invoice_payment_method_options_us_bank_account_linked_account_options */ + invoice_payment_method_options_us_bank_account_linked_account_options: { + /** @description The list of permissions to request. The `payment_method` permission must be included. */ + permissions?: ("balances" | "payment_method" | "transactions")[]; + /** @description Data features requested to be retrieved upon account creation. */ + prefetch?: "balances"[] | null; + }; + /** InvoiceRenderingPdf */ + invoice_rendering_pdf: { + /** + * @description Page size of invoice pdf. Options include a4, letter, and auto. If set to auto, page size will be switched to a4 or letter based on customer locale. + * @enum {string|null} + */ + page_size?: "a4" | "auto" | "letter"; + }; + /** InvoiceSettingCustomField */ + invoice_setting_custom_field: { + /** @description The name of the custom field. */ + name: string; + /** @description The value of the custom field. */ + value: string; + }; + /** InvoiceSettingCustomerSetting */ + invoice_setting_customer_setting: { + /** @description Default custom fields to be displayed on invoices for this customer. */ + custom_fields?: components["schemas"]["invoice_setting_custom_field"][] | null; + /** @description ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices. */ + default_payment_method?: (string | components["schemas"]["payment_method"]) | null; + /** @description Default footer to be displayed on invoices for this customer. */ + footer?: string | null; + /** @description Default options for invoice PDF rendering for this customer. */ + rendering_options?: components["schemas"]["invoice_setting_rendering_options"] | null; + }; + /** InvoiceSettingQuoteSetting */ + invoice_setting_quote_setting: { + /** @description Number of days within which a customer must pay invoices generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`. */ + days_until_due?: number | null; + }; + /** InvoiceSettingRenderingOptions */ + invoice_setting_rendering_options: { + /** @description How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. */ + amount_tax_display?: string | null; + }; + /** InvoiceSettingSubscriptionSchedulePhaseSetting */ + invoice_setting_subscription_schedule_phase_setting: { + /** @description Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`. */ + days_until_due?: number | null; + }; + /** InvoiceSettingSubscriptionScheduleSetting */ + invoice_setting_subscription_schedule_setting: { + /** @description Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`. */ + days_until_due?: number | null; + }; + /** InvoiceTaxAmount */ + invoice_tax_amount: { + /** @description The amount, in cents (or local equivalent), of the tax. */ + amount: number; + /** @description Whether this tax amount is inclusive or exclusive. */ + inclusive: boolean; + /** @description The tax rate that was applied to get this tax amount. */ + tax_rate: string | components["schemas"]["tax_rate"]; + /** + * @description The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. + * @enum {string|null} + */ + taxability_reason?: "customer_exempt" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated"; + /** @description The amount on which tax is calculated, in cents (or local equivalent). */ + taxable_amount?: number | null; + }; + /** InvoiceThresholdReason */ + invoice_threshold_reason: { + /** @description The total invoice amount threshold boundary if it triggered the threshold invoice. */ + amount_gte?: number | null; + /** @description Indicates which line items triggered a threshold invoice. */ + item_reasons: components["schemas"]["invoice_item_threshold_reason"][]; + }; + /** InvoiceTransferData */ + invoice_transfer_data: { + /** @description The amount in cents (or local equivalent) that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination. */ + amount?: number | null; + /** @description The account where funds from the payment will be transferred to upon payment success. */ + destination: string | components["schemas"]["account"]; + }; + /** + * InvoiceItem + * @description Invoice Items represent the component lines of an [invoice](https://stripe.com/docs/api/invoices). An invoice item is added to an + * invoice by creating or updating it with an `invoice` field, at which point it will be included as + * [an invoice line item](https://stripe.com/docs/api/invoices/line_item) within + * [invoice.lines](https://stripe.com/docs/api/invoices/object#invoice_object-lines). + * + * Invoice Items can be created before you are ready to actually send the invoice. This can be particularly useful when combined + * with a [subscription](https://stripe.com/docs/api/subscriptions). Sometimes you want to add a charge or credit to a customer, but actually charge + * or credit the customer’s card only at the end of a regular billing cycle. This is useful for combining several charges + * (to minimize per-transaction fees), or for having Stripe tabulate your usage-based billing totals. + * + * Related guides: [Integrate with the Invoicing API](https://stripe.com/docs/invoicing/integration), [Subscription Invoices](https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items). + */ + invoiceitem: { + /** @description Amount (in the `currency` specified) of the invoice item. This should always be equal to `unit_amount * quantity`. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description The ID of the customer who will be billed when this invoice item is billed. */ + customer: string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + date: number; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description If true, discounts will apply to this invoice item. Always false for prorations. */ + discountable: boolean; + /** @description The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount. */ + discounts?: (string | components["schemas"]["discount"])[] | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description The ID of the invoice this invoice item belongs to. */ + invoice?: (string | components["schemas"]["invoice"]) | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "invoiceitem"; + period: components["schemas"]["invoice_line_item_period"]; + /** @description The price of the invoice item. */ + price?: components["schemas"]["price"] | null; + /** @description Whether the invoice item was created automatically as a proration adjustment when the customer switched plans. */ + proration: boolean; + /** @description Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for. */ + quantity: number; + /** @description The subscription that this invoice item has been created for, if any. */ + subscription?: (string | components["schemas"]["subscription"]) | null; + /** @description The subscription item that this invoice item has been created for, if any. */ + subscription_item?: string; + /** @description The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. */ + tax_rates?: components["schemas"]["tax_rate"][] | null; + /** @description ID of the test clock this invoice item belongs to. */ + test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; + /** @description Unit amount (in the `currency` specified) of the invoice item. */ + unit_amount?: number | null; + /** + * Format: decimal + * @description Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. + */ + unit_amount_decimal?: string | null; + }; + /** InvoicesFromInvoice */ + invoices_from_invoice: { + /** @description The relation between this invoice and the cloned invoice */ + action: string; + /** @description The invoice that was cloned. */ + invoice: string | components["schemas"]["invoice"]; + }; + /** InvoicesInvoiceRendering */ + invoices_invoice_rendering: { + /** @description How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. */ + amount_tax_display?: string | null; + /** @description Invoice pdf rendering options */ + pdf?: components["schemas"]["invoice_rendering_pdf"] | null; + }; + /** InvoicesPaymentMethodOptions */ + invoices_payment_method_options: { + /** @description If paying by `acss_debit`, this sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice’s PaymentIntent. */ + acss_debit?: components["schemas"]["invoice_payment_method_options_acss_debit"] | null; + /** @description If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the invoice’s PaymentIntent. */ + bancontact?: components["schemas"]["invoice_payment_method_options_bancontact"] | null; + /** @description If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the invoice’s PaymentIntent. */ + card?: components["schemas"]["invoice_payment_method_options_card"] | null; + /** @description If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice’s PaymentIntent. */ + customer_balance?: components["schemas"]["invoice_payment_method_options_customer_balance"] | null; + /** @description If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice’s PaymentIntent. */ + konbini?: components["schemas"]["invoice_payment_method_options_konbini"] | null; + /** @description If paying by `us_bank_account`, this sub-hash contains details about the ACH direct debit payment method options to pass to the invoice’s PaymentIntent. */ + us_bank_account?: components["schemas"]["invoice_payment_method_options_us_bank_account"] | null; + }; + /** InvoicesPaymentSettings */ + invoices_payment_settings: { + /** @description ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the invoice's default_payment_method or default_source, if set. */ + default_mandate?: string | null; + /** @description Payment-method-specific configuration to provide to the invoice’s PaymentIntent. */ + payment_method_options?: components["schemas"]["invoices_payment_method_options"] | null; + /** @description The list of payment method types (e.g. card) to provide to the invoice’s PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). */ + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[] | null; + }; + /** InvoicesResourceInvoiceTaxID */ + invoices_resource_invoice_tax_id: { + /** + * @description The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, or `unknown` + * @enum {string} + */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "unknown" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; + /** @description The value of the tax ID. */ + value?: string | null; + }; + /** InvoicesResourceLineItemsCreditedItems */ + invoices_resource_line_items_credited_items: { + /** @description Invoice containing the credited invoice line items */ + invoice: string; + /** @description Credited invoice line items */ + invoice_line_items: string[]; + }; + /** InvoicesResourceLineItemsProrationDetails */ + invoices_resource_line_items_proration_details: { + /** @description For a credit proration `line_item`, the original debit line_items to which the credit proration applies. */ + credited_items?: components["schemas"]["invoices_resource_line_items_credited_items"] | null; + }; + /** InvoicesShippingCost */ + invoices_shipping_cost: { + /** @description Total shipping cost before any taxes are applied. */ + amount_subtotal: number; + /** @description Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0. */ + amount_tax: number; + /** @description Total shipping cost after taxes are applied. */ + amount_total: number; + /** @description The ID of the ShippingRate for this invoice. */ + shipping_rate?: (string | components["schemas"]["shipping_rate"]) | null; + /** @description The taxes applied to the shipping rate. */ + taxes?: components["schemas"]["line_items_tax_amount"][]; + }; + /** InvoicesStatusTransitions */ + invoices_status_transitions: { + /** + * Format: unix-time + * @description The time that the invoice draft was finalized. + */ + finalized_at?: number | null; + /** + * Format: unix-time + * @description The time that the invoice was marked uncollectible. + */ + marked_uncollectible_at?: number | null; + /** + * Format: unix-time + * @description The time that the invoice was paid. + */ + paid_at?: number | null; + /** + * Format: unix-time + * @description The time that the invoice was voided. + */ + voided_at?: number | null; + }; + /** + * IssuingAuthorization + * @description When an [issued card](https://stripe.com/docs/issuing) is used to make a purchase, an Issuing `Authorization` + * object is created. [Authorizations](https://stripe.com/docs/issuing/purchases/authorizations) must be approved for the + * purchase to be completed successfully. + * + * Related guide: [Issued card authorizations](https://stripe.com/docs/issuing/purchases/authorizations) + */ + "issuing.authorization": { + /** @description The total amount that was authorized or rejected. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount: number; + /** @description Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount_details?: components["schemas"]["issuing_authorization_amount_details"] | null; + /** @description Whether the authorization has been approved. */ + approved: boolean; + /** + * @description How the card details were provided. + * @enum {string} + */ + authorization_method: "chip" | "contactless" | "keyed_in" | "online" | "swipe"; + /** @description List of balance transactions associated with this authorization. */ + balance_transactions: components["schemas"]["balance_transaction"][]; + card: components["schemas"]["issuing.card"]; + /** @description The cardholder to whom this authorization belongs. */ + cardholder?: (string | components["schemas"]["issuing.cardholder"]) | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description The total amount that was authorized or rejected. This amount is in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + merchant_amount: number; + /** @description The currency that was presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + merchant_currency: string; + merchant_data: components["schemas"]["issuing_authorization_merchant_data"]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** @description Details about the authorization, such as identifiers, set by the card network. */ + network_data?: components["schemas"]["issuing_authorization_network_data"] | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "issuing.authorization"; + /** @description The pending authorization request. This field will only be non-null during an `issuing_authorization.request` webhook. */ + pending_request?: components["schemas"]["issuing_authorization_pending_request"] | null; + /** @description History of every time a `pending_request` authorization was approved/declined, either by you directly or by Stripe (e.g. based on your spending_controls). If the merchant changes the authorization by performing an incremental authorization, you can look at this field to see the previous requests for the authorization. This field can be helpful in determining why a given authorization was approved/declined. */ + request_history: components["schemas"]["issuing_authorization_request"][]; + /** + * @description The current status of the authorization in its lifecycle. + * @enum {string} + */ + status: "closed" | "pending" | "reversed"; + /** @description List of [transactions](https://stripe.com/docs/api/issuing/transactions) associated with this authorization. */ + transactions: components["schemas"]["issuing.transaction"][]; + /** @description [Treasury](https://stripe.com/docs/api/treasury) details related to this authorization if it was created on a [FinancialAccount](https://stripe.com/docs/api/treasury/financial_accounts). */ + treasury?: components["schemas"]["issuing_authorization_treasury"] | null; + verification_data: components["schemas"]["issuing_authorization_verification_data"]; + /** @description The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. Will populate as `null` when no digital wallet was utilized. */ + wallet?: string | null; + }; + /** + * IssuingCard + * @description You can [create physical or virtual cards](https://stripe.com/docs/issuing/cards) that are issued to cardholders. + */ + "issuing.card": { + /** @description The brand of the card. */ + brand: string; + /** + * @description The reason why the card was canceled. + * @enum {string|null} + */ + cancellation_reason?: "design_rejected" | "lost" | "stolen"; + cardholder: components["schemas"]["issuing.cardholder"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Supported currencies are `usd` in the US, `eur` in the EU, and `gbp` in the UK. */ + currency: string; + /** @description The card's CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the ["Retrieve a card" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via "List all cards" or any other endpoint. */ + cvc?: string; + /** @description The expiration month of the card. */ + exp_month: number; + /** @description The expiration year of the card. */ + exp_year: number; + /** @description The financial account this card is attached to. */ + financial_account?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description The last 4 digits of the card number. */ + last4: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** @description The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the ["Retrieve a card" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via "List all cards" or any other endpoint. */ + number?: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "issuing.card"; + /** @description The latest card that replaces this card, if any. */ + replaced_by?: (string | components["schemas"]["issuing.card"]) | null; + /** @description The card this card replaces, if any. */ + replacement_for?: (string | components["schemas"]["issuing.card"]) | null; + /** + * @description The reason why the previous card needed to be replaced. + * @enum {string|null} + */ + replacement_reason?: "damaged" | "expired" | "lost" | "stolen"; + /** @description Where and how the card will be shipped. */ + shipping?: components["schemas"]["issuing_card_shipping"] | null; + spending_controls: components["schemas"]["issuing_card_authorization_controls"]; + /** + * @description Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. + * @enum {string} + */ + status: "active" | "canceled" | "inactive"; + /** + * @description The type of the card. + * @enum {string} + */ + type: "physical" | "virtual"; + /** @description Information relating to digital wallets (like Apple Pay and Google Pay). */ + wallets?: components["schemas"]["issuing_card_wallets"] | null; + }; + /** + * IssuingCardholder + * @description An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://stripe.com/docs/issuing) cards. + * + * Related guide: [How to create a cardholder](https://stripe.com/docs/issuing/cards#create-cardholder) + */ + "issuing.cardholder": { + billing: components["schemas"]["issuing_cardholder_address"]; + /** @description Additional information about a `company` cardholder. */ + company?: components["schemas"]["issuing_cardholder_company"] | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The cardholder's email address. */ + email?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Additional information about an `individual` cardholder. */ + individual?: components["schemas"]["issuing_cardholder_individual"] | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** @description The cardholder's name. This will be printed on cards issued to them. */ + name: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "issuing.cardholder"; + /** @description The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure#when-is-3d-secure-applied) for more details. */ + phone_number?: string | null; + /** @description The cardholder’s preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`. + * This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder. */ + preferred_locales?: ("de" | "en" | "es" | "fr" | "it")[] | null; + requirements: components["schemas"]["issuing_cardholder_requirements"]; + /** @description Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. */ + spending_controls?: components["schemas"]["issuing_cardholder_authorization_controls"] | null; + /** + * @description Specifies whether to permit authorizations on this cardholder's cards. + * @enum {string} + */ + status: "active" | "blocked" | "inactive"; + /** + * @description One of `individual` or `company`. See [Choose a cardholder type](https://stripe.com/docs/issuing/other/choose-cardholder) for more details. + * @enum {string} + */ + type: "company" | "individual"; + }; + /** + * IssuingDispute + * @description As a [card issuer](https://stripe.com/docs/issuing), you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with. + * + * Related guide: [Issuing disputes](https://stripe.com/docs/issuing/purchases/disputes) + */ + "issuing.dispute": { + /** @description Disputed amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Usually the amount of the `transaction`, but can differ (usually because of currency fluctuation). */ + amount: number; + /** @description List of balance transactions associated with the dispute. */ + balance_transactions?: components["schemas"]["balance_transaction"][] | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The currency the `transaction` was made in. */ + currency: string; + evidence: components["schemas"]["issuing_dispute_evidence"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "issuing.dispute"; + /** + * @description Current status of the dispute. + * @enum {string} + */ + status: "expired" | "lost" | "submitted" | "unsubmitted" | "won"; + /** @description The transaction being disputed. */ + transaction: string | components["schemas"]["issuing.transaction"]; + /** @description [Treasury](https://stripe.com/docs/api/treasury) details related to this dispute if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts */ + treasury?: components["schemas"]["issuing_dispute_treasury"] | null; + }; + /** + * IssuingSettlement + * @description When a non-stripe BIN is used, any use of an [issued card](https://stripe.com/docs/issuing) must be settled directly with the card network. The net amount owed is represented by an Issuing `Settlement` object. + */ + "issuing.settlement": { + /** @description The Bank Identification Number reflecting this settlement record. */ + bin: string; + /** @description The date that the transactions are cleared and posted to user's accounts. */ + clearing_date: number; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Unique identifier for the object. */ + id: string; + /** @description The total interchange received as reimbursement for the transactions. */ + interchange_fees: number; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** @description The total net amount required to settle with the network. */ + net_total: number; + /** + * @description The card network for this settlement report. One of ["visa"] + * @enum {string} + */ + network: "visa"; + /** @description The total amount of fees owed to the network. */ + network_fees: number; + /** @description The Settlement Identification Number assigned by the network. */ + network_settlement_identifier: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "issuing.settlement"; + /** @description One of `international` or `uk_national_net`. */ + settlement_service: string; + /** @description The total number of transactions reflected in this settlement. */ + transaction_count: number; + /** @description The total transaction amount reflected in this settlement. */ + transaction_volume: number; + }; + /** + * IssuingTransaction + * @description Any use of an [issued card](https://stripe.com/docs/issuing) that results in funds entering or leaving + * your Stripe account, such as a completed purchase or refund, is represented by an Issuing + * `Transaction` object. + * + * Related guide: [Issued card transactions](https://stripe.com/docs/issuing/purchases/transactions) + */ + "issuing.transaction": { + /** @description The transaction amount, which will be reflected in your balance. This amount is in your currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount: number; + /** @description Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount_details?: components["schemas"]["issuing_transaction_amount_details"] | null; + /** @description The `Authorization` object that led to this transaction. */ + authorization?: (string | components["schemas"]["issuing.authorization"]) | null; + /** @description ID of the [balance transaction](https://stripe.com/docs/api/balance_transactions) associated with this transaction. */ + balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; + /** @description The card used to make this transaction. */ + card: string | components["schemas"]["issuing.card"]; + /** @description The cardholder to whom this transaction belongs. */ + cardholder?: (string | components["schemas"]["issuing.cardholder"]) | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description If you've disputed the transaction, the ID of the dispute. */ + dispute?: (string | components["schemas"]["issuing.dispute"]) | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description The amount that the merchant will receive, denominated in `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). It will be different from `amount` if the merchant is taking payment in a different currency. */ + merchant_amount: number; + /** @description The currency with which the merchant is taking payment. */ + merchant_currency: string; + merchant_data: components["schemas"]["issuing_authorization_merchant_data"]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "issuing.transaction"; + /** @description Additional purchase information that is optionally provided by the merchant. */ + purchase_details?: components["schemas"]["issuing_transaction_purchase_details"] | null; + /** @description [Treasury](https://stripe.com/docs/api/treasury) details related to this transaction if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts */ + treasury?: components["schemas"]["issuing_transaction_treasury"] | null; + /** + * @description The nature of the transaction. + * @enum {string} + */ + type: "capture" | "refund"; + /** + * @description The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. + * @enum {string|null} + */ + wallet?: "apple_pay" | "google_pay" | "samsung_pay"; + }; + /** IssuingAuthorizationAmountDetails */ + issuing_authorization_amount_details: { + /** @description The fee charged by the ATM for the cash withdrawal. */ + atm_fee?: number | null; + /** @description The amount of cash requested by the cardholder. */ + cashback_amount?: number | null; + }; + /** IssuingAuthorizationMerchantData */ + issuing_authorization_merchant_data: { + /** @description A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values. */ + category: string; + /** @description The merchant category code for the seller’s business */ + category_code: string; + /** @description City where the seller is located */ + city?: string | null; + /** @description Country where the seller is located */ + country?: string | null; + /** @description Name of the seller */ + name?: string | null; + /** @description Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant. */ + network_id: string; + /** @description Postal code where the seller is located */ + postal_code?: string | null; + /** @description State where the seller is located */ + state?: string | null; + /** @description An ID assigned by the seller to the location of the sale. */ + terminal_id?: string | null; + }; + /** IssuingAuthorizationNetworkData */ + issuing_authorization_network_data: { + /** @description Identifier assigned to the acquirer by the card network. Sometimes this value is not provided by the network; in this case, the value will be `null`. */ + acquiring_institution_id?: string | null; + }; + /** IssuingAuthorizationPendingRequest */ + issuing_authorization_pending_request: { + /** @description The additional amount Stripe will hold if the authorization is approved, in the card's [currency](https://stripe.com/docs/api#issuing_authorization_object-pending-request-currency) and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount: number; + /** @description Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount_details?: components["schemas"]["issuing_authorization_amount_details"] | null; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization. */ + is_amount_controllable: boolean; + /** @description The amount the merchant is requesting to be authorized in the `merchant_currency`. The amount is in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + merchant_amount: number; + /** @description The local currency the merchant is requesting to authorize. */ + merchant_currency: string; + }; + /** IssuingAuthorizationRequest */ + issuing_authorization_request: { + /** @description The `pending_request.amount` at the time of the request, presented in your card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Stripe held this amount from your account to fund the authorization if the request was approved. */ + amount: number; + /** @description Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount_details?: components["schemas"]["issuing_authorization_amount_details"] | null; + /** @description Whether this request was approved. */ + approved: boolean; + /** @description A code created by Stripe which is shared with the merchant to validate the authorization. This field will be populated if the authorization message was approved. The code is typically a six-digit number prefixed with ‘S’. For example, S498162. Please note that the code is not guaranteed to be unique across authorizations. */ + authorization_code?: string | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description The `pending_request.merchant_amount` at the time of the request, presented in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + merchant_amount: number; + /** @description The currency that was collected by the merchant and presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + merchant_currency: string; + /** + * @description When an authorization is approved or declined by you or by Stripe, this field provides additional detail on the reason for the outcome. + * @enum {string} + */ + reason: "account_disabled" | "card_active" | "card_inactive" | "cardholder_inactive" | "cardholder_verification_required" | "insufficient_funds" | "not_allowed" | "spending_controls" | "suspected_fraud" | "verification_failed" | "webhook_approved" | "webhook_declined" | "webhook_error" | "webhook_timeout"; + /** @description If approve/decline decision is directly responsed to the webhook with json payload and if the response is invalid (e.g., parsing errors), we surface the detailed message via this field. */ + reason_message?: string | null; + }; + /** IssuingAuthorizationTreasury */ + issuing_authorization_treasury: { + /** @description The array of [ReceivedCredits](https://stripe.com/docs/api/treasury/received_credits) associated with this authorization */ + received_credits: string[]; + /** @description The array of [ReceivedDebits](https://stripe.com/docs/api/treasury/received_debits) associated with this authorization */ + received_debits: string[]; + /** @description The Treasury [Transaction](https://stripe.com/docs/api/treasury/transactions) associated with this authorization */ + transaction?: string | null; + }; + /** IssuingAuthorizationVerificationData */ + issuing_authorization_verification_data: { + /** + * @description Whether the cardholder provided an address first line and if it matched the cardholder’s `billing.address.line1`. + * @enum {string} + */ + address_line1_check: "match" | "mismatch" | "not_provided"; + /** + * @description Whether the cardholder provided a postal code and if it matched the cardholder’s `billing.address.postal_code`. + * @enum {string} + */ + address_postal_code_check: "match" | "mismatch" | "not_provided"; + /** + * @description Whether the cardholder provided a CVC and if it matched Stripe’s record. + * @enum {string} + */ + cvc_check: "match" | "mismatch" | "not_provided"; + /** + * @description Whether the cardholder provided an expiry date and if it matched Stripe’s record. + * @enum {string} + */ + expiry_check: "match" | "mismatch" | "not_provided"; + }; + /** IssuingCardApplePay */ + issuing_card_apple_pay: { + /** @description Apple Pay Eligibility */ + eligible: boolean; + /** + * @description Reason the card is ineligible for Apple Pay + * @enum {string|null} + */ + ineligible_reason?: "missing_agreement" | "missing_cardholder_contact" | "unsupported_region"; + }; + /** IssuingCardAuthorizationControls */ + issuing_card_authorization_controls: { + /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. */ + allowed_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[] | null; + /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. */ + blocked_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[] | null; + /** @description Limit spending with amount-based rules that apply across any cards this card replaced (i.e., its `replacement_for` card and _that_ card's `replacement_for` card, up the chain). */ + spending_limits?: components["schemas"]["issuing_card_spending_limit"][] | null; + /** @description Currency of the amounts within `spending_limits`. Always the same as the currency of the card. */ + spending_limits_currency?: string | null; + }; + /** IssuingCardGooglePay */ + issuing_card_google_pay: { + /** @description Google Pay Eligibility */ + eligible: boolean; + /** + * @description Reason the card is ineligible for Google Pay + * @enum {string|null} + */ + ineligible_reason?: "missing_agreement" | "missing_cardholder_contact" | "unsupported_region"; + }; + /** IssuingCardShipping */ + issuing_card_shipping: { + address: components["schemas"]["address"]; + /** + * @description The delivery company that shipped a card. + * @enum {string|null} + */ + carrier?: "dhl" | "fedex" | "royal_mail" | "usps"; + /** @description Additional information that may be required for clearing customs. */ + customs?: components["schemas"]["issuing_card_shipping_customs"] | null; + /** + * Format: unix-time + * @description A unix timestamp representing a best estimate of when the card will be delivered. + */ + eta?: number | null; + /** @description Recipient name. */ + name: string; + /** @description The phone number of the receiver of the shipment. Our courier partners will use this number to contact you in the event of card delivery issues. For individual shipments to the EU/UK, if this field is empty, we will provide them with the phone number provided when the cardholder was initially created. */ + phone_number?: string | null; + /** @description Whether a signature is required for card delivery. This feature is only supported for US users. Standard shipping service does not support signature on delivery. The default value for standard shipping service is false and for express and priority services is true. */ + require_signature?: boolean | null; + /** + * @description Shipment service, such as `standard` or `express`. + * @enum {string} + */ + service: "express" | "priority" | "standard"; + /** + * @description The delivery status of the card. + * @enum {string|null} + */ + status?: "canceled" | "delivered" | "failure" | "pending" | "returned" | "shipped"; + /** @description A tracking number for a card shipment. */ + tracking_number?: string | null; + /** @description A link to the shipping carrier's site where you can view detailed information about a card shipment. */ + tracking_url?: string | null; + /** + * @description Packaging options. + * @enum {string} + */ + type: "bulk" | "individual"; + }; + /** IssuingCardShippingCustoms */ + issuing_card_shipping_customs: { + /** @description A registration number used for customs in Europe. See [https://www.gov.uk/eori](https://www.gov.uk/eori) for the UK and [https://ec.europa.eu/taxation_customs/business/customs-procedures-import-and-export/customs-procedures/economic-operators-registration-and-identification-number-eori_en](https://ec.europa.eu/taxation_customs/business/customs-procedures-import-and-export/customs-procedures/economic-operators-registration-and-identification-number-eori_en) for the EU. */ + eori_number?: string | null; + }; + /** IssuingCardSpendingLimit */ + issuing_card_spending_limit: { + /** @description Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount: number; + /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. */ + categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[] | null; + /** + * @description Interval (or event) to which the amount applies. + * @enum {string} + */ + interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; + }; + /** IssuingCardWallets */ + issuing_card_wallets: { + apple_pay: components["schemas"]["issuing_card_apple_pay"]; + google_pay: components["schemas"]["issuing_card_google_pay"]; + /** @description Unique identifier for a card used with digital wallets */ + primary_account_identifier?: string | null; + }; + /** IssuingCardholderAddress */ + issuing_cardholder_address: { + address: components["schemas"]["address"]; + }; + /** IssuingCardholderAuthorizationControls */ + issuing_cardholder_authorization_controls: { + /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. */ + allowed_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[] | null; + /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. */ + blocked_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[] | null; + /** @description Limit spending with amount-based rules that apply across this cardholder's cards. */ + spending_limits?: components["schemas"]["issuing_cardholder_spending_limit"][] | null; + /** @description Currency of the amounts within `spending_limits`. */ + spending_limits_currency?: string | null; + }; + /** IssuingCardholderCardIssuing */ + issuing_cardholder_card_issuing: { + /** @description Information about cardholder acceptance of [Authorized User Terms](https://stripe.com/docs/issuing/cards). */ + user_terms_acceptance?: components["schemas"]["issuing_cardholder_user_terms_acceptance"] | null; + }; + /** IssuingCardholderCompany */ + issuing_cardholder_company: { + /** @description Whether the company's business ID number was provided. */ + tax_id_provided: boolean; + }; + /** IssuingCardholderIdDocument */ + issuing_cardholder_id_document: { + /** @description The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. */ + back?: (string | components["schemas"]["file"]) | null; + /** @description The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. */ + front?: (string | components["schemas"]["file"]) | null; + }; + /** IssuingCardholderIndividual */ + issuing_cardholder_individual: { + /** @description Information related to the card_issuing program for this cardholder. */ + card_issuing?: components["schemas"]["issuing_cardholder_card_issuing"] | null; + /** @description The date of birth of this cardholder. */ + dob?: components["schemas"]["issuing_cardholder_individual_dob"] | null; + /** @description The first name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. */ + first_name?: string | null; + /** @description The last name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. */ + last_name?: string | null; + /** @description Government-issued ID document for this cardholder. */ + verification?: components["schemas"]["issuing_cardholder_verification"] | null; + }; + /** IssuingCardholderIndividualDOB */ + issuing_cardholder_individual_dob: { + /** @description The day of birth, between 1 and 31. */ + day?: number | null; + /** @description The month of birth, between 1 and 12. */ + month?: number | null; + /** @description The four-digit year of birth. */ + year?: number | null; + }; + /** IssuingCardholderRequirements */ + issuing_cardholder_requirements: { + /** + * @description If `disabled_reason` is present, all cards will decline authorizations with `cardholder_verification_required` reason. + * @enum {string|null} + */ + disabled_reason?: "listed" | "rejected.listed" | "requirements.past_due" | "under_review"; + /** @description Array of fields that need to be collected in order to verify and re-enable the cardholder. */ + past_due?: ("company.tax_id" | "individual.card_issuing.user_terms_acceptance.date" | "individual.card_issuing.user_terms_acceptance.ip" | "individual.dob.day" | "individual.dob.month" | "individual.dob.year" | "individual.first_name" | "individual.last_name" | "individual.verification.document")[] | null; + }; + /** IssuingCardholderSpendingLimit */ + issuing_cardholder_spending_limit: { + /** @description Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount: number; + /** @description Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. */ + categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[] | null; + /** + * @description Interval (or event) to which the amount applies. + * @enum {string} + */ + interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; + }; + /** IssuingCardholderUserTermsAcceptance */ + issuing_cardholder_user_terms_acceptance: { + /** + * Format: unix-time + * @description The Unix timestamp marking when the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users. + */ + date?: number | null; + /** @description The IP address from which the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users. */ + ip?: string | null; + /** @description The user agent of the browser from which the cardholder accepted the Authorized User Terms. */ + user_agent?: string | null; + }; + /** IssuingCardholderVerification */ + issuing_cardholder_verification: { + /** @description An identifying document, either a passport or local ID card. */ + document?: components["schemas"]["issuing_cardholder_id_document"] | null; + }; + /** IssuingDisputeCanceledEvidence */ + issuing_dispute_canceled_evidence: { + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ + additional_documentation?: (string | components["schemas"]["file"]) | null; + /** + * Format: unix-time + * @description Date when order was canceled. + */ + canceled_at?: number | null; + /** @description Whether the cardholder was provided with a cancellation policy. */ + cancellation_policy_provided?: boolean | null; + /** @description Reason for canceling the order. */ + cancellation_reason?: string | null; + /** + * Format: unix-time + * @description Date when the cardholder expected to receive the product. + */ + expected_at?: number | null; + /** @description Explanation of why the cardholder is disputing this transaction. */ + explanation?: string | null; + /** @description Description of the merchandise or service that was purchased. */ + product_description?: string | null; + /** + * @description Whether the product was a merchandise or service. + * @enum {string|null} + */ + product_type?: "merchandise" | "service"; + /** + * @description Result of cardholder's attempt to return the product. + * @enum {string|null} + */ + return_status?: "merchant_rejected" | "successful"; + /** + * Format: unix-time + * @description Date when the product was returned or attempted to be returned. + */ + returned_at?: number | null; + }; + /** IssuingDisputeDuplicateEvidence */ + issuing_dispute_duplicate_evidence: { + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ + additional_documentation?: (string | components["schemas"]["file"]) | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the card statement showing that the product had already been paid for. */ + card_statement?: (string | components["schemas"]["file"]) | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the receipt showing that the product had been paid for in cash. */ + cash_receipt?: (string | components["schemas"]["file"]) | null; + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Image of the front and back of the check that was used to pay for the product. */ + check_image?: (string | components["schemas"]["file"]) | null; + /** @description Explanation of why the cardholder is disputing this transaction. */ + explanation?: string | null; + /** @description Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one. */ + original_transaction?: string | null; + }; + /** IssuingDisputeEvidence */ + issuing_dispute_evidence: { + canceled?: components["schemas"]["issuing_dispute_canceled_evidence"]; + duplicate?: components["schemas"]["issuing_dispute_duplicate_evidence"]; + fraudulent?: components["schemas"]["issuing_dispute_fraudulent_evidence"]; + merchandise_not_as_described?: components["schemas"]["issuing_dispute_merchandise_not_as_described_evidence"]; + not_received?: components["schemas"]["issuing_dispute_not_received_evidence"]; + other?: components["schemas"]["issuing_dispute_other_evidence"]; + /** + * @description The reason for filing the dispute. Its value will match the field containing the evidence. + * @enum {string} + */ + reason: "canceled" | "duplicate" | "fraudulent" | "merchandise_not_as_described" | "not_received" | "other" | "service_not_as_described"; + service_not_as_described?: components["schemas"]["issuing_dispute_service_not_as_described_evidence"]; + }; + /** IssuingDisputeFraudulentEvidence */ + issuing_dispute_fraudulent_evidence: { + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ + additional_documentation?: (string | components["schemas"]["file"]) | null; + /** @description Explanation of why the cardholder is disputing this transaction. */ + explanation?: string | null; + }; + /** IssuingDisputeMerchandiseNotAsDescribedEvidence */ + issuing_dispute_merchandise_not_as_described_evidence: { + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ + additional_documentation?: (string | components["schemas"]["file"]) | null; + /** @description Explanation of why the cardholder is disputing this transaction. */ + explanation?: string | null; + /** + * Format: unix-time + * @description Date when the product was received. + */ + received_at?: number | null; + /** @description Description of the cardholder's attempt to return the product. */ + return_description?: string | null; + /** + * @description Result of cardholder's attempt to return the product. + * @enum {string|null} + */ + return_status?: "merchant_rejected" | "successful"; + /** + * Format: unix-time + * @description Date when the product was returned or attempted to be returned. + */ + returned_at?: number | null; + }; + /** IssuingDisputeNotReceivedEvidence */ + issuing_dispute_not_received_evidence: { + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ + additional_documentation?: (string | components["schemas"]["file"]) | null; + /** + * Format: unix-time + * @description Date when the cardholder expected to receive the product. + */ + expected_at?: number | null; + /** @description Explanation of why the cardholder is disputing this transaction. */ + explanation?: string | null; + /** @description Description of the merchandise or service that was purchased. */ + product_description?: string | null; + /** + * @description Whether the product was a merchandise or service. + * @enum {string|null} + */ + product_type?: "merchandise" | "service"; + }; + /** IssuingDisputeOtherEvidence */ + issuing_dispute_other_evidence: { + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ + additional_documentation?: (string | components["schemas"]["file"]) | null; + /** @description Explanation of why the cardholder is disputing this transaction. */ + explanation?: string | null; + /** @description Description of the merchandise or service that was purchased. */ + product_description?: string | null; + /** + * @description Whether the product was a merchandise or service. + * @enum {string|null} + */ + product_type?: "merchandise" | "service"; + }; + /** IssuingDisputeServiceNotAsDescribedEvidence */ + issuing_dispute_service_not_as_described_evidence: { + /** @description (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. */ + additional_documentation?: (string | components["schemas"]["file"]) | null; + /** + * Format: unix-time + * @description Date when order was canceled. + */ + canceled_at?: number | null; + /** @description Reason for canceling the order. */ + cancellation_reason?: string | null; + /** @description Explanation of why the cardholder is disputing this transaction. */ + explanation?: string | null; + /** + * Format: unix-time + * @description Date when the product was received. + */ + received_at?: number | null; + }; + /** IssuingDisputeTreasury */ + issuing_dispute_treasury: { + /** @description The Treasury [DebitReversal](https://stripe.com/docs/api/treasury/debit_reversals) representing this Issuing dispute */ + debit_reversal?: string | null; + /** @description The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) that is being disputed. */ + received_debit: string; + }; + /** IssuingTransactionAmountDetails */ + issuing_transaction_amount_details: { + /** @description The fee charged by the ATM for the cash withdrawal. */ + atm_fee?: number | null; + /** @description The amount of cash requested by the cardholder. */ + cashback_amount?: number | null; + }; + /** IssuingTransactionFlightData */ + issuing_transaction_flight_data: { + /** @description The time that the flight departed. */ + departure_at?: number | null; + /** @description The name of the passenger. */ + passenger_name?: string | null; + /** @description Whether the ticket is refundable. */ + refundable?: boolean | null; + /** @description The legs of the trip. */ + segments?: components["schemas"]["issuing_transaction_flight_data_leg"][] | null; + /** @description The travel agency that issued the ticket. */ + travel_agency?: string | null; + }; + /** IssuingTransactionFlightDataLeg */ + issuing_transaction_flight_data_leg: { + /** @description The three-letter IATA airport code of the flight's destination. */ + arrival_airport_code?: string | null; + /** @description The airline carrier code. */ + carrier?: string | null; + /** @description The three-letter IATA airport code that the flight departed from. */ + departure_airport_code?: string | null; + /** @description The flight number. */ + flight_number?: string | null; + /** @description The flight's service class. */ + service_class?: string | null; + /** @description Whether a stopover is allowed on this flight. */ + stopover_allowed?: boolean | null; + }; + /** IssuingTransactionFuelData */ + issuing_transaction_fuel_data: { + /** @description The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. */ + type: string; + /** @description The units for `volume_decimal`. One of `us_gallon` or `liter`. */ + unit: string; + /** + * Format: decimal + * @description The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. + */ + unit_cost_decimal: string; + /** + * Format: decimal + * @description The volume of the fuel that was pumped, represented as a decimal string with at most 12 decimal places. + */ + volume_decimal?: string | null; + }; + /** IssuingTransactionLodgingData */ + issuing_transaction_lodging_data: { + /** @description The time of checking into the lodging. */ + check_in_at?: number | null; + /** @description The number of nights stayed at the lodging. */ + nights?: number | null; + }; + /** IssuingTransactionPurchaseDetails */ + issuing_transaction_purchase_details: { + /** @description Information about the flight that was purchased with this transaction. */ + flight?: components["schemas"]["issuing_transaction_flight_data"] | null; + /** @description Information about fuel that was purchased with this transaction. */ + fuel?: components["schemas"]["issuing_transaction_fuel_data"] | null; + /** @description Information about lodging that was purchased with this transaction. */ + lodging?: components["schemas"]["issuing_transaction_lodging_data"] | null; + /** @description The line items in the purchase. */ + receipt?: components["schemas"]["issuing_transaction_receipt_data"][] | null; + /** @description A merchant-specific order number. */ + reference?: string | null; + }; + /** IssuingTransactionReceiptData */ + issuing_transaction_receipt_data: { + /** @description The description of the item. The maximum length of this field is 26 characters. */ + description?: string | null; + /** @description The quantity of the item. */ + quantity?: number | null; + /** @description The total for this line item in cents. */ + total?: number | null; + /** @description The unit cost of the item in cents. */ + unit_cost?: number | null; + }; + /** IssuingTransactionTreasury */ + issuing_transaction_treasury: { + /** @description The Treasury [ReceivedCredit](https://stripe.com/docs/api/treasury/received_credits) representing this Issuing transaction if it is a refund */ + received_credit?: string | null; + /** @description The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) representing this Issuing transaction if it is a capture */ + received_debit?: string | null; + }; + /** + * LineItem + * @description A line item. + */ + item: { + /** @description Total discount amount applied. If no discounts were applied, defaults to 0. */ + amount_discount: number; + /** @description Total before any discounts or taxes are applied. */ + amount_subtotal: number; + /** @description Total tax amount applied. If no tax was applied, defaults to 0. */ + amount_tax: number; + /** @description Total after discounts and taxes. */ + amount_total: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name. */ + description: string; + /** @description The discounts applied to the line item. */ + discounts?: components["schemas"]["line_items_discount_amount"][]; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "item"; + /** @description The price used to generate the line item. */ + price?: components["schemas"]["price"] | null; + /** @description The quantity of products being purchased. */ + quantity?: number | null; + /** @description The taxes applied to the line item. */ + taxes?: components["schemas"]["line_items_tax_amount"][]; + }; + /** LegalEntityCompany */ + legal_entity_company: { + address?: components["schemas"]["address"]; + /** @description The Kana variation of the company's primary address (Japan only). */ + address_kana?: components["schemas"]["legal_entity_japan_address"] | null; + /** @description The Kanji variation of the company's primary address (Japan only). */ + address_kanji?: components["schemas"]["legal_entity_japan_address"] | null; + /** @description Whether the company's directors have been provided. This Boolean will be `true` if you've manually indicated that all directors are provided via [the `directors_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-directors_provided). */ + directors_provided?: boolean; + /** @description Whether the company's executives have been provided. This Boolean will be `true` if you've manually indicated that all executives are provided via [the `executives_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-executives_provided), or if Stripe determined that sufficient executives were provided. */ + executives_provided?: boolean; + /** @description The export license ID number of the company, also referred as Import Export Code (India only). */ + export_license_id?: string; + /** @description The purpose code to use for export transactions (India only). */ + export_purpose_code?: string; + /** @description The company's legal name. */ + name?: string | null; + /** @description The Kana variation of the company's legal name (Japan only). */ + name_kana?: string | null; + /** @description The Kanji variation of the company's legal name (Japan only). */ + name_kanji?: string | null; + /** @description Whether the company's owners have been provided. This Boolean will be `true` if you've manually indicated that all owners are provided via [the `owners_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-owners_provided), or if Stripe determined that sufficient owners were provided. Stripe determines ownership requirements using both the number of owners provided and their total percent ownership (calculated by adding the `percent_ownership` of each owner together). */ + owners_provided?: boolean; + /** @description This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct. */ + ownership_declaration?: components["schemas"]["legal_entity_ubo_declaration"] | null; + /** @description The company's phone number (used for verification). */ + phone?: string | null; + /** + * @description The category identifying the legal structure of the company or legal entity. See [Business structure](https://stripe.com/docs/connect/identity-verification#business-structure) for more details. + * @enum {string} + */ + structure?: "free_zone_establishment" | "free_zone_llc" | "government_instrumentality" | "governmental_unit" | "incorporated_non_profit" | "incorporated_partnership" | "limited_liability_partnership" | "llc" | "multi_member_llc" | "private_company" | "private_corporation" | "private_partnership" | "public_company" | "public_corporation" | "public_partnership" | "single_member_llc" | "sole_establishment" | "sole_proprietorship" | "tax_exempt_government_instrumentality" | "unincorporated_association" | "unincorporated_non_profit" | "unincorporated_partnership"; + /** @description Whether the company's business ID number was provided. */ + tax_id_provided?: boolean; + /** @description The jurisdiction in which the `tax_id` is registered (Germany-based companies only). */ + tax_id_registrar?: string; + /** @description Whether the company's business VAT number was provided. */ + vat_id_provided?: boolean; + /** @description Information on the verification state of the company. */ + verification?: components["schemas"]["legal_entity_company_verification"] | null; + }; + /** LegalEntityCompanyVerification */ + legal_entity_company_verification: { + document: components["schemas"]["legal_entity_company_verification_document"]; + }; + /** LegalEntityCompanyVerificationDocument */ + legal_entity_company_verification_document: { + /** @description The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. */ + back?: (string | components["schemas"]["file"]) | null; + /** @description A user-displayable string describing the verification state of this document. */ + details?: string | null; + /** @description One of `document_corrupt`, `document_expired`, `document_failed_copy`, `document_failed_greyscale`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_not_readable`, `document_not_uploaded`, `document_type_not_supported`, or `document_too_large`. A machine-readable code specifying the verification state for this document. */ + details_code?: string | null; + /** @description The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. */ + front?: (string | components["schemas"]["file"]) | null; + }; + /** LegalEntityDOB */ + legal_entity_dob: { + /** @description The day of birth, between 1 and 31. */ + day?: number | null; + /** @description The month of birth, between 1 and 12. */ + month?: number | null; + /** @description The four-digit year of birth. */ + year?: number | null; + }; + /** LegalEntityJapanAddress */ + legal_entity_japan_address: { + /** @description City/Ward. */ + city?: string | null; + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country?: string | null; + /** @description Block/Building number. */ + line1?: string | null; + /** @description Building details. */ + line2?: string | null; + /** @description ZIP or postal code. */ + postal_code?: string | null; + /** @description Prefecture. */ + state?: string | null; + /** @description Town/cho-me. */ + town?: string | null; + }; + /** LegalEntityPersonVerification */ + legal_entity_person_verification: { + /** @description A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. */ + additional_document?: components["schemas"]["legal_entity_person_verification_document"] | null; + /** @description A user-displayable string describing the verification state for the person. For example, this may say "Provided identity information could not be verified". */ + details?: string | null; + /** @description One of `document_address_mismatch`, `document_dob_mismatch`, `document_duplicate_type`, `document_id_number_mismatch`, `document_name_mismatch`, `document_nationality_mismatch`, `failed_keyed_identity`, or `failed_other`. A machine-readable code specifying the verification state for the person. */ + details_code?: string | null; + document?: components["schemas"]["legal_entity_person_verification_document"]; + /** @description The state of verification for the person. Possible values are `unverified`, `pending`, or `verified`. */ + status: string; + }; + /** LegalEntityPersonVerificationDocument */ + legal_entity_person_verification_document: { + /** @description The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. */ + back?: (string | components["schemas"]["file"]) | null; + /** @description A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say "Identity document is too unclear to read". */ + details?: string | null; + /** @description One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document. */ + details_code?: string | null; + /** @description The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. */ + front?: (string | components["schemas"]["file"]) | null; + }; + /** LegalEntityUBODeclaration */ + legal_entity_ubo_declaration: { + /** + * Format: unix-time + * @description The Unix timestamp marking when the beneficial owner attestation was made. + */ + date?: number | null; + /** @description The IP address from which the beneficial owner attestation was made. */ + ip?: string | null; + /** @description The user-agent string from the browser where the beneficial owner attestation was made. */ + user_agent?: string | null; + }; + /** InvoiceLineItem */ + line_item: { + /** @description The amount, in cents (or local equivalent). */ + amount: number; + /** @description The integer amount in cents (or local equivalent) representing the amount for this line item, excluding all tax and discounts. */ + amount_excluding_tax?: number | null; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description The amount of discount calculated per discount for this line item. */ + discount_amounts?: components["schemas"]["discounts_resource_discount_amount"][] | null; + /** @description If true, discounts will apply to this line item. Always false for prorations. */ + discountable: boolean; + /** @description The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount. */ + discounts?: (string | components["schemas"]["discount"])[] | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description The ID of the [invoice item](https://stripe.com/docs/api/invoiceitems) associated with this line item if any. */ + invoice_item?: string | components["schemas"]["invoiceitem"]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type=subscription` this will reflect the metadata of the subscription that caused the line item to be created. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "line_item"; + period: components["schemas"]["invoice_line_item_period"]; + /** @description The price of the line item. */ + price?: components["schemas"]["price"] | null; + /** @description Whether this is a proration. */ + proration: boolean; + /** @description Additional details for proration line items */ + proration_details?: components["schemas"]["invoices_resource_line_items_proration_details"] | null; + /** @description The quantity of the subscription, if the line item is a subscription or a proration. */ + quantity?: number | null; + /** @description The subscription that the invoice item pertains to, if any. */ + subscription?: (string | components["schemas"]["subscription"]) | null; + /** @description The subscription item that generated this line item. Left empty if the line item is not an explicit result of a subscription. */ + subscription_item?: string | components["schemas"]["subscription_item"]; + /** @description The amount of tax calculated per tax rate for this line item */ + tax_amounts?: components["schemas"]["invoice_tax_amount"][]; + /** @description The tax rates which apply to the line item. */ + tax_rates?: components["schemas"]["tax_rate"][]; + /** + * @description A string identifying the type of the source of this line item, either an `invoiceitem` or a `subscription`. + * @enum {string} + */ + type: "invoiceitem" | "subscription"; + /** + * Format: decimal + * @description The amount in cents (or local equivalent) representing the unit amount for this line item, excluding all tax and discounts. + */ + unit_amount_excluding_tax?: string | null; + }; + /** LineItemsDiscountAmount */ + line_items_discount_amount: { + /** @description The amount discounted. */ + amount: number; + discount: components["schemas"]["discount"]; + }; + /** LineItemsTaxAmount */ + line_items_tax_amount: { + /** @description Amount of tax applied for this rate. */ + amount: number; + rate: components["schemas"]["tax_rate"]; + /** + * @description The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. + * @enum {string|null} + */ + taxability_reason?: "customer_exempt" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated"; + /** @description The amount on which tax is calculated, in cents (or local equivalent). */ + taxable_amount?: number | null; + }; + /** linked_account_options_us_bank_account */ + linked_account_options_us_bank_account: { + /** @description The list of permissions to request. The `payment_method` permission must be included. */ + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + /** @description Data features requested to be retrieved upon account creation. */ + prefetch?: "balances"[] | null; + /** @description For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. */ + return_url?: string; + }; + /** + * LoginLink + * @description Login Links are single-use login link for an Express account to access their Stripe dashboard. + */ + login_link: { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "login_link"; + /** @description The URL for the login link. */ + url: string; + }; + /** + * Mandate + * @description A Mandate is a record of the permission that your customer gives you to debit their payment method. + */ + mandate: { + customer_acceptance: components["schemas"]["customer_acceptance"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + multi_use?: components["schemas"]["mandate_multi_use"]; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "mandate"; + /** @description The account (if any) that the mandate is intended for. */ + on_behalf_of?: string; + /** @description ID of the payment method associated with this mandate. */ + payment_method: string | components["schemas"]["payment_method"]; + payment_method_details: components["schemas"]["mandate_payment_method_details"]; + single_use?: components["schemas"]["mandate_single_use"]; + /** + * @description The mandate status indicates whether or not you can use it to initiate a payment. + * @enum {string} + */ + status: "active" | "inactive" | "pending"; + /** + * @description The type of the mandate. + * @enum {string} + */ + type: "multi_use" | "single_use"; + }; + /** mandate_acss_debit */ + mandate_acss_debit: { + /** @description List of Stripe products where this mandate can be selected automatically. */ + default_for?: ("invoice" | "subscription")[]; + /** @description Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. */ + interval_description?: string | null; + /** + * @description Payment schedule for the mandate. + * @enum {string} + */ + payment_schedule: "combined" | "interval" | "sporadic"; + /** + * @description Transaction type of the mandate. + * @enum {string} + */ + transaction_type: "business" | "personal"; + }; + /** mandate_au_becs_debit */ + mandate_au_becs_debit: { + /** @description The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively. */ + url: string; + }; + /** mandate_bacs_debit */ + mandate_bacs_debit: { + /** + * @description The status of the mandate on the Bacs network. Can be one of `pending`, `revoked`, `refused`, or `accepted`. + * @enum {string} + */ + network_status: "accepted" | "pending" | "refused" | "revoked"; + /** @description The unique reference identifying the mandate on the Bacs network. */ + reference: string; + /** @description The URL that will contain the mandate that the customer has signed. */ + url: string; + }; + /** mandate_cashapp */ + mandate_cashapp: Record; + /** mandate_link */ + mandate_link: Record; + /** mandate_multi_use */ + mandate_multi_use: Record; + /** mandate_payment_method_details */ + mandate_payment_method_details: { + acss_debit?: components["schemas"]["mandate_acss_debit"]; + au_becs_debit?: components["schemas"]["mandate_au_becs_debit"]; + bacs_debit?: components["schemas"]["mandate_bacs_debit"]; + card?: components["schemas"]["card_mandate_payment_method_details"]; + cashapp?: components["schemas"]["mandate_cashapp"]; + link?: components["schemas"]["mandate_link"]; + paypal?: components["schemas"]["mandate_paypal"]; + sepa_debit?: components["schemas"]["mandate_sepa_debit"]; + /** @description This mandate corresponds with a specific payment method type. The `payment_method_details` includes an additional hash with the same name and contains mandate information that's specific to that payment method. */ + type: string; + us_bank_account?: components["schemas"]["mandate_us_bank_account"]; + }; + /** mandate_paypal */ + mandate_paypal: { + /** @description The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. */ + billing_agreement_id?: string | null; + /** @description PayPal account PayerID. This identifier uniquely identifies the PayPal customer. */ + payer_id?: string | null; + }; + /** mandate_sepa_debit */ + mandate_sepa_debit: { + /** @description The unique reference of the mandate. */ + reference: string; + /** @description The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively. */ + url: string; + }; + /** mandate_single_use */ + mandate_single_use: { + /** @description The amount of the payment on a single use mandate. */ + amount: number; + /** @description The currency of the payment on a single use mandate. */ + currency: string; + }; + /** mandate_us_bank_account */ + mandate_us_bank_account: Record; + /** networks */ + networks: { + /** @description All available networks for the card. */ + available: string[]; + /** @description The preferred network for the card. */ + preferred?: string | null; + }; + /** NotificationEventData */ + notification_event_data: { + /** @description Object containing the API resource relevant to the event. For example, an `invoice.created` event will have a full [invoice object](https://stripe.com/docs/api#invoice_object) as the value of the object key. */ + object: Record; + /** @description Object containing the names of the updated attributes and their values prior to the event (only included in events of type `*.updated`). If an array attribute has any updated elements, this object contains the entire array. In Stripe API versions 2017-04-06 or earlier, an updated array attribute in this object includes only the updated array elements. */ + previous_attributes?: Record; + }; + /** NotificationEventRequest */ + notification_event_request: { + /** @description ID of the API request that caused the event. If null, the event was automatic (e.g., Stripe's automatic subscription handling). Request logs are available in the [dashboard](https://dashboard.stripe.com/logs), but currently not in the API. */ + id?: string | null; + /** @description The idempotency key transmitted during the request, if any. *Note: This property is populated only for events on or after May 23, 2017*. */ + idempotency_key?: string | null; + }; + /** offline_acceptance */ + offline_acceptance: Record; + /** online_acceptance */ + online_acceptance: { + /** @description The customer accepts the mandate from this IP address. */ + ip_address?: string | null; + /** @description The customer accepts the mandate using the user agent of the browser. */ + user_agent?: string | null; + }; + /** OutboundPaymentsPaymentMethodDetails */ + outbound_payments_payment_method_details: { + billing_details: components["schemas"]["treasury_shared_resource_billing_details"]; + financial_account?: components["schemas"]["outbound_payments_payment_method_details_financial_account"]; + /** + * @description The type of the payment method used in the OutboundPayment. + * @enum {string} + */ + type: "financial_account" | "us_bank_account"; + us_bank_account?: components["schemas"]["outbound_payments_payment_method_details_us_bank_account"]; + }; + /** outbound_payments_payment_method_details_financial_account */ + outbound_payments_payment_method_details_financial_account: { + /** @description Token of the FinancialAccount. */ + id: string; + /** + * @description The rails used to send funds. + * @enum {string} + */ + network: "stripe"; + }; + /** outbound_payments_payment_method_details_us_bank_account */ + outbound_payments_payment_method_details_us_bank_account: { + /** + * @description Account holder type: individual or company. + * @enum {string|null} + */ + account_holder_type?: "company" | "individual"; + /** + * @description Account type: checkings or savings. Defaults to checking if omitted. + * @enum {string|null} + */ + account_type?: "checking" | "savings"; + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + /** + * @description The US bank account network used to send funds. + * @enum {string} + */ + network: "ach" | "us_domestic_wire"; + /** @description Routing number of the bank account. */ + routing_number?: string | null; + }; + /** OutboundTransfersPaymentMethodDetails */ + outbound_transfers_payment_method_details: { + billing_details: components["schemas"]["treasury_shared_resource_billing_details"]; + /** + * @description The type of the payment method used in the OutboundTransfer. + * @enum {string} + */ + type: "us_bank_account"; + us_bank_account?: components["schemas"]["outbound_transfers_payment_method_details_us_bank_account"]; + }; + /** outbound_transfers_payment_method_details_us_bank_account */ + outbound_transfers_payment_method_details_us_bank_account: { + /** + * @description Account holder type: individual or company. + * @enum {string|null} + */ + account_holder_type?: "company" | "individual"; + /** + * @description Account type: checkings or savings. Defaults to checking if omitted. + * @enum {string|null} + */ + account_type?: "checking" | "savings"; + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + /** + * @description The US bank account network used to send funds. + * @enum {string} + */ + network: "ach" | "us_domestic_wire"; + /** @description Routing number of the bank account. */ + routing_number?: string | null; + }; + /** PackageDimensions */ + package_dimensions: { + /** @description Height, in inches. */ + height: number; + /** @description Length, in inches. */ + length: number; + /** @description Weight, in ounces. */ + weight: number; + /** @description Width, in inches. */ + width: number; + }; + /** PaymentFlowsAmountDetails */ + payment_flows_amount_details: { + tip?: components["schemas"]["payment_flows_amount_details_resource_tip"]; + }; + /** PaymentFlowsAmountDetailsResourceTip */ + payment_flows_amount_details_resource_tip: { + /** @description Portion of the amount that corresponds to a tip. */ + amount?: number; + }; + /** PaymentFlowsAutomaticPaymentMethodsPaymentIntent */ + payment_flows_automatic_payment_methods_payment_intent: { + /** + * @description Controls whether this PaymentIntent will accept redirect-based payment methods. + * + * Redirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the payment. + * @enum {string} + */ + allow_redirects?: "always" | "never"; + /** @description Automatically calculates compatible payment methods */ + enabled: boolean; + }; + /** PaymentFlowsAutomaticPaymentMethodsSetupIntent */ + payment_flows_automatic_payment_methods_setup_intent: { + /** + * @description Controls whether this SetupIntent will accept redirect-based payment methods. + * + * Redirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/setup_intents/confirm) this SetupIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the setup. + * @enum {string} + */ + allow_redirects?: "always" | "never"; + /** @description Automatically calculates compatible payment methods */ + enabled?: boolean | null; + }; + /** PaymentFlowsInstallmentOptions */ + payment_flows_installment_options: { + enabled: boolean; + plan?: components["schemas"]["payment_method_details_card_installments_plan"]; + }; + /** PaymentFlowsPrivatePaymentMethodsAlipay */ + payment_flows_private_payment_methods_alipay: Record; + /** PaymentFlowsPrivatePaymentMethodsAlipayDetails */ + payment_flows_private_payment_methods_alipay_details: { + /** @description Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same. */ + buyer_id?: string; + /** @description Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same. */ + fingerprint?: string | null; + /** @description Transaction ID of this particular Alipay transaction. */ + transaction_id?: string | null; + }; + /** PaymentFlowsPrivatePaymentMethodsKlarnaDOB */ + payment_flows_private_payment_methods_klarna_dob: { + /** @description The day of birth, between 1 and 31. */ + day?: number | null; + /** @description The month of birth, between 1 and 12. */ + month?: number | null; + /** @description The four-digit year of birth. */ + year?: number | null; + }; + /** + * PaymentIntent + * @description A PaymentIntent guides you through the process of collecting a payment from your customer. + * We recommend that you create exactly one PaymentIntent for each order or + * customer session in your system. You can reference the PaymentIntent later to + * see the history of payment attempts for a particular session. + * + * A PaymentIntent transitions through + * [multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses) + * throughout its lifetime as it interfaces with Stripe.js to perform + * authentication flows and ultimately creates at most one successful charge. + * + * Related guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents) + */ + payment_intent: { + /** @description Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ + amount: number; + /** @description Amount that can be captured from this PaymentIntent. */ + amount_capturable?: number; + amount_details?: components["schemas"]["payment_flows_amount_details"]; + /** @description Amount that this PaymentIntent collects. */ + amount_received?: number; + /** @description ID of the Connect application that created the PaymentIntent. */ + application?: (string | components["schemas"]["application"]) | null; + /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ + application_fee_amount?: number | null; + /** @description Settings to configure compatible payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods) */ + automatic_payment_methods?: components["schemas"]["payment_flows_automatic_payment_methods_payment_intent"] | null; + /** + * Format: unix-time + * @description Populated when `status` is `canceled`, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch. + */ + canceled_at?: number | null; + /** + * @description Reason for cancellation of this PaymentIntent, either user-provided (`duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned`) or generated by Stripe internally (`failed_invoice`, `void_invoice`, or `automatic`). + * @enum {string|null} + */ + cancellation_reason?: "abandoned" | "automatic" | "duplicate" | "failed_invoice" | "fraudulent" | "requested_by_customer" | "void_invoice"; + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method: "automatic" | "automatic_async" | "manual"; + /** @description The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key. + * + * The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret. + * + * Refer to our docs to [accept a payment](https://stripe.com/docs/payments/accept-a-payment?ui=elements) and learn about how `client_secret` should be handled. */ + client_secret?: string | null; + /** @enum {string} */ + confirmation_method: "automatic" | "manual"; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description ID of the Customer this PaymentIntent belongs to, if one exists. + * + * Payment methods attached to other Customers cannot be used with this PaymentIntent. + * + * If present in combination with [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage), this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description ID of the invoice that created this PaymentIntent, if it exists. */ + invoice?: (string | components["schemas"]["invoice"]) | null; + /** @description The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason. */ + last_payment_error?: components["schemas"]["api_errors"] | null; + /** @description The latest charge created by this PaymentIntent. */ + latest_charge?: (string | components["schemas"]["charge"]) | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Learn more about [storing information in metadata](https://stripe.com/docs/payments/payment-intents/creating-payment-intents#storing-information-in-metadata). */ + metadata?: { + [key: string]: string; + }; + /** @description If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source. */ + next_action?: components["schemas"]["payment_intent_next_action"] | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "payment_intent"; + /** @description The account (if any) for which the funds of the PaymentIntent are intended. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details. */ + on_behalf_of?: (string | components["schemas"]["account"]) | null; + /** @description ID of the payment method used in this PaymentIntent. */ + payment_method?: (string | components["schemas"]["payment_method"]) | null; + /** @description Information about the payment method configuration used for this PaymentIntent. */ + payment_method_configuration_details?: components["schemas"]["payment_method_config_biz_payment_method_configuration_details"] | null; + /** @description Payment-method-specific configuration for this PaymentIntent. */ + payment_method_options?: components["schemas"]["payment_intent_payment_method_options"] | null; + /** @description The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. */ + payment_method_types: string[]; + /** @description If present, this property tells you about the processing state of the payment. */ + processing?: components["schemas"]["payment_intent_processing"] | null; + /** @description Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). */ + receipt_email?: string | null; + /** @description ID of the review associated with this PaymentIntent, if any. */ + review?: (string | components["schemas"]["review"]) | null; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string|null} + */ + setup_future_usage?: "off_session" | "on_session"; + /** @description Shipping information for this PaymentIntent. */ + shipping?: components["schemas"]["shipping"] | null; + /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ + statement_descriptor?: string | null; + /** @description Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ + statement_descriptor_suffix?: string | null; + /** + * @description Status of this PaymentIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `requires_capture`, `canceled`, or `succeeded`. Read more about each PaymentIntent [status](https://stripe.com/docs/payments/intents#intent-statuses). + * @enum {string} + */ + status: "canceled" | "processing" | "requires_action" | "requires_capture" | "requires_confirmation" | "requires_payment_method" | "succeeded"; + /** @description The data that automatically creates a Transfer after the payment finalizes. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ + transfer_data?: components["schemas"]["transfer_data"] | null; + /** @description A string that identifies the resulting payment as part of a group. Learn more about the [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers). */ + transfer_group?: string | null; + }; + /** PaymentIntentCardProcessing */ + payment_intent_card_processing: { + customer_notification?: components["schemas"]["payment_intent_processing_customer_notification"]; + }; + /** PaymentIntentNextAction */ + payment_intent_next_action: { + alipay_handle_redirect?: components["schemas"]["payment_intent_next_action_alipay_handle_redirect"]; + boleto_display_details?: components["schemas"]["payment_intent_next_action_boleto"]; + card_await_notification?: components["schemas"]["payment_intent_next_action_card_await_notification"]; + cashapp_handle_redirect_or_display_qr_code?: components["schemas"]["payment_intent_next_action_cashapp_handle_redirect_or_display_qr_code"]; + display_bank_transfer_instructions?: components["schemas"]["payment_intent_next_action_display_bank_transfer_instructions"]; + konbini_display_details?: components["schemas"]["payment_intent_next_action_konbini"]; + oxxo_display_details?: components["schemas"]["payment_intent_next_action_display_oxxo_details"]; + paynow_display_qr_code?: components["schemas"]["payment_intent_next_action_paynow_display_qr_code"]; + pix_display_qr_code?: components["schemas"]["payment_intent_next_action_pix_display_qr_code"]; + promptpay_display_qr_code?: components["schemas"]["payment_intent_next_action_promptpay_display_qr_code"]; + redirect_to_url?: components["schemas"]["payment_intent_next_action_redirect_to_url"]; + /** @description Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`. */ + type: string; + /** @description When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js. */ + use_stripe_sdk?: Record; + verify_with_microdeposits?: components["schemas"]["payment_intent_next_action_verify_with_microdeposits"]; + wechat_pay_display_qr_code?: components["schemas"]["payment_intent_next_action_wechat_pay_display_qr_code"]; + wechat_pay_redirect_to_android_app?: components["schemas"]["payment_intent_next_action_wechat_pay_redirect_to_android_app"]; + wechat_pay_redirect_to_ios_app?: components["schemas"]["payment_intent_next_action_wechat_pay_redirect_to_ios_app"]; + }; + /** PaymentIntentNextActionAlipayHandleRedirect */ + payment_intent_next_action_alipay_handle_redirect: { + /** @description The native data to be used with Alipay SDK you must redirect your customer to in order to authenticate the payment in an Android App. */ + native_data?: string | null; + /** @description The native URL you must redirect your customer to in order to authenticate the payment in an iOS App. */ + native_url?: string | null; + /** @description If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion. */ + return_url?: string | null; + /** @description The URL you must redirect your customer to in order to authenticate the payment. */ + url?: string | null; + }; + /** payment_intent_next_action_boleto */ + payment_intent_next_action_boleto: { + /** + * Format: unix-time + * @description The timestamp after which the boleto expires. + */ + expires_at?: number | null; + /** @description The URL to the hosted boleto voucher page, which allows customers to view the boleto voucher. */ + hosted_voucher_url?: string | null; + /** @description The boleto number. */ + number?: string | null; + /** @description The URL to the downloadable boleto voucher PDF. */ + pdf?: string | null; + }; + /** PaymentIntentNextActionCardAwaitNotification */ + payment_intent_next_action_card_await_notification: { + /** + * Format: unix-time + * @description The time that payment will be attempted. If customer approval is required, they need to provide approval before this time. + */ + charge_attempt_at?: number | null; + /** @description For payments greater than INR 15000, the customer must provide explicit approval of the payment with their bank. For payments of lower amount, no customer action is required. */ + customer_approval_required?: boolean | null; + }; + /** PaymentIntentNextActionCashappHandleRedirectOrDisplayQrCode */ + payment_intent_next_action_cashapp_handle_redirect_or_display_qr_code: { + /** @description The URL to the hosted Cash App Pay instructions page, which allows customers to view the QR code, and supports QR code refreshing on expiration. */ + hosted_instructions_url: string; + /** @description The url for mobile redirect based auth */ + mobile_auth_url: string; + qr_code: components["schemas"]["payment_intent_next_action_cashapp_qr_code"]; + }; + /** PaymentIntentNextActionCashappQRCode */ + payment_intent_next_action_cashapp_qr_code: { + /** + * Format: unix-time + * @description The date (unix timestamp) when the QR code expires. + */ + expires_at: number; + /** @description The image_url_png string used to render QR code */ + image_url_png: string; + /** @description The image_url_svg string used to render QR code */ + image_url_svg: string; + }; + /** PaymentIntentNextActionDisplayBankTransferInstructions */ + payment_intent_next_action_display_bank_transfer_instructions: { + /** @description The remaining amount that needs to be transferred to complete the payment. */ + amount_remaining?: number | null; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string | null; + /** @description A list of financial addresses that can be used to fund the customer balance */ + financial_addresses?: components["schemas"]["funding_instructions_bank_transfer_financial_address"][]; + /** @description A link to a hosted page that guides your customer through completing the transfer. */ + hosted_instructions_url?: string | null; + /** @description A string identifying this payment. Instruct your customer to include this code in the reference or memo field of their bank transfer. */ + reference?: string | null; + /** + * @description Type of bank transfer + * @enum {string} + */ + type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; + }; + /** PaymentIntentNextActionDisplayOxxoDetails */ + payment_intent_next_action_display_oxxo_details: { + /** + * Format: unix-time + * @description The timestamp after which the OXXO voucher expires. + */ + expires_after?: number | null; + /** @description The URL for the hosted OXXO voucher page, which allows customers to view and print an OXXO voucher. */ + hosted_voucher_url?: string | null; + /** @description OXXO reference number. */ + number?: string | null; + }; + /** payment_intent_next_action_konbini */ + payment_intent_next_action_konbini: { + /** + * Format: unix-time + * @description The timestamp at which the pending Konbini payment expires. + */ + expires_at: number; + /** @description The URL for the Konbini payment instructions page, which allows customers to view and print a Konbini voucher. */ + hosted_voucher_url?: string | null; + stores: components["schemas"]["payment_intent_next_action_konbini_stores"]; + }; + /** payment_intent_next_action_konbini_familymart */ + payment_intent_next_action_konbini_familymart: { + /** @description The confirmation number. */ + confirmation_number?: string; + /** @description The payment code. */ + payment_code: string; + }; + /** payment_intent_next_action_konbini_lawson */ + payment_intent_next_action_konbini_lawson: { + /** @description The confirmation number. */ + confirmation_number?: string; + /** @description The payment code. */ + payment_code: string; + }; + /** payment_intent_next_action_konbini_ministop */ + payment_intent_next_action_konbini_ministop: { + /** @description The confirmation number. */ + confirmation_number?: string; + /** @description The payment code. */ + payment_code: string; + }; + /** payment_intent_next_action_konbini_seicomart */ + payment_intent_next_action_konbini_seicomart: { + /** @description The confirmation number. */ + confirmation_number?: string; + /** @description The payment code. */ + payment_code: string; + }; + /** payment_intent_next_action_konbini_stores */ + payment_intent_next_action_konbini_stores: { + /** @description FamilyMart instruction details. */ + familymart?: components["schemas"]["payment_intent_next_action_konbini_familymart"] | null; + /** @description Lawson instruction details. */ + lawson?: components["schemas"]["payment_intent_next_action_konbini_lawson"] | null; + /** @description Ministop instruction details. */ + ministop?: components["schemas"]["payment_intent_next_action_konbini_ministop"] | null; + /** @description Seicomart instruction details. */ + seicomart?: components["schemas"]["payment_intent_next_action_konbini_seicomart"] | null; + }; + /** PaymentIntentNextActionPaynowDisplayQrCode */ + payment_intent_next_action_paynow_display_qr_code: { + /** @description The raw data string used to generate QR code, it should be used together with QR code library. */ + data: string; + /** @description The URL to the hosted PayNow instructions page, which allows customers to view the PayNow QR code. */ + hosted_instructions_url?: string | null; + /** @description The image_url_png string used to render QR code */ + image_url_png: string; + /** @description The image_url_svg string used to render QR code */ + image_url_svg: string; + }; + /** PaymentIntentNextActionPixDisplayQrCode */ + payment_intent_next_action_pix_display_qr_code: { + /** @description The raw data string used to generate QR code, it should be used together with QR code library. */ + data?: string; + /** @description The date (unix timestamp) when the PIX expires. */ + expires_at?: number; + /** @description The URL to the hosted pix instructions page, which allows customers to view the pix QR code. */ + hosted_instructions_url?: string; + /** @description The image_url_png string used to render png QR code */ + image_url_png?: string; + /** @description The image_url_svg string used to render svg QR code */ + image_url_svg?: string; + }; + /** PaymentIntentNextActionPromptpayDisplayQrCode */ + payment_intent_next_action_promptpay_display_qr_code: { + /** @description The raw data string used to generate QR code, it should be used together with QR code library. */ + data: string; + /** @description The URL to the hosted PromptPay instructions page, which allows customers to view the PromptPay QR code. */ + hosted_instructions_url: string; + /** @description The PNG path used to render the QR code, can be used as the source in an HTML img tag */ + image_url_png: string; + /** @description The SVG path used to render the QR code, can be used as the source in an HTML img tag */ + image_url_svg: string; + }; + /** PaymentIntentNextActionRedirectToUrl */ + payment_intent_next_action_redirect_to_url: { + /** @description If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion. */ + return_url?: string | null; + /** @description The URL you must redirect your customer to in order to authenticate the payment. */ + url?: string | null; + }; + /** PaymentIntentNextActionVerifyWithMicrodeposits */ + payment_intent_next_action_verify_with_microdeposits: { + /** + * Format: unix-time + * @description The timestamp when the microdeposits are expected to land. + */ + arrival_date: number; + /** @description The URL for the hosted verification page, which allows customers to verify their bank account. */ + hosted_verification_url: string; + /** + * @description The type of the microdeposit sent to the customer. Used to distinguish between different verification methods. + * @enum {string|null} + */ + microdeposit_type?: "amounts" | "descriptor_code"; + }; + /** PaymentIntentNextActionWechatPayDisplayQrCode */ + payment_intent_next_action_wechat_pay_display_qr_code: { + /** @description The data being used to generate QR code */ + data: string; + /** @description The URL to the hosted WeChat Pay instructions page, which allows customers to view the WeChat Pay QR code. */ + hosted_instructions_url: string; + /** @description The base64 image data for a pre-generated QR code */ + image_data_url: string; + /** @description The image_url_png string used to render QR code */ + image_url_png: string; + /** @description The image_url_svg string used to render QR code */ + image_url_svg: string; + }; + /** PaymentIntentNextActionWechatPayRedirectToAndroidApp */ + payment_intent_next_action_wechat_pay_redirect_to_android_app: { + /** @description app_id is the APP ID registered on WeChat open platform */ + app_id: string; + /** @description nonce_str is a random string */ + nonce_str: string; + /** @description package is static value */ + package: string; + /** @description an unique merchant ID assigned by WeChat Pay */ + partner_id: string; + /** @description an unique trading ID assigned by WeChat Pay */ + prepay_id: string; + /** @description A signature */ + sign: string; + /** @description Specifies the current time in epoch format */ + timestamp: string; + }; + /** PaymentIntentNextActionWechatPayRedirectToIOSApp */ + payment_intent_next_action_wechat_pay_redirect_to_ios_app: { + /** @description An universal link that redirect to WeChat Pay app */ + native_url: string; + }; + /** PaymentIntentPaymentMethodOptions */ + payment_intent_payment_method_options: { + acss_debit?: components["schemas"]["payment_intent_payment_method_options_acss_debit"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + affirm?: components["schemas"]["payment_method_options_affirm"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + afterpay_clearpay?: components["schemas"]["payment_method_options_afterpay_clearpay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + alipay?: components["schemas"]["payment_method_options_alipay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + au_becs_debit?: components["schemas"]["payment_intent_payment_method_options_au_becs_debit"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + bacs_debit?: components["schemas"]["payment_method_options_bacs_debit"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + bancontact?: components["schemas"]["payment_method_options_bancontact"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + blik?: components["schemas"]["payment_intent_payment_method_options_blik"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + boleto?: components["schemas"]["payment_method_options_boleto"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + card?: components["schemas"]["payment_intent_payment_method_options_card"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + card_present?: components["schemas"]["payment_method_options_card_present"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + cashapp?: components["schemas"]["payment_method_options_cashapp"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + customer_balance?: components["schemas"]["payment_method_options_customer_balance"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + eps?: components["schemas"]["payment_intent_payment_method_options_eps"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + fpx?: components["schemas"]["payment_method_options_fpx"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + giropay?: components["schemas"]["payment_method_options_giropay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + grabpay?: components["schemas"]["payment_method_options_grabpay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + ideal?: components["schemas"]["payment_method_options_ideal"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + interac_present?: components["schemas"]["payment_method_options_interac_present"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + klarna?: components["schemas"]["payment_method_options_klarna"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + konbini?: components["schemas"]["payment_method_options_konbini"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + link?: components["schemas"]["payment_intent_payment_method_options_link"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + oxxo?: components["schemas"]["payment_method_options_oxxo"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + p24?: components["schemas"]["payment_method_options_p24"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + paynow?: components["schemas"]["payment_method_options_paynow"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + paypal?: components["schemas"]["payment_method_options_paypal"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + pix?: components["schemas"]["payment_method_options_pix"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + promptpay?: components["schemas"]["payment_method_options_promptpay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + sepa_debit?: components["schemas"]["payment_intent_payment_method_options_sepa_debit"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + sofort?: components["schemas"]["payment_method_options_sofort"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + us_bank_account?: components["schemas"]["payment_intent_payment_method_options_us_bank_account"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + wechat_pay?: components["schemas"]["payment_method_options_wechat_pay"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + zip?: components["schemas"]["payment_method_options_zip"] | components["schemas"]["payment_intent_type_specific_payment_method_options_client"]; + }; + /** payment_intent_payment_method_options_acss_debit */ + payment_intent_payment_method_options_acss_debit: { + mandate_options?: components["schemas"]["payment_intent_payment_method_options_mandate_options_acss_debit"]; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + /** + * @description Bank account verification method. + * @enum {string} + */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** payment_intent_payment_method_options_au_becs_debit */ + payment_intent_payment_method_options_au_becs_debit: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** payment_intent_payment_method_options_blik */ + payment_intent_payment_method_options_blik: Record; + /** payment_intent_payment_method_options_card */ + payment_intent_payment_method_options_card: { + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method?: "manual"; + /** @description Installment details for this payment (Mexico only). + * + * For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). */ + installments?: components["schemas"]["payment_method_options_card_installments"] | null; + /** @description Configuration options for setting up an eMandate for cards issued in India. */ + mandate_options?: components["schemas"]["payment_method_options_card_mandate_options"] | null; + /** + * @description Selected network to process this payment intent on. Depends on the available networks of the card attached to the payment intent. Can be only set confirm-time. + * @enum {string|null} + */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** + * @description We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: `automatic` or `any`. If not provided, defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. + * @enum {string|null} + */ + request_three_d_secure?: "any" | "automatic" | "challenge_only"; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + /** @description Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. */ + statement_descriptor_suffix_kana?: string; + /** @description Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. */ + statement_descriptor_suffix_kanji?: string; + }; + /** payment_intent_payment_method_options_eps */ + payment_intent_payment_method_options_eps: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_intent_payment_method_options_link */ + payment_intent_payment_method_options_link: { + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method?: "manual"; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session"; + }; + /** payment_intent_payment_method_options_mandate_options_acss_debit */ + payment_intent_payment_method_options_mandate_options_acss_debit: { + /** @description A URL for custom mandate text */ + custom_mandate_url?: string; + /** @description Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. */ + interval_description?: string | null; + /** + * @description Payment schedule for the mandate. + * @enum {string|null} + */ + payment_schedule?: "combined" | "interval" | "sporadic"; + /** + * @description Transaction type of the mandate. + * @enum {string|null} + */ + transaction_type?: "business" | "personal"; + }; + /** payment_intent_payment_method_options_mandate_options_sepa_debit */ + payment_intent_payment_method_options_mandate_options_sepa_debit: Record; + /** payment_intent_payment_method_options_sepa_debit */ + payment_intent_payment_method_options_sepa_debit: { + mandate_options?: components["schemas"]["payment_intent_payment_method_options_mandate_options_sepa_debit"]; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** payment_intent_payment_method_options_us_bank_account */ + payment_intent_payment_method_options_us_bank_account: { + financial_connections?: components["schemas"]["linked_account_options_us_bank_account"]; + /** + * @description Preferred transaction settlement speed + * @enum {string} + */ + preferred_settlement_speed?: "fastest" | "standard"; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + /** + * @description Bank account verification method. + * @enum {string} + */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** PaymentIntentProcessing */ + payment_intent_processing: { + card?: components["schemas"]["payment_intent_card_processing"]; + /** + * @description Type of the payment method for which payment is in `processing` state, one of `card`. + * @enum {string} + */ + type: "card"; + }; + /** PaymentIntentProcessingCustomerNotification */ + payment_intent_processing_customer_notification: { + /** @description Whether customer approval has been requested for this payment. For payments greater than INR 15000 or mandate amount, the customer must provide explicit approval of the payment with their bank. */ + approval_requested?: boolean | null; + /** + * Format: unix-time + * @description If customer approval is required, they need to provide approval before this time. + */ + completes_at?: number | null; + }; + /** PaymentIntentTypeSpecificPaymentMethodOptionsClient */ + payment_intent_type_specific_payment_method_options_client: { + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method?: "manual" | "manual_preferred"; + installments?: components["schemas"]["payment_flows_installment_options"]; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + /** + * @description Bank account verification method. + * @enum {string} + */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** + * PaymentLink + * @description A payment link is a shareable URL that will take your customers to a hosted payment page. A payment link can be shared and used multiple times. + * + * When a customer opens a payment link it will open a new [checkout session](https://stripe.com/docs/api/checkout/sessions) to render the payment page. You can use [checkout session events](https://stripe.com/docs/api/events/types#event_types-checkout.session.completed) to track payments through payment links. + * + * Related guide: [Payment Links API](https://stripe.com/docs/payment-links) + */ + payment_link: { + /** @description Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated. */ + active: boolean; + after_completion: components["schemas"]["payment_links_resource_after_completion"]; + /** @description Whether user redeemable promotion codes are enabled. */ + allow_promotion_codes: boolean; + /** @description The ID of the Connect application that created the Payment Link. */ + application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; + /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. */ + application_fee_amount?: number | null; + /** @description This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. */ + application_fee_percent?: number | null; + automatic_tax: components["schemas"]["payment_links_resource_automatic_tax"]; + /** + * @description Configuration for collecting the customer's billing address. + * @enum {string} + */ + billing_address_collection: "auto" | "required"; + /** @description When set, provides configuration to gather active consent from customers. */ + consent_collection?: components["schemas"]["payment_links_resource_consent_collection"] | null; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Collect additional information from your customer using custom fields. Up to 2 fields are supported. */ + custom_fields: components["schemas"]["payment_links_resource_custom_fields"][]; + custom_text: components["schemas"]["payment_links_resource_custom_text"]; + /** + * @description Configuration for Customer creation during checkout. + * @enum {string} + */ + customer_creation: "always" | "if_required"; + /** @description Unique identifier for the object. */ + id: string; + /** @description Configuration for creating invoice for payment mode payment links. */ + invoice_creation?: components["schemas"]["payment_links_resource_invoice_creation"] | null; + /** + * PaymentLinksResourceListLineItems + * @description The line items representing what is being sold. + */ + line_items?: { + /** @description Details about each object. */ + data: components["schemas"]["item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "payment_link"; + /** @description The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details. */ + on_behalf_of?: (string | components["schemas"]["account"]) | null; + /** @description Indicates the parameters to be passed to PaymentIntent creation during checkout. */ + payment_intent_data?: components["schemas"]["payment_links_resource_payment_intent_data"] | null; + /** + * @description Configuration for collecting a payment method during checkout. + * @enum {string} + */ + payment_method_collection: "always" | "if_required"; + /** @description The list of payment method types that customers can use. When `null`, Stripe will dynamically show relevant payment methods you've enabled in your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). */ + payment_method_types?: ("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[] | null; + phone_number_collection: components["schemas"]["payment_links_resource_phone_number_collection"]; + /** @description Configuration for collecting the customer's shipping address. */ + shipping_address_collection?: components["schemas"]["payment_links_resource_shipping_address_collection"] | null; + /** @description The shipping rate options applied to the session. */ + shipping_options: components["schemas"]["payment_links_resource_shipping_option"][]; + /** + * @description Indicates the type of transaction being performed which customizes relevant text on the page, such as the submit button. + * @enum {string} + */ + submit_type: "auto" | "book" | "donate" | "pay"; + /** @description When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`. */ + subscription_data?: components["schemas"]["payment_links_resource_subscription_data"] | null; + tax_id_collection: components["schemas"]["payment_links_resource_tax_id_collection"]; + /** @description The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to. */ + transfer_data?: components["schemas"]["payment_links_resource_transfer_data"] | null; + /** @description The public URL that can be shared with customers. */ + url: string; + }; + /** PaymentLinksResourceAfterCompletion */ + payment_links_resource_after_completion: { + hosted_confirmation?: components["schemas"]["payment_links_resource_completion_behavior_confirmation_page"]; + redirect?: components["schemas"]["payment_links_resource_completion_behavior_redirect"]; + /** + * @description The specified behavior after the purchase is complete. + * @enum {string} + */ + type: "hosted_confirmation" | "redirect"; + }; + /** PaymentLinksResourceAutomaticTax */ + payment_links_resource_automatic_tax: { + /** @description If `true`, tax will be calculated automatically using the customer's location. */ + enabled: boolean; + }; + /** PaymentLinksResourceCompletionBehaviorConfirmationPage */ + payment_links_resource_completion_behavior_confirmation_page: { + /** @description The custom message that is displayed to the customer after the purchase is complete. */ + custom_message?: string | null; + }; + /** PaymentLinksResourceCompletionBehaviorRedirect */ + payment_links_resource_completion_behavior_redirect: { + /** @description The URL the customer will be redirected to after the purchase is complete. */ + url: string; + }; + /** PaymentLinksResourceConsentCollection */ + payment_links_resource_consent_collection: { + /** + * @description If set to `auto`, enables the collection of customer consent for promotional communications. + * @enum {string|null} + */ + promotions?: "auto" | "none"; + /** + * @description If set to `required`, it requires cutomers to accept the terms of service before being able to pay. If set to `none`, customers won't be shown a checkbox to accept the terms of service. + * @enum {string|null} + */ + terms_of_service?: "none" | "required"; + }; + /** PaymentLinksResourceCustomFields */ + payment_links_resource_custom_fields: { + /** @description Configuration for `type=dropdown` fields. */ + dropdown?: components["schemas"]["payment_links_resource_custom_fields_dropdown"] | null; + /** @description String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters. */ + key: string; + label: components["schemas"]["payment_links_resource_custom_fields_label"]; + /** @description Configuration for `type=numeric` fields. */ + numeric?: components["schemas"]["payment_links_resource_custom_fields_numeric"] | null; + /** @description Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. */ + optional: boolean; + /** @description Configuration for `type=text` fields. */ + text?: components["schemas"]["payment_links_resource_custom_fields_text"] | null; + /** + * @description The type of the field. + * @enum {string} + */ + type: "dropdown" | "numeric" | "text"; + }; + /** PaymentLinksResourceCustomFieldsDropdown */ + payment_links_resource_custom_fields_dropdown: { + /** @description The options available for the customer to select. Up to 200 options allowed. */ + options: components["schemas"]["payment_links_resource_custom_fields_dropdown_option"][]; + }; + /** PaymentLinksResourceCustomFieldsDropdownOption */ + payment_links_resource_custom_fields_dropdown_option: { + /** @description The label for the option, displayed to the customer. Up to 100 characters. */ + label: string; + /** @description The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters. */ + value: string; + }; + /** PaymentLinksResourceCustomFieldsLabel */ + payment_links_resource_custom_fields_label: { + /** @description Custom text for the label, displayed to the customer. Up to 50 characters. */ + custom?: string | null; + /** + * @description The type of the label. + * @enum {string} + */ + type: "custom"; + }; + /** PaymentLinksResourceCustomFieldsNumeric */ + payment_links_resource_custom_fields_numeric: { + /** @description The maximum character length constraint for the customer's input. */ + maximum_length?: number | null; + /** @description The minimum character length requirement for the customer's input. */ + minimum_length?: number | null; + }; + /** PaymentLinksResourceCustomFieldsText */ + payment_links_resource_custom_fields_text: { + /** @description The maximum character length constraint for the customer's input. */ + maximum_length?: number | null; + /** @description The minimum character length requirement for the customer's input. */ + minimum_length?: number | null; + }; + /** PaymentLinksResourceCustomText */ + payment_links_resource_custom_text: { + /** @description Custom text that should be displayed alongside shipping address collection. */ + shipping_address?: components["schemas"]["payment_links_resource_custom_text_position"] | null; + /** @description Custom text that should be displayed alongside the payment confirmation button. */ + submit?: components["schemas"]["payment_links_resource_custom_text_position"] | null; + /** @description Custom text that should be displayed in place of the default terms of service agreement text. */ + terms_of_service_acceptance?: components["schemas"]["payment_links_resource_custom_text_position"] | null; + }; + /** PaymentLinksResourceCustomTextPosition */ + payment_links_resource_custom_text_position: { + /** @description Text may be up to 1200 characters in length. */ + message: string; + }; + /** PaymentLinksResourceInvoiceCreation */ + payment_links_resource_invoice_creation: { + /** @description Enable creating an invoice on successful payment. */ + enabled: boolean; + /** @description Configuration for the invoice. Default invoice values will be used if unspecified. */ + invoice_data?: components["schemas"]["payment_links_resource_invoice_settings"] | null; + }; + /** PaymentLinksResourceInvoiceSettings */ + payment_links_resource_invoice_settings: { + /** @description The account tax IDs associated with the invoice. */ + account_tax_ids?: (string | components["schemas"]["tax_id"] | components["schemas"]["deleted_tax_id"])[] | null; + /** @description A list of up to 4 custom fields to be displayed on the invoice. */ + custom_fields?: components["schemas"]["invoice_setting_custom_field"][] | null; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description Footer to be displayed on the invoice. */ + footer?: string | null; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** @description Options for invoice PDF rendering. */ + rendering_options?: components["schemas"]["invoice_setting_rendering_options"] | null; + }; + /** PaymentLinksResourcePaymentIntentData */ + payment_links_resource_payment_intent_data: { + /** + * @description Indicates when the funds will be captured from the customer's account. + * @enum {string|null} + */ + capture_method?: "automatic" | "automatic_async" | "manual"; + /** + * @description Indicates that you intend to make future payments with the payment method collected during checkout. + * @enum {string|null} + */ + setup_future_usage?: "off_session" | "on_session"; + }; + /** PaymentLinksResourcePhoneNumberCollection */ + payment_links_resource_phone_number_collection: { + /** @description If `true`, a phone number will be collected during checkout. */ + enabled: boolean; + }; + /** PaymentLinksResourceShippingAddressCollection */ + payment_links_resource_shipping_address_collection: { + /** @description An array of two-letter ISO country codes representing which countries Checkout should provide as options for shipping locations. Unsupported country codes: `AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SD, SY, UM, VI`. */ + allowed_countries: ("AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CV" | "CW" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MK" | "ML" | "MM" | "MN" | "MO" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SZ" | "TA" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "ZZ")[]; + }; + /** PaymentLinksResourceShippingOption */ + payment_links_resource_shipping_option: { + /** @description A non-negative integer in cents representing how much to charge. */ + shipping_amount: number; + /** @description The ID of the Shipping Rate to use for this shipping option. */ + shipping_rate: string | components["schemas"]["shipping_rate"]; + }; + /** PaymentLinksResourceSubscriptionData */ + payment_links_resource_subscription_data: { + /** @description The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription. */ + description?: string | null; + /** @description Integer representing the number of trial period days before the customer is charged for the first time. */ + trial_period_days?: number | null; + }; + /** PaymentLinksResourceTaxIdCollection */ + payment_links_resource_tax_id_collection: { + /** @description Indicates whether tax ID collection is enabled for the session. */ + enabled: boolean; + }; + /** PaymentLinksResourceTransferData */ + payment_links_resource_transfer_data: { + /** @description The amount in cents (or local equivalent) that will be transferred to the destination account. By default, the entire amount is transferred to the destination. */ + amount?: number | null; + /** @description The connected account receiving the transfer. */ + destination: string | components["schemas"]["account"]; + }; + /** + * PaymentMethod + * @description PaymentMethod objects represent your customer's payment instruments. + * You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to + * Customer objects to store instrument details for future payments. + * + * Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios). + */ + payment_method: { + acss_debit?: components["schemas"]["payment_method_acss_debit"]; + affirm?: components["schemas"]["payment_method_affirm"]; + afterpay_clearpay?: components["schemas"]["payment_method_afterpay_clearpay"]; + alipay?: components["schemas"]["payment_flows_private_payment_methods_alipay"]; + au_becs_debit?: components["schemas"]["payment_method_au_becs_debit"]; + bacs_debit?: components["schemas"]["payment_method_bacs_debit"]; + bancontact?: components["schemas"]["payment_method_bancontact"]; + billing_details: components["schemas"]["billing_details"]; + blik?: components["schemas"]["payment_method_blik"]; + boleto?: components["schemas"]["payment_method_boleto"]; + card?: components["schemas"]["payment_method_card"]; + card_present?: components["schemas"]["payment_method_card_present"]; + cashapp?: components["schemas"]["payment_method_cashapp"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer. */ + customer?: (string | components["schemas"]["customer"]) | null; + customer_balance?: components["schemas"]["payment_method_customer_balance"]; + eps?: components["schemas"]["payment_method_eps"]; + fpx?: components["schemas"]["payment_method_fpx"]; + giropay?: components["schemas"]["payment_method_giropay"]; + grabpay?: components["schemas"]["payment_method_grabpay"]; + /** @description Unique identifier for the object. */ + id: string; + ideal?: components["schemas"]["payment_method_ideal"]; + interac_present?: components["schemas"]["payment_method_interac_present"]; + klarna?: components["schemas"]["payment_method_klarna"]; + konbini?: components["schemas"]["payment_method_konbini"]; + link?: components["schemas"]["payment_method_link"]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "payment_method"; + oxxo?: components["schemas"]["payment_method_oxxo"]; + p24?: components["schemas"]["payment_method_p24"]; + paynow?: components["schemas"]["payment_method_paynow"]; + paypal?: components["schemas"]["payment_method_paypal"]; + pix?: components["schemas"]["payment_method_pix"]; + promptpay?: components["schemas"]["payment_method_promptpay"]; + radar_options?: components["schemas"]["radar_radar_options"]; + sepa_debit?: components["schemas"]["payment_method_sepa_debit"]; + sofort?: components["schemas"]["payment_method_sofort"]; + /** + * @description The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type. + * @enum {string} + */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "card_present" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "interac_present" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; + us_bank_account?: components["schemas"]["payment_method_us_bank_account"]; + wechat_pay?: components["schemas"]["payment_method_wechat_pay"]; + zip?: components["schemas"]["payment_method_zip"]; + }; + /** payment_method_acss_debit */ + payment_method_acss_debit: { + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Institution number of the bank account. */ + institution_number?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + /** @description Transit number of the bank account. */ + transit_number?: string | null; + }; + /** payment_method_affirm */ + payment_method_affirm: Record; + /** payment_method_afterpay_clearpay */ + payment_method_afterpay_clearpay: Record; + /** payment_method_au_becs_debit */ + payment_method_au_becs_debit: { + /** @description Six-digit number identifying bank and branch associated with this bank account. */ + bsb_number?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + }; + /** payment_method_bacs_debit */ + payment_method_bacs_debit: { + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + /** @description Sort code of the bank account. (e.g., `10-20-30`) */ + sort_code?: string | null; + }; + /** payment_method_bancontact */ + payment_method_bancontact: Record; + /** payment_method_blik */ + payment_method_blik: Record; + /** payment_method_boleto */ + payment_method_boleto: { + /** @description Uniquely identifies the customer tax id (CNPJ or CPF) */ + tax_id: string; + }; + /** payment_method_card */ + payment_method_card: { + /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ + brand: string; + /** @description Checks on Card address and CVC if provided. */ + checks?: components["schemas"]["payment_method_card_checks"] | null; + /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ + country?: string | null; + /** @description Two-digit number representing the card's expiration month. */ + exp_month: number; + /** @description Four-digit number representing the card's expiration year. */ + exp_year: number; + /** @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. + * + * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* */ + fingerprint?: string | null; + /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ + funding: string; + /** @description Details of the original PaymentMethod that created this object. */ + generated_from?: components["schemas"]["payment_method_card_generated_card"] | null; + /** @description The last four digits of the card. */ + last4: string; + /** @description Contains information about card networks that can be used to process the payment. */ + networks?: components["schemas"]["networks"] | null; + /** @description Contains details on how this Card may be used for 3D Secure authentication. */ + three_d_secure_usage?: components["schemas"]["three_d_secure_usage"] | null; + /** @description If this Card is part of a card wallet, this contains the details of the card wallet. */ + wallet?: components["schemas"]["payment_method_card_wallet"] | null; + }; + /** payment_method_card_checks */ + payment_method_card_checks: { + /** @description If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ + address_line1_check?: string | null; + /** @description If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ + address_postal_code_check?: string | null; + /** @description If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ + cvc_check?: string | null; + }; + /** payment_method_card_generated_card */ + payment_method_card_generated_card: { + /** @description The charge that created this object. */ + charge?: string | null; + /** @description Transaction-specific details of the payment method used in the payment. */ + payment_method_details?: components["schemas"]["card_generated_from_payment_method_details"] | null; + /** @description The ID of the SetupAttempt that generated this PaymentMethod, if any. */ + setup_attempt?: (string | components["schemas"]["setup_attempt"]) | null; + }; + /** payment_method_card_present */ + payment_method_card_present: { + /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ + brand?: string | null; + /** @description The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. */ + cardholder_name?: string | null; + /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ + country?: string | null; + /** @description Two-digit number representing the card's expiration month. */ + exp_month: number; + /** @description Four-digit number representing the card's expiration year. */ + exp_year: number; + /** @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. + * + * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* */ + fingerprint?: string | null; + /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ + funding?: string | null; + /** @description The last four digits of the card. */ + last4?: string | null; + /** @description Contains information about card networks that can be used to process the payment. */ + networks?: components["schemas"]["payment_method_card_present_networks"] | null; + /** + * @description How card details were read in this transaction. + * @enum {string|null} + */ + read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2"; + }; + /** payment_method_card_present_networks */ + payment_method_card_present_networks: { + /** @description All available networks for the card. */ + available: string[]; + /** @description The preferred network for the card. */ + preferred?: string | null; + }; + /** payment_method_card_wallet */ + payment_method_card_wallet: { + amex_express_checkout?: components["schemas"]["payment_method_card_wallet_amex_express_checkout"]; + apple_pay?: components["schemas"]["payment_method_card_wallet_apple_pay"]; + /** @description (For tokenized numbers only.) The last four digits of the device account number. */ + dynamic_last4?: string | null; + google_pay?: components["schemas"]["payment_method_card_wallet_google_pay"]; + link?: components["schemas"]["payment_method_card_wallet_link"]; + masterpass?: components["schemas"]["payment_method_card_wallet_masterpass"]; + samsung_pay?: components["schemas"]["payment_method_card_wallet_samsung_pay"]; + /** + * @description The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. + * @enum {string} + */ + type: "amex_express_checkout" | "apple_pay" | "google_pay" | "link" | "masterpass" | "samsung_pay" | "visa_checkout"; + visa_checkout?: components["schemas"]["payment_method_card_wallet_visa_checkout"]; + }; + /** payment_method_card_wallet_amex_express_checkout */ + payment_method_card_wallet_amex_express_checkout: Record; + /** payment_method_card_wallet_apple_pay */ + payment_method_card_wallet_apple_pay: Record; + /** payment_method_card_wallet_google_pay */ + payment_method_card_wallet_google_pay: Record; + /** payment_method_card_wallet_link */ + payment_method_card_wallet_link: Record; + /** payment_method_card_wallet_masterpass */ + payment_method_card_wallet_masterpass: { + /** @description Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + billing_address?: components["schemas"]["address"] | null; + /** @description Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + email?: string | null; + /** @description Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + name?: string | null; + /** @description Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + shipping_address?: components["schemas"]["address"] | null; + }; + /** payment_method_card_wallet_samsung_pay */ + payment_method_card_wallet_samsung_pay: Record; + /** payment_method_card_wallet_visa_checkout */ + payment_method_card_wallet_visa_checkout: { + /** @description Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + billing_address?: components["schemas"]["address"] | null; + /** @description Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + email?: string | null; + /** @description Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + name?: string | null; + /** @description Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + shipping_address?: components["schemas"]["address"] | null; + }; + /** payment_method_cashapp */ + payment_method_cashapp: { + /** @description A unique and immutable identifier assigned by Cash App to every buyer. */ + buyer_id?: string | null; + /** @description A public identifier for buyers using Cash App. */ + cashtag?: string | null; + }; + /** PaymentMethodConfigBizPaymentMethodConfigurationDetails */ + payment_method_config_biz_payment_method_configuration_details: { + /** @description ID of the payment method configuration used. */ + id: string; + /** @description ID of the parent payment method configuration used. */ + parent?: string | null; + }; + /** PaymentMethodConfigResourceDisplayPreference */ + payment_method_config_resource_display_preference: { + /** @description For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. */ + overridable?: boolean | null; + /** + * @description The account's display preference. + * @enum {string} + */ + preference: "none" | "off" | "on"; + /** + * @description The effective display preference value. + * @enum {string} + */ + value: "off" | "on"; + }; + /** PaymentMethodConfigResourcePaymentMethodProperties */ + payment_method_config_resource_payment_method_properties: { + /** @description Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. */ + available: boolean; + display_preference: components["schemas"]["payment_method_config_resource_display_preference"]; + }; + /** + * PaymentMethodConfigResourcePaymentMethodConfiguration + * @description PaymentMethodConfigurations control which payment methods are displayed to your customers when you don't explicitly specify payment method types. You can have multiple configurations with different sets of payment methods for different scenarios. + * + * There are two types of PaymentMethodConfigurations. Which is used depends on the [charge type](https://stripe.com/docs/connect/charges): + * + * **Direct** configurations apply to payments created on your account, including Connect destination charges, Connect separate charges and transfers, and payments not involving Connect. + * + * **Child** configurations apply to payments created on your connected accounts using direct charges, and charges with the on_behalf_of parameter. + * + * Child configurations have a `parent` that sets default values and controls which settings connected accounts may override. You can specify a parent ID at payment time, and Stripe will automatically resolve the connected account’s associated child configuration. Parent configurations are [managed in the dashboard](https://dashboard.stripe.com/settings/payment_methods/connected_accounts) and are not available in this API. + * + * Related guides: + * - [Payment Method Configurations API](https://stripe.com/docs/connect/payment-method-configurations) + * - [Multiple payment method configurations on dynamic payment methods](https://stripe.com/docs/payments/multiple-payment-method-configs) + * - [Multiple configurations for your Connect accounts](https://stripe.com/docs/connect/multiple-payment-method-configurations) + */ + payment_method_configuration: { + acss_debit?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + /** @description Whether the configuration can be used for new payments. */ + active: boolean; + affirm?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + afterpay_clearpay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + alipay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + apple_pay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + /** @description For child configs, the Connect application associated with the configuration. */ + application?: string | null; + au_becs_debit?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + bacs_debit?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + bancontact?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + blik?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + boleto?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + card?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + cartes_bancaires?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + cashapp?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + eps?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + fpx?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + giropay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + google_pay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + grabpay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + /** @description Unique identifier for the object. */ + id: string; + id_bank_transfer?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + ideal?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + /** @description The default configuration is used whenever a payment method configuration is not specified. */ + is_default: boolean; + jcb?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + klarna?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + konbini?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + link?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + multibanco?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + /** @description The configuration's name. */ + name: string; + netbanking?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "payment_method_configuration"; + oxxo?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + p24?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + /** @description For child configs, the configuration's parent configuration. */ + parent?: string | null; + pay_by_bank?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + paynow?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + paypal?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + promptpay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + sepa_debit?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + sofort?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + upi?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + us_bank_account?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + wechat_pay?: components["schemas"]["payment_method_config_resource_payment_method_properties"]; + }; + /** payment_method_customer_balance */ + payment_method_customer_balance: Record; + /** payment_method_details */ + payment_method_details: { + ach_credit_transfer?: components["schemas"]["payment_method_details_ach_credit_transfer"]; + ach_debit?: components["schemas"]["payment_method_details_ach_debit"]; + acss_debit?: components["schemas"]["payment_method_details_acss_debit"]; + affirm?: components["schemas"]["payment_method_details_affirm"]; + afterpay_clearpay?: components["schemas"]["payment_method_details_afterpay_clearpay"]; + alipay?: components["schemas"]["payment_flows_private_payment_methods_alipay_details"]; + au_becs_debit?: components["schemas"]["payment_method_details_au_becs_debit"]; + bacs_debit?: components["schemas"]["payment_method_details_bacs_debit"]; + bancontact?: components["schemas"]["payment_method_details_bancontact"]; + blik?: components["schemas"]["payment_method_details_blik"]; + boleto?: components["schemas"]["payment_method_details_boleto"]; + card?: components["schemas"]["payment_method_details_card"]; + card_present?: components["schemas"]["payment_method_details_card_present"]; + cashapp?: components["schemas"]["payment_method_details_cashapp"]; + customer_balance?: components["schemas"]["payment_method_details_customer_balance"]; + eps?: components["schemas"]["payment_method_details_eps"]; + fpx?: components["schemas"]["payment_method_details_fpx"]; + giropay?: components["schemas"]["payment_method_details_giropay"]; + grabpay?: components["schemas"]["payment_method_details_grabpay"]; + ideal?: components["schemas"]["payment_method_details_ideal"]; + interac_present?: components["schemas"]["payment_method_details_interac_present"]; + klarna?: components["schemas"]["payment_method_details_klarna"]; + konbini?: components["schemas"]["payment_method_details_konbini"]; + link?: components["schemas"]["payment_method_details_link"]; + multibanco?: components["schemas"]["payment_method_details_multibanco"]; + oxxo?: components["schemas"]["payment_method_details_oxxo"]; + p24?: components["schemas"]["payment_method_details_p24"]; + paynow?: components["schemas"]["payment_method_details_paynow"]; + paypal?: components["schemas"]["payment_method_details_paypal"]; + pix?: components["schemas"]["payment_method_details_pix"]; + promptpay?: components["schemas"]["payment_method_details_promptpay"]; + sepa_debit?: components["schemas"]["payment_method_details_sepa_debit"]; + sofort?: components["schemas"]["payment_method_details_sofort"]; + stripe_account?: components["schemas"]["payment_method_details_stripe_account"]; + /** @description The type of transaction-specific details of the payment method used in the payment, one of `ach_credit_transfer`, `ach_debit`, `acss_debit`, `alipay`, `au_becs_debit`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `klarna`, `multibanco`, `p24`, `sepa_debit`, `sofort`, `stripe_account`, or `wechat`. + * An additional hash is included on `payment_method_details` with a name matching this value. + * It contains information specific to the payment method. */ + type: string; + us_bank_account?: components["schemas"]["payment_method_details_us_bank_account"]; + wechat?: components["schemas"]["payment_method_details_wechat"]; + wechat_pay?: components["schemas"]["payment_method_details_wechat_pay"]; + zip?: components["schemas"]["payment_method_details_zip"]; + }; + /** payment_method_details_ach_credit_transfer */ + payment_method_details_ach_credit_transfer: { + /** @description Account number to transfer funds to. */ + account_number?: string | null; + /** @description Name of the bank associated with the routing number. */ + bank_name?: string | null; + /** @description Routing transit number for the bank account to transfer funds to. */ + routing_number?: string | null; + /** @description SWIFT code of the bank associated with the routing number. */ + swift_code?: string | null; + }; + /** payment_method_details_ach_debit */ + payment_method_details_ach_debit: { + /** + * @description Type of entity that holds the account. This can be either `individual` or `company`. + * @enum {string|null} + */ + account_holder_type?: "company" | "individual"; + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Two-letter ISO code representing the country the bank account is located in. */ + country?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + /** @description Routing transit number of the bank account. */ + routing_number?: string | null; + }; + /** payment_method_details_acss_debit */ + payment_method_details_acss_debit: { + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Institution number of the bank account */ + institution_number?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + /** @description ID of the mandate used to make this payment. */ + mandate?: string; + /** @description Transit number of the bank account. */ + transit_number?: string | null; + }; + /** payment_method_details_affirm */ + payment_method_details_affirm: Record; + /** payment_method_details_afterpay_clearpay */ + payment_method_details_afterpay_clearpay: { + /** @description The Afterpay order ID associated with this payment intent. */ + order_id?: string | null; + /** @description Order identifier shown to the merchant in Afterpay’s online portal. */ + reference?: string | null; + }; + /** payment_method_details_au_becs_debit */ + payment_method_details_au_becs_debit: { + /** @description Bank-State-Branch number of the bank account. */ + bsb_number?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + /** @description ID of the mandate used to make this payment. */ + mandate?: string; + }; + /** payment_method_details_bacs_debit */ + payment_method_details_bacs_debit: { + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + /** @description ID of the mandate used to make this payment. */ + mandate?: string | null; + /** @description Sort code of the bank account. (e.g., `10-20-30`) */ + sort_code?: string | null; + }; + /** payment_method_details_bancontact */ + payment_method_details_bancontact: { + /** @description Bank code of bank associated with the bank account. */ + bank_code?: string | null; + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Bank Identifier Code of the bank associated with the bank account. */ + bic?: string | null; + /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ + generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; + /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ + generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; + /** @description Last four characters of the IBAN. */ + iban_last4?: string | null; + /** + * @description Preferred language of the Bancontact authorization page that the customer is redirected to. + * Can be one of `en`, `de`, `fr`, or `nl` + * @enum {string|null} + */ + preferred_language?: "de" | "en" | "fr" | "nl"; + /** @description Owner's verified full name. Values are verified or provided by Bancontact directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + verified_name?: string | null; + }; + /** payment_method_details_blik */ + payment_method_details_blik: Record; + /** payment_method_details_boleto */ + payment_method_details_boleto: { + /** @description The tax ID of the customer (CPF for individuals consumers or CNPJ for businesses consumers) */ + tax_id: string; + }; + /** payment_method_details_card */ + payment_method_details_card: { + /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ + brand?: string | null; + /** @description Check results by Card networks on Card address and CVC at time of payment. */ + checks?: components["schemas"]["payment_method_details_card_checks"] | null; + /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ + country?: string | null; + /** @description Two-digit number representing the card's expiration month. */ + exp_month: number; + /** @description Four-digit number representing the card's expiration year. */ + exp_year: number; + /** @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. + * + * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* */ + fingerprint?: string | null; + /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ + funding?: string | null; + /** @description Installment details for this payment (Mexico only). + * + * For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). */ + installments?: components["schemas"]["payment_method_details_card_installments"] | null; + /** @description The last four digits of the card. */ + last4?: string | null; + /** @description ID of the mandate used to make this payment or created by it. */ + mandate?: string | null; + /** @description Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ + network?: string | null; + /** @description If this card has network token credentials, this contains the details of the network token credentials. */ + network_token?: components["schemas"]["payment_method_details_card_network_token"] | null; + /** @description Populated if this transaction used 3D Secure authentication. */ + three_d_secure?: components["schemas"]["three_d_secure_details_charge"] | null; + /** @description If this Card is part of a card wallet, this contains the details of the card wallet. */ + wallet?: components["schemas"]["payment_method_details_card_wallet"] | null; + }; + /** payment_method_details_card_checks */ + payment_method_details_card_checks: { + /** @description If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ + address_line1_check?: string | null; + /** @description If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ + address_postal_code_check?: string | null; + /** @description If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. */ + cvc_check?: string | null; + }; + /** payment_method_details_card_installments */ + payment_method_details_card_installments: { + /** @description Installment plan selected for the payment. */ + plan?: components["schemas"]["payment_method_details_card_installments_plan"] | null; + }; + /** payment_method_details_card_installments_plan */ + payment_method_details_card_installments_plan: { + /** @description For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card. */ + count?: number | null; + /** + * @description For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card. + * One of `month`. + * @enum {string|null} + */ + interval?: "month"; + /** + * @description Type of installment plan, one of `fixed_count`. + * @enum {string} + */ + type: "fixed_count"; + }; + /** payment_method_details_card_network_token */ + payment_method_details_card_network_token: { + /** @description Indicates if Stripe used a network token, either user provided or Stripe managed when processing the transaction. */ + used: boolean; + }; + /** payment_method_details_card_present */ + payment_method_details_card_present: { + /** @description The authorized amount */ + amount_authorized?: number | null; + /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ + brand?: string | null; + /** + * Format: unix-time + * @description When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured. + */ + capture_before?: number; + /** @description The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. */ + cardholder_name?: string | null; + /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ + country?: string | null; + /** @description Authorization response cryptogram. */ + emv_auth_data?: string | null; + /** @description Two-digit number representing the card's expiration month. */ + exp_month: number; + /** @description Four-digit number representing the card's expiration year. */ + exp_year: number; + /** @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. + * + * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* */ + fingerprint?: string | null; + /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ + funding?: string | null; + /** @description ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. */ + generated_card?: string | null; + /** @description Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support). */ + incremental_authorization_supported: boolean; + /** @description The last four digits of the card. */ + last4?: string | null; + /** @description Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ + network?: string | null; + /** @description Defines whether the authorized amount can be over-captured or not */ + overcapture_supported: boolean; + /** + * @description How card details were read in this transaction. + * @enum {string|null} + */ + read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2"; + /** @description A collection of fields required to be displayed on receipts. Only required for EMV transactions. */ + receipt?: components["schemas"]["payment_method_details_card_present_receipt"] | null; + }; + /** payment_method_details_card_present_receipt */ + payment_method_details_card_present_receipt: { + /** + * @description The type of account being debited or credited + * @enum {string} + */ + account_type?: "checking" | "credit" | "prepaid" | "unknown"; + /** @description EMV tag 9F26, cryptogram generated by the integrated circuit chip. */ + application_cryptogram?: string | null; + /** @description Mnenomic of the Application Identifier. */ + application_preferred_name?: string | null; + /** @description Identifier for this transaction. */ + authorization_code?: string | null; + /** @description EMV tag 8A. A code returned by the card issuer. */ + authorization_response_code?: string | null; + /** @description How the cardholder verified ownership of the card. */ + cardholder_verification_method?: string | null; + /** @description EMV tag 84. Similar to the application identifier stored on the integrated circuit chip. */ + dedicated_file_name?: string | null; + /** @description The outcome of a series of EMV functions performed by the card reader. */ + terminal_verification_results?: string | null; + /** @description An indication of various EMV functions performed during the transaction. */ + transaction_status_information?: string | null; + }; + /** payment_method_details_card_wallet */ + payment_method_details_card_wallet: { + amex_express_checkout?: components["schemas"]["payment_method_details_card_wallet_amex_express_checkout"]; + apple_pay?: components["schemas"]["payment_method_details_card_wallet_apple_pay"]; + /** @description (For tokenized numbers only.) The last four digits of the device account number. */ + dynamic_last4?: string | null; + google_pay?: components["schemas"]["payment_method_details_card_wallet_google_pay"]; + link?: components["schemas"]["payment_method_details_card_wallet_link"]; + masterpass?: components["schemas"]["payment_method_details_card_wallet_masterpass"]; + samsung_pay?: components["schemas"]["payment_method_details_card_wallet_samsung_pay"]; + /** + * @description The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. + * @enum {string} + */ + type: "amex_express_checkout" | "apple_pay" | "google_pay" | "link" | "masterpass" | "samsung_pay" | "visa_checkout"; + visa_checkout?: components["schemas"]["payment_method_details_card_wallet_visa_checkout"]; + }; + /** payment_method_details_card_wallet_amex_express_checkout */ + payment_method_details_card_wallet_amex_express_checkout: Record; + /** payment_method_details_card_wallet_apple_pay */ + payment_method_details_card_wallet_apple_pay: Record; + /** payment_method_details_card_wallet_google_pay */ + payment_method_details_card_wallet_google_pay: Record; + /** payment_method_details_card_wallet_link */ + payment_method_details_card_wallet_link: Record; + /** payment_method_details_card_wallet_masterpass */ + payment_method_details_card_wallet_masterpass: { + /** @description Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + billing_address?: components["schemas"]["address"] | null; + /** @description Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + email?: string | null; + /** @description Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + name?: string | null; + /** @description Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + shipping_address?: components["schemas"]["address"] | null; + }; + /** payment_method_details_card_wallet_samsung_pay */ + payment_method_details_card_wallet_samsung_pay: Record; + /** payment_method_details_card_wallet_visa_checkout */ + payment_method_details_card_wallet_visa_checkout: { + /** @description Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + billing_address?: components["schemas"]["address"] | null; + /** @description Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + email?: string | null; + /** @description Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + name?: string | null; + /** @description Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + shipping_address?: components["schemas"]["address"] | null; + }; + /** payment_method_details_cashapp */ + payment_method_details_cashapp: { + /** @description A unique and immutable identifier assigned by Cash App to every buyer. */ + buyer_id?: string | null; + /** @description A public identifier for buyers using Cash App. */ + cashtag?: string | null; + }; + /** payment_method_details_customer_balance */ + payment_method_details_customer_balance: Record; + /** payment_method_details_eps */ + payment_method_details_eps: { + /** + * @description The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`. + * @enum {string|null} + */ + bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; + /** @description Owner's verified full name. Values are verified or provided by EPS directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. + * EPS rarely provides this information so the attribute is usually empty. */ + verified_name?: string | null; + }; + /** payment_method_details_fpx */ + payment_method_details_fpx: { + /** + * @description The customer's bank. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`. + * @enum {string} + */ + bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; + /** @description Unique transaction id generated by FPX for every request from the merchant */ + transaction_id?: string | null; + }; + /** payment_method_details_giropay */ + payment_method_details_giropay: { + /** @description Bank code of bank associated with the bank account. */ + bank_code?: string | null; + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Bank Identifier Code of the bank associated with the bank account. */ + bic?: string | null; + /** @description Owner's verified full name. Values are verified or provided by Giropay directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. + * Giropay rarely provides this information so the attribute is usually empty. */ + verified_name?: string | null; + }; + /** payment_method_details_grabpay */ + payment_method_details_grabpay: { + /** @description Unique transaction id generated by GrabPay */ + transaction_id?: string | null; + }; + /** payment_method_details_ideal */ + payment_method_details_ideal: { + /** + * @description The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. + * @enum {string|null} + */ + bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; + /** + * @description The Bank Identifier Code of the customer's bank. + * @enum {string|null} + */ + bic?: "ABNANL2A" | "ASNBNL21" | "BITSNL2A" | "BUNQNL2A" | "FVLBNL22" | "HANDNL2A" | "INGBNL2A" | "KNABNL2H" | "MOYONL21" | "NTSBDEB1" | "RABONL2U" | "RBRBNL21" | "REVOIE23" | "REVOLT21" | "SNSBNL2A" | "TRIONL2U"; + /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ + generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; + /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ + generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; + /** @description Last four characters of the IBAN. */ + iban_last4?: string | null; + /** @description Owner's verified full name. Values are verified or provided by iDEAL directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + verified_name?: string | null; + }; + /** payment_method_details_interac_present */ + payment_method_details_interac_present: { + /** @description Card brand. Can be `interac`, `mastercard` or `visa`. */ + brand?: string | null; + /** @description The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. */ + cardholder_name?: string | null; + /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ + country?: string | null; + /** @description Authorization response cryptogram. */ + emv_auth_data?: string | null; + /** @description Two-digit number representing the card's expiration month. */ + exp_month: number; + /** @description Four-digit number representing the card's expiration year. */ + exp_year: number; + /** @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. + * + * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* */ + fingerprint?: string | null; + /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ + funding?: string | null; + /** @description ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. */ + generated_card?: string | null; + /** @description The last four digits of the card. */ + last4?: string | null; + /** @description Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ + network?: string | null; + /** @description EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */ + preferred_locales?: string[] | null; + /** + * @description How card details were read in this transaction. + * @enum {string|null} + */ + read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2"; + /** @description A collection of fields required to be displayed on receipts. Only required for EMV transactions. */ + receipt?: components["schemas"]["payment_method_details_interac_present_receipt"] | null; + }; + /** payment_method_details_interac_present_receipt */ + payment_method_details_interac_present_receipt: { + /** + * @description The type of account being debited or credited + * @enum {string} + */ + account_type?: "checking" | "savings" | "unknown"; + /** @description EMV tag 9F26, cryptogram generated by the integrated circuit chip. */ + application_cryptogram?: string | null; + /** @description Mnenomic of the Application Identifier. */ + application_preferred_name?: string | null; + /** @description Identifier for this transaction. */ + authorization_code?: string | null; + /** @description EMV tag 8A. A code returned by the card issuer. */ + authorization_response_code?: string | null; + /** @description How the cardholder verified ownership of the card. */ + cardholder_verification_method?: string | null; + /** @description EMV tag 84. Similar to the application identifier stored on the integrated circuit chip. */ + dedicated_file_name?: string | null; + /** @description The outcome of a series of EMV functions performed by the card reader. */ + terminal_verification_results?: string | null; + /** @description An indication of various EMV functions performed during the transaction. */ + transaction_status_information?: string | null; + }; + /** payment_method_details_klarna */ + payment_method_details_klarna: { + /** @description The Klarna payment method used for this transaction. + * Can be one of `pay_later`, `pay_now`, `pay_with_financing`, or `pay_in_installments` */ + payment_method_category?: string | null; + /** @description Preferred language of the Klarna authorization page that the customer is redirected to. + * Can be one of `de-AT`, `en-AT`, `nl-BE`, `fr-BE`, `en-BE`, `de-DE`, `en-DE`, `da-DK`, `en-DK`, `es-ES`, `en-ES`, `fi-FI`, `sv-FI`, `en-FI`, `en-GB`, `en-IE`, `it-IT`, `en-IT`, `nl-NL`, `en-NL`, `nb-NO`, `en-NO`, `sv-SE`, `en-SE`, `en-US`, `es-US`, `fr-FR`, `en-FR`, `cs-CZ`, `en-CZ`, `el-GR`, `en-GR`, `en-AU`, `en-NZ`, `en-CA`, `fr-CA`, `pl-PL`, `en-PL`, `pt-PT`, `en-PT`, `de-CH`, `fr-CH`, `it-CH`, or `en-CH` */ + preferred_locale?: string | null; + }; + /** payment_method_details_konbini */ + payment_method_details_konbini: { + /** @description If the payment succeeded, this contains the details of the convenience store where the payment was completed. */ + store?: components["schemas"]["payment_method_details_konbini_store"] | null; + }; + /** payment_method_details_konbini_store */ + payment_method_details_konbini_store: { + /** + * @description The name of the convenience store chain where the payment was completed. + * @enum {string|null} + */ + chain?: "familymart" | "lawson" | "ministop" | "seicomart"; + }; + /** payment_method_details_link */ + payment_method_details_link: { + /** @description Two-letter ISO code representing the funding source country beneath the Link payment. + * You could use this attribute to get a sense of international fees. */ + country?: string | null; + }; + /** payment_method_details_multibanco */ + payment_method_details_multibanco: { + /** @description Entity number associated with this Multibanco payment. */ + entity?: string | null; + /** @description Reference number associated with this Multibanco payment. */ + reference?: string | null; + }; + /** payment_method_details_oxxo */ + payment_method_details_oxxo: { + /** @description OXXO reference number */ + number?: string | null; + }; + /** payment_method_details_p24 */ + payment_method_details_p24: { + /** + * @description The customer's bank. Can be one of `ing`, `citi_handlowy`, `tmobile_usbugi_bankowe`, `plus_bank`, `etransfer_pocztowy24`, `banki_spbdzielcze`, `bank_nowy_bfg_sa`, `getin_bank`, `blik`, `noble_pay`, `ideabank`, `envelobank`, `santander_przelew24`, `nest_przelew`, `mbank_mtransfer`, `inteligo`, `pbac_z_ipko`, `bnp_paribas`, `credit_agricole`, `toyota_bank`, `bank_pekao_sa`, `volkswagen_bank`, `bank_millennium`, `alior_bank`, or `boz`. + * @enum {string|null} + */ + bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; + /** @description Unique reference for this Przelewy24 payment. */ + reference?: string | null; + /** @description Owner's verified full name. Values are verified or provided by Przelewy24 directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. + * Przelewy24 rarely provides this information so the attribute is usually empty. */ + verified_name?: string | null; + }; + /** payment_method_details_paynow */ + payment_method_details_paynow: { + /** @description Reference number associated with this PayNow payment */ + reference?: string | null; + }; + /** payment_method_details_paypal */ + payment_method_details_paypal: { + /** @description Owner's email. Values are provided by PayPal directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + payer_email?: string | null; + /** @description PayPal account PayerID. This identifier uniquely identifies the PayPal customer. */ + payer_id?: string | null; + /** @description Owner's full name. Values provided by PayPal directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + payer_name?: string | null; + /** @description The level of protection offered as defined by PayPal Seller Protection for Merchants, for this transaction. */ + seller_protection?: components["schemas"]["paypal_seller_protection"] | null; + /** @description A unique ID generated by PayPal for this transaction. */ + transaction_id?: string | null; + }; + /** payment_method_details_pix */ + payment_method_details_pix: { + /** @description Unique transaction id generated by BCB */ + bank_transaction_id?: string | null; + }; + /** payment_method_details_promptpay */ + payment_method_details_promptpay: { + /** @description Bill reference generated by PromptPay */ + reference?: string | null; + }; + /** payment_method_details_sepa_debit */ + payment_method_details_sepa_debit: { + /** @description Bank code of bank associated with the bank account. */ + bank_code?: string | null; + /** @description Branch code of bank associated with the bank account. */ + branch_code?: string | null; + /** @description Two-letter ISO code representing the country the bank account is located in. */ + country?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Last four characters of the IBAN. */ + last4?: string | null; + /** @description ID of the mandate used to make this payment. */ + mandate?: string | null; + }; + /** payment_method_details_sofort */ + payment_method_details_sofort: { + /** @description Bank code of bank associated with the bank account. */ + bank_code?: string | null; + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Bank Identifier Code of the bank associated with the bank account. */ + bic?: string | null; + /** @description Two-letter ISO code representing the country the bank account is located in. */ + country?: string | null; + /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ + generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; + /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. */ + generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; + /** @description Last four characters of the IBAN. */ + iban_last4?: string | null; + /** + * @description Preferred language of the SOFORT authorization page that the customer is redirected to. + * Can be one of `de`, `en`, `es`, `fr`, `it`, `nl`, or `pl` + * @enum {string|null} + */ + preferred_language?: "de" | "en" | "es" | "fr" | "it" | "nl" | "pl"; + /** @description Owner's verified full name. Values are verified or provided by SOFORT directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + verified_name?: string | null; + }; + /** payment_method_details_stripe_account */ + payment_method_details_stripe_account: Record; + /** payment_method_details_us_bank_account */ + payment_method_details_us_bank_account: { + /** + * @description Account holder type: individual or company. + * @enum {string|null} + */ + account_holder_type?: "company" | "individual"; + /** + * @description Account type: checkings or savings. Defaults to checking if omitted. + * @enum {string|null} + */ + account_type?: "checking" | "savings"; + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + /** @description Routing number of the bank account. */ + routing_number?: string | null; + }; + /** payment_method_details_wechat */ + payment_method_details_wechat: Record; + /** payment_method_details_wechat_pay */ + payment_method_details_wechat_pay: { + /** @description Uniquely identifies this particular WeChat Pay account. You can use this attribute to check whether two WeChat accounts are the same. */ + fingerprint?: string | null; + /** @description Transaction ID of this particular WeChat Pay transaction. */ + transaction_id?: string | null; + }; + /** payment_method_details_zip */ + payment_method_details_zip: Record; + /** + * PaymentMethodDomainResourcePaymentMethodDomain + * @description A payment method domain represents a web domain that you have registered with Stripe. + * Stripe Elements use registered payment method domains to control where certain payment methods are shown. + * + * Related guides: [Payment method domains](https://stripe.com/docs/payments/payment-methods/pmd-registration). + */ + payment_method_domain: { + apple_pay: components["schemas"]["payment_method_domain_resource_payment_method_status"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The domain name that this payment method domain object represents. */ + domain_name: string; + /** @description Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements. */ + enabled: boolean; + google_pay: components["schemas"]["payment_method_domain_resource_payment_method_status"]; + /** @description Unique identifier for the object. */ + id: string; + link: components["schemas"]["payment_method_domain_resource_payment_method_status"]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "payment_method_domain"; + paypal: components["schemas"]["payment_method_domain_resource_payment_method_status"]; + }; + /** + * PaymentMethodDomainResourcePaymentMethodStatus + * @description Indicates the status of a specific payment method on a payment method domain. + */ + payment_method_domain_resource_payment_method_status: { + /** + * @description The status of the payment method on the domain. + * @enum {string} + */ + status: "active" | "inactive"; + status_details?: components["schemas"]["payment_method_domain_resource_payment_method_status_details"]; + }; + /** + * PaymentMethodDomainResourcePaymentMethodStatusDetails + * @description Contains additional details about the status of a payment method for a specific payment method domain. + */ + payment_method_domain_resource_payment_method_status_details: { + /** @description The error message associated with the status of the payment method on the domain. */ + error_message: string; + }; + /** payment_method_eps */ + payment_method_eps: { + /** + * @description The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`. + * @enum {string|null} + */ + bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; + }; + /** payment_method_fpx */ + payment_method_fpx: { + /** + * @description The customer's bank, if provided. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`. + * @enum {string} + */ + bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; + }; + /** payment_method_giropay */ + payment_method_giropay: Record; + /** payment_method_grabpay */ + payment_method_grabpay: Record; + /** payment_method_ideal */ + payment_method_ideal: { + /** + * @description The customer's bank, if provided. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. + * @enum {string|null} + */ + bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; + /** + * @description The Bank Identifier Code of the customer's bank, if the bank was provided. + * @enum {string|null} + */ + bic?: "ABNANL2A" | "ASNBNL21" | "BITSNL2A" | "BUNQNL2A" | "FVLBNL22" | "HANDNL2A" | "INGBNL2A" | "KNABNL2H" | "MOYONL21" | "NTSBDEB1" | "RABONL2U" | "RBRBNL21" | "REVOIE23" | "REVOLT21" | "SNSBNL2A" | "TRIONL2U"; + }; + /** payment_method_interac_present */ + payment_method_interac_present: { + /** @description Card brand. Can be `interac`, `mastercard` or `visa`. */ + brand?: string | null; + /** @description The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. */ + cardholder_name?: string | null; + /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ + country?: string | null; + /** @description Two-digit number representing the card's expiration month. */ + exp_month: number; + /** @description Four-digit number representing the card's expiration year. */ + exp_year: number; + /** @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. + * + * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* */ + fingerprint?: string | null; + /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ + funding?: string | null; + /** @description The last four digits of the card. */ + last4?: string | null; + /** @description Contains information about card networks that can be used to process the payment. */ + networks?: components["schemas"]["payment_method_card_present_networks"] | null; + /** @description EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */ + preferred_locales?: string[] | null; + /** + * @description How card details were read in this transaction. + * @enum {string|null} + */ + read_method?: "contact_emv" | "contactless_emv" | "contactless_magstripe_mode" | "magnetic_stripe_fallback" | "magnetic_stripe_track2"; + }; + /** payment_method_klarna */ + payment_method_klarna: { + /** @description The customer's date of birth, if provided. */ + dob?: components["schemas"]["payment_flows_private_payment_methods_klarna_dob"] | null; + }; + /** payment_method_konbini */ + payment_method_konbini: Record; + /** payment_method_link */ + payment_method_link: { + /** @description Account owner's email address. */ + email?: string | null; + }; + /** payment_method_options_affirm */ + payment_method_options_affirm: { + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method?: "manual"; + /** @description Preferred language of the Affirm authorization page that the customer is redirected to. */ + preferred_locale?: string; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_afterpay_clearpay */ + payment_method_options_afterpay_clearpay: { + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method?: "manual"; + /** @description An internal identifier or reference that this payment corresponds to. You must limit the identifier to 128 characters, and it can only contain letters, numbers, underscores, backslashes, and dashes. + * This field differs from the statement descriptor and item name. */ + reference?: string | null; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_alipay */ + payment_method_options_alipay: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session"; + }; + /** payment_method_options_bacs_debit */ + payment_method_options_bacs_debit: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** payment_method_options_bancontact */ + payment_method_options_bancontact: { + /** + * @description Preferred language of the Bancontact authorization page that the customer is redirected to. + * @enum {string} + */ + preferred_language: "de" | "en" | "fr" | "nl"; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session"; + }; + /** payment_method_options_boleto */ + payment_method_options_boleto: { + /** @description The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will expire on Wednesday at 23:59 America/Sao_Paulo time. */ + expires_after_days: number; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** payment_method_options_card_installments */ + payment_method_options_card_installments: { + /** @description Installment plans that may be selected for this PaymentIntent. */ + available_plans?: components["schemas"]["payment_method_details_card_installments_plan"][] | null; + /** @description Whether Installments are enabled for this PaymentIntent. */ + enabled: boolean; + /** @description Installment plan selected for this PaymentIntent. */ + plan?: components["schemas"]["payment_method_details_card_installments_plan"] | null; + }; + /** payment_method_options_card_mandate_options */ + payment_method_options_card_mandate_options: { + /** @description Amount to be charged for future payments. */ + amount: number; + /** + * @description One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. + * @enum {string} + */ + amount_type: "fixed" | "maximum"; + /** @description A description of the mandate or subscription that is meant to be displayed to the customer. */ + description?: string | null; + /** + * Format: unix-time + * @description End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. + */ + end_date?: number | null; + /** + * @description Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. + * @enum {string} + */ + interval: "day" | "month" | "sporadic" | "week" | "year"; + /** @description The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. */ + interval_count?: number | null; + /** @description Unique identifier for the mandate or subscription. */ + reference: string; + /** + * Format: unix-time + * @description Start date of the mandate or subscription. Start date should not be lesser than yesterday. + */ + start_date: number; + /** @description Specifies the type of mandates supported. Possible values are `india`. */ + supported_types?: "india"[] | null; + }; + /** payment_method_options_card_present */ + payment_method_options_card_present: { + /** @description Request ability to capture this payment beyond the standard [authorization validity window](https://stripe.com/docs/terminal/features/extended-authorizations#authorization-validity) */ + request_extended_authorization?: boolean | null; + /** @description Request ability to [increment](https://stripe.com/docs/terminal/features/incremental-authorizations) this PaymentIntent if the combination of MCC and card brand is eligible. Check [incremental_authorization_supported](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) in the [Confirm](https://stripe.com/docs/api/payment_intents/confirm) response to verify support. */ + request_incremental_authorization_support?: boolean | null; + }; + /** payment_method_options_cashapp */ + payment_method_options_cashapp: { + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method?: "manual"; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** payment_method_options_customer_balance */ + payment_method_options_customer_balance: { + bank_transfer?: components["schemas"]["payment_method_options_customer_balance_bank_transfer"]; + /** + * @description The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. + * @enum {string|null} + */ + funding_type?: "bank_transfer"; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_customer_balance_bank_transfer */ + payment_method_options_customer_balance_bank_transfer: { + eu_bank_transfer?: components["schemas"]["payment_method_options_customer_balance_eu_bank_account"]; + /** @description List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. + * + * Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. */ + requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; + /** + * @description The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. + * @enum {string|null} + */ + type?: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; + }; + /** payment_method_options_customer_balance_eu_bank_account */ + payment_method_options_customer_balance_eu_bank_account: { + /** + * @description The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. + * @enum {string} + */ + country: "BE" | "DE" | "ES" | "FR" | "IE" | "NL"; + }; + /** payment_method_options_fpx */ + payment_method_options_fpx: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_giropay */ + payment_method_options_giropay: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_grabpay */ + payment_method_options_grabpay: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_ideal */ + payment_method_options_ideal: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session"; + }; + /** payment_method_options_interac_present */ + payment_method_options_interac_present: Record; + /** payment_method_options_klarna */ + payment_method_options_klarna: { + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method?: "manual"; + /** @description Preferred locale of the Klarna checkout page that the customer is redirected to. */ + preferred_locale?: string | null; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_konbini */ + payment_method_options_konbini: { + /** @description An optional 10 to 11 digit numeric-only string determining the confirmation code at applicable convenience stores. */ + confirmation_number?: string | null; + /** @description The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. */ + expires_after_days?: number | null; + /** + * Format: unix-time + * @description The timestamp at which the Konbini payment instructions will expire. Only one of `expires_after_days` or `expires_at` may be set. + */ + expires_at?: number | null; + /** @description A product descriptor of up to 22 characters, which will appear to customers at the convenience store. */ + product_description?: string | null; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_oxxo */ + payment_method_options_oxxo: { + /** @description The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time. */ + expires_after_days: number; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_p24 */ + payment_method_options_p24: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_paynow */ + payment_method_options_paynow: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_paypal */ + payment_method_options_paypal: { + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method?: "manual"; + /** @description Preferred locale of the PayPal checkout page that the customer is redirected to. */ + preferred_locale?: string | null; + /** @description A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID. */ + reference?: string | null; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session"; + }; + /** payment_method_options_pix */ + payment_method_options_pix: { + /** @description The number of seconds (between 10 and 1209600) after which Pix payment will expire. */ + expires_after_seconds?: number | null; + /** @description The timestamp at which the Pix expires. */ + expires_at?: number | null; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_promptpay */ + payment_method_options_promptpay: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_sofort */ + payment_method_options_sofort: { + /** + * @description Preferred language of the SOFORT authorization page that the customer is redirected to. + * @enum {string|null} + */ + preferred_language?: "de" | "en" | "es" | "fr" | "it" | "nl" | "pl"; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none" | "off_session"; + }; + /** payment_method_options_wechat_pay */ + payment_method_options_wechat_pay: { + /** @description The app ID registered with WeChat Pay. Only required when client is ios or android. */ + app_id?: string | null; + /** + * @description The client type that the end customer will pay from + * @enum {string|null} + */ + client?: "android" | "ios" | "web"; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_options_zip */ + payment_method_options_zip: { + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "none"; + }; + /** payment_method_oxxo */ + payment_method_oxxo: Record; + /** payment_method_p24 */ + payment_method_p24: { + /** + * @description The customer's bank, if provided. + * @enum {string|null} + */ + bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; + }; + /** payment_method_paynow */ + payment_method_paynow: Record; + /** payment_method_paypal */ + payment_method_paypal: { + /** @description Owner's email. Values are provided by PayPal directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + payer_email?: string | null; + /** @description PayPal account PayerID. This identifier uniquely identifies the PayPal customer. */ + payer_id?: string | null; + }; + /** payment_method_pix */ + payment_method_pix: Record; + /** payment_method_promptpay */ + payment_method_promptpay: Record; + /** payment_method_sepa_debit */ + payment_method_sepa_debit: { + /** @description Bank code of bank associated with the bank account. */ + bank_code?: string | null; + /** @description Branch code of bank associated with the bank account. */ + branch_code?: string | null; + /** @description Two-letter ISO code representing the country the bank account is located in. */ + country?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Information about the object that generated this PaymentMethod. */ + generated_from?: components["schemas"]["sepa_debit_generated_from"] | null; + /** @description Last four characters of the IBAN. */ + last4?: string | null; + }; + /** payment_method_sofort */ + payment_method_sofort: { + /** @description Two-letter ISO code representing the country the bank account is located in. */ + country?: string | null; + }; + /** payment_method_us_bank_account */ + payment_method_us_bank_account: { + /** + * @description Account holder type: individual or company. + * @enum {string|null} + */ + account_holder_type?: "company" | "individual"; + /** + * @description Account type: checkings or savings. Defaults to checking if omitted. + * @enum {string|null} + */ + account_type?: "checking" | "savings"; + /** @description The name of the bank. */ + bank_name?: string | null; + /** @description The ID of the Financial Connections Account used to create the payment method. */ + financial_connections_account?: string | null; + /** @description Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. */ + fingerprint?: string | null; + /** @description Last four digits of the bank account number. */ + last4?: string | null; + /** @description Contains information about US bank account networks that can be used. */ + networks?: components["schemas"]["us_bank_account_networks"] | null; + /** @description Routing number of the bank account. */ + routing_number?: string | null; + /** @description Contains information about the future reusability of this PaymentMethod. */ + status_details?: components["schemas"]["payment_method_us_bank_account_status_details"] | null; + }; + /** payment_method_us_bank_account_blocked */ + payment_method_us_bank_account_blocked: { + /** + * @description The ACH network code that resulted in this block. + * @enum {string|null} + */ + network_code?: "R02" | "R03" | "R04" | "R05" | "R07" | "R08" | "R10" | "R11" | "R16" | "R20" | "R29" | "R31"; + /** + * @description The reason why this PaymentMethod's fingerprint has been blocked + * @enum {string|null} + */ + reason?: "bank_account_closed" | "bank_account_frozen" | "bank_account_invalid_details" | "bank_account_restricted" | "bank_account_unusable" | "debit_not_authorized"; + }; + /** payment_method_us_bank_account_status_details */ + payment_method_us_bank_account_status_details: { + blocked?: components["schemas"]["payment_method_us_bank_account_blocked"]; + }; + /** payment_method_wechat_pay */ + payment_method_wechat_pay: Record; + /** payment_method_zip */ + payment_method_zip: Record; + /** PaymentPagesCheckoutSessionAfterExpiration */ + payment_pages_checkout_session_after_expiration: { + /** @description When set, configuration used to recover the Checkout Session on expiry. */ + recovery?: components["schemas"]["payment_pages_checkout_session_after_expiration_recovery"] | null; + }; + /** PaymentPagesCheckoutSessionAfterExpirationRecovery */ + payment_pages_checkout_session_after_expiration_recovery: { + /** @description Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to `false` */ + allow_promotion_codes: boolean; + /** @description If `true`, a recovery url will be generated to recover this Checkout Session if it + * expires before a transaction is completed. It will be attached to the + * Checkout Session object upon expiration. */ + enabled: boolean; + /** + * Format: unix-time + * @description The timestamp at which the recovery URL will expire. + */ + expires_at?: number | null; + /** @description URL that creates a new Checkout Session when clicked that is a copy of this expired Checkout Session */ + url?: string | null; + }; + /** PaymentPagesCheckoutSessionAutomaticTax */ + payment_pages_checkout_session_automatic_tax: { + /** @description Indicates whether automatic tax is enabled for the session */ + enabled: boolean; + /** + * @description The status of the most recent automated tax calculation for this session. + * @enum {string|null} + */ + status?: "complete" | "failed" | "requires_location_inputs"; + }; + /** PaymentPagesCheckoutSessionConsent */ + payment_pages_checkout_session_consent: { + /** + * @description If `opt_in`, the customer consents to receiving promotional communications + * from the merchant about this Checkout Session. + * @enum {string|null} + */ + promotions?: "opt_in" | "opt_out"; + /** + * @description If `accepted`, the customer in this Checkout Session has agreed to the merchant's terms of service. + * @enum {string|null} + */ + terms_of_service?: "accepted"; + }; + /** PaymentPagesCheckoutSessionConsentCollection */ + payment_pages_checkout_session_consent_collection: { + /** + * @description If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout + * Session will determine whether to display an option to opt into promotional communication + * from the merchant depending on the customer's locale. Only available to US merchants. + * @enum {string|null} + */ + promotions?: "auto" | "none"; + /** + * @description If set to `required`, it requires customers to accept the terms of service before being able to pay. + * @enum {string|null} + */ + terms_of_service?: "none" | "required"; + }; + /** PaymentPagesCheckoutSessionCurrencyConversion */ + payment_pages_checkout_session_currency_conversion: { + /** @description Total of all items in source currency before discounts or taxes are applied. */ + amount_subtotal: number; + /** @description Total of all items in source currency after discounts and taxes are applied. */ + amount_total: number; + /** + * Format: decimal + * @description Exchange rate used to convert source currency amounts to customer currency amounts + */ + fx_rate: string; + /** @description Creation currency of the CheckoutSession before localization */ + source_currency: string; + }; + /** PaymentPagesCheckoutSessionCustomFields */ + payment_pages_checkout_session_custom_fields: { + /** @description Configuration for `type=dropdown` fields. */ + dropdown?: components["schemas"]["payment_pages_checkout_session_custom_fields_dropdown"] | null; + /** @description String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters. */ + key: string; + label: components["schemas"]["payment_pages_checkout_session_custom_fields_label"]; + /** @description Configuration for `type=numeric` fields. */ + numeric?: components["schemas"]["payment_pages_checkout_session_custom_fields_numeric"] | null; + /** @description Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. */ + optional: boolean; + /** @description Configuration for `type=text` fields. */ + text?: components["schemas"]["payment_pages_checkout_session_custom_fields_text"] | null; + /** + * @description The type of the field. + * @enum {string} + */ + type: "dropdown" | "numeric" | "text"; + }; + /** PaymentPagesCheckoutSessionCustomFieldsDropdown */ + payment_pages_checkout_session_custom_fields_dropdown: { + /** @description The options available for the customer to select. Up to 200 options allowed. */ + options: components["schemas"]["payment_pages_checkout_session_custom_fields_option"][]; + /** @description The option selected by the customer. This will be the `value` for the option. */ + value?: string | null; + }; + /** PaymentPagesCheckoutSessionCustomFieldsLabel */ + payment_pages_checkout_session_custom_fields_label: { + /** @description Custom text for the label, displayed to the customer. Up to 50 characters. */ + custom?: string | null; + /** + * @description The type of the label. + * @enum {string} + */ + type: "custom"; + }; + /** PaymentPagesCheckoutSessionCustomFieldsNumeric */ + payment_pages_checkout_session_custom_fields_numeric: { + /** @description The maximum character length constraint for the customer's input. */ + maximum_length?: number | null; + /** @description The minimum character length requirement for the customer's input. */ + minimum_length?: number | null; + /** @description The value entered by the customer, containing only digits. */ + value?: string | null; + }; + /** PaymentPagesCheckoutSessionCustomFieldsOption */ + payment_pages_checkout_session_custom_fields_option: { + /** @description The label for the option, displayed to the customer. Up to 100 characters. */ + label: string; + /** @description The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters. */ + value: string; + }; + /** PaymentPagesCheckoutSessionCustomFieldsText */ + payment_pages_checkout_session_custom_fields_text: { + /** @description The maximum character length constraint for the customer's input. */ + maximum_length?: number | null; + /** @description The minimum character length requirement for the customer's input. */ + minimum_length?: number | null; + /** @description The value entered by the customer. */ + value?: string | null; + }; + /** PaymentPagesCheckoutSessionCustomText */ + payment_pages_checkout_session_custom_text: { + /** @description Custom text that should be displayed alongside shipping address collection. */ + shipping_address?: components["schemas"]["payment_pages_checkout_session_custom_text_position"] | null; + /** @description Custom text that should be displayed alongside the payment confirmation button. */ + submit?: components["schemas"]["payment_pages_checkout_session_custom_text_position"] | null; + /** @description Custom text that should be displayed in place of the default terms of service agreement text. */ + terms_of_service_acceptance?: components["schemas"]["payment_pages_checkout_session_custom_text_position"] | null; + }; + /** PaymentPagesCheckoutSessionCustomTextPosition */ + payment_pages_checkout_session_custom_text_position: { + /** @description Text may be up to 1200 characters in length. */ + message: string; + }; + /** PaymentPagesCheckoutSessionCustomerDetails */ + payment_pages_checkout_session_customer_details: { + /** @description The customer's address after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022. */ + address?: components["schemas"]["address"] | null; + /** @description The email associated with the Customer, if one exists, on the Checkout Session after a completed Checkout Session or at time of session expiry. + * Otherwise, if the customer has consented to promotional content, this value is the most recent valid email provided by the customer on the Checkout form. */ + email?: string | null; + /** @description The customer's name after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022. */ + name?: string | null; + /** @description The customer's phone number after a completed Checkout Session. */ + phone?: string | null; + /** + * @description The customer’s tax exempt status after a completed Checkout Session. + * @enum {string|null} + */ + tax_exempt?: "exempt" | "none" | "reverse"; + /** @description The customer’s tax IDs after a completed Checkout Session. */ + tax_ids?: components["schemas"]["payment_pages_checkout_session_tax_id"][] | null; + }; + /** PaymentPagesCheckoutSessionInvoiceCreation */ + payment_pages_checkout_session_invoice_creation: { + /** @description Indicates whether invoice creation is enabled for the Checkout Session. */ + enabled: boolean; + invoice_data: components["schemas"]["payment_pages_checkout_session_invoice_settings"]; + }; + /** PaymentPagesCheckoutSessionInvoiceSettings */ + payment_pages_checkout_session_invoice_settings: { + /** @description The account tax IDs associated with the invoice. */ + account_tax_ids?: (string | components["schemas"]["tax_id"] | components["schemas"]["deleted_tax_id"])[] | null; + /** @description Custom fields displayed on the invoice. */ + custom_fields?: components["schemas"]["invoice_setting_custom_field"][] | null; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description Footer displayed on the invoice. */ + footer?: string | null; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** @description Options for invoice PDF rendering. */ + rendering_options?: components["schemas"]["invoice_setting_rendering_options"] | null; + }; + /** PaymentPagesCheckoutSessionPhoneNumberCollection */ + payment_pages_checkout_session_phone_number_collection: { + /** @description Indicates whether phone number collection is enabled for the session */ + enabled: boolean; + }; + /** PaymentPagesCheckoutSessionShippingAddressCollection */ + payment_pages_checkout_session_shipping_address_collection: { + /** @description An array of two-letter ISO country codes representing which countries Checkout should provide as options for + * shipping locations. Unsupported country codes: `AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SD, SY, UM, VI`. */ + allowed_countries: ("AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CV" | "CW" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MK" | "ML" | "MM" | "MN" | "MO" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SZ" | "TA" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "ZZ")[]; + }; + /** PaymentPagesCheckoutSessionShippingCost */ + payment_pages_checkout_session_shipping_cost: { + /** @description Total shipping cost before any discounts or taxes are applied. */ + amount_subtotal: number; + /** @description Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0. */ + amount_tax: number; + /** @description Total shipping cost after discounts and taxes are applied. */ + amount_total: number; + /** @description The ID of the ShippingRate for this order. */ + shipping_rate?: (string | components["schemas"]["shipping_rate"]) | null; + /** @description The taxes applied to the shipping rate. */ + taxes?: components["schemas"]["line_items_tax_amount"][]; + }; + /** PaymentPagesCheckoutSessionShippingOption */ + payment_pages_checkout_session_shipping_option: { + /** @description A non-negative integer in cents representing how much to charge. */ + shipping_amount: number; + /** @description The shipping rate. */ + shipping_rate: string | components["schemas"]["shipping_rate"]; + }; + /** PaymentPagesCheckoutSessionTaxID */ + payment_pages_checkout_session_tax_id: { + /** + * @description The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, or `unknown` + * @enum {string} + */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "unknown" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; + /** @description The value of the tax ID. */ + value?: string | null; + }; + /** PaymentPagesCheckoutSessionTaxIDCollection */ + payment_pages_checkout_session_tax_id_collection: { + /** @description Indicates whether tax ID collection is enabled for the session */ + enabled: boolean; + }; + /** PaymentPagesCheckoutSessionTotalDetails */ + payment_pages_checkout_session_total_details: { + /** @description This is the sum of all the discounts. */ + amount_discount: number; + /** @description This is the sum of all the shipping amounts. */ + amount_shipping?: number | null; + /** @description This is the sum of all the tax amounts. */ + amount_tax: number; + breakdown?: components["schemas"]["payment_pages_checkout_session_total_details_resource_breakdown"]; + }; + /** PaymentPagesCheckoutSessionTotalDetailsResourceBreakdown */ + payment_pages_checkout_session_total_details_resource_breakdown: { + /** @description The aggregated discounts. */ + discounts: components["schemas"]["line_items_discount_amount"][]; + /** @description The aggregated tax amounts by rate. */ + taxes: components["schemas"]["line_items_tax_amount"][]; + }; + /** Polymorphic */ + payment_source: components["schemas"]["account"] | components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"]; + /** + * Payout + * @description A `Payout` object is created when you receive funds from Stripe, or when you + * initiate a payout to either a bank account or debit card of a [connected + * Stripe account](/docs/connect/bank-debit-card-payouts). You can retrieve individual payouts, + * and list all payouts. Payouts are made on [varying + * schedules](/docs/connect/manage-payout-schedule), depending on your country and + * industry. + * + * Related guide: [Receiving payouts](https://stripe.com/docs/payouts) + */ + payout: { + /** @description The amount (in cents (or local equivalent)) that transfers to your bank account or debit card. */ + amount: number; + /** + * Format: unix-time + * @description Date that you can expect the payout to arrive in the bank. This factors in delays to account for weekends or bank holidays. + */ + arrival_date: number; + /** @description Returns `true` if the payout is created by an [automated payout schedule](https://stripe.com/docs/payouts#payout-schedule) and `false` if it's [requested manually](https://stripe.com/docs/payouts#manual-payouts). */ + automatic: boolean; + /** @description ID of the balance transaction that describes the impact of this payout on your account balance. */ + balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description ID of the bank account or card the payout is sent to. */ + destination?: (string | components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["deleted_bank_account"] | components["schemas"]["deleted_card"]) | null; + /** @description If the payout fails or cancels, this is the ID of the balance transaction that reverses the initial balance transaction and returns the funds from the failed payout back in your balance. */ + failure_balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; + /** @description Error code that provides a reason for a payout failure, if available. View our [list of failure codes](https://stripe.com/docs/api#payout_failures). */ + failure_code?: string | null; + /** @description Message that provides the reason for a payout failure, if available. */ + failure_message?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** @description The method used to send this payout, which can be `standard` or `instant`. `instant` is supported for payouts to debit cards and bank accounts in certain countries. Learn more about [bank support for Instant Payouts](https://stripe.com/docs/payouts/instant-payouts-banks). */ + method: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "payout"; + /** @description If the payout reverses another, this is the ID of the original payout. */ + original_payout?: (string | components["schemas"]["payout"]) | null; + /** + * @description If `completed`, you can use the [Balance Transactions API](https://stripe.com/docs/api/balance_transactions/list#balance_transaction_list-payout) to list all balance transactions that are paid out in this payout. + * @enum {string} + */ + reconciliation_status: "completed" | "in_progress" | "not_applicable"; + /** @description If the payout reverses, this is the ID of the payout that reverses this payout. */ + reversed_by?: (string | components["schemas"]["payout"]) | null; + /** @description The source balance this payout came from, which can be one of the following: `card`, `fpx`, or `bank_account`. */ + source_type: string; + /** @description Extra information about a payout that displays on the user's bank statement. */ + statement_descriptor?: string | null; + /** @description Current status of the payout: `paid`, `pending`, `in_transit`, `canceled` or `failed`. A payout is `pending` until it's submitted to the bank, when it becomes `in_transit`. The status changes to `paid` if the transaction succeeds, or to `failed` or `canceled` (within 5 business days). Some payouts that fail might initially show as `paid`, then change to `failed`. */ + status: string; + /** + * @description Can be `bank_account` or `card`. + * @enum {string} + */ + type: "bank_account" | "card"; + }; + /** paypal_seller_protection */ + paypal_seller_protection: { + /** @description An array of conditions that are covered for the transaction, if applicable. */ + dispute_categories?: ("fraudulent" | "product_not_received")[] | null; + /** + * @description Indicates whether the transaction is eligible for PayPal's seller protection. + * @enum {string} + */ + status: "eligible" | "not_eligible" | "partially_eligible"; + }; + /** Period */ + period: { + /** + * Format: unix-time + * @description The end date of this usage period. All usage up to and including this point in time is included. + */ + end?: number | null; + /** + * Format: unix-time + * @description The start date of this usage period. All usage after this point in time is included. + */ + start?: number | null; + }; + /** + * Person + * @description This is an object representing a person associated with a Stripe account. + * + * A platform cannot access a Standard or Express account's persons after the account starts onboarding, such as after generating an account link for the account. + * See the [Standard onboarding](https://stripe.com/docs/connect/standard-accounts) or [Express onboarding documentation](https://stripe.com/docs/connect/express-accounts) for information about platform prefilling and account onboarding steps. + * + * Related guide: [Handling identity verification with the API](https://stripe.com/docs/connect/handling-api-verification#person-information) + */ + person: { + /** @description The account the person is associated with. */ + account: string; + address?: components["schemas"]["address"]; + address_kana?: components["schemas"]["legal_entity_japan_address"] | null; + address_kanji?: components["schemas"]["legal_entity_japan_address"] | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + dob?: components["schemas"]["legal_entity_dob"]; + /** @description The person's email address. */ + email?: string | null; + /** @description The person's first name. */ + first_name?: string | null; + /** @description The Kana variation of the person's first name (Japan only). */ + first_name_kana?: string | null; + /** @description The Kanji variation of the person's first name (Japan only). */ + first_name_kanji?: string | null; + /** @description A list of alternate names or aliases that the person is known by. */ + full_name_aliases?: string[]; + future_requirements?: components["schemas"]["person_future_requirements"] | null; + /** @description The person's gender (International regulations require either "male" or "female"). */ + gender?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Whether the person's `id_number` was provided. True if either the full ID number was provided or if only the required part of the ID number was provided (ex. last four of an individual's SSN for the US indicated by `ssn_last_4_provided`). */ + id_number_provided?: boolean; + /** @description Whether the person's `id_number_secondary` was provided. */ + id_number_secondary_provided?: boolean; + /** @description The person's last name. */ + last_name?: string | null; + /** @description The Kana variation of the person's last name (Japan only). */ + last_name_kana?: string | null; + /** @description The Kanji variation of the person's last name (Japan only). */ + last_name_kanji?: string | null; + /** @description The person's maiden name. */ + maiden_name?: string | null; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + }; + /** @description The country where the person is a national. */ + nationality?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "person"; + /** @description The person's phone number. */ + phone?: string | null; + /** + * @description Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. + * @enum {string} + */ + political_exposure?: "existing" | "none"; + registered_address?: components["schemas"]["address"]; + relationship?: components["schemas"]["person_relationship"]; + requirements?: components["schemas"]["person_requirements"] | null; + /** @description Whether the last four digits of the person's Social Security number have been provided (U.S. only). */ + ssn_last_4_provided?: boolean; + verification?: components["schemas"]["legal_entity_person_verification"]; + }; + /** PersonFutureRequirements */ + person_future_requirements: { + /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ + alternatives?: components["schemas"]["account_requirements_alternative"][] | null; + /** @description Fields that need to be collected to keep the person's account enabled. If not collected by the account's `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash, and may immediately become `past_due`, but the account may also be given a grace period depending on the account's enablement state prior to transition. */ + currently_due: string[]; + /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ + errors: components["schemas"]["account_requirements_error"][]; + /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `future_requirements[current_deadline]` becomes set. */ + eventually_due: string[]; + /** @description Fields that weren't collected by the account's `requirements.current_deadline`. These fields need to be collected to enable the person's account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`. */ + past_due: string[]; + /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. */ + pending_verification: string[]; + }; + /** PersonRelationship */ + person_relationship: { + /** @description Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. */ + director?: boolean | null; + /** @description Whether the person has significant responsibility to control, manage, or direct the organization. */ + executive?: boolean | null; + /** @description Whether the person is an owner of the account’s legal entity. */ + owner?: boolean | null; + /** @description The percent owned by the person of the account's legal entity. */ + percent_ownership?: number | null; + /** @description Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. */ + representative?: boolean | null; + /** @description The person's title (e.g., CEO, Support Engineer). */ + title?: string | null; + }; + /** PersonRequirements */ + person_requirements: { + /** @description Fields that are due and can be satisfied by providing the corresponding alternative fields instead. */ + alternatives?: components["schemas"]["account_requirements_alternative"][] | null; + /** @description Fields that need to be collected to keep the person's account enabled. If not collected by the account's `current_deadline`, these fields appear in `past_due` as well, and the account is disabled. */ + currently_due: string[]; + /** @description Fields that are `currently_due` and need to be collected again because validation or verification failed. */ + errors: components["schemas"]["account_requirements_error"][]; + /** @description Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `current_deadline` becomes set. */ + eventually_due: string[]; + /** @description Fields that weren't collected by the account's `current_deadline`. These fields need to be collected to enable the person's account. */ + past_due: string[]; + /** @description Fields that may become required depending on the results of verification or review. Will be an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. */ + pending_verification: string[]; + }; + /** + * Plan + * @description You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration. + * + * Plans define the base price, currency, and billing cycle for recurring purchases of products. + * [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme. + * + * For example, you might have a single "gold" product that has plans for $10/month, $100/year, €9/month, and €90/year. + * + * Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and prices](https://stripe.com/docs/products-prices/overview). + */ + plan: { + /** @description Whether the plan can be used for new purchases. */ + active: boolean; + /** + * @description Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`. + * @enum {string|null} + */ + aggregate_usage?: "last_during_period" | "last_ever" | "max" | "sum"; + /** @description The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`. */ + amount?: number | null; + /** + * Format: decimal + * @description The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`. + */ + amount_decimal?: string | null; + /** + * @description Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes. + * @enum {string} + */ + billing_scheme: "per_unit" | "tiered"; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`. + * @enum {string} + */ + interval: "day" | "month" | "week" | "year"; + /** @description The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. */ + interval_count: number; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** @description A brief description of the plan, hidden from customers. */ + nickname?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "plan"; + /** @description The product whose pricing this plan determines. */ + product?: (string | components["schemas"]["product"] | components["schemas"]["deleted_product"]) | null; + /** @description Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. */ + tiers?: components["schemas"]["plan_tier"][]; + /** + * @description Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows. + * @enum {string|null} + */ + tiers_mode?: "graduated" | "volume"; + /** @description Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`. */ + transform_usage?: components["schemas"]["transform_usage"] | null; + /** @description Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). */ + trial_period_days?: number | null; + /** + * @description Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`. + * @enum {string} + */ + usage_type: "licensed" | "metered"; + }; + /** PlanTier */ + plan_tier: { + /** @description Price for the entire tier. */ + flat_amount?: number | null; + /** + * Format: decimal + * @description Same as `flat_amount`, but contains a decimal value with at most 12 decimal places. + */ + flat_amount_decimal?: string | null; + /** @description Per unit price for units relevant to the tier. */ + unit_amount?: number | null; + /** + * Format: decimal + * @description Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. + */ + unit_amount_decimal?: string | null; + /** @description Up to and including to this quantity will be contained in the tier. */ + up_to?: number | null; + }; + /** PlatformTax */ + platform_tax_fee: { + /** @description The Connected account that incurred this charge. */ + account: string; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "platform_tax_fee"; + /** @description The payment object that caused this tax to be inflicted. */ + source_transaction: string; + /** @description The type of tax (VAT). */ + type: string; + }; + /** PortalBusinessProfile */ + portal_business_profile: { + /** @description The messaging shown to customers in the portal. */ + headline?: string | null; + /** @description A link to the business’s publicly available privacy policy. */ + privacy_policy_url?: string | null; + /** @description A link to the business’s publicly available terms of service. */ + terms_of_service_url?: string | null; + }; + /** PortalCustomerUpdate */ + portal_customer_update: { + /** @description The types of customer updates that are supported. When empty, customers are not updateable. */ + allowed_updates: ("address" | "email" | "name" | "phone" | "shipping" | "tax_id")[]; + /** @description Whether the feature is enabled. */ + enabled: boolean; + }; + /** PortalFeatures */ + portal_features: { + customer_update: components["schemas"]["portal_customer_update"]; + invoice_history: components["schemas"]["portal_invoice_list"]; + payment_method_update: components["schemas"]["portal_payment_method_update"]; + subscription_cancel: components["schemas"]["portal_subscription_cancel"]; + subscription_pause: components["schemas"]["portal_subscription_pause"]; + subscription_update: components["schemas"]["portal_subscription_update"]; + }; + /** PortalFlowsAfterCompletionHostedConfirmation */ + portal_flows_after_completion_hosted_confirmation: { + /** @description A custom message to display to the customer after the flow is completed. */ + custom_message?: string | null; + }; + /** PortalFlowsAfterCompletionRedirect */ + portal_flows_after_completion_redirect: { + /** @description The URL the customer will be redirected to after the flow is completed. */ + return_url: string; + }; + /** PortalFlowsCouponOffer */ + portal_flows_coupon_offer: { + /** @description The ID of the coupon to be offered. */ + coupon: string; + }; + /** PortalFlowsFlow */ + portal_flows_flow: { + after_completion: components["schemas"]["portal_flows_flow_after_completion"]; + /** @description Configuration when `flow.type=subscription_cancel`. */ + subscription_cancel?: components["schemas"]["portal_flows_flow_subscription_cancel"] | null; + /** @description Configuration when `flow.type=subscription_update`. */ + subscription_update?: components["schemas"]["portal_flows_flow_subscription_update"] | null; + /** @description Configuration when `flow.type=subscription_update_confirm`. */ + subscription_update_confirm?: components["schemas"]["portal_flows_flow_subscription_update_confirm"] | null; + /** + * @description Type of flow that the customer will go through. + * @enum {string} + */ + type: "payment_method_update" | "subscription_cancel" | "subscription_update" | "subscription_update_confirm"; + }; + /** PortalFlowsFlowAfterCompletion */ + portal_flows_flow_after_completion: { + /** @description Configuration when `after_completion.type=hosted_confirmation`. */ + hosted_confirmation?: components["schemas"]["portal_flows_after_completion_hosted_confirmation"] | null; + /** @description Configuration when `after_completion.type=redirect`. */ + redirect?: components["schemas"]["portal_flows_after_completion_redirect"] | null; + /** + * @description The specified type of behavior after the flow is completed. + * @enum {string} + */ + type: "hosted_confirmation" | "portal_homepage" | "redirect"; + }; + /** PortalFlowsFlowSubscriptionCancel */ + portal_flows_flow_subscription_cancel: { + /** @description Specify a retention strategy to be used in the cancellation flow. */ + retention?: components["schemas"]["portal_flows_retention"] | null; + /** @description The ID of the subscription to be canceled. */ + subscription: string; + }; + /** PortalFlowsFlowSubscriptionUpdate */ + portal_flows_flow_subscription_update: { + /** @description The ID of the subscription to be updated. */ + subscription: string; + }; + /** PortalFlowsFlowSubscriptionUpdateConfirm */ + portal_flows_flow_subscription_update_confirm: { + /** @description The coupon or promotion code to apply to this subscription update. Currently, only up to one may be specified. */ + discounts?: components["schemas"]["portal_flows_subscription_update_confirm_discount"][] | null; + /** @description The [subscription item](https://stripe.com/docs/api/subscription_items) to be updated through this flow. Currently, only up to one may be specified and subscriptions with multiple items are not updatable. */ + items: components["schemas"]["portal_flows_subscription_update_confirm_item"][]; + /** @description The ID of the subscription to be updated. */ + subscription: string; + }; + /** PortalFlowsRetention */ + portal_flows_retention: { + /** @description Configuration when `retention.type=coupon_offer`. */ + coupon_offer?: components["schemas"]["portal_flows_coupon_offer"] | null; + /** + * @description Type of retention strategy that will be used. + * @enum {string} + */ + type: "coupon_offer"; + }; + /** PortalFlowsSubscriptionUpdateConfirmDiscount */ + portal_flows_subscription_update_confirm_discount: { + /** @description The ID of the coupon to apply to this subscription update. */ + coupon?: string | null; + /** @description The ID of a promotion code to apply to this subscription update. */ + promotion_code?: string | null; + }; + /** PortalFlowsSubscriptionUpdateConfirmItem */ + portal_flows_subscription_update_confirm_item: { + /** @description The ID of the [subscription item](https://stripe.com/docs/api/subscriptions/object#subscription_object-items-data-id) to be updated. */ + id?: string | null; + /** @description The price the customer should subscribe to through this flow. The price must also be included in the configuration's [`features.subscription_update.products`](https://stripe.com/docs/api/customer_portal/configuration#portal_configuration_object-features-subscription_update-products). */ + price?: string | null; + /** @description [Quantity](https://stripe.com/docs/subscriptions/quantities) for this item that the customer should subscribe to through this flow. */ + quantity?: number; + }; + /** PortalInvoiceList */ + portal_invoice_list: { + /** @description Whether the feature is enabled. */ + enabled: boolean; + }; + /** PortalLoginPage */ + portal_login_page: { + /** @description If `true`, a shareable `url` will be generated that will take your customers to a hosted login page for the customer portal. + * + * If `false`, the previously generated `url`, if any, will be deactivated. */ + enabled: boolean; + /** @description A shareable URL to the hosted portal login page. Your customers will be able to log in with their [email](https://stripe.com/docs/api/customers/object#customer_object-email) and receive a link to their customer portal. */ + url?: string | null; + }; + /** PortalPaymentMethodUpdate */ + portal_payment_method_update: { + /** @description Whether the feature is enabled. */ + enabled: boolean; + }; + /** PortalSubscriptionCancel */ + portal_subscription_cancel: { + cancellation_reason: components["schemas"]["portal_subscription_cancellation_reason"]; + /** @description Whether the feature is enabled. */ + enabled: boolean; + /** + * @description Whether to cancel subscriptions immediately or at the end of the billing period. + * @enum {string} + */ + mode: "at_period_end" | "immediately"; + /** + * @description Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`. + * @enum {string} + */ + proration_behavior: "always_invoice" | "create_prorations" | "none"; + }; + /** PortalSubscriptionCancellationReason */ + portal_subscription_cancellation_reason: { + /** @description Whether the feature is enabled. */ + enabled: boolean; + /** @description Which cancellation reasons will be given as options to the customer. */ + options: ("customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused")[]; + }; + /** PortalSubscriptionPause */ + portal_subscription_pause: { + /** @description Whether the feature is enabled. */ + enabled: boolean; + }; + /** PortalSubscriptionUpdate */ + portal_subscription_update: { + /** @description The types of subscription updates that are supported for items listed in the `products` attribute. When empty, subscriptions are not updateable. */ + default_allowed_updates: ("price" | "promotion_code" | "quantity")[]; + /** @description Whether the feature is enabled. */ + enabled: boolean; + /** @description The list of products that support subscription updates. */ + products?: components["schemas"]["portal_subscription_update_product"][] | null; + /** + * @description Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`. + * @enum {string} + */ + proration_behavior: "always_invoice" | "create_prorations" | "none"; + }; + /** PortalSubscriptionUpdateProduct */ + portal_subscription_update_product: { + /** @description The list of price IDs which, when subscribed to, a subscription can be updated. */ + prices: string[]; + /** @description The product ID. */ + product: string; + }; + /** + * Price + * @description Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products. + * [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme. + * + * For example, you might have a single "gold" product that has prices for $10/month, $100/year, and €9 once. + * + * Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [create an invoice](https://stripe.com/docs/billing/invoices/create), and more about [products and prices](https://stripe.com/docs/products-prices/overview). + */ + price: { + /** @description Whether the price can be used for new purchases. */ + active: boolean; + /** + * @description Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes. + * @enum {string} + */ + billing_scheme: "per_unit" | "tiered"; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ + currency_options?: { + [key: string]: components["schemas"]["currency_option"]; + }; + /** @description When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. */ + custom_unit_amount?: components["schemas"]["custom_unit_amount"] | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. */ + lookup_key?: string | null; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** @description A brief description of the price, hidden from customers. */ + nickname?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "price"; + /** @description The ID of the product this price is associated with. */ + product: string | components["schemas"]["product"] | components["schemas"]["deleted_product"]; + /** @description The recurring components of a price such as `interval` and `usage_type`. */ + recurring?: components["schemas"]["recurring"] | null; + /** + * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. + * @enum {string|null} + */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + /** @description Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. */ + tiers?: components["schemas"]["price_tier"][]; + /** + * @description Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows. + * @enum {string|null} + */ + tiers_mode?: "graduated" | "volume"; + /** @description Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`. */ + transform_quantity?: components["schemas"]["transform_quantity"] | null; + /** + * @description One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase. + * @enum {string} + */ + type: "one_time" | "recurring"; + /** @description The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`. */ + unit_amount?: number | null; + /** + * Format: decimal + * @description The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`. + */ + unit_amount_decimal?: string | null; + }; + /** PriceTier */ + price_tier: { + /** @description Price for the entire tier. */ + flat_amount?: number | null; + /** + * Format: decimal + * @description Same as `flat_amount`, but contains a decimal value with at most 12 decimal places. + */ + flat_amount_decimal?: string | null; + /** @description Per unit price for units relevant to the tier. */ + unit_amount?: number | null; + /** + * Format: decimal + * @description Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. + */ + unit_amount_decimal?: string | null; + /** @description Up to and including to this quantity will be contained in the tier. */ + up_to?: number | null; + }; + /** + * Product + * @description Products describe the specific goods or services you offer to your customers. + * For example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product. + * They can be used in conjunction with [Prices](https://stripe.com/docs/api#prices) to configure pricing in Payment Links, Checkout, and Subscriptions. + * + * Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), + * [share a Payment Link](https://stripe.com/docs/payment-links), + * [accept payments with Checkout](https://stripe.com/docs/payments/accept-a-payment#create-product-prices-upfront), + * and more about [Products and Prices](https://stripe.com/docs/products-prices/overview) + */ + product: { + /** @description Whether the product is currently available for purchase. */ + active: boolean; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product. */ + default_price?: (string | components["schemas"]["price"]) | null; + /** @description The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. */ + description?: string | null; + /** @description A list of up to 15 features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table). */ + features: components["schemas"]["product_feature"][]; + /** @description Unique identifier for the object. */ + id: string; + /** @description A list of up to 8 URLs of images for this product, meant to be displayable to the customer. */ + images: string[]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** @description The product's name, meant to be displayable to the customer. */ + name: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "product"; + /** @description The dimensions of this product for shipping purposes. */ + package_dimensions?: components["schemas"]["package_dimensions"] | null; + /** @description Whether this product is shipped (i.e., physical goods). */ + shippable?: boolean | null; + /** @description Extra information about a product which will appear on your customer's credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used. */ + statement_descriptor?: string | null; + /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. */ + tax_code?: (string | components["schemas"]["tax_code"]) | null; + /** @description A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. */ + unit_label?: string | null; + /** + * Format: unix-time + * @description Time at which the object was last updated. Measured in seconds since the Unix epoch. + */ + updated: number; + /** @description A URL of a publicly-accessible webpage for this product. */ + url?: string | null; + }; + /** ProductFeature */ + product_feature: { + /** @description The feature's name. Up to 80 characters long. */ + name: string; + }; + /** + * PromotionCode + * @description A Promotion Code represents a customer-redeemable code for a [coupon](https://stripe.com/docs/api#coupons). It can be used to + * create multiple codes for a single coupon. + */ + promotion_code: { + /** @description Whether the promotion code is currently active. A promotion code is only active if the coupon is also valid. */ + active: boolean; + /** @description The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for each customer. */ + code: string; + coupon: components["schemas"]["coupon"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The customer that this promotion code can be used by. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** + * Format: unix-time + * @description Date at which the promotion code can no longer be redeemed. + */ + expires_at?: number | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Maximum number of times this promotion code can be redeemed. */ + max_redemptions?: number | null; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "promotion_code"; + restrictions: components["schemas"]["promotion_codes_resource_restrictions"]; + /** @description Number of times this promotion code has been used. */ + times_redeemed: number; + }; + /** PromotionCodeCurrencyOption */ + promotion_code_currency_option: { + /** @description Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work). */ + minimum_amount: number; + }; + /** PromotionCodesResourceRestrictions */ + promotion_codes_resource_restrictions: { + /** @description Promotion code restrictions defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ + currency_options?: { + [key: string]: components["schemas"]["promotion_code_currency_option"]; + }; + /** @description A Boolean indicating if the Promotion Code should only be redeemed for Customers without any successful payments or invoices */ + first_time_transaction: boolean; + /** @description Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work). */ + minimum_amount?: number | null; + /** @description Three-letter [ISO code](https://stripe.com/docs/currencies) for minimum_amount */ + minimum_amount_currency?: string | null; + }; + /** + * Quote + * @description A Quote is a way to model prices that you'd like to provide to a customer. + * Once accepted, it will automatically create an invoice, subscription or subscription schedule. + */ + quote: { + /** @description Total before any discounts or taxes are applied. */ + amount_subtotal: number; + /** @description Total after discounts and taxes are applied. */ + amount_total: number; + /** @description ID of the Connect Application that created the quote. */ + application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; + /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Only applicable if there are no line items with recurring prices on the quote. */ + application_fee_amount?: number | null; + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. Only applicable if there are line items with recurring prices on the quote. */ + application_fee_percent?: number | null; + automatic_tax: components["schemas"]["quotes_resource_automatic_tax"]; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or on finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. + * @enum {string} + */ + collection_method: "charge_automatically" | "send_invoice"; + computed: components["schemas"]["quotes_resource_computed"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string | null; + /** @description The customer which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** @description The tax rates applied to this quote. */ + default_tax_rates?: (string | components["schemas"]["tax_rate"])[]; + /** @description A description that will be displayed on the quote PDF. */ + description?: string | null; + /** @description The discounts applied to this quote. */ + discounts: (string | components["schemas"]["discount"])[]; + /** + * Format: unix-time + * @description The date on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. + */ + expires_at: number; + /** @description A footer that will be displayed on the quote PDF. */ + footer?: string | null; + /** @description Details of the quote that was cloned. See the [cloning documentation](https://stripe.com/docs/quotes/clone) for more details. */ + from_quote?: components["schemas"]["quotes_resource_from_quote"] | null; + /** @description A header that will be displayed on the quote PDF. */ + header?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description The invoice that was created from this quote. */ + invoice?: (string | components["schemas"]["invoice"] | components["schemas"]["deleted_invoice"]) | null; + /** @description All invoices will be billed using the specified settings. */ + invoice_settings?: components["schemas"]["invoice_setting_quote_setting"] | null; + /** + * QuotesResourceListLineItems + * @description A list of items the customer is being quoted for. + */ + line_items?: { + /** @description Details about each object. */ + data: components["schemas"]["item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** @description A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://stripe.com/docs/quotes/overview#finalize). */ + number?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "quote"; + /** @description The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details. */ + on_behalf_of?: (string | components["schemas"]["account"]) | null; + /** + * @description The status of the quote. + * @enum {string} + */ + status: "accepted" | "canceled" | "draft" | "open"; + status_transitions: components["schemas"]["quotes_resource_status_transitions"]; + /** @description The subscription that was created or updated from this quote. */ + subscription?: (string | components["schemas"]["subscription"]) | null; + subscription_data: components["schemas"]["quotes_resource_subscription_data_subscription_data"]; + /** @description The subscription schedule that was created or updated from this quote. */ + subscription_schedule?: (string | components["schemas"]["subscription_schedule"]) | null; + /** @description ID of the test clock this quote belongs to. */ + test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; + total_details: components["schemas"]["quotes_resource_total_details"]; + /** @description The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices. */ + transfer_data?: components["schemas"]["quotes_resource_transfer_data"] | null; + }; + /** QuotesResourceAutomaticTax */ + quotes_resource_automatic_tax: { + /** @description Automatically calculate taxes */ + enabled: boolean; + /** + * @description The status of the most recent automated tax calculation for this quote. + * @enum {string|null} + */ + status?: "complete" | "failed" | "requires_location_inputs"; + }; + /** QuotesResourceComputed */ + quotes_resource_computed: { + /** @description The definitive totals and line items the customer will be charged on a recurring basis. Takes into account the line items with recurring prices and discounts with `duration=forever` coupons only. Defaults to `null` if no inputted line items with recurring prices. */ + recurring?: components["schemas"]["quotes_resource_recurring"] | null; + upfront: components["schemas"]["quotes_resource_upfront"]; + }; + /** QuotesResourceFromQuote */ + quotes_resource_from_quote: { + /** @description Whether this quote is a revision of a different quote. */ + is_revision: boolean; + /** @description The quote that was cloned. */ + quote: string | components["schemas"]["quote"]; + }; + /** QuotesResourceRecurring */ + quotes_resource_recurring: { + /** @description Total before any discounts or taxes are applied. */ + amount_subtotal: number; + /** @description Total after discounts and taxes are applied. */ + amount_total: number; + /** + * @description The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`. + * @enum {string} + */ + interval: "day" | "month" | "week" | "year"; + /** @description The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. */ + interval_count: number; + total_details: components["schemas"]["quotes_resource_total_details"]; + }; + /** QuotesResourceStatusTransitions */ + quotes_resource_status_transitions: { + /** + * Format: unix-time + * @description The time that the quote was accepted. Measured in seconds since Unix epoch. + */ + accepted_at?: number | null; + /** + * Format: unix-time + * @description The time that the quote was canceled. Measured in seconds since Unix epoch. + */ + canceled_at?: number | null; + /** + * Format: unix-time + * @description The time that the quote was finalized. Measured in seconds since Unix epoch. + */ + finalized_at?: number | null; + }; + /** QuotesResourceSubscriptionDataSubscriptionData */ + quotes_resource_subscription_data_subscription_data: { + /** @description The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription. */ + description?: string | null; + /** + * Format: unix-time + * @description When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. This date is ignored if it is in the past when the quote is accepted. Measured in seconds since the Unix epoch. + */ + effective_date?: number | null; + /** @description Integer representing the number of trial period days before the customer is charged for the first time. */ + trial_period_days?: number | null; + }; + /** QuotesResourceTotalDetails */ + quotes_resource_total_details: { + /** @description This is the sum of all the discounts. */ + amount_discount: number; + /** @description This is the sum of all the shipping amounts. */ + amount_shipping?: number | null; + /** @description This is the sum of all the tax amounts. */ + amount_tax: number; + breakdown?: components["schemas"]["quotes_resource_total_details_resource_breakdown"]; + }; + /** QuotesResourceTotalDetailsResourceBreakdown */ + quotes_resource_total_details_resource_breakdown: { + /** @description The aggregated discounts. */ + discounts: components["schemas"]["line_items_discount_amount"][]; + /** @description The aggregated tax amounts by rate. */ + taxes: components["schemas"]["line_items_tax_amount"][]; + }; + /** QuotesResourceTransferData */ + quotes_resource_transfer_data: { + /** @description The amount in cents (or local equivalent) that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination. */ + amount?: number | null; + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount will be transferred to the destination. */ + amount_percent?: number | null; + /** @description The account where funds from the payment will be transferred to upon payment success. */ + destination: string | components["schemas"]["account"]; + }; + /** QuotesResourceUpfront */ + quotes_resource_upfront: { + /** @description Total before any discounts or taxes are applied. */ + amount_subtotal: number; + /** @description Total after discounts and taxes are applied. */ + amount_total: number; + /** + * QuotesResourceListLineItems + * @description The line items that will appear on the next invoice after this quote is accepted. This does not include pending invoice items that exist on the customer but may still be included in the next invoice. + */ + line_items?: { + /** @description Details about each object. */ + data: components["schemas"]["item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + total_details: components["schemas"]["quotes_resource_total_details"]; + }; + /** + * RadarEarlyFraudWarning + * @description An early fraud warning indicates that the card issuer has notified us that a + * charge may be fraudulent. + * + * Related guide: [Early fraud warnings](https://stripe.com/docs/disputes/measuring#early-fraud-warnings) + */ + "radar.early_fraud_warning": { + /** @description An EFW is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an EFW, in order to avoid receiving a dispute later. */ + actionable: boolean; + /** @description ID of the charge this early fraud warning is for, optionally expanded. */ + charge: string | components["schemas"]["charge"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The type of fraud labelled by the issuer. One of `card_never_received`, `fraudulent_card_application`, `made_with_counterfeit_card`, `made_with_lost_card`, `made_with_stolen_card`, `misc`, `unauthorized_use_of_card`. */ + fraud_type: string; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "radar.early_fraud_warning"; + /** @description ID of the Payment Intent this early fraud warning is for, optionally expanded. */ + payment_intent?: string | components["schemas"]["payment_intent"]; + }; + /** + * RadarListList + * @description Value lists allow you to group values together which can then be referenced in rules. + * + * Related guide: [Default Stripe lists](https://stripe.com/docs/radar/lists#managing-list-items) + */ + "radar.value_list": { + /** @description The name of the value list for use in rules. */ + alias: string; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The name or email address of the user who created this value list. */ + created_by: string; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description The type of items in the value list. One of `card_fingerprint`, `us_bank_account_fingerprint`, `sepa_debit_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, or `customer_id`. + * @enum {string} + */ + item_type: "card_bin" | "card_fingerprint" | "case_sensitive_string" | "country" | "customer_id" | "email" | "ip_address" | "sepa_debit_fingerprint" | "string" | "us_bank_account_fingerprint"; + /** + * RadarListListItemList + * @description List of items contained within this value list. + */ + list_items: { + /** @description Details about each object. */ + data: components["schemas"]["radar.value_list_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** @description The name of the value list. */ + name: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "radar.value_list"; + }; + /** + * RadarListListItem + * @description Value list items allow you to add specific values to a given Radar value list, which can then be used in rules. + * + * Related guide: [Managing list items](https://stripe.com/docs/radar/lists#managing-list-items) + */ + "radar.value_list_item": { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The name or email address of the user who added this item to the value list. */ + created_by: string; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "radar.value_list_item"; + /** @description The value of the item. */ + value: string; + /** @description The identifier of the value list this item belongs to. */ + value_list: string; + }; + /** + * RadarRadarOptions + * @description Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. + */ + radar_radar_options: { + /** @description A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments. */ + session?: string; + }; + /** RadarReviewResourceLocation */ + radar_review_resource_location: { + /** @description The city where the payment originated. */ + city?: string | null; + /** @description Two-letter ISO code representing the country where the payment originated. */ + country?: string | null; + /** @description The geographic latitude where the payment originated. */ + latitude?: number | null; + /** @description The geographic longitude where the payment originated. */ + longitude?: number | null; + /** @description The state/county/province/region where the payment originated. */ + region?: string | null; + }; + /** RadarReviewResourceSession */ + radar_review_resource_session: { + /** @description The browser used in this browser session (e.g., `Chrome`). */ + browser?: string | null; + /** @description Information about the device used for the browser session (e.g., `Samsung SM-G930T`). */ + device?: string | null; + /** @description The platform for the browser session (e.g., `Macintosh`). */ + platform?: string | null; + /** @description The version for the browser session (e.g., `61.0.3163.100`). */ + version?: string | null; + }; + /** received_payment_method_details_financial_account */ + received_payment_method_details_financial_account: { + /** @description The FinancialAccount ID. */ + id: string; + /** + * @description The rails the ReceivedCredit was sent over. A FinancialAccount can only send funds over `stripe`. + * @enum {string} + */ + network: "stripe"; + }; + /** Recurring */ + recurring: { + /** + * @description Specifies a usage aggregation strategy for prices of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`. + * @enum {string|null} + */ + aggregate_usage?: "last_during_period" | "last_ever" | "max" | "sum"; + /** + * @description The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`. + * @enum {string} + */ + interval: "day" | "month" | "week" | "year"; + /** @description The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. */ + interval_count: number; + /** + * @description Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`. + * @enum {string} + */ + usage_type: "licensed" | "metered"; + }; + /** + * Refund + * @description Refund objects allow you to refund a previously created charge that isn't + * refunded yet. Funds are refunded to the credit or debit card that's + * initially charged. + * + * Related guide: [Refunds](https://stripe.com/docs/refunds) + */ + refund: { + /** @description Amount, in cents (or local equivalent). */ + amount: number; + /** @description Balance transaction that describes the impact on your account balance. */ + balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; + /** @description ID of the charge that's refunded. */ + charge?: (string | components["schemas"]["charge"]) | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. You can use this for displaying to users (available on non-card refunds only). */ + description?: string; + /** @description After the refund fails, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction. */ + failure_balance_transaction?: string | components["schemas"]["balance_transaction"]; + /** @description Provides the reason for the refund failure. Possible values are: `lost_or_stolen_card`, `expired_or_canceled_card`, `charge_for_pending_refund_disputed`, `insufficient_funds`, `declined`, `merchant_request`, or `unknown`. */ + failure_reason?: string; + /** @description Unique identifier for the object. */ + id: string; + /** @description For payment methods without native refund support (for example, Konbini, PromptPay), provide an email address for the customer to receive refund instructions. */ + instructions_email?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + next_action?: components["schemas"]["refund_next_action"]; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "refund"; + /** @description ID of the PaymentIntent that's refunded. */ + payment_intent?: (string | components["schemas"]["payment_intent"]) | null; + /** + * @description Reason for the refund, which is either user-provided (`duplicate`, `fraudulent`, or `requested_by_customer`) or generated by Stripe internally (`expired_uncaptured_charge`). + * @enum {string|null} + */ + reason?: "duplicate" | "expired_uncaptured_charge" | "fraudulent" | "requested_by_customer"; + /** @description This is the transaction number that appears on email receipts sent for this refund. */ + receipt_number?: string | null; + /** @description The transfer reversal that's associated with the refund. Only present if the charge came from another Stripe account. */ + source_transfer_reversal?: (string | components["schemas"]["transfer_reversal"]) | null; + /** @description Status of the refund. For credit card refunds, this can be `pending`, `succeeded`, or `failed`. For other types of refunds, it can be `pending`, `requires_action`, `succeeded`, `failed`, or `canceled`. Learn more about [failed refunds](https://stripe.com/docs/refunds#failed-refunds). */ + status?: string | null; + /** @description This refers to the transfer reversal object if the accompanying transfer reverses. This is only applicable if the charge was created using the destination parameter. */ + transfer_reversal?: (string | components["schemas"]["transfer_reversal"]) | null; + }; + /** RefundNextAction */ + refund_next_action: { + /** @description Contains the refund details. */ + display_details?: components["schemas"]["refund_next_action_display_details"] | null; + /** @description Type of the next action to perform. */ + type: string; + }; + /** RefundNextActionDisplayDetails */ + refund_next_action_display_details: { + email_sent: components["schemas"]["email_sent"]; + /** + * Format: unix-time + * @description The expiry timestamp. + */ + expires_at: number; + }; + /** + * reporting_report_run + * @description The Report Run object represents an instance of a report type generated with + * specific run parameters. Once the object is created, Stripe begins processing the report. + * When the report has finished running, it will give you a reference to a file + * where you can retrieve your results. For an overview, see + * [API Access to Reports](https://stripe.com/docs/reporting/statements/api). + * + * Note that certain report types can only be run based on your live-mode data (not test-mode + * data), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes). + */ + "reporting.report_run": { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description If something should go wrong during the run, a message about the failure (populated when + * `status=failed`). */ + error?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description `true` if the report is run on live mode data and `false` if it is run on test mode data. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "reporting.report_run"; + parameters: components["schemas"]["financial_reporting_finance_report_run_run_parameters"]; + /** @description The ID of the [report type](https://stripe.com/docs/reports/report-types) to run, such as `"balance.summary.1"`. */ + report_type: string; + /** @description The file object representing the result of the report run (populated when + * `status=succeeded`). */ + result?: components["schemas"]["file"] | null; + /** @description Status of this report run. This will be `pending` when the run is initially created. + * When the run finishes, this will be set to `succeeded` and the `result` field will be populated. + * Rarely, we may encounter an error, at which point this will be set to `failed` and the `error` field will be populated. */ + status: string; + /** + * Format: unix-time + * @description Timestamp at which this run successfully finished (populated when + * `status=succeeded`). Measured in seconds since the Unix epoch. + */ + succeeded_at?: number | null; + }; + /** + * reporting_report_type + * @description The Report Type resource corresponds to a particular type of report, such as + * the "Activity summary" or "Itemized payouts" reports. These objects are + * identified by an ID belonging to a set of enumerated values. See + * [API Access to Reports documentation](https://stripe.com/docs/reporting/statements/api) + * for those Report Type IDs, along with required and optional parameters. + * + * Note that certain report types can only be run based on your live-mode data (not test-mode + * data), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes). + */ + "reporting.report_type": { + /** + * Format: unix-time + * @description Most recent time for which this Report Type is available. Measured in seconds since the Unix epoch. + */ + data_available_end: number; + /** + * Format: unix-time + * @description Earliest time for which this Report Type is available. Measured in seconds since the Unix epoch. + */ + data_available_start: number; + /** @description List of column names that are included by default when this Report Type gets run. (If the Report Type doesn't support the `columns` parameter, this will be null.) */ + default_columns?: string[] | null; + /** @description The [ID of the Report Type](https://stripe.com/docs/reporting/statements/api#available-report-types), such as `balance.summary.1`. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Human-readable name of the Report Type */ + name: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "reporting.report_type"; + /** + * Format: unix-time + * @description When this Report Type was latest updated. Measured in seconds since the Unix epoch. + */ + updated: number; + /** @description Version of the Report Type. Different versions report with the same ID will have the same purpose, but may take different run parameters or have different result schemas. */ + version: number; + }; + /** ReserveTransaction */ + reserve_transaction: { + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "reserve_transaction"; + }; + /** + * RadarReview + * @description Reviews can be used to supplement automated fraud detection with human expertise. + * + * Learn more about [Radar](/radar) and reviewing payments + * [here](https://stripe.com/docs/radar/reviews). + */ + review: { + /** @description The ZIP or postal code of the card used, if applicable. */ + billing_zip?: string | null; + /** @description The charge associated with this review. */ + charge?: (string | components["schemas"]["charge"]) | null; + /** + * @description The reason the review was closed, or null if it has not yet been closed. One of `approved`, `refunded`, `refunded_as_fraud`, `disputed`, or `redacted`. + * @enum {string|null} + */ + closed_reason?: "approved" | "disputed" | "redacted" | "refunded" | "refunded_as_fraud"; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Unique identifier for the object. */ + id: string; + /** @description The IP address where the payment originated. */ + ip_address?: string | null; + /** @description Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address. */ + ip_address_location?: components["schemas"]["radar_review_resource_location"] | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "review"; + /** @description If `true`, the review needs action. */ + open: boolean; + /** + * @description The reason the review was opened. One of `rule` or `manual`. + * @enum {string} + */ + opened_reason: "manual" | "rule"; + /** @description The PaymentIntent ID associated with this review, if one exists. */ + payment_intent?: string | components["schemas"]["payment_intent"]; + /** @description The reason the review is currently open or closed. One of `rule`, `manual`, `approved`, `refunded`, `refunded_as_fraud`, `disputed`, or `redacted`. */ + reason: string; + /** @description Information related to the browsing session of the user who initiated the payment. */ + session?: components["schemas"]["radar_review_resource_session"] | null; + }; + /** RadarRule */ + rule: { + /** @description The action taken on the payment. */ + action: string; + /** @description Unique identifier for the object. */ + id: string; + /** @description The predicate to evaluate the payment against. */ + predicate: string; + }; + /** + * ScheduledQueryRun + * @description If you have [scheduled a Sigma query](https://stripe.com/docs/sigma/scheduled-queries), you'll + * receive a `sigma.scheduled_query_run.created` webhook each time the query + * runs. The webhook contains a `ScheduledQueryRun` object, which you can use to + * retrieve the query results. + */ + scheduled_query_run: { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** + * Format: unix-time + * @description When the query was run, Sigma contained a snapshot of your Stripe data at this time. + */ + data_load_time: number; + error?: components["schemas"]["sigma_scheduled_query_run_error"]; + /** @description The file object representing the results of the query. */ + file?: components["schemas"]["file"] | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "scheduled_query_run"; + /** + * Format: unix-time + * @description Time at which the result expires and is no longer available for download. + */ + result_available_until: number; + /** @description SQL for the query. */ + sql: string; + /** @description The query's execution status, which will be `completed` for successful runs, and `canceled`, `failed`, or `timed_out` otherwise. */ + status: string; + /** @description Title of the query. */ + title: string; + }; + /** SchedulesPhaseAutomaticTax */ + schedules_phase_automatic_tax: { + /** @description Whether Stripe automatically computes tax on invoices created during this phase. */ + enabled: boolean; + }; + /** SecretServiceResourceScope */ + secret_service_resource_scope: { + /** + * @description The secret scope type. + * @enum {string} + */ + type: "account" | "user"; + /** @description The user ID, if type is set to "user" */ + user?: string; + }; + /** sepa_debit_generated_from */ + sepa_debit_generated_from: { + /** @description The ID of the Charge that generated this PaymentMethod, if any. */ + charge?: (string | components["schemas"]["charge"]) | null; + /** @description The ID of the SetupAttempt that generated this PaymentMethod, if any. */ + setup_attempt?: (string | components["schemas"]["setup_attempt"]) | null; + }; + /** + * PaymentFlowsSetupIntentSetupAttempt + * @description A SetupAttempt describes one attempted confirmation of a SetupIntent, + * whether that confirmation is successful or unsuccessful. You can use + * SetupAttempts to inspect details of a specific attempt at setting up a + * payment method using a SetupIntent. + */ + setup_attempt: { + /** @description The value of [application](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-application) on the SetupIntent at the time of this confirmation. */ + application?: (string | components["schemas"]["application"]) | null; + /** @description If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. + * + * It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. */ + attach_to_self?: boolean; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The value of [customer](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-customer) on the SetupIntent at the time of this confirmation. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** @description Indicates the directions of money movement for which this payment method is intended to be used. + * + * Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. */ + flow_directions?: ("inbound" | "outbound")[] | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "setup_attempt"; + /** @description The value of [on_behalf_of](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-on_behalf_of) on the SetupIntent at the time of this confirmation. */ + on_behalf_of?: (string | components["schemas"]["account"]) | null; + /** @description ID of the payment method used with this SetupAttempt. */ + payment_method: string | components["schemas"]["payment_method"]; + payment_method_details: components["schemas"]["setup_attempt_payment_method_details"]; + /** @description The error encountered during this attempt to confirm the SetupIntent, if any. */ + setup_error?: components["schemas"]["api_errors"] | null; + /** @description ID of the SetupIntent that this attempt belongs to. */ + setup_intent: string | components["schemas"]["setup_intent"]; + /** @description Status of this SetupAttempt, one of `requires_confirmation`, `requires_action`, `processing`, `succeeded`, `failed`, or `abandoned`. */ + status: string; + /** @description The value of [usage](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-usage) on the SetupIntent at the time of this confirmation, one of `off_session` or `on_session`. */ + usage: string; + }; + /** SetupAttemptPaymentMethodDetails */ + setup_attempt_payment_method_details: { + acss_debit?: components["schemas"]["setup_attempt_payment_method_details_acss_debit"]; + au_becs_debit?: components["schemas"]["setup_attempt_payment_method_details_au_becs_debit"]; + bacs_debit?: components["schemas"]["setup_attempt_payment_method_details_bacs_debit"]; + bancontact?: components["schemas"]["setup_attempt_payment_method_details_bancontact"]; + boleto?: components["schemas"]["setup_attempt_payment_method_details_boleto"]; + card?: components["schemas"]["setup_attempt_payment_method_details_card"]; + card_present?: components["schemas"]["setup_attempt_payment_method_details_card_present"]; + cashapp?: components["schemas"]["setup_attempt_payment_method_details_cashapp"]; + ideal?: components["schemas"]["setup_attempt_payment_method_details_ideal"]; + klarna?: components["schemas"]["setup_attempt_payment_method_details_klarna"]; + link?: components["schemas"]["setup_attempt_payment_method_details_link"]; + paypal?: components["schemas"]["setup_attempt_payment_method_details_paypal"]; + sepa_debit?: components["schemas"]["setup_attempt_payment_method_details_sepa_debit"]; + sofort?: components["schemas"]["setup_attempt_payment_method_details_sofort"]; + /** @description The type of the payment method used in the SetupIntent (e.g., `card`). An additional hash is included on `payment_method_details` with a name matching this value. It contains confirmation-specific information for the payment method. */ + type: string; + us_bank_account?: components["schemas"]["setup_attempt_payment_method_details_us_bank_account"]; + }; + /** setup_attempt_payment_method_details_acss_debit */ + setup_attempt_payment_method_details_acss_debit: Record; + /** setup_attempt_payment_method_details_au_becs_debit */ + setup_attempt_payment_method_details_au_becs_debit: Record; + /** setup_attempt_payment_method_details_bacs_debit */ + setup_attempt_payment_method_details_bacs_debit: Record; + /** setup_attempt_payment_method_details_bancontact */ + setup_attempt_payment_method_details_bancontact: { + /** @description Bank code of bank associated with the bank account. */ + bank_code?: string | null; + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Bank Identifier Code of the bank associated with the bank account. */ + bic?: string | null; + /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ + generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; + /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ + generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; + /** @description Last four characters of the IBAN. */ + iban_last4?: string | null; + /** + * @description Preferred language of the Bancontact authorization page that the customer is redirected to. + * Can be one of `en`, `de`, `fr`, or `nl` + * @enum {string|null} + */ + preferred_language?: "de" | "en" | "fr" | "nl"; + /** @description Owner's verified full name. Values are verified or provided by Bancontact directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + verified_name?: string | null; + }; + /** setup_attempt_payment_method_details_boleto */ + setup_attempt_payment_method_details_boleto: Record; + /** setup_attempt_payment_method_details_card */ + setup_attempt_payment_method_details_card: { + /** @description Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ + brand?: string | null; + /** @description Check results by Card networks on Card address and CVC at the time of authorization */ + checks?: components["schemas"]["payment_method_details_card_checks"] | null; + /** @description Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. */ + country?: string | null; + /** @description Two-digit number representing the card's expiration month. */ + exp_month?: number | null; + /** @description Four-digit number representing the card's expiration year. */ + exp_year?: number | null; + /** @description Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. + * + * *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* */ + fingerprint?: string | null; + /** @description Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. */ + funding?: string | null; + /** @description The last four digits of the card. */ + last4?: string | null; + /** @description Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`. */ + network?: string | null; + /** @description Populated if this authorization used 3D Secure authentication. */ + three_d_secure?: components["schemas"]["three_d_secure_details"] | null; + /** @description If this Card is part of a card wallet, this contains the details of the card wallet. */ + wallet?: components["schemas"]["setup_attempt_payment_method_details_card_wallet"] | null; + }; + /** setup_attempt_payment_method_details_card_present */ + setup_attempt_payment_method_details_card_present: { + /** @description The ID of the Card PaymentMethod which was generated by this SetupAttempt. */ + generated_card?: (string | components["schemas"]["payment_method"]) | null; + }; + /** setup_attempt_payment_method_details_card_wallet */ + setup_attempt_payment_method_details_card_wallet: { + apple_pay?: components["schemas"]["payment_method_details_card_wallet_apple_pay"]; + google_pay?: components["schemas"]["payment_method_details_card_wallet_google_pay"]; + /** + * @description The type of the card wallet, one of `apple_pay`, `google_pay`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. + * @enum {string} + */ + type: "apple_pay" | "google_pay" | "link"; + }; + /** setup_attempt_payment_method_details_cashapp */ + setup_attempt_payment_method_details_cashapp: Record; + /** setup_attempt_payment_method_details_ideal */ + setup_attempt_payment_method_details_ideal: { + /** + * @description The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. + * @enum {string|null} + */ + bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; + /** + * @description The Bank Identifier Code of the customer's bank. + * @enum {string|null} + */ + bic?: "ABNANL2A" | "ASNBNL21" | "BITSNL2A" | "BUNQNL2A" | "FVLBNL22" | "HANDNL2A" | "INGBNL2A" | "KNABNL2H" | "MOYONL21" | "NTSBDEB1" | "RABONL2U" | "RBRBNL21" | "REVOIE23" | "REVOLT21" | "SNSBNL2A" | "TRIONL2U"; + /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ + generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; + /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ + generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; + /** @description Last four characters of the IBAN. */ + iban_last4?: string | null; + /** @description Owner's verified full name. Values are verified or provided by iDEAL directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + verified_name?: string | null; + }; + /** setup_attempt_payment_method_details_klarna */ + setup_attempt_payment_method_details_klarna: Record; + /** setup_attempt_payment_method_details_link */ + setup_attempt_payment_method_details_link: Record; + /** setup_attempt_payment_method_details_paypal */ + setup_attempt_payment_method_details_paypal: Record; + /** setup_attempt_payment_method_details_sepa_debit */ + setup_attempt_payment_method_details_sepa_debit: Record; + /** setup_attempt_payment_method_details_sofort */ + setup_attempt_payment_method_details_sofort: { + /** @description Bank code of bank associated with the bank account. */ + bank_code?: string | null; + /** @description Name of the bank associated with the bank account. */ + bank_name?: string | null; + /** @description Bank Identifier Code of the bank associated with the bank account. */ + bic?: string | null; + /** @description The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ + generated_sepa_debit?: (string | components["schemas"]["payment_method"]) | null; + /** @description The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. */ + generated_sepa_debit_mandate?: (string | components["schemas"]["mandate"]) | null; + /** @description Last four characters of the IBAN. */ + iban_last4?: string | null; + /** + * @description Preferred language of the Sofort authorization page that the customer is redirected to. + * Can be one of `en`, `de`, `fr`, or `nl` + * @enum {string|null} + */ + preferred_language?: "de" | "en" | "fr" | "nl"; + /** @description Owner's verified full name. Values are verified or provided by Sofort directly + * (if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + verified_name?: string | null; + }; + /** setup_attempt_payment_method_details_us_bank_account */ + setup_attempt_payment_method_details_us_bank_account: Record; + /** + * SetupIntent + * @description A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments. + * For example, you could use a SetupIntent to set up and save your customer's card without immediately collecting a payment. + * Later, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow. + * + * Create a SetupIntent as soon as you're ready to collect your customer's payment credentials. + * Do not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid. + * The SetupIntent then transitions through multiple [statuses](https://stripe.com/docs/payments/intents#intent-statuses) as it guides + * you through the setup process. + * + * Successful SetupIntents result in payment credentials that are optimized for future payments. + * For example, cardholders in [certain regions](/guides/strong-customer-authentication) may need to be run through + * [Strong Customer Authentication](https://stripe.com/docs/strong-customer-authentication) at the time of payment method collection + * in order to streamline later [off-session payments](https://stripe.com/docs/payments/setup-intents). + * If the SetupIntent is used with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer), upon success, + * it will automatically attach the resulting payment method to that Customer. + * We recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on + * PaymentIntents to save payment methods in order to prevent saving invalid or unoptimized payment methods. + * + * By using SetupIntents, you ensure that your customers experience the minimum set of required friction, + * even as regulations change over time. + * + * Related guide: [Setup Intents API](https://stripe.com/docs/payments/setup-intents) + */ + setup_intent: { + /** @description ID of the Connect application that created the SetupIntent. */ + application?: (string | components["schemas"]["application"]) | null; + /** @description If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. + * + * It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. */ + attach_to_self?: boolean; + /** @description Settings for dynamic payment methods compatible with this Setup Intent */ + automatic_payment_methods?: components["schemas"]["payment_flows_automatic_payment_methods_setup_intent"] | null; + /** + * @description Reason for cancellation of this SetupIntent, one of `abandoned`, `requested_by_customer`, or `duplicate`. + * @enum {string|null} + */ + cancellation_reason?: "abandoned" | "duplicate" | "requested_by_customer"; + /** @description The client secret of this SetupIntent. Used for client-side retrieval using a publishable key. + * + * The client secret can be used to complete payment setup from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret. */ + client_secret?: string | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description ID of the Customer this SetupIntent belongs to, if one exists. + * + * If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent. */ + customer?: (string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]) | null; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description Indicates the directions of money movement for which this payment method is intended to be used. + * + * Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. */ + flow_directions?: ("inbound" | "outbound")[] | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description The error encountered in the previous SetupIntent confirmation. */ + last_setup_error?: components["schemas"]["api_errors"] | null; + /** @description The most recent SetupAttempt for this SetupIntent. */ + latest_attempt?: (string | components["schemas"]["setup_attempt"]) | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description ID of the multi use Mandate generated by the SetupIntent. */ + mandate?: (string | components["schemas"]["mandate"]) | null; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** @description If present, this property tells you what actions you need to take in order for your customer to continue payment setup. */ + next_action?: components["schemas"]["setup_intent_next_action"] | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "setup_intent"; + /** @description The account (if any) for which the setup is intended. */ + on_behalf_of?: (string | components["schemas"]["account"]) | null; + /** @description ID of the payment method used with this SetupIntent. */ + payment_method?: (string | components["schemas"]["payment_method"]) | null; + /** @description Information about the payment method configuration used for this Setup Intent. */ + payment_method_configuration_details?: components["schemas"]["payment_method_config_biz_payment_method_configuration_details"] | null; + /** @description Payment-method-specific configuration for this SetupIntent. */ + payment_method_options?: components["schemas"]["setup_intent_payment_method_options"] | null; + /** @description The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. */ + payment_method_types: string[]; + /** @description ID of the single_use Mandate generated by the SetupIntent. */ + single_use_mandate?: (string | components["schemas"]["mandate"]) | null; + /** + * @description [Status](https://stripe.com/docs/payments/intents#intent-statuses) of this SetupIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `canceled`, or `succeeded`. + * @enum {string} + */ + status: "canceled" | "processing" | "requires_action" | "requires_confirmation" | "requires_payment_method" | "succeeded"; + /** @description Indicates how the payment method is intended to be used in the future. + * + * Use `on_session` if you intend to only reuse the payment method when the customer is in your checkout flow. Use `off_session` if your customer may or may not be in your checkout flow. If not provided, this value defaults to `off_session`. */ + usage: string; + }; + /** SetupIntentNextAction */ + setup_intent_next_action: { + cashapp_handle_redirect_or_display_qr_code?: components["schemas"]["payment_intent_next_action_cashapp_handle_redirect_or_display_qr_code"]; + redirect_to_url?: components["schemas"]["setup_intent_next_action_redirect_to_url"]; + /** @description Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`. */ + type: string; + /** @description When confirming a SetupIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js. */ + use_stripe_sdk?: Record; + verify_with_microdeposits?: components["schemas"]["setup_intent_next_action_verify_with_microdeposits"]; + }; + /** SetupIntentNextActionRedirectToUrl */ + setup_intent_next_action_redirect_to_url: { + /** @description If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion. */ + return_url?: string | null; + /** @description The URL you must redirect your customer to in order to authenticate. */ + url?: string | null; + }; + /** SetupIntentNextActionVerifyWithMicrodeposits */ + setup_intent_next_action_verify_with_microdeposits: { + /** + * Format: unix-time + * @description The timestamp when the microdeposits are expected to land. + */ + arrival_date: number; + /** @description The URL for the hosted verification page, which allows customers to verify their bank account. */ + hosted_verification_url: string; + /** + * @description The type of the microdeposit sent to the customer. Used to distinguish between different verification methods. + * @enum {string|null} + */ + microdeposit_type?: "amounts" | "descriptor_code"; + }; + /** SetupIntentPaymentMethodOptions */ + setup_intent_payment_method_options: { + acss_debit?: components["schemas"]["setup_intent_payment_method_options_acss_debit"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; + card?: components["schemas"]["setup_intent_payment_method_options_card"]; + link?: components["schemas"]["setup_intent_payment_method_options_link"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; + paypal?: components["schemas"]["setup_intent_payment_method_options_paypal"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; + sepa_debit?: components["schemas"]["setup_intent_payment_method_options_sepa_debit"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; + us_bank_account?: components["schemas"]["setup_intent_payment_method_options_us_bank_account"] | components["schemas"]["setup_intent_type_specific_payment_method_options_client"]; + }; + /** setup_intent_payment_method_options_acss_debit */ + setup_intent_payment_method_options_acss_debit: { + /** + * @description Currency supported by the bank account + * @enum {string|null} + */ + currency?: "cad" | "usd"; + mandate_options?: components["schemas"]["setup_intent_payment_method_options_mandate_options_acss_debit"]; + /** + * @description Bank account verification method. + * @enum {string} + */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** setup_intent_payment_method_options_card */ + setup_intent_payment_method_options_card: { + /** @description Configuration options for setting up an eMandate for cards issued in India. */ + mandate_options?: components["schemas"]["setup_intent_payment_method_options_card_mandate_options"] | null; + /** + * @description Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the setup intent. Can be only set confirm-time. + * @enum {string|null} + */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** + * @description We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: `automatic` or `any`. If not provided, defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. + * @enum {string|null} + */ + request_three_d_secure?: "any" | "automatic" | "challenge_only"; + }; + /** setup_intent_payment_method_options_card_mandate_options */ + setup_intent_payment_method_options_card_mandate_options: { + /** @description Amount to be charged for future payments. */ + amount: number; + /** + * @description One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. + * @enum {string} + */ + amount_type: "fixed" | "maximum"; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description A description of the mandate or subscription that is meant to be displayed to the customer. */ + description?: string | null; + /** + * Format: unix-time + * @description End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. + */ + end_date?: number | null; + /** + * @description Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. + * @enum {string} + */ + interval: "day" | "month" | "sporadic" | "week" | "year"; + /** @description The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. */ + interval_count?: number | null; + /** @description Unique identifier for the mandate or subscription. */ + reference: string; + /** + * Format: unix-time + * @description Start date of the mandate or subscription. Start date should not be lesser than yesterday. + */ + start_date: number; + /** @description Specifies the type of mandates supported. Possible values are `india`. */ + supported_types?: "india"[] | null; + }; + /** setup_intent_payment_method_options_link */ + setup_intent_payment_method_options_link: Record; + /** setup_intent_payment_method_options_mandate_options_acss_debit */ + setup_intent_payment_method_options_mandate_options_acss_debit: { + /** @description A URL for custom mandate text */ + custom_mandate_url?: string; + /** @description List of Stripe products where this mandate can be selected automatically. */ + default_for?: ("invoice" | "subscription")[]; + /** @description Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. */ + interval_description?: string | null; + /** + * @description Payment schedule for the mandate. + * @enum {string|null} + */ + payment_schedule?: "combined" | "interval" | "sporadic"; + /** + * @description Transaction type of the mandate. + * @enum {string|null} + */ + transaction_type?: "business" | "personal"; + }; + /** setup_intent_payment_method_options_mandate_options_sepa_debit */ + setup_intent_payment_method_options_mandate_options_sepa_debit: Record; + /** setup_intent_payment_method_options_paypal */ + setup_intent_payment_method_options_paypal: { + /** @description The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. */ + billing_agreement_id?: string | null; + }; + /** setup_intent_payment_method_options_sepa_debit */ + setup_intent_payment_method_options_sepa_debit: { + mandate_options?: components["schemas"]["setup_intent_payment_method_options_mandate_options_sepa_debit"]; + }; + /** setup_intent_payment_method_options_us_bank_account */ + setup_intent_payment_method_options_us_bank_account: { + financial_connections?: components["schemas"]["linked_account_options_us_bank_account"]; + /** + * @description Bank account verification method. + * @enum {string} + */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** SetupIntentTypeSpecificPaymentMethodOptionsClient */ + setup_intent_type_specific_payment_method_options_client: { + /** + * @description Bank account verification method. + * @enum {string} + */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** Shipping */ + shipping: { + address?: components["schemas"]["address"]; + /** @description The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. */ + carrier?: string | null; + /** @description Recipient name. */ + name?: string; + /** @description Recipient phone (including extension). */ + phone?: string | null; + /** @description The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. */ + tracking_number?: string | null; + }; + /** + * ShippingRate + * @description Shipping rates describe the price of shipping presented to your customers and + * applied to a purchase. For more information, see [Charge for shipping](https://stripe.com/docs/payments/during-payment/charge-shipping). + */ + shipping_rate: { + /** @description Whether the shipping rate can be used for new purchases. Defaults to `true`. */ + active: boolean; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. */ + delivery_estimate?: components["schemas"]["shipping_rate_delivery_estimate"] | null; + /** @description The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. */ + display_name?: string | null; + fixed_amount?: components["schemas"]["shipping_rate_fixed_amount"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "shipping_rate"; + /** + * @description Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. + * @enum {string|null} + */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. */ + tax_code?: (string | components["schemas"]["tax_code"]) | null; + /** + * @description The type of calculation to use on the shipping rate. Can only be `fixed_amount` for now. + * @enum {string} + */ + type: "fixed_amount"; + }; + /** ShippingRateCurrencyOption */ + shipping_rate_currency_option: { + /** @description A non-negative integer in cents representing how much to charge. */ + amount: number; + /** + * @description Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. + * @enum {string} + */ + tax_behavior: "exclusive" | "inclusive" | "unspecified"; + }; + /** ShippingRateDeliveryEstimate */ + shipping_rate_delivery_estimate: { + /** @description The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite. */ + maximum?: components["schemas"]["shipping_rate_delivery_estimate_bound"] | null; + /** @description The lower bound of the estimated range. If empty, represents no lower bound. */ + minimum?: components["schemas"]["shipping_rate_delivery_estimate_bound"] | null; + }; + /** ShippingRateDeliveryEstimateBound */ + shipping_rate_delivery_estimate_bound: { + /** + * @description A unit of time. + * @enum {string} + */ + unit: "business_day" | "day" | "hour" | "month" | "week"; + /** @description Must be greater than 0. */ + value: number; + }; + /** ShippingRateFixedAmount */ + shipping_rate_fixed_amount: { + /** @description A non-negative integer in cents representing how much to charge. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ + currency_options?: { + [key: string]: components["schemas"]["shipping_rate_currency_option"]; + }; + }; + /** SigmaScheduledQueryRunError */ + sigma_scheduled_query_run_error: { + /** @description Information about the run failure. */ + message: string; + }; + /** + * Source + * @description `Source` objects allow you to accept a variety of payment methods. They + * represent a customer's payment instrument, and can be used with the Stripe API + * just like a `Card` object: once chargeable, they can be charged, or can be + * attached to customers. + * + * Stripe doesn't recommend using the deprecated [Sources API](https://stripe.com/docs/api/sources). + * We recommend that you adopt the [PaymentMethods API](https://stripe.com/docs/api/payment_methods). + * This newer API provides access to our latest features and payment method types. + * + * Related guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers). + */ + source: { + ach_credit_transfer?: components["schemas"]["source_type_ach_credit_transfer"]; + ach_debit?: components["schemas"]["source_type_ach_debit"]; + acss_debit?: components["schemas"]["source_type_acss_debit"]; + alipay?: components["schemas"]["source_type_alipay"]; + /** @description A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources. */ + amount?: number | null; + au_becs_debit?: components["schemas"]["source_type_au_becs_debit"]; + bancontact?: components["schemas"]["source_type_bancontact"]; + card?: components["schemas"]["source_type_card"]; + card_present?: components["schemas"]["source_type_card_present"]; + /** @description The client secret of the source. Used for client-side retrieval using a publishable key. */ + client_secret: string; + code_verification?: components["schemas"]["source_code_verification_flow"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. Required for `single_use` sources. */ + currency?: string | null; + /** @description The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer. */ + customer?: string; + eps?: components["schemas"]["source_type_eps"]; + /** @description The authentication `flow` of the source. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`. */ + flow: string; + giropay?: components["schemas"]["source_type_giropay"]; + /** @description Unique identifier for the object. */ + id: string; + ideal?: components["schemas"]["source_type_ideal"]; + klarna?: components["schemas"]["source_type_klarna"]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + multibanco?: components["schemas"]["source_type_multibanco"]; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "source"; + /** @description Information about the owner of the payment instrument that may be used or required by particular source types. */ + owner?: components["schemas"]["source_owner"] | null; + p24?: components["schemas"]["source_type_p24"]; + receiver?: components["schemas"]["source_receiver_flow"]; + redirect?: components["schemas"]["source_redirect_flow"]; + sepa_debit?: components["schemas"]["source_type_sepa_debit"]; + sofort?: components["schemas"]["source_type_sofort"]; + source_order?: components["schemas"]["source_order"]; + /** @description Extra information about a source. This will appear on your customer's statement every time you charge the source. */ + statement_descriptor?: string | null; + /** @description The status of the source, one of `canceled`, `chargeable`, `consumed`, `failed`, or `pending`. Only `chargeable` sources can be used to create a charge. */ + status: string; + three_d_secure?: components["schemas"]["source_type_three_d_secure"]; + /** + * @description The `type` of the source. The `type` is a payment method, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `multibanco`, `klarna`, `p24`, `sepa_debit`, `sofort`, `three_d_secure`, or `wechat`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https://stripe.com/docs/sources) used. + * @enum {string} + */ + type: "ach_credit_transfer" | "ach_debit" | "acss_debit" | "alipay" | "au_becs_debit" | "bancontact" | "card" | "card_present" | "eps" | "giropay" | "ideal" | "klarna" | "multibanco" | "p24" | "sepa_debit" | "sofort" | "three_d_secure" | "wechat"; + /** @description Either `reusable` or `single_use`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned. */ + usage?: string | null; + wechat?: components["schemas"]["source_type_wechat"]; + }; + /** SourceCodeVerificationFlow */ + source_code_verification_flow: { + /** @description The number of attempts remaining to authenticate the source object with a verification code. */ + attempts_remaining: number; + /** @description The status of the code verification, either `pending` (awaiting verification, `attempts_remaining` should be greater than 0), `succeeded` (successful verification) or `failed` (failed verification, cannot be verified anymore as `attempts_remaining` should be 0). */ + status: string; + }; + /** + * SourceMandateNotification + * @description Source mandate notifications should be created when a notification related to + * a source mandate must be sent to the payer. They will trigger a webhook or + * deliver an email to the customer. + */ + source_mandate_notification: { + acss_debit?: components["schemas"]["source_mandate_notification_acss_debit_data"]; + /** @description A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount associated with the mandate notification. The amount is expressed in the currency of the underlying source. Required if the notification type is `debit_initiated`. */ + amount?: number | null; + bacs_debit?: components["schemas"]["source_mandate_notification_bacs_debit_data"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "source_mandate_notification"; + /** @description The reason of the mandate notification. Valid reasons are `mandate_confirmed` or `debit_initiated`. */ + reason: string; + sepa_debit?: components["schemas"]["source_mandate_notification_sepa_debit_data"]; + source: components["schemas"]["source"]; + /** @description The status of the mandate notification. Valid statuses are `pending` or `submitted`. */ + status: string; + /** @description The type of source this mandate notification is attached to. Should be the source type identifier code for the payment method, such as `three_d_secure`. */ + type: string; + }; + /** SourceMandateNotificationAcssDebitData */ + source_mandate_notification_acss_debit_data: { + /** @description The statement descriptor associate with the debit. */ + statement_descriptor?: string; + }; + /** SourceMandateNotificationBacsDebitData */ + source_mandate_notification_bacs_debit_data: { + /** @description Last 4 digits of the account number associated with the debit. */ + last4?: string; + }; + /** SourceMandateNotificationSepaDebitData */ + source_mandate_notification_sepa_debit_data: { + /** @description SEPA creditor ID. */ + creditor_identifier?: string; + /** @description Last 4 digits of the account number associated with the debit. */ + last4?: string; + /** @description Mandate reference associated with the debit. */ + mandate_reference?: string; + }; + /** SourceOrder */ + source_order: { + /** @description A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the order. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description The email address of the customer placing the order. */ + email?: string; + /** @description List of items constituting the order. */ + items?: components["schemas"]["source_order_item"][] | null; + shipping?: components["schemas"]["shipping"]; + }; + /** SourceOrderItem */ + source_order_item: { + /** @description The amount (price) for this order item. */ + amount?: number | null; + /** @description This currency of this order item. Required when `amount` is present. */ + currency?: string | null; + /** @description Human-readable description for this order item. */ + description?: string | null; + /** @description The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU). */ + parent?: string | null; + /** @description The quantity of this order item. When type is `sku`, this is the number of instances of the SKU to be ordered. */ + quantity?: number; + /** @description The type of this order item. Must be `sku`, `tax`, or `shipping`. */ + type?: string | null; + }; + /** SourceOwner */ + source_owner: { + /** @description Owner's address. */ + address?: components["schemas"]["address"] | null; + /** @description Owner's email address. */ + email?: string | null; + /** @description Owner's full name. */ + name?: string | null; + /** @description Owner's phone number (including extension). */ + phone?: string | null; + /** @description Verified owner's address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + verified_address?: components["schemas"]["address"] | null; + /** @description Verified owner's email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + verified_email?: string | null; + /** @description Verified owner's full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + verified_name?: string | null; + /** @description Verified owner's phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. */ + verified_phone?: string | null; + }; + /** SourceReceiverFlow */ + source_receiver_flow: { + /** @description The address of the receiver source. This is the value that should be communicated to the customer to send their funds to. */ + address?: string | null; + /** @description The total amount that was moved to your balance. This is almost always equal to the amount charged. In rare cases when customers deposit excess funds and we are unable to refund those, those funds get moved to your balance and show up in amount_charged as well. The amount charged is expressed in the source's currency. */ + amount_charged: number; + /** @description The total amount received by the receiver source. `amount_received = amount_returned + amount_charged` should be true for consumed sources unless customers deposit excess funds. The amount received is expressed in the source's currency. */ + amount_received: number; + /** @description The total amount that was returned to the customer. The amount returned is expressed in the source's currency. */ + amount_returned: number; + /** @description Type of refund attribute method, one of `email`, `manual`, or `none`. */ + refund_attributes_method: string; + /** @description Type of refund attribute status, one of `missing`, `requested`, or `available`. */ + refund_attributes_status: string; + }; + /** SourceRedirectFlow */ + source_redirect_flow: { + /** @description The failure reason for the redirect, either `user_abort` (the customer aborted or dropped out of the redirect flow), `declined` (the authentication failed or the transaction was declined), or `processing_error` (the redirect failed due to a technical error). Present only if the redirect status is `failed`. */ + failure_reason?: string | null; + /** @description The URL you provide to redirect the customer to after they authenticated their payment. */ + return_url: string; + /** @description The status of the redirect, either `pending` (ready to be used by your customer to authenticate the transaction), `succeeded` (succesful authentication, cannot be reused) or `not_required` (redirect should not be used) or `failed` (failed authentication, cannot be reused). */ + status: string; + /** @description The URL provided to you to redirect a customer to as part of a `redirect` authentication flow. */ + url: string; + }; + /** + * SourceTransaction + * @description Some payment methods have no required amount that a customer must send. + * Customers can be instructed to send any amount, and it can be made up of + * multiple transactions. As such, sources can have multiple associated + * transactions. + */ + source_transaction: { + ach_credit_transfer?: components["schemas"]["source_transaction_ach_credit_transfer_data"]; + /** @description A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount your customer has pushed to the receiver. */ + amount: number; + chf_credit_transfer?: components["schemas"]["source_transaction_chf_credit_transfer_data"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + gbp_credit_transfer?: components["schemas"]["source_transaction_gbp_credit_transfer_data"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "source_transaction"; + paper_check?: components["schemas"]["source_transaction_paper_check_data"]; + sepa_credit_transfer?: components["schemas"]["source_transaction_sepa_credit_transfer_data"]; + /** @description The ID of the source this transaction is attached to. */ + source: string; + /** @description The status of the transaction, one of `succeeded`, `pending`, or `failed`. */ + status: string; + /** + * @description The type of source this transaction is attached to. + * @enum {string} + */ + type: "ach_credit_transfer" | "ach_debit" | "alipay" | "bancontact" | "card" | "card_present" | "eps" | "giropay" | "ideal" | "klarna" | "multibanco" | "p24" | "sepa_debit" | "sofort" | "three_d_secure" | "wechat"; + }; + /** SourceTransactionAchCreditTransferData */ + source_transaction_ach_credit_transfer_data: { + /** @description Customer data associated with the transfer. */ + customer_data?: string; + /** @description Bank account fingerprint associated with the transfer. */ + fingerprint?: string; + /** @description Last 4 digits of the account number associated with the transfer. */ + last4?: string; + /** @description Routing number associated with the transfer. */ + routing_number?: string; + }; + /** SourceTransactionChfCreditTransferData */ + source_transaction_chf_credit_transfer_data: { + /** @description Reference associated with the transfer. */ + reference?: string; + /** @description Sender's country address. */ + sender_address_country?: string; + /** @description Sender's line 1 address. */ + sender_address_line1?: string; + /** @description Sender's bank account IBAN. */ + sender_iban?: string; + /** @description Sender's name. */ + sender_name?: string; + }; + /** SourceTransactionGbpCreditTransferData */ + source_transaction_gbp_credit_transfer_data: { + /** @description Bank account fingerprint associated with the Stripe owned bank account receiving the transfer. */ + fingerprint?: string; + /** @description The credit transfer rails the sender used to push this transfer. The possible rails are: Faster Payments, BACS, CHAPS, and wire transfers. Currently only Faster Payments is supported. */ + funding_method?: string; + /** @description Last 4 digits of sender account number associated with the transfer. */ + last4?: string; + /** @description Sender entered arbitrary information about the transfer. */ + reference?: string; + /** @description Sender account number associated with the transfer. */ + sender_account_number?: string; + /** @description Sender name associated with the transfer. */ + sender_name?: string; + /** @description Sender sort code associated with the transfer. */ + sender_sort_code?: string; + }; + /** SourceTransactionPaperCheckData */ + source_transaction_paper_check_data: { + /** @description Time at which the deposited funds will be available for use. Measured in seconds since the Unix epoch. */ + available_at?: string; + /** @description Comma-separated list of invoice IDs associated with the paper check. */ + invoices?: string; + }; + /** SourceTransactionSepaCreditTransferData */ + source_transaction_sepa_credit_transfer_data: { + /** @description Reference associated with the transfer. */ + reference?: string; + /** @description Sender's bank account IBAN. */ + sender_iban?: string; + /** @description Sender's name. */ + sender_name?: string; + }; + source_type_ach_credit_transfer: { + account_number?: string | null; + bank_name?: string | null; + fingerprint?: string | null; + refund_account_holder_name?: string | null; + refund_account_holder_type?: string | null; + refund_routing_number?: string | null; + routing_number?: string | null; + swift_code?: string | null; + }; + source_type_ach_debit: { + bank_name?: string | null; + country?: string | null; + fingerprint?: string | null; + last4?: string | null; + routing_number?: string | null; + type?: string | null; + }; + source_type_acss_debit: { + bank_address_city?: string | null; + bank_address_line_1?: string | null; + bank_address_line_2?: string | null; + bank_address_postal_code?: string | null; + bank_name?: string | null; + category?: string | null; + country?: string | null; + fingerprint?: string | null; + last4?: string | null; + routing_number?: string | null; + }; + source_type_alipay: { + data_string?: string | null; + native_url?: string | null; + statement_descriptor?: string | null; + }; + source_type_au_becs_debit: { + bsb_number?: string | null; + fingerprint?: string | null; + last4?: string | null; + }; + source_type_bancontact: { + bank_code?: string | null; + bank_name?: string | null; + bic?: string | null; + iban_last4?: string | null; + preferred_language?: string | null; + statement_descriptor?: string | null; + }; + source_type_card: { + address_line1_check?: string | null; + address_zip_check?: string | null; + brand?: string | null; + country?: string | null; + cvc_check?: string | null; + dynamic_last4?: string | null; + exp_month?: number | null; + exp_year?: number | null; + fingerprint?: string; + funding?: string | null; + last4?: string | null; + name?: string | null; + three_d_secure?: string; + tokenization_method?: string | null; + }; + source_type_card_present: { + application_cryptogram?: string; + application_preferred_name?: string; + authorization_code?: string | null; + authorization_response_code?: string; + brand?: string | null; + country?: string | null; + cvm_type?: string; + data_type?: string | null; + dedicated_file_name?: string; + emv_auth_data?: string; + evidence_customer_signature?: string | null; + evidence_transaction_certificate?: string | null; + exp_month?: number | null; + exp_year?: number | null; + fingerprint?: string; + funding?: string | null; + last4?: string | null; + pos_device_id?: string | null; + pos_entry_mode?: string; + read_method?: string | null; + reader?: string | null; + terminal_verification_results?: string; + transaction_status_information?: string; + }; + source_type_eps: { + reference?: string | null; + statement_descriptor?: string | null; + }; + source_type_giropay: { + bank_code?: string | null; + bank_name?: string | null; + bic?: string | null; + statement_descriptor?: string | null; + }; + source_type_ideal: { + bank?: string | null; + bic?: string | null; + iban_last4?: string | null; + statement_descriptor?: string | null; + }; + source_type_klarna: { + background_image_url?: string; + client_token?: string | null; + first_name?: string; + last_name?: string; + locale?: string; + logo_url?: string; + page_title?: string; + pay_later_asset_urls_descriptive?: string; + pay_later_asset_urls_standard?: string; + pay_later_name?: string; + pay_later_redirect_url?: string; + pay_now_asset_urls_descriptive?: string; + pay_now_asset_urls_standard?: string; + pay_now_name?: string; + pay_now_redirect_url?: string; + pay_over_time_asset_urls_descriptive?: string; + pay_over_time_asset_urls_standard?: string; + pay_over_time_name?: string; + pay_over_time_redirect_url?: string; + payment_method_categories?: string; + purchase_country?: string; + purchase_type?: string; + redirect_url?: string; + shipping_delay?: number; + shipping_first_name?: string; + shipping_last_name?: string; + }; + source_type_multibanco: { + entity?: string | null; + reference?: string | null; + refund_account_holder_address_city?: string | null; + refund_account_holder_address_country?: string | null; + refund_account_holder_address_line1?: string | null; + refund_account_holder_address_line2?: string | null; + refund_account_holder_address_postal_code?: string | null; + refund_account_holder_address_state?: string | null; + refund_account_holder_name?: string | null; + refund_iban?: string | null; + }; + source_type_p24: { + reference?: string | null; + }; + source_type_sepa_debit: { + bank_code?: string | null; + branch_code?: string | null; + country?: string | null; + fingerprint?: string | null; + last4?: string | null; + mandate_reference?: string | null; + mandate_url?: string | null; + }; + source_type_sofort: { + bank_code?: string | null; + bank_name?: string | null; + bic?: string | null; + country?: string | null; + iban_last4?: string | null; + preferred_language?: string | null; + statement_descriptor?: string | null; + }; + source_type_three_d_secure: { + address_line1_check?: string | null; + address_zip_check?: string | null; + authenticated?: boolean | null; + brand?: string | null; + card?: string | null; + country?: string | null; + customer?: string | null; + cvc_check?: string | null; + dynamic_last4?: string | null; + exp_month?: number | null; + exp_year?: number | null; + fingerprint?: string; + funding?: string | null; + last4?: string | null; + name?: string | null; + three_d_secure?: string; + tokenization_method?: string | null; + }; + source_type_wechat: { + prepay_id?: string; + qr_code_url?: string | null; + statement_descriptor?: string; + }; + /** + * Subscription + * @description Subscriptions allow you to charge a customer on a recurring basis. + * + * Related guide: [Creating subscriptions](https://stripe.com/docs/billing/subscriptions/creating) + */ + subscription: { + /** @description ID of the Connect Application that created the subscription. */ + application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. */ + application_fee_percent?: number | null; + automatic_tax: components["schemas"]["subscription_automatic_tax"]; + /** + * Format: unix-time + * @description Determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format. + */ + billing_cycle_anchor: number; + /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period */ + billing_thresholds?: components["schemas"]["subscription_billing_thresholds"] | null; + /** + * Format: unix-time + * @description A date in the future at which the subscription will automatically get canceled + */ + cancel_at?: number | null; + /** @description If the subscription has been canceled with the `at_period_end` flag set to `true`, `cancel_at_period_end` on the subscription will be true. You can use this attribute to determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period. */ + cancel_at_period_end: boolean; + /** + * Format: unix-time + * @description If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with `cancel_at_period_end`, `canceled_at` will reflect the time of the most recent update request, not the end of the subscription period when the subscription is automatically moved to a canceled state. + */ + canceled_at?: number | null; + /** @description Details about why this subscription was cancelled */ + cancellation_details?: components["schemas"]["cancellation_details"] | null; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. + * @enum {string} + */ + collection_method: "charge_automatically" | "send_invoice"; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** + * Format: unix-time + * @description End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created. + */ + current_period_end: number; + /** + * Format: unix-time + * @description Start of the current period that the subscription has been invoiced for. + */ + current_period_start: number; + /** @description ID of the customer who owns the subscription. */ + customer: string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]; + /** @description Number of days a customer has to pay invoices generated by this subscription. This value will be `null` for subscriptions where `collection_method=charge_automatically`. */ + days_until_due?: number | null; + /** @description ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ + default_payment_method?: (string | components["schemas"]["payment_method"]) | null; + /** @description ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ + default_source?: (string | components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"]) | null; + /** @description The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. */ + default_tax_rates?: components["schemas"]["tax_rate"][] | null; + /** @description The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces. */ + description?: string | null; + /** @description Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis. */ + discount?: components["schemas"]["discount"] | null; + /** + * Format: unix-time + * @description If the subscription has ended, the date the subscription ended. + */ + ended_at?: number | null; + /** @description Unique identifier for the object. */ + id: string; + /** + * SubscriptionItemList + * @description List of subscription items, each with an attached price. + */ + items: { + /** @description Details about each object. */ + data: components["schemas"]["subscription_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + /** @description The most recent invoice this subscription has generated. */ + latest_invoice?: (string | components["schemas"]["invoice"]) | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * Format: unix-time + * @description Specifies the approximate timestamp on which any pending invoice items will be billed according to the schedule provided at `pending_invoice_item_interval`. + */ + next_pending_invoice_item_invoice?: number | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "subscription"; + /** @description The account (if any) the charge was made on behalf of for charges associated with this subscription. See the Connect documentation for details. */ + on_behalf_of?: (string | components["schemas"]["account"]) | null; + /** @description If specified, payment collection for this subscription will be paused. */ + pause_collection?: components["schemas"]["subscriptions_resource_pause_collection"] | null; + /** @description Payment settings passed on to invoices created by the subscription. */ + payment_settings?: components["schemas"]["subscriptions_resource_payment_settings"] | null; + /** @description Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. */ + pending_invoice_item_interval?: components["schemas"]["subscription_pending_invoice_item_interval"] | null; + /** @description You can use this [SetupIntent](https://stripe.com/docs/api/setup_intents) to collect user authentication when creating a subscription without immediate payment or updating a subscription's payment method, allowing you to optimize for off-session payments. Learn more in the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication#scenario-2). */ + pending_setup_intent?: (string | components["schemas"]["setup_intent"]) | null; + /** @description If specified, [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates) that will be applied to the subscription once the `latest_invoice` has been paid. */ + pending_update?: components["schemas"]["subscriptions_resource_pending_update"] | null; + /** @description The schedule attached to the subscription */ + schedule?: (string | components["schemas"]["subscription_schedule"]) | null; + /** + * Format: unix-time + * @description Date when the subscription was first created. The date might differ from the `created` date due to backdating. + */ + start_date: number; + /** + * @description Possible values are `incomplete`, `incomplete_expired`, `trialing`, `active`, `past_due`, `canceled`, or `unpaid`. + * + * For `collection_method=charge_automatically` a subscription moves into `incomplete` if the initial payment attempt fails. A subscription in this state can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an `active` state. If the first invoice is not paid within 23 hours, the subscription transitions to `incomplete_expired`. This is a terminal state, the open invoice will be voided and no further invoices will be generated. + * + * A subscription that is currently in a trial period is `trialing` and moves to `active` when the trial period is over. + * + * If subscription `collection_method=charge_automatically`, it becomes `past_due` when payment is required but cannot be paid (due to failed payment or awaiting additional user actions). Once Stripe has exhausted all payment retry attempts, the subscription will become `canceled` or `unpaid` (depending on your subscriptions settings). + * + * If subscription `collection_method=send_invoice` it becomes `past_due` when its invoice is not paid by the due date, and `canceled` or `unpaid` if it is still not paid by an additional deadline after that. Note that when a subscription has a status of `unpaid`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices. + * @enum {string} + */ + status: "active" | "canceled" | "incomplete" | "incomplete_expired" | "past_due" | "paused" | "trialing" | "unpaid"; + /** @description ID of the test clock this subscription belongs to. */ + test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; + /** @description The account (if any) the subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices. */ + transfer_data?: components["schemas"]["subscription_transfer_data"] | null; + /** + * Format: unix-time + * @description If the subscription has a trial, the end of that trial. + */ + trial_end?: number | null; + /** @description Settings related to subscription trials. */ + trial_settings?: components["schemas"]["subscriptions_trials_resource_trial_settings"] | null; + /** + * Format: unix-time + * @description If the subscription has a trial, the beginning of that trial. + */ + trial_start?: number | null; + }; + /** SubscriptionAutomaticTax */ + subscription_automatic_tax: { + /** @description Whether Stripe automatically computes tax on this subscription. */ + enabled: boolean; + }; + /** SubscriptionBillingThresholds */ + subscription_billing_thresholds: { + /** @description Monetary threshold that triggers the subscription to create an invoice */ + amount_gte?: number | null; + /** @description Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`. */ + reset_billing_cycle_anchor?: boolean | null; + }; + /** SubscriptionDetailsData */ + subscription_details_data: { + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will reflect the metadata of the subscription at the time of invoice creation. *Note: This attribute is populated only for invoices created on or after June 29, 2023.* */ + metadata?: { + [key: string]: string; + } | null; + }; + /** + * SubscriptionItem + * @description Subscription items allow you to create customer subscriptions with more than + * one plan, making it easy to represent complex billing relationships. + */ + subscription_item: { + /** @description Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period */ + billing_thresholds?: components["schemas"]["subscription_item_billing_thresholds"] | null; + /** @description Time at which the object was created. Measured in seconds since the Unix epoch. */ + created: number; + /** @description Unique identifier for the object. */ + id: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "subscription_item"; + price: components["schemas"]["price"]; + /** @description The [quantity](https://stripe.com/docs/subscriptions/quantities) of the plan to which the customer should be subscribed. */ + quantity?: number; + /** @description The `subscription` this `subscription_item` belongs to. */ + subscription: string; + /** @description The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`. */ + tax_rates?: components["schemas"]["tax_rate"][] | null; + }; + /** SubscriptionItemBillingThresholds */ + subscription_item_billing_thresholds: { + /** @description Usage threshold that triggers the subscription to create an invoice */ + usage_gte?: number | null; + }; + /** subscription_payment_method_options_card */ + subscription_payment_method_options_card: { + mandate_options?: components["schemas"]["invoice_mandate_options_card"]; + /** + * @description Selected network to process this Subscription on. Depends on the available networks of the card attached to the Subscription. Can be only set confirm-time. + * @enum {string|null} + */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** + * @description We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. + * @enum {string|null} + */ + request_three_d_secure?: "any" | "automatic"; + }; + /** SubscriptionPendingInvoiceItemInterval */ + subscription_pending_invoice_item_interval: { + /** + * @description Specifies invoicing frequency. Either `day`, `week`, `month` or `year`. + * @enum {string} + */ + interval: "day" | "month" | "week" | "year"; + /** @description The number of intervals between invoices. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). */ + interval_count: number; + }; + /** + * SubscriptionSchedule + * @description A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes. + * + * Related guide: [Subscription schedules](https://stripe.com/docs/billing/subscriptions/subscription-schedules) + */ + subscription_schedule: { + /** @description ID of the Connect Application that created the schedule. */ + application?: (string | components["schemas"]["application"] | components["schemas"]["deleted_application"]) | null; + /** + * Format: unix-time + * @description Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch. + */ + canceled_at?: number | null; + /** + * Format: unix-time + * @description Time at which the subscription schedule was completed. Measured in seconds since the Unix epoch. + */ + completed_at?: number | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Object representing the start and end dates for the current phase of the subscription schedule, if it is `active`. */ + current_phase?: components["schemas"]["subscription_schedule_current_phase"] | null; + /** @description ID of the customer who owns the subscription schedule. */ + customer: string | components["schemas"]["customer"] | components["schemas"]["deleted_customer"]; + default_settings: components["schemas"]["subscription_schedules_resource_default_settings"]; + /** + * @description Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running.`cancel` will end the subscription schedule and cancel the underlying subscription. + * @enum {string} + */ + end_behavior: "cancel" | "none" | "release" | "renew"; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "subscription_schedule"; + /** @description Configuration for the subscription schedule's phases. */ + phases: components["schemas"]["subscription_schedule_phase_configuration"][]; + /** + * Format: unix-time + * @description Time at which the subscription schedule was released. Measured in seconds since the Unix epoch. + */ + released_at?: number | null; + /** @description ID of the subscription once managed by the subscription schedule (if it is released). */ + released_subscription?: string | null; + /** + * @description The present status of the subscription schedule. Possible values are `not_started`, `active`, `completed`, `released`, and `canceled`. You can read more about the different states in our [behavior guide](https://stripe.com/docs/billing/subscriptions/subscription-schedules). + * @enum {string} + */ + status: "active" | "canceled" | "completed" | "not_started" | "released"; + /** @description ID of the subscription managed by the subscription schedule. */ + subscription?: (string | components["schemas"]["subscription"]) | null; + /** @description ID of the test clock this subscription schedule belongs to. */ + test_clock?: (string | components["schemas"]["test_helpers.test_clock"]) | null; + }; + /** + * SubscriptionScheduleAddInvoiceItem + * @description An Add Invoice Item describes the prices and quantities that will be added as pending invoice items when entering a phase. + */ + subscription_schedule_add_invoice_item: { + /** @description ID of the price used to generate the invoice item. */ + price: string | components["schemas"]["price"] | components["schemas"]["deleted_price"]; + /** @description The quantity of the invoice item. */ + quantity?: number | null; + /** @description The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item. */ + tax_rates?: components["schemas"]["tax_rate"][] | null; + }; + /** + * SubscriptionScheduleConfigurationItem + * @description A phase item describes the price and quantity of a phase. + */ + subscription_schedule_configuration_item: { + /** @description Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period */ + billing_thresholds?: components["schemas"]["subscription_item_billing_thresholds"] | null; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an item. Metadata on this item will update the underlying subscription item's `metadata` when the phase is entered. */ + metadata?: { + [key: string]: string; + } | null; + /** @description ID of the price to which the customer should be subscribed. */ + price: string | components["schemas"]["price"] | components["schemas"]["deleted_price"]; + /** @description Quantity of the plan to which the customer should be subscribed. */ + quantity?: number; + /** @description The tax rates which apply to this `phase_item`. When set, the `default_tax_rates` on the phase do not apply to this `phase_item`. */ + tax_rates?: components["schemas"]["tax_rate"][] | null; + }; + /** SubscriptionScheduleCurrentPhase */ + subscription_schedule_current_phase: { + /** + * Format: unix-time + * @description The end of this phase of the subscription schedule. + */ + end_date: number; + /** + * Format: unix-time + * @description The start of this phase of the subscription schedule. + */ + start_date: number; + }; + /** + * SubscriptionSchedulePhaseConfiguration + * @description A phase describes the plans, coupon, and trialing status of a subscription for a predefined time period. + */ + subscription_schedule_phase_configuration: { + /** @description A list of prices and quantities that will generate invoice items appended to the next invoice for this phase. */ + add_invoice_items: components["schemas"]["subscription_schedule_add_invoice_item"][]; + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account during this phase of the schedule. */ + application_fee_percent?: number | null; + automatic_tax?: components["schemas"]["schedules_phase_automatic_tax"]; + /** + * @description Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). + * @enum {string|null} + */ + billing_cycle_anchor?: "automatic" | "phase_start"; + /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period */ + billing_thresholds?: components["schemas"]["subscription_billing_thresholds"] | null; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. + * @enum {string|null} + */ + collection_method?: "charge_automatically" | "send_invoice"; + /** @description ID of the coupon to use during this phase of the subscription schedule. */ + coupon?: (string | components["schemas"]["coupon"] | components["schemas"]["deleted_coupon"]) | null; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. */ + default_payment_method?: (string | components["schemas"]["payment_method"]) | null; + /** @description The default tax rates to apply to the subscription during this phase of the subscription schedule. */ + default_tax_rates?: components["schemas"]["tax_rate"][] | null; + /** @description Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription. */ + description?: string | null; + /** + * Format: unix-time + * @description The end of this phase of the subscription schedule. + */ + end_date: number; + /** @description The invoice settings applicable during this phase. */ + invoice_settings?: components["schemas"]["invoice_setting_subscription_schedule_phase_setting"] | null; + /** @description Subscription items to configure the subscription to during this phase of the subscription schedule. */ + items: components["schemas"]["subscription_schedule_configuration_item"][]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered. Updating the underlying subscription's `metadata` directly will not affect the current phase's `metadata`. */ + metadata?: { + [key: string]: string; + } | null; + /** @description The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details. */ + on_behalf_of?: (string | components["schemas"]["account"]) | null; + /** + * @description If the subscription schedule will prorate when transitioning to this phase. Possible values are `create_prorations` and `none`. + * @enum {string} + */ + proration_behavior: "always_invoice" | "create_prorations" | "none"; + /** + * Format: unix-time + * @description The start of this phase of the subscription schedule. + */ + start_date: number; + /** @description The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices. */ + transfer_data?: components["schemas"]["subscription_transfer_data"] | null; + /** + * Format: unix-time + * @description When the trial ends within the phase. + */ + trial_end?: number | null; + }; + /** SubscriptionSchedulesResourceDefaultSettings */ + subscription_schedules_resource_default_settings: { + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account during this phase of the schedule. */ + application_fee_percent?: number | null; + automatic_tax?: components["schemas"]["subscription_schedules_resource_default_settings_automatic_tax"]; + /** + * @description Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). + * @enum {string} + */ + billing_cycle_anchor: "automatic" | "phase_start"; + /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period */ + billing_thresholds?: components["schemas"]["subscription_billing_thresholds"] | null; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. + * @enum {string|null} + */ + collection_method?: "charge_automatically" | "send_invoice"; + /** @description ID of the default payment method for the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. */ + default_payment_method?: (string | components["schemas"]["payment_method"]) | null; + /** @description Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription. */ + description?: string | null; + /** @description The subscription schedule's default invoice settings. */ + invoice_settings?: components["schemas"]["invoice_setting_subscription_schedule_setting"] | null; + /** @description The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details. */ + on_behalf_of?: (string | components["schemas"]["account"]) | null; + /** @description The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices. */ + transfer_data?: components["schemas"]["subscription_transfer_data"] | null; + }; + /** SubscriptionSchedulesResourceDefaultSettingsAutomaticTax */ + subscription_schedules_resource_default_settings_automatic_tax: { + /** @description Whether Stripe automatically computes tax on invoices created during this phase. */ + enabled: boolean; + }; + /** SubscriptionTransferData */ + subscription_transfer_data: { + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. */ + amount_percent?: number | null; + /** @description The account where funds from the payment will be transferred to upon payment success. */ + destination: string | components["schemas"]["account"]; + }; + /** + * SubscriptionsResourcePauseCollection + * @description The Pause Collection settings determine how we will pause collection for this subscription and for how long the subscription + * should be paused. + */ + subscriptions_resource_pause_collection: { + /** + * @description The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`. + * @enum {string} + */ + behavior: "keep_as_draft" | "mark_uncollectible" | "void"; + /** + * Format: unix-time + * @description The time after which the subscription will resume collecting payments. + */ + resumes_at?: number | null; + }; + /** SubscriptionsResourcePaymentMethodOptions */ + subscriptions_resource_payment_method_options: { + /** @description This sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to invoices created by the subscription. */ + acss_debit?: components["schemas"]["invoice_payment_method_options_acss_debit"] | null; + /** @description This sub-hash contains details about the Bancontact payment method options to pass to invoices created by the subscription. */ + bancontact?: components["schemas"]["invoice_payment_method_options_bancontact"] | null; + /** @description This sub-hash contains details about the Card payment method options to pass to invoices created by the subscription. */ + card?: components["schemas"]["subscription_payment_method_options_card"] | null; + /** @description This sub-hash contains details about the Bank transfer payment method options to pass to invoices created by the subscription. */ + customer_balance?: components["schemas"]["invoice_payment_method_options_customer_balance"] | null; + /** @description This sub-hash contains details about the Konbini payment method options to pass to invoices created by the subscription. */ + konbini?: components["schemas"]["invoice_payment_method_options_konbini"] | null; + /** @description This sub-hash contains details about the ACH direct debit payment method options to pass to invoices created by the subscription. */ + us_bank_account?: components["schemas"]["invoice_payment_method_options_us_bank_account"] | null; + }; + /** SubscriptionsResourcePaymentSettings */ + subscriptions_resource_payment_settings: { + /** @description Payment-method-specific configuration to provide to invoices created by the subscription. */ + payment_method_options?: components["schemas"]["subscriptions_resource_payment_method_options"] | null; + /** @description The list of payment method types to provide to every invoice created by the subscription. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). */ + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[] | null; + /** + * @description Either `off`, or `on_subscription`. With `on_subscription` Stripe updates `subscription.default_payment_method` when a subscription payment succeeds. + * @enum {string|null} + */ + save_default_payment_method?: "off" | "on_subscription"; + }; + /** + * SubscriptionsResourcePendingUpdate + * @description Pending Updates store the changes pending from a previous update that will be applied + * to the Subscription upon successful payment. + */ + subscriptions_resource_pending_update: { + /** + * Format: unix-time + * @description If the update is applied, determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format. + */ + billing_cycle_anchor?: number | null; + /** + * Format: unix-time + * @description The point after which the changes reflected by this update will be discarded and no longer applied. + */ + expires_at: number; + /** @description List of subscription items, each with an attached plan, that will be set if the update is applied. */ + subscription_items?: components["schemas"]["subscription_item"][] | null; + /** + * Format: unix-time + * @description Unix timestamp representing the end of the trial period the customer will get before being charged for the first time, if the update is applied. + */ + trial_end?: number | null; + /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ + trial_from_plan?: boolean | null; + }; + /** + * SubscriptionsTrialsResourceEndBehavior + * @description Defines how a subscription behaves when a free trial ends. + */ + subscriptions_trials_resource_end_behavior: { + /** + * @description Indicates how the subscription should change when the trial ends if the user did not provide a payment method. + * @enum {string} + */ + missing_payment_method: "cancel" | "create_invoice" | "pause"; + }; + /** + * SubscriptionsTrialsResourceTrialSettings + * @description Configures how this subscription behaves during the trial period. + */ + subscriptions_trials_resource_trial_settings: { + end_behavior: components["schemas"]["subscriptions_trials_resource_end_behavior"]; + }; + /** + * TaxProductResourceTaxCalculation + * @description A Tax Calculation allows you to calculate the tax to collect from your customer. + * + * Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom) + */ + "tax.calculation": { + /** @description Total after taxes. */ + amount_total: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description The ID of an existing [Customer](https://stripe.com/docs/api/customers/object) used for the resource. */ + customer?: string | null; + customer_details: components["schemas"]["tax_product_resource_customer_details"]; + /** + * Format: unix-time + * @description Timestamp of date at which the tax calculation will expire. + */ + expires_at?: number | null; + /** @description Unique identifier for the calculation. */ + id?: string | null; + /** + * TaxProductResourceTaxCalculationLineItemList + * @description The list of items the customer is purchasing. + */ + line_items?: { + /** @description Details about each object. */ + data: components["schemas"]["tax.calculation_line_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + } | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "tax.calculation"; + /** @description The shipping cost details for the calculation. */ + shipping_cost?: components["schemas"]["tax_product_resource_tax_calculation_shipping_cost"] | null; + /** @description The amount of tax to be collected on top of the line item prices. */ + tax_amount_exclusive: number; + /** @description The amount of tax already included in the line item prices. */ + tax_amount_inclusive: number; + /** @description Breakdown of individual tax amounts that add up to the total. */ + tax_breakdown: components["schemas"]["tax_product_resource_tax_breakdown"][]; + /** + * Format: unix-time + * @description Timestamp of date at which the tax rules and rates in effect applies for the calculation. + */ + tax_date: number; + }; + /** TaxProductResourceTaxCalculationLineItem */ + "tax.calculation_line_item": { + /** @description The line item amount in integer cents. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. */ + amount: number; + /** @description The amount of tax calculated for this line item, in integer cents. */ + amount_tax: number; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "tax.calculation_line_item"; + /** @description The ID of an existing [Product](https://stripe.com/docs/api/products/object). */ + product?: string | null; + /** @description The number of units of the item being purchased. For reversals, this is the quantity reversed. */ + quantity: number; + /** @description A custom identifier for this line item. */ + reference?: string | null; + /** + * @description Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. + * @enum {string} + */ + tax_behavior: "exclusive" | "inclusive"; + /** @description Detailed account of taxes relevant to this line item. */ + tax_breakdown?: components["schemas"]["tax_product_resource_line_item_tax_breakdown"][] | null; + /** @description The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for this resource. */ + tax_code: string; + }; + /** + * TaxProductResourceTaxSettings + * @description You can use Tax `Settings` to manage configurations used by Stripe Tax calculations. + * + * Related guide: [Using the Settings API](https://stripe.com/docs/tax/settings-api) + */ + "tax.settings": { + defaults: components["schemas"]["tax_product_resource_tax_settings_defaults"]; + /** @description The place where your business is located. */ + head_office?: components["schemas"]["tax_product_resource_tax_settings_head_office"] | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "tax.settings"; + /** + * @description The `active` status indicates you have all required settings to calculate tax. A status can transition out of `active` when new required settings are introduced. + * @enum {string} + */ + status: "active" | "pending"; + status_details: components["schemas"]["tax_product_resource_tax_settings_status_details"]; + }; + /** + * TaxProductResourceTaxTransaction + * @description A Tax Transaction records the tax collected from or refunded to your customer. + * + * Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom#tax-transaction) + */ + "tax.transaction": { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description The ID of an existing [Customer](https://stripe.com/docs/api/customers/object) used for the resource. */ + customer?: string | null; + customer_details: components["schemas"]["tax_product_resource_customer_details"]; + /** @description Unique identifier for the transaction. */ + id: string; + /** + * TaxProductResourceTaxTransactionLineItemList + * @description The tax collected or refunded, by line item. + */ + line_items?: { + /** @description Details about each object. */ + data: components["schemas"]["tax.transaction_line_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + } | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "tax.transaction"; + /** @description A custom unique identifier, such as 'myOrder_123'. */ + reference: string; + /** @description If `type=reversal`, contains information about what was reversed. */ + reversal?: components["schemas"]["tax_product_resource_tax_transaction_resource_reversal"] | null; + /** @description The shipping cost details for the transaction. */ + shipping_cost?: components["schemas"]["tax_product_resource_tax_transaction_shipping_cost"] | null; + /** + * Format: unix-time + * @description Timestamp of date at which the tax rules and rates in effect applies for the calculation. + */ + tax_date: number; + /** + * @description If `reversal`, this transaction reverses an earlier transaction. + * @enum {string} + */ + type: "reversal" | "transaction"; + }; + /** TaxProductResourceTaxTransactionLineItem */ + "tax.transaction_line_item": { + /** @description The line item amount in integer cents. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. */ + amount: number; + /** @description The amount of tax calculated for this line item, in integer cents. */ + amount_tax: number; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "tax.transaction_line_item"; + /** @description The ID of an existing [Product](https://stripe.com/docs/api/products/object). */ + product?: string | null; + /** @description The number of units of the item being purchased. For reversals, this is the quantity reversed. */ + quantity: number; + /** @description A custom identifier for this line item in the transaction. */ + reference: string; + /** @description If `type=reversal`, contains information about what was reversed. */ + reversal?: components["schemas"]["tax_product_resource_tax_transaction_line_item_resource_reversal"] | null; + /** + * @description Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. + * @enum {string} + */ + tax_behavior: "exclusive" | "inclusive"; + /** @description The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for this resource. */ + tax_code: string; + /** + * @description If `reversal`, this line item reverses an earlier transaction. + * @enum {string} + */ + type: "reversal" | "transaction"; + }; + /** + * TaxProductResourceTaxCode + * @description [Tax codes](https://stripe.com/docs/tax/tax-categories) classify goods and services for tax purposes. + */ + tax_code: { + /** @description A detailed description of which types of products the tax code represents. */ + description: string; + /** @description Unique identifier for the object. */ + id: string; + /** @description A short name for the tax code. */ + name: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "tax_code"; + }; + /** TaxDeductedAtSource */ + tax_deducted_at_source: { + /** @description Unique identifier for the object. */ + id: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "tax_deducted_at_source"; + /** + * Format: unix-time + * @description The end of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period. + */ + period_end: number; + /** + * Format: unix-time + * @description The start of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period. + */ + period_start: number; + /** @description The TAN that was supplied to Stripe when TDS was assessed */ + tax_deduction_account_number: string; + }; + /** + * tax_id + * @description You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers) or account. + * Customer and account tax IDs get displayed on related invoices and credit notes. + * + * Related guides: [Customer tax identification numbers](https://stripe.com/docs/billing/taxes/tax-ids), [Account tax IDs](https://stripe.com/docs/invoicing/connect#account-tax-ids) + */ + tax_id: { + /** @description Two-letter ISO code representing the country of the tax ID. */ + country?: string | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description ID of the customer. */ + customer?: (string | components["schemas"]["customer"]) | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "tax_id"; + /** + * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `no_vat`, `nz_gst`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sv_nit`, `th_vat`, `tr_tin`, `tw_vat`, `ua_vat`, `us_ein`, `uy_ruc`, `ve_rif`, `vn_tin`, or `za_vat`. Note that some legacy tax IDs have type `unknown` + * @enum {string} + */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "unknown" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; + /** @description Value of the tax ID. */ + value: string; + /** @description Tax ID verification information. */ + verification?: components["schemas"]["tax_id_verification"] | null; + }; + /** tax_id_verification */ + tax_id_verification: { + /** + * @description Verification status, one of `pending`, `verified`, `unverified`, or `unavailable`. + * @enum {string} + */ + status: "pending" | "unavailable" | "unverified" | "verified"; + /** @description Verified address. */ + verified_address?: string | null; + /** @description Verified name. */ + verified_name?: string | null; + }; + /** TaxProductResourceCustomerDetails */ + tax_product_resource_customer_details: { + /** @description The customer's postal address (for example, home or business location). */ + address?: components["schemas"]["tax_product_resource_postal_address"] | null; + /** + * @description The type of customer address provided. + * @enum {string|null} + */ + address_source?: "billing" | "shipping"; + /** @description The customer's IP address (IPv4 or IPv6). */ + ip_address?: string | null; + /** @description The customer's tax IDs (for example, EU VAT numbers). */ + tax_ids: components["schemas"]["tax_product_resource_customer_details_resource_tax_id"][]; + /** + * @description The taxability override used for taxation. + * @enum {string} + */ + taxability_override: "customer_exempt" | "none" | "reverse_charge"; + }; + /** TaxProductResourceCustomerDetailsResourceTaxId */ + tax_product_resource_customer_details_resource_tax_id: { + /** + * @description The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, or `unknown` + * @enum {string} + */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "unknown" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; + /** @description The value of the tax ID. */ + value: string; + }; + /** TaxProductResourceJurisdiction */ + tax_product_resource_jurisdiction: { + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country: string; + /** @description A human-readable name for the jurisdiction imposing the tax. */ + display_name: string; + /** + * @description Indicates the level of the jurisdiction imposing the tax. + * @enum {string} + */ + level: "city" | "country" | "county" | "district" | "state"; + /** @description [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. */ + state?: string | null; + }; + /** TaxProductResourceLineItemTaxBreakdown */ + tax_product_resource_line_item_tax_breakdown: { + /** @description The amount of tax, in integer cents. */ + amount: number; + jurisdiction: components["schemas"]["tax_product_resource_jurisdiction"]; + /** + * @description Indicates whether the jurisdiction was determined by the origin (merchant's address) or destination (customer's address). + * @enum {string} + */ + sourcing: "destination" | "origin"; + /** @description Details regarding the rate for this tax. This field will be `null` when the tax is not imposed, for example if the product is exempt from tax. */ + tax_rate_details?: components["schemas"]["tax_product_resource_line_item_tax_rate_details"] | null; + /** + * @description The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. + * @enum {string} + */ + taxability_reason: "customer_exempt" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated"; + /** @description The amount on which tax is calculated, in integer cents. */ + taxable_amount: number; + }; + /** TaxProductResourceLineItemTaxRateDetails */ + tax_product_resource_line_item_tax_rate_details: { + /** @description A localized display name for tax type, intended to be human-readable. For example, "Local Sales and Use Tax", "Value-added tax (VAT)", or "Umsatzsteuer (USt.)". */ + display_name: string; + /** @description The tax rate percentage as a string. For example, 8.5% is represented as "8.5". */ + percentage_decimal: string; + /** + * @description The tax type, such as `vat` or `sales_tax`. + * @enum {string} + */ + tax_type: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "vat"; + }; + /** TaxProductResourcePostalAddress */ + tax_product_resource_postal_address: { + /** @description City, district, suburb, town, or village. */ + city?: string | null; + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country: string; + /** @description Address line 1 (e.g., street, PO Box, or company name). */ + line1?: string | null; + /** @description Address line 2 (e.g., apartment, suite, unit, or building). */ + line2?: string | null; + /** @description ZIP or postal code. */ + postal_code?: string | null; + /** @description State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix. Example: "NY" or "TX". */ + state?: string | null; + }; + /** TaxProductResourceTaxBreakdown */ + tax_product_resource_tax_breakdown: { + /** @description The amount of tax, in integer cents. */ + amount: number; + /** @description Specifies whether the tax amount is included in the line item amount. */ + inclusive: boolean; + tax_rate_details: components["schemas"]["tax_product_resource_tax_rate_details"]; + /** + * @description The reasoning behind this tax, for example, if the product is tax exempt. We might extend the possible values for this field to support new tax rules. + * @enum {string} + */ + taxability_reason: "customer_exempt" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated"; + /** @description The amount on which tax is calculated, in integer cents. */ + taxable_amount: number; + }; + /** TaxProductResourceTaxCalculationShippingCost */ + tax_product_resource_tax_calculation_shipping_cost: { + /** @description The shipping amount in integer cents. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. */ + amount: number; + /** @description The amount of tax calculated for shipping, in integer cents. */ + amount_tax: number; + /** @description The ID of an existing [ShippingRate](https://stripe.com/docs/api/shipping_rates/object). */ + shipping_rate?: string; + /** + * @description Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. + * @enum {string} + */ + tax_behavior: "exclusive" | "inclusive"; + /** @description Detailed account of taxes relevant to shipping cost. */ + tax_breakdown?: components["schemas"]["tax_product_resource_line_item_tax_breakdown"][]; + /** @description The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for shipping. */ + tax_code: string; + }; + /** TaxProductResourceTaxRateDetails */ + tax_product_resource_tax_rate_details: { + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country?: string | null; + /** @description The tax rate percentage as a string. For example, 8.5% is represented as `"8.5"`. */ + percentage_decimal: string; + /** @description State, county, province, or region. */ + state?: string | null; + /** + * @description The tax type, such as `vat` or `sales_tax`. + * @enum {string|null} + */ + tax_type?: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "vat"; + }; + /** TaxProductResourceTaxSettingsDefaults */ + tax_product_resource_tax_settings_defaults: { + /** + * @description Default [tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#tax-behavior) used to specify whether the price is considered inclusive of taxes or exclusive of taxes. If the item's price has a tax behavior set, it will take precedence over the default tax behavior. + * @enum {string|null} + */ + tax_behavior?: "exclusive" | "inclusive" | "inferred_by_currency"; + /** @description Default [tax code](https://stripe.com/docs/tax/tax-categories) used to classify your products and prices. */ + tax_code?: string | null; + }; + /** TaxProductResourceTaxSettingsHeadOffice */ + tax_product_resource_tax_settings_head_office: { + address: components["schemas"]["address"]; + }; + /** TaxProductResourceTaxSettingsStatusDetails */ + tax_product_resource_tax_settings_status_details: { + active?: components["schemas"]["tax_product_resource_tax_settings_status_details_resource_active"]; + pending?: components["schemas"]["tax_product_resource_tax_settings_status_details_resource_pending"]; + }; + /** TaxProductResourceTaxSettingsStatusDetailsResourceActive */ + tax_product_resource_tax_settings_status_details_resource_active: Record; + /** TaxProductResourceTaxSettingsStatusDetailsResourcePending */ + tax_product_resource_tax_settings_status_details_resource_pending: { + /** @description The list of missing fields that are required to perform calculations. It includes the entry `head_office` when the status is `pending`. It is recommended to set the optional values even if they aren't listed as required for calculating taxes. Calculations can fail if missing fields aren't explicitly provided on every call. */ + missing_fields?: string[] | null; + }; + /** TaxProductResourceTaxTransactionLineItemResourceReversal */ + tax_product_resource_tax_transaction_line_item_resource_reversal: { + /** @description The `id` of the line item to reverse in the original transaction. */ + original_line_item: string; + }; + /** TaxProductResourceTaxTransactionResourceReversal */ + tax_product_resource_tax_transaction_resource_reversal: { + /** @description The `id` of the reversed `Transaction` object. */ + original_transaction?: string | null; + }; + /** TaxProductResourceTaxTransactionShippingCost */ + tax_product_resource_tax_transaction_shipping_cost: { + /** @description The shipping amount in integer cents. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. */ + amount: number; + /** @description The amount of tax calculated for shipping, in integer cents. */ + amount_tax: number; + /** @description The ID of an existing [ShippingRate](https://stripe.com/docs/api/shipping_rates/object). */ + shipping_rate?: string; + /** + * @description Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. + * @enum {string} + */ + tax_behavior: "exclusive" | "inclusive"; + /** @description The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for shipping. */ + tax_code: string; + }; + /** + * TaxRate + * @description Tax rates can be applied to [invoices](https://stripe.com/docs/billing/invoices/tax-rates), [subscriptions](https://stripe.com/docs/billing/subscriptions/taxes) and [Checkout Sessions](https://stripe.com/docs/payments/checkout/set-up-a-subscription#tax-rates) to collect tax. + * + * Related guide: [Tax rates](https://stripe.com/docs/billing/taxes/tax-rates) + */ + tax_rate: { + /** @description Defaults to `true`. When set to `false`, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. */ + active: boolean; + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country?: string | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. */ + description?: string | null; + /** @description The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page. */ + display_name: string; + /** @description Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, + * this percentage reflects the rate actually used to calculate tax based on the product's taxability + * and whether the user is registered to collect taxes in the corresponding jurisdiction. */ + effective_percentage?: number | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description This specifies if the tax rate is inclusive or exclusive. */ + inclusive: boolean; + /** @description The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice. */ + jurisdiction?: string | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "tax_rate"; + /** @description Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions. */ + percentage: number; + /** @description [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. */ + state?: string | null; + /** + * @description The high-level tax type, such as `vat` or `sales_tax`. + * @enum {string|null} + */ + tax_type?: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "service_tax" | "vat"; + }; + /** + * TerminalConfigurationConfiguration + * @description A Configurations object represents how features should be configured for terminal readers. + */ + "terminal.configuration": { + bbpos_wisepos_e?: components["schemas"]["terminal_configuration_configuration_resource_device_type_specific_config"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Whether this Configuration is the default for your account */ + is_account_default?: boolean | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "terminal.configuration"; + tipping?: components["schemas"]["terminal_configuration_configuration_resource_tipping"]; + verifone_p400?: components["schemas"]["terminal_configuration_configuration_resource_device_type_specific_config"]; + }; + /** + * TerminalConnectionToken + * @description A Connection Token is used by the Stripe Terminal SDK to connect to a reader. + * + * Related guide: [Fleet management](https://stripe.com/docs/terminal/fleet/locations) + */ + "terminal.connection_token": { + /** @description The id of the location that this connection token is scoped to. Note that location scoping only applies to internet-connected readers. For more details, see [the docs on scoping connection tokens](https://stripe.com/docs/terminal/fleet/locations#connection-tokens). */ + location?: string; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "terminal.connection_token"; + /** @description Your application should pass this token to the Stripe Terminal SDK. */ + secret: string; + }; + /** + * TerminalLocationLocation + * @description A Location represents a grouping of readers. + * + * Related guide: [Fleet management](https://stripe.com/docs/terminal/fleet/locations) + */ + "terminal.location": { + address: components["schemas"]["address"]; + /** @description The ID of a configuration that will be used to customize all readers in this location. */ + configuration_overrides?: string; + /** @description The display name of the location. */ + display_name: string; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "terminal.location"; + }; + /** + * TerminalReaderReader + * @description A Reader represents a physical device for accepting payment details. + * + * Related guide: [Connecting to a reader](https://stripe.com/docs/terminal/payments/connect-reader) + */ + "terminal.reader": { + /** @description The most recent action performed by the reader. */ + action?: components["schemas"]["terminal_reader_reader_resource_reader_action"] | null; + /** @description The current software version of the reader. */ + device_sw_version?: string | null; + /** + * @description Type of reader, one of `bbpos_wisepad3`, `stripe_m2`, `bbpos_chipper2x`, `bbpos_wisepos_e`, `verifone_P400`, or `simulated_wisepos_e`. + * @enum {string} + */ + device_type: "bbpos_chipper2x" | "bbpos_wisepad3" | "bbpos_wisepos_e" | "simulated_wisepos_e" | "stripe_m2" | "verifone_P400"; + /** @description Unique identifier for the object. */ + id: string; + /** @description The local IP address of the reader. */ + ip_address?: string | null; + /** @description Custom label given to the reader for easier identification. */ + label: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description The location identifier of the reader. */ + location?: (string | components["schemas"]["terminal.location"]) | null; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "terminal.reader"; + /** @description Serial number of the reader. */ + serial_number: string; + /** @description The networking status of the reader. */ + status?: string | null; + }; + /** TerminalConfigurationConfigurationResourceCurrencySpecificConfig */ + terminal_configuration_configuration_resource_currency_specific_config: { + /** @description Fixed amounts displayed when collecting a tip */ + fixed_amounts?: number[] | null; + /** @description Percentages displayed when collecting a tip */ + percentages?: number[] | null; + /** @description Below this amount, fixed amounts will be displayed; above it, percentages will be displayed */ + smart_tip_threshold?: number; + }; + /** TerminalConfigurationConfigurationResourceDeviceTypeSpecificConfig */ + terminal_configuration_configuration_resource_device_type_specific_config: { + /** @description A File ID representing an image you would like displayed on the reader. */ + splashscreen?: string | components["schemas"]["file"]; + }; + /** TerminalConfigurationConfigurationResourceTipping */ + terminal_configuration_configuration_resource_tipping: { + aud?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + cad?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + chf?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + czk?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + dkk?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + eur?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + gbp?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + hkd?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + myr?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + nok?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + nzd?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + sek?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + sgd?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + usd?: components["schemas"]["terminal_configuration_configuration_resource_currency_specific_config"]; + }; + /** + * TerminalReaderReaderResourceCart + * @description Represents a cart to be displayed on the reader + */ + terminal_reader_reader_resource_cart: { + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description List of line items in the cart. */ + line_items: components["schemas"]["terminal_reader_reader_resource_line_item"][]; + /** @description Tax amount for the entire cart. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + tax?: number | null; + /** @description Total amount for the entire cart, including tax. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + total: number; + }; + /** + * TerminalReaderReaderResourceLineItem + * @description Represents a line item to be displayed on the reader + */ + terminal_reader_reader_resource_line_item: { + /** @description The amount of the line item. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount: number; + /** @description Description of the line item. */ + description: string; + /** @description The quantity of the line item. */ + quantity: number; + }; + /** + * TerminalReaderReaderResourceProcessConfig + * @description Represents a per-transaction override of a reader configuration + */ + terminal_reader_reader_resource_process_config: { + /** @description Override showing a tipping selection screen on this transaction. */ + skip_tipping?: boolean; + tipping?: components["schemas"]["terminal_reader_reader_resource_tipping_config"]; + }; + /** + * TerminalReaderReaderResourceProcessPaymentIntentAction + * @description Represents a reader action to process a payment intent + */ + terminal_reader_reader_resource_process_payment_intent_action: { + /** @description Most recent PaymentIntent processed by the reader. */ + payment_intent: string | components["schemas"]["payment_intent"]; + process_config?: components["schemas"]["terminal_reader_reader_resource_process_config"]; + }; + /** + * TerminalReaderReaderResourceProcessSetupConfig + * @description Represents a per-setup override of a reader configuration + */ + terminal_reader_reader_resource_process_setup_config: Record; + /** + * TerminalReaderReaderResourceProcessSetupIntentAction + * @description Represents a reader action to process a setup intent + */ + terminal_reader_reader_resource_process_setup_intent_action: { + /** @description ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. */ + generated_card?: string; + process_config?: components["schemas"]["terminal_reader_reader_resource_process_setup_config"]; + /** @description Most recent SetupIntent processed by the reader. */ + setup_intent: string | components["schemas"]["setup_intent"]; + }; + /** + * TerminalReaderReaderResourceReaderAction + * @description Represents an action performed by the reader + */ + terminal_reader_reader_resource_reader_action: { + /** @description Failure code, only set if status is `failed`. */ + failure_code?: string | null; + /** @description Detailed failure message, only set if status is `failed`. */ + failure_message?: string | null; + process_payment_intent?: components["schemas"]["terminal_reader_reader_resource_process_payment_intent_action"]; + process_setup_intent?: components["schemas"]["terminal_reader_reader_resource_process_setup_intent_action"]; + refund_payment?: components["schemas"]["terminal_reader_reader_resource_refund_payment_action"]; + set_reader_display?: components["schemas"]["terminal_reader_reader_resource_set_reader_display_action"]; + /** + * @description Status of the action performed by the reader. + * @enum {string} + */ + status: "failed" | "in_progress" | "succeeded"; + /** + * @description Type of action performed by the reader. + * @enum {string} + */ + type: "process_payment_intent" | "process_setup_intent" | "refund_payment" | "set_reader_display"; + }; + /** + * TerminalReaderReaderResourceRefundPaymentAction + * @description Represents a reader action to refund a payment + */ + terminal_reader_reader_resource_refund_payment_action: { + /** @description The amount being refunded. */ + amount?: number; + /** @description Charge that is being refunded. */ + charge?: string | components["schemas"]["charge"]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + }; + /** @description Payment intent that is being refunded. */ + payment_intent?: string | components["schemas"]["payment_intent"]; + /** + * @description The reason for the refund. + * @enum {string} + */ + reason?: "duplicate" | "fraudulent" | "requested_by_customer"; + /** @description Unique identifier for the refund object. */ + refund?: string | components["schemas"]["refund"]; + /** @description Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. */ + refund_application_fee?: boolean; + /** @description Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge. */ + reverse_transfer?: boolean; + }; + /** + * TerminalReaderReaderResourceSetReaderDisplayAction + * @description Represents a reader action to set the reader display + */ + terminal_reader_reader_resource_set_reader_display_action: { + /** @description Cart object to be displayed by the reader. */ + cart?: components["schemas"]["terminal_reader_reader_resource_cart"] | null; + /** + * @description Type of information to be displayed by the reader. + * @enum {string} + */ + type: "cart"; + }; + /** + * TerminalReaderReaderResourceTippingConfig + * @description Represents a per-transaction tipping configuration + */ + terminal_reader_reader_resource_tipping_config: { + /** @description Amount used to calculate tip suggestions on tipping selection screen for this transaction. Must be a positive integer in the smallest currency unit (e.g., 100 cents to represent $1.00 or 100 to represent ¥100, a zero-decimal currency). */ + amount_eligible?: number; + }; + /** + * TestClock + * @description A test clock enables deterministic control over objects in testmode. With a test clock, you can create + * objects at a frozen time in the past or future, and advance to a specific future time to observe webhooks and state changes. After the clock advances, + * you can either validate the current state of your scenario (and test your assumptions), change the current state of your scenario (and test more complex scenarios), or keep advancing forward in time. + */ + "test_helpers.test_clock": { + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** + * Format: unix-time + * @description Time at which this clock is scheduled to auto delete. + */ + deletes_after: number; + /** + * Format: unix-time + * @description Time at which all objects belonging to this clock are frozen. + */ + frozen_time: number; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description The custom name supplied at creation. */ + name?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "test_helpers.test_clock"; + /** + * @description The status of the Test Clock. + * @enum {string} + */ + status: "advancing" | "internal_failure" | "ready"; + }; + /** three_d_secure_details */ + three_d_secure_details: { + /** + * @description For authenticated transactions: how the customer was authenticated by + * the issuing bank. + * @enum {string|null} + */ + authentication_flow?: "challenge" | "frictionless"; + /** + * @description Indicates the outcome of 3D Secure authentication. + * @enum {string|null} + */ + result?: "attempt_acknowledged" | "authenticated" | "exempted" | "failed" | "not_supported" | "processing_error"; + /** + * @description Additional information about why 3D Secure succeeded or failed based + * on the `result`. + * @enum {string|null} + */ + result_reason?: "abandoned" | "bypassed" | "canceled" | "card_not_enrolled" | "network_not_supported" | "protocol_error" | "rejected"; + /** + * @description The version of 3D Secure that was used. + * @enum {string|null} + */ + version?: "1.0.2" | "2.1.0" | "2.2.0"; + }; + /** three_d_secure_details_charge */ + three_d_secure_details_charge: { + /** + * @description For authenticated transactions: how the customer was authenticated by + * the issuing bank. + * @enum {string|null} + */ + authentication_flow?: "challenge" | "frictionless"; + /** + * @description Indicates the outcome of 3D Secure authentication. + * @enum {string|null} + */ + result?: "attempt_acknowledged" | "authenticated" | "exempted" | "failed" | "not_supported" | "processing_error"; + /** + * @description Additional information about why 3D Secure succeeded or failed based + * on the `result`. + * @enum {string|null} + */ + result_reason?: "abandoned" | "bypassed" | "canceled" | "card_not_enrolled" | "network_not_supported" | "protocol_error" | "rejected"; + /** + * @description The version of 3D Secure that was used. + * @enum {string|null} + */ + version?: "1.0.2" | "2.1.0" | "2.2.0"; + }; + /** three_d_secure_usage */ + three_d_secure_usage: { + /** @description Whether 3D Secure is supported on this card. */ + supported: boolean; + }; + /** + * Token + * @description Tokenization is the process Stripe uses to collect sensitive card or bank + * account details, or personally identifiable information (PII), directly from + * your customers in a secure manner. A token representing this information is + * returned to your server to use. Use our + * [recommended payments integrations](https://stripe.com/docs/payments) to perform this process + * on the client-side. This guarantees that no sensitive card data touches your server, + * and allows your integration to operate in a PCI-compliant way. + * + * If you can't use client-side tokenization, you can also create tokens using + * the API with either your publishable or secret API key. If + * your integration uses this method, you're responsible for any PCI compliance + * that it might require, and you must keep your secret API key safe. Unlike with + * client-side tokenization, your customer's information isn't sent directly to + * Stripe, so we can't determine how it's handled or stored. + * + * You can't store or use tokens more than once. To store card or bank account + * information for later use, create [Customer](https://stripe.com/docs/api#customers) + * objects or [Custom accounts](https://stripe.com/docs/api#external_accounts). + * [Radar](https://stripe.com/docs/radar), our integrated solution for automatic fraud protection, + * performs best with integrations that use client-side tokenization. + */ + token: { + bank_account?: components["schemas"]["bank_account"]; + card?: components["schemas"]["card"]; + /** @description IP address of the client that generates the token. */ + client_ip?: string | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "token"; + /** @description Type of the token: `account`, `bank_account`, `card`, or `pii`. */ + type: string; + /** @description Determines if you have already used this token (you can only use tokens once). */ + used: boolean; + }; + /** + * Topup + * @description To top up your Stripe balance, you create a top-up object. You can retrieve + * individual top-ups, as well as list all top-ups. Top-ups are identified by a + * unique, random ID. + * + * Related guide: [Topping up your platform account](https://stripe.com/docs/connect/top-ups) + */ + topup: { + /** @description Amount transferred. */ + amount: number; + /** @description ID of the balance transaction that describes the impact of this top-up on your account balance. May not be specified depending on status of top-up. */ + balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description Date the funds are expected to arrive in your Stripe account for payouts. This factors in delays like weekends or bank holidays. May not be specified depending on status of top-up. */ + expected_availability_date?: number | null; + /** @description Error code explaining reason for top-up failure if available (see [the errors section](https://stripe.com/docs/api#errors) for a list of codes). */ + failure_code?: string | null; + /** @description Message to user further explaining reason for top-up failure if available. */ + failure_message?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "topup"; + /** @description For most Stripe users, the source of every top-up is a bank account. This hash is then the [source object](https://stripe.com/docs/api#source_object) describing that bank account. */ + source?: components["schemas"]["source"] | null; + /** @description Extra information about a top-up. This will appear on your source's bank statement. It must contain at least one letter. */ + statement_descriptor?: string | null; + /** + * @description The status of the top-up is either `canceled`, `failed`, `pending`, `reversed`, or `succeeded`. + * @enum {string} + */ + status: "canceled" | "failed" | "pending" | "reversed" | "succeeded"; + /** @description A string that identifies this top-up as part of a group. */ + transfer_group?: string | null; + }; + /** + * Transfer + * @description A `Transfer` object is created when you move funds between Stripe accounts as + * part of Connect. + * + * Before April 6, 2017, transfers also represented movement of funds from a + * Stripe account to a card or bank account. This behavior has since been split + * out into a [Payout](https://stripe.com/docs/api#payout_object) object, with corresponding payout endpoints. For more + * information, read about the + * [transfer/payout split](https://stripe.com/docs/transfer-payout-split). + * + * Related guide: [Creating separate charges and transfers](https://stripe.com/docs/connect/separate-charges-and-transfers) + */ + transfer: { + /** @description Amount in cents (or local equivalent) to be transferred. */ + amount: number; + /** @description Amount in cents (or local equivalent) reversed (can be less than the amount attribute on the transfer if a partial reversal was issued). */ + amount_reversed: number; + /** @description Balance transaction that describes the impact of this transfer on your account balance. */ + balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; + /** + * Format: unix-time + * @description Time that this record of the transfer was first created. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description ID of the Stripe account the transfer was sent to. */ + destination?: (string | components["schemas"]["account"]) | null; + /** @description If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer. */ + destination_payment?: string | components["schemas"]["charge"]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "transfer"; + /** + * TransferReversalList + * @description A list of reversals that have been applied to the transfer. + */ + reversals: { + /** @description Details about each object. */ + data: components["schemas"]["transfer_reversal"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + /** @description Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false. */ + reversed: boolean; + /** @description ID of the charge or payment that was used to fund the transfer. If null, the transfer was funded from the available balance. */ + source_transaction?: (string | components["schemas"]["charge"]) | null; + /** @description The source balance this transfer came from. One of `card`, `fpx`, or `bank_account`. */ + source_type?: string; + /** @description A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. */ + transfer_group?: string | null; + }; + /** transfer_data */ + transfer_data: { + /** @description Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ + amount?: number; + /** @description The account (if any) that the payment is attributed to for tax + * reporting, and where funds from the payment are transferred to after + * payment success. */ + destination: string | components["schemas"]["account"]; + }; + /** + * TransferReversal + * @description [Stripe Connect](https://stripe.com/docs/connect) platforms can reverse transfers made to a + * connected account, either entirely or partially, and can also specify whether + * to refund any related application fees. Transfer reversals add to the + * platform's balance and subtract from the destination account's balance. + * + * Reversing a transfer that was made for a [destination + * charge](/docs/connect/destination-charges) is allowed only up to the amount of + * the charge. It is possible to reverse a + * [transfer_group](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) + * transfer only if the destination account has enough balance to cover the + * reversal. + * + * Related guide: [Reversing transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#reversing-transfers) + */ + transfer_reversal: { + /** @description Amount, in cents (or local equivalent). */ + amount: number; + /** @description Balance transaction that describes the impact on your account balance. */ + balance_transaction?: (string | components["schemas"]["balance_transaction"]) | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Linked payment refund for the transfer reversal. */ + destination_payment_refund?: (string | components["schemas"]["refund"]) | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "transfer_reversal"; + /** @description ID of the refund responsible for the transfer reversal. */ + source_refund?: (string | components["schemas"]["refund"]) | null; + /** @description ID of the transfer that was reversed. */ + transfer: string | components["schemas"]["transfer"]; + }; + /** TransferSchedule */ + transfer_schedule: { + /** @description The number of days charges for the account will be held before being paid out. */ + delay_days: number; + /** @description How frequently funds will be paid out. One of `manual` (payouts only created via API call), `daily`, `weekly`, or `monthly`. */ + interval: string; + /** @description The day of the month funds will be paid out. Only shown if `interval` is monthly. Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months. */ + monthly_anchor?: number; + /** @description The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc. Only shown if `interval` is weekly. */ + weekly_anchor?: string; + }; + /** TransformQuantity */ + transform_quantity: { + /** @description Divide usage by this number. */ + divide_by: number; + /** + * @description After division, either round the result `up` or `down`. + * @enum {string} + */ + round: "down" | "up"; + }; + /** TransformUsage */ + transform_usage: { + /** @description Divide usage by this number. */ + divide_by: number; + /** + * @description After division, either round the result `up` or `down`. + * @enum {string} + */ + round: "down" | "up"; + }; + /** + * TreasuryReceivedCreditsResourceCreditReversal + * @description You can reverse some [ReceivedCredits](https://stripe.com/docs/api#received_credits) depending on their network and source flow. Reversing a ReceivedCredit leads to the creation of a new object known as a CreditReversal. + */ + "treasury.credit_reversal": { + /** @description Amount (in cents) transferred. */ + amount: number; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description The FinancialAccount to reverse funds from. */ + financial_account: string; + /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ + hosted_regulatory_receipt_url?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description The rails used to reverse the funds. + * @enum {string} + */ + network: "ach" | "stripe"; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "treasury.credit_reversal"; + /** @description The ReceivedCredit being reversed. */ + received_credit: string; + /** + * @description Status of the CreditReversal + * @enum {string} + */ + status: "canceled" | "posted" | "processing"; + status_transitions: components["schemas"]["treasury_received_credits_resource_status_transitions"]; + /** @description The Transaction associated with this object. */ + transaction?: (string | components["schemas"]["treasury.transaction"]) | null; + }; + /** + * TreasuryReceivedDebitsResourceDebitReversal + * @description You can reverse some [ReceivedDebits](https://stripe.com/docs/api#received_debits) depending on their network and source flow. Reversing a ReceivedDebit leads to the creation of a new object known as a DebitReversal. + */ + "treasury.debit_reversal": { + /** @description Amount (in cents) transferred. */ + amount: number; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description The FinancialAccount to reverse funds from. */ + financial_account?: string | null; + /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ + hosted_regulatory_receipt_url?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Other flows linked to a DebitReversal. */ + linked_flows?: components["schemas"]["treasury_received_debits_resource_debit_reversal_linked_flows"] | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description The rails used to reverse the funds. + * @enum {string} + */ + network: "ach" | "card"; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "treasury.debit_reversal"; + /** @description The ReceivedDebit being reversed. */ + received_debit: string; + /** + * @description Status of the DebitReversal + * @enum {string} + */ + status: "failed" | "processing" | "succeeded"; + status_transitions: components["schemas"]["treasury_received_debits_resource_status_transitions"]; + /** @description The Transaction associated with this object. */ + transaction?: (string | components["schemas"]["treasury.transaction"]) | null; + }; + /** + * TreasuryFinancialAccountsResourceFinancialAccount + * @description Stripe Treasury provides users with a container for money called a FinancialAccount that is separate from their Payments balance. + * FinancialAccounts serve as the source and destination of Treasury’s money movement APIs. + */ + "treasury.financial_account": { + /** @description The array of paths to active Features in the Features hash. */ + active_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "inbound_transfers.ach" | "intra_stripe_flows" | "outbound_payments.ach" | "outbound_payments.us_domestic_wire" | "outbound_transfers.ach" | "outbound_transfers.us_domestic_wire" | "remote_deposit_capture")[]; + balance: components["schemas"]["treasury_financial_accounts_resource_balance"]; + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country: string; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + features?: components["schemas"]["treasury.financial_account_features"]; + /** @description The set of credentials that resolve to a FinancialAccount. */ + financial_addresses: components["schemas"]["treasury_financial_accounts_resource_financial_address"][]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata?: { + [key: string]: string; + } | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "treasury.financial_account"; + /** @description The array of paths to pending Features in the Features hash. */ + pending_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "inbound_transfers.ach" | "intra_stripe_flows" | "outbound_payments.ach" | "outbound_payments.us_domestic_wire" | "outbound_transfers.ach" | "outbound_transfers.us_domestic_wire" | "remote_deposit_capture")[]; + /** @description The set of functionalities that the platform can restrict on the FinancialAccount. */ + platform_restrictions?: components["schemas"]["treasury_financial_accounts_resource_platform_restrictions"] | null; + /** @description The array of paths to restricted Features in the Features hash. */ + restricted_features?: ("card_issuing" | "deposit_insurance" | "financial_addresses.aba" | "inbound_transfers.ach" | "intra_stripe_flows" | "outbound_payments.ach" | "outbound_payments.us_domestic_wire" | "outbound_transfers.ach" | "outbound_transfers.us_domestic_wire" | "remote_deposit_capture")[]; + /** + * @description The enum specifying what state the account is in. + * @enum {string} + */ + status: "closed" | "open"; + status_details: components["schemas"]["treasury_financial_accounts_resource_status_details"]; + /** @description The currencies the FinancialAccount can hold a balance in. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. */ + supported_currencies: string[]; + }; + /** + * TreasuryFinancialAccountsResourceFinancialAccountFeatures + * @description Encodes whether a FinancialAccount has access to a particular Feature, with a `status` enum and associated `status_details`. + * Stripe or the platform can control Features via the requested field. + */ + "treasury.financial_account_features": { + card_issuing?: components["schemas"]["treasury_financial_accounts_resource_toggle_settings"]; + deposit_insurance?: components["schemas"]["treasury_financial_accounts_resource_toggle_settings"]; + financial_addresses?: components["schemas"]["treasury_financial_accounts_resource_financial_addresses_features"]; + inbound_transfers?: components["schemas"]["treasury_financial_accounts_resource_inbound_transfers"]; + intra_stripe_flows?: components["schemas"]["treasury_financial_accounts_resource_toggle_settings"]; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "treasury.financial_account_features"; + outbound_payments?: components["schemas"]["treasury_financial_accounts_resource_outbound_payments"]; + outbound_transfers?: components["schemas"]["treasury_financial_accounts_resource_outbound_transfers"]; + }; + /** + * TreasuryInboundTransfersResourceInboundTransfer + * @description Use [InboundTransfers](https://stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) to add funds to your [FinancialAccount](https://stripe.com/docs/api#financial_accounts) via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit. + */ + "treasury.inbound_transfer": { + /** @description Amount (in cents) transferred. */ + amount: number; + /** @description Returns `true` if the InboundTransfer is able to be canceled. */ + cancelable: boolean; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description Details about this InboundTransfer's failure. Only set when status is `failed`. */ + failure_details?: components["schemas"]["treasury_inbound_transfers_resource_failure_details"] | null; + /** @description The FinancialAccount that received the funds. */ + financial_account: string; + /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ + hosted_regulatory_receipt_url?: string | null; + /** @description Unique identifier for the object. */ + id: string; + linked_flows: components["schemas"]["treasury_inbound_transfers_resource_inbound_transfer_resource_linked_flows"]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "treasury.inbound_transfer"; + /** @description The origin payment method to be debited for an InboundTransfer. */ + origin_payment_method: string; + /** @description Details about the PaymentMethod for an InboundTransfer. */ + origin_payment_method_details?: components["schemas"]["inbound_transfers"] | null; + /** @description Returns `true` if the funds for an InboundTransfer were returned after the InboundTransfer went to the `succeeded` state. */ + returned?: boolean | null; + /** @description Statement descriptor shown when funds are debited from the source. Not all payment networks support `statement_descriptor`. */ + statement_descriptor: string; + /** + * @description Status of the InboundTransfer: `processing`, `succeeded`, `failed`, and `canceled`. An InboundTransfer is `processing` if it is created and pending. The status changes to `succeeded` once the funds have been "confirmed" and a `transaction` is created and posted. The status changes to `failed` if the transfer fails. + * @enum {string} + */ + status: "canceled" | "failed" | "processing" | "succeeded"; + status_transitions: components["schemas"]["treasury_inbound_transfers_resource_inbound_transfer_resource_status_transitions"]; + /** @description The Transaction associated with this object. */ + transaction?: (string | components["schemas"]["treasury.transaction"]) | null; + }; + /** + * TreasuryOutboundPaymentsResourceOutboundPayment + * @description Use OutboundPayments to send funds to another party's external bank account or [FinancialAccount](https://stripe.com/docs/api#financial_accounts). To send money to an account belonging to the same user, use an [OutboundTransfer](https://stripe.com/docs/api#outbound_transfers). + * + * Simulate OutboundPayment state changes with the `/v1/test_helpers/treasury/outbound_payments` endpoints. These methods can only be called on test mode objects. + */ + "treasury.outbound_payment": { + /** @description Amount (in cents) transferred. */ + amount: number; + /** @description Returns `true` if the object can be canceled, and `false` otherwise. */ + cancelable: boolean; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description ID of the [customer](https://stripe.com/docs/api/customers) to whom an OutboundPayment is sent. */ + customer?: string | null; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description The PaymentMethod via which an OutboundPayment is sent. This field can be empty if the OutboundPayment was created using `destination_payment_method_data`. */ + destination_payment_method?: string | null; + /** @description Details about the PaymentMethod for an OutboundPayment. */ + destination_payment_method_details?: components["schemas"]["outbound_payments_payment_method_details"] | null; + /** @description Details about the end user. */ + end_user_details?: components["schemas"]["treasury_outbound_payments_resource_outbound_payment_resource_end_user_details"] | null; + /** + * Format: unix-time + * @description The date when funds are expected to arrive in the destination account. + */ + expected_arrival_date: number; + /** @description The FinancialAccount that funds were pulled from. */ + financial_account: string; + /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ + hosted_regulatory_receipt_url?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "treasury.outbound_payment"; + /** @description Details about a returned OutboundPayment. Only set when the status is `returned`. */ + returned_details?: components["schemas"]["treasury_outbound_payments_resource_returned_status"] | null; + /** @description The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer). */ + statement_descriptor: string; + /** + * @description Current status of the OutboundPayment: `processing`, `failed`, `posted`, `returned`, `canceled`. An OutboundPayment is `processing` if it has been created and is pending. The status changes to `posted` once the OutboundPayment has been "confirmed" and funds have left the account, or to `failed` or `canceled`. If an OutboundPayment fails to arrive at its destination, its status will change to `returned`. + * @enum {string} + */ + status: "canceled" | "failed" | "posted" | "processing" | "returned"; + status_transitions: components["schemas"]["treasury_outbound_payments_resource_outbound_payment_resource_status_transitions"]; + /** @description The Transaction associated with this object. */ + transaction: string | components["schemas"]["treasury.transaction"]; + }; + /** + * TreasuryOutboundTransfersResourceOutboundTransfer + * @description Use OutboundTransfers to transfer funds from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) to a PaymentMethod belonging to the same entity. To send funds to a different party, use [OutboundPayments](https://stripe.com/docs/api#outbound_payments) instead. You can send funds over ACH rails or through a domestic wire transfer to a user's own external bank account. + * + * Simulate OutboundTransfer state changes with the `/v1/test_helpers/treasury/outbound_transfers` endpoints. These methods can only be called on test mode objects. + */ + "treasury.outbound_transfer": { + /** @description Amount (in cents) transferred. */ + amount: number; + /** @description Returns `true` if the object can be canceled, and `false` otherwise. */ + cancelable: boolean; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string | null; + /** @description The PaymentMethod used as the payment instrument for an OutboundTransfer. */ + destination_payment_method?: string | null; + destination_payment_method_details: components["schemas"]["outbound_transfers_payment_method_details"]; + /** + * Format: unix-time + * @description The date when funds are expected to arrive in the destination account. + */ + expected_arrival_date: number; + /** @description The FinancialAccount that funds were pulled from. */ + financial_account: string; + /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ + hosted_regulatory_receipt_url?: string | null; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "treasury.outbound_transfer"; + /** @description Details about a returned OutboundTransfer. Only set when the status is `returned`. */ + returned_details?: components["schemas"]["treasury_outbound_transfers_resource_returned_details"] | null; + /** @description Information about the OutboundTransfer to be sent to the recipient account. */ + statement_descriptor: string; + /** + * @description Current status of the OutboundTransfer: `processing`, `failed`, `canceled`, `posted`, `returned`. An OutboundTransfer is `processing` if it has been created and is pending. The status changes to `posted` once the OutboundTransfer has been "confirmed" and funds have left the account, or to `failed` or `canceled`. If an OutboundTransfer fails to arrive at its destination, its status will change to `returned`. + * @enum {string} + */ + status: "canceled" | "failed" | "posted" | "processing" | "returned"; + status_transitions: components["schemas"]["treasury_outbound_transfers_resource_status_transitions"]; + /** @description The Transaction associated with this object. */ + transaction: string | components["schemas"]["treasury.transaction"]; + }; + /** + * TreasuryReceivedCreditsResourceReceivedCredit + * @description ReceivedCredits represent funds sent to a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount. + */ + "treasury.received_credit": { + /** @description Amount (in cents) transferred. */ + amount: number; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description: string; + /** + * @description Reason for the failure. A ReceivedCredit might fail because the receiving FinancialAccount is closed or frozen. + * @enum {string|null} + */ + failure_code?: "account_closed" | "account_frozen" | "other"; + /** @description The FinancialAccount that received the funds. */ + financial_account?: string | null; + /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ + hosted_regulatory_receipt_url?: string | null; + /** @description Unique identifier for the object. */ + id: string; + initiating_payment_method_details: components["schemas"]["treasury_shared_resource_initiating_payment_method_details_initiating_payment_method_details"]; + linked_flows: components["schemas"]["treasury_received_credits_resource_linked_flows"]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description The rails used to send the funds. + * @enum {string} + */ + network: "ach" | "card" | "stripe" | "us_domestic_wire"; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "treasury.received_credit"; + /** @description Details describing when a ReceivedCredit may be reversed. */ + reversal_details?: components["schemas"]["treasury_received_credits_resource_reversal_details"] | null; + /** + * @description Status of the ReceivedCredit. ReceivedCredits are created either `succeeded` (approved) or `failed` (declined). If a ReceivedCredit is declined, the failure reason can be found in the `failure_code` field. + * @enum {string} + */ + status: "failed" | "succeeded"; + /** @description The Transaction associated with this object. */ + transaction?: (string | components["schemas"]["treasury.transaction"]) | null; + }; + /** + * TreasuryReceivedDebitsResourceReceivedDebit + * @description ReceivedDebits represent funds pulled from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts). These are not initiated from the FinancialAccount. + */ + "treasury.received_debit": { + /** @description Amount (in cents) transferred. */ + amount: number; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description: string; + /** + * @description Reason for the failure. A ReceivedDebit might fail because the FinancialAccount doesn't have sufficient funds, is closed, or is frozen. + * @enum {string|null} + */ + failure_code?: "account_closed" | "account_frozen" | "insufficient_funds" | "other"; + /** @description The FinancialAccount that funds were pulled from. */ + financial_account?: string | null; + /** @description A [hosted transaction receipt](https://stripe.com/docs/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses. */ + hosted_regulatory_receipt_url?: string | null; + /** @description Unique identifier for the object. */ + id: string; + initiating_payment_method_details?: components["schemas"]["treasury_shared_resource_initiating_payment_method_details_initiating_payment_method_details"]; + linked_flows: components["schemas"]["treasury_received_debits_resource_linked_flows"]; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description The network used for the ReceivedDebit. + * @enum {string} + */ + network: "ach" | "card" | "stripe"; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "treasury.received_debit"; + /** @description Details describing when a ReceivedDebit might be reversed. */ + reversal_details?: components["schemas"]["treasury_received_debits_resource_reversal_details"] | null; + /** + * @description Status of the ReceivedDebit. ReceivedDebits are created with a status of either `succeeded` (approved) or `failed` (declined). The failure reason can be found under the `failure_code`. + * @enum {string} + */ + status: "failed" | "succeeded"; + /** @description The Transaction associated with this object. */ + transaction?: (string | components["schemas"]["treasury.transaction"]) | null; + }; + /** + * TreasuryTransactionsResourceTransaction + * @description Transactions represent changes to a [FinancialAccount's](https://stripe.com/docs/api#financial_accounts) balance. + */ + "treasury.transaction": { + /** @description Amount (in cents) transferred. */ + amount: number; + balance_impact: components["schemas"]["treasury_transactions_resource_balance_impact"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description: string; + /** + * TreasuryTransactionsResourceTransactionEntryList + * @description A list of TransactionEntries that are part of this Transaction. This cannot be expanded in any list endpoints. + */ + entries?: { + /** @description Details about each object. */ + data: components["schemas"]["treasury.transaction_entry"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + } | null; + /** @description The FinancialAccount associated with this object. */ + financial_account: string; + /** @description ID of the flow that created the Transaction. */ + flow?: string | null; + /** @description Details of the flow that created the Transaction. */ + flow_details?: components["schemas"]["treasury_transactions_resource_flow_details"] | null; + /** + * @description Type of the flow that created the Transaction. + * @enum {string} + */ + flow_type: "credit_reversal" | "debit_reversal" | "inbound_transfer" | "issuing_authorization" | "other" | "outbound_payment" | "outbound_transfer" | "received_credit" | "received_debit"; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "treasury.transaction"; + /** + * @description Status of the Transaction. + * @enum {string} + */ + status: "open" | "posted" | "void"; + status_transitions: components["schemas"]["treasury_transactions_resource_abstract_transaction_resource_status_transitions"]; + }; + /** + * TreasuryTransactionsResourceTransactionEntry + * @description TransactionEntries represent individual units of money movements within a single [Transaction](https://stripe.com/docs/api#transactions). + */ + "treasury.transaction_entry": { + balance_impact: components["schemas"]["treasury_transactions_resource_balance_impact"]; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** + * Format: unix-time + * @description When the TransactionEntry will impact the FinancialAccount's balance. + */ + effective_at: number; + /** @description The FinancialAccount associated with this object. */ + financial_account: string; + /** @description Token of the flow associated with the TransactionEntry. */ + flow?: string | null; + /** @description Details of the flow associated with the TransactionEntry. */ + flow_details?: components["schemas"]["treasury_transactions_resource_flow_details"] | null; + /** + * @description Type of the flow associated with the TransactionEntry. + * @enum {string} + */ + flow_type: "credit_reversal" | "debit_reversal" | "inbound_transfer" | "issuing_authorization" | "other" | "outbound_payment" | "outbound_transfer" | "received_credit" | "received_debit"; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "treasury.transaction_entry"; + /** @description The Transaction associated with this object. */ + transaction: string | components["schemas"]["treasury.transaction"]; + /** + * @description The specific money movement that generated the TransactionEntry. + * @enum {string} + */ + type: "credit_reversal" | "credit_reversal_posting" | "debit_reversal" | "inbound_transfer" | "inbound_transfer_return" | "issuing_authorization_hold" | "issuing_authorization_release" | "other" | "outbound_payment" | "outbound_payment_cancellation" | "outbound_payment_failure" | "outbound_payment_posting" | "outbound_payment_return" | "outbound_transfer" | "outbound_transfer_cancellation" | "outbound_transfer_failure" | "outbound_transfer_posting" | "outbound_transfer_return" | "received_credit" | "received_debit"; + }; + /** + * TreasuryFinancialAccountsResourceABARecord + * @description ABA Records contain U.S. bank account details per the ABA format. + */ + treasury_financial_accounts_resource_aba_record: { + /** @description The name of the person or business that owns the bank account. */ + account_holder_name: string; + /** @description The account number. */ + account_number?: string | null; + /** @description The last four characters of the account number. */ + account_number_last4: string; + /** @description Name of the bank. */ + bank_name: string; + /** @description Routing number for the account. */ + routing_number: string; + }; + /** + * TreasuryFinancialAccountsResourceAbaToggleSettings + * @description Toggle settings for enabling/disabling the ABA address feature + */ + treasury_financial_accounts_resource_aba_toggle_settings: { + /** @description Whether the FinancialAccount should have the Feature. */ + requested: boolean; + /** + * @description Whether the Feature is operational. + * @enum {string} + */ + status: "active" | "pending" | "restricted"; + /** @description Additional details; includes at least one entry when the status is not `active`. */ + status_details: components["schemas"]["treasury_financial_accounts_resource_toggles_setting_status_details"][]; + }; + /** + * TreasuryFinancialAccountsResourceAchToggleSettings + * @description Toggle settings for enabling/disabling an ACH specific feature + */ + treasury_financial_accounts_resource_ach_toggle_settings: { + /** @description Whether the FinancialAccount should have the Feature. */ + requested: boolean; + /** + * @description Whether the Feature is operational. + * @enum {string} + */ + status: "active" | "pending" | "restricted"; + /** @description Additional details; includes at least one entry when the status is not `active`. */ + status_details: components["schemas"]["treasury_financial_accounts_resource_toggles_setting_status_details"][]; + }; + /** + * TreasuryFinancialAccountsResourceBalance + * @description Balance information for the FinancialAccount + */ + treasury_financial_accounts_resource_balance: { + /** @description Funds the user can spend right now. */ + cash: { + [key: string]: number; + }; + /** @description Funds not spendable yet, but will become available at a later time. */ + inbound_pending: { + [key: string]: number; + }; + /** @description Funds in the account, but not spendable because they are being held for pending outbound flows. */ + outbound_pending: { + [key: string]: number; + }; + }; + /** TreasuryFinancialAccountsResourceClosedStatusDetails */ + treasury_financial_accounts_resource_closed_status_details: { + /** @description The array that contains reasons for a FinancialAccount closure. */ + reasons: ("account_rejected" | "closed_by_platform" | "other")[]; + }; + /** + * TreasuryFinancialAccountsResourceFinancialAddress + * @description FinancialAddresses contain identifying information that resolves to a FinancialAccount. + */ + treasury_financial_accounts_resource_financial_address: { + aba?: components["schemas"]["treasury_financial_accounts_resource_aba_record"]; + /** @description The list of networks that the address supports */ + supported_networks?: ("ach" | "us_domestic_wire")[]; + /** + * @description The type of financial address + * @enum {string} + */ + type: "aba"; + }; + /** + * TreasuryFinancialAccountsResourceFinancialAddressesFeatures + * @description Settings related to Financial Addresses features on a Financial Account + */ + treasury_financial_accounts_resource_financial_addresses_features: { + aba?: components["schemas"]["treasury_financial_accounts_resource_aba_toggle_settings"]; + }; + /** + * TreasuryFinancialAccountsResourceInboundTransfers + * @description InboundTransfers contains inbound transfers features for a FinancialAccount. + */ + treasury_financial_accounts_resource_inbound_transfers: { + ach?: components["schemas"]["treasury_financial_accounts_resource_ach_toggle_settings"]; + }; + /** + * TreasuryFinancialAccountsResourceOutboundPayments + * @description Settings related to Outbound Payments features on a Financial Account + */ + treasury_financial_accounts_resource_outbound_payments: { + ach?: components["schemas"]["treasury_financial_accounts_resource_ach_toggle_settings"]; + us_domestic_wire?: components["schemas"]["treasury_financial_accounts_resource_toggle_settings"]; + }; + /** + * TreasuryFinancialAccountsResourceOutboundTransfers + * @description OutboundTransfers contains outbound transfers features for a FinancialAccount. + */ + treasury_financial_accounts_resource_outbound_transfers: { + ach?: components["schemas"]["treasury_financial_accounts_resource_ach_toggle_settings"]; + us_domestic_wire?: components["schemas"]["treasury_financial_accounts_resource_toggle_settings"]; + }; + /** + * TreasuryFinancialAccountsResourcePlatformRestrictions + * @description Restrictions that a Connect Platform has placed on this FinancialAccount. + */ + treasury_financial_accounts_resource_platform_restrictions: { + /** + * @description Restricts all inbound money movement. + * @enum {string|null} + */ + inbound_flows?: "restricted" | "unrestricted"; + /** + * @description Restricts all outbound money movement. + * @enum {string|null} + */ + outbound_flows?: "restricted" | "unrestricted"; + }; + /** TreasuryFinancialAccountsResourceStatusDetails */ + treasury_financial_accounts_resource_status_details: { + /** @description Details related to the closure of this FinancialAccount */ + closed?: components["schemas"]["treasury_financial_accounts_resource_closed_status_details"] | null; + }; + /** + * TreasuryFinancialAccountsResourceToggleSettings + * @description Toggle settings for enabling/disabling a feature + */ + treasury_financial_accounts_resource_toggle_settings: { + /** @description Whether the FinancialAccount should have the Feature. */ + requested: boolean; + /** + * @description Whether the Feature is operational. + * @enum {string} + */ + status: "active" | "pending" | "restricted"; + /** @description Additional details; includes at least one entry when the status is not `active`. */ + status_details: components["schemas"]["treasury_financial_accounts_resource_toggles_setting_status_details"][]; + }; + /** + * TreasuryFinancialAccountsResourceTogglesSettingStatusDetails + * @description Additional details on the FinancialAccount Features information. + */ + treasury_financial_accounts_resource_toggles_setting_status_details: { + /** + * @description Represents the reason why the status is `pending` or `restricted`. + * @enum {string} + */ + code: "activating" | "capability_not_requested" | "financial_account_closed" | "rejected_other" | "rejected_unsupported_business" | "requirements_past_due" | "requirements_pending_verification" | "restricted_by_platform" | "restricted_other"; + /** + * @description Represents what the user should do, if anything, to activate the Feature. + * @enum {string|null} + */ + resolution?: "contact_stripe" | "provide_information" | "remove_restriction"; + /** + * @description The `platform_restrictions` that are restricting this Feature. + * @enum {string} + */ + restriction?: "inbound_flows" | "outbound_flows"; + }; + /** TreasuryInboundTransfersResourceFailureDetails */ + treasury_inbound_transfers_resource_failure_details: { + /** + * @description Reason for the failure. + * @enum {string} + */ + code: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "debit_not_authorized" | "incorrect_account_holder_address" | "incorrect_account_holder_name" | "incorrect_account_holder_tax_id" | "insufficient_funds" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; + }; + /** TreasuryInboundTransfersResourceInboundTransferResourceLinkedFlows */ + treasury_inbound_transfers_resource_inbound_transfer_resource_linked_flows: { + /** @description If funds for this flow were returned after the flow went to the `succeeded` state, this field contains a reference to the ReceivedDebit return. */ + received_debit?: string | null; + }; + /** TreasuryInboundTransfersResourceInboundTransferResourceStatusTransitions */ + treasury_inbound_transfers_resource_inbound_transfer_resource_status_transitions: { + /** + * Format: unix-time + * @description Timestamp describing when an InboundTransfer changed status to `canceled`. + */ + canceled_at?: number | null; + /** + * Format: unix-time + * @description Timestamp describing when an InboundTransfer changed status to `failed`. + */ + failed_at?: number | null; + /** + * Format: unix-time + * @description Timestamp describing when an InboundTransfer changed status to `succeeded`. + */ + succeeded_at?: number | null; + }; + /** TreasuryOutboundPaymentsResourceOutboundPaymentResourceEndUserDetails */ + treasury_outbound_payments_resource_outbound_payment_resource_end_user_details: { + /** @description IP address of the user initiating the OutboundPayment. Set if `present` is set to `true`. IP address collection is required for risk and compliance reasons. This will be used to help determine if the OutboundPayment is authorized or should be blocked. */ + ip_address?: string | null; + /** @description `true` if the OutboundPayment creation request is being made on behalf of an end user by a platform. Otherwise, `false`. */ + present: boolean; + }; + /** TreasuryOutboundPaymentsResourceOutboundPaymentResourceStatusTransitions */ + treasury_outbound_payments_resource_outbound_payment_resource_status_transitions: { + /** + * Format: unix-time + * @description Timestamp describing when an OutboundPayment changed status to `canceled`. + */ + canceled_at?: number | null; + /** + * Format: unix-time + * @description Timestamp describing when an OutboundPayment changed status to `failed`. + */ + failed_at?: number | null; + /** + * Format: unix-time + * @description Timestamp describing when an OutboundPayment changed status to `posted`. + */ + posted_at?: number | null; + /** + * Format: unix-time + * @description Timestamp describing when an OutboundPayment changed status to `returned`. + */ + returned_at?: number | null; + }; + /** TreasuryOutboundPaymentsResourceReturnedStatus */ + treasury_outbound_payments_resource_returned_status: { + /** + * @description Reason for the return. + * @enum {string} + */ + code: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "declined" | "incorrect_account_holder_name" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; + /** @description The Transaction associated with this object. */ + transaction: string | components["schemas"]["treasury.transaction"]; + }; + /** TreasuryOutboundTransfersResourceReturnedDetails */ + treasury_outbound_transfers_resource_returned_details: { + /** + * @description Reason for the return. + * @enum {string} + */ + code: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "declined" | "incorrect_account_holder_name" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; + /** @description The Transaction associated with this object. */ + transaction: string | components["schemas"]["treasury.transaction"]; + }; + /** TreasuryOutboundTransfersResourceStatusTransitions */ + treasury_outbound_transfers_resource_status_transitions: { + /** + * Format: unix-time + * @description Timestamp describing when an OutboundTransfer changed status to `canceled` + */ + canceled_at?: number | null; + /** + * Format: unix-time + * @description Timestamp describing when an OutboundTransfer changed status to `failed` + */ + failed_at?: number | null; + /** + * Format: unix-time + * @description Timestamp describing when an OutboundTransfer changed status to `posted` + */ + posted_at?: number | null; + /** + * Format: unix-time + * @description Timestamp describing when an OutboundTransfer changed status to `returned` + */ + returned_at?: number | null; + }; + /** TreasuryReceivedCreditsResourceLinkedFlows */ + treasury_received_credits_resource_linked_flows: { + /** @description The CreditReversal created as a result of this ReceivedCredit being reversed. */ + credit_reversal?: string | null; + /** @description Set if the ReceivedCredit was created due to an [Issuing Authorization](https://stripe.com/docs/api#issuing_authorizations) object. */ + issuing_authorization?: string | null; + /** @description Set if the ReceivedCredit is also viewable as an [Issuing transaction](https://stripe.com/docs/api#issuing_transactions) object. */ + issuing_transaction?: string | null; + /** @description ID of the source flow. Set if `network` is `stripe` and the source flow is visible to the user. Examples of source flows include OutboundPayments, payouts, or CreditReversals. */ + source_flow?: string | null; + /** @description The expandable object of the source flow. */ + source_flow_details?: components["schemas"]["treasury_received_credits_resource_source_flows_details"] | null; + /** @description The type of flow that originated the ReceivedCredit (for example, `outbound_payment`). */ + source_flow_type?: string | null; + }; + /** TreasuryReceivedCreditsResourceReversalDetails */ + treasury_received_credits_resource_reversal_details: { + /** + * Format: unix-time + * @description Time before which a ReceivedCredit can be reversed. + */ + deadline?: number | null; + /** + * @description Set if a ReceivedCredit cannot be reversed. + * @enum {string|null} + */ + restricted_reason?: "already_reversed" | "deadline_passed" | "network_restricted" | "other" | "source_flow_restricted"; + }; + /** TreasuryReceivedCreditsResourceSourceFlowsDetails */ + treasury_received_credits_resource_source_flows_details: { + credit_reversal?: components["schemas"]["treasury.credit_reversal"]; + outbound_payment?: components["schemas"]["treasury.outbound_payment"]; + payout?: components["schemas"]["payout"]; + /** + * @description The type of the source flow that originated the ReceivedCredit. + * @enum {string} + */ + type: "credit_reversal" | "other" | "outbound_payment" | "payout"; + }; + /** TreasuryReceivedCreditsResourceStatusTransitions */ + treasury_received_credits_resource_status_transitions: { + /** + * Format: unix-time + * @description Timestamp describing when the CreditReversal changed status to `posted` + */ + posted_at?: number | null; + }; + /** TreasuryReceivedDebitsResourceDebitReversalLinkedFlows */ + treasury_received_debits_resource_debit_reversal_linked_flows: { + /** @description Set if there is an Issuing dispute associated with the DebitReversal. */ + issuing_dispute?: string | null; + }; + /** TreasuryReceivedDebitsResourceLinkedFlows */ + treasury_received_debits_resource_linked_flows: { + /** @description The DebitReversal created as a result of this ReceivedDebit being reversed. */ + debit_reversal?: string | null; + /** @description Set if the ReceivedDebit is associated with an InboundTransfer's return of funds. */ + inbound_transfer?: string | null; + /** @description Set if the ReceivedDebit was created due to an [Issuing Authorization](https://stripe.com/docs/api#issuing_authorizations) object. */ + issuing_authorization?: string | null; + /** @description Set if the ReceivedDebit is also viewable as an [Issuing Dispute](https://stripe.com/docs/api#issuing_disputes) object. */ + issuing_transaction?: string | null; + }; + /** TreasuryReceivedDebitsResourceReversalDetails */ + treasury_received_debits_resource_reversal_details: { + /** + * Format: unix-time + * @description Time before which a ReceivedDebit can be reversed. + */ + deadline?: number | null; + /** + * @description Set if a ReceivedDebit can't be reversed. + * @enum {string|null} + */ + restricted_reason?: "already_reversed" | "deadline_passed" | "network_restricted" | "other" | "source_flow_restricted"; + }; + /** TreasuryReceivedDebitsResourceStatusTransitions */ + treasury_received_debits_resource_status_transitions: { + /** + * Format: unix-time + * @description Timestamp describing when the DebitReversal changed status to `completed`. + */ + completed_at?: number | null; + }; + /** TreasurySharedResourceBillingDetails */ + treasury_shared_resource_billing_details: { + address: components["schemas"]["address"]; + /** @description Email address. */ + email?: string | null; + /** @description Full name. */ + name?: string | null; + }; + /** TreasurySharedResourceInitiatingPaymentMethodDetailsInitiatingPaymentMethodDetails */ + treasury_shared_resource_initiating_payment_method_details_initiating_payment_method_details: { + /** + * @description Set when `type` is `balance`. + * @enum {string} + */ + balance?: "payments"; + billing_details: components["schemas"]["treasury_shared_resource_billing_details"]; + financial_account?: components["schemas"]["received_payment_method_details_financial_account"]; + /** @description Set when `type` is `issuing_card`. This is an [Issuing Card](https://stripe.com/docs/api#issuing_cards) ID. */ + issuing_card?: string; + /** + * @description Polymorphic type matching the originating money movement's source. This can be an external account, a Stripe balance, or a FinancialAccount. + * @enum {string} + */ + type: "balance" | "financial_account" | "issuing_card" | "stripe" | "us_bank_account"; + us_bank_account?: components["schemas"]["treasury_shared_resource_initiating_payment_method_details_us_bank_account"]; + }; + /** TreasurySharedResourceInitiatingPaymentMethodDetailsUSBankAccount */ + treasury_shared_resource_initiating_payment_method_details_us_bank_account: { + /** @description Bank name. */ + bank_name?: string | null; + /** @description The last four digits of the bank account number. */ + last4?: string | null; + /** @description The routing number for the bank account. */ + routing_number?: string | null; + }; + /** TreasuryTransactionsResourceAbstractTransactionResourceStatusTransitions */ + treasury_transactions_resource_abstract_transaction_resource_status_transitions: { + /** + * Format: unix-time + * @description Timestamp describing when the Transaction changed status to `posted`. + */ + posted_at?: number | null; + /** + * Format: unix-time + * @description Timestamp describing when the Transaction changed status to `void`. + */ + void_at?: number | null; + }; + /** + * TreasuryTransactionsResourceBalanceImpact + * @description Change to a FinancialAccount's balance + */ + treasury_transactions_resource_balance_impact: { + /** @description The change made to funds the user can spend right now. */ + cash: number; + /** @description The change made to funds that are not spendable yet, but will become available at a later time. */ + inbound_pending: number; + /** @description The change made to funds in the account, but not spendable because they are being held for pending outbound flows. */ + outbound_pending: number; + }; + /** TreasuryTransactionsResourceFlowDetails */ + treasury_transactions_resource_flow_details: { + credit_reversal?: components["schemas"]["treasury.credit_reversal"]; + debit_reversal?: components["schemas"]["treasury.debit_reversal"]; + inbound_transfer?: components["schemas"]["treasury.inbound_transfer"]; + issuing_authorization?: components["schemas"]["issuing.authorization"]; + outbound_payment?: components["schemas"]["treasury.outbound_payment"]; + outbound_transfer?: components["schemas"]["treasury.outbound_transfer"]; + received_credit?: components["schemas"]["treasury.received_credit"]; + received_debit?: components["schemas"]["treasury.received_debit"]; + /** + * @description Type of the flow that created the Transaction. Set to the same value as `flow_type`. + * @enum {string} + */ + type: "credit_reversal" | "debit_reversal" | "inbound_transfer" | "issuing_authorization" | "other" | "outbound_payment" | "outbound_transfer" | "received_credit" | "received_debit"; + }; + /** us_bank_account_networks */ + us_bank_account_networks: { + /** @description The preferred network. */ + preferred?: string | null; + /** @description All supported networks. */ + supported: ("ach" | "us_domestic_wire")[]; + }; + /** + * UsageRecord + * @description Usage records allow you to report customer usage and metrics to Stripe for + * metered billing of subscription prices. + * + * Related guide: [Metered billing](https://stripe.com/docs/billing/subscriptions/metered-billing) + */ + usage_record: { + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "usage_record"; + /** @description The usage quantity for the specified date. */ + quantity: number; + /** @description The ID of the subscription item this usage record contains data for. */ + subscription_item: string; + /** + * Format: unix-time + * @description The timestamp when this usage occurred. + */ + timestamp: number; + }; + /** UsageRecordSummary */ + usage_record_summary: { + /** @description Unique identifier for the object. */ + id: string; + /** @description The invoice in which this usage period has been billed for. */ + invoice?: string | null; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "usage_record_summary"; + period: components["schemas"]["period"]; + /** @description The ID of the subscription item this summary is describing. */ + subscription_item: string; + /** @description The total usage within this usage period. */ + total_usage: number; + }; + /** verification_session_redaction */ + verification_session_redaction: { + /** + * @description Indicates whether this object and its related objects have been redacted or not. + * @enum {string} + */ + status: "processing" | "redacted"; + }; + /** + * NotificationWebhookEndpoint + * @description You can configure [webhook endpoints](https://stripe.com/docs/webhooks/) via the API to be + * notified about events that happen in your Stripe account or connected + * accounts. + * + * Most users configure webhooks from [the dashboard](https://dashboard.stripe.com/webhooks), which provides a user interface for registering and testing your webhook endpoints. + * + * Related guide: [Setting up webhooks](https://stripe.com/docs/webhooks/configure) + */ + webhook_endpoint: { + /** @description The API version events are rendered as for this webhook endpoint. */ + api_version?: string | null; + /** @description The ID of the associated Connect application. */ + application?: string | null; + /** + * Format: unix-time + * @description Time at which the object was created. Measured in seconds since the Unix epoch. + */ + created: number; + /** @description An optional description of what the webhook is used for. */ + description?: string | null; + /** @description The list of events to enable for this endpoint. `['*']` indicates that all events are enabled, except those that require explicit selection. */ + enabled_events: string[]; + /** @description Unique identifier for the object. */ + id: string; + /** @description Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. */ + livemode: boolean; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ + metadata: { + [key: string]: string; + }; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "webhook_endpoint"; + /** @description The endpoint's secret, used to generate [webhook signatures](https://stripe.com/docs/webhooks/signatures). Only returned at creation. */ + secret?: string; + /** @description The status of the webhook. It can be `enabled` or `disabled`. */ + status: string; + /** @description The URL of the webhook endpoint. */ + url: string; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export interface operations { + GetAccount: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountLinks: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The identifier of the account to create an account link for. */ + account: string; + /** + * @description Which information the platform needs to collect from the user. One of `currently_due` or `eventually_due`. Default is `currently_due`. + * @enum {string} + */ + collect?: "currently_due" | "eventually_due"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The URL the user will be redirected to if the account link is expired, has been previously-visited, or is otherwise invalid. The URL you specify should attempt to generate a new account link with the same parameters used to create the original account link, then redirect the user to the new account link's URL so they can continue with Connect Onboarding. If a new account link cannot be generated or the redirect fails you should display a useful error to the user. */ + refresh_url?: string; + /** @description The URL that the user will be redirected to upon leaving or completing the linked flow. */ + return_url?: string; + /** + * @description The type of account link the user is requesting. Possible values are `account_onboarding` or `account_update`. + * @enum {string} + */ + type: "account_onboarding" | "account_update"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["account_link"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountSessions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The identifier of the account to create an Account Session for. */ + account: string; + /** + * account_session_create_components_param + * @description Each key of the dictionary represents an embedded component, and each embedded component maps to its configuration (e.g. whether it has been enabled or not). + */ + components: { + /** base_config_param */ + account_onboarding?: { + enabled: boolean; + }; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["account_session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAccounts: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["account"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccounts: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account. */ + account_token?: string; + /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ + bank_account?: { + account_holder_name?: string; + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number: string; + /** @enum {string} */ + account_type?: "checking" | "futsu" | "savings" | "toza"; + country: string; + currency?: string; + /** external_account_documents_param */ + documents?: { + /** documents_param */ + bank_account_ownership_verification?: { + files?: string[]; + }; + }; + /** @enum {string} */ + object?: "bank_account"; + routing_number?: string; + } | string; + /** + * business_profile_specs + * @description Business information about the account. + */ + business_profile?: { + mcc?: string; + /** monthly_estimated_revenue_specs */ + monthly_estimated_revenue?: { + amount: number; + currency: string; + }; + name?: string; + product_description?: string; + /** address_specs */ + support_address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + support_email?: string; + support_phone?: string; + support_url?: string | ""; + url?: string; + }; + /** + * @description The business type. + * @enum {string} + */ + business_type?: "company" | "government_entity" | "individual" | "non_profit"; + /** + * capabilities_param + * @description Each key of the dictionary represents a capability, and each capability maps to its settings (e.g. whether it has been requested or not). Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive. + */ + capabilities?: { + /** capability_param */ + acss_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + affirm_payments?: { + requested?: boolean; + }; + /** capability_param */ + afterpay_clearpay_payments?: { + requested?: boolean; + }; + /** capability_param */ + au_becs_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + bacs_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + bancontact_payments?: { + requested?: boolean; + }; + /** capability_param */ + bank_transfer_payments?: { + requested?: boolean; + }; + /** capability_param */ + blik_payments?: { + requested?: boolean; + }; + /** capability_param */ + boleto_payments?: { + requested?: boolean; + }; + /** capability_param */ + card_issuing?: { + requested?: boolean; + }; + /** capability_param */ + card_payments?: { + requested?: boolean; + }; + /** capability_param */ + cartes_bancaires_payments?: { + requested?: boolean; + }; + /** capability_param */ + cashapp_payments?: { + requested?: boolean; + }; + /** capability_param */ + eps_payments?: { + requested?: boolean; + }; + /** capability_param */ + fpx_payments?: { + requested?: boolean; + }; + /** capability_param */ + giropay_payments?: { + requested?: boolean; + }; + /** capability_param */ + grabpay_payments?: { + requested?: boolean; + }; + /** capability_param */ + ideal_payments?: { + requested?: boolean; + }; + /** capability_param */ + india_international_payments?: { + requested?: boolean; + }; + /** capability_param */ + jcb_payments?: { + requested?: boolean; + }; + /** capability_param */ + klarna_payments?: { + requested?: boolean; + }; + /** capability_param */ + konbini_payments?: { + requested?: boolean; + }; + /** capability_param */ + legacy_payments?: { + requested?: boolean; + }; + /** capability_param */ + link_payments?: { + requested?: boolean; + }; + /** capability_param */ + oxxo_payments?: { + requested?: boolean; + }; + /** capability_param */ + p24_payments?: { + requested?: boolean; + }; + /** capability_param */ + paynow_payments?: { + requested?: boolean; + }; + /** capability_param */ + promptpay_payments?: { + requested?: boolean; + }; + /** capability_param */ + sepa_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + sofort_payments?: { + requested?: boolean; + }; + /** capability_param */ + tax_reporting_us_1099_k?: { + requested?: boolean; + }; + /** capability_param */ + tax_reporting_us_1099_misc?: { + requested?: boolean; + }; + /** capability_param */ + transfers?: { + requested?: boolean; + }; + /** capability_param */ + treasury?: { + requested?: boolean; + }; + /** capability_param */ + us_bank_account_ach_payments?: { + requested?: boolean; + }; + /** capability_param */ + zip_payments?: { + requested?: boolean; + }; + }; + /** + * company_specs + * @description Information about the company or business. This field is available for any `business_type`. + */ + company?: { + /** address_specs */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** japan_address_kana_specs */ + address_kana?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** japan_address_kanji_specs */ + address_kanji?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + directors_provided?: boolean; + executives_provided?: boolean; + export_license_id?: string; + export_purpose_code?: string; + name?: string; + name_kana?: string; + name_kanji?: string; + owners_provided?: boolean; + /** company_ownership_declaration */ + ownership_declaration?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string; + }; + phone?: string; + registration_number?: string; + /** @enum {string} */ + structure?: "" | "free_zone_establishment" | "free_zone_llc" | "government_instrumentality" | "governmental_unit" | "incorporated_non_profit" | "incorporated_partnership" | "limited_liability_partnership" | "llc" | "multi_member_llc" | "private_company" | "private_corporation" | "private_partnership" | "public_company" | "public_corporation" | "public_partnership" | "single_member_llc" | "sole_establishment" | "sole_proprietorship" | "tax_exempt_government_instrumentality" | "unincorporated_association" | "unincorporated_non_profit" | "unincorporated_partnership"; + tax_id?: string; + tax_id_registrar?: string; + vat_id?: string; + /** verification_specs */ + verification?: { + /** verification_document_specs */ + document?: { + back?: string; + front?: string; + }; + }; + }; + /** @description The country in which the account holder resides, or in which the business is legally established. This should be an ISO 3166-1 alpha-2 country code. For example, if you are in the United States and the business for which you're creating an account is legally represented in Canada, you would use `CA` as the country for the account being created. Available countries include [Stripe's global markets](https://stripe.com/global) as well as countries where [cross-border payouts](https://stripe.com/docs/connect/cross-border-payouts) are supported. */ + country?: string; + /** @description Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts). */ + default_currency?: string; + /** + * documents_specs + * @description Documents that may be submitted to satisfy various informational requests. + */ + documents?: { + /** documents_param */ + bank_account_ownership_verification?: { + files?: string[]; + }; + /** documents_param */ + company_license?: { + files?: string[]; + }; + /** documents_param */ + company_memorandum_of_association?: { + files?: string[]; + }; + /** documents_param */ + company_ministerial_decree?: { + files?: string[]; + }; + /** documents_param */ + company_registration_verification?: { + files?: string[]; + }; + /** documents_param */ + company_tax_id_verification?: { + files?: string[]; + }; + /** documents_param */ + proof_of_registration?: { + files?: string[]; + }; + }; + /** @description The email address of the account holder. This is only to make the account easier to identify to you. Stripe only emails Custom accounts with your consent. */ + email?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A card or bank account to attach to the account for receiving [payouts](https://stripe.com/docs/connect/bank-debit-card-payouts) (you won’t be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://stripe.com/docs/api#account_create_bank_account) creation.

By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the [bank account](https://stripe.com/docs/api#account_create_bank_account) or [card creation](https://stripe.com/docs/api#account_create_card) APIs. */ + external_account?: string; + /** + * individual_specs + * @description Information about the person represented by the account. This field is null unless `business_type` is set to `individual`. + */ + individual?: { + /** address_specs */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** japan_address_kana_specs */ + address_kana?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** japan_address_kanji_specs */ + address_kanji?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + dob?: { + day: number; + month: number; + year: number; + } | ""; + email?: string; + first_name?: string; + first_name_kana?: string; + first_name_kanji?: string; + full_name_aliases?: string[] | ""; + gender?: string; + id_number?: string; + id_number_secondary?: string; + last_name?: string; + last_name_kana?: string; + last_name_kanji?: string; + maiden_name?: string; + metadata?: { + [key: string]: string; + } | ""; + phone?: string; + /** @enum {string} */ + political_exposure?: "existing" | "none"; + /** address_specs */ + registered_address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + ssn_last_4?: string; + /** person_verification_specs */ + verification?: { + /** person_verification_document_specs */ + additional_document?: { + back?: string; + front?: string; + }; + /** person_verification_document_specs */ + document?: { + back?: string; + front?: string; + }; + }; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** + * settings_specs + * @description Options for customizing how the account functions within Stripe. + */ + settings?: { + /** branding_settings_specs */ + branding?: { + icon?: string; + logo?: string; + primary_color?: string; + secondary_color?: string; + }; + /** card_issuing_settings_specs */ + card_issuing?: { + /** settings_terms_of_service_specs */ + tos_acceptance?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string | ""; + }; + }; + /** card_payments_settings_specs */ + card_payments?: { + /** decline_charge_on_specs */ + decline_on?: { + avs_failure?: boolean; + cvc_failure?: boolean; + }; + statement_descriptor_prefix?: string; + statement_descriptor_prefix_kana?: string | ""; + statement_descriptor_prefix_kanji?: string | ""; + }; + /** payments_settings_specs */ + payments?: { + statement_descriptor?: string; + statement_descriptor_kana?: string; + statement_descriptor_kanji?: string; + }; + /** payout_settings_specs */ + payouts?: { + debit_negative_balances?: boolean; + /** transfer_schedule_specs */ + schedule?: { + delay_days?: "minimum" | number; + /** @enum {string} */ + interval?: "daily" | "manual" | "monthly" | "weekly"; + monthly_anchor?: number; + /** @enum {string} */ + weekly_anchor?: "friday" | "monday" | "saturday" | "sunday" | "thursday" | "tuesday" | "wednesday"; + }; + statement_descriptor?: string; + }; + /** treasury_settings_specs */ + treasury?: { + /** settings_terms_of_service_specs */ + tos_acceptance?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string | ""; + }; + }; + }; + /** + * tos_acceptance_specs + * @description Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/docs/connect/updating-accounts#tos-acceptance). + */ + tos_acceptance?: { + /** Format: unix-time */ + date?: number; + ip?: string; + service_agreement?: string; + user_agent?: string; + }; + /** + * @description The type of Stripe account to create. May be one of `custom`, `express` or `standard`. + * @enum {string} + */ + type?: "custom" | "express" | "standard"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAccountsAccount: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccount: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account. */ + account_token?: string; + /** + * business_profile_specs + * @description Business information about the account. + */ + business_profile?: { + mcc?: string; + /** monthly_estimated_revenue_specs */ + monthly_estimated_revenue?: { + amount: number; + currency: string; + }; + name?: string; + product_description?: string; + /** address_specs */ + support_address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + support_email?: string; + support_phone?: string; + support_url?: string | ""; + url?: string; + }; + /** + * @description The business type. + * @enum {string} + */ + business_type?: "company" | "government_entity" | "individual" | "non_profit"; + /** + * capabilities_param + * @description Each key of the dictionary represents a capability, and each capability maps to its settings (e.g. whether it has been requested or not). Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive. + */ + capabilities?: { + /** capability_param */ + acss_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + affirm_payments?: { + requested?: boolean; + }; + /** capability_param */ + afterpay_clearpay_payments?: { + requested?: boolean; + }; + /** capability_param */ + au_becs_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + bacs_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + bancontact_payments?: { + requested?: boolean; + }; + /** capability_param */ + bank_transfer_payments?: { + requested?: boolean; + }; + /** capability_param */ + blik_payments?: { + requested?: boolean; + }; + /** capability_param */ + boleto_payments?: { + requested?: boolean; + }; + /** capability_param */ + card_issuing?: { + requested?: boolean; + }; + /** capability_param */ + card_payments?: { + requested?: boolean; + }; + /** capability_param */ + cartes_bancaires_payments?: { + requested?: boolean; + }; + /** capability_param */ + cashapp_payments?: { + requested?: boolean; + }; + /** capability_param */ + eps_payments?: { + requested?: boolean; + }; + /** capability_param */ + fpx_payments?: { + requested?: boolean; + }; + /** capability_param */ + giropay_payments?: { + requested?: boolean; + }; + /** capability_param */ + grabpay_payments?: { + requested?: boolean; + }; + /** capability_param */ + ideal_payments?: { + requested?: boolean; + }; + /** capability_param */ + india_international_payments?: { + requested?: boolean; + }; + /** capability_param */ + jcb_payments?: { + requested?: boolean; + }; + /** capability_param */ + klarna_payments?: { + requested?: boolean; + }; + /** capability_param */ + konbini_payments?: { + requested?: boolean; + }; + /** capability_param */ + legacy_payments?: { + requested?: boolean; + }; + /** capability_param */ + link_payments?: { + requested?: boolean; + }; + /** capability_param */ + oxxo_payments?: { + requested?: boolean; + }; + /** capability_param */ + p24_payments?: { + requested?: boolean; + }; + /** capability_param */ + paynow_payments?: { + requested?: boolean; + }; + /** capability_param */ + promptpay_payments?: { + requested?: boolean; + }; + /** capability_param */ + sepa_debit_payments?: { + requested?: boolean; + }; + /** capability_param */ + sofort_payments?: { + requested?: boolean; + }; + /** capability_param */ + tax_reporting_us_1099_k?: { + requested?: boolean; + }; + /** capability_param */ + tax_reporting_us_1099_misc?: { + requested?: boolean; + }; + /** capability_param */ + transfers?: { + requested?: boolean; + }; + /** capability_param */ + treasury?: { + requested?: boolean; + }; + /** capability_param */ + us_bank_account_ach_payments?: { + requested?: boolean; + }; + /** capability_param */ + zip_payments?: { + requested?: boolean; + }; + }; + /** + * company_specs + * @description Information about the company or business. This field is available for any `business_type`. + */ + company?: { + /** address_specs */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** japan_address_kana_specs */ + address_kana?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** japan_address_kanji_specs */ + address_kanji?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + directors_provided?: boolean; + executives_provided?: boolean; + export_license_id?: string; + export_purpose_code?: string; + name?: string; + name_kana?: string; + name_kanji?: string; + owners_provided?: boolean; + /** company_ownership_declaration */ + ownership_declaration?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string; + }; + phone?: string; + registration_number?: string; + /** @enum {string} */ + structure?: "" | "free_zone_establishment" | "free_zone_llc" | "government_instrumentality" | "governmental_unit" | "incorporated_non_profit" | "incorporated_partnership" | "limited_liability_partnership" | "llc" | "multi_member_llc" | "private_company" | "private_corporation" | "private_partnership" | "public_company" | "public_corporation" | "public_partnership" | "single_member_llc" | "sole_establishment" | "sole_proprietorship" | "tax_exempt_government_instrumentality" | "unincorporated_association" | "unincorporated_non_profit" | "unincorporated_partnership"; + tax_id?: string; + tax_id_registrar?: string; + vat_id?: string; + /** verification_specs */ + verification?: { + /** verification_document_specs */ + document?: { + back?: string; + front?: string; + }; + }; + }; + /** @description Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts). */ + default_currency?: string; + /** + * documents_specs + * @description Documents that may be submitted to satisfy various informational requests. + */ + documents?: { + /** documents_param */ + bank_account_ownership_verification?: { + files?: string[]; + }; + /** documents_param */ + company_license?: { + files?: string[]; + }; + /** documents_param */ + company_memorandum_of_association?: { + files?: string[]; + }; + /** documents_param */ + company_ministerial_decree?: { + files?: string[]; + }; + /** documents_param */ + company_registration_verification?: { + files?: string[]; + }; + /** documents_param */ + company_tax_id_verification?: { + files?: string[]; + }; + /** documents_param */ + proof_of_registration?: { + files?: string[]; + }; + }; + /** @description The email address of the account holder. This is only to make the account easier to identify to you. Stripe only emails Custom accounts with your consent. */ + email?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A card or bank account to attach to the account for receiving [payouts](https://stripe.com/docs/connect/bank-debit-card-payouts) (you won’t be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://stripe.com/docs/api#account_create_bank_account) creation.

By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the [bank account](https://stripe.com/docs/api#account_create_bank_account) or [card creation](https://stripe.com/docs/api#account_create_card) APIs. */ + external_account?: string; + /** + * individual_specs + * @description Information about the person represented by the account. This field is null unless `business_type` is set to `individual`. + */ + individual?: { + /** address_specs */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** japan_address_kana_specs */ + address_kana?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** japan_address_kanji_specs */ + address_kanji?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + dob?: { + day: number; + month: number; + year: number; + } | ""; + email?: string; + first_name?: string; + first_name_kana?: string; + first_name_kanji?: string; + full_name_aliases?: string[] | ""; + gender?: string; + id_number?: string; + id_number_secondary?: string; + last_name?: string; + last_name_kana?: string; + last_name_kanji?: string; + maiden_name?: string; + metadata?: { + [key: string]: string; + } | ""; + phone?: string; + /** @enum {string} */ + political_exposure?: "existing" | "none"; + /** address_specs */ + registered_address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + ssn_last_4?: string; + /** person_verification_specs */ + verification?: { + /** person_verification_document_specs */ + additional_document?: { + back?: string; + front?: string; + }; + /** person_verification_document_specs */ + document?: { + back?: string; + front?: string; + }; + }; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** + * settings_specs_update + * @description Options for customizing how the account functions within Stripe. + */ + settings?: { + /** branding_settings_specs */ + branding?: { + icon?: string; + logo?: string; + primary_color?: string; + secondary_color?: string; + }; + /** card_issuing_settings_specs */ + card_issuing?: { + /** settings_terms_of_service_specs */ + tos_acceptance?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string | ""; + }; + }; + /** card_payments_settings_specs */ + card_payments?: { + /** decline_charge_on_specs */ + decline_on?: { + avs_failure?: boolean; + cvc_failure?: boolean; + }; + statement_descriptor_prefix?: string; + statement_descriptor_prefix_kana?: string | ""; + statement_descriptor_prefix_kanji?: string | ""; + }; + /** payments_settings_specs */ + payments?: { + statement_descriptor?: string; + statement_descriptor_kana?: string; + statement_descriptor_kanji?: string; + }; + /** payout_settings_specs */ + payouts?: { + debit_negative_balances?: boolean; + /** transfer_schedule_specs */ + schedule?: { + delay_days?: "minimum" | number; + /** @enum {string} */ + interval?: "daily" | "manual" | "monthly" | "weekly"; + monthly_anchor?: number; + /** @enum {string} */ + weekly_anchor?: "friday" | "monday" | "saturday" | "sunday" | "thursday" | "tuesday" | "wednesday"; + }; + statement_descriptor?: string; + }; + /** treasury_settings_specs */ + treasury?: { + /** settings_terms_of_service_specs */ + tos_acceptance?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string | ""; + }; + }; + }; + /** + * tos_acceptance_specs + * @description Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/docs/connect/updating-accounts#tos-acceptance). + */ + tos_acceptance?: { + /** Format: unix-time */ + date?: number; + ip?: string; + service_agreement?: string; + user_agent?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteAccountsAccount: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccountBankAccounts: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ + bank_account?: { + account_holder_name?: string; + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number: string; + /** @enum {string} */ + account_type?: "checking" | "futsu" | "savings" | "toza"; + country: string; + currency?: string; + /** external_account_documents_param */ + documents?: { + /** documents_param */ + bank_account_ownership_verification?: { + files?: string[]; + }; + }; + /** @enum {string} */ + object?: "bank_account"; + routing_number?: string; + } | string; + /** @description When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency. */ + default_for_currency?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ + external_account?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["external_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAccountsAccountBankAccountsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + account: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["external_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccountBankAccountsId: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The name of the person or business that owns the bank account. */ + account_holder_name?: string; + /** + * @description The type of entity that holds the account. This can be either `individual` or `company`. + * @enum {string} + */ + account_holder_type?: "" | "company" | "individual"; + /** + * @description The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`. + * @enum {string} + */ + account_type?: "checking" | "futsu" | "savings" | "toza"; + /** @description City/District/Suburb/Town/Village. */ + address_city?: string; + /** @description Billing address country, if provided when creating card. */ + address_country?: string; + /** @description Address line 1 (Street address/PO Box/Company name). */ + address_line1?: string; + /** @description Address line 2 (Apartment/Suite/Unit/Building). */ + address_line2?: string; + /** @description State/County/Province/Region. */ + address_state?: string; + /** @description ZIP or postal code. */ + address_zip?: string; + /** @description When set to true, this becomes the default external account for its currency. */ + default_for_currency?: boolean; + /** + * external_account_documents_param + * @description Documents that may be submitted to satisfy various informational requests. + */ + documents?: { + /** documents_param */ + bank_account_ownership_verification?: { + files?: string[]; + }; + }; + /** @description Two digit number representing the card’s expiration month. */ + exp_month?: string; + /** @description Four digit number representing the card’s expiration year. */ + exp_year?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Cardholder name. */ + name?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["external_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteAccountsAccountBankAccountsId: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_external_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAccountsAccountCapabilities: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["capability"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAccountsAccountCapabilitiesCapability: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + account: string; + capability: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["capability"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccountCapabilitiesCapability: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + capability: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description To request a new capability for an account, pass true. There can be a delay before the requested capability becomes active. If the capability has any activation requirements, the response includes them in the `requirements` arrays. + * + * If a capability isn't permanent, you can remove it from the account by passing false. Most capabilities are permanent after they've been requested. Attempting to remove a permanent capability returns an error. */ + requested?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["capability"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAccountsAccountExternalAccounts: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Filter external accounts according to a particular object type. */ + object?: "bank_account" | "card"; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards. */ + data: (components["schemas"]["bank_account"] | components["schemas"]["card"])[]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccountExternalAccounts: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ + bank_account?: { + account_holder_name?: string; + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number: string; + /** @enum {string} */ + account_type?: "checking" | "futsu" | "savings" | "toza"; + country: string; + currency?: string; + /** external_account_documents_param */ + documents?: { + /** documents_param */ + bank_account_ownership_verification?: { + files?: string[]; + }; + }; + /** @enum {string} */ + object?: "bank_account"; + routing_number?: string; + } | string; + /** @description When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency. */ + default_for_currency?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ + external_account?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["external_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAccountsAccountExternalAccountsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + account: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["external_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccountExternalAccountsId: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The name of the person or business that owns the bank account. */ + account_holder_name?: string; + /** + * @description The type of entity that holds the account. This can be either `individual` or `company`. + * @enum {string} + */ + account_holder_type?: "" | "company" | "individual"; + /** + * @description The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`. + * @enum {string} + */ + account_type?: "checking" | "futsu" | "savings" | "toza"; + /** @description City/District/Suburb/Town/Village. */ + address_city?: string; + /** @description Billing address country, if provided when creating card. */ + address_country?: string; + /** @description Address line 1 (Street address/PO Box/Company name). */ + address_line1?: string; + /** @description Address line 2 (Apartment/Suite/Unit/Building). */ + address_line2?: string; + /** @description State/County/Province/Region. */ + address_state?: string; + /** @description ZIP or postal code. */ + address_zip?: string; + /** @description When set to true, this becomes the default external account for its currency. */ + default_for_currency?: boolean; + /** + * external_account_documents_param + * @description Documents that may be submitted to satisfy various informational requests. + */ + documents?: { + /** documents_param */ + bank_account_ownership_verification?: { + files?: string[]; + }; + }; + /** @description Two digit number representing the card’s expiration month. */ + exp_month?: string; + /** @description Four digit number representing the card’s expiration year. */ + exp_year?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Cardholder name. */ + name?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["external_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteAccountsAccountExternalAccountsId: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_external_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccountLoginLinks: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["login_link"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAccountsAccountPeople: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Filters on the list of people returned based on the person's relationship to the account's company. */ + relationship?: { + director?: boolean; + executive?: boolean; + owner?: boolean; + representative?: boolean; + }; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["person"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccountPeople: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * address_specs + * @description The person's address. + */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** + * japan_address_kana_specs + * @description The Kana variation of the person's address (Japan only). + */ + address_kana?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** + * japan_address_kanji_specs + * @description The Kanji variation of the person's address (Japan only). + */ + address_kanji?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** @description The person's date of birth. */ + dob?: { + day: number; + month: number; + year: number; + } | ""; + /** + * person_documents_specs + * @description Documents that may be submitted to satisfy various informational requests. + */ + documents?: { + /** documents_param */ + company_authorization?: { + files?: (string | "")[]; + }; + /** documents_param */ + passport?: { + files?: (string | "")[]; + }; + /** documents_param */ + visa?: { + files?: (string | "")[]; + }; + }; + /** @description The person's email address. */ + email?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The person's first name. */ + first_name?: string; + /** @description The Kana variation of the person's first name (Japan only). */ + first_name_kana?: string; + /** @description The Kanji variation of the person's first name (Japan only). */ + first_name_kanji?: string; + /** @description A list of alternate names or aliases that the person is known by. */ + full_name_aliases?: string[] | ""; + /** @description The person's gender (International regulations require either "male" or "female"). */ + gender?: string; + /** @description The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ + id_number?: string; + /** @description The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ + id_number_secondary?: string; + /** @description The person's last name. */ + last_name?: string; + /** @description The Kana variation of the person's last name (Japan only). */ + last_name_kana?: string; + /** @description The Kanji variation of the person's last name (Japan only). */ + last_name_kanji?: string; + /** @description The person's maiden name. */ + maiden_name?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ + nationality?: string; + /** @description A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person. */ + person_token?: string; + /** @description The person's phone number. */ + phone?: string; + /** @description Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. */ + political_exposure?: string; + /** + * address_specs + * @description The person's registered address. + */ + registered_address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** + * relationship_specs + * @description The relationship that this person has with the account's legal entity. + */ + relationship?: { + director?: boolean; + executive?: boolean; + owner?: boolean; + percent_ownership?: number | ""; + representative?: boolean; + title?: string; + }; + /** @description The last four digits of the person's Social Security number (U.S. only). */ + ssn_last_4?: string; + /** + * person_verification_specs + * @description The person's verification status. + */ + verification?: { + /** person_verification_document_specs */ + additional_document?: { + back?: string; + front?: string; + }; + /** person_verification_document_specs */ + document?: { + back?: string; + front?: string; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["person"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAccountsAccountPeoplePerson: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + account: string; + person: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["person"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccountPeoplePerson: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + person: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * address_specs + * @description The person's address. + */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** + * japan_address_kana_specs + * @description The Kana variation of the person's address (Japan only). + */ + address_kana?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** + * japan_address_kanji_specs + * @description The Kanji variation of the person's address (Japan only). + */ + address_kanji?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** @description The person's date of birth. */ + dob?: { + day: number; + month: number; + year: number; + } | ""; + /** + * person_documents_specs + * @description Documents that may be submitted to satisfy various informational requests. + */ + documents?: { + /** documents_param */ + company_authorization?: { + files?: (string | "")[]; + }; + /** documents_param */ + passport?: { + files?: (string | "")[]; + }; + /** documents_param */ + visa?: { + files?: (string | "")[]; + }; + }; + /** @description The person's email address. */ + email?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The person's first name. */ + first_name?: string; + /** @description The Kana variation of the person's first name (Japan only). */ + first_name_kana?: string; + /** @description The Kanji variation of the person's first name (Japan only). */ + first_name_kanji?: string; + /** @description A list of alternate names or aliases that the person is known by. */ + full_name_aliases?: string[] | ""; + /** @description The person's gender (International regulations require either "male" or "female"). */ + gender?: string; + /** @description The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ + id_number?: string; + /** @description The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ + id_number_secondary?: string; + /** @description The person's last name. */ + last_name?: string; + /** @description The Kana variation of the person's last name (Japan only). */ + last_name_kana?: string; + /** @description The Kanji variation of the person's last name (Japan only). */ + last_name_kanji?: string; + /** @description The person's maiden name. */ + maiden_name?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ + nationality?: string; + /** @description A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person. */ + person_token?: string; + /** @description The person's phone number. */ + phone?: string; + /** @description Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. */ + political_exposure?: string; + /** + * address_specs + * @description The person's registered address. + */ + registered_address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** + * relationship_specs + * @description The relationship that this person has with the account's legal entity. + */ + relationship?: { + director?: boolean; + executive?: boolean; + owner?: boolean; + percent_ownership?: number | ""; + representative?: boolean; + title?: string; + }; + /** @description The last four digits of the person's Social Security number (U.S. only). */ + ssn_last_4?: string; + /** + * person_verification_specs + * @description The person's verification status. + */ + verification?: { + /** person_verification_document_specs */ + additional_document?: { + back?: string; + front?: string; + }; + /** person_verification_document_specs */ + document?: { + back?: string; + front?: string; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["person"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteAccountsAccountPeoplePerson: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + person: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_person"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAccountsAccountPersons: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Filters on the list of people returned based on the person's relationship to the account's company. */ + relationship?: { + director?: boolean; + executive?: boolean; + owner?: boolean; + representative?: boolean; + }; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["person"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccountPersons: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * address_specs + * @description The person's address. + */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** + * japan_address_kana_specs + * @description The Kana variation of the person's address (Japan only). + */ + address_kana?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** + * japan_address_kanji_specs + * @description The Kanji variation of the person's address (Japan only). + */ + address_kanji?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** @description The person's date of birth. */ + dob?: { + day: number; + month: number; + year: number; + } | ""; + /** + * person_documents_specs + * @description Documents that may be submitted to satisfy various informational requests. + */ + documents?: { + /** documents_param */ + company_authorization?: { + files?: (string | "")[]; + }; + /** documents_param */ + passport?: { + files?: (string | "")[]; + }; + /** documents_param */ + visa?: { + files?: (string | "")[]; + }; + }; + /** @description The person's email address. */ + email?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The person's first name. */ + first_name?: string; + /** @description The Kana variation of the person's first name (Japan only). */ + first_name_kana?: string; + /** @description The Kanji variation of the person's first name (Japan only). */ + first_name_kanji?: string; + /** @description A list of alternate names or aliases that the person is known by. */ + full_name_aliases?: string[] | ""; + /** @description The person's gender (International regulations require either "male" or "female"). */ + gender?: string; + /** @description The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ + id_number?: string; + /** @description The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ + id_number_secondary?: string; + /** @description The person's last name. */ + last_name?: string; + /** @description The Kana variation of the person's last name (Japan only). */ + last_name_kana?: string; + /** @description The Kanji variation of the person's last name (Japan only). */ + last_name_kanji?: string; + /** @description The person's maiden name. */ + maiden_name?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ + nationality?: string; + /** @description A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person. */ + person_token?: string; + /** @description The person's phone number. */ + phone?: string; + /** @description Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. */ + political_exposure?: string; + /** + * address_specs + * @description The person's registered address. + */ + registered_address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** + * relationship_specs + * @description The relationship that this person has with the account's legal entity. + */ + relationship?: { + director?: boolean; + executive?: boolean; + owner?: boolean; + percent_ownership?: number | ""; + representative?: boolean; + title?: string; + }; + /** @description The last four digits of the person's Social Security number (U.S. only). */ + ssn_last_4?: string; + /** + * person_verification_specs + * @description The person's verification status. + */ + verification?: { + /** person_verification_document_specs */ + additional_document?: { + back?: string; + front?: string; + }; + /** person_verification_document_specs */ + document?: { + back?: string; + front?: string; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["person"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAccountsAccountPersonsPerson: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + account: string; + person: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["person"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccountPersonsPerson: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + person: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * address_specs + * @description The person's address. + */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** + * japan_address_kana_specs + * @description The Kana variation of the person's address (Japan only). + */ + address_kana?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** + * japan_address_kanji_specs + * @description The Kanji variation of the person's address (Japan only). + */ + address_kanji?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** @description The person's date of birth. */ + dob?: { + day: number; + month: number; + year: number; + } | ""; + /** + * person_documents_specs + * @description Documents that may be submitted to satisfy various informational requests. + */ + documents?: { + /** documents_param */ + company_authorization?: { + files?: (string | "")[]; + }; + /** documents_param */ + passport?: { + files?: (string | "")[]; + }; + /** documents_param */ + visa?: { + files?: (string | "")[]; + }; + }; + /** @description The person's email address. */ + email?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The person's first name. */ + first_name?: string; + /** @description The Kana variation of the person's first name (Japan only). */ + first_name_kana?: string; + /** @description The Kanji variation of the person's first name (Japan only). */ + first_name_kanji?: string; + /** @description A list of alternate names or aliases that the person is known by. */ + full_name_aliases?: string[] | ""; + /** @description The person's gender (International regulations require either "male" or "female"). */ + gender?: string; + /** @description The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ + id_number?: string; + /** @description The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii). */ + id_number_secondary?: string; + /** @description The person's last name. */ + last_name?: string; + /** @description The Kana variation of the person's last name (Japan only). */ + last_name_kana?: string; + /** @description The Kanji variation of the person's last name (Japan only). */ + last_name_kanji?: string; + /** @description The person's maiden name. */ + maiden_name?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ + nationality?: string; + /** @description A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person. */ + person_token?: string; + /** @description The person's phone number. */ + phone?: string; + /** @description Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. */ + political_exposure?: string; + /** + * address_specs + * @description The person's registered address. + */ + registered_address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** + * relationship_specs + * @description The relationship that this person has with the account's legal entity. + */ + relationship?: { + director?: boolean; + executive?: boolean; + owner?: boolean; + percent_ownership?: number | ""; + representative?: boolean; + title?: string; + }; + /** @description The last four digits of the person's Social Security number (U.S. only). */ + ssn_last_4?: string; + /** + * person_verification_specs + * @description The person's verification status. + */ + verification?: { + /** person_verification_document_specs */ + additional_document?: { + back?: string; + front?: string; + }; + /** person_verification_document_specs */ + document?: { + back?: string; + front?: string; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["person"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteAccountsAccountPersonsPerson: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + person: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_person"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAccountsAccountReject: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The reason for rejecting the account. Can be `fraud`, `terms_of_service`, or `other`. */ + reason: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetApplePayDomains: { + parameters: { + query?: { + domain_name?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["apple_pay_domain"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostApplePayDomains: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + domain_name: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apple_pay_domain"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetApplePayDomainsDomain: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + domain: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apple_pay_domain"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteApplePayDomainsDomain: { + parameters: { + query?: never; + header?: never; + path: { + domain: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_apple_pay_domain"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetApplicationFees: { + parameters: { + query?: { + /** @description Only return application fees for the charge specified by this charge ID. */ + charge?: string; + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["application_fee"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetApplicationFeesFeeRefundsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + fee: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["fee_refund"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostApplicationFeesFeeRefundsId: { + parameters: { + query?: never; + header?: never; + path: { + fee: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["fee_refund"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetApplicationFeesId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["application_fee"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostApplicationFeesIdRefund: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + amount?: number; + directive?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["application_fee"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetApplicationFeesIdRefunds: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["fee_refund"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostApplicationFeesIdRefunds: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description A positive integer, in _cents (or local equivalent)_, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee. */ + amount?: number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["fee_refund"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAppsSecrets: { + parameters: { + query: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. */ + scope: { + /** @enum {string} */ + type: "account" | "user"; + user?: string; + }; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["apps.secret"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAppsSecrets: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * Format: unix-time + * @description The Unix timestamp for the expiry time of the secret, after which the secret deletes. + */ + expires_at?: number; + /** @description A name for the secret that's unique within the scope. */ + name: string; + /** @description The plaintext secret value to be stored. */ + payload: string; + /** + * scope_param + * @description Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. + */ + scope: { + /** @enum {string} */ + type: "account" | "user"; + user?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps.secret"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostAppsSecretsDelete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A name for the secret that's unique within the scope. */ + name: string; + /** + * scope_param + * @description Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. + */ + scope: { + /** @enum {string} */ + type: "account" | "user"; + user?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps.secret"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetAppsSecretsFind: { + parameters: { + query: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A name for the secret that's unique within the scope. */ + name: string; + /** @description Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. */ + scope: { + /** @enum {string} */ + type: "account" | "user"; + user?: string; + }; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["apps.secret"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBalance: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["balance"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBalanceHistory: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return transactions in a certain currency. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID. */ + payout?: string; + /** @description Only returns the original transaction. */ + source?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. */ + type?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["balance_transaction"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBalanceHistoryId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["balance_transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBalanceTransactions: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return transactions in a certain currency. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID. */ + payout?: string; + /** @description Only returns the original transaction. */ + source?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_inbound`, `obligation_outbound`, `obligation_reversal_inbound`, `obligation_reversal_outbound`, `obligation_payout`, `obligation_payout_failure`, `payment`, `payment_failure_refund`, `payment_refund`, `payment_reversal`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. */ + type?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["balance_transaction"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBalanceTransactionsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["balance_transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBillingPortalConfigurations: { + parameters: { + query?: { + /** @description Only return configurations that are active or inactive (e.g., pass `true` to only list active configurations). */ + active?: boolean; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Only return the default or non-default configurations (e.g., pass `true` to only list the default configuration). */ + is_default?: boolean; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["billing_portal.configuration"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingPortalConfigurations: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * business_profile_create_param + * @description The business information shown to customers in the portal. + */ + business_profile: { + headline?: string | ""; + privacy_policy_url?: string; + terms_of_service_url?: string; + }; + /** @description The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session. */ + default_return_url?: string | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * features_creation_param + * @description Information about the features available in the portal. + */ + features: { + /** customer_update_creation_param */ + customer_update?: { + allowed_updates?: ("address" | "email" | "name" | "phone" | "shipping" | "tax_id")[] | ""; + enabled: boolean; + }; + /** invoice_list_param */ + invoice_history?: { + enabled: boolean; + }; + /** payment_method_update_param */ + payment_method_update?: { + enabled: boolean; + }; + /** subscription_cancel_creation_param */ + subscription_cancel?: { + /** subscription_cancellation_reason_creation_param */ + cancellation_reason?: { + enabled: boolean; + options: ("customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused")[] | ""; + }; + enabled: boolean; + /** @enum {string} */ + mode?: "at_period_end" | "immediately"; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + }; + /** subscription_pause_param */ + subscription_pause?: { + enabled?: boolean; + }; + /** subscription_update_creation_param */ + subscription_update?: { + default_allowed_updates: ("price" | "promotion_code" | "quantity")[] | ""; + enabled: boolean; + products: { + prices: string[]; + product: string; + }[] | ""; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + }; + }; + /** + * login_page_create_param + * @description The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share). + */ + login_page?: { + enabled: boolean; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing_portal.configuration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetBillingPortalConfigurationsConfiguration: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + configuration: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing_portal.configuration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingPortalConfigurationsConfiguration: { + parameters: { + query?: never; + header?: never; + path: { + configuration: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether the configuration is active and can be used to create portal sessions. */ + active?: boolean; + /** + * business_profile_update_param + * @description The business information shown to customers in the portal. + */ + business_profile?: { + headline?: string | ""; + privacy_policy_url?: string | ""; + terms_of_service_url?: string | ""; + }; + /** @description The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session. */ + default_return_url?: string | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * features_updating_param + * @description Information about the features available in the portal. + */ + features?: { + /** customer_update_updating_param */ + customer_update?: { + allowed_updates?: ("address" | "email" | "name" | "phone" | "shipping" | "tax_id")[] | ""; + enabled?: boolean; + }; + /** invoice_list_param */ + invoice_history?: { + enabled: boolean; + }; + /** payment_method_update_param */ + payment_method_update?: { + enabled: boolean; + }; + /** subscription_cancel_updating_param */ + subscription_cancel?: { + /** subscription_cancellation_reason_updating_param */ + cancellation_reason?: { + enabled: boolean; + options?: ("customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused")[] | ""; + }; + enabled?: boolean; + /** @enum {string} */ + mode?: "at_period_end" | "immediately"; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + }; + /** subscription_pause_param */ + subscription_pause?: { + enabled?: boolean; + }; + /** subscription_update_updating_param */ + subscription_update?: { + default_allowed_updates?: ("price" | "promotion_code" | "quantity")[] | ""; + enabled?: boolean; + products?: { + prices: string[]; + product: string; + }[] | ""; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + }; + }; + /** + * login_page_update_param + * @description The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share). + */ + login_page?: { + enabled: boolean; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing_portal.configuration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostBillingPortalSessions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The ID of an existing [configuration](https://stripe.com/docs/api/customer_portal/configuration) to use for this session, describing its functionality and features. If not specified, the session uses the default configuration. */ + configuration?: string; + /** @description The ID of an existing customer. */ + customer: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * flow_data_param + * @description Information about a specific flow for the customer to go through. See the [docs](https://stripe.com/docs/customer-management/portal-deep-links) to learn more about using customer portal deep links and flows. + */ + flow_data?: { + /** flow_data_after_completion_param */ + after_completion?: { + /** after_completion_hosted_confirmation_param */ + hosted_confirmation?: { + custom_message?: string; + }; + /** after_completion_redirect_param */ + redirect?: { + return_url: string; + }; + /** @enum {string} */ + type: "hosted_confirmation" | "portal_homepage" | "redirect"; + }; + /** flow_data_subscription_cancel_param */ + subscription_cancel?: { + /** retention_param */ + retention?: { + /** coupon_offer_param */ + coupon_offer: { + coupon: string; + }; + /** @enum {string} */ + type: "coupon_offer"; + }; + subscription: string; + }; + /** flow_data_subscription_update_param */ + subscription_update?: { + subscription: string; + }; + /** flow_data_subscription_update_confirm_param */ + subscription_update_confirm?: { + discounts?: { + coupon?: string; + promotion_code?: string; + }[]; + items: { + id: string; + price?: string; + quantity?: number; + }[]; + subscription: string; + }; + /** @enum {string} */ + type: "payment_method_update" | "subscription_cancel" | "subscription_update" | "subscription_update_confirm"; + }; + /** + * @description The IETF language tag of the locale customer portal is displayed in. If blank or auto, the customer’s `preferred_locales` or browser’s locale is used. + * @enum {string} + */ + locale?: "auto" | "bg" | "cs" | "da" | "de" | "el" | "en" | "en-AU" | "en-CA" | "en-GB" | "en-IE" | "en-IN" | "en-NZ" | "en-SG" | "es" | "es-419" | "et" | "fi" | "fil" | "fr" | "fr-CA" | "hr" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "mt" | "nb" | "nl" | "pl" | "pt" | "pt-BR" | "ro" | "ru" | "sk" | "sl" | "sv" | "th" | "tr" | "vi" | "zh" | "zh-HK" | "zh-TW"; + /** @description The `on_behalf_of` account to use for this session. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://stripe.com/docs/connect/separate-charges-and-transfers#on-behalf-of). Use the [Accounts API](https://stripe.com/docs/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays. */ + on_behalf_of?: string; + /** @description The default URL to redirect customers to when they click on the portal's link to return to your website. */ + return_url?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["billing_portal.session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCharges: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return charges for the customer specified by this customer ID. */ + customer?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return charges that were created by the PaymentIntent specified by this PaymentIntent ID. */ + payment_intent?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return charges for this transfer group. */ + transfer_group?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["charge"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCharges: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ + amount?: number; + application_fee?: number; + /** @description A fee in cents (or local equivalent) that will be applied to the charge and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the `Stripe-Account` header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees). */ + application_fee_amount?: number; + /** @description Whether to immediately capture the charge. Defaults to `true`. When `false`, the charge issues an authorization (or pre-authorization), and will need to be [captured](https://stripe.com/docs/api#capture_charge) later. Uncaptured charges expire after a set number of days (7 by default). For more information, see the [authorizing charges and settling later](https://stripe.com/docs/charges/placing-a-hold) documentation. */ + capture?: boolean; + /** @description A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js). */ + card?: { + address_city?: string; + address_country?: string; + address_line1?: string; + address_line2?: string; + address_state?: string; + address_zip?: string; + cvc?: string; + exp_month: number; + exp_year: number; + metadata?: { + [key: string]: string; + }; + name?: string; + number: string; + /** @enum {string} */ + object?: "card"; + } | string; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description The ID of an existing customer that will be charged in this request. */ + customer?: string; + /** @description An arbitrary string which you can attach to a `Charge` object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing. */ + description?: string; + destination?: { + account: string; + amount?: number; + } | string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The Stripe account ID for which these funds are intended. Automatically set if you use the `destination` parameter. For details, see [Creating Separate Charges and Transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#on-behalf-of). */ + on_behalf_of?: string; + /** + * radar_options + * @description Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. + */ + radar_options?: { + session?: string; + }; + /** @description The email address to which this charge's [receipt](https://stripe.com/docs/dashboard/receipts) will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for test mode charges. If this charge is for a [Customer](https://stripe.com/docs/api/customers/object), the email address specified here will override the customer's email address. If `receipt_email` is specified for a charge in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). */ + receipt_email?: string; + /** + * optional_fields_shipping + * @description Shipping information for the charge. Helps prevent fraud on charges for physical goods. + */ + shipping?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + carrier?: string; + name: string; + phone?: string; + tracking_number?: string; + }; + /** @description A payment source to be charged. This can be the ID of a [card](https://stripe.com/docs/api#cards) (i.e., credit or debit card), a [bank account](https://stripe.com/docs/api#bank_accounts), a [source](https://stripe.com/docs/api#sources), a [token](https://stripe.com/docs/api#tokens), or a [connected account](https://stripe.com/docs/connect/account-debits#charging-a-connected-account). For certain sources---namely, [cards](https://stripe.com/docs/api#cards), [bank accounts](https://stripe.com/docs/api#bank_accounts), and attached [sources](https://stripe.com/docs/api#sources)---you must also pass the ID of the associated customer. */ + source?: string; + /** @description For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ + statement_descriptor?: string; + /** @description Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ + statement_descriptor_suffix?: string; + /** + * transfer_data_specs + * @description An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details. + */ + transfer_data?: { + amount?: number; + destination: string; + }; + /** @description A string that identifies this transaction as part of a group. For details, see [Grouping transactions](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options). */ + transfer_group?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["charge"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetChargesSearch: { + parameters: { + query: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ + page?: string; + /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for charges](https://stripe.com/docs/search#query-fields-for-charges). */ + query: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["charge"][]; + has_more: boolean; + next_page?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "search_result"; + /** @description The total number of objects that match the query, only accurate up to 10,000. */ + total_count?: number; + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetChargesCharge: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + charge: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["charge"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostChargesCharge: { + parameters: { + query?: never; + header?: never; + path: { + charge: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The ID of an existing customer that will be associated with this request. This field may only be updated if there is no existing associated customer with this charge. */ + customer?: string; + /** @description An arbitrary string which you can attach to a charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * fraud_details + * @description A set of key-value pairs you can attach to a charge giving information about its riskiness. If you believe a charge is fraudulent, include a `user_report` key with a value of `fraudulent`. If you believe a charge is safe, include a `user_report` key with a value of `safe`. Stripe will use the information you send to improve our fraud detection algorithms. + */ + fraud_details?: { + /** @enum {string} */ + user_report: "" | "fraudulent" | "safe"; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address. */ + receipt_email?: string; + /** + * optional_fields_shipping + * @description Shipping information for the charge. Helps prevent fraud on charges for physical goods. + */ + shipping?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + carrier?: string; + name: string; + phone?: string; + tracking_number?: string; + }; + /** @description A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. */ + transfer_group?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["charge"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostChargesChargeCapture: { + parameters: { + query?: never; + header?: never; + path: { + charge: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The amount to capture, which must be less than or equal to the original amount. Any additional amount will be automatically refunded. */ + amount?: number; + /** @description An application fee to add on to this charge. */ + application_fee?: number; + /** @description An application fee amount to add on to this charge, which must be less than or equal to the original amount. */ + application_fee_amount?: number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The email address to send this charge's receipt to. This will override the previously-specified email address for this charge, if one was set. Receipts will not be sent in test mode. */ + receipt_email?: string; + /** @description For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ + statement_descriptor?: string; + /** @description Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ + statement_descriptor_suffix?: string; + /** + * transfer_data_specs + * @description An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details. + */ + transfer_data?: { + amount?: number; + }; + /** @description A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. */ + transfer_group?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["charge"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetChargesChargeDispute: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + charge: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dispute"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostChargesChargeDispute: { + parameters: { + query?: never; + header?: never; + path: { + charge: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * dispute_evidence_params + * @description Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000. + */ + evidence?: { + access_activity_log?: string; + billing_address?: string; + cancellation_policy?: string; + cancellation_policy_disclosure?: string; + cancellation_rebuttal?: string; + customer_communication?: string; + customer_email_address?: string; + customer_name?: string; + customer_purchase_ip?: string; + customer_signature?: string; + duplicate_charge_documentation?: string; + duplicate_charge_explanation?: string; + duplicate_charge_id?: string; + product_description?: string; + receipt?: string; + refund_policy?: string; + refund_policy_disclosure?: string; + refund_refusal_explanation?: string; + service_date?: string; + service_documentation?: string; + shipping_address?: string; + shipping_carrier?: string; + shipping_date?: string; + shipping_documentation?: string; + shipping_tracking_number?: string; + uncategorized_file?: string; + uncategorized_text?: string; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default). */ + submit?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dispute"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostChargesChargeDisputeClose: { + parameters: { + query?: never; + header?: never; + path: { + charge: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dispute"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostChargesChargeRefund: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The identifier of the charge to refund. */ + charge: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description A positive integer in cents (or local equivalent) representing how much of this charge to refund. Can refund only up to the remaining, unrefunded amount of the charge. */ + amount?: number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions. */ + instructions_email?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The identifier of the PaymentIntent to refund. */ + payment_intent?: string; + /** + * @description String indicating the reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`. If you believe the charge to be fraudulent, specifying `fraudulent` as the reason will add the associated card and email to your [block lists](https://stripe.com/docs/radar/lists), and will also help us improve our fraud detection algorithms. + * @enum {string} + */ + reason?: "duplicate" | "fraudulent" | "requested_by_customer"; + /** @description Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. */ + refund_application_fee?: boolean; + /** @description Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount).

A transfer can be reversed only by the application that created the charge. */ + reverse_transfer?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["charge"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetChargesChargeRefunds: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + charge: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["refund"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostChargesChargeRefunds: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The identifier of the charge to refund. */ + charge: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + amount?: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description Customer whose customer balance to refund from. */ + customer?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions. */ + instructions_email?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** + * @description Origin of the refund + * @enum {string} + */ + origin?: "customer_balance"; + /** @description The identifier of the PaymentIntent to refund. */ + payment_intent?: string; + /** + * @description String indicating the reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`. If you believe the charge to be fraudulent, specifying `fraudulent` as the reason will add the associated card and email to your [block lists](https://stripe.com/docs/radar/lists), and will also help us improve our fraud detection algorithms. + * @enum {string} + */ + reason?: "duplicate" | "fraudulent" | "requested_by_customer"; + /** @description Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. */ + refund_application_fee?: boolean; + /** @description Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount).

A transfer can be reversed only by the application that created the charge. */ + reverse_transfer?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["refund"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetChargesChargeRefundsRefund: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + charge: string; + refund: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["refund"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostChargesChargeRefundsRefund: { + parameters: { + query?: never; + header?: never; + path: { + charge: string; + refund: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["refund"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCheckoutSessions: { + parameters: { + query?: { + /** @description Only return the Checkout Sessions for the Customer specified. */ + customer?: string; + /** @description Only return the Checkout Sessions for the Customer details specified. */ + customer_details?: { + email: string; + }; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return the Checkout Session for the PaymentIntent specified. */ + payment_intent?: string; + /** @description Only return the Checkout Sessions for the Payment Link specified. */ + payment_link?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return the Checkout Session for the subscription specified. */ + subscription?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["checkout.session"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCheckoutSessions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * after_expiration_params + * @description Configure actions after a Checkout Session has expired. + */ + after_expiration?: { + /** recovery_params */ + recovery?: { + allow_promotion_codes?: boolean; + enabled: boolean; + }; + }; + /** @description Enables user redeemable promotion codes. */ + allow_promotion_codes?: boolean; + /** + * automatic_tax_params + * @description Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions. + */ + automatic_tax?: { + enabled: boolean; + }; + /** + * @description Specify whether Checkout should collect the customer's billing address. + * @enum {string} + */ + billing_address_collection?: "auto" | "required"; + /** @description If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. */ + cancel_url?: string; + /** @description A unique string to reference the Checkout Session. This can be a + * customer ID, a cart ID, or similar, and can be used to reconcile the + * session with your internal systems. */ + client_reference_id?: string; + /** + * consent_collection_params + * @description Configure fields for the Checkout Session to gather active consent from customers. + */ + consent_collection?: { + /** @enum {string} */ + promotions?: "auto" | "none"; + /** @enum {string} */ + terms_of_service?: "none" | "required"; + }; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description Collect additional information from your customer using custom fields. Up to 2 fields are supported. */ + custom_fields?: { + /** custom_field_dropdown_param */ + dropdown?: { + options: { + label: string; + value: string; + }[]; + }; + key: string; + /** custom_field_label_param */ + label: { + custom: string; + /** @enum {string} */ + type: "custom"; + }; + /** custom_field_numeric_param */ + numeric?: { + maximum_length?: number; + minimum_length?: number; + }; + optional?: boolean; + /** custom_field_text_param */ + text?: { + maximum_length?: number; + minimum_length?: number; + }; + /** @enum {string} */ + type: "dropdown" | "numeric" | "text"; + }[]; + /** + * custom_text_param + * @description Display additional text for your customers using custom text. + */ + custom_text?: { + shipping_address?: { + message: string; + } | ""; + submit?: { + message: string; + } | ""; + terms_of_service_acceptance?: { + message: string; + } | ""; + }; + /** @description ID of an existing Customer, if one exists. In `payment` mode, the customer’s most recent card + * payment method will be used to prefill the email, name, card details, and billing address + * on the Checkout page. In `subscription` mode, the customer’s [default payment method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method) + * will be used if it’s a card, and otherwise the most recent card will be used. A valid billing address, billing name and billing email are required on the payment method for Checkout to prefill the customer's card details. + * + * If the Customer already has a valid [email](https://stripe.com/docs/api/customers/object#customer_object-email) set, the email will be prefilled and not editable in Checkout. + * If the Customer does not have a valid `email`, Checkout will set the email entered during the session on the Customer. + * + * If blank for Checkout Sessions in `subscription` mode or with `customer_creation` set as `always` in `payment` mode, Checkout will create a new Customer object based on information provided during the payment flow. + * + * You can set [`payment_intent_data.setup_future_usage`](https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-setup_future_usage) to have Checkout automatically attach the payment method to the Customer you pass in for future reuse. */ + customer?: string; + /** + * @description Configure whether a Checkout Session creates a [Customer](https://stripe.com/docs/api/customers) during Session confirmation. + * + * When a Customer is not created, you can still retrieve email, address, and other customer data entered in Checkout + * with [customer_details](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_details). + * + * Sessions that don't create Customers instead are grouped by [guest customers](https://stripe.com/docs/payments/checkout/guest-customers) + * in the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions. + * + * Can only be set in `payment` and `setup` mode. + * @enum {string} + */ + customer_creation?: "always" | "if_required"; + /** @description If provided, this value will be used when the Customer object is created. + * If not provided, customers will be asked to enter their email address. + * Use this parameter to prefill customer data if you already have an email + * on file. To access information about the customer once a session is + * complete, use the `customer` field. */ + customer_email?: string; + /** + * customer_update_params + * @description Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when `customer` is provided. + */ + customer_update?: { + /** @enum {string} */ + address?: "auto" | "never"; + /** @enum {string} */ + name?: "auto" | "never"; + /** @enum {string} */ + shipping?: "auto" | "never"; + }; + /** @description The coupon or promotion code to apply to this Session. Currently, only up to one may be specified. */ + discounts?: { + coupon?: string; + promotion_code?: string; + }[]; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * Format: unix-time + * @description The Epoch time in seconds at which the Checkout Session will expire. It can be anywhere from 30 minutes to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation. + */ + expires_at?: number; + /** + * invoice_creation_params + * @description Generate a post-purchase Invoice for one-time payments. + */ + invoice_creation?: { + enabled: boolean; + /** invoice_data_params */ + invoice_data?: { + account_tax_ids?: string[] | ""; + custom_fields?: { + name: string; + value: string; + }[] | ""; + description?: string; + footer?: string; + metadata?: { + [key: string]: string; + }; + rendering_options?: { + /** @enum {string} */ + amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; + } | ""; + }; + }; + /** @description A list of items the customer is purchasing. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices). + * + * For `payment` mode, there is a maximum of 100 line items, however it is recommended to consolidate line items if there are more than a few dozen. + * + * For `subscription` mode, there is a maximum of 20 line items with recurring Prices and 20 line items with one-time Prices. Line items with one-time Prices will be on the initial invoice only. */ + line_items?: { + /** adjustable_quantity_params */ + adjustable_quantity?: { + enabled: boolean; + maximum?: number; + minimum?: number; + }; + dynamic_tax_rates?: string[]; + price?: string; + /** price_data_with_product_data */ + price_data?: { + currency: string; + product?: string; + /** product_data */ + product_data?: { + description?: string; + images?: string[]; + metadata?: { + [key: string]: string; + }; + name: string; + tax_code?: string; + }; + /** recurring_adhoc */ + recurring?: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[]; + }[]; + /** + * @description The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used. + * @enum {string} + */ + locale?: "auto" | "bg" | "cs" | "da" | "de" | "el" | "en" | "en-GB" | "es" | "es-419" | "et" | "fi" | "fil" | "fr" | "fr-CA" | "hr" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "mt" | "nb" | "nl" | "pl" | "pt" | "pt-BR" | "ro" | "ru" | "sk" | "sl" | "sv" | "th" | "tr" | "vi" | "zh" | "zh-HK" | "zh-TW"; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** + * @description The mode of the Checkout Session. Pass `subscription` if the Checkout Session includes at least one recurring item. + * @enum {string} + */ + mode?: "payment" | "setup" | "subscription"; + /** + * payment_intent_data_params + * @description A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode. + */ + payment_intent_data?: { + application_fee_amount?: number; + /** @enum {string} */ + capture_method?: "automatic" | "automatic_async" | "manual"; + description?: string; + metadata?: { + [key: string]: string; + }; + on_behalf_of?: string; + receipt_email?: string; + /** @enum {string} */ + setup_future_usage?: "off_session" | "on_session"; + /** shipping */ + shipping?: { + /** address */ + address: { + city?: string; + country?: string; + line1: string; + line2?: string; + postal_code?: string; + state?: string; + }; + carrier?: string; + name: string; + phone?: string; + tracking_number?: string; + }; + statement_descriptor?: string; + statement_descriptor_suffix?: string; + /** transfer_data_params */ + transfer_data?: { + amount?: number; + destination: string; + }; + transfer_group?: string; + }; + /** + * @description Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0. + * This may occur if the Checkout Session includes a free trial or a discount. + * + * Can only be set in `subscription` mode. + * + * If you'd like information on how to collect a payment method outside of Checkout, read the guide on configuring [subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials). + * @enum {string} + */ + payment_method_collection?: "always" | "if_required"; + /** @description The ID of the payment method configuration to use with this Checkout session. */ + payment_method_configuration?: string; + /** + * payment_method_options_param + * @description Payment-method-specific configuration. + */ + payment_method_options?: { + /** payment_method_options_param */ + acss_debit?: { + /** @enum {string} */ + currency?: "cad" | "usd"; + /** mandate_options_param */ + mandate_options?: { + custom_mandate_url?: string | ""; + default_for?: ("invoice" | "subscription")[]; + interval_description?: string; + /** @enum {string} */ + payment_schedule?: "combined" | "interval" | "sporadic"; + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + setup_future_usage?: "none" | "off_session" | "on_session"; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** payment_method_options_param */ + affirm?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + afterpay_clearpay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + alipay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + au_becs_debit?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + bacs_debit?: { + /** @enum {string} */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** payment_method_options_param */ + bancontact?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + boleto?: { + expires_after_days?: number; + /** @enum {string} */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** payment_method_options_param */ + card?: { + /** installments_param */ + installments?: { + enabled?: boolean; + }; + /** @enum {string} */ + setup_future_usage?: "off_session" | "on_session"; + statement_descriptor_suffix_kana?: string; + statement_descriptor_suffix_kanji?: string; + }; + /** payment_method_options_param */ + cashapp?: { + /** @enum {string} */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** payment_method_options_param */ + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_params */ + eu_bank_transfer?: { + country: string; + }; + requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; + /** @enum {string} */ + type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; + }; + /** @enum {string} */ + funding_type?: "bank_transfer"; + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + eps?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + fpx?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + giropay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + grabpay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + ideal?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + klarna?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + konbini?: { + expires_after_days?: number; + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + link?: { + /** @enum {string} */ + setup_future_usage?: "none" | "off_session"; + }; + /** payment_method_options_param */ + oxxo?: { + expires_after_days?: number; + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + p24?: { + /** @enum {string} */ + setup_future_usage?: "none"; + tos_shown_and_accepted?: boolean; + }; + /** payment_method_options_param */ + paynow?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + paypal?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-DE" | "de-LU" | "el-GR" | "en-GB" | "en-US" | "es-ES" | "fi-FI" | "fr-BE" | "fr-FR" | "fr-LU" | "hu-HU" | "it-IT" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sk-SK" | "sv-SE"; + reference?: string; + risk_correlation_id?: string; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + }; + /** payment_method_options_param */ + pix?: { + expires_after_seconds?: number; + }; + /** payment_method_options_param */ + sepa_debit?: { + /** @enum {string} */ + setup_future_usage?: "none" | "off_session" | "on_session"; + }; + /** payment_method_options_param */ + sofort?: { + /** @enum {string} */ + setup_future_usage?: "none"; + }; + /** payment_method_options_param */ + us_bank_account?: { + /** linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + }; + /** @enum {string} */ + setup_future_usage?: "none" | "off_session" | "on_session"; + /** @enum {string} */ + verification_method?: "automatic" | "instant"; + }; + /** payment_method_options_param */ + wechat_pay?: { + app_id?: string; + /** @enum {string} */ + client: "android" | "ios" | "web"; + /** @enum {string} */ + setup_future_usage?: "none"; + }; + }; + /** @description A list of the types of payment methods (e.g., `card`) this Checkout Session can accept. + * + * In `payment` and `subscription` mode, you can omit this attribute to manage your payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). + * It is required in `setup` mode. + * + * Read more about the supported payment methods and their requirements in our [payment + * method details guide](/docs/payments/checkout/payment-methods). + * + * If multiple payment methods are passed, Checkout will dynamically reorder them to + * prioritize the most relevant payment methods based on the customer's location and + * other characteristics. */ + payment_method_types?: ("acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip")[]; + /** + * phone_number_collection_params + * @description Controls phone number collection settings for the session. + * + * We recommend that you review your privacy policy and check with your legal contacts + * before using this feature. Learn more about [collecting phone numbers with Checkout](https://stripe.com/docs/payments/checkout/phone-numbers). + */ + phone_number_collection?: { + enabled: boolean; + }; + /** + * setup_intent_data_param + * @description A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in `setup` mode. + */ + setup_intent_data?: { + description?: string; + metadata?: { + [key: string]: string; + }; + on_behalf_of?: string; + }; + /** + * shipping_address_collection_params + * @description When set, provides configuration for Checkout to collect a shipping address from a customer. + */ + shipping_address_collection?: { + allowed_countries: ("AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CV" | "CW" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MK" | "ML" | "MM" | "MN" | "MO" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SZ" | "TA" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "ZZ")[]; + }; + /** @description The shipping rate options to apply to this Session. Up to a maximum of 5. */ + shipping_options?: { + shipping_rate?: string; + /** method_params */ + shipping_rate_data?: { + /** delivery_estimate */ + delivery_estimate?: { + /** delivery_estimate_bound */ + maximum?: { + /** @enum {string} */ + unit: "business_day" | "day" | "hour" | "month" | "week"; + value: number; + }; + /** delivery_estimate_bound */ + minimum?: { + /** @enum {string} */ + unit: "business_day" | "day" | "hour" | "month" | "week"; + value: number; + }; + }; + display_name: string; + /** fixed_amount */ + fixed_amount?: { + amount: number; + currency: string; + currency_options?: { + [key: string]: { + amount: number; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + }; + }; + }; + metadata?: { + [key: string]: string; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + tax_code?: string; + /** @enum {string} */ + type?: "fixed_amount"; + }; + }[]; + /** + * @description Describes the type of transaction being performed by Checkout in order to customize + * relevant text on the page, such as the submit button. `submit_type` can only be + * specified on Checkout Sessions in `payment` mode, but not Checkout Sessions + * in `subscription` or `setup` mode. + * @enum {string} + */ + submit_type?: "auto" | "book" | "donate" | "pay"; + /** + * subscription_data_params + * @description A subset of parameters to be passed to subscription creation for Checkout Sessions in `subscription` mode. + */ + subscription_data?: { + application_fee_percent?: number; + /** Format: unix-time */ + billing_cycle_anchor?: number; + default_tax_rates?: string[]; + description?: string; + metadata?: { + [key: string]: string; + }; + on_behalf_of?: string; + /** @enum {string} */ + proration_behavior?: "create_prorations" | "none"; + /** transfer_data_specs */ + transfer_data?: { + amount_percent?: number; + destination: string; + }; + /** Format: unix-time */ + trial_end?: number; + trial_period_days?: number; + /** trial_settings_config */ + trial_settings?: { + /** end_behavior */ + end_behavior: { + /** @enum {string} */ + missing_payment_method: "cancel" | "create_invoice" | "pause"; + }; + }; + }; + /** @description The URL to which Stripe should send customers when payment or setup + * is complete. + * If you’d like to use information from the successful Checkout Session on your page, + * read the guide on [customizing your success page](https://stripe.com/docs/payments/checkout/custom-success-page). */ + success_url: string; + /** + * tax_id_collection_params + * @description Controls tax ID collection settings for the session. + */ + tax_id_collection?: { + enabled: boolean; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["checkout.session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCheckoutSessionsSession: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + session: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["checkout.session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCheckoutSessionsSessionExpire: { + parameters: { + query?: never; + header?: never; + path: { + session: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["checkout.session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCheckoutSessionsSessionLineItems: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + session: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCountrySpecs: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["country_spec"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCountrySpecsCountry: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + country: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["country_spec"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCoupons: { + parameters: { + query?: { + /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["coupon"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCoupons: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed). */ + amount_off?: number; + /** + * applies_to_params + * @description A hash containing directions for what this Coupon will apply discounts to. + */ + applies_to?: { + products?: string[]; + }; + /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the `amount_off` parameter (required if `amount_off` is passed). */ + currency?: string; + /** @description Coupons defined in each available currency option (only supported if `amount_off` is passed). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ + currency_options?: { + [key: string]: { + amount_off: number; + }; + }; + /** + * @description Specifies how long the discount will be in effect if used on a subscription. Defaults to `once`. + * @enum {string} + */ + duration?: "forever" | "once" | "repeating"; + /** @description Required only if `duration` is `repeating`, in which case it must be a positive integer that specifies the number of months the discount will be in effect. */ + duration_in_months?: number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Unique string of your choice that will be used to identify this coupon when applying it to a customer. If you don't want to specify a particular code, you can leave the ID blank and we'll generate a random code for you. */ + id?: string; + /** @description A positive integer specifying the number of times the coupon can be redeemed before it's no longer valid. For example, you might have a 50% off coupon that the first 20 readers of your blog can use. */ + max_redemptions?: number; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set. */ + name?: string; + /** @description A positive float larger than 0, and smaller or equal to 100, that represents the discount the coupon will apply (required if `amount_off` is not passed). */ + percent_off?: number; + /** + * Format: unix-time + * @description Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers. + */ + redeem_by?: number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["coupon"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCouponsCoupon: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + coupon: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["coupon"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCouponsCoupon: { + parameters: { + query?: never; + header?: never; + path: { + coupon: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Coupons defined in each available currency option (only supported if the coupon is amount-based). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ + currency_options?: { + [key: string]: { + amount_off: number; + }; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set. */ + name?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["coupon"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteCouponsCoupon: { + parameters: { + query?: never; + header?: never; + path: { + coupon: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_coupon"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCreditNotes: { + parameters: { + query?: { + /** @description Only return credit notes for the customer specified by this customer ID. */ + customer?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Only return credit notes for the invoice specified by this invoice ID. */ + invoice?: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["credit_note"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCreditNotes: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note. */ + amount?: number; + /** @description The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice. */ + credit_amount?: number; + /** + * Format: unix-time + * @description The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. + */ + effective_at?: number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description ID of the invoice. */ + invoice: string; + /** @description Line items that make up the credit note. */ + lines?: { + amount?: number; + description?: string; + invoice_line_item?: string; + quantity?: number; + tax_rates?: string[] | ""; + /** @enum {string} */ + type: "custom_line_item" | "invoice_line_item"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }[]; + /** @description The credit note's memo appears on the credit note PDF. */ + memo?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. */ + out_of_band_amount?: number; + /** + * @description Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` + * @enum {string} + */ + reason?: "duplicate" | "fraudulent" | "order_change" | "product_unsatisfactory"; + /** @description ID of an existing refund to link this credit note to. */ + refund?: string; + /** @description The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice. */ + refund_amount?: number; + /** + * credit_note_shipping_cost + * @description When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. + */ + shipping_cost?: { + shipping_rate?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["credit_note"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCreditNotesPreview: { + parameters: { + query: { + /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note. */ + amount?: number; + /** @description The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice. */ + credit_amount?: number; + /** @description The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. */ + effective_at?: number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description ID of the invoice. */ + invoice: string; + /** @description Line items that make up the credit note. */ + lines?: { + amount?: number; + description?: string; + invoice_line_item?: string; + quantity?: number; + tax_rates?: string[] | ""; + /** @enum {string} */ + type: "custom_line_item" | "invoice_line_item"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }[]; + /** @description The credit note's memo appears on the credit note PDF. */ + memo?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. */ + out_of_band_amount?: number; + /** @description Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` */ + reason?: "duplicate" | "fraudulent" | "order_change" | "product_unsatisfactory"; + /** @description ID of an existing refund to link this credit note to. */ + refund?: string; + /** @description The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice. */ + refund_amount?: number; + /** @description When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. */ + shipping_cost?: { + shipping_rate?: string; + }; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["credit_note"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCreditNotesPreviewLines: { + parameters: { + query: { + /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note. */ + amount?: number; + /** @description The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice. */ + credit_amount?: number; + /** @description The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. */ + effective_at?: number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description ID of the invoice. */ + invoice: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Line items that make up the credit note. */ + lines?: { + amount?: number; + description?: string; + invoice_line_item?: string; + quantity?: number; + tax_rates?: string[] | ""; + /** @enum {string} */ + type: "custom_line_item" | "invoice_line_item"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }[]; + /** @description The credit note's memo appears on the credit note PDF. */ + memo?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. */ + out_of_band_amount?: number; + /** @description Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` */ + reason?: "duplicate" | "fraudulent" | "order_change" | "product_unsatisfactory"; + /** @description ID of an existing refund to link this credit note to. */ + refund?: string; + /** @description The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice. */ + refund_amount?: number; + /** @description When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. */ + shipping_cost?: { + shipping_rate?: string; + }; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["credit_note_line_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCreditNotesCreditNoteLines: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + credit_note: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["credit_note_line_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCreditNotesId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["credit_note"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCreditNotesId: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Credit note memo. */ + memo?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["credit_note"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCreditNotesIdVoid: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["credit_note"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomers: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A case-sensitive filter on the list based on the customer's `email` field. The value must be a string. */ + email?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Provides a list of customers that are associated with the specified test clock. The response will not include customers with test clocks if this parameter is not set. */ + test_clock?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["customer"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomers: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The customer's address. */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + /** @description An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice. */ + balance?: number; + /** + * cash_balance_param + * @description Balance information and default balance settings for this customer. + */ + cash_balance?: { + /** balance_settings_param */ + settings?: { + /** @enum {string} */ + reconciliation_mode?: "automatic" | "manual" | "merchant_default"; + }; + }; + coupon?: string; + /** @description An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard. */ + description?: string; + /** @description Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*. */ + email?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers. */ + invoice_prefix?: string; + /** + * customer_param + * @description Default invoice settings for this customer. + */ + invoice_settings?: { + custom_fields?: { + name: string; + value: string; + }[] | ""; + default_payment_method?: string; + footer?: string; + rendering_options?: { + /** @enum {string} */ + amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; + } | ""; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The customer's full name or business name. */ + name?: string; + /** @description The sequence to be used on the customer's next invoice. Defaults to 1. */ + next_invoice_sequence?: number; + payment_method?: string; + /** @description The customer's phone number. */ + phone?: string; + /** @description Customer's preferred languages, ordered by preference. */ + preferred_locales?: string[]; + /** @description The API ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount. */ + promotion_code?: string; + /** @description The customer's shipping information. Appears on invoices emailed to this customer. */ + shipping?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + name: string; + phone?: string; + } | ""; + source?: string; + /** + * tax_param + * @description Tax details about the customer. + */ + tax?: { + ip_address?: string | ""; + }; + /** + * @description The customer's tax exemption. One of `none`, `exempt`, or `reverse`. + * @enum {string} + */ + tax_exempt?: "" | "exempt" | "none" | "reverse"; + /** @description The customer's tax IDs. */ + tax_id_data?: { + /** @enum {string} */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; + value: string; + }[]; + /** @description ID of the test clock to attach to the customer. */ + test_clock?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["customer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersSearch: { + parameters: { + query: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ + page?: string; + /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for customers](https://stripe.com/docs/search#query-fields-for-customers). */ + query: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["customer"][]; + has_more: boolean; + next_page?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "search_result"; + /** @description The total number of objects that match the query, only accurate up to 10,000. */ + total_count?: number; + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomer: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["customer"] | components["schemas"]["deleted_customer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomer: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The customer's address. */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + /** @description An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice. */ + balance?: number; + /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ + bank_account?: { + account_holder_name?: string; + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number: string; + country: string; + currency?: string; + /** @enum {string} */ + object?: "bank_account"; + routing_number?: string; + } | string; + /** @description A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js). */ + card?: { + address_city?: string; + address_country?: string; + address_line1?: string; + address_line2?: string; + address_state?: string; + address_zip?: string; + cvc?: string; + exp_month: number; + exp_year: number; + metadata?: { + [key: string]: string; + }; + name?: string; + number: string; + /** @enum {string} */ + object?: "card"; + } | string; + /** + * cash_balance_param + * @description Balance information and default balance settings for this customer. + */ + cash_balance?: { + /** balance_settings_param */ + settings?: { + /** @enum {string} */ + reconciliation_mode?: "automatic" | "manual" | "merchant_default"; + }; + }; + coupon?: string; + /** @description ID of Alipay account to make the customer's new default for invoice payments. */ + default_alipay_account?: string; + /** @description ID of bank account to make the customer's new default for invoice payments. */ + default_bank_account?: string; + /** @description ID of card to make the customer's new default for invoice payments. */ + default_card?: string; + /** @description If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method) parameter. + * + * Provide the ID of a payment source already attached to this customer to make it this customer's default payment source. + * + * If you want to add a new payment source and make it the default, see the [source](https://stripe.com/docs/api/customers/update#update_customer-source) property. */ + default_source?: string; + /** @description An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard. */ + description?: string; + /** @description Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*. */ + email?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers. */ + invoice_prefix?: string; + /** + * customer_param + * @description Default invoice settings for this customer. + */ + invoice_settings?: { + custom_fields?: { + name: string; + value: string; + }[] | ""; + default_payment_method?: string; + footer?: string; + rendering_options?: { + /** @enum {string} */ + amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; + } | ""; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The customer's full name or business name. */ + name?: string; + /** @description The sequence to be used on the customer's next invoice. Defaults to 1. */ + next_invoice_sequence?: number; + /** @description The customer's phone number. */ + phone?: string; + /** @description Customer's preferred languages, ordered by preference. */ + preferred_locales?: string[]; + /** @description The API ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount. */ + promotion_code?: string; + /** @description The customer's shipping information. Appears on invoices emailed to this customer. */ + shipping?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + name: string; + phone?: string; + } | ""; + source?: string; + /** + * tax_param + * @description Tax details about the customer. + */ + tax?: { + ip_address?: string | ""; + }; + /** + * @description The customer's tax exemption. One of `none`, `exempt`, or `reverse`. + * @enum {string} + */ + tax_exempt?: "" | "exempt" | "none" | "reverse"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["customer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteCustomersCustomer: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_customer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerBalanceTransactions: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["customer_balance_transaction"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerBalanceTransactions: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The integer amount in **cents (or local equivalent)** to apply to the customer's credit balance. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Specifies the [`invoice_credit_balance`](https://stripe.com/docs/api/customers/object#customer_object-invoice_credit_balance) that this transaction will apply to. If the customer's `currency` is not set, it will be updated to this value. */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["customer_balance_transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerBalanceTransactionsTransaction: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + transaction: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["customer_balance_transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerBalanceTransactionsTransaction: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + transaction: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["customer_balance_transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerBankAccounts: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["bank_account"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerBankAccounts: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details. */ + alipay_account?: string; + /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ + bank_account?: { + account_holder_name?: string; + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number: string; + country: string; + currency?: string; + /** @enum {string} */ + object?: "bank_account"; + routing_number?: string; + } | string; + /** @description A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js). */ + card?: { + address_city?: string; + address_country?: string; + address_line1?: string; + address_line2?: string; + address_state?: string; + address_zip?: string; + cvc?: string; + exp_month: number; + exp_year: number; + metadata?: { + [key: string]: string; + }; + name?: string; + number: string; + /** @enum {string} */ + object?: "card"; + } | string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ + source?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerBankAccountsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["bank_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerBankAccountsId: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The name of the person or business that owns the bank account. */ + account_holder_name?: string; + /** + * @description The type of entity that holds the account. This can be either `individual` or `company`. + * @enum {string} + */ + account_holder_type?: "company" | "individual"; + /** @description City/District/Suburb/Town/Village. */ + address_city?: string; + /** @description Billing address country, if provided when creating card. */ + address_country?: string; + /** @description Address line 1 (Street address/PO Box/Company name). */ + address_line1?: string; + /** @description Address line 2 (Apartment/Suite/Unit/Building). */ + address_line2?: string; + /** @description State/County/Province/Region. */ + address_state?: string; + /** @description ZIP or postal code. */ + address_zip?: string; + /** @description Two digit number representing the card’s expiration month. */ + exp_month?: string; + /** @description Four digit number representing the card’s expiration year. */ + exp_year?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Cardholder name. */ + name?: string; + /** owner */ + owner?: { + /** source_address */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + email?: string; + name?: string; + phone?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["card"] | components["schemas"]["bank_account"] | components["schemas"]["source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteCustomersCustomerBankAccountsId: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_source"] | components["schemas"]["deleted_payment_source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerBankAccountsIdVerify: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account. */ + amounts?: number[]; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["bank_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerCards: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["card"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerCards: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details. */ + alipay_account?: string; + /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ + bank_account?: { + account_holder_name?: string; + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number: string; + country: string; + currency?: string; + /** @enum {string} */ + object?: "bank_account"; + routing_number?: string; + } | string; + /** @description A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js). */ + card?: { + address_city?: string; + address_country?: string; + address_line1?: string; + address_line2?: string; + address_state?: string; + address_zip?: string; + cvc?: string; + exp_month: number; + exp_year: number; + metadata?: { + [key: string]: string; + }; + name?: string; + number: string; + /** @enum {string} */ + object?: "card"; + } | string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ + source?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerCardsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["card"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerCardsId: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The name of the person or business that owns the bank account. */ + account_holder_name?: string; + /** + * @description The type of entity that holds the account. This can be either `individual` or `company`. + * @enum {string} + */ + account_holder_type?: "company" | "individual"; + /** @description City/District/Suburb/Town/Village. */ + address_city?: string; + /** @description Billing address country, if provided when creating card. */ + address_country?: string; + /** @description Address line 1 (Street address/PO Box/Company name). */ + address_line1?: string; + /** @description Address line 2 (Apartment/Suite/Unit/Building). */ + address_line2?: string; + /** @description State/County/Province/Region. */ + address_state?: string; + /** @description ZIP or postal code. */ + address_zip?: string; + /** @description Two digit number representing the card’s expiration month. */ + exp_month?: string; + /** @description Four digit number representing the card’s expiration year. */ + exp_year?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Cardholder name. */ + name?: string; + /** owner */ + owner?: { + /** source_address */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + email?: string; + name?: string; + phone?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["card"] | components["schemas"]["bank_account"] | components["schemas"]["source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteCustomersCustomerCardsId: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_source"] | components["schemas"]["deleted_payment_source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerCashBalance: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["cash_balance"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerCashBalance: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * balance_settings_param + * @description A hash of settings for this cash balance. + */ + settings?: { + /** @enum {string} */ + reconciliation_mode?: "automatic" | "manual" | "merchant_default"; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["cash_balance"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerCashBalanceTransactions: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["customer_cash_balance_transaction"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerCashBalanceTransactionsTransaction: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + transaction: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["customer_cash_balance_transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerDiscount: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["discount"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteCustomersCustomerDiscount: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_discount"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerFundingInstructions: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * bank_transfer_params + * @description Additional parameters for `bank_transfer` funding types + */ + bank_transfer: { + /** eu_bank_account_params */ + eu_bank_transfer?: { + country: string; + }; + requested_address_types?: ("iban" | "sort_code" | "spei" | "zengin")[]; + /** @enum {string} */ + type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; + }; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * @description The `funding_type` to get the instructions for. + * @enum {string} + */ + funding_type: "bank_transfer"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["funding_instructions"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerPaymentMethods: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request. */ + type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; + }; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["payment_method"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerPaymentMethodsPaymentMethod: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + payment_method: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerSources: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Filter sources according to a particular object type. */ + object?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: (components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"])[]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerSources: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details. */ + alipay_account?: string; + /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ + bank_account?: { + account_holder_name?: string; + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number: string; + country: string; + currency?: string; + /** @enum {string} */ + object?: "bank_account"; + routing_number?: string; + } | string; + /** @description A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js). */ + card?: { + address_city?: string; + address_country?: string; + address_line1?: string; + address_line2?: string; + address_state?: string; + address_zip?: string; + cvc?: string; + exp_month: number; + exp_year: number; + metadata?: { + [key: string]: string; + }; + name?: string; + number: string; + /** @enum {string} */ + object?: "card"; + } | string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ + source?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerSourcesId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerSourcesId: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The name of the person or business that owns the bank account. */ + account_holder_name?: string; + /** + * @description The type of entity that holds the account. This can be either `individual` or `company`. + * @enum {string} + */ + account_holder_type?: "company" | "individual"; + /** @description City/District/Suburb/Town/Village. */ + address_city?: string; + /** @description Billing address country, if provided when creating card. */ + address_country?: string; + /** @description Address line 1 (Street address/PO Box/Company name). */ + address_line1?: string; + /** @description Address line 2 (Apartment/Suite/Unit/Building). */ + address_line2?: string; + /** @description State/County/Province/Region. */ + address_state?: string; + /** @description ZIP or postal code. */ + address_zip?: string; + /** @description Two digit number representing the card’s expiration month. */ + exp_month?: string; + /** @description Four digit number representing the card’s expiration year. */ + exp_year?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Cardholder name. */ + name?: string; + /** owner */ + owner?: { + /** source_address */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + email?: string; + name?: string; + phone?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["card"] | components["schemas"]["bank_account"] | components["schemas"]["source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteCustomersCustomerSourcesId: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_source"] | components["schemas"]["deleted_payment_source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerSourcesIdVerify: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account. */ + amounts?: number[]; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["bank_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerSubscriptions: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["subscription"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerSubscriptions: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items. */ + add_invoice_items?: { + price?: string; + /** one_time_price_data_with_negative_amounts */ + price_data?: { + currency: string; + product: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). */ + application_fee_percent?: number; + /** + * automatic_tax_config + * @description Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed. + */ + automatic_tax?: { + enabled: boolean; + }; + /** + * Format: unix-time + * @description For new subscriptions, a past timestamp to backdate the subscription's start date to. If set, the first invoice will contain a proration for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor. + */ + backdate_start_date?: number; + /** + * Format: unix-time + * @description A future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format. + */ + billing_cycle_anchor?: number; + /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. */ + billing_thresholds?: { + amount_gte?: number; + reset_billing_cycle_anchor?: boolean; + } | ""; + /** + * Format: unix-time + * @description A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. + */ + cancel_at?: number; + /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ + cancel_at_period_end?: boolean; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. + * @enum {string} + */ + collection_method?: "charge_automatically" | "send_invoice"; + /** @description The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. */ + coupon?: string; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`. */ + days_until_due?: number; + /** @description ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ + default_payment_method?: string; + /** @description ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ + default_source?: string; + /** @description The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. */ + default_tax_rates?: string[] | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A list of up to 20 subscription items, each with an attached price. */ + items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + metadata?: { + [key: string]: string; + }; + price?: string; + /** recurring_price_data */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ + off_session?: boolean; + /** + * @description Only applies to subscriptions with `collection_method=charge_automatically`. + * + * Use `allow_incomplete` to create subscriptions with `status=incomplete` if the first invoice cannot be paid. Creating subscriptions with this status allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. + * + * Use `default_incomplete` to create Subscriptions with `status=incomplete` when the first invoice requires payment, otherwise start as active. Subscriptions transition to `status=active` when successfully confirming the payment intent on the first invoice. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. If the payment intent is not confirmed within 23 hours subscriptions transition to `status=incomplete_expired`, which is a terminal state. + * + * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's first invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not create a subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. + * + * `pending_if_incomplete` is only used with updates and cannot be passed when creating a subscription. + * + * Subscriptions with `collection_method=send_invoice` are automatically activated regardless of the first invoice status. + * @enum {string} + */ + payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; + /** + * payment_settings + * @description Payment settings to pass to invoices created by the subscription. + */ + payment_settings?: { + /** payment_method_options */ + payment_method_options?: { + acss_debit?: { + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + bancontact?: { + /** @enum {string} */ + preferred_language?: "de" | "en" | "fr" | "nl"; + } | ""; + card?: { + /** mandate_options_param */ + mandate_options?: { + amount?: number; + /** @enum {string} */ + amount_type?: "fixed" | "maximum"; + description?: string; + }; + /** @enum {string} */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[] | ""; + /** @enum {string} */ + save_default_payment_method?: "off" | "on_subscription"; + }; + /** @description Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. */ + pending_invoice_item_interval?: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + } | ""; + /** @description The API ID of a promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. */ + promotion_code?: string; + /** + * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`. + * @enum {string} + */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** + * transfer_data_specs + * @description If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. + */ + transfer_data?: { + amount_percent?: number; + destination: string; + }; + /** @description Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ + trial_end?: "now" | number; + /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ + trial_from_plan?: boolean; + /** @description Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ + trial_period_days?: number; + /** + * trial_settings_config + * @description Settings related to subscription trials. + */ + trial_settings?: { + /** end_behavior */ + end_behavior: { + /** @enum {string} */ + missing_payment_method: "cancel" | "create_invoice" | "pause"; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerSubscriptionsSubscriptionExposedId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + subscription_exposed_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerSubscriptionsSubscriptionExposedId: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + subscription_exposed_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items. */ + add_invoice_items?: { + price?: string; + /** one_time_price_data_with_negative_amounts */ + price_data?: { + currency: string; + product: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). */ + application_fee_percent?: number; + /** + * automatic_tax_config + * @description Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed. + */ + automatic_tax?: { + enabled: boolean; + }; + /** + * @description Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). + * @enum {string} + */ + billing_cycle_anchor?: "now" | "unchanged"; + /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. */ + billing_thresholds?: { + amount_gte?: number; + reset_billing_cycle_anchor?: boolean; + } | ""; + /** @description A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. */ + cancel_at?: number | ""; + /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ + cancel_at_period_end?: boolean; + /** + * cancellation_details_param + * @description Details about why this subscription was cancelled + */ + cancellation_details?: { + comment?: string | ""; + /** @enum {string} */ + feedback?: "" | "customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused"; + }; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. + * @enum {string} + */ + collection_method?: "charge_automatically" | "send_invoice"; + /** @description The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. */ + coupon?: string; + /** @description Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`. */ + days_until_due?: number; + /** @description ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ + default_payment_method?: string; + /** @description ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ + default_source?: string | ""; + /** @description The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates. */ + default_tax_rates?: string[] | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A list of up to 20 subscription items, each with an attached price. */ + items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + clear_usage?: boolean; + deleted?: boolean; + id?: string; + metadata?: { + [key: string]: string; + } | ""; + price?: string; + /** recurring_price_data */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ + off_session?: boolean; + /** @description If specified, payment collection for this subscription will be paused. */ + pause_collection?: { + /** @enum {string} */ + behavior: "keep_as_draft" | "mark_uncollectible" | "void"; + /** Format: unix-time */ + resumes_at?: number; + } | ""; + /** + * @description Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. + * + * Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. + * + * Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). + * + * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. + * @enum {string} + */ + payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; + /** + * payment_settings + * @description Payment settings to pass to invoices created by the subscription. + */ + payment_settings?: { + /** payment_method_options */ + payment_method_options?: { + acss_debit?: { + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + bancontact?: { + /** @enum {string} */ + preferred_language?: "de" | "en" | "fr" | "nl"; + } | ""; + card?: { + /** mandate_options_param */ + mandate_options?: { + amount?: number; + /** @enum {string} */ + amount_type?: "fixed" | "maximum"; + description?: string; + }; + /** @enum {string} */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[] | ""; + /** @enum {string} */ + save_default_payment_method?: "off" | "on_subscription"; + }; + /** @description Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. */ + pending_invoice_item_interval?: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + } | ""; + /** @description The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. */ + promotion_code?: string; + /** + * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. + * @enum {string} + */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** + * Format: unix-time + * @description If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#upcoming_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations. + */ + proration_date?: number; + /** @description If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value. */ + transfer_data?: { + amount_percent?: number; + destination: string; + } | ""; + /** @description Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. */ + trial_end?: "now" | number; + /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ + trial_from_plan?: boolean; + /** + * trial_settings_config + * @description Settings related to subscription trials. + */ + trial_settings?: { + /** end_behavior */ + end_behavior: { + /** @enum {string} */ + missing_payment_method: "cancel" | "create_invoice" | "pause"; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteCustomersCustomerSubscriptionsSubscriptionExposedId: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + subscription_exposed_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Can be set to `true` if `at_period_end` is not set to `true`. Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items. */ + invoice_now?: boolean; + /** @description Can be set to `true` if `at_period_end` is not set to `true`. Will generate a proration invoice item that credits remaining unused time until the subscription period end. */ + prorate?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + subscription_exposed_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["discount"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + subscription_exposed_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_discount"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerTaxIds: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["tax_id"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostCustomersCustomerTaxIds: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `no_vat`, `nz_gst`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sv_nit`, `th_vat`, `tr_tin`, `tw_vat`, `ua_vat`, `us_ein`, `uy_ruc`, `ve_rif`, `vn_tin`, or `za_vat` + * @enum {string} + */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; + /** @description Value of the tax ID. */ + value: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax_id"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetCustomersCustomerTaxIdsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax_id"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteCustomersCustomerTaxIdsId: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_tax_id"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetDisputes: { + parameters: { + query?: { + /** @description Only return disputes associated to the charge specified by this charge ID. */ + charge?: string; + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID. */ + payment_intent?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["dispute"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetDisputesDispute: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + dispute: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dispute"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostDisputesDispute: { + parameters: { + query?: never; + header?: never; + path: { + dispute: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * dispute_evidence_params + * @description Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000. + */ + evidence?: { + access_activity_log?: string; + billing_address?: string; + cancellation_policy?: string; + cancellation_policy_disclosure?: string; + cancellation_rebuttal?: string; + customer_communication?: string; + customer_email_address?: string; + customer_name?: string; + customer_purchase_ip?: string; + customer_signature?: string; + duplicate_charge_documentation?: string; + duplicate_charge_explanation?: string; + duplicate_charge_id?: string; + product_description?: string; + receipt?: string; + refund_policy?: string; + refund_policy_disclosure?: string; + refund_refusal_explanation?: string; + service_date?: string; + service_documentation?: string; + shipping_address?: string; + shipping_carrier?: string; + shipping_date?: string; + shipping_documentation?: string; + shipping_tracking_number?: string; + uncategorized_file?: string; + uncategorized_text?: string; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default). */ + submit?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dispute"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostDisputesDisputeClose: { + parameters: { + query?: never; + header?: never; + path: { + dispute: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["dispute"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostEphemeralKeys: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The ID of the Customer you'd like to modify using the resulting ephemeral key. */ + customer?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The ID of the Issuing Card you'd like to access using the resulting ephemeral key. */ + issuing_card?: string; + /** @description A single-use token, created by Stripe.js, used for creating ephemeral keys for Issuing Cards without exchanging sensitive information. */ + nonce?: string; + /** @description The ID of the Identity VerificationSession you'd like to access using the resulting ephemeral key */ + verification_session?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ephemeral_key"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteEphemeralKeysKey: { + parameters: { + query?: never; + header?: never; + path: { + key: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ephemeral_key"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetEvents: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Filter events by whether all webhooks were successfully delivered. If false, events which are still pending or have failed all delivery attempts to a webhook endpoint will be returned. */ + delivery_success?: boolean; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description A string containing a specific event name, or group of events using * as a wildcard. The list will be filtered to include only events with a matching event property. */ + type?: string; + /** @description An array of up to 20 strings containing specific event names. The list will be filtered to include only events with a matching event property. You may pass either `type` or `types`, but not both. */ + types?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["event"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetEventsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["event"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetExchangeRates: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with the exchange rate for currency X your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and total number of supported payout currencies, and the default is the max. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with the exchange rate for currency X, your subsequent call can include `starting_after=X` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["exchange_rate"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetExchangeRatesRateId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + rate_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["exchange_rate"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetFileLinks: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Filter links by their expiration status. By default, Stripe returns all links. */ + expired?: boolean; + /** @description Only return links for the given file. */ + file?: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["file_link"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostFileLinks: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * Format: unix-time + * @description The link isn't usable after this future timestamp. + */ + expires_at?: number; + /** @description The ID of the file. The file's `purpose` must be one of the following: `business_icon`, `business_logo`, `customer_signature`, `dispute_evidence`, `finance_report_run`, `identity_document_downloadable`, `pci_document`, `selfie`, `sigma_scheduled_query`, `tax_document_user_upload`, or `terminal_reader_splashscreen`. */ + file: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file_link"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetFileLinksLink: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + link: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file_link"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostFileLinksLink: { + parameters: { + query?: never; + header?: never; + path: { + link: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A future timestamp after which the link will no longer be usable, or `now` to expire the link immediately. */ + expires_at?: "now" | number | ""; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file_link"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetFiles: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Filter queries by the file purpose. If you don't provide a purpose, the queries return unfiltered files. */ + purpose?: "account_requirement" | "additional_verification" | "business_icon" | "business_logo" | "customer_signature" | "dispute_evidence" | "document_provider_identity_document" | "finance_report_run" | "identity_document" | "identity_document_downloadable" | "pci_document" | "selfie" | "sigma_scheduled_query" | "tax_document_user_upload" | "terminal_reader_splashscreen"; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["file"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostFiles: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * Format: binary + * @description A file to upload. Make sure that the specifications follow RFC 2388, which defines file transfers for the `multipart/form-data` protocol. + */ + file: string; + /** + * file_link_creation_params + * @description Optional parameters that automatically create a [file link](https://stripe.com/docs/api#file_links) for the newly created file. + */ + file_link_data?: { + create: boolean; + /** Format: unix-time */ + expires_at?: number; + metadata?: { + [key: string]: string; + } | ""; + }; + /** + * @description The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file. + * @enum {string} + */ + purpose: "account_requirement" | "additional_verification" | "business_icon" | "business_logo" | "customer_signature" | "dispute_evidence" | "identity_document" | "pci_document" | "tax_document_user_upload" | "terminal_reader_splashscreen"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetFilesFile: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + file: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["file"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetFinancialConnectionsAccounts: { + parameters: { + query?: { + /** @description If present, only return accounts that belong to the specified account holder. `account_holder[customer]` and `account_holder[account]` are mutually exclusive. */ + account_holder?: { + account?: string; + customer?: string; + }; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description If present, only return accounts that were collected as part of the given session. */ + session?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["financial_connections.account"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetFinancialConnectionsAccountsAccount: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["financial_connections.account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostFinancialConnectionsAccountsAccountDisconnect: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["financial_connections.account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetFinancialConnectionsAccountsAccountOwners: { + parameters: { + query: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description The ID of the ownership object to fetch owners from. */ + ownership: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["financial_connections.account_owner"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostFinancialConnectionsAccountsAccountRefresh: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The list of account features that you would like to refresh. */ + features: ("balance" | "ownership")[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["financial_connections.account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostFinancialConnectionsSessions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * accountholder_params + * @description The account holder to link accounts for. + */ + account_holder: { + account?: string; + customer?: string; + /** @enum {string} */ + type: "account" | "customer"; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * filters_params + * @description Filters to restrict the kinds of accounts to collect. + */ + filters?: { + countries: string[]; + }; + /** @description List of data features that you would like to request access to. + * + * Possible values are `balances`, `transactions`, `ownership`, and `payment_method`. */ + permissions: ("balances" | "ownership" | "payment_method" | "transactions")[]; + /** @description List of data features that you would like to retrieve upon account creation. */ + prefetch?: ("balances" | "ownership")[]; + /** @description For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. */ + return_url?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["financial_connections.session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetFinancialConnectionsSessionsSession: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + session: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["financial_connections.session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIdentityVerificationReports: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return VerificationReports of this type */ + type?: "document" | "id_number"; + /** @description Only return VerificationReports created by this VerificationSession ID. It is allowed to provide a VerificationIntent ID. */ + verification_session?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["identity.verification_report"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIdentityVerificationReportsReport: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + report: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["identity.verification_report"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIdentityVerificationSessions: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return VerificationSessions with this status. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work). */ + status?: "canceled" | "processing" | "requires_input" | "verified"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["identity.verification_session"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIdentityVerificationSessions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** + * session_options_param + * @description A set of options for the session’s verification checks. + */ + options?: { + document?: { + allowed_types?: ("driving_license" | "id_card" | "passport")[]; + require_id_number?: boolean; + require_live_capture?: boolean; + require_matching_selfie?: boolean; + } | ""; + }; + /** @description The URL that the user will be redirected to upon completing the verification flow. */ + return_url?: string; + /** + * @description The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed. + * @enum {string} + */ + type: "document" | "id_number"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["identity.verification_session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIdentityVerificationSessionsSession: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + session: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["identity.verification_session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIdentityVerificationSessionsSession: { + parameters: { + query?: never; + header?: never; + path: { + session: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** + * session_options_param + * @description A set of options for the session’s verification checks. + */ + options?: { + document?: { + allowed_types?: ("driving_license" | "id_card" | "passport")[]; + require_id_number?: boolean; + require_live_capture?: boolean; + require_matching_selfie?: boolean; + } | ""; + }; + /** + * @description The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed. + * @enum {string} + */ + type?: "document" | "id_number"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["identity.verification_session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIdentityVerificationSessionsSessionCancel: { + parameters: { + query?: never; + header?: never; + path: { + session: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["identity.verification_session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIdentityVerificationSessionsSessionRedact: { + parameters: { + query?: never; + header?: never; + path: { + session: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["identity.verification_session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetInvoiceitems: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description The identifier of the customer whose invoice items to return. If none is provided, all invoice items will be returned. */ + customer?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Only return invoice items belonging to this invoice. If none is provided, all invoice items will be returned. If specifying an invoice, no customer identifier is needed. */ + invoice?: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Set to `true` to only show pending invoice items, which are not yet attached to any invoices. Set to `false` to only show invoice items already attached to invoices. If unspecified, no filter is applied. */ + pending?: boolean; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["invoiceitem"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoiceitems: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. Passing in a negative `amount` will reduce the `amount_due` on the invoice. */ + amount?: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description The ID of the customer who will be billed when this invoice item is billed. */ + customer: string; + /** @description An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. */ + description?: string; + /** @description Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. */ + discountable?: boolean; + /** @description The coupons to redeem into discounts for the invoice item or invoice line item. */ + discounts?: { + coupon?: string; + discount?: string; + }[] | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The ID of an existing invoice to add this invoice item to. When left blank, the invoice item will be added to the next upcoming scheduled invoice. This is useful when adding invoice items in response to an invoice.created webhook. You can only add invoice items to draft invoices and there is a maximum of 250 items per invoice. */ + invoice?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** + * period + * @description The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details. + */ + period?: { + /** Format: unix-time */ + end: number; + /** Format: unix-time */ + start: number; + }; + /** @description The ID of the price object. */ + price?: string; + /** + * one_time_price_data + * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. + */ + price_data?: { + currency: string; + product: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + /** @description Non-negative integer. The quantity of units for the invoice item. */ + quantity?: number; + /** @description The ID of a subscription to add this invoice item to. When left blank, the invoice item will be be added to the next upcoming scheduled invoice. When set, scheduled invoices for subscriptions other than the specified subscription will ignore the invoice item. Use this when you want to express that an invoice item has been accrued within the context of a particular subscription. */ + subscription?: string; + /** + * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. + * @enum {string} + */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. */ + tax_code?: string | ""; + /** @description The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. */ + tax_rates?: string[]; + /** @description The integer unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This `unit_amount` will be multiplied by the quantity to get the full amount. Passing in a negative `unit_amount` will reduce the `amount_due` on the invoice. */ + unit_amount?: number; + /** + * Format: decimal + * @description Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. + */ + unit_amount_decimal?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoiceitem"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetInvoiceitemsInvoiceitem: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + invoiceitem: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoiceitem"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoiceitemsInvoiceitem: { + parameters: { + query?: never; + header?: never; + path: { + invoiceitem: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount. */ + amount?: number; + /** @description An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. */ + description?: string; + /** @description Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. Cannot be set to true for prorations. */ + discountable?: boolean; + /** @description The coupons & existing discounts which apply to the invoice item or invoice line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts. */ + discounts?: { + coupon?: string; + discount?: string; + }[] | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** + * period + * @description The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details. + */ + period?: { + /** Format: unix-time */ + end: number; + /** Format: unix-time */ + start: number; + }; + /** @description The ID of the price object. */ + price?: string; + /** + * one_time_price_data + * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. + */ + price_data?: { + currency: string; + product: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + /** @description Non-negative integer. The quantity of units for the invoice item. */ + quantity?: number; + /** + * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. + * @enum {string} + */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. */ + tax_code?: string | ""; + /** @description The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. Pass an empty string to remove previously-defined tax rates. */ + tax_rates?: string[] | ""; + /** @description The integer unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This unit_amount will be multiplied by the quantity to get the full amount. If you want to apply a credit to the customer's account, pass a negative unit_amount. */ + unit_amount?: number; + /** + * Format: decimal + * @description Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. + */ + unit_amount_decimal?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoiceitem"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteInvoiceitemsInvoiceitem: { + parameters: { + query?: never; + header?: never; + path: { + invoiceitem: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_invoiceitem"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetInvoices: { + parameters: { + query?: { + /** @description The collection method of the invoice to retrieve. Either `charge_automatically` or `send_invoice`. */ + collection_method?: "charge_automatically" | "send_invoice"; + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return invoices for the customer specified by this customer ID. */ + customer?: string; + due_date?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview) */ + status?: "draft" | "open" | "paid" | "uncollectible" | "void"; + /** @description Only return invoices for the subscription specified by this subscription ID. */ + subscription?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["invoice"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoices: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The account tax IDs associated with the invoice. Only editable when the invoice is a draft. */ + account_tax_ids?: string[] | ""; + /** @description A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees). */ + application_fee_amount?: number; + /** @description Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action. */ + auto_advance?: boolean; + /** + * automatic_tax_param + * @description Settings for automatic tax lookup for this invoice. + */ + automatic_tax?: { + enabled: boolean; + }; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. Defaults to `charge_automatically`. + * @enum {string} + */ + collection_method?: "charge_automatically" | "send_invoice"; + /** @description The currency to create this invoice in. Defaults to that of `customer` if not specified. */ + currency?: string; + /** @description A list of up to 4 custom fields to be displayed on the invoice. */ + custom_fields?: { + name: string; + value: string; + }[] | ""; + /** @description The ID of the customer who will be billed. */ + customer?: string; + /** @description The number of days from when the invoice is created until it is due. Valid only for invoices where `collection_method=send_invoice`. */ + days_until_due?: number; + /** @description ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings. */ + default_payment_method?: string; + /** @description ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source. */ + default_source?: string; + /** @description The tax rates that will apply to any line item that does not have `tax_rates` set. */ + default_tax_rates?: string[]; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard. */ + description?: string; + /** @description The coupons to redeem into discounts for the invoice. If not specified, inherits the discount from the invoice's customer. Pass an empty string to avoid inheriting any discounts. */ + discounts?: { + coupon?: string; + discount?: string; + }[] | ""; + /** + * Format: unix-time + * @description The date on which payment for this invoice is due. Valid only for invoices where `collection_method=send_invoice`. + */ + due_date?: number; + /** + * Format: unix-time + * @description The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt. + */ + effective_at?: number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Footer to be displayed on the invoice. */ + footer?: string; + /** + * from_invoice + * @description Revise an existing invoice. The new invoice will be created in `status=draft`. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details. + */ + from_invoice?: { + /** @enum {string} */ + action: "revision"; + invoice: string; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. */ + on_behalf_of?: string; + /** + * payment_settings + * @description Configuration settings for the PaymentIntent that is generated when the invoice is finalized. + */ + payment_settings?: { + default_mandate?: string | ""; + /** payment_method_options */ + payment_method_options?: { + acss_debit?: { + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + bancontact?: { + /** @enum {string} */ + preferred_language?: "de" | "en" | "fr" | "nl"; + } | ""; + card?: { + /** installments_param */ + installments?: { + enabled?: boolean; + plan?: { + count: number; + /** @enum {string} */ + interval: "month"; + /** @enum {string} */ + type: "fixed_count"; + } | ""; + }; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[] | ""; + }; + /** + * @description How to handle pending invoice items on invoice creation. One of `include` or `exclude`. `include` will include any pending invoice items, and will create an empty draft invoice if no pending invoice items exist. `exclude` will always create an empty invoice draft regardless if there are pending invoice items or not. Defaults to `exclude` if the parameter is omitted. + * @enum {string} + */ + pending_invoice_items_behavior?: "exclude" | "include" | "include_and_require"; + /** + * rendering_param + * @description The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. + */ + rendering?: { + /** @enum {string} */ + amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; + /** rendering_pdf_param */ + pdf?: { + /** @enum {string} */ + page_size?: "a4" | "auto" | "letter"; + }; + }; + /** + * shipping_cost + * @description Settings for the cost of shipping for this invoice. + */ + shipping_cost?: { + shipping_rate?: string; + /** method_params */ + shipping_rate_data?: { + /** delivery_estimate */ + delivery_estimate?: { + /** delivery_estimate_bound */ + maximum?: { + /** @enum {string} */ + unit: "business_day" | "day" | "hour" | "month" | "week"; + value: number; + }; + /** delivery_estimate_bound */ + minimum?: { + /** @enum {string} */ + unit: "business_day" | "day" | "hour" | "month" | "week"; + value: number; + }; + }; + display_name: string; + /** fixed_amount */ + fixed_amount?: { + amount: number; + currency: string; + currency_options?: { + [key: string]: { + amount: number; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + }; + }; + }; + metadata?: { + [key: string]: string; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + tax_code?: string; + /** @enum {string} */ + type?: "fixed_amount"; + }; + }; + /** + * recipient_shipping_with_optional_fields_address + * @description Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer. + */ + shipping_details?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + name: string; + phone?: string | ""; + }; + /** @description Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`. */ + statement_descriptor?: string; + /** @description The ID of the subscription to invoice, if any. If set, the created invoice will only include pending invoice items for that subscription. The subscription's billing cycle and regular subscription events won't be affected. */ + subscription?: string; + /** + * transfer_data_specs + * @description If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge. + */ + transfer_data?: { + amount?: number; + destination: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoice"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetInvoicesSearch: { + parameters: { + query: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ + page?: string; + /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for invoices](https://stripe.com/docs/search#query-fields-for-invoices). */ + query: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["invoice"][]; + has_more: boolean; + next_page?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "search_result"; + /** @description The total number of objects that match the query, only accurate up to 10,000. */ + total_count?: number; + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetInvoicesUpcoming: { + parameters: { + query?: { + /** @description Settings for automatic tax lookup for this invoice preview. */ + automatic_tax?: { + enabled: boolean; + }; + /** @description The code of the coupon to apply. If `subscription` or `subscription_items` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string. */ + coupon?: string; + /** @description The currency to preview this invoice in. Defaults to that of `customer` if not specified. */ + currency?: string; + /** @description The identifier of the customer whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set. */ + customer?: string; + /** @description Details about the customer you want to invoice or overrides for an existing customer. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set. */ + customer_details?: { + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + shipping?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + name: string; + phone?: string; + } | ""; + /** tax_param */ + tax?: { + ip_address?: string | ""; + }; + /** @enum {string} */ + tax_exempt?: "" | "exempt" | "none" | "reverse"; + tax_ids?: { + /** @enum {string} */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; + value: string; + }[]; + }; + /** @description The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. This only works for coupons directly applied to the invoice. To apply a coupon to a subscription, you must use the `coupon` parameter instead. Pass an empty string to avoid inheriting any discounts. To preview the upcoming invoice for a subscription that hasn't been created, use `coupon` instead. */ + discounts?: { + coupon?: string; + discount?: string; + }[] | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description List of invoice items to add or update in the upcoming invoice preview. */ + invoice_items?: { + amount?: number; + currency?: string; + description?: string; + discountable?: boolean; + discounts?: { + coupon?: string; + discount?: string; + }[] | ""; + invoiceitem?: string; + metadata?: { + [key: string]: string; + } | ""; + /** period */ + period?: { + /** Format: unix-time */ + end: number; + /** Format: unix-time */ + start: number; + }; + price?: string; + /** one_time_price_data */ + price_data?: { + currency: string; + product: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + tax_code?: string | ""; + tax_rates?: string[] | ""; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }[]; + /** @description The identifier of the schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields. */ + schedule?: string; + /** @description The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions. */ + subscription?: string; + /** @description For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`. */ + subscription_billing_cycle_anchor?: ("now" | "unchanged") | number; + /** @description Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using `proration_behavior`. */ + subscription_cancel_at?: number | ""; + /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ + subscription_cancel_at_period_end?: boolean; + /** @description This simulates the subscription being canceled or expired immediately. */ + subscription_cancel_now?: boolean; + /** @description If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have `tax_rates` set. */ + subscription_default_tax_rates?: string[] | ""; + /** @description A list of up to 20 subscription items, each with an attached price. */ + subscription_items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + clear_usage?: boolean; + deleted?: boolean; + id?: string; + metadata?: { + [key: string]: string; + } | ""; + price?: string; + /** recurring_price_data */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. */ + subscription_proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** @description If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration_behavior` cannot be set to 'none'. */ + subscription_proration_date?: number; + /** @description For paused subscriptions, setting `subscription_resume_at` to `now` will preview the invoice that will be generated if the subscription is resumed. */ + subscription_resume_at?: "now"; + /** @description Date a subscription is intended to start (can be future or past) */ + subscription_start_date?: number; + /** @description If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required. */ + subscription_trial_end?: "now" | number; + /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `subscription_trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `subscription_trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ + subscription_trial_from_plan?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoice"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetInvoicesUpcomingLines: { + parameters: { + query?: { + /** @description Settings for automatic tax lookup for this invoice preview. */ + automatic_tax?: { + enabled: boolean; + }; + /** @description The code of the coupon to apply. If `subscription` or `subscription_items` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string. */ + coupon?: string; + /** @description The currency to preview this invoice in. Defaults to that of `customer` if not specified. */ + currency?: string; + /** @description The identifier of the customer whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set. */ + customer?: string; + /** @description Details about the customer you want to invoice or overrides for an existing customer. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set. */ + customer_details?: { + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + shipping?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + name: string; + phone?: string; + } | ""; + /** tax_param */ + tax?: { + ip_address?: string | ""; + }; + /** @enum {string} */ + tax_exempt?: "" | "exempt" | "none" | "reverse"; + tax_ids?: { + /** @enum {string} */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; + value: string; + }[]; + }; + /** @description The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. This only works for coupons directly applied to the invoice. To apply a coupon to a subscription, you must use the `coupon` parameter instead. Pass an empty string to avoid inheriting any discounts. To preview the upcoming invoice for a subscription that hasn't been created, use `coupon` instead. */ + discounts?: { + coupon?: string; + discount?: string; + }[] | ""; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description List of invoice items to add or update in the upcoming invoice preview. */ + invoice_items?: { + amount?: number; + currency?: string; + description?: string; + discountable?: boolean; + discounts?: { + coupon?: string; + discount?: string; + }[] | ""; + invoiceitem?: string; + metadata?: { + [key: string]: string; + } | ""; + /** period */ + period?: { + /** Format: unix-time */ + end: number; + /** Format: unix-time */ + start: number; + }; + price?: string; + /** one_time_price_data */ + price_data?: { + currency: string; + product: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + tax_code?: string | ""; + tax_rates?: string[] | ""; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description The identifier of the schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields. */ + schedule?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions. */ + subscription?: string; + /** @description For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`. */ + subscription_billing_cycle_anchor?: ("now" | "unchanged") | number; + /** @description Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using `proration_behavior`. */ + subscription_cancel_at?: number | ""; + /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ + subscription_cancel_at_period_end?: boolean; + /** @description This simulates the subscription being canceled or expired immediately. */ + subscription_cancel_now?: boolean; + /** @description If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have `tax_rates` set. */ + subscription_default_tax_rates?: string[] | ""; + /** @description A list of up to 20 subscription items, each with an attached price. */ + subscription_items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + clear_usage?: boolean; + deleted?: boolean; + id?: string; + metadata?: { + [key: string]: string; + } | ""; + price?: string; + /** recurring_price_data */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. */ + subscription_proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** @description If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration_behavior` cannot be set to 'none'. */ + subscription_proration_date?: number; + /** @description For paused subscriptions, setting `subscription_resume_at` to `now` will preview the invoice that will be generated if the subscription is resumed. */ + subscription_resume_at?: "now"; + /** @description Date a subscription is intended to start (can be future or past) */ + subscription_start_date?: number; + /** @description If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required. */ + subscription_trial_end?: "now" | number; + /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `subscription_trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `subscription_trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ + subscription_trial_from_plan?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["line_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetInvoicesInvoice: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + invoice: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoice"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoicesInvoice: { + parameters: { + query?: never; + header?: never; + path: { + invoice: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The account tax IDs associated with the invoice. Only editable when the invoice is a draft. */ + account_tax_ids?: string[] | ""; + /** @description A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees). */ + application_fee_amount?: number; + /** @description Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. */ + auto_advance?: boolean; + /** + * automatic_tax_param + * @description Settings for automatic tax lookup for this invoice. + */ + automatic_tax?: { + enabled: boolean; + }; + /** + * @description Either `charge_automatically` or `send_invoice`. This field can be updated only on `draft` invoices. + * @enum {string} + */ + collection_method?: "charge_automatically" | "send_invoice"; + /** @description A list of up to 4 custom fields to be displayed on the invoice. If a value for `custom_fields` is specified, the list specified will replace the existing custom field list on this invoice. Pass an empty string to remove previously-defined fields. */ + custom_fields?: { + name: string; + value: string; + }[] | ""; + /** @description The number of days from which the invoice is created until it is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices. */ + days_until_due?: number; + /** @description ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings. */ + default_payment_method?: string; + /** @description ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source. */ + default_source?: string | ""; + /** @description The tax rates that will apply to any line item that does not have `tax_rates` set. Pass an empty string to remove previously-defined tax rates. */ + default_tax_rates?: string[] | ""; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard. */ + description?: string; + /** @description The discounts that will apply to the invoice. Pass an empty string to remove previously-defined discounts. */ + discounts?: { + coupon?: string; + discount?: string; + }[] | ""; + /** + * Format: unix-time + * @description The date on which payment for this invoice is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices. + */ + due_date?: number; + /** @description The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt. */ + effective_at?: number | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Footer to be displayed on the invoice. */ + footer?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. */ + on_behalf_of?: string | ""; + /** + * payment_settings + * @description Configuration settings for the PaymentIntent that is generated when the invoice is finalized. + */ + payment_settings?: { + default_mandate?: string | ""; + /** payment_method_options */ + payment_method_options?: { + acss_debit?: { + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + bancontact?: { + /** @enum {string} */ + preferred_language?: "de" | "en" | "fr" | "nl"; + } | ""; + card?: { + /** installments_param */ + installments?: { + enabled?: boolean; + plan?: { + count: number; + /** @enum {string} */ + interval: "month"; + /** @enum {string} */ + type: "fixed_count"; + } | ""; + }; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[] | ""; + }; + /** + * rendering_param + * @description The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. + */ + rendering?: { + /** @enum {string} */ + amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; + /** rendering_pdf_param */ + pdf?: { + /** @enum {string} */ + page_size?: "a4" | "auto" | "letter"; + }; + }; + /** @description Settings for the cost of shipping for this invoice. */ + shipping_cost?: { + shipping_rate?: string; + /** method_params */ + shipping_rate_data?: { + /** delivery_estimate */ + delivery_estimate?: { + /** delivery_estimate_bound */ + maximum?: { + /** @enum {string} */ + unit: "business_day" | "day" | "hour" | "month" | "week"; + value: number; + }; + /** delivery_estimate_bound */ + minimum?: { + /** @enum {string} */ + unit: "business_day" | "day" | "hour" | "month" | "week"; + value: number; + }; + }; + display_name: string; + /** fixed_amount */ + fixed_amount?: { + amount: number; + currency: string; + currency_options?: { + [key: string]: { + amount: number; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + }; + }; + }; + metadata?: { + [key: string]: string; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + tax_code?: string; + /** @enum {string} */ + type?: "fixed_amount"; + }; + } | ""; + /** @description Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer. */ + shipping_details?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + name: string; + phone?: string | ""; + } | ""; + /** @description Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`. */ + statement_descriptor?: string; + /** @description If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge. This will be unset if you POST an empty value. */ + transfer_data?: { + amount?: number; + destination: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoice"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteInvoicesInvoice: { + parameters: { + query?: never; + header?: never; + path: { + invoice: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_invoice"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoicesInvoiceFinalize: { + parameters: { + query?: never; + header?: never; + path: { + invoice: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action. */ + auto_advance?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoice"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetInvoicesInvoiceLines: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + invoice: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["line_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoicesInvoiceMarkUncollectible: { + parameters: { + query?: never; + header?: never; + path: { + invoice: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoice"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoicesInvoicePay: { + parameters: { + query?: never; + header?: never; + path: { + invoice: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description In cases where the source used to pay the invoice has insufficient funds, passing `forgive=true` controls whether a charge should be attempted for the full amount available on the source, up to the amount to fully pay the invoice. This effectively forgives the difference between the amount available on the source and the amount due. + * + * Passing `forgive=false` will fail the charge if the source hasn't been pre-funded with the right amount. An example for this case is with ACH Credit Transfers and wires: if the amount wired is less than the amount due by a small amount, you might want to forgive the difference. Defaults to `false`. */ + forgive?: boolean; + /** @description ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the payment_method param or the invoice's default_payment_method or default_source, if set. */ + mandate?: string | ""; + /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `true` (off-session). */ + off_session?: boolean; + /** @description Boolean representing whether an invoice is paid outside of Stripe. This will result in no charge being made. Defaults to `false`. */ + paid_out_of_band?: boolean; + /** @description A PaymentMethod to be charged. The PaymentMethod must be the ID of a PaymentMethod belonging to the customer associated with the invoice being paid. */ + payment_method?: string; + /** @description A payment source to be charged. The source must be the ID of a source belonging to the customer associated with the invoice being paid. */ + source?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoice"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoicesInvoiceSend: { + parameters: { + query?: never; + header?: never; + path: { + invoice: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoice"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostInvoicesInvoiceVoid: { + parameters: { + query?: never; + header?: never; + path: { + invoice: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["invoice"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingAuthorizations: { + parameters: { + query?: { + /** @description Only return authorizations that belong to the given card. */ + card?: string; + /** @description Only return authorizations that belong to the given cardholder. */ + cardholder?: string; + /** @description Only return authorizations that were created during the given date interval. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return authorizations with the given status. One of `pending`, `closed`, or `reversed`. */ + status?: "closed" | "pending" | "reversed"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["issuing.authorization"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingAuthorizationsAuthorization: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + authorization: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.authorization"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingAuthorizationsAuthorization: { + parameters: { + query?: never; + header?: never; + path: { + authorization: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.authorization"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingAuthorizationsAuthorizationApprove: { + parameters: { + query?: never; + header?: never; + path: { + authorization: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description If the authorization's `pending_request.is_amount_controllable` property is `true`, you may provide this value to control how much to hold for the authorization. Must be positive (use [`decline`](https://stripe.com/docs/api/issuing/authorizations/decline) to decline an authorization request). */ + amount?: number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.authorization"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingAuthorizationsAuthorizationDecline: { + parameters: { + query?: never; + header?: never; + path: { + authorization: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.authorization"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingCardholders: { + parameters: { + query?: { + /** @description Only return cardholders that were created during the given date interval. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return cardholders that have the given email address. */ + email?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return cardholders that have the given phone number. */ + phone_number?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return cardholders that have the given status. One of `active`, `inactive`, or `blocked`. */ + status?: "active" | "blocked" | "inactive"; + /** @description Only return cardholders that have the given type. One of `individual` or `company`. */ + type?: "company" | "individual"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["issuing.cardholder"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingCardholders: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * billing_specs + * @description The cardholder's billing address. + */ + billing: { + /** required_address */ + address: { + city: string; + country: string; + line1: string; + line2?: string; + postal_code: string; + state?: string; + }; + }; + /** + * company_param + * @description Additional information about a `company` cardholder. + */ + company?: { + tax_id?: string; + }; + /** @description The cardholder's email address. */ + email?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * individual_param + * @description Additional information about an `individual` cardholder. + */ + individual?: { + /** card_issuing_param */ + card_issuing?: { + /** terms_acceptance_param */ + user_terms_acceptance?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string | ""; + }; + }; + /** date_of_birth_specs */ + dob?: { + day: number; + month: number; + year: number; + }; + first_name?: string; + last_name?: string; + /** person_verification_param */ + verification?: { + /** person_verification_document_param */ + document?: { + back?: string; + front?: string; + }; + }; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The cardholder's name. This will be printed on cards issued to them. The maximum length of this field is 24 characters. This field cannot contain any special characters or numbers. */ + name: string; + /** @description The cardholder's phone number. This will be transformed to [E.164](https://en.wikipedia.org/wiki/E.164) if it is not provided in that format already. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure#when-is-3d-secure-applied) for more details. */ + phone_number?: string; + /** @description The cardholder’s preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`. + * This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder. */ + preferred_locales?: ("de" | "en" | "es" | "fr" | "it")[]; + /** + * authorization_controls_param_v2 + * @description Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. + */ + spending_controls?: { + allowed_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + blocked_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + spending_limits?: { + amount: number; + categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + /** @enum {string} */ + interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; + }[]; + spending_limits_currency?: string; + }; + /** + * @description Specifies whether to permit authorizations on this cardholder's cards. Defaults to `active`. + * @enum {string} + */ + status?: "active" | "inactive"; + /** + * @description One of `individual` or `company`. See [Choose a cardholder type](https://stripe.com/docs/issuing/other/choose-cardholder) for more details. + * @enum {string} + */ + type?: "company" | "individual"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.cardholder"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingCardholdersCardholder: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + cardholder: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.cardholder"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingCardholdersCardholder: { + parameters: { + query?: never; + header?: never; + path: { + cardholder: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * billing_specs + * @description The cardholder's billing address. + */ + billing?: { + /** required_address */ + address: { + city: string; + country: string; + line1: string; + line2?: string; + postal_code: string; + state?: string; + }; + }; + /** + * company_param + * @description Additional information about a `company` cardholder. + */ + company?: { + tax_id?: string; + }; + /** @description The cardholder's email address. */ + email?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * individual_param + * @description Additional information about an `individual` cardholder. + */ + individual?: { + /** card_issuing_param */ + card_issuing?: { + /** terms_acceptance_param */ + user_terms_acceptance?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string | ""; + }; + }; + /** date_of_birth_specs */ + dob?: { + day: number; + month: number; + year: number; + }; + first_name?: string; + last_name?: string; + /** person_verification_param */ + verification?: { + /** person_verification_document_param */ + document?: { + back?: string; + front?: string; + }; + }; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure) for more details. */ + phone_number?: string; + /** @description The cardholder’s preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`. + * This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder. */ + preferred_locales?: ("de" | "en" | "es" | "fr" | "it")[]; + /** + * authorization_controls_param_v2 + * @description Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. + */ + spending_controls?: { + allowed_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + blocked_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + spending_limits?: { + amount: number; + categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + /** @enum {string} */ + interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; + }[]; + spending_limits_currency?: string; + }; + /** + * @description Specifies whether to permit authorizations on this cardholder's cards. + * @enum {string} + */ + status?: "active" | "inactive"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.cardholder"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingCards: { + parameters: { + query?: { + /** @description Only return cards belonging to the Cardholder with the provided ID. */ + cardholder?: string; + /** @description Only return cards that were issued during the given date interval. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Only return cards that have the given expiration month. */ + exp_month?: number; + /** @description Only return cards that have the given expiration year. */ + exp_year?: number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Only return cards that have the given last four digits. */ + last4?: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return cards that have the given status. One of `active`, `inactive`, or `canceled`. */ + status?: "active" | "canceled" | "inactive"; + /** @description Only return cards that have the given type. One of `virtual` or `physical`. */ + type?: "physical" | "virtual"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["issuing.card"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingCards: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The [Cardholder](https://stripe.com/docs/api#issuing_cardholder_object) object with which the card will be associated. */ + cardholder?: string; + /** @description The currency for the card. */ + currency: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + financial_account?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The card this is meant to be a replacement for (if any). */ + replacement_for?: string; + /** + * @description If `replacement_for` is specified, this should indicate why that card is being replaced. + * @enum {string} + */ + replacement_reason?: "damaged" | "expired" | "lost" | "stolen"; + /** + * shipping_specs + * @description The address where the card will be shipped. + */ + shipping?: { + /** required_address */ + address: { + city: string; + country: string; + line1: string; + line2?: string; + postal_code: string; + state?: string; + }; + /** customs_param */ + customs?: { + eori_number?: string; + }; + name: string; + phone_number?: string; + require_signature?: boolean; + /** @enum {string} */ + service?: "express" | "priority" | "standard"; + /** @enum {string} */ + type?: "bulk" | "individual"; + }; + /** + * authorization_controls_param + * @description Rules that control spending for this card. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. + */ + spending_controls?: { + allowed_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + blocked_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + spending_limits?: { + amount: number; + categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + /** @enum {string} */ + interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; + }[]; + }; + /** + * @description Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. + * @enum {string} + */ + status?: "active" | "inactive"; + /** + * @description The type of card to issue. Possible values are `physical` or `virtual`. + * @enum {string} + */ + type: "physical" | "virtual"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.card"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingCardsCard: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + card: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.card"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingCardsCard: { + parameters: { + query?: never; + header?: never; + path: { + card: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * @description Reason why the `status` of this card is `canceled`. + * @enum {string} + */ + cancellation_reason?: "lost" | "stolen"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** + * encrypted_pin_param + * @description The desired new PIN for this card. + */ + pin?: { + encrypted_number?: string; + }; + /** + * authorization_controls_param + * @description Rules that control spending for this card. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. + */ + spending_controls?: { + allowed_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + blocked_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + spending_limits?: { + amount: number; + categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; + /** @enum {string} */ + interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; + }[]; + }; + /** + * @description Dictates whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. If this card is being canceled because it was lost or stolen, this information should be provided as `cancellation_reason`. + * @enum {string} + */ + status?: "active" | "canceled" | "inactive"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.card"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingDisputes: { + parameters: { + query?: { + /** @description Select Issuing disputes that were created during the given date interval. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Select Issuing disputes with the given status. */ + status?: "expired" | "lost" | "submitted" | "unsubmitted" | "won"; + /** @description Select the Issuing dispute for the given transaction. */ + transaction?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["issuing.dispute"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingDisputes: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The dispute amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). If not set, defaults to the full transaction amount. */ + amount?: number; + /** + * evidence_param + * @description Evidence provided for the dispute. + */ + evidence?: { + canceled?: { + additional_documentation?: string | ""; + canceled_at?: number | ""; + cancellation_policy_provided?: boolean | ""; + cancellation_reason?: string | ""; + expected_at?: number | ""; + explanation?: string | ""; + product_description?: string | ""; + /** @enum {string} */ + product_type?: "" | "merchandise" | "service"; + /** @enum {string} */ + return_status?: "" | "merchant_rejected" | "successful"; + returned_at?: number | ""; + } | ""; + duplicate?: { + additional_documentation?: string | ""; + card_statement?: string | ""; + cash_receipt?: string | ""; + check_image?: string | ""; + explanation?: string | ""; + original_transaction?: string; + } | ""; + fraudulent?: { + additional_documentation?: string | ""; + explanation?: string | ""; + } | ""; + merchandise_not_as_described?: { + additional_documentation?: string | ""; + explanation?: string | ""; + received_at?: number | ""; + return_description?: string | ""; + /** @enum {string} */ + return_status?: "" | "merchant_rejected" | "successful"; + returned_at?: number | ""; + } | ""; + not_received?: { + additional_documentation?: string | ""; + expected_at?: number | ""; + explanation?: string | ""; + product_description?: string | ""; + /** @enum {string} */ + product_type?: "" | "merchandise" | "service"; + } | ""; + other?: { + additional_documentation?: string | ""; + explanation?: string | ""; + product_description?: string | ""; + /** @enum {string} */ + product_type?: "" | "merchandise" | "service"; + } | ""; + /** @enum {string} */ + reason?: "canceled" | "duplicate" | "fraudulent" | "merchandise_not_as_described" | "not_received" | "other" | "service_not_as_described"; + service_not_as_described?: { + additional_documentation?: string | ""; + canceled_at?: number | ""; + cancellation_reason?: string | ""; + explanation?: string | ""; + received_at?: number | ""; + } | ""; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The ID of the issuing transaction to create a dispute for. For transaction on Treasury FinancialAccounts, use `treasury.received_debit`. */ + transaction?: string; + /** + * treasury_param + * @description Params for disputes related to Treasury FinancialAccounts + */ + treasury?: { + received_debit: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.dispute"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingDisputesDispute: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + dispute: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.dispute"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingDisputesDispute: { + parameters: { + query?: never; + header?: never; + path: { + dispute: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The dispute amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount?: number; + /** + * evidence_param + * @description Evidence provided for the dispute. + */ + evidence?: { + canceled?: { + additional_documentation?: string | ""; + canceled_at?: number | ""; + cancellation_policy_provided?: boolean | ""; + cancellation_reason?: string | ""; + expected_at?: number | ""; + explanation?: string | ""; + product_description?: string | ""; + /** @enum {string} */ + product_type?: "" | "merchandise" | "service"; + /** @enum {string} */ + return_status?: "" | "merchant_rejected" | "successful"; + returned_at?: number | ""; + } | ""; + duplicate?: { + additional_documentation?: string | ""; + card_statement?: string | ""; + cash_receipt?: string | ""; + check_image?: string | ""; + explanation?: string | ""; + original_transaction?: string; + } | ""; + fraudulent?: { + additional_documentation?: string | ""; + explanation?: string | ""; + } | ""; + merchandise_not_as_described?: { + additional_documentation?: string | ""; + explanation?: string | ""; + received_at?: number | ""; + return_description?: string | ""; + /** @enum {string} */ + return_status?: "" | "merchant_rejected" | "successful"; + returned_at?: number | ""; + } | ""; + not_received?: { + additional_documentation?: string | ""; + expected_at?: number | ""; + explanation?: string | ""; + product_description?: string | ""; + /** @enum {string} */ + product_type?: "" | "merchandise" | "service"; + } | ""; + other?: { + additional_documentation?: string | ""; + explanation?: string | ""; + product_description?: string | ""; + /** @enum {string} */ + product_type?: "" | "merchandise" | "service"; + } | ""; + /** @enum {string} */ + reason?: "canceled" | "duplicate" | "fraudulent" | "merchandise_not_as_described" | "not_received" | "other" | "service_not_as_described"; + service_not_as_described?: { + additional_documentation?: string | ""; + canceled_at?: number | ""; + cancellation_reason?: string | ""; + explanation?: string | ""; + received_at?: number | ""; + } | ""; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.dispute"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingDisputesDisputeSubmit: { + parameters: { + query?: never; + header?: never; + path: { + dispute: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.dispute"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingSettlements: { + parameters: { + query?: { + /** @description Only return issuing settlements that were created during the given date interval. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["issuing.settlement"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingSettlementsSettlement: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + settlement: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.settlement"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingSettlementsSettlement: { + parameters: { + query?: never; + header?: never; + path: { + settlement: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.settlement"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingTransactions: { + parameters: { + query?: { + /** @description Only return transactions that belong to the given card. */ + card?: string; + /** @description Only return transactions that belong to the given cardholder. */ + cardholder?: string; + /** @description Only return transactions that were created during the given date interval. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return transactions that have the given type. One of `capture` or `refund`. */ + type?: "capture" | "refund"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["issuing.transaction"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetIssuingTransactionsTransaction: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + transaction: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostIssuingTransactionsTransaction: { + parameters: { + query?: never; + header?: never; + path: { + transaction: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostLinkAccountSessions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * accountholder_params + * @description The account holder to link accounts for. + */ + account_holder: { + account?: string; + customer?: string; + /** @enum {string} */ + type: "account" | "customer"; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * filters_params + * @description Filters to restrict the kinds of accounts to collect. + */ + filters?: { + countries: string[]; + }; + /** @description List of data features that you would like to request access to. + * + * Possible values are `balances`, `transactions`, `ownership`, and `payment_method`. */ + permissions: ("balances" | "ownership" | "payment_method" | "transactions")[]; + /** @description List of data features that you would like to retrieve upon account creation. */ + prefetch?: ("balances" | "ownership")[]; + /** @description For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. */ + return_url?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["financial_connections.session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetLinkAccountSessionsSession: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + session: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["financial_connections.session"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetLinkedAccounts: { + parameters: { + query?: { + /** @description If present, only return accounts that belong to the specified account holder. `account_holder[customer]` and `account_holder[account]` are mutually exclusive. */ + account_holder?: { + account?: string; + customer?: string; + }; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description If present, only return accounts that were collected as part of the given session. */ + session?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["financial_connections.account"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetLinkedAccountsAccount: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["financial_connections.account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostLinkedAccountsAccountDisconnect: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["financial_connections.account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetLinkedAccountsAccountOwners: { + parameters: { + query: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description The ID of the ownership object to fetch owners from. */ + ownership: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["financial_connections.account_owner"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostLinkedAccountsAccountRefresh: { + parameters: { + query?: never; + header?: never; + path: { + account: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The list of account features that you would like to refresh. */ + features: ("balance" | "ownership")[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["financial_connections.account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetMandatesMandate: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + mandate: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["mandate"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentIntents: { + parameters: { + query?: { + /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp or a dictionary with a number of different query options. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return PaymentIntents for the customer that this customer ID specifies. */ + customer?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["payment_intent"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentIntents: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ + amount: number; + /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ + application_fee_amount?: number; + /** + * automatic_payment_methods_param + * @description When you enable this parameter, this PaymentIntent accepts payment methods that you enable in the Dashboard and that are compatible with this PaymentIntent's other parameters. + */ + automatic_payment_methods?: { + /** @enum {string} */ + allow_redirects?: "always" | "never"; + enabled: boolean; + }; + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method?: "automatic" | "automatic_async" | "manual"; + /** @description Set to `true` to attempt to [confirm this PaymentIntent](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent immediately. This parameter defaults to `false`. When creating and confirming a PaymentIntent at the same time, you can also provide the parameters available in the [Confirm API](https://stripe.com/docs/api/payment_intents/confirm). */ + confirm?: boolean; + /** @enum {string} */ + confirmation_method?: "automatic" | "manual"; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description ID of the Customer this PaymentIntent belongs to, if one exists. + * + * Payment methods attached to other Customers cannot be used with this PaymentIntent. + * + * If present in combination with [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage), this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. */ + customer?: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. Use this parameter for simpler integrations that don't handle customer actions, such as [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). */ + error_on_requires_action?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description ID of the mandate that's used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). */ + mandate?: string; + /** @description This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). */ + mandate_data?: { + /** customer_acceptance_param */ + customer_acceptance: { + /** Format: unix-time */ + accepted_at?: number; + /** offline_param */ + offline?: Record; + /** online_param */ + online?: { + ip_address: string; + user_agent: string; + }; + /** @enum {string} */ + type: "offline" | "online"; + }; + } | ""; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description Set to `true` to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). */ + off_session?: boolean | ("one_off" | "recurring"); + /** @description The Stripe account ID that these funds are intended for. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ + on_behalf_of?: string; + /** @description ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. + * + * If you omit this parameter with `confirm=true`, `customer.default_source` attaches as this PaymentIntent's payment instrument to improve migration for users of the Charges API. We recommend that you explicitly provide the `payment_method` moving forward. */ + payment_method?: string; + /** @description The ID of the payment method configuration to use with this PaymentIntent. */ + payment_method_configuration?: string; + /** + * payment_method_data_params + * @description If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear + * in the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method) + * property on the PaymentIntent. + */ + payment_method_data?: { + /** payment_method_param */ + acss_debit?: { + account_number: string; + institution_number: string; + transit_number: string; + }; + /** param */ + affirm?: Record; + /** param */ + afterpay_clearpay?: Record; + /** param */ + alipay?: Record; + /** param */ + au_becs_debit?: { + account_number: string; + bsb_number: string; + }; + /** param */ + bacs_debit?: { + account_number?: string; + sort_code?: string; + }; + /** param */ + bancontact?: Record; + /** billing_details_inner_params */ + billing_details?: { + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + email?: string | ""; + name?: string | ""; + phone?: string | ""; + }; + /** param */ + blik?: Record; + /** param */ + boleto?: { + tax_id: string; + }; + /** param */ + cashapp?: Record; + /** param */ + customer_balance?: Record; + /** param */ + eps?: { + /** @enum {string} */ + bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; + }; + /** param */ + fpx?: { + /** @enum {string} */ + bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; + }; + /** param */ + giropay?: Record; + /** param */ + grabpay?: Record; + /** param */ + ideal?: { + /** @enum {string} */ + bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; + }; + /** param */ + interac_present?: Record; + /** param */ + klarna?: { + /** date_of_birth */ + dob?: { + day: number; + month: number; + year: number; + }; + }; + /** param */ + konbini?: Record; + /** param */ + link?: Record; + metadata?: { + [key: string]: string; + }; + /** param */ + oxxo?: Record; + /** param */ + p24?: { + /** @enum {string} */ + bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options */ + radar_options?: { + session?: string; + }; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; + /** payment_method_param */ + us_bank_account?: { + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number?: string; + /** @enum {string} */ + account_type?: "checking" | "savings"; + financial_connections_account?: string; + routing_number?: string; + }; + /** param */ + wechat_pay?: Record; + /** param */ + zip?: Record; + }; + /** + * payment_method_options_param + * @description Payment method-specific configuration for this PaymentIntent. + */ + payment_method_options?: { + acss_debit?: { + /** payment_intent_payment_method_options_mandate_options_param */ + mandate_options?: { + custom_mandate_url?: string | ""; + interval_description?: string; + /** @enum {string} */ + payment_schedule?: "combined" | "interval" | "sporadic"; + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + affirm?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + preferred_locale?: string; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + afterpay_clearpay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + reference?: string; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + alipay?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + au_becs_debit?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + bacs_debit?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + bancontact?: { + /** @enum {string} */ + preferred_language?: "de" | "en" | "fr" | "nl"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + blik?: { + code?: string; + } | ""; + boleto?: { + expires_after_days?: number; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + card?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + cvc_token?: string; + /** installments_param */ + installments?: { + enabled?: boolean; + plan?: { + count: number; + /** @enum {string} */ + interval: "month"; + /** @enum {string} */ + type: "fixed_count"; + } | ""; + }; + /** mandate_options_param */ + mandate_options?: { + amount: number; + /** @enum {string} */ + amount_type: "fixed" | "maximum"; + description?: string; + /** Format: unix-time */ + end_date?: number; + /** @enum {string} */ + interval: "day" | "month" | "sporadic" | "week" | "year"; + interval_count?: number; + reference: string; + /** Format: unix-time */ + start_date: number; + supported_types?: "india"[]; + }; + /** @enum {string} */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + statement_descriptor_suffix_kana?: string | ""; + statement_descriptor_suffix_kanji?: string | ""; + } | ""; + card_present?: { + request_extended_authorization?: boolean; + request_incremental_authorization_support?: boolean; + } | ""; + cashapp?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_params */ + eu_bank_transfer?: { + country: string; + }; + requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; + /** @enum {string} */ + type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; + }; + /** @enum {string} */ + funding_type?: "bank_transfer"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + eps?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + fpx?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + giropay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + grabpay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + ideal?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + interac_present?: Record | ""; + klarna?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-CH" | "de-DE" | "el-GR" | "en-AT" | "en-AU" | "en-BE" | "en-CA" | "en-CH" | "en-CZ" | "en-DE" | "en-DK" | "en-ES" | "en-FI" | "en-FR" | "en-GB" | "en-GR" | "en-IE" | "en-IT" | "en-NL" | "en-NO" | "en-NZ" | "en-PL" | "en-PT" | "en-SE" | "en-US" | "es-ES" | "es-US" | "fi-FI" | "fr-BE" | "fr-CA" | "fr-CH" | "fr-FR" | "it-CH" | "it-IT" | "nb-NO" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sv-FI" | "sv-SE"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + konbini?: { + confirmation_number?: string | ""; + expires_after_days?: number | ""; + expires_at?: number | ""; + product_description?: string | ""; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + link?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + oxxo?: { + expires_after_days?: number; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + p24?: { + /** @enum {string} */ + setup_future_usage?: "none"; + tos_shown_and_accepted?: boolean; + } | ""; + paynow?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + paypal?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-DE" | "de-LU" | "el-GR" | "en-GB" | "en-US" | "es-ES" | "fi-FI" | "fr-BE" | "fr-FR" | "fr-LU" | "hu-HU" | "it-IT" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sk-SK" | "sv-SE"; + reference?: string; + risk_correlation_id?: string; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + pix?: { + expires_after_seconds?: number; + /** Format: unix-time */ + expires_at?: number; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + promptpay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + sepa_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + sofort?: { + /** @enum {string} */ + preferred_language?: "" | "de" | "en" | "es" | "fr" | "it" | "nl" | "pl"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + us_bank_account?: { + /** linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + return_url?: string; + }; + /** networks_options_param */ + networks?: { + requested?: ("ach" | "us_domestic_wire")[]; + }; + /** @enum {string} */ + preferred_settlement_speed?: "" | "fastest" | "standard"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + wechat_pay?: { + app_id?: string; + /** @enum {string} */ + client: "android" | "ios" | "web"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + zip?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + }; + /** @description The list of payment method types (for example, a card) that this PaymentIntent can use. If you don't provide this, it defaults to ["card"]. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). */ + payment_method_types?: string[]; + /** + * radar_options_with_hidden_options + * @description Options to configure Radar. Learn more about [Radar Sessions](https://stripe.com/docs/radar/radar-session). + */ + radar_options?: { + session?: string; + }; + /** @description Email address to send the receipt to. If you specify `receipt_email` for a payment in live mode, you send a receipt regardless of your [email settings](https://dashboard.stripe.com/account/emails). */ + receipt_email?: string; + /** @description The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). */ + return_url?: string; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * @enum {string} + */ + setup_future_usage?: "off_session" | "on_session"; + /** + * optional_fields_shipping + * @description Shipping information for this PaymentIntent. + */ + shipping?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + carrier?: string; + name: string; + phone?: string; + tracking_number?: string; + }; + /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. It must contain at least one letter and be 1–22 characters long. */ + statement_descriptor?: string; + /** @description Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. The concatenated descriptor must contain 1-22 characters. */ + statement_descriptor_suffix?: string; + /** + * transfer_data_creation_params + * @description The parameters that you can use to automatically create a Transfer after the payment succeeds. + * Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). + */ + transfer_data?: { + amount?: number; + destination: string; + }; + /** @description A string that identifies the resulting payment as part of a group. Learn more about the [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers). */ + transfer_group?: string; + /** @description Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. */ + use_stripe_sdk?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentIntentsSearch: { + parameters: { + query: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ + page?: string; + /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for payment intents](https://stripe.com/docs/search#query-fields-for-payment-intents). */ + query: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["payment_intent"][]; + has_more: boolean; + next_page?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "search_result"; + /** @description The total number of objects that match the query, only accurate up to 10,000. */ + total_count?: number; + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentIntentsIntent: { + parameters: { + query?: { + /** @description The client secret of the PaymentIntent. We require it if you use a publishable key to retrieve the source. */ + client_secret?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentIntentsIntent: { + parameters: { + query?: never; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ + amount?: number; + /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ + application_fee_amount?: number | ""; + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method?: "automatic" | "automatic_async" | "manual"; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description ID of the Customer this PaymentIntent belongs to, if one exists. + * + * Payment methods attached to other Customers cannot be used with this PaymentIntent. + * + * If present in combination with [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage), this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. */ + customer?: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. */ + payment_method?: string; + /** @description The ID of the payment method configuration to use with this PaymentIntent. */ + payment_method_configuration?: string; + /** + * payment_method_data_params + * @description If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear + * in the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method) + * property on the PaymentIntent. + */ + payment_method_data?: { + /** payment_method_param */ + acss_debit?: { + account_number: string; + institution_number: string; + transit_number: string; + }; + /** param */ + affirm?: Record; + /** param */ + afterpay_clearpay?: Record; + /** param */ + alipay?: Record; + /** param */ + au_becs_debit?: { + account_number: string; + bsb_number: string; + }; + /** param */ + bacs_debit?: { + account_number?: string; + sort_code?: string; + }; + /** param */ + bancontact?: Record; + /** billing_details_inner_params */ + billing_details?: { + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + email?: string | ""; + name?: string | ""; + phone?: string | ""; + }; + /** param */ + blik?: Record; + /** param */ + boleto?: { + tax_id: string; + }; + /** param */ + cashapp?: Record; + /** param */ + customer_balance?: Record; + /** param */ + eps?: { + /** @enum {string} */ + bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; + }; + /** param */ + fpx?: { + /** @enum {string} */ + bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; + }; + /** param */ + giropay?: Record; + /** param */ + grabpay?: Record; + /** param */ + ideal?: { + /** @enum {string} */ + bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; + }; + /** param */ + interac_present?: Record; + /** param */ + klarna?: { + /** date_of_birth */ + dob?: { + day: number; + month: number; + year: number; + }; + }; + /** param */ + konbini?: Record; + /** param */ + link?: Record; + metadata?: { + [key: string]: string; + }; + /** param */ + oxxo?: Record; + /** param */ + p24?: { + /** @enum {string} */ + bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options */ + radar_options?: { + session?: string; + }; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; + /** payment_method_param */ + us_bank_account?: { + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number?: string; + /** @enum {string} */ + account_type?: "checking" | "savings"; + financial_connections_account?: string; + routing_number?: string; + }; + /** param */ + wechat_pay?: Record; + /** param */ + zip?: Record; + }; + /** + * payment_method_options_param + * @description Payment-method-specific configuration for this PaymentIntent. + */ + payment_method_options?: { + acss_debit?: { + /** payment_intent_payment_method_options_mandate_options_param */ + mandate_options?: { + custom_mandate_url?: string | ""; + interval_description?: string; + /** @enum {string} */ + payment_schedule?: "combined" | "interval" | "sporadic"; + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + affirm?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + preferred_locale?: string; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + afterpay_clearpay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + reference?: string; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + alipay?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + au_becs_debit?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + bacs_debit?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + bancontact?: { + /** @enum {string} */ + preferred_language?: "de" | "en" | "fr" | "nl"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + blik?: { + code?: string; + } | ""; + boleto?: { + expires_after_days?: number; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + card?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + cvc_token?: string; + /** installments_param */ + installments?: { + enabled?: boolean; + plan?: { + count: number; + /** @enum {string} */ + interval: "month"; + /** @enum {string} */ + type: "fixed_count"; + } | ""; + }; + /** mandate_options_param */ + mandate_options?: { + amount: number; + /** @enum {string} */ + amount_type: "fixed" | "maximum"; + description?: string; + /** Format: unix-time */ + end_date?: number; + /** @enum {string} */ + interval: "day" | "month" | "sporadic" | "week" | "year"; + interval_count?: number; + reference: string; + /** Format: unix-time */ + start_date: number; + supported_types?: "india"[]; + }; + /** @enum {string} */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + statement_descriptor_suffix_kana?: string | ""; + statement_descriptor_suffix_kanji?: string | ""; + } | ""; + card_present?: { + request_extended_authorization?: boolean; + request_incremental_authorization_support?: boolean; + } | ""; + cashapp?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_params */ + eu_bank_transfer?: { + country: string; + }; + requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; + /** @enum {string} */ + type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; + }; + /** @enum {string} */ + funding_type?: "bank_transfer"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + eps?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + fpx?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + giropay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + grabpay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + ideal?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + interac_present?: Record | ""; + klarna?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-CH" | "de-DE" | "el-GR" | "en-AT" | "en-AU" | "en-BE" | "en-CA" | "en-CH" | "en-CZ" | "en-DE" | "en-DK" | "en-ES" | "en-FI" | "en-FR" | "en-GB" | "en-GR" | "en-IE" | "en-IT" | "en-NL" | "en-NO" | "en-NZ" | "en-PL" | "en-PT" | "en-SE" | "en-US" | "es-ES" | "es-US" | "fi-FI" | "fr-BE" | "fr-CA" | "fr-CH" | "fr-FR" | "it-CH" | "it-IT" | "nb-NO" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sv-FI" | "sv-SE"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + konbini?: { + confirmation_number?: string | ""; + expires_after_days?: number | ""; + expires_at?: number | ""; + product_description?: string | ""; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + link?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + oxxo?: { + expires_after_days?: number; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + p24?: { + /** @enum {string} */ + setup_future_usage?: "none"; + tos_shown_and_accepted?: boolean; + } | ""; + paynow?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + paypal?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-DE" | "de-LU" | "el-GR" | "en-GB" | "en-US" | "es-ES" | "fi-FI" | "fr-BE" | "fr-FR" | "fr-LU" | "hu-HU" | "it-IT" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sk-SK" | "sv-SE"; + reference?: string; + risk_correlation_id?: string; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + pix?: { + expires_after_seconds?: number; + /** Format: unix-time */ + expires_at?: number; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + promptpay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + sepa_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + sofort?: { + /** @enum {string} */ + preferred_language?: "" | "de" | "en" | "es" | "fr" | "it" | "nl" | "pl"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + us_bank_account?: { + /** linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + return_url?: string; + }; + /** networks_options_param */ + networks?: { + requested?: ("ach" | "us_domestic_wire")[]; + }; + /** @enum {string} */ + preferred_settlement_speed?: "" | "fastest" | "standard"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + wechat_pay?: { + app_id?: string; + /** @enum {string} */ + client: "android" | "ios" | "web"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + zip?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + }; + /** @description The list of payment method types (for example, card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). */ + payment_method_types?: string[]; + /** @description Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). */ + receipt_email?: string | ""; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * + * If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`. + * @enum {string} + */ + setup_future_usage?: "" | "off_session" | "on_session"; + /** @description Shipping information for this PaymentIntent. */ + shipping?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + carrier?: string; + name: string; + phone?: string; + tracking_number?: string; + } | ""; + /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ + statement_descriptor?: string; + /** @description Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ + statement_descriptor_suffix?: string; + /** + * transfer_data_update_params + * @description Use this parameter to automatically create a Transfer when the payment succeeds. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). + */ + transfer_data?: { + amount?: number; + }; + /** @description A string that identifies the resulting payment as part of a group. You can only provide `transfer_group` if it hasn't been set. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ + transfer_group?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentIntentsIntentApplyCustomerBalance: { + parameters: { + query?: never; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount that you intend to apply to this PaymentIntent from the customer’s cash balance. + * + * A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (for example, 100 cents to charge 1 USD or 100 to charge 100 JPY, a zero-decimal currency). + * + * The maximum amount is the amount of the PaymentIntent. + * + * When you omit the amount, it defaults to the remaining amount requested on the PaymentIntent. */ + amount?: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentIntentsIntentCancel: { + parameters: { + query?: never; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * @description Reason for canceling this PaymentIntent. Possible values are: `duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned` + * @enum {string} + */ + cancellation_reason?: "abandoned" | "duplicate" | "fraudulent" | "requested_by_customer"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentIntentsIntentCapture: { + parameters: { + query?: never; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Any additional amount is automatically refunded. Defaults to the full `amount_capturable` if it's not provided. */ + amount_to_capture?: number; + /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ + application_fee_amount?: number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ + statement_descriptor?: string; + /** @description Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. The concatenated descriptor must be 1-22 characters long. */ + statement_descriptor_suffix?: string; + /** + * transfer_data_update_params + * @description The parameters that you can use to automatically create a transfer after the payment + * is captured. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). + */ + transfer_data?: { + amount?: number; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentIntentsIntentConfirm: { + parameters: { + query?: never; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * @description Controls when the funds will be captured from the customer's account. + * @enum {string} + */ + capture_method?: "automatic" | "automatic_async" | "manual"; + /** @description The client secret of the PaymentIntent. */ + client_secret?: string; + /** @description Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. This parameter is intended for simpler integrations that do not handle customer actions, like [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication). */ + error_on_requires_action?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description ID of the mandate that's used for this payment. */ + mandate?: string; + mandate_data?: { + /** customer_acceptance_param */ + customer_acceptance: { + /** Format: unix-time */ + accepted_at?: number; + /** offline_param */ + offline?: Record; + /** online_param */ + online?: { + ip_address: string; + user_agent: string; + }; + /** @enum {string} */ + type: "offline" | "online"; + }; + } | "" | { + /** customer_acceptance_param */ + customer_acceptance: { + /** online_param */ + online: { + ip_address?: string; + user_agent?: string; + }; + /** @enum {string} */ + type: "online"; + }; + }; + /** @description Set to `true` to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). */ + off_session?: boolean | ("one_off" | "recurring"); + /** @description ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. */ + payment_method?: string; + /** + * payment_method_data_params + * @description If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear + * in the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method) + * property on the PaymentIntent. + */ + payment_method_data?: { + /** payment_method_param */ + acss_debit?: { + account_number: string; + institution_number: string; + transit_number: string; + }; + /** param */ + affirm?: Record; + /** param */ + afterpay_clearpay?: Record; + /** param */ + alipay?: Record; + /** param */ + au_becs_debit?: { + account_number: string; + bsb_number: string; + }; + /** param */ + bacs_debit?: { + account_number?: string; + sort_code?: string; + }; + /** param */ + bancontact?: Record; + /** billing_details_inner_params */ + billing_details?: { + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + email?: string | ""; + name?: string | ""; + phone?: string | ""; + }; + /** param */ + blik?: Record; + /** param */ + boleto?: { + tax_id: string; + }; + /** param */ + cashapp?: Record; + /** param */ + customer_balance?: Record; + /** param */ + eps?: { + /** @enum {string} */ + bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; + }; + /** param */ + fpx?: { + /** @enum {string} */ + bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; + }; + /** param */ + giropay?: Record; + /** param */ + grabpay?: Record; + /** param */ + ideal?: { + /** @enum {string} */ + bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; + }; + /** param */ + interac_present?: Record; + /** param */ + klarna?: { + /** date_of_birth */ + dob?: { + day: number; + month: number; + year: number; + }; + }; + /** param */ + konbini?: Record; + /** param */ + link?: Record; + metadata?: { + [key: string]: string; + }; + /** param */ + oxxo?: Record; + /** param */ + p24?: { + /** @enum {string} */ + bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options */ + radar_options?: { + session?: string; + }; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; + /** payment_method_param */ + us_bank_account?: { + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number?: string; + /** @enum {string} */ + account_type?: "checking" | "savings"; + financial_connections_account?: string; + routing_number?: string; + }; + /** param */ + wechat_pay?: Record; + /** param */ + zip?: Record; + }; + /** + * payment_method_options_param + * @description Payment method-specific configuration for this PaymentIntent. + */ + payment_method_options?: { + acss_debit?: { + /** payment_intent_payment_method_options_mandate_options_param */ + mandate_options?: { + custom_mandate_url?: string | ""; + interval_description?: string; + /** @enum {string} */ + payment_schedule?: "combined" | "interval" | "sporadic"; + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + affirm?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + preferred_locale?: string; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + afterpay_clearpay?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + reference?: string; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + alipay?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + au_becs_debit?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + bacs_debit?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + bancontact?: { + /** @enum {string} */ + preferred_language?: "de" | "en" | "fr" | "nl"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + blik?: { + code?: string; + } | ""; + boleto?: { + expires_after_days?: number; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + card?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + cvc_token?: string; + /** installments_param */ + installments?: { + enabled?: boolean; + plan?: { + count: number; + /** @enum {string} */ + interval: "month"; + /** @enum {string} */ + type: "fixed_count"; + } | ""; + }; + /** mandate_options_param */ + mandate_options?: { + amount: number; + /** @enum {string} */ + amount_type: "fixed" | "maximum"; + description?: string; + /** Format: unix-time */ + end_date?: number; + /** @enum {string} */ + interval: "day" | "month" | "sporadic" | "week" | "year"; + interval_count?: number; + reference: string; + /** Format: unix-time */ + start_date: number; + supported_types?: "india"[]; + }; + /** @enum {string} */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + statement_descriptor_suffix_kana?: string | ""; + statement_descriptor_suffix_kanji?: string | ""; + } | ""; + card_present?: { + request_extended_authorization?: boolean; + request_incremental_authorization_support?: boolean; + } | ""; + cashapp?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_params */ + eu_bank_transfer?: { + country: string; + }; + requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; + /** @enum {string} */ + type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; + }; + /** @enum {string} */ + funding_type?: "bank_transfer"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + eps?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + fpx?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + giropay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + grabpay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + ideal?: { + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + interac_present?: Record | ""; + klarna?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-CH" | "de-DE" | "el-GR" | "en-AT" | "en-AU" | "en-BE" | "en-CA" | "en-CH" | "en-CZ" | "en-DE" | "en-DK" | "en-ES" | "en-FI" | "en-FR" | "en-GB" | "en-GR" | "en-IE" | "en-IT" | "en-NL" | "en-NO" | "en-NZ" | "en-PL" | "en-PT" | "en-SE" | "en-US" | "es-ES" | "es-US" | "fi-FI" | "fr-BE" | "fr-CA" | "fr-CH" | "fr-FR" | "it-CH" | "it-IT" | "nb-NO" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sv-FI" | "sv-SE"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + konbini?: { + confirmation_number?: string | ""; + expires_after_days?: number | ""; + expires_at?: number | ""; + product_description?: string | ""; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + link?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + oxxo?: { + expires_after_days?: number; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + p24?: { + /** @enum {string} */ + setup_future_usage?: "none"; + tos_shown_and_accepted?: boolean; + } | ""; + paynow?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + paypal?: { + /** @enum {string} */ + capture_method?: "" | "manual"; + /** @enum {string} */ + preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-DE" | "de-LU" | "el-GR" | "en-GB" | "en-US" | "es-ES" | "fi-FI" | "fr-BE" | "fr-FR" | "fr-LU" | "hu-HU" | "it-IT" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sk-SK" | "sv-SE"; + reference?: string; + risk_correlation_id?: string; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + pix?: { + expires_after_seconds?: number; + /** Format: unix-time */ + expires_at?: number; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + promptpay?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + sepa_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + } | ""; + sofort?: { + /** @enum {string} */ + preferred_language?: "" | "de" | "en" | "es" | "fr" | "it" | "nl" | "pl"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session"; + } | ""; + us_bank_account?: { + /** linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + return_url?: string; + }; + /** networks_options_param */ + networks?: { + requested?: ("ach" | "us_domestic_wire")[]; + }; + /** @enum {string} */ + preferred_settlement_speed?: "" | "fastest" | "standard"; + /** @enum {string} */ + setup_future_usage?: "" | "none" | "off_session" | "on_session"; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + wechat_pay?: { + app_id?: string; + /** @enum {string} */ + client: "android" | "ios" | "web"; + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + zip?: { + /** @enum {string} */ + setup_future_usage?: "none"; + } | ""; + }; + /** @description The list of payment method types (for example, a card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). */ + payment_method_types?: string[]; + /** + * radar_options_with_hidden_options + * @description Options to configure Radar. Learn more about [Radar Sessions](https://stripe.com/docs/radar/radar-session). + */ + radar_options?: { + session?: string; + }; + /** @description Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). */ + receipt_email?: string | ""; + /** @description The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. + * If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. + * This parameter is only used for cards and other redirect-based payment methods. */ + return_url?: string; + /** + * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. + * + * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). + * + * If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`. + * @enum {string} + */ + setup_future_usage?: "" | "off_session" | "on_session"; + /** @description Shipping information for this PaymentIntent. */ + shipping?: { + /** optional_fields_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + carrier?: string; + name: string; + phone?: string; + tracking_number?: string; + } | ""; + /** @description Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. */ + use_stripe_sdk?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentIntentsIntentIncrementAuthorization: { + parameters: { + query?: never; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The updated total amount that you intend to collect from the cardholder. This amount must be greater than the currently authorized amount. */ + amount: number; + /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ + application_fee_amount?: number; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ + statement_descriptor?: string; + /** + * transfer_data_update_params + * @description The parameters used to automatically create a transfer after the payment is captured. + * Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). + */ + transfer_data?: { + amount?: number; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentIntentsIntentVerifyMicrodeposits: { + parameters: { + query?: never; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account. */ + amounts?: number[]; + /** @description The client secret of the PaymentIntent. */ + client_secret?: string; + /** @description A six-character code starting with SM present in the microdeposit sent to the bank account. */ + descriptor_code?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentLinks: { + parameters: { + query?: { + /** @description Only return payment links that are active or inactive (e.g., pass `false` to list all inactive payment links). */ + active?: boolean; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["payment_link"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentLinks: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * after_completion_params + * @description Behavior after the purchase is complete. + */ + after_completion?: { + /** after_completion_confirmation_page_params */ + hosted_confirmation?: { + custom_message?: string; + }; + /** after_completion_redirect_params */ + redirect?: { + url: string; + }; + /** @enum {string} */ + type: "hosted_confirmation" | "redirect"; + }; + /** @description Enables user redeemable promotion codes. */ + allow_promotion_codes?: boolean; + /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Can only be applied when there are no line items with recurring prices. */ + application_fee_amount?: number; + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field. */ + application_fee_percent?: number; + /** + * automatic_tax_params + * @description Configuration for automatic tax collection. + */ + automatic_tax?: { + enabled: boolean; + }; + /** + * @description Configuration for collecting the customer's billing address. + * @enum {string} + */ + billing_address_collection?: "auto" | "required"; + /** + * consent_collection_params + * @description Configure fields to gather active consent from customers. + */ + consent_collection?: { + /** @enum {string} */ + promotions?: "auto" | "none"; + /** @enum {string} */ + terms_of_service?: "none" | "required"; + }; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies) and supported by each line item's price. */ + currency?: string; + /** @description Collect additional information from your customer using custom fields. Up to 2 fields are supported. */ + custom_fields?: { + /** custom_field_dropdown_param */ + dropdown?: { + options: { + label: string; + value: string; + }[]; + }; + key: string; + /** custom_field_label_param */ + label: { + custom: string; + /** @enum {string} */ + type: "custom"; + }; + /** custom_field_numeric_param */ + numeric?: { + maximum_length?: number; + minimum_length?: number; + }; + optional?: boolean; + /** custom_field_text_param */ + text?: { + maximum_length?: number; + minimum_length?: number; + }; + /** @enum {string} */ + type: "dropdown" | "numeric" | "text"; + }[]; + /** + * custom_text_param + * @description Display additional text for your customers using custom text. + */ + custom_text?: { + shipping_address?: { + message: string; + } | ""; + submit?: { + message: string; + } | ""; + terms_of_service_acceptance?: { + message: string; + } | ""; + }; + /** + * @description Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers). + * @enum {string} + */ + customer_creation?: "always" | "if_required"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * invoice_creation_create_params + * @description Generate a post-purchase Invoice for one-time payments. + */ + invoice_creation?: { + enabled: boolean; + /** invoice_settings_params */ + invoice_data?: { + account_tax_ids?: string[] | ""; + custom_fields?: { + name: string; + value: string; + }[] | ""; + description?: string; + footer?: string; + metadata?: { + [key: string]: string; + } | ""; + rendering_options?: { + /** @enum {string} */ + amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; + } | ""; + }; + }; + /** @description The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported. */ + line_items: { + /** adjustable_quantity_params */ + adjustable_quantity?: { + enabled: boolean; + maximum?: number; + minimum?: number; + }; + price: string; + quantity: number; + }[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. */ + metadata?: { + [key: string]: string; + }; + /** @description The account on behalf of which to charge. */ + on_behalf_of?: string; + /** + * payment_intent_data_params + * @description A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode. + */ + payment_intent_data?: { + /** @enum {string} */ + capture_method?: "automatic" | "automatic_async" | "manual"; + /** @enum {string} */ + setup_future_usage?: "off_session" | "on_session"; + }; + /** + * @description Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount. + * + * Can only be set in `subscription` mode. + * + * If you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials). + * @enum {string} + */ + payment_method_collection?: "always" | "if_required"; + /** @description The list of payment method types that customers can use. If no value is passed, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods) (20+ payment methods [supported](https://stripe.com/docs/payments/payment-methods/integration-options#payment-method-product-support)). */ + payment_method_types?: ("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]; + /** + * phone_number_collection_params + * @description Controls phone number collection settings during checkout. + * + * We recommend that you review your privacy policy and check with your legal contacts. + */ + phone_number_collection?: { + enabled: boolean; + }; + /** + * shipping_address_collection_params + * @description Configuration for collecting the customer's shipping address. + */ + shipping_address_collection?: { + allowed_countries: ("AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CV" | "CW" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MK" | "ML" | "MM" | "MN" | "MO" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SZ" | "TA" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "ZZ")[]; + }; + /** @description The shipping rate options to apply to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. */ + shipping_options?: { + shipping_rate?: string; + }[]; + /** + * @description Describes the type of transaction being performed in order to customize relevant text on the page, such as the submit button. Changing this value will also affect the hostname in the [url](https://stripe.com/docs/api/payment_links/payment_links/object#url) property (example: `donate.stripe.com`). + * @enum {string} + */ + submit_type?: "auto" | "book" | "donate" | "pay"; + /** + * subscription_data_params + * @description When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`. + */ + subscription_data?: { + description?: string; + trial_period_days?: number; + }; + /** + * tax_id_collection_params + * @description Controls tax ID collection during checkout. + */ + tax_id_collection?: { + enabled: boolean; + }; + /** + * transfer_data_params + * @description The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to. + */ + transfer_data?: { + amount?: number; + destination: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_link"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentLinksPaymentLink: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + payment_link: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_link"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentLinksPaymentLink: { + parameters: { + query?: never; + header?: never; + path: { + payment_link: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated. */ + active?: boolean; + /** + * after_completion_params + * @description Behavior after the purchase is complete. + */ + after_completion?: { + /** after_completion_confirmation_page_params */ + hosted_confirmation?: { + custom_message?: string; + }; + /** after_completion_redirect_params */ + redirect?: { + url: string; + }; + /** @enum {string} */ + type: "hosted_confirmation" | "redirect"; + }; + /** @description Enables user redeemable promotion codes. */ + allow_promotion_codes?: boolean; + /** + * automatic_tax_params + * @description Configuration for automatic tax collection. + */ + automatic_tax?: { + enabled: boolean; + }; + /** + * @description Configuration for collecting the customer's billing address. + * @enum {string} + */ + billing_address_collection?: "auto" | "required"; + /** @description Collect additional information from your customer using custom fields. Up to 2 fields are supported. */ + custom_fields?: { + /** custom_field_dropdown_param */ + dropdown?: { + options: { + label: string; + value: string; + }[]; + }; + key: string; + /** custom_field_label_param */ + label: { + custom: string; + /** @enum {string} */ + type: "custom"; + }; + /** custom_field_numeric_param */ + numeric?: { + maximum_length?: number; + minimum_length?: number; + }; + optional?: boolean; + /** custom_field_text_param */ + text?: { + maximum_length?: number; + minimum_length?: number; + }; + /** @enum {string} */ + type: "dropdown" | "numeric" | "text"; + }[] | ""; + /** + * custom_text_param + * @description Display additional text for your customers using custom text. + */ + custom_text?: { + shipping_address?: { + message: string; + } | ""; + submit?: { + message: string; + } | ""; + terms_of_service_acceptance?: { + message: string; + } | ""; + }; + /** + * @description Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers). + * @enum {string} + */ + customer_creation?: "always" | "if_required"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * invoice_creation_update_params + * @description Generate a post-purchase Invoice for one-time payments. + */ + invoice_creation?: { + enabled: boolean; + /** invoice_settings_params */ + invoice_data?: { + account_tax_ids?: string[] | ""; + custom_fields?: { + name: string; + value: string; + }[] | ""; + description?: string; + footer?: string; + metadata?: { + [key: string]: string; + } | ""; + rendering_options?: { + /** @enum {string} */ + amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; + } | ""; + }; + }; + /** @description The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported. */ + line_items?: { + /** adjustable_quantity_params */ + adjustable_quantity?: { + enabled: boolean; + maximum?: number; + minimum?: number; + }; + id: string; + quantity?: number; + }[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. */ + metadata?: { + [key: string]: string; + }; + /** + * @description Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount. + * + * Can only be set in `subscription` mode. + * + * If you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials). + * @enum {string} + */ + payment_method_collection?: "always" | "if_required"; + /** @description The list of payment method types that customers can use. Pass an empty string to enable dynamic payment methods that use your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). */ + payment_method_types?: ("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[] | ""; + /** @description Configuration for collecting the customer's shipping address. */ + shipping_address_collection?: { + allowed_countries: ("AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CV" | "CW" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MK" | "ML" | "MM" | "MN" | "MO" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SZ" | "TA" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "ZZ")[]; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_link"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentLinksPaymentLinkLineItems: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + payment_link: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentMethodConfigurations: { + parameters: { + query?: { + /** @description The Connect application to filter by. */ + application?: string | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["payment_method_configuration"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentMethodConfigurations: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * payment_method_param + * @description Canadian pre-authorized debit payments, check this [page](https://stripe.com/docs/payments/acss-debit) for more details like country availability. + */ + acss_debit?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description [Affirm](https://www.affirm.com/) gives your customers a way to split purchases over a series of payments. Depending on the purchase, they can pay with four interest-free payments (Split Pay) or pay over a longer term (Installments), which might include interest. Check this [page](https://stripe.com/docs/payments/affirm) for more details like country availability. + */ + affirm?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Afterpay gives your customers a way to pay for purchases in installments, check this [page](https://stripe.com/docs/payments/afterpay-clearpay) for more details like country availability. Afterpay is particularly popular among businesses selling fashion, beauty, and sports products. + */ + afterpay_clearpay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Alipay is a digital wallet in China that has more than a billion active users worldwide. Alipay users can pay on the web or on a mobile device using login credentials or their Alipay app. Alipay has a low dispute rate and reduces fraud by authenticating payments using the customer's login credentials. Check this [page](https://stripe.com/docs/payments/alipay) for more details. + */ + alipay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users can accept [Apple Pay](/payments/apple-pay) in iOS applications in iOS 9 and later, and on the web in Safari starting with iOS 10 or macOS Sierra. There are no additional fees to process Apple Pay payments, and the [pricing](/pricing) is the same as other card transactions. Check this [page](https://stripe.com/docs/apple-pay) for more details. + */ + apple_pay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Apple Pay Later, a payment method for customers to buy now and pay later, gives your customers a way to split purchases into four installments across six weeks. + */ + apple_pay_later?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users in Australia can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with an Australian bank account. Check this [page](https://stripe.com/docs/payments/au-becs-debit) for more details. + */ + au_becs_debit?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users in the UK can accept Bacs Direct Debit payments from customers with a UK bank account, check this [page](https://stripe.com/docs/payments/payment-methods/bacs-debit) for more details. + */ + bacs_debit?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Bancontact is the most popular online payment method in Belgium, with over 15 million cards in circulation. [Customers](https://stripe.com/docs/api/customers) use a Bancontact card or mobile app linked to a Belgian bank account to make online payments that are secure, guaranteed, and confirmed immediately. Check this [page](https://stripe.com/docs/payments/bancontact) for more details. + */ + bancontact?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description BLIK is a [single use](https://stripe.com/docs/payments/payment-methods#usage) payment method that requires customers to authenticate their payments. When customers want to pay online using BLIK, they request a six-digit code from their banking application and enter it into the payment collection form. Check this [page](https://stripe.com/docs/payments/blik) for more details. + */ + blik?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Boleto is an official (regulated by the Central Bank of Brazil) payment method in Brazil. Check this [page](https://stripe.com/docs/payments/boleto) for more details. + */ + boleto?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Cards are a popular way for consumers and businesses to pay online or in person. Stripe supports global and local card networks. + */ + card?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Cartes Bancaires is France's local card network. More than 95% of these cards are co-branded with either Visa or Mastercard, meaning you can process these cards over either Cartes Bancaires or the Visa or Mastercard networks. Check this [page](https://stripe.com/docs/payments/cartes-bancaires) for more details. + */ + cartes_bancaires?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Cash App is a popular consumer app in the US that allows customers to bank, invest, send, and receive money using their digital wallet. Check this [page](https://stripe.com/docs/payments/cash-app-pay) for more details. + */ + cashapp?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description EPS is an Austria-based payment method that allows customers to complete transactions online using their bank credentials. EPS is supported by all Austrian banks and is accepted by over 80% of Austrian online retailers. Check this [page](https://stripe.com/docs/payments/eps) for more details. + */ + eps?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * payment_method_param + * @description Financial Process Exchange (FPX) is a Malaysia-based payment method that allows customers to complete transactions online using their bank credentials. Bank Negara Malaysia (BNM), the Central Bank of Malaysia, and eleven other major Malaysian financial institutions are members of the PayNet Group, which owns and operates FPX. It is one of the most popular online payment methods in Malaysia, with nearly 90 million transactions in 2018 according to BNM. Check this [page](https://stripe.com/docs/payments/fpx) for more details. + */ + fpx?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description giropay is a German payment method based on online banking, introduced in 2006. It allows customers to complete transactions online using their online banking environment, with funds debited from their bank account. Depending on their bank, customers confirm payments on giropay using a second factor of authentication or a PIN. giropay accounts for 10% of online checkouts in Germany. Check this [page](https://stripe.com/docs/payments/giropay) for more details. + */ + giropay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Google Pay allows customers to make payments in your app or website using any credit or debit card saved to their Google Account, including those from Google Play, YouTube, Chrome, or an Android device. Use the Google Pay API to request any credit or debit card stored in your customer's Google account. Check this [page](https://stripe.com/docs/google-pay) for more details. + */ + google_pay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description GrabPay is a payment method developed by [Grab](https://www.grab.com/sg/consumer/finance/pay/). GrabPay is a digital wallet - customers maintain a balance in their wallets that they pay out with. Check this [page](https://stripe.com/docs/payments/grabpay) for more details. + */ + grabpay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description iDEAL is a Netherlands-based payment method that allows customers to complete transactions online using their bank credentials. All major Dutch banks are members of Currence, the scheme that operates iDEAL, making it the most popular online payment method in the Netherlands with a share of online transactions close to 55%. Check this [page](https://stripe.com/docs/payments/ideal) for more details. + */ + ideal?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description JCB is a credit card company based in Japan. JCB is currently available in Japan to businesses approved by JCB, and available to all businesses in the US, Canada, Australia, New Zealand, UK, and Ireland. Check this [page](https://support.stripe.com/questions/accepting-japan-credit-bureau-%28jcb%29-payments) for more details. + */ + jcb?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Klarna gives customers a range of [payment options](https://stripe.com/docs/payments/klarna#payment-options) during checkout. Available payment options vary depending on the customer's billing address and the transaction amount. These payment options make it convenient for customers to purchase items in all price ranges. Check this [page](https://stripe.com/docs/payments/klarna) for more details. + */ + klarna?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Konbini allows customers in Japan to pay for bills and online purchases at convenience stores with cash. Check this [page](https://stripe.com/docs/payments/konbini) for more details. + */ + konbini?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description [Link](https://stripe.com/docs/payments/link) is a payment method network. With Link, users save their payment details once, then reuse that information to pay with one click for any business on the network. + */ + link?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** @description Configuration name. */ + name?: string; + /** + * payment_method_param + * @description OXXO is a Mexican chain of convenience stores with thousands of locations across Latin America and represents nearly 20% of online transactions in Mexico. OXXO allows customers to pay bills and online purchases in-store with cash. Check this [page](https://stripe.com/docs/payments/oxxo) for more details. + */ + oxxo?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Przelewy24 is a Poland-based payment method aggregator that allows customers to complete transactions online using bank transfers and other methods. Bank transfers account for 30% of online payments in Poland and Przelewy24 provides a way for customers to pay with over 165 banks. Check this [page](https://stripe.com/docs/payments/p24) for more details. + */ + p24?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** @description Configuration's parent configuration. Specify to create a child configuration. */ + parent?: string; + /** + * payment_method_param + * @description PayNow is a Singapore-based payment method that allows customers to make a payment using their preferred app from participating banks and participating non-bank financial institutions. Check this [page](https://stripe.com/docs/payments/paynow) for more details. + */ + paynow?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description PayPal, a digital wallet popular with customers in Europe, allows your customers worldwide to pay using their PayPal account. Check this [page](https://stripe.com/docs/payments/paypal) for more details. + */ + paypal?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description PromptPay is a Thailand-based payment method that allows customers to make a payment using their preferred app from participating banks. Check this [page](https://stripe.com/docs/payments/promptpay) for more details. + */ + promptpay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description The [Single Euro Payments Area (SEPA)](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) is an initiative of the European Union to simplify payments within and across member countries. SEPA established and enforced banking standards to allow for the direct debiting of every EUR-denominated bank account within the SEPA region, check this [page](https://stripe.com/docs/payments/sepa-debit) for more details. + */ + sepa_debit?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users in Europe and the United States can use the [Payment Intents API](https://stripe.com/docs/payments/payment-intents)—a single integration path for creating payments using any supported method—to accept [Sofort](https://www.sofort.com/) payments from customers. Check this [page](https://stripe.com/docs/payments/sofort) for more details. + */ + sofort?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users in the United States can accept ACH direct debit payments from customers with a US bank account using the Automated Clearing House (ACH) payments system operated by Nacha. Check this [page](https://stripe.com/docs/payments/ach-debit) for more details. + */ + us_bank_account?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description WeChat, owned by Tencent, is China's leading mobile app with over 1 billion monthly active users. Chinese consumers can use WeChat Pay to pay for goods and services inside of businesses' apps and websites. WeChat Pay users buy most frequently in gaming, e-commerce, travel, online education, and food/nutrition. Check this [page](https://stripe.com/docs/payments/wechat-pay) for more details. + */ + wechat_pay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method_configuration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentMethodConfigurationsConfiguration: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + configuration: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method_configuration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentMethodConfigurationsConfiguration: { + parameters: { + query?: never; + header?: never; + path: { + configuration: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * payment_method_param + * @description Canadian pre-authorized debit payments, check this [page](https://stripe.com/docs/payments/acss-debit) for more details like country availability. + */ + acss_debit?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** @description Whether the configuration can be used for new payments. */ + active?: boolean; + /** + * payment_method_param + * @description [Affirm](https://www.affirm.com/) gives your customers a way to split purchases over a series of payments. Depending on the purchase, they can pay with four interest-free payments (Split Pay) or pay over a longer term (Installments), which might include interest. Check this [page](https://stripe.com/docs/payments/affirm) for more details like country availability. + */ + affirm?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Afterpay gives your customers a way to pay for purchases in installments, check this [page](https://stripe.com/docs/payments/afterpay-clearpay) for more details like country availability. Afterpay is particularly popular among businesses selling fashion, beauty, and sports products. + */ + afterpay_clearpay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Alipay is a digital wallet in China that has more than a billion active users worldwide. Alipay users can pay on the web or on a mobile device using login credentials or their Alipay app. Alipay has a low dispute rate and reduces fraud by authenticating payments using the customer's login credentials. Check this [page](https://stripe.com/docs/payments/alipay) for more details. + */ + alipay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users can accept [Apple Pay](/payments/apple-pay) in iOS applications in iOS 9 and later, and on the web in Safari starting with iOS 10 or macOS Sierra. There are no additional fees to process Apple Pay payments, and the [pricing](/pricing) is the same as other card transactions. Check this [page](https://stripe.com/docs/apple-pay) for more details. + */ + apple_pay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Apple Pay Later, a payment method for customers to buy now and pay later, gives your customers a way to split purchases into four installments across six weeks. + */ + apple_pay_later?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users in Australia can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with an Australian bank account. Check this [page](https://stripe.com/docs/payments/au-becs-debit) for more details. + */ + au_becs_debit?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users in the UK can accept Bacs Direct Debit payments from customers with a UK bank account, check this [page](https://stripe.com/docs/payments/payment-methods/bacs-debit) for more details. + */ + bacs_debit?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Bancontact is the most popular online payment method in Belgium, with over 15 million cards in circulation. [Customers](https://stripe.com/docs/api/customers) use a Bancontact card or mobile app linked to a Belgian bank account to make online payments that are secure, guaranteed, and confirmed immediately. Check this [page](https://stripe.com/docs/payments/bancontact) for more details. + */ + bancontact?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description BLIK is a [single use](https://stripe.com/docs/payments/payment-methods#usage) payment method that requires customers to authenticate their payments. When customers want to pay online using BLIK, they request a six-digit code from their banking application and enter it into the payment collection form. Check this [page](https://stripe.com/docs/payments/blik) for more details. + */ + blik?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Boleto is an official (regulated by the Central Bank of Brazil) payment method in Brazil. Check this [page](https://stripe.com/docs/payments/boleto) for more details. + */ + boleto?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Cards are a popular way for consumers and businesses to pay online or in person. Stripe supports global and local card networks. + */ + card?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Cartes Bancaires is France's local card network. More than 95% of these cards are co-branded with either Visa or Mastercard, meaning you can process these cards over either Cartes Bancaires or the Visa or Mastercard networks. Check this [page](https://stripe.com/docs/payments/cartes-bancaires) for more details. + */ + cartes_bancaires?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Cash App is a popular consumer app in the US that allows customers to bank, invest, send, and receive money using their digital wallet. Check this [page](https://stripe.com/docs/payments/cash-app-pay) for more details. + */ + cashapp?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description EPS is an Austria-based payment method that allows customers to complete transactions online using their bank credentials. EPS is supported by all Austrian banks and is accepted by over 80% of Austrian online retailers. Check this [page](https://stripe.com/docs/payments/eps) for more details. + */ + eps?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * payment_method_param + * @description Financial Process Exchange (FPX) is a Malaysia-based payment method that allows customers to complete transactions online using their bank credentials. Bank Negara Malaysia (BNM), the Central Bank of Malaysia, and eleven other major Malaysian financial institutions are members of the PayNet Group, which owns and operates FPX. It is one of the most popular online payment methods in Malaysia, with nearly 90 million transactions in 2018 according to BNM. Check this [page](https://stripe.com/docs/payments/fpx) for more details. + */ + fpx?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description giropay is a German payment method based on online banking, introduced in 2006. It allows customers to complete transactions online using their online banking environment, with funds debited from their bank account. Depending on their bank, customers confirm payments on giropay using a second factor of authentication or a PIN. giropay accounts for 10% of online checkouts in Germany. Check this [page](https://stripe.com/docs/payments/giropay) for more details. + */ + giropay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Google Pay allows customers to make payments in your app or website using any credit or debit card saved to their Google Account, including those from Google Play, YouTube, Chrome, or an Android device. Use the Google Pay API to request any credit or debit card stored in your customer's Google account. Check this [page](https://stripe.com/docs/google-pay) for more details. + */ + google_pay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description GrabPay is a payment method developed by [Grab](https://www.grab.com/sg/consumer/finance/pay/). GrabPay is a digital wallet - customers maintain a balance in their wallets that they pay out with. Check this [page](https://stripe.com/docs/payments/grabpay) for more details. + */ + grabpay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description iDEAL is a Netherlands-based payment method that allows customers to complete transactions online using their bank credentials. All major Dutch banks are members of Currence, the scheme that operates iDEAL, making it the most popular online payment method in the Netherlands with a share of online transactions close to 55%. Check this [page](https://stripe.com/docs/payments/ideal) for more details. + */ + ideal?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description JCB is a credit card company based in Japan. JCB is currently available in Japan to businesses approved by JCB, and available to all businesses in the US, Canada, Australia, New Zealand, UK, and Ireland. Check this [page](https://support.stripe.com/questions/accepting-japan-credit-bureau-%28jcb%29-payments) for more details. + */ + jcb?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Klarna gives customers a range of [payment options](https://stripe.com/docs/payments/klarna#payment-options) during checkout. Available payment options vary depending on the customer's billing address and the transaction amount. These payment options make it convenient for customers to purchase items in all price ranges. Check this [page](https://stripe.com/docs/payments/klarna) for more details. + */ + klarna?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Konbini allows customers in Japan to pay for bills and online purchases at convenience stores with cash. Check this [page](https://stripe.com/docs/payments/konbini) for more details. + */ + konbini?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description [Link](https://stripe.com/docs/payments/link) is a payment method network. With Link, users save their payment details once, then reuse that information to pay with one click for any business on the network. + */ + link?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** @description Configuration name. */ + name?: string; + /** + * payment_method_param + * @description OXXO is a Mexican chain of convenience stores with thousands of locations across Latin America and represents nearly 20% of online transactions in Mexico. OXXO allows customers to pay bills and online purchases in-store with cash. Check this [page](https://stripe.com/docs/payments/oxxo) for more details. + */ + oxxo?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Przelewy24 is a Poland-based payment method aggregator that allows customers to complete transactions online using bank transfers and other methods. Bank transfers account for 30% of online payments in Poland and Przelewy24 provides a way for customers to pay with over 165 banks. Check this [page](https://stripe.com/docs/payments/p24) for more details. + */ + p24?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description PayNow is a Singapore-based payment method that allows customers to make a payment using their preferred app from participating banks and participating non-bank financial institutions. Check this [page](https://stripe.com/docs/payments/paynow) for more details. + */ + paynow?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description PayPal, a digital wallet popular with customers in Europe, allows your customers worldwide to pay using their PayPal account. Check this [page](https://stripe.com/docs/payments/paypal) for more details. + */ + paypal?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description PromptPay is a Thailand-based payment method that allows customers to make a payment using their preferred app from participating banks. Check this [page](https://stripe.com/docs/payments/promptpay) for more details. + */ + promptpay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description The [Single Euro Payments Area (SEPA)](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) is an initiative of the European Union to simplify payments within and across member countries. SEPA established and enforced banking standards to allow for the direct debiting of every EUR-denominated bank account within the SEPA region, check this [page](https://stripe.com/docs/payments/sepa-debit) for more details. + */ + sepa_debit?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users in Europe and the United States can use the [Payment Intents API](https://stripe.com/docs/payments/payment-intents)—a single integration path for creating payments using any supported method—to accept [Sofort](https://www.sofort.com/) payments from customers. Check this [page](https://stripe.com/docs/payments/sofort) for more details. + */ + sofort?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description Stripe users in the United States can accept ACH direct debit payments from customers with a US bank account using the Automated Clearing House (ACH) payments system operated by Nacha. Check this [page](https://stripe.com/docs/payments/ach-debit) for more details. + */ + us_bank_account?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + /** + * payment_method_param + * @description WeChat, owned by Tencent, is China's leading mobile app with over 1 billion monthly active users. Chinese consumers can use WeChat Pay to pay for goods and services inside of businesses' apps and websites. WeChat Pay users buy most frequently in gaming, e-commerce, travel, online education, and food/nutrition. Check this [page](https://stripe.com/docs/payments/wechat-pay) for more details. + */ + wechat_pay?: { + /** display_preference_param */ + display_preference?: { + /** @enum {string} */ + preference?: "none" | "off" | "on"; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method_configuration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentMethodDomains: { + parameters: { + query?: { + /** @description The domain name that this payment method domain object represents. */ + domain_name?: string; + /** @description Whether this payment method domain is enabled. If the domain is not enabled, payment methods will not appear in Elements */ + enabled?: boolean; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["payment_method_domain"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentMethodDomains: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The domain name that this payment method domain object represents. */ + domain_name: string; + /** @description Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements. */ + enabled?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method_domain"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentMethodDomainsPaymentMethodDomain: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + payment_method_domain: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method_domain"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentMethodDomainsPaymentMethodDomain: { + parameters: { + query?: never; + header?: never; + path: { + payment_method_domain: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements. */ + enabled?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method_domain"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentMethodDomainsPaymentMethodDomainValidate: { + parameters: { + query?: never; + header?: never; + path: { + payment_method_domain: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method_domain"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentMethods: { + parameters: { + query?: { + /** @description The ID of the customer whose PaymentMethods will be retrieved. */ + customer?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request. */ + type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["payment_method"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentMethods: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * payment_method_param + * @description If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. + */ + acss_debit?: { + account_number: string; + institution_number: string; + transit_number: string; + }; + /** + * param + * @description If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. + */ + affirm?: Record; + /** + * param + * @description If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. + */ + afterpay_clearpay?: Record; + /** + * param + * @description If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. + */ + alipay?: Record; + /** + * param + * @description If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. + */ + au_becs_debit?: { + account_number: string; + bsb_number: string; + }; + /** + * param + * @description If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. + */ + bacs_debit?: { + account_number?: string; + sort_code?: string; + }; + /** + * param + * @description If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. + */ + bancontact?: Record; + /** + * billing_details_inner_params + * @description Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. + */ + billing_details?: { + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + email?: string | ""; + name?: string | ""; + phone?: string | ""; + }; + /** + * param + * @description If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. + */ + blik?: Record; + /** + * param + * @description If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. + */ + boleto?: { + tax_id: string; + }; + /** @description If this is a `card` PaymentMethod, this hash contains the user's card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format `card: {token: "tok_visa"}`. When providing a card number, you must meet the requirements for [PCI compliance](https://stripe.com/docs/security#validating-pci-compliance). We strongly recommend using Stripe.js instead of interacting with this API directly. */ + card?: { + cvc?: string; + exp_month: number; + exp_year: number; + number: string; + } | { + token: string; + }; + /** + * param + * @description If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. + */ + cashapp?: Record; + /** @description The `Customer` to whom the original PaymentMethod is attached. */ + customer?: string; + /** + * param + * @description If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. + */ + customer_balance?: Record; + /** + * param + * @description If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. + */ + eps?: { + /** @enum {string} */ + bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * param + * @description If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. + */ + fpx?: { + /** @enum {string} */ + bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; + }; + /** + * param + * @description If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. + */ + giropay?: Record; + /** + * param + * @description If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. + */ + grabpay?: Record; + /** + * param + * @description If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. + */ + ideal?: { + /** @enum {string} */ + bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; + }; + /** + * param + * @description If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. + */ + interac_present?: Record; + /** + * param + * @description If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. + */ + klarna?: { + /** date_of_birth */ + dob?: { + day: number; + month: number; + year: number; + }; + }; + /** + * param + * @description If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. + */ + konbini?: Record; + /** + * param + * @description If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. + */ + link?: Record; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** + * param + * @description If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. + */ + oxxo?: Record; + /** + * param + * @description If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. + */ + p24?: { + /** @enum {string} */ + bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; + }; + /** @description The PaymentMethod to share. */ + payment_method?: string; + /** + * param + * @description If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. + */ + paynow?: Record; + /** + * param + * @description If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. + */ + paypal?: Record; + /** + * param + * @description If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. + */ + pix?: Record; + /** + * param + * @description If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. + */ + promptpay?: Record; + /** + * radar_options + * @description Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. + */ + radar_options?: { + session?: string; + }; + /** + * param + * @description If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. + */ + sepa_debit?: { + iban: string; + }; + /** + * param + * @description If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. + */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** + * @description The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type. + * @enum {string} + */ + type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; + /** + * payment_method_param + * @description If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. + */ + us_bank_account?: { + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number?: string; + /** @enum {string} */ + account_type?: "checking" | "savings"; + financial_connections_account?: string; + routing_number?: string; + }; + /** + * param + * @description If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. + */ + wechat_pay?: Record; + /** + * param + * @description If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. + */ + zip?: Record; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPaymentMethodsPaymentMethod: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + payment_method: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentMethodsPaymentMethod: { + parameters: { + query?: never; + header?: never; + path: { + payment_method: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * billing_details_inner_params + * @description Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. + */ + billing_details?: { + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + email?: string | ""; + name?: string | ""; + phone?: string | ""; + }; + /** + * update_api_param + * @description If this is a `card` PaymentMethod, this hash contains the user's card details. + */ + card?: { + exp_month?: number; + exp_year?: number; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * param + * @description If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. + */ + link?: Record; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** + * update_param + * @description If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. + */ + us_bank_account?: { + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentMethodsPaymentMethodAttach: { + parameters: { + query?: never; + header?: never; + path: { + payment_method: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The ID of the customer to which to attach the PaymentMethod. */ + customer: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPaymentMethodsPaymentMethodDetach: { + parameters: { + query?: never; + header?: never; + path: { + payment_method: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payment_method"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPayouts: { + parameters: { + query?: { + arrival_date?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description The ID of an external account - only return payouts sent to this external account. */ + destination?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return payouts that have the given status: `pending`, `paid`, `failed`, or `canceled`. */ + status?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["payout"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPayouts: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description A positive integer in cents representing how much to payout. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description The ID of a bank account or a card to send the payout to. If you don't provide a destination, we use the default external account for the specified currency. */ + destination?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** + * @description The method used to send this payout, which is `standard` or `instant`. We support `instant` for payouts to debit cards and bank accounts in certain countries. Learn more about [bank support for Instant Payouts](https://stripe.com/docs/payouts/instant-payouts-banks). + * @enum {string} + */ + method?: "instant" | "standard"; + /** + * @description The balance type of your Stripe balance to draw this payout from. Balances for different payment sources are kept separately. You can find the amounts with the Balances API. One of `bank_account`, `card`, or `fpx`. + * @enum {string} + */ + source_type?: "bank_account" | "card" | "fpx"; + /** @description A string that displays on the recipient's bank or card statement (up to 22 characters). A `statement_descriptor` that's longer than 22 characters return an error. Most banks truncate this information and display it inconsistently. Some banks might not display it at all. */ + statement_descriptor?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payout"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPayoutsPayout: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + payout: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payout"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPayoutsPayout: { + parameters: { + query?: never; + header?: never; + path: { + payout: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payout"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPayoutsPayoutCancel: { + parameters: { + query?: never; + header?: never; + path: { + payout: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payout"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPayoutsPayoutReverse: { + parameters: { + query?: never; + header?: never; + path: { + payout: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["payout"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPlans: { + parameters: { + query?: { + /** @description Only return plans that are active or inactive (e.g., pass `false` to list all inactive plans). */ + active?: boolean; + /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return plans for the given product. */ + product?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["plan"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPlans: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether the plan is currently available for new subscriptions. Defaults to `true`. */ + active?: boolean; + /** + * @description Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`. + * @enum {string} + */ + aggregate_usage?: "last_during_period" | "last_ever" | "max" | "sum"; + /** @description A positive integer in cents (or local equivalent) (or 0 for a free plan) representing how much to charge on a recurring basis. */ + amount?: number; + /** + * Format: decimal + * @description Same as `amount`, but accepts a decimal value with at most 12 decimal places. Only one of `amount` and `amount_decimal` can be set. + */ + amount_decimal?: string; + /** + * @description Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes. + * @enum {string} + */ + billing_scheme?: "per_unit" | "tiered"; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description An identifier randomly generated by Stripe. Used to identify this plan when subscribing a customer. You can optionally override this ID, but the ID must be unique across all plans in your Stripe account. You can, however, use the same plan ID in both live and test modes. */ + id?: string; + /** + * @description Specifies billing frequency. Either `day`, `week`, `month` or `year`. + * @enum {string} + */ + interval: "day" | "month" | "week" | "year"; + /** @description The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). */ + interval_count?: number; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description A brief description of the plan, hidden from customers. */ + nickname?: string; + product?: { + active?: boolean; + id?: string; + metadata?: { + [key: string]: string; + }; + name: string; + statement_descriptor?: string; + tax_code?: string; + unit_label?: string; + } | string; + /** @description Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. */ + tiers?: { + flat_amount?: number; + /** Format: decimal */ + flat_amount_decimal?: string; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + up_to: "inf" | number; + }[]; + /** + * @description Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows. + * @enum {string} + */ + tiers_mode?: "graduated" | "volume"; + /** + * transform_usage_param + * @description Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`. + */ + transform_usage?: { + divide_by: number; + /** @enum {string} */ + round: "down" | "up"; + }; + /** @description Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). */ + trial_period_days?: number; + /** + * @description Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`. + * @enum {string} + */ + usage_type?: "licensed" | "metered"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["plan"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPlansPlan: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + plan: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["plan"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPlansPlan: { + parameters: { + query?: never; + header?: never; + path: { + plan: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether the plan is currently available for new subscriptions. */ + active?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description A brief description of the plan, hidden from customers. */ + nickname?: string; + /** @description The product the plan belongs to. This cannot be changed once it has been used in a subscription or subscription schedule. */ + product?: string; + /** @description Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). */ + trial_period_days?: number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["plan"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeletePlansPlan: { + parameters: { + query?: never; + header?: never; + path: { + plan: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_plan"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPrices: { + parameters: { + query?: { + /** @description Only return prices that are active or inactive (e.g., pass `false` to list all inactive prices). */ + active?: boolean; + /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return prices for the given currency. */ + currency?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return the price with these lookup_keys, if any exist. */ + lookup_keys?: string[]; + /** @description Only return prices for the given product. */ + product?: string; + /** @description Only return prices with these recurring fields. */ + recurring?: { + /** @enum {string} */ + interval?: "day" | "month" | "week" | "year"; + /** @enum {string} */ + usage_type?: "licensed" | "metered"; + }; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return prices of type `recurring` or `one_time`. */ + type?: "one_time" | "recurring"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["price"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPrices: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether the price can be used for new purchases. Defaults to `true`. */ + active?: boolean; + /** + * @description Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes. + * @enum {string} + */ + billing_scheme?: "per_unit" | "tiered"; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ + currency_options?: { + [key: string]: { + /** custom_unit_amount */ + custom_unit_amount?: { + enabled: boolean; + maximum?: number; + minimum?: number; + preset?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + tiers?: { + flat_amount?: number; + /** Format: decimal */ + flat_amount_decimal?: string; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + up_to: "inf" | number; + }[]; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + }; + /** + * custom_unit_amount + * @description When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. + */ + custom_unit_amount?: { + enabled: boolean; + maximum?: number; + minimum?: number; + preset?: number; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. */ + lookup_key?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description A brief description of the price, hidden from customers. */ + nickname?: string; + /** @description The ID of the product that this price will belong to. */ + product?: string; + /** + * inline_product_params + * @description These fields can be used to create a new product that this price will belong to. + */ + product_data?: { + active?: boolean; + id?: string; + metadata?: { + [key: string]: string; + }; + name: string; + statement_descriptor?: string; + tax_code?: string; + unit_label?: string; + }; + /** + * recurring + * @description The recurring components of a price such as `interval` and `usage_type`. + */ + recurring?: { + /** @enum {string} */ + aggregate_usage?: "last_during_period" | "last_ever" | "max" | "sum"; + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + /** @enum {string} */ + usage_type?: "licensed" | "metered"; + }; + /** + * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. + * @enum {string} + */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + /** @description Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. */ + tiers?: { + flat_amount?: number; + /** Format: decimal */ + flat_amount_decimal?: string; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + up_to: "inf" | number; + }[]; + /** + * @description Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows. + * @enum {string} + */ + tiers_mode?: "graduated" | "volume"; + /** @description If set to true, will atomically remove the lookup key from the existing price, and assign it to this price. */ + transfer_lookup_key?: boolean; + /** + * transform_usage_param + * @description Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`. + */ + transform_quantity?: { + divide_by: number; + /** @enum {string} */ + round: "down" | "up"; + }; + /** @description A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. One of `unit_amount` or `custom_unit_amount` is required, unless `billing_scheme=tiered`. */ + unit_amount?: number; + /** + * Format: decimal + * @description Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. + */ + unit_amount_decimal?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["price"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPricesSearch: { + parameters: { + query: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ + page?: string; + /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for prices](https://stripe.com/docs/search#query-fields-for-prices). */ + query: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["price"][]; + has_more: boolean; + next_page?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "search_result"; + /** @description The total number of objects that match the query, only accurate up to 10,000. */ + total_count?: number; + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPricesPrice: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + price: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["price"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPricesPrice: { + parameters: { + query?: never; + header?: never; + path: { + price: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether the price can be used for new purchases. Defaults to `true`. */ + active?: boolean; + /** @description Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ + currency_options?: { + [key: string]: { + /** custom_unit_amount */ + custom_unit_amount?: { + enabled: boolean; + maximum?: number; + minimum?: number; + preset?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + tiers?: { + flat_amount?: number; + /** Format: decimal */ + flat_amount_decimal?: string; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + up_to: "inf" | number; + }[]; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + } | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. */ + lookup_key?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description A brief description of the price, hidden from customers. */ + nickname?: string; + /** + * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. + * @enum {string} + */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + /** @description If set to true, will atomically remove the lookup key from the existing price, and assign it to this price. */ + transfer_lookup_key?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["price"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetProducts: { + parameters: { + query?: { + /** @description Only return products that are active or inactive (e.g., pass `false` to list all inactive products). */ + active?: boolean; + /** @description Only return products that were created during the given date interval. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Only return products with the given IDs. Cannot be used with [starting_after](https://stripe.com/docs/api#list_products-starting_after) or [ending_before](https://stripe.com/docs/api#list_products-ending_before). */ + ids?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return products that can be shipped (i.e., physical, not digital products). */ + shippable?: boolean; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return products with the given url. */ + url?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["product"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostProducts: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether the product is currently available for purchase. Defaults to `true`. */ + active?: boolean; + /** + * price_data_without_product + * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object. This Price will be set as the default price for this product. + */ + default_price_data?: { + currency: string; + currency_options?: { + [key: string]: { + /** custom_unit_amount */ + custom_unit_amount?: { + enabled: boolean; + maximum?: number; + minimum?: number; + preset?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + tiers?: { + flat_amount?: number; + /** Format: decimal */ + flat_amount_decimal?: string; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + up_to: "inf" | number; + }[]; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + }; + /** recurring_adhoc */ + recurring?: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + /** @description The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A list of up to 15 features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table). */ + features?: { + name: string; + }[]; + /** @description An identifier will be randomly generated by Stripe. You can optionally override this ID, but the ID must be unique across all products in your Stripe account. */ + id?: string; + /** @description A list of up to 8 URLs of images for this product, meant to be displayable to the customer. */ + images?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The product's name, meant to be displayable to the customer. */ + name: string; + /** + * package_dimensions_specs + * @description The dimensions of this product for shipping purposes. + */ + package_dimensions?: { + height: number; + length: number; + weight: number; + width: number; + }; + /** @description Whether this product is shipped (i.e., physical goods). */ + shippable?: boolean; + /** @description An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. + * + * This may be up to 22 characters. The statement description may not include `<`, `>`, `\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. + * It must contain at least one letter. */ + statement_descriptor?: string; + /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. */ + tax_code?: string; + /** @description A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. */ + unit_label?: string; + /** @description A URL of a publicly-accessible webpage for this product. */ + url?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["product"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetProductsSearch: { + parameters: { + query: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ + page?: string; + /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for products](https://stripe.com/docs/search#query-fields-for-products). */ + query: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["product"][]; + has_more: boolean; + next_page?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "search_result"; + /** @description The total number of objects that match the query, only accurate up to 10,000. */ + total_count?: number; + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetProductsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["product"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostProductsId: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether the product is available for purchase. */ + active?: boolean; + /** @description The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product. */ + default_price?: string; + /** @description The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. */ + description?: string | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A list of up to 15 features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table). */ + features?: { + name: string; + }[] | ""; + /** @description A list of up to 8 URLs of images for this product, meant to be displayable to the customer. */ + images?: string[] | ""; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The product's name, meant to be displayable to the customer. */ + name?: string; + /** @description The dimensions of this product for shipping purposes. */ + package_dimensions?: { + height: number; + length: number; + weight: number; + width: number; + } | ""; + /** @description Whether this product is shipped (i.e., physical goods). */ + shippable?: boolean; + /** @description An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. + * + * This may be up to 22 characters. The statement description may not include `<`, `>`, `\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. + * It must contain at least one letter. May only be set if `type=service`. */ + statement_descriptor?: string; + /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. */ + tax_code?: string | ""; + /** @description A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. May only be set if `type=service`. */ + unit_label?: string | ""; + /** @description A URL of a publicly-accessible webpage for this product. */ + url?: string | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["product"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteProductsId: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_product"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPromotionCodes: { + parameters: { + query?: { + /** @description Filter promotion codes by whether they are active. */ + active?: boolean; + /** @description Only return promotion codes that have this case-insensitive code. */ + code?: string; + /** @description Only return promotion codes for this coupon. */ + coupon?: string; + /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return promotion codes that are restricted to this customer. */ + customer?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["promotion_code"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPromotionCodes: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether the promotion code is currently active. */ + active?: boolean; + /** @description The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for a specific customer. If left blank, we will generate one automatically. */ + code?: string; + /** @description The coupon for this promotion code. */ + coupon: string; + /** @description The customer that this promotion code can be used by. If not set, the promotion code can be used by all customers. */ + customer?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * Format: unix-time + * @description The timestamp at which this promotion code will expire. If the coupon has specified a `redeems_by`, then this value cannot be after the coupon's `redeems_by`. + */ + expires_at?: number; + /** @description A positive integer specifying the number of times the promotion code can be redeemed. If the coupon has specified a `max_redemptions`, then this value cannot be greater than the coupon's `max_redemptions`. */ + max_redemptions?: number; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** + * restrictions_params + * @description Settings that restrict the redemption of the promotion code. + */ + restrictions?: { + currency_options?: { + [key: string]: { + minimum_amount?: number; + }; + }; + first_time_transaction?: boolean; + minimum_amount?: number; + minimum_amount_currency?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["promotion_code"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetPromotionCodesPromotionCode: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + promotion_code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["promotion_code"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostPromotionCodesPromotionCode: { + parameters: { + query?: never; + header?: never; + path: { + promotion_code: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether the promotion code is currently active. A promotion code can only be reactivated when the coupon is still valid and the promotion code is otherwise redeemable. */ + active?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** + * restrictions_params + * @description Settings that restrict the redemption of the promotion code. + */ + restrictions?: { + currency_options?: { + [key: string]: { + minimum_amount?: number; + }; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["promotion_code"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetQuotes: { + parameters: { + query?: { + /** @description The ID of the customer whose quotes will be retrieved. */ + customer?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description The status of the quote. */ + status?: "accepted" | "canceled" | "draft" | "open"; + /** @description Provides a list of quotes that are associated with the specified test clock. The response will not include quotes with test clocks if this and the customer parameter is not set. */ + test_clock?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["quote"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostQuotes: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field. */ + application_fee_amount?: number | ""; + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field. */ + application_fee_percent?: number | ""; + /** + * automatic_tax_param + * @description Settings for automatic tax lookup for this quote and resulting invoices and subscriptions. + */ + automatic_tax?: { + enabled: boolean; + }; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. + * @enum {string} + */ + collection_method?: "charge_automatically" | "send_invoice"; + /** @description The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed. */ + customer?: string; + /** @description The tax rates that will apply to any line item that does not have `tax_rates` set. */ + default_tax_rates?: string[] | ""; + /** @description A description that will be displayed on the quote PDF. If no value is passed, the default description configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. */ + description?: string | ""; + /** @description The discounts applied to the quote. You can only set up to one discount. */ + discounts?: { + coupon?: string; + discount?: string; + }[] | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * Format: unix-time + * @description A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. If no value is passed, the default expiration date configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. + */ + expires_at?: number; + /** @description A footer that will be displayed on the quote PDF. If no value is passed, the default footer configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. */ + footer?: string | ""; + /** + * from_quote_params + * @description Clone an existing quote. The new quote will be created in `status=draft`. When using this parameter, you cannot specify any other parameters except for `expires_at`. + */ + from_quote?: { + is_revision?: boolean; + quote: string; + }; + /** @description A header that will be displayed on the quote PDF. If no value is passed, the default header configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. */ + header?: string | ""; + /** + * quote_param + * @description All invoices will be billed using the specified settings. + */ + invoice_settings?: { + days_until_due?: number; + }; + /** @description A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost. */ + line_items?: { + price?: string; + /** price_data */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring?: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The account on behalf of which to charge. */ + on_behalf_of?: string | ""; + /** + * subscription_data_create_params + * @description When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created. + */ + subscription_data?: { + description?: string; + effective_date?: "current_period_end" | number | ""; + trial_period_days?: number | ""; + }; + /** @description ID of the test clock to attach to the quote. */ + test_clock?: string; + /** @description The data with which to automatically create a Transfer for each of the invoices. */ + transfer_data?: { + amount?: number; + amount_percent?: number; + destination: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["quote"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetQuotesQuote: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + quote: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["quote"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostQuotesQuote: { + parameters: { + query?: never; + header?: never; + path: { + quote: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field. */ + application_fee_amount?: number | ""; + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field. */ + application_fee_percent?: number | ""; + /** + * automatic_tax_param + * @description Settings for automatic tax lookup for this quote and resulting invoices and subscriptions. + */ + automatic_tax?: { + enabled: boolean; + }; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. + * @enum {string} + */ + collection_method?: "charge_automatically" | "send_invoice"; + /** @description The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed. */ + customer?: string; + /** @description The tax rates that will apply to any line item that does not have `tax_rates` set. */ + default_tax_rates?: string[] | ""; + /** @description A description that will be displayed on the quote PDF. */ + description?: string | ""; + /** @description The discounts applied to the quote. You can only set up to one discount. */ + discounts?: { + coupon?: string; + discount?: string; + }[] | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * Format: unix-time + * @description A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. + */ + expires_at?: number; + /** @description A footer that will be displayed on the quote PDF. */ + footer?: string | ""; + /** @description A header that will be displayed on the quote PDF. */ + header?: string | ""; + /** + * quote_param + * @description All invoices will be billed using the specified settings. + */ + invoice_settings?: { + days_until_due?: number; + }; + /** @description A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost. */ + line_items?: { + id?: string; + price?: string; + /** price_data */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring?: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The account on behalf of which to charge. */ + on_behalf_of?: string | ""; + /** + * subscription_data_update_params + * @description When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created. + */ + subscription_data?: { + description?: string | ""; + effective_date?: "current_period_end" | number | ""; + trial_period_days?: number | ""; + }; + /** @description The data with which to automatically create a Transfer for each of the invoices. */ + transfer_data?: { + amount?: number; + amount_percent?: number; + destination: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["quote"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostQuotesQuoteAccept: { + parameters: { + query?: never; + header?: never; + path: { + quote: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["quote"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostQuotesQuoteCancel: { + parameters: { + query?: never; + header?: never; + path: { + quote: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["quote"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetQuotesQuoteComputedUpfrontLineItems: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + quote: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostQuotesQuoteFinalize: { + parameters: { + query?: never; + header?: never; + path: { + quote: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * Format: unix-time + * @description A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. + */ + expires_at?: number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["quote"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetQuotesQuoteLineItems: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + quote: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetQuotesQuotePdf: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + quote: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/pdf": string; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetRadarEarlyFraudWarnings: { + parameters: { + query?: { + /** @description Only return early fraud warnings for the charge specified by this charge ID. */ + charge?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return early fraud warnings for charges that were created by the PaymentIntent specified by this PaymentIntent ID. */ + payment_intent?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["radar.early_fraud_warning"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetRadarEarlyFraudWarningsEarlyFraudWarning: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + early_fraud_warning: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["radar.early_fraud_warning"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetRadarValueListItems: { + parameters: { + query: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Return items belonging to the parent list whose value matches the specified value (using an "is like" match). */ + value?: string; + /** @description Identifier for the parent value list this item belongs to. */ + value_list: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["radar.value_list_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostRadarValueListItems: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The value of the item (whose type must match the type of the parent value list). */ + value: string; + /** @description The identifier of the value list which the created item will be added to. */ + value_list: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["radar.value_list_item"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetRadarValueListItemsItem: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + item: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["radar.value_list_item"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteRadarValueListItemsItem: { + parameters: { + query?: never; + header?: never; + path: { + item: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_radar.value_list_item"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetRadarValueLists: { + parameters: { + query?: { + /** @description The alias used to reference the value list when writing rules. */ + alias?: string; + /** @description A value contained within a value list - returns all value lists containing this value. */ + contains?: string; + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["radar.value_list"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostRadarValueLists: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The name of the value list for use in rules. */ + alias: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * @description Type of the items in the value list. One of `card_fingerprint`, `us_bank_account_fingerprint`, `sepa_debit_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, or `customer_id`. Use `string` if the item type is unknown or mixed. + * @enum {string} + */ + item_type?: "card_bin" | "card_fingerprint" | "case_sensitive_string" | "country" | "customer_id" | "email" | "ip_address" | "sepa_debit_fingerprint" | "string" | "us_bank_account_fingerprint"; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The human-readable name of the value list. */ + name: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["radar.value_list"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetRadarValueListsValueList: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + value_list: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["radar.value_list"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostRadarValueListsValueList: { + parameters: { + query?: never; + header?: never; + path: { + value_list: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The name of the value list for use in rules. */ + alias?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The human-readable name of the value list. */ + name?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["radar.value_list"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteRadarValueListsValueList: { + parameters: { + query?: never; + header?: never; + path: { + value_list: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_radar.value_list"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetRefunds: { + parameters: { + query?: { + /** @description Only return refunds for the charge specified by this charge ID. */ + charge?: string; + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return refunds for the PaymentIntent specified by this ID. */ + payment_intent?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["refund"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostRefunds: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + amount?: number; + /** @description The identifier of the charge to refund. */ + charge?: string; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description Customer whose customer balance to refund from. */ + customer?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions. */ + instructions_email?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** + * @description Origin of the refund + * @enum {string} + */ + origin?: "customer_balance"; + /** @description The identifier of the PaymentIntent to refund. */ + payment_intent?: string; + /** + * @description String indicating the reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`. If you believe the charge to be fraudulent, specifying `fraudulent` as the reason will add the associated card and email to your [block lists](https://stripe.com/docs/radar/lists), and will also help us improve our fraud detection algorithms. + * @enum {string} + */ + reason?: "duplicate" | "fraudulent" | "requested_by_customer"; + /** @description Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. */ + refund_application_fee?: boolean; + /** @description Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount).

A transfer can be reversed only by the application that created the charge. */ + reverse_transfer?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["refund"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetRefundsRefund: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + refund: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["refund"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostRefundsRefund: { + parameters: { + query?: never; + header?: never; + path: { + refund: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["refund"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostRefundsRefundCancel: { + parameters: { + query?: never; + header?: never; + path: { + refund: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["refund"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetReportingReportRuns: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["reporting.report_run"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostReportingReportRuns: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * run_parameter_specs + * @description Parameters specifying how the report should be run. Different Report Types have different required and optional parameters, listed in the [API Access to Reports](https://stripe.com/docs/reporting/statements/api) documentation. + */ + parameters?: { + columns?: string[]; + connected_account?: string; + currency?: string; + /** Format: unix-time */ + interval_end?: number; + /** Format: unix-time */ + interval_start?: number; + payout?: string; + /** @enum {string} */ + reporting_category?: "advance" | "advance_funding" | "anticipation_repayment" | "charge" | "charge_failure" | "connect_collection_transfer" | "connect_reserved_funds" | "contribution" | "dispute" | "dispute_reversal" | "fee" | "financing_paydown" | "financing_paydown_reversal" | "financing_payout" | "financing_payout_reversal" | "issuing_authorization_hold" | "issuing_authorization_release" | "issuing_dispute" | "issuing_transaction" | "network_cost" | "obligation" | "other_adjustment" | "partial_capture_reversal" | "payout" | "payout_reversal" | "platform_earning" | "platform_earning_refund" | "refund" | "refund_failure" | "risk_reserved_funds" | "tax" | "topup" | "topup_reversal" | "transfer" | "transfer_reversal"; + /** @enum {string} */ + timezone?: "Africa/Abidjan" | "Africa/Accra" | "Africa/Addis_Ababa" | "Africa/Algiers" | "Africa/Asmara" | "Africa/Asmera" | "Africa/Bamako" | "Africa/Bangui" | "Africa/Banjul" | "Africa/Bissau" | "Africa/Blantyre" | "Africa/Brazzaville" | "Africa/Bujumbura" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Ceuta" | "Africa/Conakry" | "Africa/Dakar" | "Africa/Dar_es_Salaam" | "Africa/Djibouti" | "Africa/Douala" | "Africa/El_Aaiun" | "Africa/Freetown" | "Africa/Gaborone" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Juba" | "Africa/Kampala" | "Africa/Khartoum" | "Africa/Kigali" | "Africa/Kinshasa" | "Africa/Lagos" | "Africa/Libreville" | "Africa/Lome" | "Africa/Luanda" | "Africa/Lubumbashi" | "Africa/Lusaka" | "Africa/Malabo" | "Africa/Maputo" | "Africa/Maseru" | "Africa/Mbabane" | "Africa/Mogadishu" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Ndjamena" | "Africa/Niamey" | "Africa/Nouakchott" | "Africa/Ouagadougou" | "Africa/Porto-Novo" | "Africa/Sao_Tome" | "Africa/Timbuktu" | "Africa/Tripoli" | "Africa/Tunis" | "Africa/Windhoek" | "America/Adak" | "America/Anchorage" | "America/Anguilla" | "America/Antigua" | "America/Araguaina" | "America/Argentina/Buenos_Aires" | "America/Argentina/Catamarca" | "America/Argentina/ComodRivadavia" | "America/Argentina/Cordoba" | "America/Argentina/Jujuy" | "America/Argentina/La_Rioja" | "America/Argentina/Mendoza" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Salta" | "America/Argentina/San_Juan" | "America/Argentina/San_Luis" | "America/Argentina/Tucuman" | "America/Argentina/Ushuaia" | "America/Aruba" | "America/Asuncion" | "America/Atikokan" | "America/Atka" | "America/Bahia" | "America/Bahia_Banderas" | "America/Barbados" | "America/Belem" | "America/Belize" | "America/Blanc-Sablon" | "America/Boa_Vista" | "America/Bogota" | "America/Boise" | "America/Buenos_Aires" | "America/Cambridge_Bay" | "America/Campo_Grande" | "America/Cancun" | "America/Caracas" | "America/Catamarca" | "America/Cayenne" | "America/Cayman" | "America/Chicago" | "America/Chihuahua" | "America/Ciudad_Juarez" | "America/Coral_Harbour" | "America/Cordoba" | "America/Costa_Rica" | "America/Creston" | "America/Cuiaba" | "America/Curacao" | "America/Danmarkshavn" | "America/Dawson" | "America/Dawson_Creek" | "America/Denver" | "America/Detroit" | "America/Dominica" | "America/Edmonton" | "America/Eirunepe" | "America/El_Salvador" | "America/Ensenada" | "America/Fort_Nelson" | "America/Fort_Wayne" | "America/Fortaleza" | "America/Glace_Bay" | "America/Godthab" | "America/Goose_Bay" | "America/Grand_Turk" | "America/Grenada" | "America/Guadeloupe" | "America/Guatemala" | "America/Guayaquil" | "America/Guyana" | "America/Halifax" | "America/Havana" | "America/Hermosillo" | "America/Indiana/Indianapolis" | "America/Indiana/Knox" | "America/Indiana/Marengo" | "America/Indiana/Petersburg" | "America/Indiana/Tell_City" | "America/Indiana/Vevay" | "America/Indiana/Vincennes" | "America/Indiana/Winamac" | "America/Indianapolis" | "America/Inuvik" | "America/Iqaluit" | "America/Jamaica" | "America/Jujuy" | "America/Juneau" | "America/Kentucky/Louisville" | "America/Kentucky/Monticello" | "America/Knox_IN" | "America/Kralendijk" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Louisville" | "America/Lower_Princes" | "America/Maceio" | "America/Managua" | "America/Manaus" | "America/Marigot" | "America/Martinique" | "America/Matamoros" | "America/Mazatlan" | "America/Mendoza" | "America/Menominee" | "America/Merida" | "America/Metlakatla" | "America/Mexico_City" | "America/Miquelon" | "America/Moncton" | "America/Monterrey" | "America/Montevideo" | "America/Montreal" | "America/Montserrat" | "America/Nassau" | "America/New_York" | "America/Nipigon" | "America/Nome" | "America/Noronha" | "America/North_Dakota/Beulah" | "America/North_Dakota/Center" | "America/North_Dakota/New_Salem" | "America/Nuuk" | "America/Ojinaga" | "America/Panama" | "America/Pangnirtung" | "America/Paramaribo" | "America/Phoenix" | "America/Port-au-Prince" | "America/Port_of_Spain" | "America/Porto_Acre" | "America/Porto_Velho" | "America/Puerto_Rico" | "America/Punta_Arenas" | "America/Rainy_River" | "America/Rankin_Inlet" | "America/Recife" | "America/Regina" | "America/Resolute" | "America/Rio_Branco" | "America/Rosario" | "America/Santa_Isabel" | "America/Santarem" | "America/Santiago" | "America/Santo_Domingo" | "America/Sao_Paulo" | "America/Scoresbysund" | "America/Shiprock" | "America/Sitka" | "America/St_Barthelemy" | "America/St_Johns" | "America/St_Kitts" | "America/St_Lucia" | "America/St_Thomas" | "America/St_Vincent" | "America/Swift_Current" | "America/Tegucigalpa" | "America/Thule" | "America/Thunder_Bay" | "America/Tijuana" | "America/Toronto" | "America/Tortola" | "America/Vancouver" | "America/Virgin" | "America/Whitehorse" | "America/Winnipeg" | "America/Yakutat" | "America/Yellowknife" | "Antarctica/Casey" | "Antarctica/Davis" | "Antarctica/DumontDUrville" | "Antarctica/Macquarie" | "Antarctica/Mawson" | "Antarctica/McMurdo" | "Antarctica/Palmer" | "Antarctica/Rothera" | "Antarctica/South_Pole" | "Antarctica/Syowa" | "Antarctica/Troll" | "Antarctica/Vostok" | "Arctic/Longyearbyen" | "Asia/Aden" | "Asia/Almaty" | "Asia/Amman" | "Asia/Anadyr" | "Asia/Aqtau" | "Asia/Aqtobe" | "Asia/Ashgabat" | "Asia/Ashkhabad" | "Asia/Atyrau" | "Asia/Baghdad" | "Asia/Bahrain" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Barnaul" | "Asia/Beirut" | "Asia/Bishkek" | "Asia/Brunei" | "Asia/Calcutta" | "Asia/Chita" | "Asia/Choibalsan" | "Asia/Chongqing" | "Asia/Chungking" | "Asia/Colombo" | "Asia/Dacca" | "Asia/Damascus" | "Asia/Dhaka" | "Asia/Dili" | "Asia/Dubai" | "Asia/Dushanbe" | "Asia/Famagusta" | "Asia/Gaza" | "Asia/Harbin" | "Asia/Hebron" | "Asia/Ho_Chi_Minh" | "Asia/Hong_Kong" | "Asia/Hovd" | "Asia/Irkutsk" | "Asia/Istanbul" | "Asia/Jakarta" | "Asia/Jayapura" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kashgar" | "Asia/Kathmandu" | "Asia/Katmandu" | "Asia/Khandyga" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuching" | "Asia/Kuwait" | "Asia/Macao" | "Asia/Macau" | "Asia/Magadan" | "Asia/Makassar" | "Asia/Manila" | "Asia/Muscat" | "Asia/Nicosia" | "Asia/Novokuznetsk" | "Asia/Novosibirsk" | "Asia/Omsk" | "Asia/Oral" | "Asia/Phnom_Penh" | "Asia/Pontianak" | "Asia/Pyongyang" | "Asia/Qatar" | "Asia/Qostanay" | "Asia/Qyzylorda" | "Asia/Rangoon" | "Asia/Riyadh" | "Asia/Saigon" | "Asia/Sakhalin" | "Asia/Samarkand" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tel_Aviv" | "Asia/Thimbu" | "Asia/Thimphu" | "Asia/Tokyo" | "Asia/Tomsk" | "Asia/Ujung_Pandang" | "Asia/Ulaanbaatar" | "Asia/Ulan_Bator" | "Asia/Urumqi" | "Asia/Ust-Nera" | "Asia/Vientiane" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yangon" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Bermuda" | "Atlantic/Canary" | "Atlantic/Cape_Verde" | "Atlantic/Faeroe" | "Atlantic/Faroe" | "Atlantic/Jan_Mayen" | "Atlantic/Madeira" | "Atlantic/Reykjavik" | "Atlantic/South_Georgia" | "Atlantic/St_Helena" | "Atlantic/Stanley" | "Australia/ACT" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Broken_Hill" | "Australia/Canberra" | "Australia/Currie" | "Australia/Darwin" | "Australia/Eucla" | "Australia/Hobart" | "Australia/LHI" | "Australia/Lindeman" | "Australia/Lord_Howe" | "Australia/Melbourne" | "Australia/NSW" | "Australia/North" | "Australia/Perth" | "Australia/Queensland" | "Australia/South" | "Australia/Sydney" | "Australia/Tasmania" | "Australia/Victoria" | "Australia/West" | "Australia/Yancowinna" | "Brazil/Acre" | "Brazil/DeNoronha" | "Brazil/East" | "Brazil/West" | "CET" | "CST6CDT" | "Canada/Atlantic" | "Canada/Central" | "Canada/Eastern" | "Canada/Mountain" | "Canada/Newfoundland" | "Canada/Pacific" | "Canada/Saskatchewan" | "Canada/Yukon" | "Chile/Continental" | "Chile/EasterIsland" | "Cuba" | "EET" | "EST" | "EST5EDT" | "Egypt" | "Eire" | "Etc/GMT" | "Etc/GMT+0" | "Etc/GMT+1" | "Etc/GMT+10" | "Etc/GMT+11" | "Etc/GMT+12" | "Etc/GMT+2" | "Etc/GMT+3" | "Etc/GMT+4" | "Etc/GMT+5" | "Etc/GMT+6" | "Etc/GMT+7" | "Etc/GMT+8" | "Etc/GMT+9" | "Etc/GMT-0" | "Etc/GMT-1" | "Etc/GMT-10" | "Etc/GMT-11" | "Etc/GMT-12" | "Etc/GMT-13" | "Etc/GMT-14" | "Etc/GMT-2" | "Etc/GMT-3" | "Etc/GMT-4" | "Etc/GMT-5" | "Etc/GMT-6" | "Etc/GMT-7" | "Etc/GMT-8" | "Etc/GMT-9" | "Etc/GMT0" | "Etc/Greenwich" | "Etc/UCT" | "Etc/UTC" | "Etc/Universal" | "Etc/Zulu" | "Europe/Amsterdam" | "Europe/Andorra" | "Europe/Astrakhan" | "Europe/Athens" | "Europe/Belfast" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Bratislava" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Busingen" | "Europe/Chisinau" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Gibraltar" | "Europe/Guernsey" | "Europe/Helsinki" | "Europe/Isle_of_Man" | "Europe/Istanbul" | "Europe/Jersey" | "Europe/Kaliningrad" | "Europe/Kiev" | "Europe/Kirov" | "Europe/Kyiv" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Luxembourg" | "Europe/Madrid" | "Europe/Malta" | "Europe/Mariehamn" | "Europe/Minsk" | "Europe/Monaco" | "Europe/Moscow" | "Europe/Nicosia" | "Europe/Oslo" | "Europe/Paris" | "Europe/Podgorica" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/San_Marino" | "Europe/Sarajevo" | "Europe/Saratov" | "Europe/Simferopol" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Tirane" | "Europe/Tiraspol" | "Europe/Ulyanovsk" | "Europe/Uzhgorod" | "Europe/Vaduz" | "Europe/Vatican" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zaporozhye" | "Europe/Zurich" | "Factory" | "GB" | "GB-Eire" | "GMT" | "GMT+0" | "GMT-0" | "GMT0" | "Greenwich" | "HST" | "Hongkong" | "Iceland" | "Indian/Antananarivo" | "Indian/Chagos" | "Indian/Christmas" | "Indian/Cocos" | "Indian/Comoro" | "Indian/Kerguelen" | "Indian/Mahe" | "Indian/Maldives" | "Indian/Mauritius" | "Indian/Mayotte" | "Indian/Reunion" | "Iran" | "Israel" | "Jamaica" | "Japan" | "Kwajalein" | "Libya" | "MET" | "MST" | "MST7MDT" | "Mexico/BajaNorte" | "Mexico/BajaSur" | "Mexico/General" | "NZ" | "NZ-CHAT" | "Navajo" | "PRC" | "PST8PDT" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Bougainville" | "Pacific/Chatham" | "Pacific/Chuuk" | "Pacific/Easter" | "Pacific/Efate" | "Pacific/Enderbury" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Funafuti" | "Pacific/Galapagos" | "Pacific/Gambier" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Johnston" | "Pacific/Kanton" | "Pacific/Kiritimati" | "Pacific/Kosrae" | "Pacific/Kwajalein" | "Pacific/Majuro" | "Pacific/Marquesas" | "Pacific/Midway" | "Pacific/Nauru" | "Pacific/Niue" | "Pacific/Norfolk" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Palau" | "Pacific/Pitcairn" | "Pacific/Pohnpei" | "Pacific/Ponape" | "Pacific/Port_Moresby" | "Pacific/Rarotonga" | "Pacific/Saipan" | "Pacific/Samoa" | "Pacific/Tahiti" | "Pacific/Tarawa" | "Pacific/Tongatapu" | "Pacific/Truk" | "Pacific/Wake" | "Pacific/Wallis" | "Pacific/Yap" | "Poland" | "Portugal" | "ROC" | "ROK" | "Singapore" | "Turkey" | "UCT" | "US/Alaska" | "US/Aleutian" | "US/Arizona" | "US/Central" | "US/East-Indiana" | "US/Eastern" | "US/Hawaii" | "US/Indiana-Starke" | "US/Michigan" | "US/Mountain" | "US/Pacific" | "US/Pacific-New" | "US/Samoa" | "UTC" | "Universal" | "W-SU" | "WET" | "Zulu"; + }; + /** @description The ID of the [report type](https://stripe.com/docs/reporting/statements/api#report-types) to run, such as `"balance.summary.1"`. */ + report_type: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reporting.report_run"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetReportingReportRunsReportRun: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + report_run: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reporting.report_run"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetReportingReportTypes: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["reporting.report_type"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetReportingReportTypesReportType: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + report_type: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["reporting.report_type"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetReviews: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["review"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetReviewsReview: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + review: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["review"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostReviewsReviewApprove: { + parameters: { + query?: never; + header?: never; + path: { + review: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["review"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSetupAttempts: { + parameters: { + query: { + /** @description A filter on the list, based on the object `created` field. The value + * can be a string with an integer Unix timestamp or a + * dictionary with a number of different query options. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return SetupAttempts created by the SetupIntent specified by + * this ID. */ + setup_intent: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["setup_attempt"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSetupIntents: { + parameters: { + query?: { + /** @description If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. + * + * It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. */ + attach_to_self?: boolean; + /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return SetupIntents for the customer specified by this customer ID. */ + customer?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return SetupIntents associated with the specified payment method. */ + payment_method?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["setup_intent"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSetupIntents: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. + * + * It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. */ + attach_to_self?: boolean; + /** + * automatic_payment_methods_param + * @description When enabled, this SetupIntent will accept payment methods that you have enabled in the Dashboard and are compatible with this SetupIntent's other parameters. + */ + automatic_payment_methods?: { + /** @enum {string} */ + allow_redirects?: "always" | "never"; + enabled: boolean; + }; + /** @description Set to `true` to attempt to confirm this SetupIntent immediately. This parameter defaults to `false`. If the payment method attached is a card, a return_url may be provided in case additional authentication is required. */ + confirm?: boolean; + /** @description ID of the Customer this SetupIntent belongs to, if one exists. + * + * If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent. */ + customer?: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Indicates the directions of money movement for which this payment method is intended to be used. + * + * Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. */ + flow_directions?: ("inbound" | "outbound")[]; + /** @description This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm). */ + mandate_data?: { + /** customer_acceptance_param */ + customer_acceptance: { + /** Format: unix-time */ + accepted_at?: number; + /** offline_param */ + offline?: Record; + /** online_param */ + online?: { + ip_address: string; + user_agent: string; + }; + /** @enum {string} */ + type: "offline" | "online"; + }; + } | ""; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The Stripe account ID for which this SetupIntent is created. */ + on_behalf_of?: string; + /** @description ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. */ + payment_method?: string; + /** @description The ID of the payment method configuration to use with this Setup Intent. */ + payment_method_configuration?: string; + /** + * payment_method_data_params + * @description When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method) + * value in the SetupIntent. + */ + payment_method_data?: { + /** payment_method_param */ + acss_debit?: { + account_number: string; + institution_number: string; + transit_number: string; + }; + /** param */ + affirm?: Record; + /** param */ + afterpay_clearpay?: Record; + /** param */ + alipay?: Record; + /** param */ + au_becs_debit?: { + account_number: string; + bsb_number: string; + }; + /** param */ + bacs_debit?: { + account_number?: string; + sort_code?: string; + }; + /** param */ + bancontact?: Record; + /** billing_details_inner_params */ + billing_details?: { + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + email?: string | ""; + name?: string | ""; + phone?: string | ""; + }; + /** param */ + blik?: Record; + /** param */ + boleto?: { + tax_id: string; + }; + /** param */ + cashapp?: Record; + /** param */ + customer_balance?: Record; + /** param */ + eps?: { + /** @enum {string} */ + bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; + }; + /** param */ + fpx?: { + /** @enum {string} */ + bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; + }; + /** param */ + giropay?: Record; + /** param */ + grabpay?: Record; + /** param */ + ideal?: { + /** @enum {string} */ + bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; + }; + /** param */ + interac_present?: Record; + /** param */ + klarna?: { + /** date_of_birth */ + dob?: { + day: number; + month: number; + year: number; + }; + }; + /** param */ + konbini?: Record; + /** param */ + link?: Record; + metadata?: { + [key: string]: string; + }; + /** param */ + oxxo?: Record; + /** param */ + p24?: { + /** @enum {string} */ + bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options */ + radar_options?: { + session?: string; + }; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; + /** payment_method_param */ + us_bank_account?: { + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number?: string; + /** @enum {string} */ + account_type?: "checking" | "savings"; + financial_connections_account?: string; + routing_number?: string; + }; + /** param */ + wechat_pay?: Record; + /** param */ + zip?: Record; + }; + /** + * payment_method_options_param + * @description Payment-method-specific configuration for this SetupIntent. + */ + payment_method_options?: { + /** setup_intent_payment_method_options_param */ + acss_debit?: { + /** @enum {string} */ + currency?: "cad" | "usd"; + /** setup_intent_payment_method_options_mandate_options_param */ + mandate_options?: { + custom_mandate_url?: string | ""; + default_for?: ("invoice" | "subscription")[]; + interval_description?: string; + /** @enum {string} */ + payment_schedule?: "combined" | "interval" | "sporadic"; + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** setup_intent_param */ + card?: { + /** setup_intent_mandate_options_param */ + mandate_options?: { + amount: number; + /** @enum {string} */ + amount_type: "fixed" | "maximum"; + currency: string; + description?: string; + /** Format: unix-time */ + end_date?: number; + /** @enum {string} */ + interval: "day" | "month" | "sporadic" | "week" | "year"; + interval_count?: number; + reference: string; + /** Format: unix-time */ + start_date: number; + supported_types?: "india"[]; + }; + /** @enum {string} */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + }; + /** setup_intent_payment_method_options_param */ + link?: Record; + /** payment_method_options_param */ + paypal?: { + billing_agreement_id?: string; + }; + /** setup_intent_payment_method_options_param */ + sepa_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + }; + /** setup_intent_payment_method_options_param */ + us_bank_account?: { + /** linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + return_url?: string; + }; + /** networks_options_param */ + networks?: { + requested?: ("ach" | "us_domestic_wire")[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + }; + /** @description The list of payment method types (e.g. card) that this SetupIntent is allowed to use. If this is not provided, defaults to ["card"]. */ + payment_method_types?: string[]; + /** @description The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm). */ + return_url?: string; + /** + * setup_intent_single_use_params + * @description If this hash is populated, this SetupIntent will generate a single_use Mandate on success. + */ + single_use?: { + amount: number; + currency: string; + }; + /** + * @description Indicates how the payment method is intended to be used in the future. If not provided, this value defaults to `off_session`. + * @enum {string} + */ + usage?: "off_session" | "on_session"; + /** @description Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. */ + use_stripe_sdk?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["setup_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSetupIntentsIntent: { + parameters: { + query?: { + /** @description The client secret of the SetupIntent. Required if a publishable key is used to retrieve the SetupIntent. */ + client_secret?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["setup_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSetupIntentsIntent: { + parameters: { + query?: never; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. + * + * It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. */ + attach_to_self?: boolean; + /** @description ID of the Customer this SetupIntent belongs to, if one exists. + * + * If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent. */ + customer?: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Indicates the directions of money movement for which this payment method is intended to be used. + * + * Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. */ + flow_directions?: ("inbound" | "outbound")[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. */ + payment_method?: string; + /** @description The ID of the payment method configuration to use with this SetupIntent. */ + payment_method_configuration?: string; + /** + * payment_method_data_params + * @description When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method) + * value in the SetupIntent. + */ + payment_method_data?: { + /** payment_method_param */ + acss_debit?: { + account_number: string; + institution_number: string; + transit_number: string; + }; + /** param */ + affirm?: Record; + /** param */ + afterpay_clearpay?: Record; + /** param */ + alipay?: Record; + /** param */ + au_becs_debit?: { + account_number: string; + bsb_number: string; + }; + /** param */ + bacs_debit?: { + account_number?: string; + sort_code?: string; + }; + /** param */ + bancontact?: Record; + /** billing_details_inner_params */ + billing_details?: { + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + email?: string | ""; + name?: string | ""; + phone?: string | ""; + }; + /** param */ + blik?: Record; + /** param */ + boleto?: { + tax_id: string; + }; + /** param */ + cashapp?: Record; + /** param */ + customer_balance?: Record; + /** param */ + eps?: { + /** @enum {string} */ + bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; + }; + /** param */ + fpx?: { + /** @enum {string} */ + bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; + }; + /** param */ + giropay?: Record; + /** param */ + grabpay?: Record; + /** param */ + ideal?: { + /** @enum {string} */ + bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; + }; + /** param */ + interac_present?: Record; + /** param */ + klarna?: { + /** date_of_birth */ + dob?: { + day: number; + month: number; + year: number; + }; + }; + /** param */ + konbini?: Record; + /** param */ + link?: Record; + metadata?: { + [key: string]: string; + }; + /** param */ + oxxo?: Record; + /** param */ + p24?: { + /** @enum {string} */ + bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options */ + radar_options?: { + session?: string; + }; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; + /** payment_method_param */ + us_bank_account?: { + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number?: string; + /** @enum {string} */ + account_type?: "checking" | "savings"; + financial_connections_account?: string; + routing_number?: string; + }; + /** param */ + wechat_pay?: Record; + /** param */ + zip?: Record; + }; + /** + * payment_method_options_param + * @description Payment-method-specific configuration for this SetupIntent. + */ + payment_method_options?: { + /** setup_intent_payment_method_options_param */ + acss_debit?: { + /** @enum {string} */ + currency?: "cad" | "usd"; + /** setup_intent_payment_method_options_mandate_options_param */ + mandate_options?: { + custom_mandate_url?: string | ""; + default_for?: ("invoice" | "subscription")[]; + interval_description?: string; + /** @enum {string} */ + payment_schedule?: "combined" | "interval" | "sporadic"; + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** setup_intent_param */ + card?: { + /** setup_intent_mandate_options_param */ + mandate_options?: { + amount: number; + /** @enum {string} */ + amount_type: "fixed" | "maximum"; + currency: string; + description?: string; + /** Format: unix-time */ + end_date?: number; + /** @enum {string} */ + interval: "day" | "month" | "sporadic" | "week" | "year"; + interval_count?: number; + reference: string; + /** Format: unix-time */ + start_date: number; + supported_types?: "india"[]; + }; + /** @enum {string} */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + }; + /** setup_intent_payment_method_options_param */ + link?: Record; + /** payment_method_options_param */ + paypal?: { + billing_agreement_id?: string; + }; + /** setup_intent_payment_method_options_param */ + sepa_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + }; + /** setup_intent_payment_method_options_param */ + us_bank_account?: { + /** linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + return_url?: string; + }; + /** networks_options_param */ + networks?: { + requested?: ("ach" | "us_domestic_wire")[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + }; + /** @description The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. If this is not provided, defaults to ["card"]. */ + payment_method_types?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["setup_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSetupIntentsIntentCancel: { + parameters: { + query?: never; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * @description Reason for canceling this SetupIntent. Possible values are `abandoned`, `requested_by_customer`, or `duplicate` + * @enum {string} + */ + cancellation_reason?: "abandoned" | "duplicate" | "requested_by_customer"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["setup_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSetupIntentsIntentConfirm: { + parameters: { + query?: never; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The client secret of the SetupIntent. */ + client_secret?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description This hash contains details about the Mandate to create */ + mandate_data?: { + /** customer_acceptance_param */ + customer_acceptance: { + /** Format: unix-time */ + accepted_at?: number; + /** offline_param */ + offline?: Record; + /** online_param */ + online?: { + ip_address: string; + user_agent: string; + }; + /** @enum {string} */ + type: "offline" | "online"; + }; + } | "" | { + /** customer_acceptance_param */ + customer_acceptance: { + /** online_param */ + online: { + ip_address?: string; + user_agent?: string; + }; + /** @enum {string} */ + type: "online"; + }; + }; + /** @description ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. */ + payment_method?: string; + /** + * payment_method_data_params + * @description When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method) + * value in the SetupIntent. + */ + payment_method_data?: { + /** payment_method_param */ + acss_debit?: { + account_number: string; + institution_number: string; + transit_number: string; + }; + /** param */ + affirm?: Record; + /** param */ + afterpay_clearpay?: Record; + /** param */ + alipay?: Record; + /** param */ + au_becs_debit?: { + account_number: string; + bsb_number: string; + }; + /** param */ + bacs_debit?: { + account_number?: string; + sort_code?: string; + }; + /** param */ + bancontact?: Record; + /** billing_details_inner_params */ + billing_details?: { + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + email?: string | ""; + name?: string | ""; + phone?: string | ""; + }; + /** param */ + blik?: Record; + /** param */ + boleto?: { + tax_id: string; + }; + /** param */ + cashapp?: Record; + /** param */ + customer_balance?: Record; + /** param */ + eps?: { + /** @enum {string} */ + bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; + }; + /** param */ + fpx?: { + /** @enum {string} */ + bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; + }; + /** param */ + giropay?: Record; + /** param */ + grabpay?: Record; + /** param */ + ideal?: { + /** @enum {string} */ + bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; + }; + /** param */ + interac_present?: Record; + /** param */ + klarna?: { + /** date_of_birth */ + dob?: { + day: number; + month: number; + year: number; + }; + }; + /** param */ + konbini?: Record; + /** param */ + link?: Record; + metadata?: { + [key: string]: string; + }; + /** param */ + oxxo?: Record; + /** param */ + p24?: { + /** @enum {string} */ + bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; + }; + /** param */ + paynow?: Record; + /** param */ + paypal?: Record; + /** param */ + pix?: Record; + /** param */ + promptpay?: Record; + /** radar_options */ + radar_options?: { + session?: string; + }; + /** param */ + sepa_debit?: { + iban: string; + }; + /** param */ + sofort?: { + /** @enum {string} */ + country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + /** @enum {string} */ + type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; + /** payment_method_param */ + us_bank_account?: { + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number?: string; + /** @enum {string} */ + account_type?: "checking" | "savings"; + financial_connections_account?: string; + routing_number?: string; + }; + /** param */ + wechat_pay?: Record; + /** param */ + zip?: Record; + }; + /** + * payment_method_options_param + * @description Payment-method-specific configuration for this SetupIntent. + */ + payment_method_options?: { + /** setup_intent_payment_method_options_param */ + acss_debit?: { + /** @enum {string} */ + currency?: "cad" | "usd"; + /** setup_intent_payment_method_options_mandate_options_param */ + mandate_options?: { + custom_mandate_url?: string | ""; + default_for?: ("invoice" | "subscription")[]; + interval_description?: string; + /** @enum {string} */ + payment_schedule?: "combined" | "interval" | "sporadic"; + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + /** setup_intent_param */ + card?: { + /** setup_intent_mandate_options_param */ + mandate_options?: { + amount: number; + /** @enum {string} */ + amount_type: "fixed" | "maximum"; + currency: string; + description?: string; + /** Format: unix-time */ + end_date?: number; + /** @enum {string} */ + interval: "day" | "month" | "sporadic" | "week" | "year"; + interval_count?: number; + reference: string; + /** Format: unix-time */ + start_date: number; + supported_types?: "india"[]; + }; + /** @enum {string} */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + }; + /** setup_intent_payment_method_options_param */ + link?: Record; + /** payment_method_options_param */ + paypal?: { + billing_agreement_id?: string; + }; + /** setup_intent_payment_method_options_param */ + sepa_debit?: { + /** payment_method_options_mandate_options_param */ + mandate_options?: Record; + }; + /** setup_intent_payment_method_options_param */ + us_bank_account?: { + /** linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + return_url?: string; + }; + /** networks_options_param */ + networks?: { + requested?: ("ach" | "us_domestic_wire")[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + }; + }; + /** @description The URL to redirect your customer back to after they authenticate on the payment method's app or site. + * If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. + * This parameter is only used for cards and other redirect-based payment methods. */ + return_url?: string; + /** @description Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. */ + use_stripe_sdk?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["setup_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSetupIntentsIntentVerifyMicrodeposits: { + parameters: { + query?: never; + header?: never; + path: { + intent: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account. */ + amounts?: number[]; + /** @description The client secret of the SetupIntent. */ + client_secret?: string; + /** @description A six-character code starting with SM present in the microdeposit sent to the bank account. */ + descriptor_code?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["setup_intent"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetShippingRates: { + parameters: { + query?: { + /** @description Only return shipping rates that are active or inactive. */ + active?: boolean; + /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return shipping rates for the given currency. */ + currency?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["shipping_rate"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostShippingRates: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * delivery_estimate + * @description The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. + */ + delivery_estimate?: { + /** delivery_estimate_bound */ + maximum?: { + /** @enum {string} */ + unit: "business_day" | "day" | "hour" | "month" | "week"; + value: number; + }; + /** delivery_estimate_bound */ + minimum?: { + /** @enum {string} */ + unit: "business_day" | "day" | "hour" | "month" | "week"; + value: number; + }; + }; + /** @description The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. */ + display_name: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * fixed_amount + * @description Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. + */ + fixed_amount?: { + amount: number; + currency: string; + currency_options?: { + [key: string]: { + amount: number; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + }; + }; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** + * @description Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. + * @enum {string} + */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. */ + tax_code?: string; + /** + * @description The type of calculation to use on the shipping rate. Can only be `fixed_amount` for now. + * @enum {string} + */ + type?: "fixed_amount"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["shipping_rate"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetShippingRatesShippingRateToken: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + shipping_rate_token: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["shipping_rate"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostShippingRatesShippingRateToken: { + parameters: { + query?: never; + header?: never; + path: { + shipping_rate_token: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Whether the shipping rate can be used for new purchases. Defaults to `true`. */ + active?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * fixed_amount_update + * @description Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. + */ + fixed_amount?: { + currency_options?: { + [key: string]: { + amount?: number; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + }; + }; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** + * @description Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. + * @enum {string} + */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["shipping_rate"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSigmaScheduledQueryRuns: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["scheduled_query_run"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSigmaScheduledQueryRunsScheduledQueryRun: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + scheduled_query_run: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["scheduled_query_run"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSources: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources. Not supported for `receiver` type sources, where charge amount may not be specified until funds land. */ + amount?: number; + /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. */ + currency?: string; + /** @description The `Customer` to whom the original source is attached to. Must be set when the original source is not a `Source` (e.g., `Card`). */ + customer?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * @description The authentication `flow` of the source to create. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`. It is generally inferred unless a type supports multiple flows. + * @enum {string} + */ + flow?: "code_verification" | "none" | "receiver" | "redirect"; + /** + * mandate_params + * @description Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status. + */ + mandate?: { + /** mandate_acceptance_params */ + acceptance?: { + /** Format: unix-time */ + date?: number; + ip?: string; + /** mandate_offline_acceptance_params */ + offline?: { + contact_email: string; + }; + /** mandate_online_acceptance_params */ + online?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string; + }; + /** @enum {string} */ + status: "accepted" | "pending" | "refused" | "revoked"; + /** @enum {string} */ + type?: "offline" | "online"; + user_agent?: string; + }; + amount?: number | ""; + currency?: string; + /** @enum {string} */ + interval?: "one_time" | "scheduled" | "variable"; + /** @enum {string} */ + notification_method?: "deprecated_none" | "email" | "manual" | "none" | "stripe_email"; + }; + metadata?: { + [key: string]: string; + }; + /** @description The source to share. */ + original_source?: string; + /** + * owner + * @description Information about the owner of the payment instrument that may be used or required by particular source types. + */ + owner?: { + /** source_address */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + email?: string; + name?: string; + phone?: string; + }; + /** + * receiver_params + * @description Optional parameters for the receiver flow. Can be set only if the source is a receiver (`flow` is `receiver`). + */ + receiver?: { + /** @enum {string} */ + refund_attributes_method?: "email" | "manual" | "none"; + }; + /** + * redirect_params + * @description Parameters required for the redirect flow. Required if the source is authenticated by a redirect (`flow` is `redirect`). + */ + redirect?: { + return_url: string; + }; + /** + * shallow_order_specs + * @description Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it. + */ + source_order?: { + items?: { + amount?: number; + currency?: string; + description?: string; + parent?: string; + quantity?: number; + /** @enum {string} */ + type?: "discount" | "shipping" | "sku" | "tax"; + }[]; + /** order_shipping */ + shipping?: { + /** address */ + address: { + city?: string; + country?: string; + line1: string; + line2?: string; + postal_code?: string; + state?: string; + }; + carrier?: string; + name?: string; + phone?: string; + tracking_number?: string; + }; + }; + /** @description An arbitrary string to be displayed on your customer's statement. As an example, if your website is `RunClub` and the item you're charging for is a race ticket, you may want to specify a `statement_descriptor` of `RunClub 5K race ticket.` While many payment types will display this information, some may not display it at all. */ + statement_descriptor?: string; + /** @description An optional token used to create the source. When passed, token properties will override source parameters. */ + token?: string; + /** @description The `type` of the source to create. Required unless `customer` and `original_source` are specified (see the [Cloning card Sources](https://stripe.com/docs/sources/connect#cloning-card-sources) guide) */ + type?: string; + /** @enum {string} */ + usage?: "reusable" | "single_use"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSourcesSource: { + parameters: { + query?: { + /** @description The client secret of the source. Required if a publishable key is used to retrieve the source. */ + client_secret?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + source: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSourcesSource: { + parameters: { + query?: never; + header?: never; + path: { + source: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount associated with the source. */ + amount?: number; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * mandate_params + * @description Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status. + */ + mandate?: { + /** mandate_acceptance_params */ + acceptance?: { + /** Format: unix-time */ + date?: number; + ip?: string; + /** mandate_offline_acceptance_params */ + offline?: { + contact_email: string; + }; + /** mandate_online_acceptance_params */ + online?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string; + }; + /** @enum {string} */ + status: "accepted" | "pending" | "refused" | "revoked"; + /** @enum {string} */ + type?: "offline" | "online"; + user_agent?: string; + }; + amount?: number | ""; + currency?: string; + /** @enum {string} */ + interval?: "one_time" | "scheduled" | "variable"; + /** @enum {string} */ + notification_method?: "deprecated_none" | "email" | "manual" | "none" | "stripe_email"; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** + * owner + * @description Information about the owner of the payment instrument that may be used or required by particular source types. + */ + owner?: { + /** source_address */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + email?: string; + name?: string; + phone?: string; + }; + /** + * order_params + * @description Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it. + */ + source_order?: { + items?: { + amount?: number; + currency?: string; + description?: string; + parent?: string; + quantity?: number; + /** @enum {string} */ + type?: "discount" | "shipping" | "sku" | "tax"; + }[]; + /** order_shipping */ + shipping?: { + /** address */ + address: { + city?: string; + country?: string; + line1: string; + line2?: string; + postal_code?: string; + state?: string; + }; + carrier?: string; + name?: string; + phone?: string; + tracking_number?: string; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSourcesSourceMandateNotificationsMandateNotification: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + mandate_notification: string; + source: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["source_mandate_notification"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSourcesSourceSourceTransactions: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + source: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["source_transaction"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSourcesSourceSourceTransactionsSourceTransaction: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + source: string; + source_transaction: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["source_transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSourcesSourceVerify: { + parameters: { + query?: never; + header?: never; + path: { + source: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The values needed to verify the source. */ + values: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["source"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSubscriptionItems: { + parameters: { + query: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description The ID of the subscription whose items will be retrieved. */ + subscription: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["subscription_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSubscriptionItems: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds. */ + billing_thresholds?: { + usage_gte: number; + } | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** + * @description Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. + * + * Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. + * + * Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). + * + * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. + * @enum {string} + */ + payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; + /** @description The ID of the price object. */ + price?: string; + /** + * recurring_price_data + * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. + */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + /** + * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. + * @enum {string} + */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** + * Format: unix-time + * @description If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. + */ + proration_date?: number; + /** @description The quantity you'd like to apply to the subscription item you're creating. */ + quantity?: number; + /** @description The identifier of the subscription to modify. */ + subscription: string; + /** @description A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. */ + tax_rates?: string[] | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription_item"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSubscriptionItemsItem: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + item: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription_item"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSubscriptionItemsItem: { + parameters: { + query?: never; + header?: never; + path: { + item: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds. */ + billing_thresholds?: { + usage_gte: number; + } | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ + off_session?: boolean; + /** + * @description Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. + * + * Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. + * + * Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). + * + * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. + * @enum {string} + */ + payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; + /** @description The ID of the price object. When changing a subscription item's price, `quantity` is set to 1 unless a `quantity` parameter is provided. */ + price?: string; + /** + * recurring_price_data + * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. + */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + /** + * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. + * @enum {string} + */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** + * Format: unix-time + * @description If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. + */ + proration_date?: number; + /** @description The quantity you'd like to apply to the subscription item you're creating. */ + quantity?: number; + /** @description A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. */ + tax_rates?: string[] | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription_item"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteSubscriptionItemsItem: { + parameters: { + query?: never; + header?: never; + path: { + item: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Delete all usage for the given subscription item. Allowed only when the current plan's `usage_type` is `metered`. */ + clear_usage?: boolean; + /** + * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. + * @enum {string} + */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** + * Format: unix-time + * @description If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. + */ + proration_date?: number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_subscription_item"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSubscriptionItemsSubscriptionItemUsageRecordSummaries: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + subscription_item: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["usage_record_summary"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSubscriptionItemsSubscriptionItemUsageRecords: { + parameters: { + query?: never; + header?: never; + path: { + subscription_item: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * @description Valid values are `increment` (default) or `set`. When using `increment` the specified `quantity` will be added to the usage at the specified timestamp. The `set` action will overwrite the usage quantity at that timestamp. If the subscription has [billing thresholds](https://stripe.com/docs/api/subscriptions/object#subscription_object-billing_thresholds), `increment` is the only allowed value. + * @enum {string} + */ + action?: "increment" | "set"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The usage quantity for the specified timestamp. */ + quantity: number; + /** @description The timestamp for the usage event. This timestamp must be within the current billing period of the subscription of the provided `subscription_item`, and must not be in the future. When passing `"now"`, Stripe records usage for the current time. Default is `"now"` if a value is not provided. */ + timestamp?: "now" | number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["usage_record"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSubscriptionSchedules: { + parameters: { + query?: { + /** @description Only return subscription schedules that were created canceled the given date interval. */ + canceled_at?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return subscription schedules that completed during the given date interval. */ + completed_at?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return subscription schedules that were created during the given date interval. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return subscription schedules for the given customer. */ + customer?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return subscription schedules that were released during the given date interval. */ + released_at?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return subscription schedules that have not started yet. */ + scheduled?: boolean; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["subscription_schedule"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSubscriptionSchedules: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The identifier of the customer to create the subscription schedule for. */ + customer?: string; + /** + * default_settings_params + * @description Object representing the subscription schedule's default settings. + */ + default_settings?: { + application_fee_percent?: number; + /** automatic_tax_config */ + automatic_tax?: { + enabled: boolean; + }; + /** @enum {string} */ + billing_cycle_anchor?: "automatic" | "phase_start"; + billing_thresholds?: { + amount_gte?: number; + reset_billing_cycle_anchor?: boolean; + } | ""; + /** @enum {string} */ + collection_method?: "charge_automatically" | "send_invoice"; + default_payment_method?: string; + description?: string | ""; + /** subscription_schedule_default_settings_param */ + invoice_settings?: { + days_until_due?: number; + }; + on_behalf_of?: string | ""; + transfer_data?: { + amount_percent?: number; + destination: string; + } | ""; + }; + /** + * @description Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running.`cancel` will end the subscription schedule and cancel the underlying subscription. + * @enum {string} + */ + end_behavior?: "cancel" | "none" | "release" | "renew"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Migrate an existing subscription to be managed by a subscription schedule. If this parameter is set, a subscription schedule will be created using the subscription's item(s), set to auto-renew using the subscription's interval. When using this parameter, other parameters (such as phase values) cannot be set. To create a subscription schedule with other modifications, we recommend making two separate API calls. */ + from_subscription?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. */ + phases?: { + add_invoice_items?: { + price?: string; + /** one_time_price_data_with_negative_amounts */ + price_data?: { + currency: string; + product: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + application_fee_percent?: number; + /** automatic_tax_config */ + automatic_tax?: { + enabled: boolean; + }; + /** @enum {string} */ + billing_cycle_anchor?: "automatic" | "phase_start"; + billing_thresholds?: { + amount_gte?: number; + reset_billing_cycle_anchor?: boolean; + } | ""; + /** @enum {string} */ + collection_method?: "charge_automatically" | "send_invoice"; + coupon?: string; + currency?: string; + default_payment_method?: string; + default_tax_rates?: string[] | ""; + description?: string | ""; + /** Format: unix-time */ + end_date?: number; + /** invoice_settings */ + invoice_settings?: { + days_until_due?: number; + }; + items: { + billing_thresholds?: { + usage_gte: number; + } | ""; + metadata?: { + [key: string]: string; + }; + price?: string; + /** recurring_price_data */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + iterations?: number; + metadata?: { + [key: string]: string; + }; + on_behalf_of?: string; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** transfer_data_specs */ + transfer_data?: { + amount_percent?: number; + destination: string; + }; + trial?: boolean; + /** Format: unix-time */ + trial_end?: number; + }[]; + /** @description When the subscription schedule starts. We recommend using `now` so that it starts the subscription immediately. You can also use a Unix timestamp to backdate the subscription so that it starts on a past date, or set a future date for the subscription to start on. */ + start_date?: number | "now"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription_schedule"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSubscriptionSchedulesSchedule: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + schedule: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription_schedule"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSubscriptionSchedulesSchedule: { + parameters: { + query?: never; + header?: never; + path: { + schedule: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * default_settings_params + * @description Object representing the subscription schedule's default settings. + */ + default_settings?: { + application_fee_percent?: number; + /** automatic_tax_config */ + automatic_tax?: { + enabled: boolean; + }; + /** @enum {string} */ + billing_cycle_anchor?: "automatic" | "phase_start"; + billing_thresholds?: { + amount_gte?: number; + reset_billing_cycle_anchor?: boolean; + } | ""; + /** @enum {string} */ + collection_method?: "charge_automatically" | "send_invoice"; + default_payment_method?: string; + description?: string | ""; + /** subscription_schedule_default_settings_param */ + invoice_settings?: { + days_until_due?: number; + }; + on_behalf_of?: string | ""; + transfer_data?: { + amount_percent?: number; + destination: string; + } | ""; + }; + /** + * @description Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running.`cancel` will end the subscription schedule and cancel the underlying subscription. + * @enum {string} + */ + end_behavior?: "cancel" | "none" | "release" | "renew"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. Note that past phases can be omitted. */ + phases?: { + add_invoice_items?: { + price?: string; + /** one_time_price_data_with_negative_amounts */ + price_data?: { + currency: string; + product: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + application_fee_percent?: number; + /** automatic_tax_config */ + automatic_tax?: { + enabled: boolean; + }; + /** @enum {string} */ + billing_cycle_anchor?: "automatic" | "phase_start"; + billing_thresholds?: { + amount_gte?: number; + reset_billing_cycle_anchor?: boolean; + } | ""; + /** @enum {string} */ + collection_method?: "charge_automatically" | "send_invoice"; + coupon?: string; + default_payment_method?: string; + default_tax_rates?: string[] | ""; + description?: string | ""; + end_date?: number | "now"; + /** invoice_settings */ + invoice_settings?: { + days_until_due?: number; + }; + items: { + billing_thresholds?: { + usage_gte: number; + } | ""; + metadata?: { + [key: string]: string; + }; + price?: string; + /** recurring_price_data */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + iterations?: number; + metadata?: { + [key: string]: string; + }; + on_behalf_of?: string; + /** @enum {string} */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + start_date?: number | "now"; + /** transfer_data_specs */ + transfer_data?: { + amount_percent?: number; + destination: string; + }; + trial?: boolean; + trial_end?: number | "now"; + }[]; + /** + * @description If the update changes the current phase, indicates whether the changes should be prorated. The default value is `create_prorations`. + * @enum {string} + */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription_schedule"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSubscriptionSchedulesScheduleCancel: { + parameters: { + query?: never; + header?: never; + path: { + schedule: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description If the subscription schedule is `active`, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Defaults to `true`. */ + invoice_now?: boolean; + /** @description If the subscription schedule is `active`, indicates if the cancellation should be prorated. Defaults to `true`. */ + prorate?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription_schedule"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSubscriptionSchedulesScheduleRelease: { + parameters: { + query?: never; + header?: never; + path: { + schedule: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Keep any cancellation on the subscription that the schedule has set */ + preserve_cancel_date?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription_schedule"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSubscriptions: { + parameters: { + query?: { + /** @description Filter subscriptions by their automatic tax settings. */ + automatic_tax?: { + enabled: boolean; + }; + /** @description The collection method of the subscriptions to retrieve. Either `charge_automatically` or `send_invoice`. */ + collection_method?: "charge_automatically" | "send_invoice"; + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + current_period_end?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + current_period_start?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description The ID of the customer whose subscriptions will be retrieved. */ + customer?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Filter for subscriptions that contain this recurring price ID. */ + price?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description The status of the subscriptions to retrieve. Passing in a value of `canceled` will return all canceled subscriptions, including those belonging to deleted customers. Pass `ended` to find subscriptions that are canceled and subscriptions that are expired due to [incomplete payment](https://stripe.com/docs/billing/subscriptions/overview#subscription-statuses). Passing in a value of `all` will return subscriptions of all statuses. If no value is supplied, all subscriptions that have not been canceled are returned. */ + status?: "active" | "all" | "canceled" | "ended" | "incomplete" | "incomplete_expired" | "past_due" | "paused" | "trialing" | "unpaid"; + /** @description Filter for subscriptions that are associated with the specified test clock. The response will not include subscriptions with test clocks if this and the customer parameter is not set. */ + test_clock?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["subscription"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSubscriptions: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items. */ + add_invoice_items?: { + price?: string; + /** one_time_price_data_with_negative_amounts */ + price_data?: { + currency: string; + product: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). */ + application_fee_percent?: number; + /** + * automatic_tax_config + * @description Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed. + */ + automatic_tax?: { + enabled: boolean; + }; + /** + * Format: unix-time + * @description For new subscriptions, a past timestamp to backdate the subscription's start date to. If set, the first invoice will contain a proration for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor. + */ + backdate_start_date?: number; + /** + * Format: unix-time + * @description A future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format. + */ + billing_cycle_anchor?: number; + /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. */ + billing_thresholds?: { + amount_gte?: number; + reset_billing_cycle_anchor?: boolean; + } | ""; + /** + * Format: unix-time + * @description A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. + */ + cancel_at?: number; + /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ + cancel_at_period_end?: boolean; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. + * @enum {string} + */ + collection_method?: "charge_automatically" | "send_invoice"; + /** @description The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. */ + coupon?: string; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description The identifier of the customer to subscribe. */ + customer: string; + /** @description Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`. */ + days_until_due?: number; + /** @description ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ + default_payment_method?: string; + /** @description ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ + default_source?: string; + /** @description The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. */ + default_tax_rates?: string[] | ""; + /** @description The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A list of up to 20 subscription items, each with an attached price. */ + items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + metadata?: { + [key: string]: string; + }; + price?: string; + /** recurring_price_data */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ + off_session?: boolean; + /** @description The account on behalf of which to charge, for each of the subscription's invoices. */ + on_behalf_of?: string | ""; + /** + * @description Only applies to subscriptions with `collection_method=charge_automatically`. + * + * Use `allow_incomplete` to create subscriptions with `status=incomplete` if the first invoice cannot be paid. Creating subscriptions with this status allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. + * + * Use `default_incomplete` to create Subscriptions with `status=incomplete` when the first invoice requires payment, otherwise start as active. Subscriptions transition to `status=active` when successfully confirming the payment intent on the first invoice. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. If the payment intent is not confirmed within 23 hours subscriptions transition to `status=incomplete_expired`, which is a terminal state. + * + * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's first invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not create a subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. + * + * `pending_if_incomplete` is only used with updates and cannot be passed when creating a subscription. + * + * Subscriptions with `collection_method=send_invoice` are automatically activated regardless of the first invoice status. + * @enum {string} + */ + payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; + /** + * payment_settings + * @description Payment settings to pass to invoices created by the subscription. + */ + payment_settings?: { + /** payment_method_options */ + payment_method_options?: { + acss_debit?: { + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + bancontact?: { + /** @enum {string} */ + preferred_language?: "de" | "en" | "fr" | "nl"; + } | ""; + card?: { + /** mandate_options_param */ + mandate_options?: { + amount?: number; + /** @enum {string} */ + amount_type?: "fixed" | "maximum"; + description?: string; + }; + /** @enum {string} */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[] | ""; + /** @enum {string} */ + save_default_payment_method?: "off" | "on_subscription"; + }; + /** @description Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. */ + pending_invoice_item_interval?: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + } | ""; + /** @description The API ID of a promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. */ + promotion_code?: string; + /** + * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`. + * @enum {string} + */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** + * transfer_data_specs + * @description If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. + */ + transfer_data?: { + amount_percent?: number; + destination: string; + }; + /** @description Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ + trial_end?: "now" | number; + /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ + trial_from_plan?: boolean; + /** @description Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ + trial_period_days?: number; + /** + * trial_settings_config + * @description Settings related to subscription trials. + */ + trial_settings?: { + /** end_behavior */ + end_behavior: { + /** @enum {string} */ + missing_payment_method: "cancel" | "create_invoice" | "pause"; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSubscriptionsSearch: { + parameters: { + query: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ + page?: string; + /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for subscriptions](https://stripe.com/docs/search#query-fields-for-subscriptions). */ + query: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["subscription"][]; + has_more: boolean; + next_page?: string | null; + /** + * @description String representing the object's type. Objects of the same type share the same value. + * @enum {string} + */ + object: "search_result"; + /** @description The total number of objects that match the query, only accurate up to 10,000. */ + total_count?: number; + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetSubscriptionsSubscriptionExposedId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + subscription_exposed_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSubscriptionsSubscriptionExposedId: { + parameters: { + query?: never; + header?: never; + path: { + subscription_exposed_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items. */ + add_invoice_items?: { + price?: string; + /** one_time_price_data_with_negative_amounts */ + price_data?: { + currency: string; + product: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). */ + application_fee_percent?: number; + /** + * automatic_tax_config + * @description Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed. + */ + automatic_tax?: { + enabled: boolean; + }; + /** + * @description Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). + * @enum {string} + */ + billing_cycle_anchor?: "now" | "unchanged"; + /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. */ + billing_thresholds?: { + amount_gte?: number; + reset_billing_cycle_anchor?: boolean; + } | ""; + /** @description A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. */ + cancel_at?: number | ""; + /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ + cancel_at_period_end?: boolean; + /** + * cancellation_details_param + * @description Details about why this subscription was cancelled + */ + cancellation_details?: { + comment?: string | ""; + /** @enum {string} */ + feedback?: "" | "customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused"; + }; + /** + * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. + * @enum {string} + */ + collection_method?: "charge_automatically" | "send_invoice"; + /** @description The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. */ + coupon?: string; + /** @description Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`. */ + days_until_due?: number; + /** @description ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ + default_payment_method?: string; + /** @description ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ + default_source?: string | ""; + /** @description The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates. */ + default_tax_rates?: string[] | ""; + /** @description The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces. */ + description?: string | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A list of up to 20 subscription items, each with an attached price. */ + items?: { + billing_thresholds?: { + usage_gte: number; + } | ""; + clear_usage?: boolean; + deleted?: boolean; + id?: string; + metadata?: { + [key: string]: string; + } | ""; + price?: string; + /** recurring_price_data */ + price_data?: { + currency: string; + product: string; + /** recurring_adhoc */ + recurring: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + }; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "unspecified"; + unit_amount?: number; + /** Format: decimal */ + unit_amount_decimal?: string; + }; + quantity?: number; + tax_rates?: string[] | ""; + }[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ + off_session?: boolean; + /** @description The account on behalf of which to charge, for each of the subscription's invoices. */ + on_behalf_of?: string | ""; + /** @description If specified, payment collection for this subscription will be paused. */ + pause_collection?: { + /** @enum {string} */ + behavior: "keep_as_draft" | "mark_uncollectible" | "void"; + /** Format: unix-time */ + resumes_at?: number; + } | ""; + /** + * @description Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. + * + * Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. + * + * Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). + * + * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. + * @enum {string} + */ + payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; + /** + * payment_settings + * @description Payment settings to pass to invoices created by the subscription. + */ + payment_settings?: { + /** payment_method_options */ + payment_method_options?: { + acss_debit?: { + /** mandate_options_param */ + mandate_options?: { + /** @enum {string} */ + transaction_type?: "business" | "personal"; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + bancontact?: { + /** @enum {string} */ + preferred_language?: "de" | "en" | "fr" | "nl"; + } | ""; + card?: { + /** mandate_options_param */ + mandate_options?: { + amount?: number; + /** @enum {string} */ + amount_type?: "fixed" | "maximum"; + description?: string; + }; + /** @enum {string} */ + network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; + /** @enum {string} */ + request_three_d_secure?: "any" | "automatic"; + } | ""; + customer_balance?: { + /** bank_transfer_param */ + bank_transfer?: { + /** eu_bank_transfer_param */ + eu_bank_transfer?: { + country: string; + }; + type?: string; + }; + funding_type?: string; + } | ""; + konbini?: Record | ""; + us_bank_account?: { + /** invoice_linked_account_options_param */ + financial_connections?: { + permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; + prefetch?: "balances"[]; + }; + /** @enum {string} */ + verification_method?: "automatic" | "instant" | "microdeposits"; + } | ""; + }; + payment_method_types?: ("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[] | ""; + /** @enum {string} */ + save_default_payment_method?: "off" | "on_subscription"; + }; + /** @description Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. */ + pending_invoice_item_interval?: { + /** @enum {string} */ + interval: "day" | "month" | "week" | "year"; + interval_count?: number; + } | ""; + /** @description The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. */ + promotion_code?: string; + /** + * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. + * @enum {string} + */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** + * Format: unix-time + * @description If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#upcoming_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations. + */ + proration_date?: number; + /** @description If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value. */ + transfer_data?: { + amount_percent?: number; + destination: string; + } | ""; + /** @description Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. */ + trial_end?: "now" | number; + /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ + trial_from_plan?: boolean; + /** + * trial_settings_config + * @description Settings related to subscription trials. + */ + trial_settings?: { + /** end_behavior */ + end_behavior: { + /** @enum {string} */ + missing_payment_method: "cancel" | "create_invoice" | "pause"; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteSubscriptionsSubscriptionExposedId: { + parameters: { + query?: never; + header?: never; + path: { + subscription_exposed_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * cancellation_details_param + * @description Details about why this subscription was cancelled + */ + cancellation_details?: { + comment?: string | ""; + /** @enum {string} */ + feedback?: "" | "customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused"; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items. */ + invoice_now?: boolean; + /** @description Will generate a proration invoice item that credits remaining unused time until the subscription period end. */ + prorate?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteSubscriptionsSubscriptionExposedIdDiscount: { + parameters: { + query?: never; + header?: never; + path: { + subscription_exposed_id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_discount"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostSubscriptionsSubscriptionResume: { + parameters: { + query?: never; + header?: never; + path: { + subscription: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * @description Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). Setting the value to `unchanged` advances the subscription's billing cycle anchor to the period that surrounds the current time. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). + * @enum {string} + */ + billing_cycle_anchor?: "now" | "unchanged"; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. + * @enum {string} + */ + proration_behavior?: "always_invoice" | "create_prorations" | "none"; + /** + * Format: unix-time + * @description If set, the proration will be calculated as though the subscription was resumed at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. + */ + proration_date?: number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["subscription"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTaxCalculations: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description The ID of an existing customer to use for this calculation. If provided, the customer's address and tax IDs are copied to `customer_details`. */ + customer?: string; + /** + * customer_details + * @description Details about the customer, including address and tax IDs. + */ + customer_details?: { + /** postal_address */ + address?: { + city?: string | ""; + country: string; + line1?: string | ""; + line2?: string | ""; + postal_code?: string | ""; + state?: string | ""; + }; + /** @enum {string} */ + address_source?: "billing" | "shipping"; + ip_address?: string; + tax_ids?: { + /** @enum {string} */ + type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; + value: string; + }[]; + /** @enum {string} */ + taxability_override?: "customer_exempt" | "none" | "reverse_charge"; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A list of items the customer is purchasing. */ + line_items: { + amount: number; + product?: string; + quantity?: number; + reference?: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive"; + tax_code?: string; + }[]; + /** + * shipping_cost + * @description Shipping cost details to be used for the calculation. + */ + shipping_cost?: { + amount?: number; + shipping_rate?: string; + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive"; + tax_code?: string; + }; + /** @description Timestamp of date at which the tax rules and rates in effect applies for the calculation. Measured in seconds since the Unix epoch. Can be up to 48 hours in the past, and up to 48 hours in the future. */ + tax_date?: number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax.calculation"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTaxCalculationsCalculationLineItems: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + calculation: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["tax.calculation_line_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTaxSettings: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax.settings"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTaxSettings: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * defaults_param + * @description Default configuration to be used on Stripe Tax calculations. + */ + defaults?: { + /** @enum {string} */ + tax_behavior?: "exclusive" | "inclusive" | "inferred_by_currency"; + tax_code?: string; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * head_office_param + * @description The place where your business is located. + */ + head_office?: { + /** validated_country_address */ + address: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax.settings"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTaxTransactionsCreateFromCalculation: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Tax Calculation ID to be used as input when creating the transaction. */ + calculation: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description A custom order or sale identifier, such as 'myOrder_123'. Must be unique across all transactions, including reversals. */ + reference: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax.transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTaxTransactionsCreateReversal: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A flat amount to reverse across the entire transaction, in negative integer cents. This value represents the total amount to refund from the transaction, including taxes. */ + flat_amount?: number; + /** @description The line item amounts to reverse. */ + line_items?: { + amount: number; + amount_tax: number; + metadata?: { + [key: string]: string; + }; + original_line_item: string; + quantity?: number; + reference: string; + }[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** + * @description If `partial`, the provided line item or shipping cost amounts are reversed. If `full`, the original transaction is fully reversed. + * @enum {string} + */ + mode: "full" | "partial"; + /** @description The ID of the Transaction to partially or fully reverse. */ + original_transaction: string; + /** @description A custom identifier for this reversal, such as `myOrder_123-refund_1`, which must be unique across all transactions. The reference helps identify this reversal transaction in exported [tax reports](https://stripe.com/docs/tax/reports). */ + reference: string; + /** + * transaction_shipping_cost_reversal + * @description The shipping cost to reverse. + */ + shipping_cost?: { + amount: number; + amount_tax: number; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax.transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTaxTransactionsTransaction: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + transaction: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax.transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTaxTransactionsTransactionLineItems: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + transaction: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["tax.transaction_line_item"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTaxCodes: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["tax_code"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTaxCodesId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax_code"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTaxRates: { + parameters: { + query?: { + /** @description Optional flag to filter by tax rates that are either active or inactive (archived). */ + active?: boolean; + /** @description Optional range for filtering created date. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Optional flag to filter by tax rates that are inclusive (or those that are not inclusive). */ + inclusive?: boolean; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["tax_rate"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTaxRates: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. */ + active?: boolean; + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country?: string; + /** @description An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. */ + description?: string; + /** @description The display name of the tax rate, which will be shown to users. */ + display_name: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description This specifies if the tax rate is inclusive or exclusive. */ + inclusive: boolean; + /** @description The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice. */ + jurisdiction?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description This represents the tax rate percent out of 100. */ + percentage: number; + /** @description [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. */ + state?: string; + /** + * @description The high-level tax type, such as `vat` or `sales_tax`. + * @enum {string} + */ + tax_type?: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "service_tax" | "vat"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax_rate"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTaxRatesTaxRate: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + tax_rate: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax_rate"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTaxRatesTaxRate: { + parameters: { + query?: never; + header?: never; + path: { + tax_rate: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. */ + active?: boolean; + /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ + country?: string; + /** @description An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. */ + description?: string; + /** @description The display name of the tax rate, which will be shown to users. */ + display_name?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice. */ + jurisdiction?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. */ + state?: string; + /** + * @description The high-level tax type, such as `vat` or `sales_tax`. + * @enum {string} + */ + tax_type?: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "service_tax" | "vat"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["tax_rate"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTerminalConfigurations: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description if present, only return the account default or non-default configurations. */ + is_account_default?: boolean; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["terminal.configuration"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalConfigurations: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * bbpos_wise_pose + * @description An object containing device type specific settings for BBPOS WisePOS E readers + */ + bbpos_wisepos_e?: { + splashscreen?: string | ""; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Tipping configurations for readers supporting on-reader tips */ + tipping?: { + /** currency_specific_config */ + aud?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + cad?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + chf?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + czk?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + dkk?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + eur?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + gbp?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + hkd?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + myr?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + nok?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + nzd?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + sek?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + sgd?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + usd?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + } | ""; + /** + * verifone_p400 + * @description An object containing device type specific settings for Verifone P400 readers + */ + verifone_p400?: { + splashscreen?: string | ""; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.configuration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTerminalConfigurationsConfiguration: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + configuration: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.configuration"] | components["schemas"]["deleted_terminal.configuration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalConfigurationsConfiguration: { + parameters: { + query?: never; + header?: never; + path: { + configuration: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description An object containing device type specific settings for BBPOS WisePOS E readers */ + bbpos_wisepos_e?: { + splashscreen?: string | ""; + } | ""; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Tipping configurations for readers supporting on-reader tips */ + tipping?: { + /** currency_specific_config */ + aud?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + cad?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + chf?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + czk?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + dkk?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + eur?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + gbp?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + hkd?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + myr?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + nok?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + nzd?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + sek?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + sgd?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + /** currency_specific_config */ + usd?: { + fixed_amounts?: number[]; + percentages?: number[]; + smart_tip_threshold?: number; + }; + } | ""; + /** @description An object containing device type specific settings for Verifone P400 readers */ + verifone_p400?: { + splashscreen?: string | ""; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.configuration"] | components["schemas"]["deleted_terminal.configuration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteTerminalConfigurationsConfiguration: { + parameters: { + query?: never; + header?: never; + path: { + configuration: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_terminal.configuration"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalConnectionTokens: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The id of the location that this connection token is scoped to. If specified the connection token will only be usable with readers assigned to that location, otherwise the connection token will be usable with all readers. Note that location scoping only applies to internet-connected readers. For more details, see [the docs on scoping connection tokens](https://stripe.com/docs/terminal/fleet/locations#connection-tokens). */ + location?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.connection_token"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTerminalLocations: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["terminal.location"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalLocations: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * create_location_address_param + * @description The full address of the location. + */ + address: { + city?: string; + country: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** @description The ID of a configuration that will be used to customize all readers in this location. */ + configuration_overrides?: string; + /** @description A name for the location. */ + display_name: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.location"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTerminalLocationsLocation: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + location: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.location"] | components["schemas"]["deleted_terminal.location"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalLocationsLocation: { + parameters: { + query?: never; + header?: never; + path: { + location: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * optional_fields_address + * @description The full address of the location. + */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** @description The ID of a configuration that will be used to customize all readers in this location. */ + configuration_overrides?: string | ""; + /** @description A name for the location. */ + display_name?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.location"] | components["schemas"]["deleted_terminal.location"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteTerminalLocationsLocation: { + parameters: { + query?: never; + header?: never; + path: { + location: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_terminal.location"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTerminalReaders: { + parameters: { + query?: { + /** @description Filters readers by device type */ + device_type?: "bbpos_chipper2x" | "bbpos_wisepad3" | "bbpos_wisepos_e" | "simulated_wisepos_e" | "stripe_m2" | "verifone_P400"; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A location ID to filter the response list to only readers at the specific location */ + location?: string; + /** @description Filters readers by serial number */ + serial_number?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description A status filter to filter readers to only offline or online readers */ + status?: "offline" | "online"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description A list of readers */ + data: components["schemas"]["terminal.reader"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalReaders: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Custom label given to the reader for easier identification. If no label is specified, the registration code will be used. */ + label?: string; + /** @description The location to assign the reader to. */ + location?: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description A code generated by the reader used for registering to an account. */ + registration_code: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.reader"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTerminalReadersReader: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + reader: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.reader"] | components["schemas"]["deleted_terminal.reader"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalReadersReader: { + parameters: { + query?: never; + header?: never; + path: { + reader: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The new label of the reader. */ + label?: string | ""; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.reader"] | components["schemas"]["deleted_terminal.reader"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteTerminalReadersReader: { + parameters: { + query?: never; + header?: never; + path: { + reader: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_terminal.reader"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalReadersReaderCancelAction: { + parameters: { + query?: never; + header?: never; + path: { + reader: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.reader"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalReadersReaderProcessPaymentIntent: { + parameters: { + query?: never; + header?: never; + path: { + reader: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description PaymentIntent ID */ + payment_intent: string; + /** + * process_config + * @description Configuration overrides + */ + process_config?: { + skip_tipping?: boolean; + /** tipping_config */ + tipping?: { + amount_eligible?: number; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.reader"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalReadersReaderProcessSetupIntent: { + parameters: { + query?: never; + header?: never; + path: { + reader: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Customer Consent Collected */ + customer_consent_collected: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * process_setup_config + * @description Configuration overrides + */ + process_config?: Record; + /** @description SetupIntent ID */ + setup_intent: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.reader"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalReadersReaderRefundPayment: { + parameters: { + query?: never; + header?: never; + path: { + reader: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description A positive integer in __cents__ representing how much of this charge to refund. */ + amount?: number; + /** @description ID of the Charge to refund. */ + charge?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description ID of the PaymentIntent to refund. */ + payment_intent?: string; + /** @description Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. */ + refund_application_fee?: boolean; + /** @description Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge. */ + reverse_transfer?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.reader"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTerminalReadersReaderSetReaderDisplay: { + parameters: { + query?: never; + header?: never; + path: { + reader: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * cart + * @description Cart + */ + cart?: { + currency: string; + line_items: { + amount: number; + description: string; + quantity: number; + }[]; + tax?: number; + total: number; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * @description Type + * @enum {string} + */ + type: "cart"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.reader"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersCustomersCustomerFundCashBalance: { + parameters: { + query?: never; + header?: never; + path: { + customer: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount to be used for this test cash balance transaction. A positive integer representing how much to fund in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to fund $1.00 or 100 to fund ¥100, a zero-decimal currency). */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A description of the test funding. This simulates free-text references supplied by customers when making bank transfers to their cash balance. You can use this to test how Stripe's [reconciliation algorithm](https://stripe.com/docs/payments/customer-balance/reconciliation) applies to different user inputs. */ + reference?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["customer_cash_balance_transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingAuthorizations: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The total amount to attempt to authorize. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount: number; + /** + * amount_details_specs + * @description Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). + */ + amount_details?: { + atm_fee?: number; + cashback_amount?: number; + }; + /** + * @description How the card details were provided. Defaults to online. + * @enum {string} + */ + authorization_method?: "chip" | "contactless" | "keyed_in" | "online" | "swipe"; + /** @description Card associated with this authorization. */ + card: string; + /** @description The currency of the authorization. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization. */ + is_amount_controllable?: boolean; + /** + * merchant_data_specs + * @description Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. + */ + merchant_data?: { + /** @enum {string} */ + category?: "ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards"; + city?: string; + country?: string; + name?: string; + network_id?: string; + postal_code?: string; + state?: string; + terminal_id?: string; + }; + /** + * network_data_specs + * @description Details about the authorization, such as identifiers, set by the card network. + */ + network_data?: { + acquiring_institution_id?: string; + }; + /** + * verification_data_specs + * @description Verifications that Stripe performed on information that the cardholder provided to the merchant. + */ + verification_data?: { + /** @enum {string} */ + address_line1_check?: "match" | "mismatch" | "not_provided"; + /** @enum {string} */ + address_postal_code_check?: "match" | "mismatch" | "not_provided"; + /** @enum {string} */ + cvc_check?: "match" | "mismatch" | "not_provided"; + /** @enum {string} */ + expiry_check?: "match" | "mismatch" | "not_provided"; + }; + /** + * @description The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. Will populate as `null` when no digital wallet was utilized. + * @enum {string} + */ + wallet?: "apple_pay" | "google_pay" | "samsung_pay"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.authorization"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingAuthorizationsAuthorizationCapture: { + parameters: { + query?: never; + header?: never; + path: { + authorization: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description The amount to capture from the authorization. If not provided, the full amount of the authorization will be captured. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + capture_amount?: number; + /** @description Whether to close the authorization after capture. Defaults to true. Set to false to enable multi-capture flows. */ + close_authorization?: boolean; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * purchase_details_specs + * @description Additional purchase information that is optionally provided by the merchant. + */ + purchase_details?: { + /** flight_specs */ + flight?: { + /** Format: unix-time */ + departure_at?: number; + passenger_name?: string; + refundable?: boolean; + segments?: { + arrival_airport_code?: string; + carrier?: string; + departure_airport_code?: string; + flight_number?: string; + service_class?: string; + stopover_allowed?: boolean; + }[]; + travel_agency?: string; + }; + /** fuel_specs */ + fuel?: { + /** @enum {string} */ + type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super"; + /** @enum {string} */ + unit?: "liter" | "us_gallon"; + /** Format: decimal */ + unit_cost_decimal?: string; + /** Format: decimal */ + volume_decimal?: string; + }; + /** lodging_specs */ + lodging?: { + /** Format: unix-time */ + check_in_at?: number; + nights?: number; + }; + receipt?: { + description?: string; + /** Format: decimal */ + quantity?: string; + total?: number; + unit_cost?: number; + }[]; + reference?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.authorization"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingAuthorizationsAuthorizationExpire: { + parameters: { + query?: never; + header?: never; + path: { + authorization: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.authorization"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingAuthorizationsAuthorizationIncrement: { + parameters: { + query?: never; + header?: never; + path: { + authorization: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The amount to increment the authorization by. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + increment_amount: number; + /** @description If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization. */ + is_amount_controllable?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.authorization"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingAuthorizationsAuthorizationReverse: { + parameters: { + query?: never; + header?: never; + path: { + authorization: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The amount to reverse from the authorization. If not provided, the full amount of the authorization will be reversed. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + reverse_amount?: number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.authorization"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingCardsCardShippingDeliver: { + parameters: { + query?: never; + header?: never; + path: { + card: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.card"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingCardsCardShippingFail: { + parameters: { + query?: never; + header?: never; + path: { + card: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.card"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingCardsCardShippingReturn: { + parameters: { + query?: never; + header?: never; + path: { + card: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.card"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingCardsCardShippingShip: { + parameters: { + query?: never; + header?: never; + path: { + card: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.card"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingTransactionsCreateForceCapture: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The total amount to attempt to capture. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount: number; + /** @description Card associated with this transaction. */ + card: string; + /** @description The currency of the capture. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * merchant_data_specs + * @description Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. + */ + merchant_data?: { + /** @enum {string} */ + category?: "ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards"; + city?: string; + country?: string; + name?: string; + network_id?: string; + postal_code?: string; + state?: string; + terminal_id?: string; + }; + /** + * purchase_details_specs + * @description Additional purchase information that is optionally provided by the merchant. + */ + purchase_details?: { + /** flight_specs */ + flight?: { + /** Format: unix-time */ + departure_at?: number; + passenger_name?: string; + refundable?: boolean; + segments?: { + arrival_airport_code?: string; + carrier?: string; + departure_airport_code?: string; + flight_number?: string; + service_class?: string; + stopover_allowed?: boolean; + }[]; + travel_agency?: string; + }; + /** fuel_specs */ + fuel?: { + /** @enum {string} */ + type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super"; + /** @enum {string} */ + unit?: "liter" | "us_gallon"; + /** Format: decimal */ + unit_cost_decimal?: string; + /** Format: decimal */ + volume_decimal?: string; + }; + /** lodging_specs */ + lodging?: { + /** Format: unix-time */ + check_in_at?: number; + nights?: number; + }; + receipt?: { + description?: string; + /** Format: decimal */ + quantity?: string; + total?: number; + unit_cost?: number; + }[]; + reference?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingTransactionsCreateUnlinkedRefund: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description The total amount to attempt to refund. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + amount: number; + /** @description Card associated with this unlinked refund transaction. */ + card: string; + /** @description The currency of the unlinked refund. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * merchant_data_specs + * @description Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. + */ + merchant_data?: { + /** @enum {string} */ + category?: "ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards"; + city?: string; + country?: string; + name?: string; + network_id?: string; + postal_code?: string; + state?: string; + terminal_id?: string; + }; + /** + * purchase_details_specs + * @description Additional purchase information that is optionally provided by the merchant. + */ + purchase_details?: { + /** flight_specs */ + flight?: { + /** Format: unix-time */ + departure_at?: number; + passenger_name?: string; + refundable?: boolean; + segments?: { + arrival_airport_code?: string; + carrier?: string; + departure_airport_code?: string; + flight_number?: string; + service_class?: string; + stopover_allowed?: boolean; + }[]; + travel_agency?: string; + }; + /** fuel_specs */ + fuel?: { + /** @enum {string} */ + type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super"; + /** @enum {string} */ + unit?: "liter" | "us_gallon"; + /** Format: decimal */ + unit_cost_decimal?: string; + /** Format: decimal */ + volume_decimal?: string; + }; + /** lodging_specs */ + lodging?: { + /** Format: unix-time */ + check_in_at?: number; + nights?: number; + }; + receipt?: { + description?: string; + /** Format: decimal */ + quantity?: string; + total?: number; + unit_cost?: number; + }[]; + reference?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersIssuingTransactionsTransactionRefund: { + parameters: { + query?: never; + header?: never; + path: { + transaction: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The total amount to attempt to refund. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ + refund_amount?: number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["issuing.transaction"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersRefundsRefundExpire: { + parameters: { + query?: never; + header?: never; + path: { + refund: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["refund"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTerminalReadersReaderPresentPaymentMethod: { + parameters: { + query?: never; + header?: never; + path: { + reader: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Simulated on-reader tip amount. */ + amount_tip?: number; + /** + * card_present + * @description Simulated data for the card_present payment method. + */ + card_present?: { + number?: string; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * interac_present + * @description Simulated data for the interac_present payment method. + */ + interac_present?: { + number?: string; + }; + /** + * @description Simulated payment type. + * @enum {string} + */ + type?: "card_present" | "interac_present"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["terminal.reader"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTestHelpersTestClocks: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["test_helpers.test_clock"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTestClocks: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * Format: unix-time + * @description The initial frozen time for this test clock. + */ + frozen_time: number; + /** @description The name for this test clock. */ + name?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["test_helpers.test_clock"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTestHelpersTestClocksTestClock: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + test_clock: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["test_helpers.test_clock"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + DeleteTestHelpersTestClocksTestClock: { + parameters: { + query?: never; + header?: never; + path: { + test_clock: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_test_helpers.test_clock"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTestClocksTestClockAdvance: { + parameters: { + query?: never; + header?: never; + path: { + test_clock: string; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * Format: unix-time + * @description The time to advance the test clock. Must be after the test clock's current frozen time. Cannot be more than two intervals in the future from the shortest subscription in this test clock. If there are no subscriptions in this test clock, it cannot be more than two years in the future. + */ + frozen_time: number; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["test_helpers.test_clock"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTreasuryInboundTransfersIdFail: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * failure_details_params + * @description Details about a failed InboundTransfer. + */ + failure_details?: { + /** @enum {string} */ + code?: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "debit_not_authorized" | "incorrect_account_holder_address" | "incorrect_account_holder_name" | "incorrect_account_holder_tax_id" | "insufficient_funds" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.inbound_transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTreasuryInboundTransfersIdReturn: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.inbound_transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTreasuryInboundTransfersIdSucceed: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.inbound_transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTreasuryOutboundPaymentsIdFail: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_payment"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTreasuryOutboundPaymentsIdPost: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_payment"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTreasuryOutboundPaymentsIdReturn: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * returned_details_params + * @description Optional hash to set the the return code. + */ + returned_details?: { + /** @enum {string} */ + code?: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "declined" | "incorrect_account_holder_name" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_payment"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTreasuryOutboundTransfersOutboundTransferFail: { + parameters: { + query?: never; + header?: never; + path: { + outbound_transfer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTreasuryOutboundTransfersOutboundTransferPost: { + parameters: { + query?: never; + header?: never; + path: { + outbound_transfer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTreasuryOutboundTransfersOutboundTransferReturn: { + parameters: { + query?: never; + header?: never; + path: { + outbound_transfer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * returned_details_params + * @description Details about a returned OutboundTransfer. + */ + returned_details?: { + /** @enum {string} */ + code?: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "declined" | "incorrect_account_holder_name" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTreasuryReceivedCredits: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount (in cents) to be transferred. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The FinancialAccount to send funds to. */ + financial_account: string; + /** + * source_params + * @description Initiating payment method details for the object. + */ + initiating_payment_method_details?: { + /** @enum {string} */ + type: "us_bank_account"; + /** us_bank_account_source_params */ + us_bank_account?: { + account_holder_name?: string; + account_number?: string; + routing_number?: string; + }; + }; + /** + * @description The rails used for the object. + * @enum {string} + */ + network: "ach" | "us_domestic_wire"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.received_credit"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTestHelpersTreasuryReceivedDebits: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount (in cents) to be transferred. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The FinancialAccount to pull funds from. */ + financial_account: string; + /** + * source_params + * @description Initiating payment method details for the object. + */ + initiating_payment_method_details?: { + /** @enum {string} */ + type: "us_bank_account"; + /** us_bank_account_source_params */ + us_bank_account?: { + account_holder_name?: string; + account_number?: string; + routing_number?: string; + }; + }; + /** + * @description The rails used for the object. + * @enum {string} + */ + network: "ach"; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.received_debit"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTokens: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * connect_js_account_token_specs + * @description Information for the account this token represents. + */ + account?: { + /** @enum {string} */ + business_type?: "company" | "government_entity" | "individual" | "non_profit"; + /** connect_js_account_token_company_specs */ + company?: { + /** address_specs */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** japan_address_kana_specs */ + address_kana?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** japan_address_kanji_specs */ + address_kanji?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + directors_provided?: boolean; + executives_provided?: boolean; + export_license_id?: string; + export_purpose_code?: string; + name?: string; + name_kana?: string; + name_kanji?: string; + owners_provided?: boolean; + /** company_ownership_declaration */ + ownership_declaration?: { + /** Format: unix-time */ + date?: number; + ip?: string; + user_agent?: string; + }; + ownership_declaration_shown_and_signed?: boolean; + phone?: string; + registration_number?: string; + /** @enum {string} */ + structure?: "" | "free_zone_establishment" | "free_zone_llc" | "government_instrumentality" | "governmental_unit" | "incorporated_non_profit" | "incorporated_partnership" | "limited_liability_partnership" | "llc" | "multi_member_llc" | "private_company" | "private_corporation" | "private_partnership" | "public_company" | "public_corporation" | "public_partnership" | "single_member_llc" | "sole_establishment" | "sole_proprietorship" | "tax_exempt_government_instrumentality" | "unincorporated_association" | "unincorporated_non_profit" | "unincorporated_partnership"; + tax_id?: string; + tax_id_registrar?: string; + vat_id?: string; + /** verification_specs */ + verification?: { + /** verification_document_specs */ + document?: { + back?: string; + front?: string; + }; + }; + }; + /** individual_specs */ + individual?: { + /** address_specs */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** japan_address_kana_specs */ + address_kana?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** japan_address_kanji_specs */ + address_kanji?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + dob?: { + day: number; + month: number; + year: number; + } | ""; + email?: string; + first_name?: string; + first_name_kana?: string; + first_name_kanji?: string; + full_name_aliases?: string[] | ""; + gender?: string; + id_number?: string; + id_number_secondary?: string; + last_name?: string; + last_name_kana?: string; + last_name_kanji?: string; + maiden_name?: string; + metadata?: { + [key: string]: string; + } | ""; + phone?: string; + /** @enum {string} */ + political_exposure?: "existing" | "none"; + /** address_specs */ + registered_address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + ssn_last_4?: string; + /** person_verification_specs */ + verification?: { + /** person_verification_document_specs */ + additional_document?: { + back?: string; + front?: string; + }; + /** person_verification_document_specs */ + document?: { + back?: string; + front?: string; + }; + }; + }; + tos_shown_and_accepted?: boolean; + }; + /** + * token_create_bank_account + * @description The bank account this token will represent. + */ + bank_account?: { + account_holder_name?: string; + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number: string; + /** @enum {string} */ + account_type?: "checking" | "futsu" | "savings" | "toza"; + country: string; + currency?: string; + routing_number?: string; + }; + /** @description The card this token will represent. If you also pass in a customer, the card must be the ID of a card belonging to the customer. Otherwise, if you do not pass in a customer, this is a dictionary containing a user's credit card details, with the options described below. */ + card?: { + address_city?: string; + address_country?: string; + address_line1?: string; + address_line2?: string; + address_state?: string; + address_zip?: string; + currency?: string; + cvc?: string; + exp_month: string; + exp_year: string; + name?: string; + number: string; + } | string; + /** @description Create a token for the customer, which is owned by the application's account. You can only use this with an [OAuth access token](https://stripe.com/docs/connect/standard-accounts) or [Stripe-Account header](https://stripe.com/docs/connect/authentication). Learn more about [cloning saved payment methods](https://stripe.com/docs/connect/cloning-saved-payment-methods). */ + customer?: string; + /** + * cvc_params + * @description The updated CVC value this token represents. + */ + cvc_update?: { + cvc: string; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * person_token_specs + * @description Information for the person this token represents. + */ + person?: { + /** address_specs */ + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** japan_address_kana_specs */ + address_kana?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + /** japan_address_kanji_specs */ + address_kanji?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + town?: string; + }; + dob?: { + day: number; + month: number; + year: number; + } | ""; + /** person_documents_specs */ + documents?: { + /** documents_param */ + company_authorization?: { + files?: (string | "")[]; + }; + /** documents_param */ + passport?: { + files?: (string | "")[]; + }; + /** documents_param */ + visa?: { + files?: (string | "")[]; + }; + }; + email?: string; + first_name?: string; + first_name_kana?: string; + first_name_kanji?: string; + full_name_aliases?: string[] | ""; + gender?: string; + id_number?: string; + id_number_secondary?: string; + last_name?: string; + last_name_kana?: string; + last_name_kanji?: string; + maiden_name?: string; + metadata?: { + [key: string]: string; + } | ""; + nationality?: string; + phone?: string; + political_exposure?: string; + /** address_specs */ + registered_address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + }; + /** relationship_specs */ + relationship?: { + director?: boolean; + executive?: boolean; + owner?: boolean; + percent_ownership?: number | ""; + representative?: boolean; + title?: string; + }; + ssn_last_4?: string; + /** person_verification_specs */ + verification?: { + /** person_verification_document_specs */ + additional_document?: { + back?: string; + front?: string; + }; + /** person_verification_document_specs */ + document?: { + back?: string; + front?: string; + }; + }; + }; + /** + * pii_token_specs + * @description The PII this token represents. + */ + pii?: { + id_number?: string; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["token"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTokensToken: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + token: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["token"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTopups: { + parameters: { + query?: { + /** @description A positive integer representing how much to transfer. */ + amount?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return top-ups that have the given status. One of `canceled`, `failed`, `pending` or `succeeded`. */ + status?: "canceled" | "failed" | "pending" | "succeeded"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["topup"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTopups: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description A positive integer representing how much to transfer. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The ID of a source to transfer funds from. For most users, this should be left unspecified which will use the bank account that was set up in the dashboard for the specified currency. In test mode, this can be a test bank token (see [Testing Top-ups](https://stripe.com/docs/connect/testing#testing-top-ups)). */ + source?: string; + /** @description Extra information about a top-up for the source's bank statement. Limited to 15 ASCII characters. */ + statement_descriptor?: string; + /** @description A string that identifies this top-up as part of a group. */ + transfer_group?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topup"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTopupsTopup: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + topup: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topup"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTopupsTopup: { + parameters: { + query?: never; + header?: never; + path: { + topup: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topup"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTopupsTopupCancel: { + parameters: { + query?: never; + header?: never; + path: { + topup: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["topup"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTransfers: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description Only return transfers for the destination specified by this account ID. */ + destination?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return transfers with the specified transfer group. */ + transfer_group?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["transfer"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTransfers: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description A positive integer in cents (or local equivalent) representing how much to transfer. */ + amount?: number; + /** @description 3-letter [ISO code for currency](https://stripe.com/docs/payouts). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description The ID of a connected Stripe account. See the Connect documentation for details. */ + destination: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. [See the Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-availability) for details. */ + source_transaction?: string; + /** + * @description The source balance to use for this transfer. One of `bank_account`, `card`, or `fpx`. For most users, this will default to `card`. + * @enum {string} + */ + source_type?: "bank_account" | "card" | "fpx"; + /** @description A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. */ + transfer_group?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTransfersIdReversals: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["transfer_reversal"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTransfersIdReversals: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description A positive integer in cents (or local equivalent) representing how much of this transfer to reverse. Can only reverse up to the unreversed amount remaining of the transfer. Partial transfer reversals are only allowed for transfers to Stripe Accounts. Defaults to the entire transfer amount. */ + amount?: number; + /** @description An arbitrary string which you can attach to a reversal object. It is displayed alongside the reversal in the Dashboard. This will be unset if you POST an empty value. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description Boolean indicating whether the application fee should be refunded when reversing this transfer. If a full transfer reversal is given, the full application fee will be refunded. Otherwise, the application fee will be refunded with an amount proportional to the amount of the transfer reversed. */ + refund_application_fee?: boolean; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["transfer_reversal"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTransfersTransfer: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + transfer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTransfersTransfer: { + parameters: { + query?: never; + header?: never; + path: { + transfer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTransfersTransferReversalsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + id: string; + transfer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["transfer_reversal"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTransfersTransferReversalsId: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + transfer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["transfer_reversal"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryCreditReversals: { + parameters: { + query: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Returns objects associated with this FinancialAccount. */ + financial_account: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return CreditReversals for the ReceivedCredit ID. */ + received_credit?: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return CreditReversals for a given status. */ + status?: "canceled" | "posted" | "processing"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["treasury.credit_reversal"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTreasuryCreditReversals: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The ReceivedCredit to reverse. */ + received_credit: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.credit_reversal"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryCreditReversalsCreditReversal: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + credit_reversal: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.credit_reversal"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryDebitReversals: { + parameters: { + query: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Returns objects associated with this FinancialAccount. */ + financial_account: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return DebitReversals for the ReceivedDebit ID. */ + received_debit?: string; + /** @description Only return DebitReversals for a given resolution. */ + resolution?: "lost" | "won"; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return DebitReversals for a given status. */ + status?: "canceled" | "completed" | "processing"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["treasury.debit_reversal"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTreasuryDebitReversals: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The ReceivedDebit to reverse. */ + received_debit: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.debit_reversal"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryDebitReversalsDebitReversal: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + debit_reversal: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.debit_reversal"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryFinancialAccounts: { + parameters: { + query?: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description An object ID cursor for use in pagination. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit ranging from 1 to 100 (defaults to 10). */ + limit?: number; + /** @description An object ID cursor for use in pagination. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["treasury.financial_account"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTreasuryFinancialAccounts: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * feature_access + * @description Encodes whether a FinancialAccount has access to a particular feature. Stripe or the platform can control features via the requested field. + */ + features?: { + /** access */ + card_issuing?: { + requested: boolean; + }; + /** access */ + deposit_insurance?: { + requested: boolean; + }; + /** financial_addresses */ + financial_addresses?: { + /** aba_access */ + aba?: { + requested: boolean; + }; + }; + /** inbound_transfers */ + inbound_transfers?: { + /** access_with_ach_details */ + ach?: { + requested: boolean; + }; + }; + /** access */ + intra_stripe_flows?: { + requested: boolean; + }; + /** outbound_payments */ + outbound_payments?: { + /** access_with_ach_details */ + ach?: { + requested: boolean; + }; + /** access */ + us_domestic_wire?: { + requested: boolean; + }; + }; + /** outbound_transfers */ + outbound_transfers?: { + /** access_with_ach_details */ + ach?: { + requested: boolean; + }; + /** access */ + us_domestic_wire?: { + requested: boolean; + }; + }; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** + * platform_restrictions + * @description The set of functionalities that the platform can restrict on the FinancialAccount. + */ + platform_restrictions?: { + /** @enum {string} */ + inbound_flows?: "restricted" | "unrestricted"; + /** @enum {string} */ + outbound_flows?: "restricted" | "unrestricted"; + }; + /** @description The currencies the FinancialAccount can hold a balance in. */ + supported_currencies: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.financial_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryFinancialAccountsFinancialAccount: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + financial_account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.financial_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTreasuryFinancialAccountsFinancialAccount: { + parameters: { + query?: never; + header?: never; + path: { + financial_account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * feature_access + * @description Encodes whether a FinancialAccount has access to a particular feature, with a status enum and associated `status_details`. Stripe or the platform may control features via the requested field. + */ + features?: { + /** access */ + card_issuing?: { + requested: boolean; + }; + /** access */ + deposit_insurance?: { + requested: boolean; + }; + /** financial_addresses */ + financial_addresses?: { + /** aba_access */ + aba?: { + requested: boolean; + }; + }; + /** inbound_transfers */ + inbound_transfers?: { + /** access_with_ach_details */ + ach?: { + requested: boolean; + }; + }; + /** access */ + intra_stripe_flows?: { + requested: boolean; + }; + /** outbound_payments */ + outbound_payments?: { + /** access_with_ach_details */ + ach?: { + requested: boolean; + }; + /** access */ + us_domestic_wire?: { + requested: boolean; + }; + }; + /** outbound_transfers */ + outbound_transfers?: { + /** access_with_ach_details */ + ach?: { + requested: boolean; + }; + /** access */ + us_domestic_wire?: { + requested: boolean; + }; + }; + }; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** + * platform_restrictions + * @description The set of functionalities that the platform can restrict on the FinancialAccount. + */ + platform_restrictions?: { + /** @enum {string} */ + inbound_flows?: "restricted" | "unrestricted"; + /** @enum {string} */ + outbound_flows?: "restricted" | "unrestricted"; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.financial_account"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryFinancialAccountsFinancialAccountFeatures: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + financial_account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.financial_account_features"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTreasuryFinancialAccountsFinancialAccountFeatures: { + parameters: { + query?: never; + header?: never; + path: { + financial_account: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** + * access + * @description Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount. + */ + card_issuing?: { + requested: boolean; + }; + /** + * access + * @description Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount. + */ + deposit_insurance?: { + requested: boolean; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** + * financial_addresses + * @description Contains Features that add FinancialAddresses to the FinancialAccount. + */ + financial_addresses?: { + /** aba_access */ + aba?: { + requested: boolean; + }; + }; + /** + * inbound_transfers + * @description Contains settings related to adding funds to a FinancialAccount from another Account with the same owner. + */ + inbound_transfers?: { + /** access_with_ach_details */ + ach?: { + requested: boolean; + }; + }; + /** + * access + * @description Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment). + */ + intra_stripe_flows?: { + requested: boolean; + }; + /** + * outbound_payments + * @description Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money. + */ + outbound_payments?: { + /** access_with_ach_details */ + ach?: { + requested: boolean; + }; + /** access */ + us_domestic_wire?: { + requested: boolean; + }; + }; + /** + * outbound_transfers + * @description Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner. + */ + outbound_transfers?: { + /** access_with_ach_details */ + ach?: { + requested: boolean; + }; + /** access */ + us_domestic_wire?: { + requested: boolean; + }; + }; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.financial_account_features"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryInboundTransfers: { + parameters: { + query: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Returns objects associated with this FinancialAccount. */ + financial_account: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return InboundTransfers that have the given status: `processing`, `succeeded`, `failed` or `canceled`. */ + status?: "canceled" | "failed" | "processing" | "succeeded"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["treasury.inbound_transfer"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTreasuryInboundTransfers: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount (in cents) to be transferred. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The FinancialAccount to send funds to. */ + financial_account: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The origin payment method to be debited for the InboundTransfer. */ + origin_payment_method: string; + /** @description The complete description that appears on your customers' statements. Maximum 10 characters. */ + statement_descriptor?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.inbound_transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryInboundTransfersId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.inbound_transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTreasuryInboundTransfersInboundTransferCancel: { + parameters: { + query?: never; + header?: never; + path: { + inbound_transfer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.inbound_transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryOutboundPayments: { + parameters: { + query: { + /** @description Only return OutboundPayments sent to this customer. */ + customer?: string; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Returns objects associated with this FinancialAccount. */ + financial_account: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return OutboundPayments that have the given status: `processing`, `failed`, `posted`, `returned`, or `canceled`. */ + status?: "canceled" | "failed" | "posted" | "processing" | "returned"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["treasury.outbound_payment"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTreasuryOutboundPayments: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount (in cents) to be transferred. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description ID of the customer to whom the OutboundPayment is sent. Must match the Customer attached to the `destination_payment_method` passed in. */ + customer?: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description The PaymentMethod to use as the payment instrument for the OutboundPayment. Exclusive with `destination_payment_method_data`. */ + destination_payment_method?: string; + /** + * payment_method_data + * @description Hash used to generate the PaymentMethod to be used for this OutboundPayment. Exclusive with `destination_payment_method`. + */ + destination_payment_method_data?: { + /** billing_details_inner_params */ + billing_details?: { + address?: { + city?: string; + country?: string; + line1?: string; + line2?: string; + postal_code?: string; + state?: string; + } | ""; + email?: string | ""; + name?: string | ""; + phone?: string | ""; + }; + financial_account?: string; + metadata?: { + [key: string]: string; + }; + /** @enum {string} */ + type: "financial_account" | "us_bank_account"; + /** payment_method_param */ + us_bank_account?: { + /** @enum {string} */ + account_holder_type?: "company" | "individual"; + account_number?: string; + /** @enum {string} */ + account_type?: "checking" | "savings"; + financial_connections_account?: string; + routing_number?: string; + }; + }; + /** + * payment_method_options + * @description Payment method-specific configuration for this OutboundPayment. + */ + destination_payment_method_options?: { + us_bank_account?: { + /** @enum {string} */ + network?: "ach" | "us_domestic_wire"; + } | ""; + }; + /** + * end_user_details_params + * @description End user details. + */ + end_user_details?: { + ip_address?: string; + present: boolean; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The FinancialAccount to pull funds from. */ + financial_account: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description The description that appears on the receiving end for this OutboundPayment (for example, bank statement for external bank transfer). Maximum 10 characters for `ach` payments, 140 characters for `wire` payments, or 500 characters for `stripe` network transfers. The default value is `payment`. */ + statement_descriptor?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_payment"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryOutboundPaymentsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_payment"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTreasuryOutboundPaymentsIdCancel: { + parameters: { + query?: never; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_payment"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryOutboundTransfers: { + parameters: { + query: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Returns objects associated with this FinancialAccount. */ + financial_account: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return OutboundTransfers that have the given status: `processing`, `canceled`, `failed`, `posted`, or `returned`. */ + status?: "canceled" | "failed" | "posted" | "processing" | "returned"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["treasury.outbound_transfer"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + PostTreasuryOutboundTransfers: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** @description Amount (in cents) to be transferred. */ + amount: number; + /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ + currency: string; + /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ + description?: string; + /** @description The PaymentMethod to use as the payment instrument for the OutboundTransfer. */ + destination_payment_method?: string; + /** + * payment_method_options + * @description Hash describing payment method configuration details. + */ + destination_payment_method_options?: { + us_bank_account?: { + /** @enum {string} */ + network?: "ach" | "us_domestic_wire"; + } | ""; + }; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The FinancialAccount to pull funds from. */ + financial_account: string; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + }; + /** @description Statement descriptor to be shown on the receiving end of an OutboundTransfer. Maximum 10 characters for `ach` transfers or 140 characters for `wire` transfers. The default value is `transfer`. */ + statement_descriptor?: string; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryOutboundTransfersOutboundTransfer: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + header?: never; + path: { + outbound_transfer: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_transfer"]; }; - /** recurring_adhoc */ - recurring?: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[]; - })[]; - /** - * @description The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used. - * @enum {string} - */ - locale?: "auto" | "bg" | "cs" | "da" | "de" | "el" | "en" | "en-GB" | "es" | "es-419" | "et" | "fi" | "fil" | "fr" | "fr-CA" | "hr" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "mt" | "nb" | "nl" | "pl" | "pt" | "pt-BR" | "ro" | "ru" | "sk" | "sl" | "sv" | "th" | "tr" | "vi" | "zh" | "zh-HK" | "zh-TW"; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** - * @description The mode of the Checkout Session. Pass `subscription` if the Checkout Session includes at least one recurring item. - * @enum {string} - */ - mode?: "payment" | "setup" | "subscription"; - /** - * payment_intent_data_params - * @description A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode. - */ - payment_intent_data?: { - application_fee_amount?: number; - /** @enum {string} */ - capture_method?: "automatic" | "automatic_async" | "manual"; - description?: string; - metadata?: { - [key: string]: string; }; - on_behalf_of?: string; - receipt_email?: string; - /** @enum {string} */ - setup_future_usage?: "off_session" | "on_session"; - /** shipping */ - shipping?: { - /** address */ - address: { - city?: string; - country?: string; - line1: string; - line2?: string; - postal_code?: string; - state?: string; - }; - carrier?: string; - name: string; - phone?: string; - tracking_number?: string; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; }; - statement_descriptor?: string; - statement_descriptor_suffix?: string; - /** transfer_data_params */ - transfer_data?: { - amount?: number; - destination: string; - }; - transfer_group?: string; - }; - /** - * @description Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0. - * This may occur if the Checkout Session includes a free trial or a discount. - * - * Can only be set in `subscription` mode. - * - * If you'd like information on how to collect a payment method outside of Checkout, read the guide on configuring [subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials). - * @enum {string} - */ - payment_method_collection?: "always" | "if_required"; - /** @description The ID of the payment method configuration to use with this Checkout session. */ - payment_method_configuration?: string; - /** - * payment_method_options_param - * @description Payment-method-specific configuration. - */ - payment_method_options?: { - /** payment_method_options_param */ - acss_debit?: { - /** @enum {string} */ - currency?: "cad" | "usd"; - /** mandate_options_param */ - mandate_options?: { - custom_mandate_url?: string | ""; - default_for?: ("invoice" | "subscription")[]; - interval_description?: string; - /** @enum {string} */ - payment_schedule?: "combined" | "interval" | "sporadic"; - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - setup_future_usage?: "none" | "off_session" | "on_session"; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** payment_method_options_param */ - affirm?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - afterpay_clearpay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - alipay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - au_becs_debit?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - bacs_debit?: { - /** @enum {string} */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** payment_method_options_param */ - bancontact?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - boleto?: { - expires_after_days?: number; - /** @enum {string} */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** payment_method_options_param */ - card?: { - /** installments_param */ - installments?: { - enabled?: boolean; - }; - /** @enum {string} */ - setup_future_usage?: "off_session" | "on_session"; - statement_descriptor_suffix_kana?: string; - statement_descriptor_suffix_kanji?: string; - }; - /** payment_method_options_param */ - cashapp?: { - /** @enum {string} */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** payment_method_options_param */ - customer_balance?: { - /** bank_transfer_param */ - bank_transfer?: { - /** eu_bank_transfer_params */ - eu_bank_transfer?: { - country: string; - }; - requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; - /** @enum {string} */ - type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; - }; - /** @enum {string} */ - funding_type?: "bank_transfer"; - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - eps?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - fpx?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - giropay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - grabpay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - ideal?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - klarna?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - konbini?: { - expires_after_days?: number; - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - link?: { - /** @enum {string} */ - setup_future_usage?: "none" | "off_session"; - }; - /** payment_method_options_param */ - oxxo?: { - expires_after_days?: number; - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - p24?: { - /** @enum {string} */ - setup_future_usage?: "none"; - tos_shown_and_accepted?: boolean; - }; - /** payment_method_options_param */ - paynow?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - paypal?: { - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-DE" | "de-LU" | "el-GR" | "en-GB" | "en-US" | "es-ES" | "fi-FI" | "fr-BE" | "fr-FR" | "fr-LU" | "hu-HU" | "it-IT" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sk-SK" | "sv-SE"; - reference?: string; - risk_correlation_id?: string; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }; - /** payment_method_options_param */ - pix?: { - expires_after_seconds?: number; - }; - /** payment_method_options_param */ - sepa_debit?: { - /** @enum {string} */ - setup_future_usage?: "none" | "off_session" | "on_session"; - }; - /** payment_method_options_param */ - sofort?: { - /** @enum {string} */ - setup_future_usage?: "none"; - }; - /** payment_method_options_param */ - us_bank_account?: { - /** linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - }; - /** @enum {string} */ - setup_future_usage?: "none" | "off_session" | "on_session"; - /** @enum {string} */ - verification_method?: "automatic" | "instant"; - }; - /** payment_method_options_param */ - wechat_pay?: { - app_id?: string; - /** @enum {string} */ - client: "android" | "ios" | "web"; - /** @enum {string} */ - setup_future_usage?: "none"; - }; - }; - /** - * @description A list of the types of payment methods (e.g., `card`) this Checkout Session can accept. - * - * In `payment` and `subscription` mode, you can omit this attribute to manage your payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). - * It is required in `setup` mode. - * - * Read more about the supported payment methods and their requirements in our [payment - * method details guide](/docs/payments/checkout/payment-methods). - * - * If multiple payment methods are passed, Checkout will dynamically reorder them to - * prioritize the most relevant payment methods based on the customer's location and - * other characteristics. - */ - payment_method_types?: ("acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip")[]; - /** - * phone_number_collection_params - * @description Controls phone number collection settings for the session. - * - * We recommend that you review your privacy policy and check with your legal contacts - * before using this feature. Learn more about [collecting phone numbers with Checkout](https://stripe.com/docs/payments/checkout/phone-numbers). - */ - phone_number_collection?: { - enabled: boolean; - }; - /** - * setup_intent_data_param - * @description A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in `setup` mode. - */ - setup_intent_data?: { - description?: string; - metadata?: { - [key: string]: string; + }; + }; + PostTreasuryOutboundTransfersOutboundTransferCancel: { + parameters: { + query?: never; + header?: never; + path: { + outbound_transfer: string; }; - on_behalf_of?: string; - }; - /** - * shipping_address_collection_params - * @description When set, provides configuration for Checkout to collect a shipping address from a customer. - */ - shipping_address_collection?: { - allowed_countries: ("AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CV" | "CW" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MK" | "ML" | "MM" | "MN" | "MO" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SZ" | "TA" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "ZZ")[]; - }; - /** @description The shipping rate options to apply to this Session. Up to a maximum of 5. */ - shipping_options?: ({ - shipping_rate?: string; - /** method_params */ - shipping_rate_data?: { - /** delivery_estimate */ - delivery_estimate?: { - /** delivery_estimate_bound */ - maximum?: { - /** @enum {string} */ - unit: "business_day" | "day" | "hour" | "month" | "week"; - value: number; - }; - /** delivery_estimate_bound */ - minimum?: { + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + }; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.outbound_transfer"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryReceivedCredits: { + parameters: { + query: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The FinancialAccount that received the funds. */ + financial_account: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description Only return ReceivedCredits described by the flow. */ + linked_flows?: { /** @enum {string} */ - unit: "business_day" | "day" | "hour" | "month" | "week"; - value: number; - }; - }; - display_name: string; - /** fixed_amount */ - fixed_amount?: { - amount: number; - currency: string; - currency_options?: { - [key: string]: { - amount: number; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - }; - }; + source_flow_type: "credit_reversal" | "other" | "outbound_payment" | "payout"; }; - metadata?: { - [key: string]: string; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - tax_code?: string; - /** @enum {string} */ - type?: "fixed_amount"; - }; - })[]; - /** - * @description Describes the type of transaction being performed by Checkout in order to customize - * relevant text on the page, such as the submit button. `submit_type` can only be - * specified on Checkout Sessions in `payment` mode, but not Checkout Sessions - * in `subscription` or `setup` mode. - * @enum {string} - */ - submit_type?: "auto" | "book" | "donate" | "pay"; - /** - * subscription_data_params - * @description A subset of parameters to be passed to subscription creation for Checkout Sessions in `subscription` mode. - */ - subscription_data?: { - application_fee_percent?: number; - /** Format: unix-time */ - billing_cycle_anchor?: number; - default_tax_rates?: string[]; - description?: string; - metadata?: { - [key: string]: string; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return ReceivedCredits that have the given status: `succeeded` or `failed`. */ + status?: "failed" | "succeeded"; }; - on_behalf_of?: string; - /** @enum {string} */ - proration_behavior?: "create_prorations" | "none"; - /** transfer_data_specs */ - transfer_data?: { - amount_percent?: number; - destination: string; - }; - /** Format: unix-time */ - trial_end?: number; - trial_period_days?: number; - /** trial_settings_config */ - trial_settings?: { - /** end_behavior */ - end_behavior: { - /** @enum {string} */ - missing_payment_method: "cancel" | "create_invoice" | "pause"; - }; - }; - }; - /** - * @description The URL to which Stripe should send customers when payment or setup - * is complete. - * If you’d like to use information from the successful Checkout Session on your page, - * read the guide on [customizing your success page](https://stripe.com/docs/payments/checkout/custom-success-page). - */ - success_url: string; - /** - * tax_id_collection_params - * @description Controls tax ID collection settings for the session. - */ - tax_id_collection?: { - enabled: boolean; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["checkout.session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a Session object.

*/ - GetCheckoutSessionsSession: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - session: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["checkout.session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

A Session can be expired when it is in one of these statuses: open

- * - *

After it expires, a customer can’t complete a Session and customers loading the Session see a message saying the Session is expired.

- */ - PostCheckoutSessionsSessionExpire: { - parameters: { - path: { - session: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["checkout.session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - GetCheckoutSessionsSessionLineItems: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - session: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Lists all Country Spec objects available in the API.

*/ - GetCountrySpecs: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["country_spec"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a Country Spec for a given Country code.

*/ - GetCountrySpecsCountry: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - country: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["country_spec"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your coupons.

*/ - GetCoupons: { - parameters: { - query?: { - /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["coupon"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

You can create coupons easily via the coupon management page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.

- * - *

A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoice’s subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off of 200 is applied to it.

- */ - PostCoupons: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed). */ - amount_off?: number; - /** - * applies_to_params - * @description A hash containing directions for what this Coupon will apply discounts to. - */ - applies_to?: { - products?: string[]; - }; - /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the `amount_off` parameter (required if `amount_off` is passed). */ - currency?: string; - /** @description Coupons defined in each available currency option (only supported if `amount_off` is passed). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ - currency_options?: { - [key: string]: { - amount_off: number; - }; - }; - /** - * @description Specifies how long the discount will be in effect if used on a subscription. Defaults to `once`. - * @enum {string} - */ - duration?: "forever" | "once" | "repeating"; - /** @description Required only if `duration` is `repeating`, in which case it must be a positive integer that specifies the number of months the discount will be in effect. */ - duration_in_months?: number; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Unique string of your choice that will be used to identify this coupon when applying it to a customer. If you don't want to specify a particular code, you can leave the ID blank and we'll generate a random code for you. */ - id?: string; - /** @description A positive integer specifying the number of times the coupon can be redeemed before it's no longer valid. For example, you might have a 50% off coupon that the first 20 readers of your blog can use. */ - max_redemptions?: number; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set. */ - name?: string; - /** @description A positive float larger than 0, and smaller or equal to 100, that represents the discount the coupon will apply (required if `amount_off` is not passed). */ - percent_off?: number; - /** - * Format: unix-time - * @description Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers. - */ - redeem_by?: number; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["coupon"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the coupon with the given ID.

*/ - GetCouponsCoupon: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - coupon: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["coupon"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.

*/ - PostCouponsCoupon: { - parameters: { - path: { - coupon: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Coupons defined in each available currency option (only supported if the coupon is amount-based). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ - currency_options?: { - [key: string]: { - amount_off: number; - }; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set. */ - name?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["coupon"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

You can delete coupons via the coupon management page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can’t redeem the coupon. You can also delete coupons via the API.

*/ - DeleteCouponsCoupon: { - parameters: { - path: { - coupon: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_coupon"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of credit notes.

*/ - GetCreditNotes: { - parameters: { - query?: { - /** @description Only return credit notes for the customer specified by this customer ID. */ - customer?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Only return credit notes for the invoice specified by this invoice ID. */ - invoice?: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["credit_note"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Issue a credit note to adjust the amount of a finalized invoice. For a status=open invoice, a credit note reduces - * its amount_due. For a status=paid invoice, a credit note does not affect its amount_due. Instead, it can result - * in any combination of the following:

- * - *
    - *
  • Refund: create a new refund (using refund_amount) or link an existing refund (using refund).
  • - *
  • Customer balance credit: credit the customer’s balance (using credit_amount) which will be automatically applied to their next invoice when it’s finalized.
  • - *
  • Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount).
  • - *
- * - *

For post-payment credit notes the sum of the refund, credit and outside of Stripe amounts must equal the credit note total.

- * - *

You may issue multiple credit notes for an invoice. Each credit note will increment the invoice’s pre_payment_credit_notes_amount - * or post_payment_credit_notes_amount depending on its status at the time of credit note creation.

- */ - PostCreditNotes: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note. */ - amount?: number; - /** @description The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice. */ - credit_amount?: number; - /** - * Format: unix-time - * @description The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. - */ - effective_at?: number; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description ID of the invoice. */ - invoice: string; - /** @description Line items that make up the credit note. */ - lines?: ({ - amount?: number; - description?: string; - invoice_line_item?: string; - quantity?: number; - tax_rates?: string[] | ""; - /** @enum {string} */ - type: "custom_line_item" | "invoice_line_item"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - })[]; - /** @description The credit note's memo appears on the credit note PDF. */ - memo?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. */ - out_of_band_amount?: number; - /** - * @description Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` - * @enum {string} - */ - reason?: "duplicate" | "fraudulent" | "order_change" | "product_unsatisfactory"; - /** @description ID of an existing refund to link this credit note to. */ - refund?: string; - /** @description The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice. */ - refund_amount?: number; - /** - * credit_note_shipping_cost - * @description When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. - */ - shipping_cost?: { - shipping_rate?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["credit_note"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Get a preview of a credit note without creating it.

*/ - GetCreditNotesPreview: { - parameters: { - query: { - /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note. */ - amount?: number; - /** @description The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice. */ - credit_amount?: number; - /** @description The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. */ - effective_at?: number; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description ID of the invoice. */ - invoice: string; - /** @description Line items that make up the credit note. */ - lines?: ({ - amount?: number; - description?: string; - invoice_line_item?: string; - quantity?: number; - tax_rates?: string[] | ""; - /** @enum {string} */ - type: "custom_line_item" | "invoice_line_item"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - })[]; - /** @description The credit note's memo appears on the credit note PDF. */ - memo?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. */ - out_of_band_amount?: number; - /** @description Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` */ - reason?: "duplicate" | "fraudulent" | "order_change" | "product_unsatisfactory"; - /** @description ID of an existing refund to link this credit note to. */ - refund?: string; - /** @description The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice. */ - refund_amount?: number; - /** @description When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. */ - shipping_cost?: { - shipping_rate?: string; - }; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["credit_note"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

When retrieving a credit note preview, you’ll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.

*/ - GetCreditNotesPreviewLines: { - parameters: { - query: { - /** @description The integer amount in cents (or local equivalent) representing the total amount of the credit note. */ - amount?: number; - /** @description The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice. */ - credit_amount?: number; - /** @description The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. */ - effective_at?: number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description ID of the invoice. */ - invoice: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Line items that make up the credit note. */ - lines?: ({ - amount?: number; - description?: string; - invoice_line_item?: string; - quantity?: number; - tax_rates?: string[] | ""; - /** @enum {string} */ - type: "custom_line_item" | "invoice_line_item"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - })[]; - /** @description The credit note's memo appears on the credit note PDF. */ - memo?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. */ - out_of_band_amount?: number; - /** @description Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` */ - reason?: "duplicate" | "fraudulent" | "order_change" | "product_unsatisfactory"; - /** @description ID of an existing refund to link this credit note to. */ - refund?: string; - /** @description The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice. */ - refund_amount?: number; - /** @description When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. */ - shipping_cost?: { - shipping_rate?: string; - }; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["credit_note_line_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

When retrieving a credit note, you’ll get a lines property containing the the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - GetCreditNotesCreditNoteLines: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - credit_note: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["credit_note_line_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the credit note object with the given identifier.

*/ - GetCreditNotesId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["credit_note"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates an existing credit note.

*/ - PostCreditNotesId: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Credit note memo. */ - memo?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["credit_note"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Marks a credit note as void. Learn more about voiding credit notes.

*/ - PostCreditNotesIdVoid: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["credit_note"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.

*/ - GetCustomers: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A case-sensitive filter on the list based on the customer's `email` field. The value must be a string. */ - email?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Provides a list of customers that are associated with the specified test clock. The response will not include customers with test clocks if this parameter is not set. */ - test_clock?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["customer"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new customer object.

*/ - PostCustomers: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The customer's address. */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - /** @description An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice. */ - balance?: number; - /** - * cash_balance_param - * @description Balance information and default balance settings for this customer. - */ - cash_balance?: { - /** balance_settings_param */ - settings?: { - /** @enum {string} */ - reconciliation_mode?: "automatic" | "manual" | "merchant_default"; - }; - }; - coupon?: string; - /** @description An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard. */ - description?: string; - /** @description Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*. */ - email?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers. */ - invoice_prefix?: string; - /** - * customer_param - * @description Default invoice settings for this customer. - */ - invoice_settings?: { - custom_fields?: { - name: string; - value: string; - }[] | ""; - default_payment_method?: string; - footer?: string; - rendering_options?: ({ - /** @enum {string} */ - amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; - }) | ""; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The customer's full name or business name. */ - name?: string; - /** @description The sequence to be used on the customer's next invoice. Defaults to 1. */ - next_invoice_sequence?: number; - payment_method?: string; - /** @description The customer's phone number. */ - phone?: string; - /** @description Customer's preferred languages, ordered by preference. */ - preferred_locales?: string[]; - /** @description The API ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount. */ - promotion_code?: string; - /** @description The customer's shipping information. Appears on invoices emailed to this customer. */ - shipping?: { - /** optional_fields_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; }; - name: string; - phone?: string; - } | ""; - source?: string; - /** - * tax_param - * @description Tax details about the customer. - */ - tax?: { - ip_address?: string | ""; - }; - /** - * @description The customer's tax exemption. One of `none`, `exempt`, or `reverse`. - * @enum {string} - */ - tax_exempt?: "" | "exempt" | "none" | "reverse"; - /** @description The customer's tax IDs. */ - tax_id_data?: ({ - /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; - value: string; - })[]; - /** @description ID of the test clock to attach to the customer. */ - test_clock?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["customer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Search for customers you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - GetCustomersSearch: { - parameters: { - query: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ - page?: string; - /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for customers](https://stripe.com/docs/search#query-fields-for-customers). */ - query: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["customer"][]; - has_more: boolean; - next_page?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "search_result"; - /** @description The total number of objects that match the query, only accurate up to 10,000. */ - total_count?: number; - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a Customer object.

*/ - GetCustomersCustomer: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["customer"] | components["schemas"]["deleted_customer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer’s active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer’s current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior.

- * - *

This request accepts mostly the same arguments as the customer creation call.

- */ - PostCustomersCustomer: { - parameters: { - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The customer's address. */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - /** @description An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice. */ - balance?: number; - /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ - bank_account?: ({ - account_holder_name?: string; - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number: string; - country: string; - currency?: string; - /** @enum {string} */ - object?: "bank_account"; - routing_number?: string; - }) | string; - /** @description A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js). */ - card?: { - address_city?: string; - address_country?: string; - address_line1?: string; - address_line2?: string; - address_state?: string; - address_zip?: string; - cvc?: string; - exp_month: number; - exp_year: number; - metadata?: { - [key: string]: string; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["treasury.received_credit"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; }; - name?: string; - number: string; - /** @enum {string} */ - object?: "card"; - } | string; - /** - * cash_balance_param - * @description Balance information and default balance settings for this customer. - */ - cash_balance?: { - /** balance_settings_param */ - settings?: { - /** @enum {string} */ - reconciliation_mode?: "automatic" | "manual" | "merchant_default"; - }; - }; - coupon?: string; - /** @description ID of Alipay account to make the customer's new default for invoice payments. */ - default_alipay_account?: string; - /** @description ID of bank account to make the customer's new default for invoice payments. */ - default_bank_account?: string; - /** @description ID of card to make the customer's new default for invoice payments. */ - default_card?: string; - /** - * @description If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method) parameter. - * - * Provide the ID of a payment source already attached to this customer to make it this customer's default payment source. - * - * If you want to add a new payment source and make it the default, see the [source](https://stripe.com/docs/api/customers/update#update_customer-source) property. - */ - default_source?: string; - /** @description An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard. */ - description?: string; - /** @description Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*. */ - email?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers. */ - invoice_prefix?: string; - /** - * customer_param - * @description Default invoice settings for this customer. - */ - invoice_settings?: { - custom_fields?: { - name: string; - value: string; - }[] | ""; - default_payment_method?: string; - footer?: string; - rendering_options?: ({ - /** @enum {string} */ - amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; - }) | ""; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The customer's full name or business name. */ - name?: string; - /** @description The sequence to be used on the customer's next invoice. Defaults to 1. */ - next_invoice_sequence?: number; - /** @description The customer's phone number. */ - phone?: string; - /** @description Customer's preferred languages, ordered by preference. */ - preferred_locales?: string[]; - /** @description The API ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount. */ - promotion_code?: string; - /** @description The customer's shipping information. Appears on invoices emailed to this customer. */ - shipping?: { - /** optional_fields_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; }; - name: string; - phone?: string; - } | ""; - source?: string; - /** - * tax_param - * @description Tax details about the customer. - */ - tax?: { - ip_address?: string | ""; - }; - /** - * @description The customer's tax exemption. One of `none`, `exempt`, or `reverse`. - * @enum {string} - */ - tax_exempt?: "" | "exempt" | "none" | "reverse"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["customer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.

*/ - DeleteCustomersCustomer: { - parameters: { - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_customer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of transactions that updated the customer’s balances.

*/ - GetCustomersCustomerBalanceTransactions: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["customer_balance_transaction"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates an immutable transaction that updates the customer’s credit balance.

*/ - PostCustomersCustomerBalanceTransactions: { - parameters: { - path: { - customer: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The integer amount in **cents (or local equivalent)** to apply to the customer's credit balance. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Specifies the [`invoice_credit_balance`](https://stripe.com/docs/api/customers/object#customer_object-invoice_credit_balance) that this transaction will apply to. If the customer's `currency` is not set, it will be updated to this value. */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["customer_balance_transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a specific customer balance transaction that updated the customer’s balances.

*/ - GetCustomersCustomerBalanceTransactionsTransaction: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - transaction: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["customer_balance_transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Most credit balance transaction fields are immutable, but you may update its description and metadata.

*/ - PostCustomersCustomerBalanceTransactionsTransaction: { - parameters: { - path: { - customer: string; - transaction: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["customer_balance_transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @deprecated - * @description

You can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional bank accounts.

- */ - GetCustomersCustomerBankAccounts: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["bank_account"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

- * - *

If the card’s owner has no default card, then the new card will become the default. - * However, if the owner already has a default, then it will not change. - * To change the default, you should update the customer to have a new default_source.

- */ - PostCustomersCustomerBankAccounts: { - parameters: { - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details. */ - alipay_account?: string; - /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ - bank_account?: ({ - account_holder_name?: string; - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number: string; - country: string; - currency?: string; - /** @enum {string} */ - object?: "bank_account"; - routing_number?: string; - }) | string; - /** @description A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js). */ - card?: { - address_city?: string; - address_country?: string; - address_line1?: string; - address_line2?: string; - address_state?: string; - address_zip?: string; - cvc?: string; - exp_month: number; - exp_year: number; - metadata?: { - [key: string]: string; + }; + }; + GetTreasuryReceivedCreditsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; }; - name?: string; - number: string; - /** @enum {string} */ - object?: "card"; - } | string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ - source?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @deprecated - * @description

By default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.

- */ - GetCustomersCustomerBankAccountsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["bank_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Update a specified source for a given customer.

*/ - PostCustomersCustomerBankAccountsId: { - parameters: { - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The name of the person or business that owns the bank account. */ - account_holder_name?: string; - /** - * @description The type of entity that holds the account. This can be either `individual` or `company`. - * @enum {string} - */ - account_holder_type?: "company" | "individual"; - /** @description City/District/Suburb/Town/Village. */ - address_city?: string; - /** @description Billing address country, if provided when creating card. */ - address_country?: string; - /** @description Address line 1 (Street address/PO Box/Company name). */ - address_line1?: string; - /** @description Address line 2 (Apartment/Suite/Unit/Building). */ - address_line2?: string; - /** @description State/County/Province/Region. */ - address_state?: string; - /** @description ZIP or postal code. */ - address_zip?: string; - /** @description Two digit number representing the card’s expiration month. */ - exp_month?: string; - /** @description Four digit number representing the card’s expiration year. */ - exp_year?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Cardholder name. */ - name?: string; - /** owner */ - owner?: { - /** source_address */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; + header?: never; + path: { + id: string; }; - email?: string; - name?: string; - phone?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["card"] | components["schemas"]["bank_account"] | components["schemas"]["source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Delete a specified source for a given customer.

*/ - DeleteCustomersCustomerBankAccountsId: { - parameters: { - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_source"] | components["schemas"]["deleted_payment_source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Verify a specified bank account for a given customer.

*/ - PostCustomersCustomerBankAccountsIdVerify: { - parameters: { - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account. */ - amounts?: number[]; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["bank_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @deprecated - * @description

You can see a list of the cards belonging to a customer. - * Note that the 10 most recent sources are always available on the Customer object. - * If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional cards.

- */ - GetCustomersCustomerCards: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["card"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

- * - *

If the card’s owner has no default card, then the new card will become the default. - * However, if the owner already has a default, then it will not change. - * To change the default, you should update the customer to have a new default_source.

- */ - PostCustomersCustomerCards: { - parameters: { - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details. */ - alipay_account?: string; - /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ - bank_account?: ({ - account_holder_name?: string; - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number: string; - country: string; - currency?: string; - /** @enum {string} */ - object?: "bank_account"; - routing_number?: string; - }) | string; - /** @description A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js). */ - card?: { - address_city?: string; - address_country?: string; - address_line1?: string; - address_line2?: string; - address_state?: string; - address_zip?: string; - cvc?: string; - exp_month: number; - exp_year: number; - metadata?: { - [key: string]: string; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; }; - name?: string; - number: string; - /** @enum {string} */ - object?: "card"; - } | string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ - source?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @deprecated - * @description

You can always see the 10 most recent cards directly on a customer; this method lets you retrieve details about a specific card stored on the customer.

- */ - GetCustomersCustomerCardsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["card"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Update a specified source for a given customer.

*/ - PostCustomersCustomerCardsId: { - parameters: { - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The name of the person or business that owns the bank account. */ - account_holder_name?: string; - /** - * @description The type of entity that holds the account. This can be either `individual` or `company`. - * @enum {string} - */ - account_holder_type?: "company" | "individual"; - /** @description City/District/Suburb/Town/Village. */ - address_city?: string; - /** @description Billing address country, if provided when creating card. */ - address_country?: string; - /** @description Address line 1 (Street address/PO Box/Company name). */ - address_line1?: string; - /** @description Address line 2 (Apartment/Suite/Unit/Building). */ - address_line2?: string; - /** @description State/County/Province/Region. */ - address_state?: string; - /** @description ZIP or postal code. */ - address_zip?: string; - /** @description Two digit number representing the card’s expiration month. */ - exp_month?: string; - /** @description Four digit number representing the card’s expiration year. */ - exp_year?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Cardholder name. */ - name?: string; - /** owner */ - owner?: { - /** source_address */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.received_credit"]; + }; }; - email?: string; - name?: string; - phone?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["card"] | components["schemas"]["bank_account"] | components["schemas"]["source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Delete a specified source for a given customer.

*/ - DeleteCustomersCustomerCardsId: { - parameters: { - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_source"] | components["schemas"]["deleted_payment_source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a customer’s cash balance.

*/ - GetCustomersCustomerCashBalance: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["cash_balance"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Changes the settings on a customer’s cash balance.

*/ - PostCustomersCustomerCashBalance: { - parameters: { - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * balance_settings_param - * @description A hash of settings for this cash balance. - */ - settings?: { - /** @enum {string} */ - reconciliation_mode?: "automatic" | "manual" | "merchant_default"; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["cash_balance"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of transactions that modified the customer’s cash balance.

*/ - GetCustomersCustomerCashBalanceTransactions: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["customer_cash_balance_transaction"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a specific cash balance transaction, which updated the customer’s cash balance.

*/ - GetCustomersCustomerCashBalanceTransactionsTransaction: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - transaction: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["customer_cash_balance_transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - GetCustomersCustomerDiscount: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["discount"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Removes the currently applied discount on a customer.

*/ - DeleteCustomersCustomerDiscount: { - parameters: { - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_discount"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new - * funding instructions will be created. If funding instructions have already been created for a given customer, the same - * funding instructions will be retrieved. In other words, we will return the same funding instructions each time.

- */ - PostCustomersCustomerFundingInstructions: { - parameters: { - path: { - customer: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * bank_transfer_params - * @description Additional parameters for `bank_transfer` funding types - */ - bank_transfer: { - /** eu_bank_account_params */ - eu_bank_transfer?: { - country: string; - }; - requested_address_types?: ("iban" | "sort_code" | "spei" | "zengin")[]; - /** @enum {string} */ - type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; - }; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * @description The `funding_type` to get the instructions for. - * @enum {string} - */ - funding_type: "bank_transfer"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["funding_instructions"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of PaymentMethods for a given Customer

*/ - GetCustomersCustomerPaymentMethods: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request. */ - type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; - }; - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["payment_method"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a PaymentMethod object for a given Customer.

*/ - GetCustomersCustomerPaymentMethodsPaymentMethod: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - payment_method: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

List sources for a specified customer.

*/ - GetCustomersCustomerSources: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Filter sources according to a particular object type. */ - object?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: (components["schemas"]["bank_account"] | components["schemas"]["card"] | components["schemas"]["source"])[]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

- * - *

If the card’s owner has no default card, then the new card will become the default. - * However, if the owner already has a default, then it will not change. - * To change the default, you should update the customer to have a new default_source.

- */ - PostCustomersCustomerSources: { - parameters: { - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description A token returned by [Stripe.js](https://stripe.com/docs/js) representing the user’s Alipay account details. */ - alipay_account?: string; - /** @description Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary containing a user's bank account details. */ - bank_account?: ({ - account_holder_name?: string; - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number: string; - country: string; - currency?: string; - /** @enum {string} */ - object?: "bank_account"; - routing_number?: string; - }) | string; - /** @description A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js). */ - card?: { - address_city?: string; - address_country?: string; - address_line1?: string; - address_line2?: string; - address_state?: string; - address_zip?: string; - cvc?: string; - exp_month: number; - exp_year: number; - metadata?: { - [key: string]: string; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; }; - name?: string; - number: string; - /** @enum {string} */ - object?: "card"; - } | string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ - source?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieve a specified source for a given customer.

*/ - GetCustomersCustomerSourcesId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Update a specified source for a given customer.

*/ - PostCustomersCustomerSourcesId: { - parameters: { - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The name of the person or business that owns the bank account. */ - account_holder_name?: string; - /** - * @description The type of entity that holds the account. This can be either `individual` or `company`. - * @enum {string} - */ - account_holder_type?: "company" | "individual"; - /** @description City/District/Suburb/Town/Village. */ - address_city?: string; - /** @description Billing address country, if provided when creating card. */ - address_country?: string; - /** @description Address line 1 (Street address/PO Box/Company name). */ - address_line1?: string; - /** @description Address line 2 (Apartment/Suite/Unit/Building). */ - address_line2?: string; - /** @description State/County/Province/Region. */ - address_state?: string; - /** @description ZIP or postal code. */ - address_zip?: string; - /** @description Two digit number representing the card’s expiration month. */ - exp_month?: string; - /** @description Four digit number representing the card’s expiration year. */ - exp_year?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Cardholder name. */ - name?: string; - /** owner */ - owner?: { - /** source_address */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; + }; + }; + GetTreasuryReceivedDebits: { + parameters: { + query: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description The FinancialAccount that funds were pulled from. */ + financial_account: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return ReceivedDebits that have the given status: `succeeded` or `failed`. */ + status?: "failed" | "succeeded"; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["treasury.received_debit"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; }; - email?: string; - name?: string; - phone?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["card"] | components["schemas"]["bank_account"] | components["schemas"]["source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Delete a specified source for a given customer.

*/ - DeleteCustomersCustomerSourcesId: { - parameters: { - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_source"] | components["schemas"]["deleted_payment_source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Verify a specified bank account for a given customer.

*/ - PostCustomersCustomerSourcesIdVerify: { - parameters: { - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account. */ - amounts?: number[]; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["bank_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

You can see a list of the customer’s active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, you can use the limit and starting_after parameters to page through additional subscriptions.

*/ - GetCustomersCustomerSubscriptions: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["subscription"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new subscription on an existing customer.

*/ - PostCustomersCustomerSubscriptions: { - parameters: { - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items. */ - add_invoice_items?: ({ - price?: string; - /** one_time_price_data_with_negative_amounts */ - price_data?: { - currency: string; - product: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). */ - application_fee_percent?: number; - /** - * automatic_tax_config - * @description Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed. - */ - automatic_tax?: { - enabled: boolean; - }; - /** - * Format: unix-time - * @description For new subscriptions, a past timestamp to backdate the subscription's start date to. If set, the first invoice will contain a proration for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor. - */ - backdate_start_date?: number; - /** - * Format: unix-time - * @description A future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format. - */ - billing_cycle_anchor?: number; - /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. */ - billing_thresholds?: { - amount_gte?: number; - reset_billing_cycle_anchor?: boolean; - } | ""; - /** - * Format: unix-time - * @description A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. - */ - cancel_at?: number; - /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ - cancel_at_period_end?: boolean; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. - * @enum {string} - */ - collection_method?: "charge_automatically" | "send_invoice"; - /** @description The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. */ - coupon?: string; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`. */ - days_until_due?: number; - /** @description ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ - default_payment_method?: string; - /** @description ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ - default_source?: string; - /** @description The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. */ - default_tax_rates?: string[] | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A list of up to 20 subscription items, each with an attached price. */ - items?: ({ - billing_thresholds?: { - usage_gte: number; - } | ""; - metadata?: { - [key: string]: string; - }; - price?: string; - /** recurring_price_data */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ - off_session?: boolean; - /** - * @description Only applies to subscriptions with `collection_method=charge_automatically`. - * - * Use `allow_incomplete` to create subscriptions with `status=incomplete` if the first invoice cannot be paid. Creating subscriptions with this status allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. - * - * Use `default_incomplete` to create Subscriptions with `status=incomplete` when the first invoice requires payment, otherwise start as active. Subscriptions transition to `status=active` when successfully confirming the payment intent on the first invoice. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. If the payment intent is not confirmed within 23 hours subscriptions transition to `status=incomplete_expired`, which is a terminal state. - * - * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's first invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not create a subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. - * - * `pending_if_incomplete` is only used with updates and cannot be passed when creating a subscription. - * - * Subscriptions with `collection_method=send_invoice` are automatically activated regardless of the first invoice status. - * @enum {string} - */ - payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; - /** - * payment_settings - * @description Payment settings to pass to invoices created by the subscription. - */ - payment_settings?: { - /** payment_method_options */ - payment_method_options?: { - acss_debit?: ({ - /** mandate_options_param */ - mandate_options?: { - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - bancontact?: ({ - /** @enum {string} */ - preferred_language?: "de" | "en" | "fr" | "nl"; - }) | ""; - card?: ({ - /** mandate_options_param */ - mandate_options?: { - amount?: number; - /** @enum {string} */ - amount_type?: "fixed" | "maximum"; - description?: string; - }; - /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - }) | ""; - customer_balance?: { - /** bank_transfer_param */ - bank_transfer?: { - /** eu_bank_transfer_param */ - eu_bank_transfer?: { - country: string; - }; - type?: string; - }; - funding_type?: string; - } | ""; - konbini?: Record | ""; - us_bank_account?: ({ - /** invoice_linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - }; - payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | ""; - /** @enum {string} */ - save_default_payment_method?: "off" | "on_subscription"; - }; - /** @description Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. */ - pending_invoice_item_interval?: ({ - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }) | ""; - /** @description The API ID of a promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. */ - promotion_code?: string; - /** - * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`. - * @enum {string} - */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - /** - * transfer_data_specs - * @description If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. - */ - transfer_data?: { - amount_percent?: number; - destination: string; - }; - /** @description Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ - trial_end?: "now" | number; - /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ - trial_from_plan?: boolean; - /** @description Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ - trial_period_days?: number; - /** - * trial_settings_config - * @description Settings related to subscription trials. - */ - trial_settings?: { - /** end_behavior */ - end_behavior: { - /** @enum {string} */ - missing_payment_method: "cancel" | "create_invoice" | "pause"; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the subscription with the given ID.

*/ - GetCustomersCustomerSubscriptionsSubscriptionExposedId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - subscription_exposed_id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint.

*/ - PostCustomersCustomerSubscriptionsSubscriptionExposedId: { - parameters: { - path: { - customer: string; - subscription_exposed_id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items. */ - add_invoice_items?: ({ - price?: string; - /** one_time_price_data_with_negative_amounts */ - price_data?: { - currency: string; - product: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). */ - application_fee_percent?: number; - /** - * automatic_tax_config - * @description Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed. - */ - automatic_tax?: { - enabled: boolean; - }; - /** - * @description Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). - * @enum {string} - */ - billing_cycle_anchor?: "now" | "unchanged"; - /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. */ - billing_thresholds?: { - amount_gte?: number; - reset_billing_cycle_anchor?: boolean; - } | ""; - /** @description A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. */ - cancel_at?: number | ""; - /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ - cancel_at_period_end?: boolean; - /** - * cancellation_details_param - * @description Details about why this subscription was cancelled - */ - cancellation_details?: { - comment?: string | ""; - /** @enum {string} */ - feedback?: "" | "customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused"; - }; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. - * @enum {string} - */ - collection_method?: "charge_automatically" | "send_invoice"; - /** @description The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. */ - coupon?: string; - /** @description Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`. */ - days_until_due?: number; - /** @description ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ - default_payment_method?: string; - /** @description ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ - default_source?: string | ""; - /** @description The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates. */ - default_tax_rates?: string[] | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A list of up to 20 subscription items, each with an attached price. */ - items?: ({ - billing_thresholds?: { - usage_gte: number; - } | ""; - clear_usage?: boolean; - deleted?: boolean; - id?: string; - metadata?: { - [key: string]: string; - } | ""; - price?: string; - /** recurring_price_data */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ - off_session?: boolean; - /** @description If specified, payment collection for this subscription will be paused. */ - pause_collection?: ({ - /** @enum {string} */ - behavior: "keep_as_draft" | "mark_uncollectible" | "void"; - /** Format: unix-time */ - resumes_at?: number; - }) | ""; - /** - * @description Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. - * - * Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. - * - * Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). - * - * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. - * @enum {string} - */ - payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; - /** - * payment_settings - * @description Payment settings to pass to invoices created by the subscription. - */ - payment_settings?: { - /** payment_method_options */ - payment_method_options?: { - acss_debit?: ({ - /** mandate_options_param */ - mandate_options?: { - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - bancontact?: ({ - /** @enum {string} */ - preferred_language?: "de" | "en" | "fr" | "nl"; - }) | ""; - card?: ({ - /** mandate_options_param */ - mandate_options?: { - amount?: number; - /** @enum {string} */ - amount_type?: "fixed" | "maximum"; - description?: string; - }; - /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - }) | ""; - customer_balance?: { - /** bank_transfer_param */ - bank_transfer?: { - /** eu_bank_transfer_param */ - eu_bank_transfer?: { - country: string; - }; - type?: string; - }; - funding_type?: string; - } | ""; - konbini?: Record | ""; - us_bank_account?: ({ - /** invoice_linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - }; - payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | ""; - /** @enum {string} */ - save_default_payment_method?: "off" | "on_subscription"; - }; - /** @description Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. */ - pending_invoice_item_interval?: ({ - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }) | ""; - /** @description The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. */ - promotion_code?: string; - /** - * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. - * @enum {string} - */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - /** - * Format: unix-time - * @description If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#upcoming_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations. - */ - proration_date?: number; - /** @description If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value. */ - transfer_data?: { - amount_percent?: number; - destination: string; - } | ""; - /** @description Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. */ - trial_end?: "now" | number; - /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ - trial_from_plan?: boolean; - /** - * trial_settings_config - * @description Settings related to subscription trials. - */ - trial_settings?: { - /** end_behavior */ - end_behavior: { - /** @enum {string} */ - missing_payment_method: "cancel" | "create_invoice" | "pause"; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Cancels a customer’s subscription. If you set the at_period_end parameter to true, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise, with the default false value, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription.

- * - *

Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually deleted. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.

- * - *

By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.

- */ - DeleteCustomersCustomerSubscriptionsSubscriptionExposedId: { - parameters: { - path: { - customer: string; - subscription_exposed_id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Can be set to `true` if `at_period_end` is not set to `true`. Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items. */ - invoice_now?: boolean; - /** @description Can be set to `true` if `at_period_end` is not set to `true`. Will generate a proration invoice item that credits remaining unused time until the subscription period end. */ - prorate?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - subscription_exposed_id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["discount"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Removes the currently applied discount on a customer.

*/ - DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount: { - parameters: { - path: { - customer: string; - subscription_exposed_id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_discount"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of tax IDs for a customer.

*/ - GetCustomersCustomerTaxIds: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - customer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["tax_id"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new tax_id object for a customer.

*/ - PostCustomersCustomerTaxIds: { - parameters: { - path: { - customer: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * @description Type of the tax ID, one of `ad_nrt`, `ae_trn`, `ar_cuit`, `au_abn`, `au_arn`, `bg_uic`, `bo_tin`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `hk_br`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kr_brn`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `no_vat`, `nz_gst`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sv_nit`, `th_vat`, `tr_tin`, `tw_vat`, `ua_vat`, `us_ein`, `uy_ruc`, `ve_rif`, `vn_tin`, or `za_vat` - * @enum {string} - */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; - /** @description Value of the tax ID. */ - value: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax_id"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the tax_id object with the given identifier.

*/ - GetCustomersCustomerTaxIdsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax_id"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes an existing tax_id object.

*/ - DeleteCustomersCustomerTaxIdsId: { - parameters: { - path: { - customer: string; - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_tax_id"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your disputes.

*/ - GetDisputes: { - parameters: { - query?: { - /** @description Only return disputes associated to the charge specified by this charge ID. */ - charge?: string; - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID. */ - payment_intent?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["dispute"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the dispute with the given ID.

*/ - GetDisputesDispute: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - dispute: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["dispute"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

When you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your dashboard, but if you prefer, you can use the API to submit evidence programmatically.

- * - *

Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our guide to dispute types.

- */ - PostDisputesDispute: { - parameters: { - path: { - dispute: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * dispute_evidence_params - * @description Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000. - */ - evidence?: { - access_activity_log?: string; - billing_address?: string; - cancellation_policy?: string; - cancellation_policy_disclosure?: string; - cancellation_rebuttal?: string; - customer_communication?: string; - customer_email_address?: string; - customer_name?: string; - customer_purchase_ip?: string; - customer_signature?: string; - duplicate_charge_documentation?: string; - duplicate_charge_explanation?: string; - duplicate_charge_id?: string; - product_description?: string; - receipt?: string; - refund_policy?: string; - refund_policy_disclosure?: string; - refund_refusal_explanation?: string; - service_date?: string; - service_documentation?: string; - shipping_address?: string; - shipping_carrier?: string; - shipping_date?: string; - shipping_documentation?: string; - shipping_tracking_number?: string; - uncategorized_file?: string; - uncategorized_text?: string; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default). */ - submit?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["dispute"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.

- * - *

The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible.

- */ - PostDisputesDisputeClose: { - parameters: { - path: { - dispute: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["dispute"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a short-lived API key for a given resource.

*/ - PostEphemeralKeys: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The ID of the Customer you'd like to modify using the resulting ephemeral key. */ - customer?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The ID of the Issuing Card you'd like to access using the resulting ephemeral key. */ - issuing_card?: string; - /** @description A single-use token, created by Stripe.js, used for creating ephemeral keys for Issuing Cards without exchanging sensitive information. */ - nonce?: string; - /** @description The ID of the Identity VerificationSession you'd like to access using the resulting ephemeral key */ - verification_session?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["ephemeral_key"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Invalidates a short-lived API key for a given resource.

*/ - DeleteEphemeralKeysKey: { - parameters: { - path: { - key: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["ephemeral_key"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in event object api_version attribute (not according to your current Stripe API version or Stripe-Version header).

*/ - GetEvents: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Filter events by whether all webhooks were successfully delivered. If false, events which are still pending or have failed all delivery attempts to a webhook endpoint will be returned. */ - delivery_success?: boolean; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description A string containing a specific event name, or group of events using * as a wildcard. The list will be filtered to include only events with a matching event property. */ - type?: string; - /** @description An array of up to 20 strings containing specific event names. The list will be filtered to include only events with a matching event property. You may pass either `type` or `types`, but not both. */ - types?: string[]; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["event"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.

*/ - GetEventsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["event"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports.

*/ - GetExchangeRates: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with the exchange rate for currency X your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and total number of supported payout currencies, and the default is the max. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with the exchange rate for currency X, your subsequent call can include `starting_after=X` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["exchange_rate"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the exchange rates from the given currency to every supported currency.

*/ - GetExchangeRatesRateId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - rate_id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["exchange_rate"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of file links.

*/ - GetFileLinks: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Filter links by their expiration status. By default, Stripe returns all links. */ - expired?: boolean; - /** @description Only return links for the given file. */ - file?: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["file_link"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new file link object.

*/ - PostFileLinks: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * Format: unix-time - * @description The link isn't usable after this future timestamp. - */ - expires_at?: number; - /** @description The ID of the file. The file's `purpose` must be one of the following: `business_icon`, `business_logo`, `customer_signature`, `dispute_evidence`, `finance_report_run`, `identity_document_downloadable`, `pci_document`, `selfie`, `sigma_scheduled_query`, `tax_document_user_upload`, or `terminal_reader_splashscreen`. */ - file: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["file_link"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the file link with the given ID.

*/ - GetFileLinksLink: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - link: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["file_link"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates an existing file link object. Expired links can no longer be updated.

*/ - PostFileLinksLink: { - parameters: { - path: { - link: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A future timestamp after which the link will no longer be usable, or `now` to expire the link immediately. */ - expires_at?: "now" | number | ""; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["file_link"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top.

*/ - GetFiles: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Filter queries by the file purpose. If you don't provide a purpose, the queries return unfiltered files. */ - purpose?: "account_requirement" | "additional_verification" | "business_icon" | "business_logo" | "customer_signature" | "dispute_evidence" | "document_provider_identity_document" | "finance_report_run" | "identity_document" | "identity_document_downloadable" | "pci_document" | "selfie" | "sigma_scheduled_query" | "tax_document_user_upload" | "terminal_reader_splashscreen"; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["file"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file.

- * - *

All of Stripe’s officially supported Client libraries support sending multipart/form-data.

- */ - PostFiles: { - requestBody: { - content: { - "multipart/form-data": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * Format: binary - * @description A file to upload. Make sure that the specifications follow RFC 2388, which defines file transfers for the `multipart/form-data` protocol. - */ - file: string; - /** - * file_link_creation_params - * @description Optional parameters that automatically create a [file link](https://stripe.com/docs/api#file_links) for the newly created file. - */ - file_link_data?: { - create: boolean; - /** Format: unix-time */ - expires_at?: number; - metadata?: { - [key: string]: string; - } | ""; - }; - /** - * @description The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file. - * @enum {string} - */ - purpose: "account_requirement" | "additional_verification" | "business_icon" | "business_logo" | "customer_signature" | "dispute_evidence" | "identity_document" | "pci_document" | "tax_document_user_upload" | "terminal_reader_splashscreen"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["file"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to access file contents.

*/ - GetFilesFile: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - file: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["file"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Financial Connections Account objects.

*/ - GetFinancialConnectionsAccounts: { - parameters: { - query?: { - /** @description If present, only return accounts that belong to the specified account holder. `account_holder[customer]` and `account_holder[account]` are mutually exclusive. */ - account_holder?: { - account?: string; - customer?: string; - }; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description If present, only return accounts that were collected as part of the given session. */ - session?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["financial_connections.account"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an Financial Connections Account.

*/ - GetFinancialConnectionsAccountsAccount: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["financial_connections.account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).

*/ - PostFinancialConnectionsAccountsAccountDisconnect: { - parameters: { - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["financial_connections.account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Lists all owners for a given Account

*/ - GetFinancialConnectionsAccountsAccountOwners: { - parameters: { - query: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description The ID of the ownership object to fetch owners from. */ - ownership: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["financial_connections.account_owner"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Refreshes the data associated with a Financial Connections Account.

*/ - PostFinancialConnectionsAccountsAccountRefresh: { - parameters: { - path: { - account: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The list of account features that you would like to refresh. */ - features: ("balance" | "ownership")[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["financial_connections.account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.

*/ - PostFinancialConnectionsSessions: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * accountholder_params - * @description The account holder to link accounts for. - */ - account_holder: { - account?: string; - customer?: string; - /** @enum {string} */ - type: "account" | "customer"; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * filters_params - * @description Filters to restrict the kinds of accounts to collect. - */ - filters?: { - countries: string[]; - }; - /** - * @description List of data features that you would like to request access to. - * - * Possible values are `balances`, `transactions`, `ownership`, and `payment_method`. - */ - permissions: ("balances" | "ownership" | "payment_method" | "transactions")[]; - /** @description List of data features that you would like to retrieve upon account creation. */ - prefetch?: ("balances" | "ownership")[]; - /** @description For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. */ - return_url?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["financial_connections.session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of a Financial Connections Session

*/ - GetFinancialConnectionsSessionsSession: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - session: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["financial_connections.session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

List all verification reports.

*/ - GetIdentityVerificationReports: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return VerificationReports of this type */ - type?: "document" | "id_number"; - /** @description Only return VerificationReports created by this VerificationSession ID. It is allowed to provide a VerificationIntent ID. */ - verification_session?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["identity.verification_report"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves an existing VerificationReport

*/ - GetIdentityVerificationReportsReport: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - report: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["identity.verification_report"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of VerificationSessions

*/ - GetIdentityVerificationSessions: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return VerificationSessions with this status. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work). */ - status?: "canceled" | "processing" | "requires_input" | "verified"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["identity.verification_session"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Creates a VerificationSession object.

- * - *

After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session’s url.

- * - *

If your API key is in test mode, verification checks won’t actually process, though everything else will occur as if in live mode.

- * - *

Related guide: Verify your users’ identity documents

- */ - PostIdentityVerificationSessions: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** - * session_options_param - * @description A set of options for the session’s verification checks. - */ - options?: { - document?: ({ - allowed_types?: ("driving_license" | "id_card" | "passport")[]; - require_id_number?: boolean; - require_live_capture?: boolean; - require_matching_selfie?: boolean; - }) | ""; - }; - /** @description The URL that the user will be redirected to upon completing the verification flow. */ - return_url?: string; - /** - * @description The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed. - * @enum {string} - */ - type: "document" | "id_number"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["identity.verification_session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Retrieves the details of a VerificationSession that was previously created.

- * - *

When the session status is requires_input, you can use this method to retrieve a valid - * client_secret or url to allow re-submission.

- */ - GetIdentityVerificationSessionsSession: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - session: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["identity.verification_session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Updates a VerificationSession object.

- * - *

When the session status is requires_input, you can use this method to update the - * verification check and options.

- */ - PostIdentityVerificationSessionsSession: { - parameters: { - path: { - session: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** - * session_options_param - * @description A set of options for the session’s verification checks. - */ - options?: { - document?: ({ - allowed_types?: ("driving_license" | "id_card" | "passport")[]; - require_id_number?: boolean; - require_live_capture?: boolean; - require_matching_selfie?: boolean; - }) | ""; - }; - /** - * @description The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed. - * @enum {string} - */ - type?: "document" | "id_number"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["identity.verification_session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

A VerificationSession object can be canceled when it is in requires_input status.

- * - *

Once canceled, future submission attempts are disabled. This cannot be undone. Learn more.

- */ - PostIdentityVerificationSessionsSessionCancel: { - parameters: { - path: { - session: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["identity.verification_session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Redact a VerificationSession to remove all collected information from Stripe. This will redact - * the VerificationSession and all objects related to it, including VerificationReports, Events, - * request logs, etc.

- * - *

A VerificationSession object can be redacted when it is in requires_input or verified - * status. Redacting a VerificationSession in requires_action - * state will automatically cancel it.

- * - *

The redaction process may take up to four days. When the redaction process is in progress, the - * VerificationSession’s redaction.status field will be set to processing; when the process is - * finished, it will change to redacted and an identity.verification_session.redacted event - * will be emitted.

- * - *

Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the - * fields that contain personal data will be replaced by the string [redacted] or a similar - * placeholder. The metadata field will also be erased. Redacted objects cannot be updated or - * used for any purpose.

- * - *

Learn more.

- */ - PostIdentityVerificationSessionsSessionRedact: { - parameters: { - path: { - session: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["identity.verification_session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.

*/ - GetInvoiceitems: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description The identifier of the customer whose invoice items to return. If none is provided, all invoice items will be returned. */ - customer?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Only return invoice items belonging to this invoice. If none is provided, all invoice items will be returned. If specifying an invoice, no customer identifier is needed. */ - invoice?: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Set to `true` to only show pending invoice items, which are not yet attached to any invoices. Set to `false` to only show invoice items already attached to invoices. If unspecified, no filter is applied. */ - pending?: boolean; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["invoiceitem"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified.

*/ - PostInvoiceitems: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. Passing in a negative `amount` will reduce the `amount_due` on the invoice. */ - amount?: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description The ID of the customer who will be billed when this invoice item is billed. */ - customer: string; - /** @description An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. */ - description?: string; - /** @description Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. */ - discountable?: boolean; - /** @description The coupons to redeem into discounts for the invoice item or invoice line item. */ - discounts?: { - coupon?: string; - discount?: string; - }[] | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The ID of an existing invoice to add this invoice item to. When left blank, the invoice item will be added to the next upcoming scheduled invoice. This is useful when adding invoice items in response to an invoice.created webhook. You can only add invoice items to draft invoices and there is a maximum of 250 items per invoice. */ - invoice?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** - * period - * @description The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details. - */ - period?: { - /** Format: unix-time */ - end: number; - /** Format: unix-time */ - start: number; - }; - /** @description The ID of the price object. */ - price?: string; - /** - * one_time_price_data - * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. - */ - price_data?: { - currency: string; - product: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - /** @description Non-negative integer. The quantity of units for the invoice item. */ - quantity?: number; - /** @description The ID of a subscription to add this invoice item to. When left blank, the invoice item will be be added to the next upcoming scheduled invoice. When set, scheduled invoices for subscriptions other than the specified subscription will ignore the invoice item. Use this when you want to express that an invoice item has been accrued within the context of a particular subscription. */ - subscription?: string; - /** - * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. - * @enum {string} - */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. */ - tax_code?: string | ""; - /** @description The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. */ - tax_rates?: string[]; - /** @description The integer unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This `unit_amount` will be multiplied by the quantity to get the full amount. Passing in a negative `unit_amount` will reduce the `amount_due` on the invoice. */ - unit_amount?: number; - /** - * Format: decimal - * @description Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. - */ - unit_amount_decimal?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoiceitem"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the invoice item with the given ID.

*/ - GetInvoiceitemsInvoiceitem: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - invoiceitem: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoiceitem"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.

*/ - PostInvoiceitemsInvoiceitem: { - parameters: { - path: { - invoiceitem: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount. */ - amount?: number; - /** @description An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. */ - description?: string; - /** @description Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. Cannot be set to true for prorations. */ - discountable?: boolean; - /** @description The coupons & existing discounts which apply to the invoice item or invoice line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts. */ - discounts?: { - coupon?: string; - discount?: string; - }[] | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** - * period - * @description The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details. - */ - period?: { - /** Format: unix-time */ - end: number; - /** Format: unix-time */ - start: number; - }; - /** @description The ID of the price object. */ - price?: string; - /** - * one_time_price_data - * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. - */ - price_data?: { - currency: string; - product: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - /** @description Non-negative integer. The quantity of units for the invoice item. */ - quantity?: number; - /** - * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. - * @enum {string} - */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. */ - tax_code?: string | ""; - /** @description The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. Pass an empty string to remove previously-defined tax rates. */ - tax_rates?: string[] | ""; - /** @description The integer unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This unit_amount will be multiplied by the quantity to get the full amount. If you want to apply a credit to the customer's account, pass a negative unit_amount. */ - unit_amount?: number; - /** - * Format: decimal - * @description Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. - */ - unit_amount_decimal?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoiceitem"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not attached to invoices, or if it’s attached to a draft invoice.

*/ - DeleteInvoiceitemsInvoiceitem: { - parameters: { - path: { - invoiceitem: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_invoiceitem"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.

*/ - GetInvoices: { - parameters: { - query?: { - /** @description The collection method of the invoice to retrieve. Either `charge_automatically` or `send_invoice`. */ - collection_method?: "charge_automatically" | "send_invoice"; - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return invoices for the customer specified by this customer ID. */ - customer?: string; - due_date?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview) */ - status?: "draft" | "open" | "paid" | "uncollectible" | "void"; - /** @description Only return invoices for the subscription specified by this subscription ID. */ - subscription?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["invoice"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you finalize the invoice, which allows you to pay or send the invoice to your customers.

*/ - PostInvoices: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The account tax IDs associated with the invoice. Only editable when the invoice is a draft. */ - account_tax_ids?: string[] | ""; - /** @description A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees). */ - application_fee_amount?: number; - /** @description Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action. */ - auto_advance?: boolean; - /** - * automatic_tax_param - * @description Settings for automatic tax lookup for this invoice. - */ - automatic_tax?: { - enabled: boolean; - }; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. Defaults to `charge_automatically`. - * @enum {string} - */ - collection_method?: "charge_automatically" | "send_invoice"; - /** @description The currency to create this invoice in. Defaults to that of `customer` if not specified. */ - currency?: string; - /** @description A list of up to 4 custom fields to be displayed on the invoice. */ - custom_fields?: { - name: string; - value: string; - }[] | ""; - /** @description The ID of the customer who will be billed. */ - customer?: string; - /** @description The number of days from when the invoice is created until it is due. Valid only for invoices where `collection_method=send_invoice`. */ - days_until_due?: number; - /** @description ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings. */ - default_payment_method?: string; - /** @description ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source. */ - default_source?: string; - /** @description The tax rates that will apply to any line item that does not have `tax_rates` set. */ - default_tax_rates?: string[]; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard. */ - description?: string; - /** @description The coupons to redeem into discounts for the invoice. If not specified, inherits the discount from the invoice's customer. Pass an empty string to avoid inheriting any discounts. */ - discounts?: { - coupon?: string; - discount?: string; - }[] | ""; - /** - * Format: unix-time - * @description The date on which payment for this invoice is due. Valid only for invoices where `collection_method=send_invoice`. - */ - due_date?: number; - /** - * Format: unix-time - * @description The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt. - */ - effective_at?: number; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Footer to be displayed on the invoice. */ - footer?: string; - /** - * from_invoice - * @description Revise an existing invoice. The new invoice will be created in `status=draft`. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details. - */ - from_invoice?: { - /** @enum {string} */ - action: "revision"; - invoice: string; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. */ - on_behalf_of?: string; - /** - * payment_settings - * @description Configuration settings for the PaymentIntent that is generated when the invoice is finalized. - */ - payment_settings?: { - default_mandate?: string | ""; - /** payment_method_options */ - payment_method_options?: { - acss_debit?: ({ - /** mandate_options_param */ - mandate_options?: { - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - bancontact?: ({ - /** @enum {string} */ - preferred_language?: "de" | "en" | "fr" | "nl"; - }) | ""; - card?: ({ - /** installments_param */ - installments?: { - enabled?: boolean; - plan?: { - count: number; - /** @enum {string} */ - interval: "month"; - /** @enum {string} */ - type: "fixed_count"; - } | ""; - }; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - }) | ""; - customer_balance?: { - /** bank_transfer_param */ - bank_transfer?: { - /** eu_bank_transfer_param */ - eu_bank_transfer?: { - country: string; - }; - type?: string; - }; - funding_type?: string; - } | ""; - konbini?: Record | ""; - us_bank_account?: ({ - /** invoice_linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - }; - payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | ""; - }; - /** - * @description How to handle pending invoice items on invoice creation. One of `include` or `exclude`. `include` will include any pending invoice items, and will create an empty draft invoice if no pending invoice items exist. `exclude` will always create an empty invoice draft regardless if there are pending invoice items or not. Defaults to `exclude` if the parameter is omitted. - * @enum {string} - */ - pending_invoice_items_behavior?: "exclude" | "include" | "include_and_require"; - /** - * rendering_param - * @description The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. - */ - rendering?: { - /** @enum {string} */ - amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; - /** rendering_pdf_param */ - pdf?: { - /** @enum {string} */ - page_size?: "a4" | "auto" | "letter"; - }; - }; - /** @description Options for invoice PDF rendering. */ - rendering_options?: ({ - /** @enum {string} */ - amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; - }) | ""; - /** - * shipping_cost - * @description Settings for the cost of shipping for this invoice. - */ - shipping_cost?: { - shipping_rate?: string; - /** method_params */ - shipping_rate_data?: { - /** delivery_estimate */ - delivery_estimate?: { - /** delivery_estimate_bound */ - maximum?: { - /** @enum {string} */ - unit: "business_day" | "day" | "hour" | "month" | "week"; - value: number; - }; - /** delivery_estimate_bound */ - minimum?: { - /** @enum {string} */ - unit: "business_day" | "day" | "hour" | "month" | "week"; - value: number; - }; - }; - display_name: string; - /** fixed_amount */ - fixed_amount?: { - amount: number; - currency: string; - currency_options?: { - [key: string]: { - amount: number; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; }; - }; - metadata?: { - [key: string]: string; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - tax_code?: string; - /** @enum {string} */ - type?: "fixed_amount"; - }; - }; - /** - * recipient_shipping_with_optional_fields_address - * @description Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer. - */ - shipping_details?: { - /** optional_fields_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; }; - name: string; - phone?: string | ""; - }; - /** @description Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`. */ - statement_descriptor?: string; - /** @description The ID of the subscription to invoice, if any. If set, the created invoice will only include pending invoice items for that subscription. The subscription's billing cycle and regular subscription events won't be affected. */ - subscription?: string; - /** - * transfer_data_specs - * @description If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge. - */ - transfer_data?: { - amount?: number; - destination: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoice"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Search for invoices you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - GetInvoicesSearch: { - parameters: { - query: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ - page?: string; - /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for invoices](https://stripe.com/docs/search#query-fields-for-invoices). */ - query: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["invoice"][]; - has_more: boolean; - next_page?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "search_result"; - /** @description The total number of objects that match the query, only accurate up to 10,000. */ - total_count?: number; - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

At any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.

- * - *

Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer’s discount.

- * - *

You can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass a proration_date parameter when doing the actual subscription update. The value passed in should be the same as the subscription_proration_date returned on the upcoming invoice resource. The recommended way to get only the prorations being previewed is to consider only proration line items where period[start] is equal to the subscription_proration_date on the upcoming invoice resource.

- */ - GetInvoicesUpcoming: { - parameters: { - query?: { - /** @description Settings for automatic tax lookup for this invoice preview. */ - automatic_tax?: { - enabled: boolean; - }; - /** @description The code of the coupon to apply. If `subscription` or `subscription_items` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string. */ - coupon?: string; - /** @description The currency to preview this invoice in. Defaults to that of `customer` if not specified. */ - currency?: string; - /** @description The identifier of the customer whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set. */ - customer?: string; - /** @description Details about the customer you want to invoice or overrides for an existing customer. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set. */ - customer_details?: { - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - shipping?: { - /** optional_fields_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; + }; + }; + GetTreasuryReceivedDebitsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; }; - name: string; - phone?: string; - } | ""; - /** tax_param */ - tax?: { - ip_address?: string | ""; - }; - /** @enum {string} */ - tax_exempt?: "" | "exempt" | "none" | "reverse"; - tax_ids?: ({ - /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; - value: string; - })[]; - }; - /** @description The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. This only works for coupons directly applied to the invoice. To apply a coupon to a subscription, you must use the `coupon` parameter instead. Pass an empty string to avoid inheriting any discounts. To preview the upcoming invoice for a subscription that hasn't been created, use `coupon` instead. */ - discounts?: { - coupon?: string; - discount?: string; - }[] | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description List of invoice items to add or update in the upcoming invoice preview. */ - invoice_items?: ({ - amount?: number; - currency?: string; - description?: string; - discountable?: boolean; - discounts?: { - coupon?: string; - discount?: string; - }[] | ""; - invoiceitem?: string; - metadata?: { - [key: string]: string; - } | ""; - /** period */ - period?: { - /** Format: unix-time */ - end: number; - /** Format: unix-time */ - start: number; - }; - price?: string; - /** one_time_price_data */ - price_data?: { - currency: string; - product: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; + header?: never; + path: { + id: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.received_debit"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetTreasuryTransactionEntries: { + parameters: { + query: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + effective_at?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Returns objects associated with this FinancialAccount. */ + financial_account: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description The results are in reverse chronological order by `created` or `effective_at`. The default is `created`. */ + order_by?: "created" | "effective_at"; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return TransactionEntries associated with this Transaction. */ + transaction?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["treasury.transaction_entry"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; }; - quantity?: number; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - tax_code?: string | ""; - tax_rates?: string[] | ""; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - })[]; - /** @description The identifier of the schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields. */ - schedule?: string; - /** @description The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions. */ - subscription?: string; - /** @description For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`. */ - subscription_billing_cycle_anchor?: ("now" | "unchanged") | number; - /** @description Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using `proration_behavior`. */ - subscription_cancel_at?: number | ""; - /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ - subscription_cancel_at_period_end?: boolean; - /** @description This simulates the subscription being canceled or expired immediately. */ - subscription_cancel_now?: boolean; - /** @description If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have `tax_rates` set. */ - subscription_default_tax_rates?: string[] | ""; - /** @description A list of up to 20 subscription items, each with an attached price. */ - subscription_items?: ({ - billing_thresholds?: { - usage_gte: number; - } | ""; - clear_usage?: boolean; - deleted?: boolean; - id?: string; - metadata?: { - [key: string]: string; - } | ""; - price?: string; - /** recurring_price_data */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. */ - subscription_proration_behavior?: "always_invoice" | "create_prorations" | "none"; - /** @description If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration_behavior` cannot be set to 'none'. */ - subscription_proration_date?: number; - /** @description For paused subscriptions, setting `subscription_resume_at` to `now` will preview the invoice that will be generated if the subscription is resumed. */ - subscription_resume_at?: "now"; - /** @description Date a subscription is intended to start (can be future or past) */ - subscription_start_date?: number; - /** @description If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required. */ - subscription_trial_end?: "now" | number; - /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `subscription_trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `subscription_trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ - subscription_trial_from_plan?: boolean; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoice"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

When retrieving an upcoming invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - GetInvoicesUpcomingLines: { - parameters: { - query?: { - /** @description Settings for automatic tax lookup for this invoice preview. */ - automatic_tax?: { - enabled: boolean; - }; - /** @description The code of the coupon to apply. If `subscription` or `subscription_items` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string. */ - coupon?: string; - /** @description The currency to preview this invoice in. Defaults to that of `customer` if not specified. */ - currency?: string; - /** @description The identifier of the customer whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set. */ - customer?: string; - /** @description Details about the customer you want to invoice or overrides for an existing customer. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set. */ - customer_details?: { - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - shipping?: { - /** optional_fields_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; + }; + }; + GetTreasuryTransactionEntriesId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; }; - name: string; - phone?: string; - } | ""; - /** tax_param */ - tax?: { - ip_address?: string | ""; - }; - /** @enum {string} */ - tax_exempt?: "" | "exempt" | "none" | "reverse"; - tax_ids?: ({ - /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; - value: string; - })[]; - }; - /** @description The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. This only works for coupons directly applied to the invoice. To apply a coupon to a subscription, you must use the `coupon` parameter instead. Pass an empty string to avoid inheriting any discounts. To preview the upcoming invoice for a subscription that hasn't been created, use `coupon` instead. */ - discounts?: { - coupon?: string; - discount?: string; - }[] | ""; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description List of invoice items to add or update in the upcoming invoice preview. */ - invoice_items?: ({ - amount?: number; - currency?: string; - description?: string; - discountable?: boolean; - discounts?: { - coupon?: string; - discount?: string; - }[] | ""; - invoiceitem?: string; - metadata?: { - [key: string]: string; - } | ""; - /** period */ - period?: { - /** Format: unix-time */ - end: number; - /** Format: unix-time */ - start: number; - }; - price?: string; - /** one_time_price_data */ - price_data?: { - currency: string; - product: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; + header?: never; + path: { + id: string; }; - quantity?: number; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - tax_code?: string | ""; - tax_rates?: string[] | ""; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - })[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description The identifier of the schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields. */ - schedule?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions. */ - subscription?: string; - /** @description For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`. */ - subscription_billing_cycle_anchor?: ("now" | "unchanged") | number; - /** @description Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using `proration_behavior`. */ - subscription_cancel_at?: number | ""; - /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ - subscription_cancel_at_period_end?: boolean; - /** @description This simulates the subscription being canceled or expired immediately. */ - subscription_cancel_now?: boolean; - /** @description If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have `tax_rates` set. */ - subscription_default_tax_rates?: string[] | ""; - /** @description A list of up to 20 subscription items, each with an attached price. */ - subscription_items?: ({ - billing_thresholds?: { - usage_gte: number; - } | ""; - clear_usage?: boolean; - deleted?: boolean; - id?: string; - metadata?: { - [key: string]: string; - } | ""; - price?: string; - /** recurring_price_data */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. */ - subscription_proration_behavior?: "always_invoice" | "create_prorations" | "none"; - /** @description If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration_behavior` cannot be set to 'none'. */ - subscription_proration_date?: number; - /** @description For paused subscriptions, setting `subscription_resume_at` to `now` will preview the invoice that will be generated if the subscription is resumed. */ - subscription_resume_at?: "now"; - /** @description Date a subscription is intended to start (can be future or past) */ - subscription_start_date?: number; - /** @description If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required. */ - subscription_trial_end?: "now" | number; - /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `subscription_trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `subscription_trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ - subscription_trial_from_plan?: boolean; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["line_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the invoice with the given ID.

*/ - GetInvoicesInvoice: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - invoice: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoice"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Draft invoices are fully editable. Once an invoice is finalized, - * monetary values, as well as collection_method, become uneditable.

- * - *

If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on, - * sending reminders for, or automatically reconciling invoices, pass - * auto_advance=false.

- */ - PostInvoicesInvoice: { - parameters: { - path: { - invoice: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The account tax IDs associated with the invoice. Only editable when the invoice is a draft. */ - account_tax_ids?: string[] | ""; - /** @description A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees). */ - application_fee_amount?: number; - /** @description Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. */ - auto_advance?: boolean; - /** - * automatic_tax_param - * @description Settings for automatic tax lookup for this invoice. - */ - automatic_tax?: { - enabled: boolean; - }; - /** - * @description Either `charge_automatically` or `send_invoice`. This field can be updated only on `draft` invoices. - * @enum {string} - */ - collection_method?: "charge_automatically" | "send_invoice"; - /** @description A list of up to 4 custom fields to be displayed on the invoice. If a value for `custom_fields` is specified, the list specified will replace the existing custom field list on this invoice. Pass an empty string to remove previously-defined fields. */ - custom_fields?: { - name: string; - value: string; - }[] | ""; - /** @description The number of days from which the invoice is created until it is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices. */ - days_until_due?: number; - /** @description ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings. */ - default_payment_method?: string; - /** @description ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source. */ - default_source?: string | ""; - /** @description The tax rates that will apply to any line item that does not have `tax_rates` set. Pass an empty string to remove previously-defined tax rates. */ - default_tax_rates?: string[] | ""; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard. */ - description?: string; - /** @description The discounts that will apply to the invoice. Pass an empty string to remove previously-defined discounts. */ - discounts?: { - coupon?: string; - discount?: string; - }[] | ""; - /** - * Format: unix-time - * @description The date on which payment for this invoice is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices. - */ - due_date?: number; - /** @description The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt. */ - effective_at?: number | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Footer to be displayed on the invoice. */ - footer?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. */ - on_behalf_of?: string | ""; - /** - * payment_settings - * @description Configuration settings for the PaymentIntent that is generated when the invoice is finalized. - */ - payment_settings?: { - default_mandate?: string | ""; - /** payment_method_options */ - payment_method_options?: { - acss_debit?: ({ - /** mandate_options_param */ - mandate_options?: { - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - bancontact?: ({ - /** @enum {string} */ - preferred_language?: "de" | "en" | "fr" | "nl"; - }) | ""; - card?: ({ - /** installments_param */ - installments?: { - enabled?: boolean; - plan?: { - count: number; - /** @enum {string} */ - interval: "month"; - /** @enum {string} */ - type: "fixed_count"; - } | ""; - }; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - }) | ""; - customer_balance?: { - /** bank_transfer_param */ - bank_transfer?: { - /** eu_bank_transfer_param */ - eu_bank_transfer?: { - country: string; - }; - type?: string; - }; - funding_type?: string; - } | ""; - konbini?: Record | ""; - us_bank_account?: ({ - /** invoice_linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - }; - payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | ""; - }; - /** - * rendering_param - * @description The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. - */ - rendering?: { - /** @enum {string} */ - amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; - /** rendering_pdf_param */ - pdf?: { - /** @enum {string} */ - page_size?: "a4" | "auto" | "letter"; - }; - }; - /** @description Options for invoice PDF rendering. */ - rendering_options?: ({ - /** @enum {string} */ - amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; - }) | ""; - /** @description Settings for the cost of shipping for this invoice. */ - shipping_cost?: ({ - shipping_rate?: string; - /** method_params */ - shipping_rate_data?: { - /** delivery_estimate */ - delivery_estimate?: { - /** delivery_estimate_bound */ - maximum?: { - /** @enum {string} */ - unit: "business_day" | "day" | "hour" | "month" | "week"; - value: number; - }; - /** delivery_estimate_bound */ - minimum?: { - /** @enum {string} */ - unit: "business_day" | "day" | "hour" | "month" | "week"; - value: number; - }; - }; - display_name: string; - /** fixed_amount */ - fixed_amount?: { - amount: number; - currency: string; - currency_options?: { - [key: string]: { - amount: number; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.transaction_entry"]; }; - }; - metadata?: { - [key: string]: string; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - tax_code?: string; - /** @enum {string} */ - type?: "fixed_amount"; - }; - }) | ""; - /** @description Shipping details for the invoice. The Invoice PDF will use the `shipping_details` value if it is set, otherwise the PDF will render the shipping address from the customer. */ - shipping_details?: ({ - /** optional_fields_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - name: string; - phone?: string | ""; - }) | ""; - /** @description Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`. */ - statement_descriptor?: string; - /** @description If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge. This will be unset if you POST an empty value. */ - transfer_data?: { - amount?: number; - destination: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoice"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be voided.

*/ - DeleteInvoicesInvoice: { - parameters: { - path: { - invoice: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_invoice"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.

*/ - PostInvoicesInvoiceFinalize: { - parameters: { - path: { - invoice: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action. */ - auto_advance?: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoice"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

When retrieving an invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - GetInvoicesInvoiceLines: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - invoice: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["line_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.

*/ - PostInvoicesInvoiceMarkUncollectible: { - parameters: { - path: { - invoice: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoice"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your subscriptions settings. However, if you’d like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.

*/ - PostInvoicesInvoicePay: { - parameters: { - path: { - invoice: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * @description In cases where the source used to pay the invoice has insufficient funds, passing `forgive=true` controls whether a charge should be attempted for the full amount available on the source, up to the amount to fully pay the invoice. This effectively forgives the difference between the amount available on the source and the amount due. - * - * Passing `forgive=false` will fail the charge if the source hasn't been pre-funded with the right amount. An example for this case is with ACH Credit Transfers and wires: if the amount wired is less than the amount due by a small amount, you might want to forgive the difference. Defaults to `false`. - */ - forgive?: boolean; - /** @description ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the payment_method param or the invoice's default_payment_method or default_source, if set. */ - mandate?: string | ""; - /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `true` (off-session). */ - off_session?: boolean; - /** @description Boolean representing whether an invoice is paid outside of Stripe. This will result in no charge being made. Defaults to `false`. */ - paid_out_of_band?: boolean; - /** @description A PaymentMethod to be charged. The PaymentMethod must be the ID of a PaymentMethod belonging to the customer associated with the invoice being paid. */ - payment_method?: string; - /** @description A payment source to be charged. The source must be the ID of a source belonging to the customer associated with the invoice being paid. */ - source?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoice"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Stripe will automatically send invoices to customers according to your subscriptions settings. However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.

- * - *

Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event.

- */ - PostInvoicesInvoiceSend: { - parameters: { - path: { - invoice: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoice"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to deletion, however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.

*/ - PostInvoicesInvoiceVoid: { - parameters: { - path: { - invoice: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["invoice"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - GetIssuingAuthorizations: { - parameters: { - query?: { - /** @description Only return authorizations that belong to the given card. */ - card?: string; - /** @description Only return authorizations that belong to the given cardholder. */ - cardholder?: string; - /** @description Only return authorizations that were created during the given date interval. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return authorizations with the given status. One of `pending`, `closed`, or `reversed`. */ - status?: "closed" | "pending" | "reversed"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["issuing.authorization"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves an Issuing Authorization object.

*/ - GetIssuingAuthorizationsAuthorization: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - authorization: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.authorization"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specified Issuing Authorization object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - PostIssuingAuthorizationsAuthorization: { - parameters: { - path: { - authorization: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.authorization"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

[Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the real-time authorization flow. - * This method is deprecated. Instead, respond directly to the webhook request to approve an authorization.

- */ - PostIssuingAuthorizationsAuthorizationApprove: { - parameters: { - path: { - authorization: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description If the authorization's `pending_request.is_amount_controllable` property is `true`, you may provide this value to control how much to hold for the authorization. Must be positive (use [`decline`](https://stripe.com/docs/api/issuing/authorizations/decline) to decline an authorization request). */ - amount?: number; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.authorization"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

[Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the real time authorization flow. - * This method is deprecated. Instead, respond directly to the webhook request to decline an authorization.

- */ - PostIssuingAuthorizationsAuthorizationDecline: { - parameters: { - path: { - authorization: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.authorization"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - GetIssuingCardholders: { - parameters: { - query?: { - /** @description Only return cardholders that were created during the given date interval. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return cardholders that have the given email address. */ - email?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return cardholders that have the given phone number. */ - phone_number?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return cardholders that have the given status. One of `active`, `inactive`, or `blocked`. */ - status?: "active" | "blocked" | "inactive"; - /** @description Only return cardholders that have the given type. One of `individual` or `company`. */ - type?: "company" | "individual"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["issuing.cardholder"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new Issuing Cardholder object that can be issued cards.

*/ - PostIssuingCardholders: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * billing_specs - * @description The cardholder's billing address. - */ - billing: { - /** required_address */ - address: { - city: string; - country: string; - line1: string; - line2?: string; - postal_code: string; - state?: string; - }; - }; - /** - * company_param - * @description Additional information about a `company` cardholder. - */ - company?: { - tax_id?: string; - }; - /** @description The cardholder's email address. */ - email?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * individual_param - * @description Additional information about an `individual` cardholder. - */ - individual?: { - /** card_issuing_param */ - card_issuing?: { - /** terms_acceptance_param */ - user_terms_acceptance?: { - /** Format: unix-time */ - date?: number; - ip?: string; - user_agent?: string | ""; - }; - }; - /** date_of_birth_specs */ - dob?: { - day: number; - month: number; - year: number; }; - first_name?: string; - last_name?: string; - /** person_verification_param */ - verification?: { - /** person_verification_document_param */ - document?: { - back?: string; - front?: string; - }; - }; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The cardholder's name. This will be printed on cards issued to them. The maximum length of this field is 24 characters. This field cannot contain any special characters or numbers. */ - name: string; - /** @description The cardholder's phone number. This will be transformed to [E.164](https://en.wikipedia.org/wiki/E.164) if it is not provided in that format already. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure#when-is-3d-secure-applied) for more details. */ - phone_number?: string; - /** - * @description The cardholder’s preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`. - * This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder. - */ - preferred_locales?: ("de" | "en" | "es" | "fr" | "it")[]; - /** - * authorization_controls_param_v2 - * @description Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. - */ - spending_controls?: { - allowed_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - blocked_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - spending_limits?: ({ - amount: number; - categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - /** @enum {string} */ - interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; - })[]; - spending_limits_currency?: string; - }; - /** - * @description Specifies whether to permit authorizations on this cardholder's cards. Defaults to `active`. - * @enum {string} - */ - status?: "active" | "inactive"; - /** - * @description One of `individual` or `company`. See [Choose a cardholder type](https://stripe.com/docs/issuing/other/choose-cardholder) for more details. - * @enum {string} - */ - type?: "company" | "individual"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.cardholder"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves an Issuing Cardholder object.

*/ - GetIssuingCardholdersCardholder: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - cardholder: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.cardholder"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specified Issuing Cardholder object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - PostIssuingCardholdersCardholder: { - parameters: { - path: { - cardholder: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * billing_specs - * @description The cardholder's billing address. - */ - billing?: { - /** required_address */ - address: { - city: string; - country: string; - line1: string; - line2?: string; - postal_code: string; - state?: string; - }; - }; - /** - * company_param - * @description Additional information about a `company` cardholder. - */ - company?: { - tax_id?: string; - }; - /** @description The cardholder's email address. */ - email?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * individual_param - * @description Additional information about an `individual` cardholder. - */ - individual?: { - /** card_issuing_param */ - card_issuing?: { - /** terms_acceptance_param */ - user_terms_acceptance?: { - /** Format: unix-time */ - date?: number; - ip?: string; - user_agent?: string | ""; - }; - }; - /** date_of_birth_specs */ - dob?: { - day: number; - month: number; - year: number; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; }; - first_name?: string; - last_name?: string; - /** person_verification_param */ - verification?: { - /** person_verification_document_param */ - document?: { - back?: string; - front?: string; - }; - }; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure) for more details. */ - phone_number?: string; - /** - * @description The cardholder’s preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`. - * This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder. - */ - preferred_locales?: ("de" | "en" | "es" | "fr" | "it")[]; - /** - * authorization_controls_param_v2 - * @description Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. - */ - spending_controls?: { - allowed_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - blocked_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - spending_limits?: ({ - amount: number; - categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - /** @enum {string} */ - interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; - })[]; - spending_limits_currency?: string; - }; - /** - * @description Specifies whether to permit authorizations on this cardholder's cards. - * @enum {string} - */ - status?: "active" | "inactive"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.cardholder"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Issuing Card objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - GetIssuingCards: { - parameters: { - query?: { - /** @description Only return cards belonging to the Cardholder with the provided ID. */ - cardholder?: string; - /** @description Only return cards that were issued during the given date interval. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Only return cards that have the given expiration month. */ - exp_month?: number; - /** @description Only return cards that have the given expiration year. */ - exp_year?: number; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Only return cards that have the given last four digits. */ - last4?: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return cards that have the given status. One of `active`, `inactive`, or `canceled`. */ - status?: "active" | "canceled" | "inactive"; - /** @description Only return cards that have the given type. One of `virtual` or `physical`. */ - type?: "physical" | "virtual"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["issuing.card"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates an Issuing Card object.

*/ - PostIssuingCards: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The [Cardholder](https://stripe.com/docs/api#issuing_cardholder_object) object with which the card will be associated. */ - cardholder?: string; - /** @description The currency for the card. */ - currency: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - financial_account?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The card this is meant to be a replacement for (if any). */ - replacement_for?: string; - /** - * @description If `replacement_for` is specified, this should indicate why that card is being replaced. - * @enum {string} - */ - replacement_reason?: "damaged" | "expired" | "lost" | "stolen"; - /** - * shipping_specs - * @description The address where the card will be shipped. - */ - shipping?: { - /** required_address */ - address: { - city: string; - country: string; - line1: string; - line2?: string; - postal_code: string; - state?: string; - }; - /** customs_param */ - customs?: { - eori_number?: string; + }; + }; + GetTreasuryTransactions: { + parameters: { + query: { + created?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Returns objects associated with this FinancialAccount. */ + financial_account: string; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description The results are in reverse chronological order by `created` or `posted_at`. The default is `created`. */ + order_by?: "created" | "posted_at"; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + /** @description Only return Transactions that have the given status: `open`, `posted`, or `void`. */ + status?: "open" | "posted" | "void"; + /** @description A filter for the `status_transitions.posted_at` timestamp. When using this filter, `status=posted` and `order_by=posted_at` must also be specified. */ + status_transitions?: { + posted_at?: { + gt?: number; + gte?: number; + lt?: number; + lte?: number; + } | number; + }; }; - name: string; - phone_number?: string; - require_signature?: boolean; - /** @enum {string} */ - service?: "express" | "priority" | "standard"; - /** @enum {string} */ - type?: "bulk" | "individual"; - }; - /** - * authorization_controls_param - * @description Rules that control spending for this card. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. - */ - spending_controls?: { - allowed_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - blocked_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - spending_limits?: ({ - amount: number; - categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - /** @enum {string} */ - interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; - })[]; - }; - /** - * @description Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. - * @enum {string} - */ - status?: "active" | "inactive"; - /** - * @description The type of card to issue. Possible values are `physical` or `virtual`. - * @enum {string} - */ - type: "physical" | "virtual"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.card"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves an Issuing Card object.

*/ - GetIssuingCardsCard: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - card: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.card"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specified Issuing Card object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - PostIssuingCardsCard: { - parameters: { - path: { - card: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * @description Reason why the `status` of this card is `canceled`. - * @enum {string} - */ - cancellation_reason?: "lost" | "stolen"; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** - * encrypted_pin_param - * @description The desired new PIN for this card. - */ - pin?: { - encrypted_number?: string; - }; - /** - * authorization_controls_param - * @description Rules that control spending for this card. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. - */ - spending_controls?: { - allowed_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - blocked_categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - spending_limits?: ({ - amount: number; - categories?: ("ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards")[]; - /** @enum {string} */ - interval: "all_time" | "daily" | "monthly" | "per_authorization" | "weekly" | "yearly"; - })[]; - }; - /** - * @description Dictates whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. If this card is being canceled because it was lost or stolen, this information should be provided as `cancellation_reason`. - * @enum {string} - */ - status?: "active" | "canceled" | "inactive"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.card"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - GetIssuingDisputes: { - parameters: { - query?: { - /** @description Select Issuing disputes that were created during the given date interval. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Select Issuing disputes with the given status. */ - status?: "expired" | "lost" | "submitted" | "unsubmitted" | "won"; - /** @description Select the Issuing dispute for the given transaction. */ - transaction?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["issuing.dispute"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to Dispute reasons and evidence for more details about evidence requirements.

*/ - PostIssuingDisputes: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The dispute amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). If not set, defaults to the full transaction amount. */ - amount?: number; - /** - * evidence_param - * @description Evidence provided for the dispute. - */ - evidence?: { - canceled?: ({ - additional_documentation?: string | ""; - canceled_at?: number | ""; - cancellation_policy_provided?: boolean | ""; - cancellation_reason?: string | ""; - expected_at?: number | ""; - explanation?: string | ""; - product_description?: string | ""; - /** @enum {string} */ - product_type?: "" | "merchandise" | "service"; - /** @enum {string} */ - return_status?: "" | "merchant_rejected" | "successful"; - returned_at?: number | ""; - }) | ""; - duplicate?: ({ - additional_documentation?: string | ""; - card_statement?: string | ""; - cash_receipt?: string | ""; - check_image?: string | ""; - explanation?: string | ""; - original_transaction?: string; - }) | ""; - fraudulent?: ({ - additional_documentation?: string | ""; - explanation?: string | ""; - }) | ""; - merchandise_not_as_described?: ({ - additional_documentation?: string | ""; - explanation?: string | ""; - received_at?: number | ""; - return_description?: string | ""; - /** @enum {string} */ - return_status?: "" | "merchant_rejected" | "successful"; - returned_at?: number | ""; - }) | ""; - not_received?: ({ - additional_documentation?: string | ""; - expected_at?: number | ""; - explanation?: string | ""; - product_description?: string | ""; - /** @enum {string} */ - product_type?: "" | "merchandise" | "service"; - }) | ""; - other?: ({ - additional_documentation?: string | ""; - explanation?: string | ""; - product_description?: string | ""; - /** @enum {string} */ - product_type?: "" | "merchandise" | "service"; - }) | ""; - /** @enum {string} */ - reason?: "canceled" | "duplicate" | "fraudulent" | "merchandise_not_as_described" | "not_received" | "other" | "service_not_as_described"; - service_not_as_described?: ({ - additional_documentation?: string | ""; - canceled_at?: number | ""; - cancellation_reason?: string | ""; - explanation?: string | ""; - received_at?: number | ""; - }) | ""; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The ID of the issuing transaction to create a dispute for. For transaction on Treasury FinancialAccounts, use `treasury.received_debit`. */ - transaction?: string; - /** - * treasury_param - * @description Params for disputes related to Treasury FinancialAccounts - */ - treasury?: { - received_debit: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.dispute"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves an Issuing Dispute object.

*/ - GetIssuingDisputesDispute: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - dispute: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.dispute"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence object can be unset by passing in an empty string.

*/ - PostIssuingDisputesDispute: { - parameters: { - path: { - dispute: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The dispute amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount?: number; - /** - * evidence_param - * @description Evidence provided for the dispute. - */ - evidence?: { - canceled?: ({ - additional_documentation?: string | ""; - canceled_at?: number | ""; - cancellation_policy_provided?: boolean | ""; - cancellation_reason?: string | ""; - expected_at?: number | ""; - explanation?: string | ""; - product_description?: string | ""; - /** @enum {string} */ - product_type?: "" | "merchandise" | "service"; - /** @enum {string} */ - return_status?: "" | "merchant_rejected" | "successful"; - returned_at?: number | ""; - }) | ""; - duplicate?: ({ - additional_documentation?: string | ""; - card_statement?: string | ""; - cash_receipt?: string | ""; - check_image?: string | ""; - explanation?: string | ""; - original_transaction?: string; - }) | ""; - fraudulent?: ({ - additional_documentation?: string | ""; - explanation?: string | ""; - }) | ""; - merchandise_not_as_described?: ({ - additional_documentation?: string | ""; - explanation?: string | ""; - received_at?: number | ""; - return_description?: string | ""; - /** @enum {string} */ - return_status?: "" | "merchant_rejected" | "successful"; - returned_at?: number | ""; - }) | ""; - not_received?: ({ - additional_documentation?: string | ""; - expected_at?: number | ""; - explanation?: string | ""; - product_description?: string | ""; - /** @enum {string} */ - product_type?: "" | "merchandise" | "service"; - }) | ""; - other?: ({ - additional_documentation?: string | ""; - explanation?: string | ""; - product_description?: string | ""; - /** @enum {string} */ - product_type?: "" | "merchandise" | "service"; - }) | ""; - /** @enum {string} */ - reason?: "canceled" | "duplicate" | "fraudulent" | "merchandise_not_as_described" | "not_received" | "other" | "service_not_as_described"; - service_not_as_described?: ({ - additional_documentation?: string | ""; - canceled_at?: number | ""; - cancellation_reason?: string | ""; - explanation?: string | ""; - received_at?: number | ""; - }) | ""; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.dispute"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute’s reason are present. For more details, see Dispute reasons and evidence.

*/ - PostIssuingDisputesDisputeSubmit: { - parameters: { - path: { - dispute: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.dispute"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Issuing Settlement objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - GetIssuingSettlements: { - parameters: { - query?: { - /** @description Only return issuing settlements that were created during the given date interval. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["issuing.settlement"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves an Issuing Settlement object.

*/ - GetIssuingSettlementsSettlement: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - settlement: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.settlement"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specified Issuing Settlement object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - PostIssuingSettlementsSettlement: { - parameters: { - path: { - settlement: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.settlement"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - GetIssuingTransactions: { - parameters: { - query?: { - /** @description Only return transactions that belong to the given card. */ - card?: string; - /** @description Only return transactions that belong to the given cardholder. */ - cardholder?: string; - /** @description Only return transactions that were created during the given date interval. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return transactions that have the given type. One of `capture` or `refund`. */ - type?: "capture" | "refund"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["issuing.transaction"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves an Issuing Transaction object.

*/ - GetIssuingTransactionsTransaction: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - transaction: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specified Issuing Transaction object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - PostIssuingTransactionsTransaction: { - parameters: { - path: { - transaction: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.

*/ - PostLinkAccountSessions: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * accountholder_params - * @description The account holder to link accounts for. - */ - account_holder: { - account?: string; - customer?: string; - /** @enum {string} */ - type: "account" | "customer"; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * filters_params - * @description Filters to restrict the kinds of accounts to collect. - */ - filters?: { - countries: string[]; - }; - /** - * @description List of data features that you would like to request access to. - * - * Possible values are `balances`, `transactions`, `ownership`, and `payment_method`. - */ - permissions: ("balances" | "ownership" | "payment_method" | "transactions")[]; - /** @description List of data features that you would like to retrieve upon account creation. */ - prefetch?: ("balances" | "ownership")[]; - /** @description For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. */ - return_url?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["financial_connections.session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of a Financial Connections Session

*/ - GetLinkAccountSessionsSession: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - session: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["financial_connections.session"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Financial Connections Account objects.

*/ - GetLinkedAccounts: { - parameters: { - query?: { - /** @description If present, only return accounts that belong to the specified account holder. `account_holder[customer]` and `account_holder[account]` are mutually exclusive. */ - account_holder?: { - account?: string; - customer?: string; - }; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description If present, only return accounts that were collected as part of the given session. */ - session?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["financial_connections.account"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an Financial Connections Account.

*/ - GetLinkedAccountsAccount: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["financial_connections.account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).

*/ - PostLinkedAccountsAccountDisconnect: { - parameters: { - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["financial_connections.account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Lists all owners for a given Account

*/ - GetLinkedAccountsAccountOwners: { - parameters: { - query: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description The ID of the ownership object to fetch owners from. */ - ownership: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["financial_connections.account_owner"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Refreshes the data associated with a Financial Connections Account.

*/ - PostLinkedAccountsAccountRefresh: { - parameters: { - path: { - account: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The list of account features that you would like to refresh. */ - features: ("balance" | "ownership")[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["financial_connections.account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a Mandate object.

*/ - GetMandatesMandate: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - mandate: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["mandate"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of PaymentIntents.

*/ - GetPaymentIntents: { - parameters: { - query?: { - /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return PaymentIntents for the customer specified by this customer ID. */ - customer?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["payment_intent"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Creates a PaymentIntent object.

- * - *

After the PaymentIntent is created, attach a payment method and confirm - * to continue the payment. You can read more about the different payment flows - * available via the Payment Intents API here.

- * - *

When confirm=true is used during creation, it is equivalent to creating - * and confirming the PaymentIntent in the same call. You may use any parameters - * available in the confirm API when confirm=true - * is supplied.

- */ - PostPaymentIntents: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ - amount: number; - /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ - application_fee_amount?: number; - /** - * automatic_payment_methods_param - * @description When enabled, this PaymentIntent will accept payment methods that you have enabled in the Dashboard and are compatible with this PaymentIntent's other parameters. - */ - automatic_payment_methods?: { - /** @enum {string} */ - allow_redirects?: "always" | "never"; - enabled: boolean; - }; - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method?: "automatic" | "automatic_async" | "manual"; - /** @description Set to `true` to attempt to [confirm](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent immediately. This parameter defaults to `false`. When creating and confirming a PaymentIntent at the same time, parameters available in the [confirm](https://stripe.com/docs/api/payment_intents/confirm) API may also be provided. */ - confirm?: boolean; - /** @enum {string} */ - confirmation_method?: "automatic" | "manual"; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** - * @description ID of the Customer this PaymentIntent belongs to, if one exists. - * - * Payment methods attached to other Customers cannot be used with this PaymentIntent. - * - * If present in combination with [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage), this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. - */ - customer?: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. This parameter is intended for simpler integrations that do not handle customer actions, like [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). */ - error_on_requires_action?: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description ID of the mandate to be used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). */ - mandate?: string; - /** @description This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). */ - mandate_data?: ({ - /** customer_acceptance_param */ - customer_acceptance: { - /** Format: unix-time */ - accepted_at?: number; - /** offline_param */ - offline?: Record; - /** online_param */ - online?: { - ip_address: string; - user_agent: string; - }; - /** @enum {string} */ - type: "offline" | "online"; - }; - }) | ""; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description Set to `true` to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). */ - off_session?: boolean | ("one_off" | "recurring"); - /** @description The Stripe account ID for which these funds are intended. For details, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ - on_behalf_of?: string; - /** - * @description ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. - * - * If this parameter is omitted with `confirm=true`, `customer.default_source` will be attached as this PaymentIntent's payment instrument to improve the migration experience for users of the Charges API. We recommend that you explicitly provide the `payment_method` going forward. - */ - payment_method?: string; - /** @description The ID of the payment method configuration to use with this PaymentIntent. */ - payment_method_configuration?: string; - /** - * payment_method_data_params - * @description If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear - * in the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method) - * property on the PaymentIntent. - */ - payment_method_data?: { - /** payment_method_param */ - acss_debit?: { - account_number: string; - institution_number: string; - transit_number: string; - }; - /** param */ - affirm?: Record; - /** param */ - afterpay_clearpay?: Record; - /** param */ - alipay?: Record; - /** param */ - au_becs_debit?: { - account_number: string; - bsb_number: string; - }; - /** param */ - bacs_debit?: { - account_number?: string; - sort_code?: string; - }; - /** param */ - bancontact?: Record; - /** billing_details_inner_params */ - billing_details?: { - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - email?: string | ""; - name?: string | ""; - phone?: string | ""; - }; - /** param */ - blik?: Record; - /** param */ - boleto?: { - tax_id: string; - }; - /** param */ - cashapp?: Record; - /** param */ - customer_balance?: Record; - /** param */ - eps?: { - /** @enum {string} */ - bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; - }; - /** param */ - fpx?: { - /** @enum {string} */ - bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; - }; - /** param */ - giropay?: Record; - /** param */ - grabpay?: Record; - /** param */ - ideal?: { - /** @enum {string} */ - bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; - }; - /** param */ - interac_present?: Record; - /** param */ - klarna?: { - /** date_of_birth */ - dob?: { - day: number; - month: number; - year: number; - }; - }; - /** param */ - konbini?: Record; - /** param */ - link?: Record; - metadata?: { - [key: string]: string; - }; - /** param */ - oxxo?: Record; - /** param */ - p24?: { - /** @enum {string} */ - bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; - }; - /** param */ - paynow?: Record; - /** param */ - paypal?: Record; - /** param */ - pix?: Record; - /** param */ - promptpay?: Record; - /** radar_options */ - radar_options?: { - session?: string; - }; - /** param */ - sepa_debit?: { - iban: string; - }; - /** param */ - sofort?: { - /** @enum {string} */ - country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; }; - /** @enum {string} */ - type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; - /** payment_method_param */ - us_bank_account?: { - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number?: string; - /** @enum {string} */ - account_type?: "checking" | "savings"; - financial_connections_account?: string; - routing_number?: string; - }; - /** param */ - wechat_pay?: Record; - /** param */ - zip?: Record; - }; - /** - * payment_method_options_param - * @description Payment-method-specific configuration for this PaymentIntent. - */ - payment_method_options?: { - acss_debit?: ({ - /** payment_intent_payment_method_options_mandate_options_param */ - mandate_options?: { - custom_mandate_url?: string | ""; - interval_description?: string; - /** @enum {string} */ - payment_schedule?: "combined" | "interval" | "sporadic"; - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - affirm?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - preferred_locale?: string; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - afterpay_clearpay?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - reference?: string; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - alipay?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - au_becs_debit?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - bacs_debit?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - bancontact?: ({ - /** @enum {string} */ - preferred_language?: "de" | "en" | "fr" | "nl"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - blik?: { - code?: string; - } | ""; - boleto?: ({ - expires_after_days?: number; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - card?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - cvc_token?: string; - /** installments_param */ - installments?: { - enabled?: boolean; - plan?: { - count: number; - /** @enum {string} */ - interval: "month"; - /** @enum {string} */ - type: "fixed_count"; - } | ""; - }; - /** mandate_options_param */ - mandate_options?: { - amount: number; - /** @enum {string} */ - amount_type: "fixed" | "maximum"; - description?: string; - /** Format: unix-time */ - end_date?: number; - /** @enum {string} */ - interval: "day" | "month" | "sporadic" | "week" | "year"; - interval_count?: number; - reference: string; - /** Format: unix-time */ - start_date: number; - supported_types?: "india"[]; - }; - /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - statement_descriptor_suffix_kana?: string | ""; - statement_descriptor_suffix_kanji?: string | ""; - }) | ""; - card_present?: { - request_extended_authorization?: boolean; - request_incremental_authorization_support?: boolean; - } | ""; - cashapp?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - customer_balance?: ({ - /** bank_transfer_param */ - bank_transfer?: { - /** eu_bank_transfer_params */ - eu_bank_transfer?: { - country: string; - }; - requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; - /** @enum {string} */ - type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; - }; - /** @enum {string} */ - funding_type?: "bank_transfer"; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - eps?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - fpx?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - giropay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - grabpay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - ideal?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - interac_present?: Record | ""; - klarna?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-CH" | "de-DE" | "el-GR" | "en-AT" | "en-AU" | "en-BE" | "en-CA" | "en-CH" | "en-CZ" | "en-DE" | "en-DK" | "en-ES" | "en-FI" | "en-FR" | "en-GB" | "en-GR" | "en-IE" | "en-IT" | "en-NL" | "en-NO" | "en-NZ" | "en-PL" | "en-PT" | "en-SE" | "en-US" | "es-ES" | "es-US" | "fi-FI" | "fr-BE" | "fr-CA" | "fr-CH" | "fr-FR" | "it-CH" | "it-IT" | "nb-NO" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sv-FI" | "sv-SE"; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - konbini?: ({ - confirmation_number?: string | ""; - expires_after_days?: number | ""; - expires_at?: number | ""; - product_description?: string | ""; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - link?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - oxxo?: { - expires_after_days?: number; - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - p24?: { - /** @enum {string} */ - setup_future_usage?: "none"; - tos_shown_and_accepted?: boolean; - } | ""; - paynow?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - paypal?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-DE" | "de-LU" | "el-GR" | "en-GB" | "en-US" | "es-ES" | "fi-FI" | "fr-BE" | "fr-FR" | "fr-LU" | "hu-HU" | "it-IT" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sk-SK" | "sv-SE"; - reference?: string; - risk_correlation_id?: string; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - pix?: { - expires_after_seconds?: number; - /** Format: unix-time */ - expires_at?: number; - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - promptpay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - sepa_debit?: ({ - /** payment_method_options_mandate_options_param */ - mandate_options?: Record; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - sofort?: ({ - /** @enum {string} */ - preferred_language?: "" | "de" | "en" | "es" | "fr" | "it" | "nl" | "pl"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - us_bank_account?: ({ - /** linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - return_url?: string; - }; - /** networks_options_param */ - networks?: { - requested?: ("ach" | "us_domestic_wire")[]; - }; - /** @enum {string} */ - preferred_settlement_speed?: "" | "fastest" | "standard"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - wechat_pay?: ({ - app_id?: string; - /** @enum {string} */ - client: "android" | "ios" | "web"; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - zip?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - }; - /** @description The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. If this is not provided, defaults to ["card"]. Use automatic_payment_methods to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). */ - payment_method_types?: string[]; - /** - * radar_options_with_hidden_options - * @description Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. - */ - radar_options?: { - session?: string; - }; - /** @description Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). */ - receipt_email?: string; - /** @description The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). */ - return_url?: string; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * @enum {string} - */ - setup_future_usage?: "off_session" | "on_session"; - /** - * optional_fields_shipping - * @description Shipping information for this PaymentIntent. - */ - shipping?: { - /** optional_fields_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - carrier?: string; - name: string; - phone?: string; - tracking_number?: string; - }; - /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ - statement_descriptor?: string; - /** @description Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ - statement_descriptor_suffix?: string; - /** - * transfer_data_creation_params - * @description The parameters used to automatically create a Transfer when the payment succeeds. - * For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). - */ - transfer_data?: { - amount?: number; - destination: string; - }; - /** @description A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers) for details. */ - transfer_group?: string; - /** @description Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. */ - use_stripe_sdk?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Search for PaymentIntents you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - GetPaymentIntentsSearch: { - parameters: { - query: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ - page?: string; - /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for payment intents](https://stripe.com/docs/search#query-fields-for-payment-intents). */ - query: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["payment_intent"][]; - has_more: boolean; - next_page?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "search_result"; - /** @description The total number of objects that match the query, only accurate up to 10,000. */ - total_count?: number; - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Retrieves the details of a PaymentIntent that has previously been created.

- * - *

You can retrieve a PaymentIntent client-side using a publishable key when the client_secret is in the query string.

- * - *

If you retrieve a PaymentIntent with a publishable key, it only returns a subset of properties. Refer to the payment intent object reference for more details.

- */ - GetPaymentIntentsIntent: { - parameters: { - query?: { - /** @description The client secret of the PaymentIntent. It's required if you use a publishable key to retrieve the source. */ - client_secret?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Updates properties on a PaymentIntent object without confirming.

- * - *

Depending on which properties you update, you might need to confirm the - * PaymentIntent again. For example, updating the payment_method - * always requires you to confirm the PaymentIntent again. If you prefer to - * update and confirm at the same time, we recommend updating properties through - * the confirm API instead.

- */ - PostPaymentIntentsIntent: { - parameters: { - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). */ - amount?: number; - /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ - application_fee_amount?: number | ""; - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method?: "automatic" | "automatic_async" | "manual"; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** - * @description ID of the Customer this PaymentIntent belongs to, if one exists. - * - * Payment methods attached to other Customers cannot be used with this PaymentIntent. - * - * If present in combination with [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage), this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. - */ - customer?: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. */ - payment_method?: string; - /** @description The ID of the payment method configuration to use with this PaymentIntent. */ - payment_method_configuration?: string; - /** - * payment_method_data_params - * @description If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear - * in the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method) - * property on the PaymentIntent. - */ - payment_method_data?: { - /** payment_method_param */ - acss_debit?: { - account_number: string; - institution_number: string; - transit_number: string; - }; - /** param */ - affirm?: Record; - /** param */ - afterpay_clearpay?: Record; - /** param */ - alipay?: Record; - /** param */ - au_becs_debit?: { - account_number: string; - bsb_number: string; - }; - /** param */ - bacs_debit?: { - account_number?: string; - sort_code?: string; - }; - /** param */ - bancontact?: Record; - /** billing_details_inner_params */ - billing_details?: { - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - email?: string | ""; - name?: string | ""; - phone?: string | ""; - }; - /** param */ - blik?: Record; - /** param */ - boleto?: { - tax_id: string; - }; - /** param */ - cashapp?: Record; - /** param */ - customer_balance?: Record; - /** param */ - eps?: { - /** @enum {string} */ - bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; - }; - /** param */ - fpx?: { - /** @enum {string} */ - bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; - }; - /** param */ - giropay?: Record; - /** param */ - grabpay?: Record; - /** param */ - ideal?: { - /** @enum {string} */ - bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; - }; - /** param */ - interac_present?: Record; - /** param */ - klarna?: { - /** date_of_birth */ - dob?: { - day: number; - month: number; - year: number; - }; - }; - /** param */ - konbini?: Record; - /** param */ - link?: Record; - metadata?: { - [key: string]: string; - }; - /** param */ - oxxo?: Record; - /** param */ - p24?: { - /** @enum {string} */ - bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; - }; - /** param */ - paynow?: Record; - /** param */ - paypal?: Record; - /** param */ - pix?: Record; - /** param */ - promptpay?: Record; - /** radar_options */ - radar_options?: { - session?: string; - }; - /** param */ - sepa_debit?: { - iban: string; - }; - /** param */ - sofort?: { - /** @enum {string} */ - country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + /** @description Details about each object. */ + data: components["schemas"]["treasury.transaction"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; }; - /** @enum {string} */ - type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; - /** payment_method_param */ - us_bank_account?: { - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number?: string; - /** @enum {string} */ - account_type?: "checking" | "savings"; - financial_connections_account?: string; - routing_number?: string; - }; - /** param */ - wechat_pay?: Record; - /** param */ - zip?: Record; - }; - /** - * payment_method_options_param - * @description Payment-method-specific configuration for this PaymentIntent. - */ - payment_method_options?: { - acss_debit?: ({ - /** payment_intent_payment_method_options_mandate_options_param */ - mandate_options?: { - custom_mandate_url?: string | ""; - interval_description?: string; - /** @enum {string} */ - payment_schedule?: "combined" | "interval" | "sporadic"; - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - affirm?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - preferred_locale?: string; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - afterpay_clearpay?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - reference?: string; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - alipay?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - au_becs_debit?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - bacs_debit?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - bancontact?: ({ - /** @enum {string} */ - preferred_language?: "de" | "en" | "fr" | "nl"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - blik?: { - code?: string; - } | ""; - boleto?: ({ - expires_after_days?: number; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - card?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - cvc_token?: string; - /** installments_param */ - installments?: { - enabled?: boolean; - plan?: { - count: number; - /** @enum {string} */ - interval: "month"; - /** @enum {string} */ - type: "fixed_count"; - } | ""; - }; - /** mandate_options_param */ - mandate_options?: { - amount: number; - /** @enum {string} */ - amount_type: "fixed" | "maximum"; - description?: string; - /** Format: unix-time */ - end_date?: number; - /** @enum {string} */ - interval: "day" | "month" | "sporadic" | "week" | "year"; - interval_count?: number; - reference: string; - /** Format: unix-time */ - start_date: number; - supported_types?: "india"[]; - }; - /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - statement_descriptor_suffix_kana?: string | ""; - statement_descriptor_suffix_kanji?: string | ""; - }) | ""; - card_present?: { - request_extended_authorization?: boolean; - request_incremental_authorization_support?: boolean; - } | ""; - cashapp?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - customer_balance?: ({ - /** bank_transfer_param */ - bank_transfer?: { - /** eu_bank_transfer_params */ - eu_bank_transfer?: { - country: string; - }; - requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; - /** @enum {string} */ - type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; - }; - /** @enum {string} */ - funding_type?: "bank_transfer"; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - eps?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - fpx?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - giropay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - grabpay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - ideal?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - interac_present?: Record | ""; - klarna?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-CH" | "de-DE" | "el-GR" | "en-AT" | "en-AU" | "en-BE" | "en-CA" | "en-CH" | "en-CZ" | "en-DE" | "en-DK" | "en-ES" | "en-FI" | "en-FR" | "en-GB" | "en-GR" | "en-IE" | "en-IT" | "en-NL" | "en-NO" | "en-NZ" | "en-PL" | "en-PT" | "en-SE" | "en-US" | "es-ES" | "es-US" | "fi-FI" | "fr-BE" | "fr-CA" | "fr-CH" | "fr-FR" | "it-CH" | "it-IT" | "nb-NO" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sv-FI" | "sv-SE"; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - konbini?: ({ - confirmation_number?: string | ""; - expires_after_days?: number | ""; - expires_at?: number | ""; - product_description?: string | ""; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - link?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - oxxo?: { - expires_after_days?: number; - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - p24?: { - /** @enum {string} */ - setup_future_usage?: "none"; - tos_shown_and_accepted?: boolean; - } | ""; - paynow?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - paypal?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-DE" | "de-LU" | "el-GR" | "en-GB" | "en-US" | "es-ES" | "fi-FI" | "fr-BE" | "fr-FR" | "fr-LU" | "hu-HU" | "it-IT" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sk-SK" | "sv-SE"; - reference?: string; - risk_correlation_id?: string; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - pix?: { - expires_after_seconds?: number; - /** Format: unix-time */ - expires_at?: number; - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - promptpay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - sepa_debit?: ({ - /** payment_method_options_mandate_options_param */ - mandate_options?: Record; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - sofort?: ({ - /** @enum {string} */ - preferred_language?: "" | "de" | "en" | "es" | "fr" | "it" | "nl" | "pl"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - us_bank_account?: ({ - /** linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - return_url?: string; - }; - /** networks_options_param */ - networks?: { - requested?: ("ach" | "us_domestic_wire")[]; - }; - /** @enum {string} */ - preferred_settlement_speed?: "" | "fastest" | "standard"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - wechat_pay?: ({ - app_id?: string; - /** @enum {string} */ - client: "android" | "ios" | "web"; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - zip?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - }; - /** @description The list of payment method types (for example, card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). */ - payment_method_types?: string[]; - /** @description Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). */ - receipt_email?: string | ""; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * - * If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`. - * @enum {string} - */ - setup_future_usage?: "" | "off_session" | "on_session"; - /** @description Shipping information for this PaymentIntent. */ - shipping?: { - /** optional_fields_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - carrier?: string; - name: string; - phone?: string; - tracking_number?: string; - } | ""; - /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ - statement_descriptor?: string; - /** @description Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ - statement_descriptor_suffix?: string; - /** - * transfer_data_update_params - * @description Use this parameter to automatically create a Transfer when the payment succeeds. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). - */ - transfer_data?: { - amount?: number; - }; - /** @description A string that identifies the resulting payment as part of a group. You can only provide `transfer_group` if it hasn't been set. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ - transfer_group?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Manually reconcile the remaining amount for a customer_balance PaymentIntent.

*/ - PostPaymentIntentsIntentApplyCustomerBalance: { - parameters: { - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * @description Amount intended to be applied to this PaymentIntent from the customer’s cash balance. - * - * A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). - * - * The maximum amount is the amount of the PaymentIntent. - * - * When omitted, the amount defaults to the remaining amount requested on the PaymentIntent. - */ - amount?: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

A PaymentIntent object can be canceled when it is in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, in rare cases, processing.

- * - *

Once canceled, no additional charges will be made by the PaymentIntent and any operations on the PaymentIntent will fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable will automatically be refunded.

- * - *

You cannot cancel the PaymentIntent for a Checkout Session. Expire the Checkout Session instead.

- */ - PostPaymentIntentsIntentCancel: { - parameters: { - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * @description Reason for canceling this PaymentIntent. Possible values are `duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned` - * @enum {string} - */ - cancellation_reason?: "abandoned" | "duplicate" | "fraudulent" | "requested_by_customer"; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture.

- * - *

Uncaptured PaymentIntents will be canceled a set number of days after they are created (7 by default).

- * - *

Learn more about separate authorization and capture.

- */ - PostPaymentIntentsIntentCapture: { - parameters: { - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Any additional amount will be automatically refunded. Defaults to the full `amount_capturable` if not provided. */ - amount_to_capture?: number; - /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ - application_fee_amount?: number; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ - statement_descriptor?: string; - /** @description Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. */ - statement_descriptor_suffix?: string; - /** - * transfer_data_update_params - * @description The parameters used to automatically create a Transfer when the payment - * is captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). - */ - transfer_data?: { - amount?: number; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Confirm that your customer intends to pay with current or provided - * payment method. Upon confirmation, the PaymentIntent will attempt to initiate - * a payment. - * If the selected payment method requires additional authentication steps, the - * PaymentIntent will transition to the requires_action status and - * suggest additional actions via next_action. If payment fails, - * the PaymentIntent transitions to the requires_payment_method status or the - * canceled status if the confirmation limit is reached. If - * payment succeeds, the PaymentIntent will transition to the succeeded - * status (or requires_capture, if capture_method is set to manual). - * If the confirmation_method is automatic, payment may be attempted - * using our client SDKs - * and the PaymentIntent’s client_secret. - * After next_actions are handled by the client, no additional - * confirmation is required to complete the payment. - * If the confirmation_method is manual, all payment attempts must be - * initiated using a secret key. - * If any actions are required for the payment, the PaymentIntent will - * return to the requires_confirmation state - * after those actions are completed. Your server needs to then - * explicitly re-confirm the PaymentIntent to initiate the next payment - * attempt. Read the expanded documentation - * to learn more about manual confirmation.

- */ - PostPaymentIntentsIntentConfirm: { - parameters: { - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * @description Controls when the funds will be captured from the customer's account. - * @enum {string} - */ - capture_method?: "automatic" | "automatic_async" | "manual"; - /** @description The client secret of the PaymentIntent. */ - client_secret?: string; - /** @description Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. This parameter is intended for simpler integrations that do not handle customer actions, like [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication). */ - error_on_requires_action?: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description ID of the mandate to be used for this payment. */ - mandate?: string; - /** @description This hash contains details about the Mandate to create */ - mandate_data?: ({ - /** customer_acceptance_param */ - customer_acceptance: { - /** Format: unix-time */ - accepted_at?: number; - /** offline_param */ - offline?: Record; - /** online_param */ - online?: { - ip_address: string; - user_agent: string; - }; - /** @enum {string} */ - type: "offline" | "online"; - }; - }) | "" | { - /** customer_acceptance_param */ - customer_acceptance: { - /** online_param */ - online: { - ip_address?: string; - user_agent?: string; - }; - /** @enum {string} */ - type: "online"; - }; - }; - /** @description Set to `true` to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). */ - off_session?: boolean | ("one_off" | "recurring"); - /** @description ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. */ - payment_method?: string; - /** - * payment_method_data_params - * @description If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear - * in the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method) - * property on the PaymentIntent. - */ - payment_method_data?: { - /** payment_method_param */ - acss_debit?: { - account_number: string; - institution_number: string; - transit_number: string; - }; - /** param */ - affirm?: Record; - /** param */ - afterpay_clearpay?: Record; - /** param */ - alipay?: Record; - /** param */ - au_becs_debit?: { - account_number: string; - bsb_number: string; - }; - /** param */ - bacs_debit?: { - account_number?: string; - sort_code?: string; - }; - /** param */ - bancontact?: Record; - /** billing_details_inner_params */ - billing_details?: { - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - email?: string | ""; - name?: string | ""; - phone?: string | ""; - }; - /** param */ - blik?: Record; - /** param */ - boleto?: { - tax_id: string; - }; - /** param */ - cashapp?: Record; - /** param */ - customer_balance?: Record; - /** param */ - eps?: { - /** @enum {string} */ - bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; - }; - /** param */ - fpx?: { - /** @enum {string} */ - bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; - }; - /** param */ - giropay?: Record; - /** param */ - grabpay?: Record; - /** param */ - ideal?: { - /** @enum {string} */ - bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; - }; - /** param */ - interac_present?: Record; - /** param */ - klarna?: { - /** date_of_birth */ - dob?: { - day: number; - month: number; - year: number; - }; - }; - /** param */ - konbini?: Record; - /** param */ - link?: Record; - metadata?: { - [key: string]: string; - }; - /** param */ - oxxo?: Record; - /** param */ - p24?: { - /** @enum {string} */ - bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; - }; - /** param */ - paynow?: Record; - /** param */ - paypal?: Record; - /** param */ - pix?: Record; - /** param */ - promptpay?: Record; - /** radar_options */ - radar_options?: { - session?: string; - }; - /** param */ - sepa_debit?: { - iban: string; - }; - /** param */ - sofort?: { - /** @enum {string} */ - country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; }; - /** @enum {string} */ - type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; - /** payment_method_param */ - us_bank_account?: { - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number?: string; - /** @enum {string} */ - account_type?: "checking" | "savings"; - financial_connections_account?: string; - routing_number?: string; - }; - /** param */ - wechat_pay?: Record; - /** param */ - zip?: Record; - }; - /** - * payment_method_options_param - * @description Payment-method-specific configuration for this PaymentIntent. - */ - payment_method_options?: { - acss_debit?: ({ - /** payment_intent_payment_method_options_mandate_options_param */ - mandate_options?: { - custom_mandate_url?: string | ""; - interval_description?: string; - /** @enum {string} */ - payment_schedule?: "combined" | "interval" | "sporadic"; - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - affirm?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - preferred_locale?: string; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - afterpay_clearpay?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - reference?: string; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - alipay?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - au_becs_debit?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - bacs_debit?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - bancontact?: ({ - /** @enum {string} */ - preferred_language?: "de" | "en" | "fr" | "nl"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - blik?: { - code?: string; - } | ""; - boleto?: ({ - expires_after_days?: number; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - card?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - cvc_token?: string; - /** installments_param */ - installments?: { - enabled?: boolean; - plan?: { - count: number; - /** @enum {string} */ - interval: "month"; - /** @enum {string} */ - type: "fixed_count"; - } | ""; - }; - /** mandate_options_param */ - mandate_options?: { - amount: number; - /** @enum {string} */ - amount_type: "fixed" | "maximum"; - description?: string; - /** Format: unix-time */ - end_date?: number; - /** @enum {string} */ - interval: "day" | "month" | "sporadic" | "week" | "year"; - interval_count?: number; - reference: string; - /** Format: unix-time */ - start_date: number; - supported_types?: "india"[]; - }; - /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - statement_descriptor_suffix_kana?: string | ""; - statement_descriptor_suffix_kanji?: string | ""; - }) | ""; - card_present?: { - request_extended_authorization?: boolean; - request_incremental_authorization_support?: boolean; - } | ""; - cashapp?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - customer_balance?: ({ - /** bank_transfer_param */ - bank_transfer?: { - /** eu_bank_transfer_params */ - eu_bank_transfer?: { - country: string; - }; - requested_address_types?: ("aba" | "iban" | "sepa" | "sort_code" | "spei" | "swift" | "zengin")[]; - /** @enum {string} */ - type: "eu_bank_transfer" | "gb_bank_transfer" | "jp_bank_transfer" | "mx_bank_transfer" | "us_bank_transfer"; - }; - /** @enum {string} */ - funding_type?: "bank_transfer"; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - eps?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - fpx?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - giropay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - grabpay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - ideal?: ({ - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - interac_present?: Record | ""; - klarna?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-CH" | "de-DE" | "el-GR" | "en-AT" | "en-AU" | "en-BE" | "en-CA" | "en-CH" | "en-CZ" | "en-DE" | "en-DK" | "en-ES" | "en-FI" | "en-FR" | "en-GB" | "en-GR" | "en-IE" | "en-IT" | "en-NL" | "en-NO" | "en-NZ" | "en-PL" | "en-PT" | "en-SE" | "en-US" | "es-ES" | "es-US" | "fi-FI" | "fr-BE" | "fr-CA" | "fr-CH" | "fr-FR" | "it-CH" | "it-IT" | "nb-NO" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sv-FI" | "sv-SE"; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - konbini?: ({ - confirmation_number?: string | ""; - expires_after_days?: number | ""; - expires_at?: number | ""; - product_description?: string | ""; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - link?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - oxxo?: { - expires_after_days?: number; - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - p24?: { - /** @enum {string} */ - setup_future_usage?: "none"; - tos_shown_and_accepted?: boolean; - } | ""; - paynow?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - paypal?: ({ - /** @enum {string} */ - capture_method?: "" | "manual"; - /** @enum {string} */ - preferred_locale?: "cs-CZ" | "da-DK" | "de-AT" | "de-DE" | "de-LU" | "el-GR" | "en-GB" | "en-US" | "es-ES" | "fi-FI" | "fr-BE" | "fr-FR" | "fr-LU" | "hu-HU" | "it-IT" | "nl-BE" | "nl-NL" | "pl-PL" | "pt-PT" | "sk-SK" | "sv-SE"; - reference?: string; - risk_correlation_id?: string; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - pix?: { - expires_after_seconds?: number; - /** Format: unix-time */ - expires_at?: number; - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - promptpay?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - sepa_debit?: ({ - /** payment_method_options_mandate_options_param */ - mandate_options?: Record; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - }) | ""; - sofort?: ({ - /** @enum {string} */ - preferred_language?: "" | "de" | "en" | "es" | "fr" | "it" | "nl" | "pl"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session"; - }) | ""; - us_bank_account?: ({ - /** linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - return_url?: string; - }; - /** networks_options_param */ - networks?: { - requested?: ("ach" | "us_domestic_wire")[]; - }; - /** @enum {string} */ - preferred_settlement_speed?: "" | "fastest" | "standard"; - /** @enum {string} */ - setup_future_usage?: "" | "none" | "off_session" | "on_session"; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - wechat_pay?: ({ - app_id?: string; - /** @enum {string} */ - client: "android" | "ios" | "web"; - /** @enum {string} */ - setup_future_usage?: "none"; - }) | ""; - zip?: { - /** @enum {string} */ - setup_future_usage?: "none"; - } | ""; - }; - /** @description The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. Use automatic_payment_methods to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). */ - payment_method_types?: string[]; - /** - * radar_options_with_hidden_options - * @description Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. - */ - radar_options?: { - session?: string; - }; - /** @description Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). */ - receipt_email?: string | ""; - /** - * @description The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. - * If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. - * This parameter is only used for cards and other redirect-based payment methods. - */ - return_url?: string; - /** - * @description Indicates that you intend to make future payments with this PaymentIntent's payment method. - * - * Providing this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes. - * - * When processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication). - * - * If `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`. - * @enum {string} - */ - setup_future_usage?: "" | "off_session" | "on_session"; - /** @description Shipping information for this PaymentIntent. */ - shipping?: { - /** optional_fields_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - carrier?: string; - name: string; - phone?: string; - tracking_number?: string; - } | ""; - /** @description Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. */ - use_stripe_sdk?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Perform an incremental authorization on an eligible - * PaymentIntent. To be eligible, the - * PaymentIntent’s status must be requires_capture and - * incremental_authorization_supported - * must be true.

- * - *

Incremental authorizations attempt to increase the authorized amount on - * your customer’s card to the new, higher amount provided. As with the - * initial authorization, incremental authorizations may be declined. A - * single PaymentIntent can call this endpoint multiple times to further - * increase the authorized amount.

- * - *

If the incremental authorization succeeds, the PaymentIntent object is - * returned with the updated - * amount. - * If the incremental authorization fails, a - * card_declined error is returned, and no - * fields on the PaymentIntent or Charge are updated. The PaymentIntent - * object remains capturable for the previously authorized amount.

- * - *

Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. - * Once captured, a PaymentIntent can no longer be incremented.

- * - *

Learn more about incremental authorizations.

- */ - PostPaymentIntentsIntentIncrementAuthorization: { - parameters: { - path: { - intent: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The updated total amount you intend to collect from the cardholder. This amount must be greater than the currently authorized amount. */ - amount: number; - /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). */ - application_fee_amount?: number; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ - statement_descriptor?: string; - /** - * transfer_data_update_params - * @description The parameters used to automatically create a Transfer when the payment is captured. - * For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). - */ - transfer_data?: { - amount?: number; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Verifies microdeposits on a PaymentIntent object.

*/ - PostPaymentIntentsIntentVerifyMicrodeposits: { - parameters: { - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account. */ - amounts?: number[]; - /** @description The client secret of the PaymentIntent. */ - client_secret?: string; - /** @description A six-character code starting with SM present in the microdeposit sent to the bank account. */ - descriptor_code?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your payment links.

*/ - GetPaymentLinks: { - parameters: { - query?: { - /** @description Only return payment links that are active or inactive (e.g., pass `false` to list all inactive payment links). */ - active?: boolean; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["payment_link"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a payment link.

*/ - PostPaymentLinks: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * after_completion_params - * @description Behavior after the purchase is complete. - */ - after_completion?: { - /** after_completion_confirmation_page_params */ - hosted_confirmation?: { - custom_message?: string; - }; - /** after_completion_redirect_params */ - redirect?: { - url: string; + }; + }; + GetTreasuryTransactionsId: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; }; - /** @enum {string} */ - type: "hosted_confirmation" | "redirect"; - }; - /** @description Enables user redeemable promotion codes. */ - allow_promotion_codes?: boolean; - /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Can only be applied when there are no line items with recurring prices. */ - application_fee_amount?: number; - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field. */ - application_fee_percent?: number; - /** - * automatic_tax_params - * @description Configuration for automatic tax collection. - */ - automatic_tax?: { - enabled: boolean; - }; - /** - * @description Configuration for collecting the customer's billing address. - * @enum {string} - */ - billing_address_collection?: "auto" | "required"; - /** - * consent_collection_params - * @description Configure fields to gather active consent from customers. - */ - consent_collection?: { - /** @enum {string} */ - promotions?: "auto" | "none"; - /** @enum {string} */ - terms_of_service?: "none" | "required"; - }; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies) and supported by each line item's price. */ - currency?: string; - /** @description Collect additional information from your customer using custom fields. Up to 2 fields are supported. */ - custom_fields?: ({ - /** custom_field_dropdown_param */ - dropdown?: { - options: { - label: string; - value: string; - }[]; - }; - key: string; - /** custom_field_label_param */ - label: { - custom: string; - /** @enum {string} */ - type: "custom"; - }; - /** custom_field_numeric_param */ - numeric?: { - maximum_length?: number; - minimum_length?: number; - }; - optional?: boolean; - /** custom_field_text_param */ - text?: { - maximum_length?: number; - minimum_length?: number; - }; - /** @enum {string} */ - type: "dropdown" | "numeric" | "text"; - })[]; - /** - * custom_text_param - * @description Display additional text for your customers using custom text. - */ - custom_text?: { - shipping_address?: { - message: string; - } | ""; - submit?: { - message: string; - } | ""; - terms_of_service_acceptance?: { - message: string; - } | ""; - }; - /** - * @description Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers). - * @enum {string} - */ - customer_creation?: "always" | "if_required"; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * invoice_creation_create_params - * @description Generate a post-purchase Invoice for one-time payments. - */ - invoice_creation?: { - enabled: boolean; - /** invoice_settings_params */ - invoice_data?: { - account_tax_ids?: string[] | ""; - custom_fields?: { - name: string; - value: string; - }[] | ""; - description?: string; - footer?: string; - metadata?: { - [key: string]: string; - } | ""; - rendering_options?: ({ - /** @enum {string} */ - amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; - }) | ""; - }; - }; - /** @description The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported. */ - line_items: { - /** adjustable_quantity_params */ - adjustable_quantity?: { - enabled: boolean; - maximum?: number; - minimum?: number; - }; - price: string; - quantity: number; - }[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. */ - metadata?: { - [key: string]: string; - }; - /** @description The account on behalf of which to charge. */ - on_behalf_of?: string; - /** - * payment_intent_data_params - * @description A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode. - */ - payment_intent_data?: { - /** @enum {string} */ - capture_method?: "automatic" | "automatic_async" | "manual"; - /** @enum {string} */ - setup_future_usage?: "off_session" | "on_session"; - }; - /** - * @description Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount. - * - * Can only be set in `subscription` mode. - * - * If you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials). - * @enum {string} - */ - payment_method_collection?: "always" | "if_required"; - /** @description The list of payment method types that customers can use. If no value is passed, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods) (20+ payment methods [supported](https://stripe.com/docs/payments/payment-methods/integration-options#payment-method-product-support)). */ - payment_method_types?: ("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]; - /** - * phone_number_collection_params - * @description Controls phone number collection settings during checkout. - * - * We recommend that you review your privacy policy and check with your legal contacts. - */ - phone_number_collection?: { - enabled: boolean; - }; - /** - * shipping_address_collection_params - * @description Configuration for collecting the customer's shipping address. - */ - shipping_address_collection?: { - allowed_countries: ("AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CV" | "CW" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MK" | "ML" | "MM" | "MN" | "MO" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SZ" | "TA" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "ZZ")[]; - }; - /** @description The shipping rate options to apply to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. */ - shipping_options?: { - shipping_rate?: string; - }[]; - /** - * @description Describes the type of transaction being performed in order to customize relevant text on the page, such as the submit button. Changing this value will also affect the hostname in the [url](https://stripe.com/docs/api/payment_links/payment_links/object#url) property (example: `donate.stripe.com`). - * @enum {string} - */ - submit_type?: "auto" | "book" | "donate" | "pay"; - /** - * subscription_data_params - * @description When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`. - */ - subscription_data?: { - description?: string; - trial_period_days?: number; - }; - /** - * tax_id_collection_params - * @description Controls tax ID collection during checkout. - */ - tax_id_collection?: { - enabled: boolean; - }; - /** - * transfer_data_params - * @description The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to. - */ - transfer_data?: { - amount?: number; - destination: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_link"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieve a payment link.

*/ - GetPaymentLinksPaymentLink: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - payment_link: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_link"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates a payment link.

*/ - PostPaymentLinksPaymentLink: { - parameters: { - path: { - payment_link: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated. */ - active?: boolean; - /** - * after_completion_params - * @description Behavior after the purchase is complete. - */ - after_completion?: { - /** after_completion_confirmation_page_params */ - hosted_confirmation?: { - custom_message?: string; - }; - /** after_completion_redirect_params */ - redirect?: { - url: string; + header?: never; + path: { + id: string; }; - /** @enum {string} */ - type: "hosted_confirmation" | "redirect"; - }; - /** @description Enables user redeemable promotion codes. */ - allow_promotion_codes?: boolean; - /** - * automatic_tax_params - * @description Configuration for automatic tax collection. - */ - automatic_tax?: { - enabled: boolean; - }; - /** - * @description Configuration for collecting the customer's billing address. - * @enum {string} - */ - billing_address_collection?: "auto" | "required"; - /** @description Collect additional information from your customer using custom fields. Up to 2 fields are supported. */ - custom_fields?: (({ - /** custom_field_dropdown_param */ - dropdown?: { - options: { - label: string; - value: string; - }[]; - }; - key: string; - /** custom_field_label_param */ - label: { - custom: string; - /** @enum {string} */ - type: "custom"; - }; - /** custom_field_numeric_param */ - numeric?: { - maximum_length?: number; - minimum_length?: number; - }; - optional?: boolean; - /** custom_field_text_param */ - text?: { - maximum_length?: number; - minimum_length?: number; - }; - /** @enum {string} */ - type: "dropdown" | "numeric" | "text"; - })[]) | ""; - /** - * custom_text_param - * @description Display additional text for your customers using custom text. - */ - custom_text?: { - shipping_address?: { - message: string; - } | ""; - submit?: { - message: string; - } | ""; - terms_of_service_acceptance?: { - message: string; - } | ""; - }; - /** - * @description Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers). - * @enum {string} - */ - customer_creation?: "always" | "if_required"; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * invoice_creation_update_params - * @description Generate a post-purchase Invoice for one-time payments. - */ - invoice_creation?: { - enabled: boolean; - /** invoice_settings_params */ - invoice_data?: { - account_tax_ids?: string[] | ""; - custom_fields?: { - name: string; - value: string; - }[] | ""; - description?: string; - footer?: string; - metadata?: { - [key: string]: string; - } | ""; - rendering_options?: ({ - /** @enum {string} */ - amount_tax_display?: "" | "exclude_tax" | "include_inclusive_tax"; - }) | ""; - }; - }; - /** @description The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported. */ - line_items?: { - /** adjustable_quantity_params */ - adjustable_quantity?: { - enabled: boolean; - maximum?: number; - minimum?: number; - }; - id: string; - quantity?: number; - }[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. */ - metadata?: { - [key: string]: string; - }; - /** - * @description Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount. - * - * Can only be set in `subscription` mode. - * - * If you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials). - * @enum {string} - */ - payment_method_collection?: "always" | "if_required"; - /** @description The list of payment method types that customers can use. Pass an empty string to enable dynamic payment methods that use your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). */ - payment_method_types?: (("affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | ""; - /** @description Configuration for collecting the customer's shipping address. */ - shipping_address_collection?: ({ - allowed_countries: ("AC" | "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CV" | "CW" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MK" | "ML" | "MM" | "MN" | "MO" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SZ" | "TA" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VN" | "VU" | "WF" | "WS" | "XK" | "YE" | "YT" | "ZA" | "ZM" | "ZW" | "ZZ")[]; - }) | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_link"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - GetPaymentLinksPaymentLinkLineItems: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - payment_link: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

List payment method configurations

*/ - GetPaymentMethodConfigurations: { - parameters: { - query?: { - /** @description The Connect application to filter by. */ - application?: string | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["payment_method_configuration"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a payment method configuration

*/ - PostPaymentMethodConfigurations: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * payment_method_param - * @description Canadian pre-authorized debit payments, check this [page](https://stripe.com/docs/payments/acss-debit) for more details like country availability. - */ - acss_debit?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description [Affirm](https://www.affirm.com/) gives your customers a way to split purchases over a series of payments. Depending on the purchase, they can pay with four interest-free payments (Split Pay) or pay over a longer term (Installments), which might include interest. Check this [page](https://stripe.com/docs/payments/affirm) for more details like country availability. - */ - affirm?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Afterpay gives your customers a way to pay for purchases in installments, check this [page](https://stripe.com/docs/payments/afterpay-clearpay) for more details like country availability. Afterpay is particularly popular among businesses selling fashion, beauty, and sports products. - */ - afterpay_clearpay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Alipay is a digital wallet in China that has more than a billion active users worldwide. Alipay users can pay on the web or on a mobile device using login credentials or their Alipay app. Alipay has a low dispute rate and reduces fraud by authenticating payments using the customer's login credentials. Check this [page](https://stripe.com/docs/payments/alipay) for more details. - */ - alipay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Stripe users can accept [Apple Pay](/payments/apple-pay) in iOS applications in iOS 9 and later, and on the web in Safari starting with iOS 10 or macOS Sierra. There are no additional fees to process Apple Pay payments, and the [pricing](/pricing) is the same as other card transactions. Check this [page](https://stripe.com/docs/apple-pay) for more details. - */ - apple_pay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Apple Pay Later, a payment method for customers to buy now and pay later, gives your customers a way to split purchases into four installments across six weeks. - */ - apple_pay_later?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Stripe users in Australia can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with an Australian bank account. Check this [page](https://stripe.com/docs/payments/au-becs-debit) for more details. - */ - au_becs_debit?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Stripe users in the UK can accept Bacs Direct Debit payments from customers with a UK bank account, check this [page](https://stripe.com/docs/payments/payment-methods/bacs-debit) for more details. - */ - bacs_debit?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Bancontact is the most popular online payment method in Belgium, with over 15 million cards in circulation. [Customers](https://stripe.com/docs/api/customers) use a Bancontact card or mobile app linked to a Belgian bank account to make online payments that are secure, guaranteed, and confirmed immediately. Check this [page](https://stripe.com/docs/payments/bancontact) for more details. - */ - bancontact?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description BLIK is a [single use](https://stripe.com/docs/payments/payment-methods#usage) payment method that requires customers to authenticate their payments. When customers want to pay online using BLIK, they request a six-digit code from their banking application and enter it into the payment collection form. Check this [page](https://stripe.com/docs/payments/blik) for more details. - */ - blik?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Boleto is an official (regulated by the Central Bank of Brazil) payment method in Brazil. Check this [page](https://stripe.com/docs/payments/boleto) for more details. - */ - boleto?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Cards are a popular way for consumers and businesses to pay online or in person. Stripe supports global and local card networks. - */ - card?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Cartes Bancaires is France's local card network. More than 95% of these cards are co-branded with either Visa or Mastercard, meaning you can process these cards over either Cartes Bancaires or the Visa or Mastercard networks. Check this [page](https://stripe.com/docs/payments/cartes-bancaires) for more details. - */ - cartes_bancaires?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Cash App is a popular consumer app in the US that allows customers to bank, invest, send, and receive money using their digital wallet. Check this [page](https://stripe.com/docs/payments/cash-app-pay) for more details. - */ - cashapp?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description EPS is an Austria-based payment method that allows customers to complete transactions online using their bank credentials. EPS is supported by all Austrian banks and is accepted by over 80% of Austrian online retailers. Check this [page](https://stripe.com/docs/payments/eps) for more details. - */ - eps?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * payment_method_param - * @description Financial Process Exchange (FPX) is a Malaysia-based payment method that allows customers to complete transactions online using their bank credentials. Bank Negara Malaysia (BNM), the Central Bank of Malaysia, and eleven other major Malaysian financial institutions are members of the PayNet Group, which owns and operates FPX. It is one of the most popular online payment methods in Malaysia, with nearly 90 million transactions in 2018 according to BNM. Check this [page](https://stripe.com/docs/payments/fpx) for more details. - */ - fpx?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description giropay is a German payment method based on online banking, introduced in 2006. It allows customers to complete transactions online using their online banking environment, with funds debited from their bank account. Depending on their bank, customers confirm payments on giropay using a second factor of authentication or a PIN. giropay accounts for 10% of online checkouts in Germany. Check this [page](https://stripe.com/docs/payments/giropay) for more details. - */ - giropay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Google Pay allows customers to make payments in your app or website using any credit or debit card saved to their Google Account, including those from Google Play, YouTube, Chrome, or an Android device. Use the Google Pay API to request any credit or debit card stored in your customer's Google account. Check this [page](https://stripe.com/docs/google-pay) for more details. - */ - google_pay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description GrabPay is a payment method developed by [Grab](https://www.grab.com/sg/consumer/finance/pay/). GrabPay is a digital wallet - customers maintain a balance in their wallets that they pay out with. Check this [page](https://stripe.com/docs/payments/grabpay) for more details. - */ - grabpay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description iDEAL is a Netherlands-based payment method that allows customers to complete transactions online using their bank credentials. All major Dutch banks are members of Currence, the scheme that operates iDEAL, making it the most popular online payment method in the Netherlands with a share of online transactions close to 55%. Check this [page](https://stripe.com/docs/payments/ideal) for more details. - */ - ideal?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description JCB is a credit card company based in Japan. JCB is currently available in Japan to businesses approved by JCB, and available to all businesses in the US, Canada, Australia, New Zealand, UK, and Ireland. Check this [page](https://support.stripe.com/questions/accepting-japan-credit-bureau-%28jcb%29-payments) for more details. - */ - jcb?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Klarna gives customers a range of [payment options](https://stripe.com/docs/payments/klarna#payment-options) during checkout. Available payment options vary depending on the customer's billing address and the transaction amount. These payment options make it convenient for customers to purchase items in all price ranges. Check this [page](https://stripe.com/docs/payments/klarna) for more details. - */ - klarna?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Konbini allows customers in Japan to pay for bills and online purchases at convenience stores with cash. Check this [page](https://stripe.com/docs/payments/konbini) for more details. - */ - konbini?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description [Link](https://stripe.com/docs/payments/link) is a payment method network. With Link, users save their payment details once, then reuse that information to pay with one click for any business on the network. - */ - link?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** @description Configuration name. */ - name?: string; - /** - * payment_method_param - * @description OXXO is a Mexican chain of convenience stores with thousands of locations across Latin America and represents nearly 20% of online transactions in Mexico. OXXO allows customers to pay bills and online purchases in-store with cash. Check this [page](https://stripe.com/docs/payments/oxxo) for more details. - */ - oxxo?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Przelewy24 is a Poland-based payment method aggregator that allows customers to complete transactions online using bank transfers and other methods. Bank transfers account for 30% of online payments in Poland and Przelewy24 provides a way for customers to pay with over 165 banks. Check this [page](https://stripe.com/docs/payments/p24) for more details. - */ - p24?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** @description Configuration's parent configuration. Specify to create a child configuration. */ - parent?: string; - /** - * payment_method_param - * @description PayNow is a Singapore-based payment method that allows customers to make a payment using their preferred app from participating banks and participating non-bank financial institutions. Check this [page](https://stripe.com/docs/payments/paynow) for more details. - */ - paynow?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description PayPal, a digital wallet popular with customers in Europe, allows your customers worldwide to pay using their PayPal account. Check this [page](https://stripe.com/docs/payments/paypal) for more details. - */ - paypal?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description PromptPay is a Thailand-based payment method that allows customers to make a payment using their preferred app from participating banks. Check this [page](https://stripe.com/docs/payments/promptpay) for more details. - */ - promptpay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description The [Single Euro Payments Area (SEPA)](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) is an initiative of the European Union to simplify payments within and across member countries. SEPA established and enforced banking standards to allow for the direct debiting of every EUR-denominated bank account within the SEPA region, check this [page](https://stripe.com/docs/payments/sepa-debit) for more details. - */ - sepa_debit?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Stripe users in Europe and the United States can use the [Payment Intents API](https://stripe.com/docs/payments/payment-intents)—a single integration path for creating payments using any supported method—to accept [Sofort](https://www.sofort.com/) payments from customers. Check this [page](https://stripe.com/docs/payments/sofort) for more details. - */ - sofort?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Stripe users in the United States can accept ACH direct debit payments from customers with a US bank account using the Automated Clearing House (ACH) payments system operated by Nacha. Check this [page](https://stripe.com/docs/payments/ach-debit) for more details. - */ - us_bank_account?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description WeChat, owned by Tencent, is China's leading mobile app with over 1 billion monthly active users. Chinese consumers can use WeChat Pay to pay for goods and services inside of businesses' apps and websites. WeChat Pay users buy most frequently in gaming, e-commerce, travel, online education, and food/nutrition. Check this [page](https://stripe.com/docs/payments/wechat-pay) for more details. - */ - wechat_pay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method_configuration"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieve payment method configuration

*/ - GetPaymentMethodConfigurationsConfiguration: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - configuration: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method_configuration"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Update payment method configuration

*/ - PostPaymentMethodConfigurationsConfiguration: { - parameters: { - path: { - configuration: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * payment_method_param - * @description Canadian pre-authorized debit payments, check this [page](https://stripe.com/docs/payments/acss-debit) for more details like country availability. - */ - acss_debit?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** @description Whether the configuration can be used for new payments. */ - active?: boolean; - /** - * payment_method_param - * @description [Affirm](https://www.affirm.com/) gives your customers a way to split purchases over a series of payments. Depending on the purchase, they can pay with four interest-free payments (Split Pay) or pay over a longer term (Installments), which might include interest. Check this [page](https://stripe.com/docs/payments/affirm) for more details like country availability. - */ - affirm?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Afterpay gives your customers a way to pay for purchases in installments, check this [page](https://stripe.com/docs/payments/afterpay-clearpay) for more details like country availability. Afterpay is particularly popular among businesses selling fashion, beauty, and sports products. - */ - afterpay_clearpay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Alipay is a digital wallet in China that has more than a billion active users worldwide. Alipay users can pay on the web or on a mobile device using login credentials or their Alipay app. Alipay has a low dispute rate and reduces fraud by authenticating payments using the customer's login credentials. Check this [page](https://stripe.com/docs/payments/alipay) for more details. - */ - alipay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Stripe users can accept [Apple Pay](/payments/apple-pay) in iOS applications in iOS 9 and later, and on the web in Safari starting with iOS 10 or macOS Sierra. There are no additional fees to process Apple Pay payments, and the [pricing](/pricing) is the same as other card transactions. Check this [page](https://stripe.com/docs/apple-pay) for more details. - */ - apple_pay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Apple Pay Later, a payment method for customers to buy now and pay later, gives your customers a way to split purchases into four installments across six weeks. - */ - apple_pay_later?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Stripe users in Australia can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with an Australian bank account. Check this [page](https://stripe.com/docs/payments/au-becs-debit) for more details. - */ - au_becs_debit?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Stripe users in the UK can accept Bacs Direct Debit payments from customers with a UK bank account, check this [page](https://stripe.com/docs/payments/payment-methods/bacs-debit) for more details. - */ - bacs_debit?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Bancontact is the most popular online payment method in Belgium, with over 15 million cards in circulation. [Customers](https://stripe.com/docs/api/customers) use a Bancontact card or mobile app linked to a Belgian bank account to make online payments that are secure, guaranteed, and confirmed immediately. Check this [page](https://stripe.com/docs/payments/bancontact) for more details. - */ - bancontact?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description BLIK is a [single use](https://stripe.com/docs/payments/payment-methods#usage) payment method that requires customers to authenticate their payments. When customers want to pay online using BLIK, they request a six-digit code from their banking application and enter it into the payment collection form. Check this [page](https://stripe.com/docs/payments/blik) for more details. - */ - blik?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Boleto is an official (regulated by the Central Bank of Brazil) payment method in Brazil. Check this [page](https://stripe.com/docs/payments/boleto) for more details. - */ - boleto?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Cards are a popular way for consumers and businesses to pay online or in person. Stripe supports global and local card networks. - */ - card?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Cartes Bancaires is France's local card network. More than 95% of these cards are co-branded with either Visa or Mastercard, meaning you can process these cards over either Cartes Bancaires or the Visa or Mastercard networks. Check this [page](https://stripe.com/docs/payments/cartes-bancaires) for more details. - */ - cartes_bancaires?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Cash App is a popular consumer app in the US that allows customers to bank, invest, send, and receive money using their digital wallet. Check this [page](https://stripe.com/docs/payments/cash-app-pay) for more details. - */ - cashapp?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description EPS is an Austria-based payment method that allows customers to complete transactions online using their bank credentials. EPS is supported by all Austrian banks and is accepted by over 80% of Austrian online retailers. Check this [page](https://stripe.com/docs/payments/eps) for more details. - */ - eps?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * payment_method_param - * @description Financial Process Exchange (FPX) is a Malaysia-based payment method that allows customers to complete transactions online using their bank credentials. Bank Negara Malaysia (BNM), the Central Bank of Malaysia, and eleven other major Malaysian financial institutions are members of the PayNet Group, which owns and operates FPX. It is one of the most popular online payment methods in Malaysia, with nearly 90 million transactions in 2018 according to BNM. Check this [page](https://stripe.com/docs/payments/fpx) for more details. - */ - fpx?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description giropay is a German payment method based on online banking, introduced in 2006. It allows customers to complete transactions online using their online banking environment, with funds debited from their bank account. Depending on their bank, customers confirm payments on giropay using a second factor of authentication or a PIN. giropay accounts for 10% of online checkouts in Germany. Check this [page](https://stripe.com/docs/payments/giropay) for more details. - */ - giropay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Google Pay allows customers to make payments in your app or website using any credit or debit card saved to their Google Account, including those from Google Play, YouTube, Chrome, or an Android device. Use the Google Pay API to request any credit or debit card stored in your customer's Google account. Check this [page](https://stripe.com/docs/google-pay) for more details. - */ - google_pay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description GrabPay is a payment method developed by [Grab](https://www.grab.com/sg/consumer/finance/pay/). GrabPay is a digital wallet - customers maintain a balance in their wallets that they pay out with. Check this [page](https://stripe.com/docs/payments/grabpay) for more details. - */ - grabpay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description iDEAL is a Netherlands-based payment method that allows customers to complete transactions online using their bank credentials. All major Dutch banks are members of Currence, the scheme that operates iDEAL, making it the most popular online payment method in the Netherlands with a share of online transactions close to 55%. Check this [page](https://stripe.com/docs/payments/ideal) for more details. - */ - ideal?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description JCB is a credit card company based in Japan. JCB is currently available in Japan to businesses approved by JCB, and available to all businesses in the US, Canada, Australia, New Zealand, UK, and Ireland. Check this [page](https://support.stripe.com/questions/accepting-japan-credit-bureau-%28jcb%29-payments) for more details. - */ - jcb?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Klarna gives customers a range of [payment options](https://stripe.com/docs/payments/klarna#payment-options) during checkout. Available payment options vary depending on the customer's billing address and the transaction amount. These payment options make it convenient for customers to purchase items in all price ranges. Check this [page](https://stripe.com/docs/payments/klarna) for more details. - */ - klarna?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Konbini allows customers in Japan to pay for bills and online purchases at convenience stores with cash. Check this [page](https://stripe.com/docs/payments/konbini) for more details. - */ - konbini?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description [Link](https://stripe.com/docs/payments/link) is a payment method network. With Link, users save their payment details once, then reuse that information to pay with one click for any business on the network. - */ - link?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** @description Configuration name. */ - name?: string; - /** - * payment_method_param - * @description OXXO is a Mexican chain of convenience stores with thousands of locations across Latin America and represents nearly 20% of online transactions in Mexico. OXXO allows customers to pay bills and online purchases in-store with cash. Check this [page](https://stripe.com/docs/payments/oxxo) for more details. - */ - oxxo?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Przelewy24 is a Poland-based payment method aggregator that allows customers to complete transactions online using bank transfers and other methods. Bank transfers account for 30% of online payments in Poland and Przelewy24 provides a way for customers to pay with over 165 banks. Check this [page](https://stripe.com/docs/payments/p24) for more details. - */ - p24?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description PayNow is a Singapore-based payment method that allows customers to make a payment using their preferred app from participating banks and participating non-bank financial institutions. Check this [page](https://stripe.com/docs/payments/paynow) for more details. - */ - paynow?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description PayPal, a digital wallet popular with customers in Europe, allows your customers worldwide to pay using their PayPal account. Check this [page](https://stripe.com/docs/payments/paypal) for more details. - */ - paypal?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description PromptPay is a Thailand-based payment method that allows customers to make a payment using their preferred app from participating banks. Check this [page](https://stripe.com/docs/payments/promptpay) for more details. - */ - promptpay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description The [Single Euro Payments Area (SEPA)](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) is an initiative of the European Union to simplify payments within and across member countries. SEPA established and enforced banking standards to allow for the direct debiting of every EUR-denominated bank account within the SEPA region, check this [page](https://stripe.com/docs/payments/sepa-debit) for more details. - */ - sepa_debit?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Stripe users in Europe and the United States can use the [Payment Intents API](https://stripe.com/docs/payments/payment-intents)—a single integration path for creating payments using any supported method—to accept [Sofort](https://www.sofort.com/) payments from customers. Check this [page](https://stripe.com/docs/payments/sofort) for more details. - */ - sofort?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description Stripe users in the United States can accept ACH direct debit payments from customers with a US bank account using the Automated Clearing House (ACH) payments system operated by Nacha. Check this [page](https://stripe.com/docs/payments/ach-debit) for more details. - */ - us_bank_account?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - /** - * payment_method_param - * @description WeChat, owned by Tencent, is China's leading mobile app with over 1 billion monthly active users. Chinese consumers can use WeChat Pay to pay for goods and services inside of businesses' apps and websites. WeChat Pay users buy most frequently in gaming, e-commerce, travel, online education, and food/nutrition. Check this [page](https://stripe.com/docs/payments/wechat-pay) for more details. - */ - wechat_pay?: { - /** display_preference_param */ - display_preference?: { - /** @enum {string} */ - preference?: "none" | "off" | "on"; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method_configuration"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Lists the details of existing payment method domains.

*/ - GetPaymentMethodDomains: { - parameters: { - query?: { - /** @description The domain name that this payment method domain object represents. */ - domain_name?: string; - /** @description Whether this payment method domain is enabled. If the domain is not enabled, payment methods will not appear in Elements */ - enabled?: boolean; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["payment_method_domain"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a payment method domain.

*/ - PostPaymentMethodDomains: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The domain name that this payment method domain object represents. */ - domain_name: string; - /** @description Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements. */ - enabled?: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method_domain"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing payment method domain.

*/ - GetPaymentMethodDomainsPaymentMethodDomain: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - payment_method_domain: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method_domain"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates an existing payment method domain.

*/ - PostPaymentMethodDomainsPaymentMethodDomain: { - parameters: { - path: { - payment_method_domain: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements. */ - enabled?: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method_domain"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Some payment methods such as Apple Pay require additional steps to verify a domain. If the requirements weren’t satisfied when the domain was created, the payment method will be inactive on the domain. - * The payment method doesn’t appear in Elements for this domain until it is active.

- * - *

To activate a payment method on an existing payment method domain, complete the required validation steps specific to the payment method, and then validate the payment method domain with this endpoint.

- * - *

Related guides: Payment method domains.

- */ - PostPaymentMethodDomainsPaymentMethodDomainValidate: { - parameters: { - path: { - payment_method_domain: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method_domain"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the List a Customer’s PaymentMethods API instead.

*/ - GetPaymentMethods: { - parameters: { - query?: { - /** @description The ID of the customer whose PaymentMethods will be retrieved. */ - customer?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request. */ - type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["payment_method"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Creates a PaymentMethod object. Read the Stripe.js reference to learn how to create PaymentMethods via Stripe.js.

- * - *

Instead of creating a PaymentMethod directly, we recommend using the PaymentIntents API to accept a payment immediately or the SetupIntent API to collect payment method details ahead of a future payment.

- */ - PostPaymentMethods: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * payment_method_param - * @description If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. - */ - acss_debit?: { - account_number: string; - institution_number: string; - transit_number: string; - }; - /** - * param - * @description If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. - */ - affirm?: Record; - /** - * param - * @description If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. - */ - afterpay_clearpay?: Record; - /** - * param - * @description If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. - */ - alipay?: Record; - /** - * param - * @description If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. - */ - au_becs_debit?: { - account_number: string; - bsb_number: string; - }; - /** - * param - * @description If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. - */ - bacs_debit?: { - account_number?: string; - sort_code?: string; - }; - /** - * param - * @description If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. - */ - bancontact?: Record; - /** - * billing_details_inner_params - * @description Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. - */ - billing_details?: { - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - email?: string | ""; - name?: string | ""; - phone?: string | ""; - }; - /** - * param - * @description If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. - */ - blik?: Record; - /** - * param - * @description If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. - */ - boleto?: { - tax_id: string; - }; - /** @description If this is a `card` PaymentMethod, this hash contains the user's card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format `card: {token: "tok_visa"}`. When providing a card number, you must meet the requirements for [PCI compliance](https://stripe.com/docs/security#validating-pci-compliance). We strongly recommend using Stripe.js instead of interacting with this API directly. */ - card?: { - cvc?: string; - exp_month: number; - exp_year: number; - number: string; - } | { - token: string; - }; - /** - * param - * @description If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. - */ - cashapp?: Record; - /** @description The `Customer` to whom the original PaymentMethod is attached. */ - customer?: string; - /** - * param - * @description If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. - */ - customer_balance?: Record; - /** - * param - * @description If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. - */ - eps?: { - /** @enum {string} */ - bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * param - * @description If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. - */ - fpx?: { - /** @enum {string} */ - bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; - }; - /** - * param - * @description If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. - */ - giropay?: Record; - /** - * param - * @description If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. - */ - grabpay?: Record; - /** - * param - * @description If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. - */ - ideal?: { - /** @enum {string} */ - bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; - }; - /** - * param - * @description If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. - */ - interac_present?: Record; - /** - * param - * @description If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. - */ - klarna?: { - /** date_of_birth */ - dob?: { - day: number; - month: number; - year: number; - }; - }; - /** - * param - * @description If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. - */ - konbini?: Record; - /** - * param - * @description If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. - */ - link?: Record; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** - * param - * @description If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. - */ - oxxo?: Record; - /** - * param - * @description If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. - */ - p24?: { - /** @enum {string} */ - bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; - }; - /** @description The PaymentMethod to share. */ - payment_method?: string; - /** - * param - * @description If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. - */ - paynow?: Record; - /** - * param - * @description If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. - */ - paypal?: Record; - /** - * param - * @description If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. - */ - pix?: Record; - /** - * param - * @description If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. - */ - promptpay?: Record; - /** - * radar_options - * @description Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. - */ - radar_options?: { - session?: string; - }; - /** - * param - * @description If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. - */ - sepa_debit?: { - iban: string; - }; - /** - * param - * @description If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. - */ - sofort?: { - /** @enum {string} */ - country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; - }; - /** - * @description The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type. - * @enum {string} - */ - type?: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "card" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; - /** - * payment_method_param - * @description If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. - */ - us_bank_account?: { - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number?: string; - /** @enum {string} */ - account_type?: "checking" | "savings"; - financial_connections_account?: string; - routing_number?: string; - }; - /** - * param - * @description If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. - */ - wechat_pay?: Record; - /** - * param - * @description If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. - */ - zip?: Record; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use Retrieve a Customer’s PaymentMethods

*/ - GetPaymentMethodsPaymentMethod: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - payment_method: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.

*/ - PostPaymentMethodsPaymentMethod: { - parameters: { - path: { - payment_method: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * billing_details_inner_params - * @description Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. - */ - billing_details?: { - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - email?: string | ""; - name?: string | ""; - phone?: string | ""; - }; - /** - * update_api_param - * @description If this is a `card` PaymentMethod, this hash contains the user's card details. - */ - card?: { - exp_month?: number; - exp_year?: number; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * param - * @description If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. - */ - link?: Record; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** - * update_param - * @description If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. - */ - us_bank_account?: { - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Attaches a PaymentMethod object to a Customer.

- * - *

To attach a new PaymentMethod to a customer for future payments, we recommend you use a SetupIntent - * or a PaymentIntent with setup_future_usage. - * These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach - * endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for - * future use, which makes later declines and payment friction more likely. - * See Optimizing cards for future payments for more information about setting up - * future payments.

- * - *

To use this PaymentMethod as the default for invoice or subscription payments, - * set invoice_settings.default_payment_method, - * on the Customer to the PaymentMethod’s ID.

- */ - PostPaymentMethodsPaymentMethodAttach: { - parameters: { - path: { - payment_method: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The ID of the customer to which to attach the PaymentMethod. */ - customer: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer.

*/ - PostPaymentMethodsPaymentMethodDetach: { - parameters: { - path: { - payment_method: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payment_method"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of existing payouts sent to third-party bank accounts or payouts that Stripe sent to you. The payouts return in sorted order, with the most recently created payouts appearing first.

*/ - GetPayouts: { - parameters: { - query?: { - arrival_date?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description The ID of an external account - only return payouts sent to this external account. */ - destination?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return payouts that have the given status: `pending`, `paid`, `failed`, or `canceled`. */ - status?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["payout"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

To send funds to your own bank account, create a new payout object. Your Stripe balance must cover the payout amount. If it doesn’t, you receive an “Insufficient Funds” error.

- * - *

If your API key is in test mode, money won’t actually be sent, though every other action occurs as if you’re in live mode.

- * - *

If you create a manual payout on a Stripe account that uses multiple payment source types, you need to specify the source type balance that the payout draws from. The balance object details available and pending amounts by source type.

- */ - PostPayouts: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description A positive integer in cents representing how much to payout. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description The ID of a bank account or a card to send the payout to. If you don't provide a destination, we use the default external account for the specified currency. */ - destination?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** - * @description The method used to send this payout, which is `standard` or `instant`. We support `instant` for payouts to debit cards and bank accounts in certain countries. Learn more about [bank support for Instant Payouts](https://stripe.com/docs/payouts/instant-payouts-banks). - * @enum {string} - */ - method?: "instant" | "standard"; - /** - * @description The balance type of your Stripe balance to draw this payout from. Balances for different payment sources are kept separately. You can find the amounts with the Balances API. One of `bank_account`, `card`, or `fpx`. - * @enum {string} - */ - source_type?: "bank_account" | "card" | "fpx"; - /** @description A string that displays on the recipient's bank or card statement (up to 22 characters). A `statement_descriptor` that's longer than 22 characters return an error. Most banks truncate this information and display it inconsistently. Some banks might not display it at all. */ - statement_descriptor?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payout"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list. Stripe returns the corresponding payout information.

*/ - GetPayoutsPayout: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - payout: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payout"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specified payout by setting the values of the parameters you pass. We don’t change parameters that you don’t provide. This request only accepts the metadata as arguments.

*/ - PostPayoutsPayout: { - parameters: { - path: { - payout: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payout"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

You can cancel a previously created payout if it hasn’t been paid out yet. Stripe refunds the funds to your available balance. You can’t cancel automatic Stripe payouts.

*/ - PostPayoutsPayoutCancel: { - parameters: { - path: { - payout: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payout"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US bank accounts. If the payout is in the pending status, use /v1/payouts/:id/cancel instead.

- * - *

By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required.

- */ - PostPayoutsPayoutReverse: { - parameters: { - path: { - payout: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["payout"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your plans.

*/ - GetPlans: { - parameters: { - query?: { - /** @description Only return plans that are active or inactive (e.g., pass `false` to list all inactive plans). */ - active?: boolean; - /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return plans for the given product. */ - product?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["plan"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

You can now model subscriptions more flexibly using the Prices API. It replaces the Plans API and is backwards compatible to simplify your migration.

*/ - PostPlans: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether the plan is currently available for new subscriptions. Defaults to `true`. */ - active?: boolean; - /** - * @description Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`. - * @enum {string} - */ - aggregate_usage?: "last_during_period" | "last_ever" | "max" | "sum"; - /** @description A positive integer in cents (or local equivalent) (or 0 for a free plan) representing how much to charge on a recurring basis. */ - amount?: number; - /** - * Format: decimal - * @description Same as `amount`, but accepts a decimal value with at most 12 decimal places. Only one of `amount` and `amount_decimal` can be set. - */ - amount_decimal?: string; - /** - * @description Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes. - * @enum {string} - */ - billing_scheme?: "per_unit" | "tiered"; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description An identifier randomly generated by Stripe. Used to identify this plan when subscribing a customer. You can optionally override this ID, but the ID must be unique across all plans in your Stripe account. You can, however, use the same plan ID in both live and test modes. */ - id?: string; - /** - * @description Specifies billing frequency. Either `day`, `week`, `month` or `year`. - * @enum {string} - */ - interval: "day" | "month" | "week" | "year"; - /** @description The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). */ - interval_count?: number; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description A brief description of the plan, hidden from customers. */ - nickname?: string; - product?: { - active?: boolean; - id?: string; - metadata?: { - [key: string]: string; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; }; - name: string; - statement_descriptor?: string; - tax_code?: string; - unit_label?: string; - } | string; - /** @description Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. */ - tiers?: ({ - flat_amount?: number; - /** Format: decimal */ - flat_amount_decimal?: string; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - up_to: "inf" | number; - })[]; - /** - * @description Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows. - * @enum {string} - */ - tiers_mode?: "graduated" | "volume"; - /** - * transform_usage_param - * @description Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`. - */ - transform_usage?: { - divide_by: number; - /** @enum {string} */ - round: "down" | "up"; - }; - /** @description Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). */ - trial_period_days?: number; - /** - * @description Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`. - * @enum {string} - */ - usage_type?: "licensed" | "metered"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["plan"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the plan with the given ID.

*/ - GetPlansPlan: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - plan: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["plan"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.

*/ - PostPlansPlan: { - parameters: { - path: { - plan: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether the plan is currently available for new subscriptions. */ - active?: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description A brief description of the plan, hidden from customers. */ - nickname?: string; - /** @description The product the plan belongs to. This cannot be changed once it has been used in a subscription or subscription schedule. */ - product?: string; - /** @description Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). */ - trial_period_days?: number; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["plan"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deleting plans means new subscribers can’t be added. Existing subscribers aren’t affected.

*/ - DeletePlansPlan: { - parameters: { - path: { - plan: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_plan"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your prices.

*/ - GetPrices: { - parameters: { - query?: { - /** @description Only return prices that are active or inactive (e.g., pass `false` to list all inactive prices). */ - active?: boolean; - /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return prices for the given currency. */ - currency?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return the price with these lookup_keys, if any exist. */ - lookup_keys?: string[]; - /** @description Only return prices for the given product. */ - product?: string; - /** @description Only return prices with these recurring fields. */ - recurring?: { - /** @enum {string} */ - interval?: "day" | "month" | "week" | "year"; - /** @enum {string} */ - usage_type?: "licensed" | "metered"; - }; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return prices of type `recurring` or `one_time`. */ - type?: "one_time" | "recurring"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["price"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new price for an existing product. The price can be recurring or one-time.

*/ - PostPrices: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether the price can be used for new purchases. Defaults to `true`. */ - active?: boolean; - /** - * @description Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes. - * @enum {string} - */ - billing_scheme?: "per_unit" | "tiered"; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ - currency_options?: { - [key: string]: { - /** custom_unit_amount */ - custom_unit_amount?: { - enabled: boolean; - maximum?: number; - minimum?: number; - preset?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - tiers?: ({ - flat_amount?: number; - /** Format: decimal */ - flat_amount_decimal?: string; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - up_to: "inf" | number; - })[]; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - }; - /** - * custom_unit_amount - * @description When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. - */ - custom_unit_amount?: { - enabled: boolean; - maximum?: number; - minimum?: number; - preset?: number; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. */ - lookup_key?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description A brief description of the price, hidden from customers. */ - nickname?: string; - /** @description The ID of the product that this price will belong to. */ - product?: string; - /** - * inline_product_params - * @description These fields can be used to create a new product that this price will belong to. - */ - product_data?: { - active?: boolean; - id?: string; - metadata?: { - [key: string]: string; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["treasury.transaction"]; + }; }; - name: string; - statement_descriptor?: string; - tax_code?: string; - unit_label?: string; - }; - /** - * recurring - * @description The recurring components of a price such as `interval` and `usage_type`. - */ - recurring?: { - /** @enum {string} */ - aggregate_usage?: "last_during_period" | "last_ever" | "max" | "sum"; - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - /** @enum {string} */ - usage_type?: "licensed" | "metered"; - }; - /** - * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. - * @enum {string} - */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - /** @description Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. */ - tiers?: ({ - flat_amount?: number; - /** Format: decimal */ - flat_amount_decimal?: string; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - up_to: "inf" | number; - })[]; - /** - * @description Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows. - * @enum {string} - */ - tiers_mode?: "graduated" | "volume"; - /** @description If set to true, will atomically remove the lookup key from the existing price, and assign it to this price. */ - transfer_lookup_key?: boolean; - /** - * transform_usage_param - * @description Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`. - */ - transform_quantity?: { - divide_by: number; - /** @enum {string} */ - round: "down" | "up"; - }; - /** @description A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. One of `unit_amount` or `custom_unit_amount` is required, unless `billing_scheme=tiered`. */ - unit_amount?: number; - /** - * Format: decimal - * @description Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. - */ - unit_amount_decimal?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["price"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Search for prices you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - GetPricesSearch: { - parameters: { - query: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ - page?: string; - /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for prices](https://stripe.com/docs/search#query-fields-for-prices). */ - query: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["price"][]; - has_more: boolean; - next_page?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "search_result"; - /** @description The total number of objects that match the query, only accurate up to 10,000. */ - total_count?: number; - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the price with the given ID.

*/ - GetPricesPrice: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - price: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["price"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged.

*/ - PostPricesPrice: { - parameters: { - path: { - price: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether the price can be used for new purchases. Defaults to `true`. */ - active?: boolean; - /** @description Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ - currency_options?: ({ - [key: string]: { - /** custom_unit_amount */ - custom_unit_amount?: { - enabled: boolean; - maximum?: number; - minimum?: number; - preset?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - tiers?: ({ - flat_amount?: number; - /** Format: decimal */ - flat_amount_decimal?: string; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - up_to: "inf" | number; - })[]; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - }) | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. */ - lookup_key?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description A brief description of the price, hidden from customers. */ - nickname?: string; - /** - * @description Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. - * @enum {string} - */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - /** @description If set to true, will atomically remove the lookup key from the existing price, and assign it to this price. */ - transfer_lookup_key?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["price"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.

*/ - GetProducts: { - parameters: { - query?: { - /** @description Only return products that are active or inactive (e.g., pass `false` to list all inactive products). */ - active?: boolean; - /** @description Only return products that were created during the given date interval. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Only return products with the given IDs. Cannot be used with [starting_after](https://stripe.com/docs/api#list_products-starting_after) or [ending_before](https://stripe.com/docs/api#list_products-ending_before). */ - ids?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return products that can be shipped (i.e., physical, not digital products). */ - shippable?: boolean; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return products with the given url. */ - url?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["product"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new product object.

*/ - PostProducts: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether the product is currently available for purchase. Defaults to `true`. */ - active?: boolean; - /** - * price_data_without_product - * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object. This Price will be set as the default price for this product. - */ - default_price_data?: { - currency: string; - currency_options?: { - [key: string]: { - /** custom_unit_amount */ - custom_unit_amount?: { - enabled: boolean; - maximum?: number; - minimum?: number; - preset?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - tiers?: ({ - flat_amount?: number; - /** Format: decimal */ - flat_amount_decimal?: string; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - up_to: "inf" | number; - })[]; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - }; - /** recurring_adhoc */ - recurring?: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; + GetWebhookEndpoints: { + parameters: { + query?: { + /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ + ending_before?: string; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ + limit?: number; + /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ + starting_after?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - /** @description The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A list of up to 15 features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table). */ - features?: { - name: string; - }[]; - /** @description An identifier will be randomly generated by Stripe. You can optionally override this ID, but the ID must be unique across all products in your Stripe account. */ - id?: string; - /** @description A list of up to 8 URLs of images for this product, meant to be displayable to the customer. */ - images?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The product's name, meant to be displayable to the customer. */ - name: string; - /** - * package_dimensions_specs - * @description The dimensions of this product for shipping purposes. - */ - package_dimensions?: { - height: number; - length: number; - weight: number; - width: number; - }; - /** @description Whether this product is shipped (i.e., physical goods). */ - shippable?: boolean; - /** - * @description An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. - * - * This may be up to 22 characters. The statement description may not include `<`, `>`, `\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. - * It must contain at least one letter. - */ - statement_descriptor?: string; - /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. */ - tax_code?: string; - /** @description A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. */ - unit_label?: string; - /** @description A URL of a publicly-accessible webpage for this product. */ - url?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["product"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Search for products you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - GetProductsSearch: { - parameters: { - query: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ - page?: string; - /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for products](https://stripe.com/docs/search#query-fields-for-products). */ - query: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["product"][]; - has_more: boolean; - next_page?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "search_result"; - /** @description The total number of objects that match the query, only accurate up to 10,000. */ - total_count?: number; - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.

*/ - GetProductsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["product"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - PostProductsId: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether the product is available for purchase. */ - active?: boolean; - /** @description The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product. */ - default_price?: string; - /** @description The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. */ - description?: string | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A list of up to 15 features for this product. These are displayed in [pricing tables](https://stripe.com/docs/payments/checkout/pricing-table). */ - features?: { - name: string; - }[] | ""; - /** @description A list of up to 8 URLs of images for this product, meant to be displayable to the customer. */ - images?: string[] | ""; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The product's name, meant to be displayable to the customer. */ - name?: string; - /** @description The dimensions of this product for shipping purposes. */ - package_dimensions?: { - height: number; - length: number; - weight: number; - width: number; - } | ""; - /** @description Whether this product is shipped (i.e., physical goods). */ - shippable?: boolean; - /** - * @description An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. - * - * This may be up to 22 characters. The statement description may not include `<`, `>`, `\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. - * It must contain at least one letter. May only be set if `type=service`. - */ - statement_descriptor?: string; - /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. */ - tax_code?: string | ""; - /** @description A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. May only be set if `type=service`. */ - unit_label?: string | ""; - /** @description A URL of a publicly-accessible webpage for this product. */ - url?: string | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["product"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it.

*/ - DeleteProductsId: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_product"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your promotion codes.

*/ - GetPromotionCodes: { - parameters: { - query?: { - /** @description Filter promotion codes by whether they are active. */ - active?: boolean; - /** @description Only return promotion codes that have this case-insensitive code. */ - code?: string; - /** @description Only return promotion codes for this coupon. */ - coupon?: string; - /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return promotion codes that are restricted to this customer. */ - customer?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["promotion_code"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

A promotion code points to a coupon. You can optionally restrict the code to a specific customer, redemption limit, and expiration date.

*/ - PostPromotionCodes: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether the promotion code is currently active. */ - active?: boolean; - /** @description The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for a specific customer. If left blank, we will generate one automatically. */ - code?: string; - /** @description The coupon for this promotion code. */ - coupon: string; - /** @description The customer that this promotion code can be used by. If not set, the promotion code can be used by all customers. */ - customer?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * Format: unix-time - * @description The timestamp at which this promotion code will expire. If the coupon has specified a `redeems_by`, then this value cannot be after the coupon's `redeems_by`. - */ - expires_at?: number; - /** @description A positive integer specifying the number of times the promotion code can be redeemed. If the coupon has specified a `max_redemptions`, then this value cannot be greater than the coupon's `max_redemptions`. */ - max_redemptions?: number; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** - * restrictions_params - * @description Settings that restrict the redemption of the promotion code. - */ - restrictions?: { - currency_options?: { - [key: string]: { - minimum_amount?: number; - }; - }; - first_time_transaction?: boolean; - minimum_amount?: number; - minimum_amount_currency?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["promotion_code"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use list with the desired code.

*/ - GetPromotionCodesPromotionCode: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - promotion_code: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["promotion_code"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable.

*/ - PostPromotionCodesPromotionCode: { - parameters: { - path: { - promotion_code: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether the promotion code is currently active. A promotion code can only be reactivated when the coupon is still valid and the promotion code is otherwise redeemable. */ - active?: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** - * restrictions_params - * @description Settings that restrict the redemption of the promotion code. - */ - restrictions?: { - currency_options?: { - [key: string]: { - minimum_amount?: number; - }; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["promotion_code"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your quotes.

*/ - GetQuotes: { - parameters: { - query?: { - /** @description The ID of the customer whose quotes will be retrieved. */ - customer?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description The status of the quote. */ - status?: "accepted" | "canceled" | "draft" | "open"; - /** @description Provides a list of quotes that are associated with the specified test clock. The response will not include quotes with test clocks if this and the customer parameter is not set. */ - test_clock?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["quote"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the quote template.

*/ - PostQuotes: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field. */ - application_fee_amount?: number | ""; - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field. */ - application_fee_percent?: number | ""; - /** - * automatic_tax_param - * @description Settings for automatic tax lookup for this quote and resulting invoices and subscriptions. - */ - automatic_tax?: { - enabled: boolean; - }; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. - * @enum {string} - */ - collection_method?: "charge_automatically" | "send_invoice"; - /** @description The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed. */ - customer?: string; - /** @description The tax rates that will apply to any line item that does not have `tax_rates` set. */ - default_tax_rates?: string[] | ""; - /** @description A description that will be displayed on the quote PDF. If no value is passed, the default description configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. */ - description?: string | ""; - /** @description The discounts applied to the quote. You can only set up to one discount. */ - discounts?: { - coupon?: string; - discount?: string; - }[] | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * Format: unix-time - * @description A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. If no value is passed, the default expiration date configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. - */ - expires_at?: number; - /** @description A footer that will be displayed on the quote PDF. If no value is passed, the default footer configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. */ - footer?: string | ""; - /** - * from_quote_params - * @description Clone an existing quote. The new quote will be created in `status=draft`. When using this parameter, you cannot specify any other parameters except for `expires_at`. - */ - from_quote?: { - is_revision?: boolean; - quote: string; - }; - /** @description A header that will be displayed on the quote PDF. If no value is passed, the default header configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. */ - header?: string | ""; - /** - * quote_param - * @description All invoices will be billed using the specified settings. - */ - invoice_settings?: { - days_until_due?: number; - }; - /** @description A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost. */ - line_items?: ({ - price?: string; - /** price_data */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring?: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The account on behalf of which to charge. */ - on_behalf_of?: string | ""; - /** - * subscription_data_create_params - * @description When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created. - */ - subscription_data?: { - description?: string; - effective_date?: "current_period_end" | number | ""; - trial_period_days?: number | ""; - }; - /** @description ID of the test clock to attach to the quote. */ - test_clock?: string; - /** @description The data with which to automatically create a Transfer for each of the invoices. */ - transfer_data?: { - amount?: number; - amount_percent?: number; - destination: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["quote"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the quote with the given ID.

*/ - GetQuotesQuote: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - quote: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["quote"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

A quote models prices and services for a customer.

*/ - PostQuotesQuote: { - parameters: { - path: { - quote: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field. */ - application_fee_amount?: number | ""; - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field. */ - application_fee_percent?: number | ""; - /** - * automatic_tax_param - * @description Settings for automatic tax lookup for this quote and resulting invoices and subscriptions. - */ - automatic_tax?: { - enabled: boolean; - }; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. - * @enum {string} - */ - collection_method?: "charge_automatically" | "send_invoice"; - /** @description The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed. */ - customer?: string; - /** @description The tax rates that will apply to any line item that does not have `tax_rates` set. */ - default_tax_rates?: string[] | ""; - /** @description A description that will be displayed on the quote PDF. */ - description?: string | ""; - /** @description The discounts applied to the quote. You can only set up to one discount. */ - discounts?: { - coupon?: string; - discount?: string; - }[] | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * Format: unix-time - * @description A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. - */ - expires_at?: number; - /** @description A footer that will be displayed on the quote PDF. */ - footer?: string | ""; - /** @description A header that will be displayed on the quote PDF. */ - header?: string | ""; - /** - * quote_param - * @description All invoices will be billed using the specified settings. - */ - invoice_settings?: { - days_until_due?: number; - }; - /** @description A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost. */ - line_items?: ({ - id?: string; - price?: string; - /** price_data */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring?: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The account on behalf of which to charge. */ - on_behalf_of?: string | ""; - /** - * subscription_data_update_params - * @description When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created. - */ - subscription_data?: { - description?: string | ""; - effective_date?: "current_period_end" | number | ""; - trial_period_days?: number | ""; - }; - /** @description The data with which to automatically create a Transfer for each of the invoices. */ - transfer_data?: { - amount?: number; - amount_percent?: number; - destination: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["quote"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Accepts the specified quote.

*/ - PostQuotesQuoteAccept: { - parameters: { - path: { - quote: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["quote"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Cancels the quote.

*/ - PostQuotesQuoteCancel: { - parameters: { - path: { - quote: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["quote"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

When retrieving a quote, there is an includable computed.upfront.line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items.

*/ - GetQuotesQuoteComputedUpfrontLineItems: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - quote: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Finalizes the quote.

*/ - PostQuotesQuoteFinalize: { - parameters: { - path: { - quote: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * Format: unix-time - * @description A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. - */ - expires_at?: number; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["quote"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ - GetQuotesQuoteLineItems: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - quote: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Download the PDF for a finalized quote

*/ - GetQuotesQuotePdf: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - quote: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/pdf": string; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of early fraud warnings.

*/ - GetRadarEarlyFraudWarnings: { - parameters: { - query?: { - /** @description Only return early fraud warnings for the charge specified by this charge ID. */ - charge?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return early fraud warnings for charges that were created by the PaymentIntent specified by this PaymentIntent ID. */ - payment_intent?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["radar.early_fraud_warning"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Retrieves the details of an early fraud warning that has previously been created.

- * - *

Please refer to the early fraud warning object reference for more details.

- */ - GetRadarEarlyFraudWarningsEarlyFraudWarning: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - early_fraud_warning: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["radar.early_fraud_warning"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of ValueListItem objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - GetRadarValueListItems: { - parameters: { - query: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Return items belonging to the parent list whose value matches the specified value (using an "is like" match). */ - value?: string; - /** @description Identifier for the parent value list this item belongs to. */ - value_list: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["radar.value_list_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new ValueListItem object, which is added to the specified parent value list.

*/ - PostRadarValueListItems: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The value of the item (whose type must match the type of the parent value list). */ - value: string; - /** @description The identifier of the value list which the created item will be added to. */ - value_list: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["radar.value_list_item"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a ValueListItem object.

*/ - GetRadarValueListItemsItem: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - item: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["radar.value_list_item"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes a ValueListItem object, removing it from its parent value list.

*/ - DeleteRadarValueListItemsItem: { - parameters: { - path: { - item: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_radar.value_list_item"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of ValueList objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - GetRadarValueLists: { - parameters: { - query?: { - /** @description The alias used to reference the value list when writing rules. */ - alias?: string; - /** @description A value contained within a value list - returns all value lists containing this value. */ - contains?: string; - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["radar.value_list"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new ValueList object, which can then be referenced in rules.

*/ - PostRadarValueLists: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The name of the value list for use in rules. */ - alias: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * @description Type of the items in the value list. One of `card_fingerprint`, `us_bank_account_fingerprint`, `sepa_debit_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, or `customer_id`. Use `string` if the item type is unknown or mixed. - * @enum {string} - */ - item_type?: "card_bin" | "card_fingerprint" | "case_sensitive_string" | "country" | "customer_id" | "email" | "ip_address" | "sepa_debit_fingerprint" | "string" | "us_bank_account_fingerprint"; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The human-readable name of the value list. */ - name: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["radar.value_list"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a ValueList object.

*/ - GetRadarValueListsValueList: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - value_list: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["radar.value_list"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates a ValueList object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that item_type is immutable.

*/ - PostRadarValueListsValueList: { - parameters: { - path: { - value_list: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The name of the value list for use in rules. */ - alias?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The human-readable name of the value list. */ - name?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["radar.value_list"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules.

*/ - DeleteRadarValueListsValueList: { - parameters: { - path: { - value_list: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_radar.value_list"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of all refunds you’ve previously created. The refunds are returned in sorted order, with the most recent refunds appearing first. For convenience, the 10 most recent refunds are always available by default on the charge object.

*/ - GetRefunds: { - parameters: { - query?: { - /** @description Only return refunds for the charge specified by this charge ID. */ - charge?: string; - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return refunds for the PaymentIntent specified by this ID. */ - payment_intent?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["refund"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.

- * - *

Creating a new refund will refund a charge that has previously been created but not yet refunded. - * Funds will be refunded to the credit or debit card that was originally charged.

- * - *

You can optionally refund only part of a charge. - * You can do so multiple times, until the entire charge has been refunded.

- * - *

Once entirely refunded, a charge can’t be refunded again. - * This method will raise an error when called on an already-refunded charge, - * or when trying to refund more money than is left on a charge.

- */ - PostRefunds: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - amount?: number; - /** @description The identifier of the charge to refund. */ - charge?: string; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description Customer whose customer balance to refund from. */ - customer?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions. */ - instructions_email?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** - * @description Origin of the refund - * @enum {string} - */ - origin?: "customer_balance"; - /** @description The identifier of the PaymentIntent to refund. */ - payment_intent?: string; - /** - * @description String indicating the reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`. If you believe the charge to be fraudulent, specifying `fraudulent` as the reason will add the associated card and email to your [block lists](https://stripe.com/docs/radar/lists), and will also help us improve our fraud detection algorithms. - * @enum {string} - */ - reason?: "duplicate" | "fraudulent" | "requested_by_customer"; - /** @description Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. */ - refund_application_fee?: boolean; - /** @description Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount).

A transfer can be reversed only by the application that created the charge. */ - reverse_transfer?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["refund"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing refund.

*/ - GetRefundsRefund: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - refund: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["refund"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Updates the specified refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

- * - *

This request only accepts metadata as an argument.

- */ - PostRefundsRefund: { - parameters: { - path: { - refund: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["refund"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Cancels a refund with a status of requires_action.

- * - *

Refunds in other states cannot be canceled, and only refunds for payment methods that require customer action will enter the requires_action state.

- */ - PostRefundsRefundCancel: { - parameters: { - path: { - refund: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["refund"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Report Runs, with the most recent appearing first.

*/ - GetReportingReportRuns: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["reporting.report_run"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new object and begin running the report. (Certain report types require a live-mode API key.)

*/ - PostReportingReportRuns: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * run_parameter_specs - * @description Parameters specifying how the report should be run. Different Report Types have different required and optional parameters, listed in the [API Access to Reports](https://stripe.com/docs/reporting/statements/api) documentation. - */ - parameters?: { - columns?: string[]; - connected_account?: string; - currency?: string; - /** Format: unix-time */ - interval_end?: number; - /** Format: unix-time */ - interval_start?: number; - payout?: string; - /** @enum {string} */ - reporting_category?: "advance" | "advance_funding" | "anticipation_repayment" | "charge" | "charge_failure" | "connect_collection_transfer" | "connect_reserved_funds" | "contribution" | "dispute" | "dispute_reversal" | "fee" | "financing_paydown" | "financing_paydown_reversal" | "financing_payout" | "financing_payout_reversal" | "issuing_authorization_hold" | "issuing_authorization_release" | "issuing_dispute" | "issuing_transaction" | "network_cost" | "obligation" | "other_adjustment" | "partial_capture_reversal" | "payout" | "payout_reversal" | "platform_earning" | "platform_earning_refund" | "refund" | "refund_failure" | "risk_reserved_funds" | "tax" | "topup" | "topup_reversal" | "transfer" | "transfer_reversal"; - /** @enum {string} */ - timezone?: "Africa/Abidjan" | "Africa/Accra" | "Africa/Addis_Ababa" | "Africa/Algiers" | "Africa/Asmara" | "Africa/Asmera" | "Africa/Bamako" | "Africa/Bangui" | "Africa/Banjul" | "Africa/Bissau" | "Africa/Blantyre" | "Africa/Brazzaville" | "Africa/Bujumbura" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Ceuta" | "Africa/Conakry" | "Africa/Dakar" | "Africa/Dar_es_Salaam" | "Africa/Djibouti" | "Africa/Douala" | "Africa/El_Aaiun" | "Africa/Freetown" | "Africa/Gaborone" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Juba" | "Africa/Kampala" | "Africa/Khartoum" | "Africa/Kigali" | "Africa/Kinshasa" | "Africa/Lagos" | "Africa/Libreville" | "Africa/Lome" | "Africa/Luanda" | "Africa/Lubumbashi" | "Africa/Lusaka" | "Africa/Malabo" | "Africa/Maputo" | "Africa/Maseru" | "Africa/Mbabane" | "Africa/Mogadishu" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Ndjamena" | "Africa/Niamey" | "Africa/Nouakchott" | "Africa/Ouagadougou" | "Africa/Porto-Novo" | "Africa/Sao_Tome" | "Africa/Timbuktu" | "Africa/Tripoli" | "Africa/Tunis" | "Africa/Windhoek" | "America/Adak" | "America/Anchorage" | "America/Anguilla" | "America/Antigua" | "America/Araguaina" | "America/Argentina/Buenos_Aires" | "America/Argentina/Catamarca" | "America/Argentina/ComodRivadavia" | "America/Argentina/Cordoba" | "America/Argentina/Jujuy" | "America/Argentina/La_Rioja" | "America/Argentina/Mendoza" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Salta" | "America/Argentina/San_Juan" | "America/Argentina/San_Luis" | "America/Argentina/Tucuman" | "America/Argentina/Ushuaia" | "America/Aruba" | "America/Asuncion" | "America/Atikokan" | "America/Atka" | "America/Bahia" | "America/Bahia_Banderas" | "America/Barbados" | "America/Belem" | "America/Belize" | "America/Blanc-Sablon" | "America/Boa_Vista" | "America/Bogota" | "America/Boise" | "America/Buenos_Aires" | "America/Cambridge_Bay" | "America/Campo_Grande" | "America/Cancun" | "America/Caracas" | "America/Catamarca" | "America/Cayenne" | "America/Cayman" | "America/Chicago" | "America/Chihuahua" | "America/Ciudad_Juarez" | "America/Coral_Harbour" | "America/Cordoba" | "America/Costa_Rica" | "America/Creston" | "America/Cuiaba" | "America/Curacao" | "America/Danmarkshavn" | "America/Dawson" | "America/Dawson_Creek" | "America/Denver" | "America/Detroit" | "America/Dominica" | "America/Edmonton" | "America/Eirunepe" | "America/El_Salvador" | "America/Ensenada" | "America/Fort_Nelson" | "America/Fort_Wayne" | "America/Fortaleza" | "America/Glace_Bay" | "America/Godthab" | "America/Goose_Bay" | "America/Grand_Turk" | "America/Grenada" | "America/Guadeloupe" | "America/Guatemala" | "America/Guayaquil" | "America/Guyana" | "America/Halifax" | "America/Havana" | "America/Hermosillo" | "America/Indiana/Indianapolis" | "America/Indiana/Knox" | "America/Indiana/Marengo" | "America/Indiana/Petersburg" | "America/Indiana/Tell_City" | "America/Indiana/Vevay" | "America/Indiana/Vincennes" | "America/Indiana/Winamac" | "America/Indianapolis" | "America/Inuvik" | "America/Iqaluit" | "America/Jamaica" | "America/Jujuy" | "America/Juneau" | "America/Kentucky/Louisville" | "America/Kentucky/Monticello" | "America/Knox_IN" | "America/Kralendijk" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Louisville" | "America/Lower_Princes" | "America/Maceio" | "America/Managua" | "America/Manaus" | "America/Marigot" | "America/Martinique" | "America/Matamoros" | "America/Mazatlan" | "America/Mendoza" | "America/Menominee" | "America/Merida" | "America/Metlakatla" | "America/Mexico_City" | "America/Miquelon" | "America/Moncton" | "America/Monterrey" | "America/Montevideo" | "America/Montreal" | "America/Montserrat" | "America/Nassau" | "America/New_York" | "America/Nipigon" | "America/Nome" | "America/Noronha" | "America/North_Dakota/Beulah" | "America/North_Dakota/Center" | "America/North_Dakota/New_Salem" | "America/Nuuk" | "America/Ojinaga" | "America/Panama" | "America/Pangnirtung" | "America/Paramaribo" | "America/Phoenix" | "America/Port-au-Prince" | "America/Port_of_Spain" | "America/Porto_Acre" | "America/Porto_Velho" | "America/Puerto_Rico" | "America/Punta_Arenas" | "America/Rainy_River" | "America/Rankin_Inlet" | "America/Recife" | "America/Regina" | "America/Resolute" | "America/Rio_Branco" | "America/Rosario" | "America/Santa_Isabel" | "America/Santarem" | "America/Santiago" | "America/Santo_Domingo" | "America/Sao_Paulo" | "America/Scoresbysund" | "America/Shiprock" | "America/Sitka" | "America/St_Barthelemy" | "America/St_Johns" | "America/St_Kitts" | "America/St_Lucia" | "America/St_Thomas" | "America/St_Vincent" | "America/Swift_Current" | "America/Tegucigalpa" | "America/Thule" | "America/Thunder_Bay" | "America/Tijuana" | "America/Toronto" | "America/Tortola" | "America/Vancouver" | "America/Virgin" | "America/Whitehorse" | "America/Winnipeg" | "America/Yakutat" | "America/Yellowknife" | "Antarctica/Casey" | "Antarctica/Davis" | "Antarctica/DumontDUrville" | "Antarctica/Macquarie" | "Antarctica/Mawson" | "Antarctica/McMurdo" | "Antarctica/Palmer" | "Antarctica/Rothera" | "Antarctica/South_Pole" | "Antarctica/Syowa" | "Antarctica/Troll" | "Antarctica/Vostok" | "Arctic/Longyearbyen" | "Asia/Aden" | "Asia/Almaty" | "Asia/Amman" | "Asia/Anadyr" | "Asia/Aqtau" | "Asia/Aqtobe" | "Asia/Ashgabat" | "Asia/Ashkhabad" | "Asia/Atyrau" | "Asia/Baghdad" | "Asia/Bahrain" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Barnaul" | "Asia/Beirut" | "Asia/Bishkek" | "Asia/Brunei" | "Asia/Calcutta" | "Asia/Chita" | "Asia/Choibalsan" | "Asia/Chongqing" | "Asia/Chungking" | "Asia/Colombo" | "Asia/Dacca" | "Asia/Damascus" | "Asia/Dhaka" | "Asia/Dili" | "Asia/Dubai" | "Asia/Dushanbe" | "Asia/Famagusta" | "Asia/Gaza" | "Asia/Harbin" | "Asia/Hebron" | "Asia/Ho_Chi_Minh" | "Asia/Hong_Kong" | "Asia/Hovd" | "Asia/Irkutsk" | "Asia/Istanbul" | "Asia/Jakarta" | "Asia/Jayapura" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kashgar" | "Asia/Kathmandu" | "Asia/Katmandu" | "Asia/Khandyga" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuching" | "Asia/Kuwait" | "Asia/Macao" | "Asia/Macau" | "Asia/Magadan" | "Asia/Makassar" | "Asia/Manila" | "Asia/Muscat" | "Asia/Nicosia" | "Asia/Novokuznetsk" | "Asia/Novosibirsk" | "Asia/Omsk" | "Asia/Oral" | "Asia/Phnom_Penh" | "Asia/Pontianak" | "Asia/Pyongyang" | "Asia/Qatar" | "Asia/Qostanay" | "Asia/Qyzylorda" | "Asia/Rangoon" | "Asia/Riyadh" | "Asia/Saigon" | "Asia/Sakhalin" | "Asia/Samarkand" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tel_Aviv" | "Asia/Thimbu" | "Asia/Thimphu" | "Asia/Tokyo" | "Asia/Tomsk" | "Asia/Ujung_Pandang" | "Asia/Ulaanbaatar" | "Asia/Ulan_Bator" | "Asia/Urumqi" | "Asia/Ust-Nera" | "Asia/Vientiane" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yangon" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Bermuda" | "Atlantic/Canary" | "Atlantic/Cape_Verde" | "Atlantic/Faeroe" | "Atlantic/Faroe" | "Atlantic/Jan_Mayen" | "Atlantic/Madeira" | "Atlantic/Reykjavik" | "Atlantic/South_Georgia" | "Atlantic/St_Helena" | "Atlantic/Stanley" | "Australia/ACT" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Broken_Hill" | "Australia/Canberra" | "Australia/Currie" | "Australia/Darwin" | "Australia/Eucla" | "Australia/Hobart" | "Australia/LHI" | "Australia/Lindeman" | "Australia/Lord_Howe" | "Australia/Melbourne" | "Australia/NSW" | "Australia/North" | "Australia/Perth" | "Australia/Queensland" | "Australia/South" | "Australia/Sydney" | "Australia/Tasmania" | "Australia/Victoria" | "Australia/West" | "Australia/Yancowinna" | "Brazil/Acre" | "Brazil/DeNoronha" | "Brazil/East" | "Brazil/West" | "CET" | "CST6CDT" | "Canada/Atlantic" | "Canada/Central" | "Canada/Eastern" | "Canada/Mountain" | "Canada/Newfoundland" | "Canada/Pacific" | "Canada/Saskatchewan" | "Canada/Yukon" | "Chile/Continental" | "Chile/EasterIsland" | "Cuba" | "EET" | "EST" | "EST5EDT" | "Egypt" | "Eire" | "Etc/GMT" | "Etc/GMT+0" | "Etc/GMT+1" | "Etc/GMT+10" | "Etc/GMT+11" | "Etc/GMT+12" | "Etc/GMT+2" | "Etc/GMT+3" | "Etc/GMT+4" | "Etc/GMT+5" | "Etc/GMT+6" | "Etc/GMT+7" | "Etc/GMT+8" | "Etc/GMT+9" | "Etc/GMT-0" | "Etc/GMT-1" | "Etc/GMT-10" | "Etc/GMT-11" | "Etc/GMT-12" | "Etc/GMT-13" | "Etc/GMT-14" | "Etc/GMT-2" | "Etc/GMT-3" | "Etc/GMT-4" | "Etc/GMT-5" | "Etc/GMT-6" | "Etc/GMT-7" | "Etc/GMT-8" | "Etc/GMT-9" | "Etc/GMT0" | "Etc/Greenwich" | "Etc/UCT" | "Etc/UTC" | "Etc/Universal" | "Etc/Zulu" | "Europe/Amsterdam" | "Europe/Andorra" | "Europe/Astrakhan" | "Europe/Athens" | "Europe/Belfast" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Bratislava" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Busingen" | "Europe/Chisinau" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Gibraltar" | "Europe/Guernsey" | "Europe/Helsinki" | "Europe/Isle_of_Man" | "Europe/Istanbul" | "Europe/Jersey" | "Europe/Kaliningrad" | "Europe/Kiev" | "Europe/Kirov" | "Europe/Kyiv" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Luxembourg" | "Europe/Madrid" | "Europe/Malta" | "Europe/Mariehamn" | "Europe/Minsk" | "Europe/Monaco" | "Europe/Moscow" | "Europe/Nicosia" | "Europe/Oslo" | "Europe/Paris" | "Europe/Podgorica" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/San_Marino" | "Europe/Sarajevo" | "Europe/Saratov" | "Europe/Simferopol" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Tirane" | "Europe/Tiraspol" | "Europe/Ulyanovsk" | "Europe/Uzhgorod" | "Europe/Vaduz" | "Europe/Vatican" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zaporozhye" | "Europe/Zurich" | "Factory" | "GB" | "GB-Eire" | "GMT" | "GMT+0" | "GMT-0" | "GMT0" | "Greenwich" | "HST" | "Hongkong" | "Iceland" | "Indian/Antananarivo" | "Indian/Chagos" | "Indian/Christmas" | "Indian/Cocos" | "Indian/Comoro" | "Indian/Kerguelen" | "Indian/Mahe" | "Indian/Maldives" | "Indian/Mauritius" | "Indian/Mayotte" | "Indian/Reunion" | "Iran" | "Israel" | "Jamaica" | "Japan" | "Kwajalein" | "Libya" | "MET" | "MST" | "MST7MDT" | "Mexico/BajaNorte" | "Mexico/BajaSur" | "Mexico/General" | "NZ" | "NZ-CHAT" | "Navajo" | "PRC" | "PST8PDT" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Bougainville" | "Pacific/Chatham" | "Pacific/Chuuk" | "Pacific/Easter" | "Pacific/Efate" | "Pacific/Enderbury" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Funafuti" | "Pacific/Galapagos" | "Pacific/Gambier" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Johnston" | "Pacific/Kanton" | "Pacific/Kiritimati" | "Pacific/Kosrae" | "Pacific/Kwajalein" | "Pacific/Majuro" | "Pacific/Marquesas" | "Pacific/Midway" | "Pacific/Nauru" | "Pacific/Niue" | "Pacific/Norfolk" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Palau" | "Pacific/Pitcairn" | "Pacific/Pohnpei" | "Pacific/Ponape" | "Pacific/Port_Moresby" | "Pacific/Rarotonga" | "Pacific/Saipan" | "Pacific/Samoa" | "Pacific/Tahiti" | "Pacific/Tarawa" | "Pacific/Tongatapu" | "Pacific/Truk" | "Pacific/Wake" | "Pacific/Wallis" | "Pacific/Yap" | "Poland" | "Portugal" | "ROC" | "ROK" | "Singapore" | "Turkey" | "UCT" | "US/Alaska" | "US/Aleutian" | "US/Arizona" | "US/Central" | "US/East-Indiana" | "US/Eastern" | "US/Hawaii" | "US/Indiana-Starke" | "US/Michigan" | "US/Mountain" | "US/Pacific" | "US/Pacific-New" | "US/Samoa" | "UTC" | "Universal" | "W-SU" | "WET" | "Zulu"; - }; - /** @description The ID of the [report type](https://stripe.com/docs/reporting/statements/api#report-types) to run, such as `"balance.summary.1"`. */ - report_type: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["reporting.report_run"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing Report Run.

*/ - GetReportingReportRunsReportRun: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - report_run: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["reporting.report_run"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a full list of Report Types.

*/ - GetReportingReportTypes: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["reporting.report_type"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of a Report Type. (Certain report types require a live-mode API key.)

*/ - GetReportingReportTypesReportType: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - report_type: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["reporting.report_type"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ - GetReviews: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["review"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a Review object.

*/ - GetReviewsReview: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - review: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["review"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Approves a Review object, closing it and removing it from the list of reviews.

*/ - PostReviewsReviewApprove: { - parameters: { - path: { - review: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["review"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of SetupAttempts that associate with a provided SetupIntent.

*/ - GetSetupAttempts: { - parameters: { - query: { - /** - * @description A filter on the list, based on the object `created` field. The value - * can be a string with an integer Unix timestamp or a - * dictionary with a number of different query options. - */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** - * @description Only return SetupAttempts created by the SetupIntent specified by - * this ID. - */ - setup_intent: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["setup_attempt"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + data: components["schemas"]["webhook_endpoint"][]; + /** @description True if this list has another page of items after this one that can be fetched. */ + has_more: boolean; + /** + * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. + * @enum {string} + */ + object: "list"; + /** @description The URL where this list can be accessed. */ + url: string; + }; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; }; - }; }; - }; - /** @description

Returns a list of SetupIntents.

*/ - GetSetupIntents: { - parameters: { - query?: { - /** - * @description If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. - * - * It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. - */ - attach_to_self?: boolean; - /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return SetupIntents for the customer specified by this customer ID. */ - customer?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return SetupIntents associated with the specified payment method. */ - payment_method?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["setup_intent"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Creates a SetupIntent object.

- * - *

After the SetupIntent is created, attach a payment method and confirm - * to collect any required permissions to charge the payment method later.

- */ - PostSetupIntents: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * @description If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. - * - * It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. - */ - attach_to_self?: boolean; - /** - * automatic_payment_methods_param - * @description When enabled, this SetupIntent will accept payment methods that you have enabled in the Dashboard and are compatible with this SetupIntent's other parameters. - */ - automatic_payment_methods?: { - /** @enum {string} */ - allow_redirects?: "always" | "never"; - enabled: boolean; - }; - /** @description Set to `true` to attempt to confirm this SetupIntent immediately. This parameter defaults to `false`. If the payment method attached is a card, a return_url may be provided in case additional authentication is required. */ - confirm?: boolean; - /** - * @description ID of the Customer this SetupIntent belongs to, if one exists. - * - * If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent. - */ - customer?: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * @description Indicates the directions of money movement for which this payment method is intended to be used. - * - * Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. - */ - flow_directions?: ("inbound" | "outbound")[]; - /** @description This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm). */ - mandate_data?: ({ - /** customer_acceptance_param */ - customer_acceptance: { - /** Format: unix-time */ - accepted_at?: number; - /** offline_param */ - offline?: Record; - /** online_param */ - online?: { - ip_address: string; - user_agent: string; - }; - /** @enum {string} */ - type: "offline" | "online"; - }; - }) | ""; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The Stripe account ID for which this SetupIntent is created. */ - on_behalf_of?: string; - /** @description ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. */ - payment_method?: string; - /** @description The ID of the payment method configuration to use with this Setup Intent. */ - payment_method_configuration?: string; - /** - * payment_method_data_params - * @description When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method) - * value in the SetupIntent. - */ - payment_method_data?: { - /** payment_method_param */ - acss_debit?: { - account_number: string; - institution_number: string; - transit_number: string; - }; - /** param */ - affirm?: Record; - /** param */ - afterpay_clearpay?: Record; - /** param */ - alipay?: Record; - /** param */ - au_becs_debit?: { - account_number: string; - bsb_number: string; - }; - /** param */ - bacs_debit?: { - account_number?: string; - sort_code?: string; - }; - /** param */ - bancontact?: Record; - /** billing_details_inner_params */ - billing_details?: { - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - email?: string | ""; - name?: string | ""; - phone?: string | ""; - }; - /** param */ - blik?: Record; - /** param */ - boleto?: { - tax_id: string; - }; - /** param */ - cashapp?: Record; - /** param */ - customer_balance?: Record; - /** param */ - eps?: { - /** @enum {string} */ - bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; - }; - /** param */ - fpx?: { - /** @enum {string} */ - bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; - }; - /** param */ - giropay?: Record; - /** param */ - grabpay?: Record; - /** param */ - ideal?: { - /** @enum {string} */ - bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; - }; - /** param */ - interac_present?: Record; - /** param */ - klarna?: { - /** date_of_birth */ - dob?: { - day: number; - month: number; - year: number; - }; - }; - /** param */ - konbini?: Record; - /** param */ - link?: Record; - metadata?: { - [key: string]: string; - }; - /** param */ - oxxo?: Record; - /** param */ - p24?: { - /** @enum {string} */ - bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; - }; - /** param */ - paynow?: Record; - /** param */ - paypal?: Record; - /** param */ - pix?: Record; - /** param */ - promptpay?: Record; - /** radar_options */ - radar_options?: { - session?: string; - }; - /** param */ - sepa_debit?: { - iban: string; - }; - /** param */ - sofort?: { - /** @enum {string} */ - country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + PostWebhookEndpoints: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/x-www-form-urlencoded": { + /** + * @description Events sent to this endpoint will be generated with this Stripe Version instead of your account's default Stripe Version. + * @enum {string} + */ + api_version?: "2011-01-01" | "2011-06-21" | "2011-06-28" | "2011-08-01" | "2011-09-15" | "2011-11-17" | "2012-02-23" | "2012-03-25" | "2012-06-18" | "2012-06-28" | "2012-07-09" | "2012-09-24" | "2012-10-26" | "2012-11-07" | "2013-02-11" | "2013-02-13" | "2013-07-05" | "2013-08-12" | "2013-08-13" | "2013-10-29" | "2013-12-03" | "2014-01-31" | "2014-03-13" | "2014-03-28" | "2014-05-19" | "2014-06-13" | "2014-06-17" | "2014-07-22" | "2014-07-26" | "2014-08-04" | "2014-08-20" | "2014-09-08" | "2014-10-07" | "2014-11-05" | "2014-11-20" | "2014-12-08" | "2014-12-17" | "2014-12-22" | "2015-01-11" | "2015-01-26" | "2015-02-10" | "2015-02-16" | "2015-02-18" | "2015-03-24" | "2015-04-07" | "2015-06-15" | "2015-07-07" | "2015-07-13" | "2015-07-28" | "2015-08-07" | "2015-08-19" | "2015-09-03" | "2015-09-08" | "2015-09-23" | "2015-10-01" | "2015-10-12" | "2015-10-16" | "2016-02-03" | "2016-02-19" | "2016-02-22" | "2016-02-23" | "2016-02-29" | "2016-03-07" | "2016-06-15" | "2016-07-06" | "2016-10-19" | "2017-01-27" | "2017-02-14" | "2017-04-06" | "2017-05-25" | "2017-06-05" | "2017-08-15" | "2017-12-14" | "2018-01-23" | "2018-02-05" | "2018-02-06" | "2018-02-28" | "2018-05-21" | "2018-07-27" | "2018-08-23" | "2018-09-06" | "2018-09-24" | "2018-10-31" | "2018-11-08" | "2019-02-11" | "2019-02-19" | "2019-03-14" | "2019-05-16" | "2019-08-14" | "2019-09-09" | "2019-10-08" | "2019-10-17" | "2019-11-05" | "2019-12-03" | "2020-03-02" | "2020-08-27" | "2022-08-01" | "2022-11-15" | "2023-08-16"; + /** @description Whether this endpoint should receive events from connected accounts (`true`), or from your account (`false`). Defaults to `false`. */ + connect?: boolean; + /** @description An optional description of what the webhook is used for. */ + description?: string | ""; + /** @description The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection. */ + enabled_events: ("*" | "account.application.authorized" | "account.application.deauthorized" | "account.external_account.created" | "account.external_account.deleted" | "account.external_account.updated" | "account.updated" | "application_fee.created" | "application_fee.refund.updated" | "application_fee.refunded" | "balance.available" | "billing_portal.configuration.created" | "billing_portal.configuration.updated" | "billing_portal.session.created" | "capability.updated" | "cash_balance.funds_available" | "charge.captured" | "charge.dispute.closed" | "charge.dispute.created" | "charge.dispute.funds_reinstated" | "charge.dispute.funds_withdrawn" | "charge.dispute.updated" | "charge.expired" | "charge.failed" | "charge.pending" | "charge.refund.updated" | "charge.refunded" | "charge.succeeded" | "charge.updated" | "checkout.session.async_payment_failed" | "checkout.session.async_payment_succeeded" | "checkout.session.completed" | "checkout.session.expired" | "coupon.created" | "coupon.deleted" | "coupon.updated" | "credit_note.created" | "credit_note.updated" | "credit_note.voided" | "customer.created" | "customer.deleted" | "customer.discount.created" | "customer.discount.deleted" | "customer.discount.updated" | "customer.source.created" | "customer.source.deleted" | "customer.source.expiring" | "customer.source.updated" | "customer.subscription.created" | "customer.subscription.deleted" | "customer.subscription.paused" | "customer.subscription.pending_update_applied" | "customer.subscription.pending_update_expired" | "customer.subscription.resumed" | "customer.subscription.trial_will_end" | "customer.subscription.updated" | "customer.tax_id.created" | "customer.tax_id.deleted" | "customer.tax_id.updated" | "customer.updated" | "customer_cash_balance_transaction.created" | "file.created" | "financial_connections.account.created" | "financial_connections.account.deactivated" | "financial_connections.account.disconnected" | "financial_connections.account.reactivated" | "financial_connections.account.refreshed_balance" | "identity.verification_session.canceled" | "identity.verification_session.created" | "identity.verification_session.processing" | "identity.verification_session.redacted" | "identity.verification_session.requires_input" | "identity.verification_session.verified" | "invoice.created" | "invoice.deleted" | "invoice.finalization_failed" | "invoice.finalized" | "invoice.marked_uncollectible" | "invoice.paid" | "invoice.payment_action_required" | "invoice.payment_failed" | "invoice.payment_succeeded" | "invoice.sent" | "invoice.upcoming" | "invoice.updated" | "invoice.voided" | "invoiceitem.created" | "invoiceitem.deleted" | "issuing_authorization.created" | "issuing_authorization.request" | "issuing_authorization.updated" | "issuing_card.created" | "issuing_card.updated" | "issuing_cardholder.created" | "issuing_cardholder.updated" | "issuing_dispute.closed" | "issuing_dispute.created" | "issuing_dispute.funds_reinstated" | "issuing_dispute.submitted" | "issuing_dispute.updated" | "issuing_transaction.created" | "issuing_transaction.updated" | "mandate.updated" | "payment_intent.amount_capturable_updated" | "payment_intent.canceled" | "payment_intent.created" | "payment_intent.partially_funded" | "payment_intent.payment_failed" | "payment_intent.processing" | "payment_intent.requires_action" | "payment_intent.succeeded" | "payment_link.created" | "payment_link.updated" | "payment_method.attached" | "payment_method.automatically_updated" | "payment_method.detached" | "payment_method.updated" | "payout.canceled" | "payout.created" | "payout.failed" | "payout.paid" | "payout.reconciliation_completed" | "payout.updated" | "person.created" | "person.deleted" | "person.updated" | "plan.created" | "plan.deleted" | "plan.updated" | "price.created" | "price.deleted" | "price.updated" | "product.created" | "product.deleted" | "product.updated" | "promotion_code.created" | "promotion_code.updated" | "quote.accepted" | "quote.canceled" | "quote.created" | "quote.finalized" | "radar.early_fraud_warning.created" | "radar.early_fraud_warning.updated" | "refund.created" | "refund.updated" | "reporting.report_run.failed" | "reporting.report_run.succeeded" | "reporting.report_type.updated" | "review.closed" | "review.opened" | "setup_intent.canceled" | "setup_intent.created" | "setup_intent.requires_action" | "setup_intent.setup_failed" | "setup_intent.succeeded" | "sigma.scheduled_query_run.created" | "source.canceled" | "source.chargeable" | "source.failed" | "source.mandate_notification" | "source.refund_attributes_required" | "source.transaction.created" | "source.transaction.updated" | "subscription_schedule.aborted" | "subscription_schedule.canceled" | "subscription_schedule.completed" | "subscription_schedule.created" | "subscription_schedule.expiring" | "subscription_schedule.released" | "subscription_schedule.updated" | "tax.settings.updated" | "tax_rate.created" | "tax_rate.updated" | "terminal.reader.action_failed" | "terminal.reader.action_succeeded" | "test_helpers.test_clock.advancing" | "test_helpers.test_clock.created" | "test_helpers.test_clock.deleted" | "test_helpers.test_clock.internal_failure" | "test_helpers.test_clock.ready" | "topup.canceled" | "topup.created" | "topup.failed" | "topup.reversed" | "topup.succeeded" | "transfer.created" | "transfer.reversed" | "transfer.updated" | "treasury.credit_reversal.created" | "treasury.credit_reversal.posted" | "treasury.debit_reversal.completed" | "treasury.debit_reversal.created" | "treasury.debit_reversal.initial_credit_granted" | "treasury.financial_account.closed" | "treasury.financial_account.created" | "treasury.financial_account.features_status_updated" | "treasury.inbound_transfer.canceled" | "treasury.inbound_transfer.created" | "treasury.inbound_transfer.failed" | "treasury.inbound_transfer.succeeded" | "treasury.outbound_payment.canceled" | "treasury.outbound_payment.created" | "treasury.outbound_payment.expected_arrival_date_updated" | "treasury.outbound_payment.failed" | "treasury.outbound_payment.posted" | "treasury.outbound_payment.returned" | "treasury.outbound_transfer.canceled" | "treasury.outbound_transfer.created" | "treasury.outbound_transfer.expected_arrival_date_updated" | "treasury.outbound_transfer.failed" | "treasury.outbound_transfer.posted" | "treasury.outbound_transfer.returned" | "treasury.received_credit.created" | "treasury.received_credit.failed" | "treasury.received_credit.succeeded" | "treasury.received_debit.created")[]; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The URL of the webhook endpoint. */ + url: string; + }; }; - /** @enum {string} */ - type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; - /** payment_method_param */ - us_bank_account?: { - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number?: string; - /** @enum {string} */ - account_type?: "checking" | "savings"; - financial_connections_account?: string; - routing_number?: string; - }; - /** param */ - wechat_pay?: Record; - /** param */ - zip?: Record; - }; - /** - * payment_method_options_param - * @description Payment-method-specific configuration for this SetupIntent. - */ - payment_method_options?: { - /** setup_intent_payment_method_options_param */ - acss_debit?: { - /** @enum {string} */ - currency?: "cad" | "usd"; - /** setup_intent_payment_method_options_mandate_options_param */ - mandate_options?: { - custom_mandate_url?: string | ""; - default_for?: ("invoice" | "subscription")[]; - interval_description?: string; - /** @enum {string} */ - payment_schedule?: "combined" | "interval" | "sporadic"; - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** setup_intent_param */ - card?: { - /** setup_intent_mandate_options_param */ - mandate_options?: { - amount: number; - /** @enum {string} */ - amount_type: "fixed" | "maximum"; - currency: string; - description?: string; - /** Format: unix-time */ - end_date?: number; - /** @enum {string} */ - interval: "day" | "month" | "sporadic" | "week" | "year"; - interval_count?: number; - reference: string; - /** Format: unix-time */ - start_date: number; - supported_types?: "india"[]; - }; - /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - }; - /** setup_intent_payment_method_options_param */ - link?: Record; - /** payment_method_options_param */ - paypal?: { - billing_agreement_id?: string; - }; - /** setup_intent_payment_method_options_param */ - sepa_debit?: { - /** payment_method_options_mandate_options_param */ - mandate_options?: Record; - }; - /** setup_intent_payment_method_options_param */ - us_bank_account?: { - /** linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - return_url?: string; - }; - /** networks_options_param */ - networks?: { - requested?: ("ach" | "us_domestic_wire")[]; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - }; - /** @description The list of payment method types (e.g. card) that this SetupIntent is allowed to use. If this is not provided, defaults to ["card"]. */ - payment_method_types?: string[]; - /** @description The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm). */ - return_url?: string; - /** - * setup_intent_single_use_params - * @description If this hash is populated, this SetupIntent will generate a single_use Mandate on success. - */ - single_use?: { - amount: number; - currency: string; - }; - /** - * @description Indicates how the payment method is intended to be used in the future. If not provided, this value defaults to `off_session`. - * @enum {string} - */ - usage?: "off_session" | "on_session"; - /** @description Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. */ - use_stripe_sdk?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["setup_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Retrieves the details of a SetupIntent that has previously been created.

- * - *

Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string.

- * - *

When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the SetupIntent object reference for more details.

- */ - GetSetupIntentsIntent: { - parameters: { - query?: { - /** @description The client secret of the SetupIntent. Required if a publishable key is used to retrieve the SetupIntent. */ - client_secret?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["setup_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates a SetupIntent object.

*/ - PostSetupIntentsIntent: { - parameters: { - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * @description If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. - * - * It can only be used for this Stripe Account’s own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. - */ - attach_to_self?: boolean; - /** - * @description ID of the Customer this SetupIntent belongs to, if one exists. - * - * If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent. - */ - customer?: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * @description Indicates the directions of money movement for which this payment method is intended to be used. - * - * Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. - */ - flow_directions?: ("inbound" | "outbound")[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. */ - payment_method?: string; - /** @description The ID of the payment method configuration to use with this SetupIntent. */ - payment_method_configuration?: string; - /** - * payment_method_data_params - * @description When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method) - * value in the SetupIntent. - */ - payment_method_data?: { - /** payment_method_param */ - acss_debit?: { - account_number: string; - institution_number: string; - transit_number: string; - }; - /** param */ - affirm?: Record; - /** param */ - afterpay_clearpay?: Record; - /** param */ - alipay?: Record; - /** param */ - au_becs_debit?: { - account_number: string; - bsb_number: string; - }; - /** param */ - bacs_debit?: { - account_number?: string; - sort_code?: string; - }; - /** param */ - bancontact?: Record; - /** billing_details_inner_params */ - billing_details?: { - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - email?: string | ""; - name?: string | ""; - phone?: string | ""; - }; - /** param */ - blik?: Record; - /** param */ - boleto?: { - tax_id: string; - }; - /** param */ - cashapp?: Record; - /** param */ - customer_balance?: Record; - /** param */ - eps?: { - /** @enum {string} */ - bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; - }; - /** param */ - fpx?: { - /** @enum {string} */ - bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; - }; - /** param */ - giropay?: Record; - /** param */ - grabpay?: Record; - /** param */ - ideal?: { - /** @enum {string} */ - bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; - }; - /** param */ - interac_present?: Record; - /** param */ - klarna?: { - /** date_of_birth */ - dob?: { - day: number; - month: number; - year: number; - }; - }; - /** param */ - konbini?: Record; - /** param */ - link?: Record; - metadata?: { - [key: string]: string; - }; - /** param */ - oxxo?: Record; - /** param */ - p24?: { - /** @enum {string} */ - bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; - }; - /** param */ - paynow?: Record; - /** param */ - paypal?: Record; - /** param */ - pix?: Record; - /** param */ - promptpay?: Record; - /** radar_options */ - radar_options?: { - session?: string; - }; - /** param */ - sepa_debit?: { - iban: string; - }; - /** param */ - sofort?: { - /** @enum {string} */ - country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook_endpoint"]; + }; }; - /** @enum {string} */ - type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; - /** payment_method_param */ - us_bank_account?: { - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number?: string; - /** @enum {string} */ - account_type?: "checking" | "savings"; - financial_connections_account?: string; - routing_number?: string; - }; - /** param */ - wechat_pay?: Record; - /** param */ - zip?: Record; - }; - /** - * payment_method_options_param - * @description Payment-method-specific configuration for this SetupIntent. - */ - payment_method_options?: { - /** setup_intent_payment_method_options_param */ - acss_debit?: { - /** @enum {string} */ - currency?: "cad" | "usd"; - /** setup_intent_payment_method_options_mandate_options_param */ - mandate_options?: { - custom_mandate_url?: string | ""; - default_for?: ("invoice" | "subscription")[]; - interval_description?: string; - /** @enum {string} */ - payment_schedule?: "combined" | "interval" | "sporadic"; - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** setup_intent_param */ - card?: { - /** setup_intent_mandate_options_param */ - mandate_options?: { - amount: number; - /** @enum {string} */ - amount_type: "fixed" | "maximum"; - currency: string; - description?: string; - /** Format: unix-time */ - end_date?: number; - /** @enum {string} */ - interval: "day" | "month" | "sporadic" | "week" | "year"; - interval_count?: number; - reference: string; - /** Format: unix-time */ - start_date: number; - supported_types?: "india"[]; - }; - /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - }; - /** setup_intent_payment_method_options_param */ - link?: Record; - /** payment_method_options_param */ - paypal?: { - billing_agreement_id?: string; - }; - /** setup_intent_payment_method_options_param */ - sepa_debit?: { - /** payment_method_options_mandate_options_param */ - mandate_options?: Record; - }; - /** setup_intent_payment_method_options_param */ - us_bank_account?: { - /** linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - return_url?: string; - }; - /** networks_options_param */ - networks?: { - requested?: ("ach" | "us_domestic_wire")[]; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - }; - /** @description The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. If this is not provided, defaults to ["card"]. */ - payment_method_types?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["setup_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

A SetupIntent object can be canceled when it is in one of these statuses: requires_payment_method, requires_confirmation, or requires_action.

- * - *

Once canceled, setup is abandoned and any operations on the SetupIntent will fail with an error.

- */ - PostSetupIntentsIntentCancel: { - parameters: { - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * @description Reason for canceling this SetupIntent. Possible values are `abandoned`, `requested_by_customer`, or `duplicate` - * @enum {string} - */ - cancellation_reason?: "abandoned" | "duplicate" | "requested_by_customer"; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["setup_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Confirm that your customer intends to set up the current or - * provided payment method. For example, you would confirm a SetupIntent - * when a customer hits the “Save” button on a payment method management - * page on your website.

- * - *

If the selected payment method does not require any additional - * steps from the customer, the SetupIntent will transition to the - * succeeded status.

- * - *

Otherwise, it will transition to the requires_action status and - * suggest additional actions via next_action. If setup fails, - * the SetupIntent will transition to the - * requires_payment_method status or the canceled status if the - * confirmation limit is reached.

- */ - PostSetupIntentsIntentConfirm: { - parameters: { - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The client secret of the SetupIntent. */ - client_secret?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description This hash contains details about the Mandate to create */ - mandate_data?: ({ - /** customer_acceptance_param */ - customer_acceptance: { - /** Format: unix-time */ - accepted_at?: number; - /** offline_param */ - offline?: Record; - /** online_param */ - online?: { - ip_address: string; - user_agent: string; - }; - /** @enum {string} */ - type: "offline" | "online"; - }; - }) | "" | { - /** customer_acceptance_param */ - customer_acceptance: { - /** online_param */ - online: { - ip_address?: string; - user_agent?: string; - }; - /** @enum {string} */ - type: "online"; - }; - }; - /** @description ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. */ - payment_method?: string; - /** - * payment_method_data_params - * @description When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method) - * value in the SetupIntent. - */ - payment_method_data?: { - /** payment_method_param */ - acss_debit?: { - account_number: string; - institution_number: string; - transit_number: string; - }; - /** param */ - affirm?: Record; - /** param */ - afterpay_clearpay?: Record; - /** param */ - alipay?: Record; - /** param */ - au_becs_debit?: { - account_number: string; - bsb_number: string; - }; - /** param */ - bacs_debit?: { - account_number?: string; - sort_code?: string; - }; - /** param */ - bancontact?: Record; - /** billing_details_inner_params */ - billing_details?: { - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - email?: string | ""; - name?: string | ""; - phone?: string | ""; - }; - /** param */ - blik?: Record; - /** param */ - boleto?: { - tax_id: string; - }; - /** param */ - cashapp?: Record; - /** param */ - customer_balance?: Record; - /** param */ - eps?: { - /** @enum {string} */ - bank?: "arzte_und_apotheker_bank" | "austrian_anadi_bank_ag" | "bank_austria" | "bankhaus_carl_spangler" | "bankhaus_schelhammer_und_schattera_ag" | "bawag_psk_ag" | "bks_bank_ag" | "brull_kallmus_bank_ag" | "btv_vier_lander_bank" | "capital_bank_grawe_gruppe_ag" | "deutsche_bank_ag" | "dolomitenbank" | "easybank_ag" | "erste_bank_und_sparkassen" | "hypo_alpeadriabank_international_ag" | "hypo_bank_burgenland_aktiengesellschaft" | "hypo_noe_lb_fur_niederosterreich_u_wien" | "hypo_oberosterreich_salzburg_steiermark" | "hypo_tirol_bank_ag" | "hypo_vorarlberg_bank_ag" | "marchfelder_bank" | "oberbank_ag" | "raiffeisen_bankengruppe_osterreich" | "schoellerbank_ag" | "sparda_bank_wien" | "volksbank_gruppe" | "volkskreditbank_ag" | "vr_bank_braunau"; - }; - /** param */ - fpx?: { - /** @enum {string} */ - bank: "affin_bank" | "agrobank" | "alliance_bank" | "ambank" | "bank_islam" | "bank_muamalat" | "bank_of_china" | "bank_rakyat" | "bsn" | "cimb" | "deutsche_bank" | "hong_leong_bank" | "hsbc" | "kfh" | "maybank2e" | "maybank2u" | "ocbc" | "pb_enterprise" | "public_bank" | "rhb" | "standard_chartered" | "uob"; - }; - /** param */ - giropay?: Record; - /** param */ - grabpay?: Record; - /** param */ - ideal?: { - /** @enum {string} */ - bank?: "abn_amro" | "asn_bank" | "bunq" | "handelsbanken" | "ing" | "knab" | "moneyou" | "n26" | "rabobank" | "regiobank" | "revolut" | "sns_bank" | "triodos_bank" | "van_lanschot" | "yoursafe"; - }; - /** param */ - interac_present?: Record; - /** param */ - klarna?: { - /** date_of_birth */ - dob?: { - day: number; - month: number; - year: number; - }; - }; - /** param */ - konbini?: Record; - /** param */ - link?: Record; - metadata?: { - [key: string]: string; - }; - /** param */ - oxxo?: Record; - /** param */ - p24?: { - /** @enum {string} */ - bank?: "alior_bank" | "bank_millennium" | "bank_nowy_bfg_sa" | "bank_pekao_sa" | "banki_spbdzielcze" | "blik" | "bnp_paribas" | "boz" | "citi_handlowy" | "credit_agricole" | "envelobank" | "etransfer_pocztowy24" | "getin_bank" | "ideabank" | "ing" | "inteligo" | "mbank_mtransfer" | "nest_przelew" | "noble_pay" | "pbac_z_ipko" | "plus_bank" | "santander_przelew24" | "tmobile_usbugi_bankowe" | "toyota_bank" | "volkswagen_bank"; - }; - /** param */ - paynow?: Record; - /** param */ - paypal?: Record; - /** param */ - pix?: Record; - /** param */ - promptpay?: Record; - /** radar_options */ - radar_options?: { - session?: string; - }; - /** param */ - sepa_debit?: { - iban: string; - }; - /** param */ - sofort?: { - /** @enum {string} */ - country: "AT" | "BE" | "DE" | "ES" | "IT" | "NL"; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; }; - /** @enum {string} */ - type: "acss_debit" | "affirm" | "afterpay_clearpay" | "alipay" | "au_becs_debit" | "bacs_debit" | "bancontact" | "blik" | "boleto" | "cashapp" | "customer_balance" | "eps" | "fpx" | "giropay" | "grabpay" | "ideal" | "klarna" | "konbini" | "link" | "oxxo" | "p24" | "paynow" | "paypal" | "pix" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay" | "zip"; - /** payment_method_param */ - us_bank_account?: { - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number?: string; - /** @enum {string} */ - account_type?: "checking" | "savings"; - financial_connections_account?: string; - routing_number?: string; - }; - /** param */ - wechat_pay?: Record; - /** param */ - zip?: Record; - }; - /** - * payment_method_options_param - * @description Payment-method-specific configuration for this SetupIntent. - */ - payment_method_options?: { - /** setup_intent_payment_method_options_param */ - acss_debit?: { - /** @enum {string} */ - currency?: "cad" | "usd"; - /** setup_intent_payment_method_options_mandate_options_param */ - mandate_options?: { - custom_mandate_url?: string | ""; - default_for?: ("invoice" | "subscription")[]; - interval_description?: string; - /** @enum {string} */ - payment_schedule?: "combined" | "interval" | "sporadic"; - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - /** setup_intent_param */ - card?: { - /** setup_intent_mandate_options_param */ - mandate_options?: { - amount: number; - /** @enum {string} */ - amount_type: "fixed" | "maximum"; - currency: string; - description?: string; - /** Format: unix-time */ - end_date?: number; - /** @enum {string} */ - interval: "day" | "month" | "sporadic" | "week" | "year"; - interval_count?: number; - reference: string; - /** Format: unix-time */ - start_date: number; - supported_types?: "india"[]; - }; - /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - }; - /** setup_intent_payment_method_options_param */ - link?: Record; - /** payment_method_options_param */ - paypal?: { - billing_agreement_id?: string; - }; - /** setup_intent_payment_method_options_param */ - sepa_debit?: { - /** payment_method_options_mandate_options_param */ - mandate_options?: Record; - }; - /** setup_intent_payment_method_options_param */ - us_bank_account?: { - /** linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - return_url?: string; - }; - /** networks_options_param */ - networks?: { - requested?: ("ach" | "us_domestic_wire")[]; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }; - }; - /** - * @description The URL to redirect your customer back to after they authenticate on the payment method's app or site. - * If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. - * This parameter is only used for cards and other redirect-based payment methods. - */ - return_url?: string; - /** @description Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. */ - use_stripe_sdk?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["setup_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Verifies microdeposits on a SetupIntent object.

*/ - PostSetupIntentsIntentVerifyMicrodeposits: { - parameters: { - path: { - intent: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account. */ - amounts?: number[]; - /** @description The client secret of the SetupIntent. */ - client_secret?: string; - /** @description A six-character code starting with SM present in the microdeposit sent to the bank account. */ - descriptor_code?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["setup_intent"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your shipping rates.

*/ - GetShippingRates: { - parameters: { - query?: { - /** @description Only return shipping rates that are active or inactive. */ - active?: boolean; - /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return shipping rates for the given currency. */ - currency?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["shipping_rate"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new shipping rate object.

*/ - PostShippingRates: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * delivery_estimate - * @description The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. - */ - delivery_estimate?: { - /** delivery_estimate_bound */ - maximum?: { - /** @enum {string} */ - unit: "business_day" | "day" | "hour" | "month" | "week"; - value: number; - }; - /** delivery_estimate_bound */ - minimum?: { - /** @enum {string} */ - unit: "business_day" | "day" | "hour" | "month" | "week"; - value: number; - }; - }; - /** @description The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. */ - display_name: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * fixed_amount - * @description Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. - */ - fixed_amount?: { - amount: number; - currency: string; - currency_options?: { - [key: string]: { - amount: number; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - }; - }; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** - * @description Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. - * @enum {string} - */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - /** @description A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. */ - tax_code?: string; - /** - * @description The type of calculation to use on the shipping rate. Can only be `fixed_amount` for now. - * @enum {string} - */ - type?: "fixed_amount"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["shipping_rate"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns the shipping rate object with the given ID.

*/ - GetShippingRatesShippingRateToken: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - shipping_rate_token: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["shipping_rate"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates an existing shipping rate object.

*/ - PostShippingRatesShippingRateToken: { - parameters: { - path: { - shipping_rate_token: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Whether the shipping rate can be used for new purchases. Defaults to `true`. */ - active?: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * fixed_amount_update - * @description Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. - */ - fixed_amount?: { - currency_options?: { - [key: string]: { - amount?: number; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - }; - }; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** - * @description Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. - * @enum {string} - */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["shipping_rate"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of scheduled query runs.

*/ - GetSigmaScheduledQueryRuns: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["scheduled_query_run"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an scheduled query run.

*/ - GetSigmaScheduledQueryRunsScheduledQueryRun: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - scheduled_query_run: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["scheduled_query_run"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new source object.

*/ - PostSources: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources. Not supported for `receiver` type sources, where charge amount may not be specified until funds land. */ - amount?: number; - /** @description Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. */ - currency?: string; - /** @description The `Customer` to whom the original source is attached to. Must be set when the original source is not a `Source` (e.g., `Card`). */ - customer?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * @description The authentication `flow` of the source to create. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`. It is generally inferred unless a type supports multiple flows. - * @enum {string} - */ - flow?: "code_verification" | "none" | "receiver" | "redirect"; - /** - * mandate_params - * @description Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status. - */ - mandate?: { - /** mandate_acceptance_params */ - acceptance?: { - /** Format: unix-time */ - date?: number; - ip?: string; - /** mandate_offline_acceptance_params */ - offline?: { - contact_email: string; - }; - /** mandate_online_acceptance_params */ - online?: { - /** Format: unix-time */ - date?: number; - ip?: string; - user_agent?: string; - }; - /** @enum {string} */ - status: "accepted" | "pending" | "refused" | "revoked"; - /** @enum {string} */ - type?: "offline" | "online"; - user_agent?: string; - }; - amount?: number | ""; - currency?: string; - /** @enum {string} */ - interval?: "one_time" | "scheduled" | "variable"; - /** @enum {string} */ - notification_method?: "deprecated_none" | "email" | "manual" | "none" | "stripe_email"; - }; - metadata?: { - [key: string]: string; - }; - /** @description The source to share. */ - original_source?: string; - /** - * owner - * @description Information about the owner of the payment instrument that may be used or required by particular source types. - */ - owner?: { - /** source_address */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; + }; + }; + GetWebhookEndpointsWebhookEndpoint: { + parameters: { + query?: { + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; }; - email?: string; - name?: string; - phone?: string; - }; - /** - * receiver_params - * @description Optional parameters for the receiver flow. Can be set only if the source is a receiver (`flow` is `receiver`). - */ - receiver?: { - /** @enum {string} */ - refund_attributes_method?: "email" | "manual" | "none"; - }; - /** - * redirect_params - * @description Parameters required for the redirect flow. Required if the source is authenticated by a redirect (`flow` is `redirect`). - */ - redirect?: { - return_url: string; - }; - /** - * shallow_order_specs - * @description Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it. - */ - source_order?: { - items?: ({ - amount?: number; - currency?: string; - description?: string; - parent?: string; - quantity?: number; - /** @enum {string} */ - type?: "discount" | "shipping" | "sku" | "tax"; - })[]; - /** order_shipping */ - shipping?: { - /** address */ - address: { - city?: string; - country?: string; - line1: string; - line2?: string; - postal_code?: string; - state?: string; - }; - carrier?: string; - name?: string; - phone?: string; - tracking_number?: string; - }; - }; - /** @description An arbitrary string to be displayed on your customer's statement. As an example, if your website is `RunClub` and the item you're charging for is a race ticket, you may want to specify a `statement_descriptor` of `RunClub 5K race ticket.` While many payment types will display this information, some may not display it at all. */ - statement_descriptor?: string; - /** @description An optional token used to create the source. When passed, token properties will override source parameters. */ - token?: string; - /** @description The `type` of the source to create. Required unless `customer` and `original_source` are specified (see the [Cloning card Sources](https://stripe.com/docs/sources/connect#cloning-card-sources) guide) */ - type?: string; - /** @enum {string} */ - usage?: "reusable" | "single_use"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information.

*/ - GetSourcesSource: { - parameters: { - query?: { - /** @description The client secret of the source. Required if a publishable key is used to retrieve the source. */ - client_secret?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - source: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

- * - *

This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our payment method guides for more detail.

- */ - PostSourcesSource: { - parameters: { - path: { - source: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Amount associated with the source. */ - amount?: number; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * mandate_params - * @description Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status. - */ - mandate?: { - /** mandate_acceptance_params */ - acceptance?: { - /** Format: unix-time */ - date?: number; - ip?: string; - /** mandate_offline_acceptance_params */ - offline?: { - contact_email: string; - }; - /** mandate_online_acceptance_params */ - online?: { - /** Format: unix-time */ - date?: number; - ip?: string; - user_agent?: string; - }; - /** @enum {string} */ - status: "accepted" | "pending" | "refused" | "revoked"; - /** @enum {string} */ - type?: "offline" | "online"; - user_agent?: string; - }; - amount?: number | ""; - currency?: string; - /** @enum {string} */ - interval?: "one_time" | "scheduled" | "variable"; - /** @enum {string} */ - notification_method?: "deprecated_none" | "email" | "manual" | "none" | "stripe_email"; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** - * owner - * @description Information about the owner of the payment instrument that may be used or required by particular source types. - */ - owner?: { - /** source_address */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; + header?: never; + path: { + webhook_endpoint: string; }; - email?: string; - name?: string; - phone?: string; - }; - /** - * order_params - * @description Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it. - */ - source_order?: { - items?: ({ - amount?: number; - currency?: string; - description?: string; - parent?: string; - quantity?: number; - /** @enum {string} */ - type?: "discount" | "shipping" | "sku" | "tax"; - })[]; - /** order_shipping */ - shipping?: { - /** address */ - address: { - city?: string; - country?: string; - line1: string; - line2?: string; - postal_code?: string; - state?: string; - }; - carrier?: string; - name?: string; - phone?: string; - tracking_number?: string; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a new Source MandateNotification.

*/ - GetSourcesSourceMandateNotificationsMandateNotification: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - mandate_notification: string; - source: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["source_mandate_notification"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

List source transactions for a given source.

*/ - GetSourcesSourceSourceTransactions: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - source: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["source_transaction"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieve an existing source transaction object. Supply the unique source ID from a source creation request and the source transaction ID and Stripe will return the corresponding up-to-date source object information.

*/ - GetSourcesSourceSourceTransactionsSourceTransaction: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - source: string; - source_transaction: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["source_transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Verify a given source.

*/ - PostSourcesSourceVerify: { - parameters: { - path: { - source: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The values needed to verify the source. */ - values: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["source"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your subscription items for a given subscription.

*/ - GetSubscriptionItems: { - parameters: { - query: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description The ID of the subscription whose items will be retrieved. */ - subscription: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["subscription_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Adds a new item to an existing subscription. No existing items will be changed or replaced.

*/ - PostSubscriptionItems: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds. */ - billing_thresholds?: { - usage_gte: number; - } | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** - * @description Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. - * - * Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. - * - * Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). - * - * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. - * @enum {string} - */ - payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; - /** @description The ID of the price object. */ - price?: string; - /** - * recurring_price_data - * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. - */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - /** - * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. - * @enum {string} - */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - /** - * Format: unix-time - * @description If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. - */ - proration_date?: number; - /** @description The quantity you'd like to apply to the subscription item you're creating. */ - quantity?: number; - /** @description The identifier of the subscription to modify. */ - subscription: string; - /** @description A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. */ - tax_rates?: string[] | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription_item"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the subscription item with the given ID.

*/ - GetSubscriptionItemsItem: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - item: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription_item"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the plan or quantity of an item on a current subscription.

*/ - PostSubscriptionItemsItem: { - parameters: { - path: { - item: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds. */ - billing_thresholds?: { - usage_gte: number; - } | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ - off_session?: boolean; - /** - * @description Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. - * - * Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. - * - * Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). - * - * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. - * @enum {string} - */ - payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; - /** @description The ID of the price object. When changing a subscription item's price, `quantity` is set to 1 unless a `quantity` parameter is provided. */ - price?: string; - /** - * recurring_price_data - * @description Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. - */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook_endpoint"]; + }; }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - /** - * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. - * @enum {string} - */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - /** - * Format: unix-time - * @description If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. - */ - proration_date?: number; - /** @description The quantity you'd like to apply to the subscription item you're creating. */ - quantity?: number; - /** @description A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. */ - tax_rates?: string[] | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription_item"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.

*/ - DeleteSubscriptionItemsItem: { - parameters: { - path: { - item: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Delete all usage for the given subscription item. Allowed only when the current plan's `usage_type` is `metered`. */ - clear_usage?: boolean; - /** - * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. - * @enum {string} - */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - /** - * Format: unix-time - * @description If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. - */ - proration_date?: number; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_subscription_item"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

For the specified subscription item, returns a list of summary objects. Each object in the list provides usage information that’s been summarized from multiple usage records and over a subscription billing period (e.g., 15 usage records in the month of September).

- * - *

The list is sorted in reverse-chronological order (newest first). The first list item represents the most current usage period that hasn’t ended yet. Since new usage records can still be added, the returned summary information for the subscription item’s ID should be seen as unstable until the subscription billing period ends.

- */ - GetSubscriptionItemsSubscriptionItemUsageRecordSummaries: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - subscription_item: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["usage_record_summary"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Creates a usage record for a specified subscription item and date, and fills it with a quantity.

- * - *

Usage records provide quantity information that Stripe uses to track how much a customer is using your service. With usage information and the pricing model set up by the metered billing plan, Stripe helps you send accurate invoices to your customers.

- * - *

The default calculation for usage is to add up all the quantity values of the usage records within a billing period. You can change this default behavior with the billing plan’s aggregate_usage parameter. When there is more than one usage record with the same timestamp, Stripe adds the quantity values together. In most cases, this is the desired resolution, however, you can change this behavior with the action parameter.

- * - *

The default pricing model for metered billing is per-unit pricing. For finer granularity, you can configure metered billing to have a tiered pricing model.

- */ - PostSubscriptionItemsSubscriptionItemUsageRecords: { - parameters: { - path: { - subscription_item: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * @description Valid values are `increment` (default) or `set`. When using `increment` the specified `quantity` will be added to the usage at the specified timestamp. The `set` action will overwrite the usage quantity at that timestamp. If the subscription has [billing thresholds](https://stripe.com/docs/api/subscriptions/object#subscription_object-billing_thresholds), `increment` is the only allowed value. - * @enum {string} - */ - action?: "increment" | "set"; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The usage quantity for the specified timestamp. */ - quantity: number; - /** @description The timestamp for the usage event. This timestamp must be within the current billing period of the subscription of the provided `subscription_item`, and must not be in the future. When passing `"now"`, Stripe records usage for the current time. Default is `"now"` if a value is not provided. */ - timestamp?: "now" | number; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["usage_record"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the list of your subscription schedules.

*/ - GetSubscriptionSchedules: { - parameters: { - query?: { - /** @description Only return subscription schedules that were created canceled the given date interval. */ - canceled_at?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return subscription schedules that completed during the given date interval. */ - completed_at?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return subscription schedules that were created during the given date interval. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return subscription schedules for the given customer. */ - customer?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return subscription schedules that were released during the given date interval. */ - released_at?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return subscription schedules that have not started yet. */ - scheduled?: boolean; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["subscription_schedule"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.

*/ - PostSubscriptionSchedules: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The identifier of the customer to create the subscription schedule for. */ - customer?: string; - /** - * default_settings_params - * @description Object representing the subscription schedule's default settings. - */ - default_settings?: { - application_fee_percent?: number; - /** automatic_tax_config */ - automatic_tax?: { - enabled: boolean; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; }; - /** @enum {string} */ - billing_cycle_anchor?: "automatic" | "phase_start"; - billing_thresholds?: { - amount_gte?: number; - reset_billing_cycle_anchor?: boolean; - } | ""; - /** @enum {string} */ - collection_method?: "charge_automatically" | "send_invoice"; - default_payment_method?: string; - description?: string | ""; - /** subscription_schedule_default_settings_param */ - invoice_settings?: { - days_until_due?: number; - }; - on_behalf_of?: string | ""; - transfer_data?: { - amount_percent?: number; - destination: string; - } | ""; - }; - /** - * @description Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running.`cancel` will end the subscription schedule and cancel the underlying subscription. - * @enum {string} - */ - end_behavior?: "cancel" | "none" | "release" | "renew"; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Migrate an existing subscription to be managed by a subscription schedule. If this parameter is set, a subscription schedule will be created using the subscription's item(s), set to auto-renew using the subscription's interval. When using this parameter, other parameters (such as phase values) cannot be set. To create a subscription schedule with other modifications, we recommend making two separate API calls. */ - from_subscription?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. */ - phases?: ({ - add_invoice_items?: ({ - price?: string; - /** one_time_price_data_with_negative_amounts */ - price_data?: { - currency: string; - product: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - application_fee_percent?: number; - /** automatic_tax_config */ - automatic_tax?: { - enabled: boolean; - }; - /** @enum {string} */ - billing_cycle_anchor?: "automatic" | "phase_start"; - billing_thresholds?: { - amount_gte?: number; - reset_billing_cycle_anchor?: boolean; - } | ""; - /** @enum {string} */ - collection_method?: "charge_automatically" | "send_invoice"; - coupon?: string; - currency?: string; - default_payment_method?: string; - default_tax_rates?: string[] | ""; - description?: string | ""; - /** Format: unix-time */ - end_date?: number; - /** invoice_settings */ - invoice_settings?: { - days_until_due?: number; - }; - items: ({ - billing_thresholds?: { - usage_gte: number; - } | ""; - metadata?: { - [key: string]: string; - }; - price?: string; - /** recurring_price_data */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - iterations?: number; - metadata?: { - [key: string]: string; - }; - on_behalf_of?: string; - /** @enum {string} */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - /** transfer_data_specs */ - transfer_data?: { - amount_percent?: number; - destination: string; - }; - trial?: boolean; - /** Format: unix-time */ - trial_end?: number; - })[]; - /** @description When the subscription schedule starts. We recommend using `now` so that it starts the subscription immediately. You can also use a Unix timestamp to backdate the subscription so that it starts on a past date, or set a future date for the subscription to start on. */ - start_date?: number | "now"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription_schedule"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation.

*/ - GetSubscriptionSchedulesSchedule: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - schedule: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription_schedule"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates an existing subscription schedule.

*/ - PostSubscriptionSchedulesSchedule: { - parameters: { - path: { - schedule: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * default_settings_params - * @description Object representing the subscription schedule's default settings. - */ - default_settings?: { - application_fee_percent?: number; - /** automatic_tax_config */ - automatic_tax?: { - enabled: boolean; + }; + }; + PostWebhookEndpointsWebhookEndpoint: { + parameters: { + query?: never; + header?: never; + path: { + webhook_endpoint: string; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": { + /** @description An optional description of what the webhook is used for. */ + description?: string | ""; + /** @description Disable the webhook endpoint if set to true. */ + disabled?: boolean; + /** @description The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection. */ + enabled_events?: ("*" | "account.application.authorized" | "account.application.deauthorized" | "account.external_account.created" | "account.external_account.deleted" | "account.external_account.updated" | "account.updated" | "application_fee.created" | "application_fee.refund.updated" | "application_fee.refunded" | "balance.available" | "billing_portal.configuration.created" | "billing_portal.configuration.updated" | "billing_portal.session.created" | "capability.updated" | "cash_balance.funds_available" | "charge.captured" | "charge.dispute.closed" | "charge.dispute.created" | "charge.dispute.funds_reinstated" | "charge.dispute.funds_withdrawn" | "charge.dispute.updated" | "charge.expired" | "charge.failed" | "charge.pending" | "charge.refund.updated" | "charge.refunded" | "charge.succeeded" | "charge.updated" | "checkout.session.async_payment_failed" | "checkout.session.async_payment_succeeded" | "checkout.session.completed" | "checkout.session.expired" | "coupon.created" | "coupon.deleted" | "coupon.updated" | "credit_note.created" | "credit_note.updated" | "credit_note.voided" | "customer.created" | "customer.deleted" | "customer.discount.created" | "customer.discount.deleted" | "customer.discount.updated" | "customer.source.created" | "customer.source.deleted" | "customer.source.expiring" | "customer.source.updated" | "customer.subscription.created" | "customer.subscription.deleted" | "customer.subscription.paused" | "customer.subscription.pending_update_applied" | "customer.subscription.pending_update_expired" | "customer.subscription.resumed" | "customer.subscription.trial_will_end" | "customer.subscription.updated" | "customer.tax_id.created" | "customer.tax_id.deleted" | "customer.tax_id.updated" | "customer.updated" | "customer_cash_balance_transaction.created" | "file.created" | "financial_connections.account.created" | "financial_connections.account.deactivated" | "financial_connections.account.disconnected" | "financial_connections.account.reactivated" | "financial_connections.account.refreshed_balance" | "identity.verification_session.canceled" | "identity.verification_session.created" | "identity.verification_session.processing" | "identity.verification_session.redacted" | "identity.verification_session.requires_input" | "identity.verification_session.verified" | "invoice.created" | "invoice.deleted" | "invoice.finalization_failed" | "invoice.finalized" | "invoice.marked_uncollectible" | "invoice.paid" | "invoice.payment_action_required" | "invoice.payment_failed" | "invoice.payment_succeeded" | "invoice.sent" | "invoice.upcoming" | "invoice.updated" | "invoice.voided" | "invoiceitem.created" | "invoiceitem.deleted" | "issuing_authorization.created" | "issuing_authorization.request" | "issuing_authorization.updated" | "issuing_card.created" | "issuing_card.updated" | "issuing_cardholder.created" | "issuing_cardholder.updated" | "issuing_dispute.closed" | "issuing_dispute.created" | "issuing_dispute.funds_reinstated" | "issuing_dispute.submitted" | "issuing_dispute.updated" | "issuing_transaction.created" | "issuing_transaction.updated" | "mandate.updated" | "payment_intent.amount_capturable_updated" | "payment_intent.canceled" | "payment_intent.created" | "payment_intent.partially_funded" | "payment_intent.payment_failed" | "payment_intent.processing" | "payment_intent.requires_action" | "payment_intent.succeeded" | "payment_link.created" | "payment_link.updated" | "payment_method.attached" | "payment_method.automatically_updated" | "payment_method.detached" | "payment_method.updated" | "payout.canceled" | "payout.created" | "payout.failed" | "payout.paid" | "payout.reconciliation_completed" | "payout.updated" | "person.created" | "person.deleted" | "person.updated" | "plan.created" | "plan.deleted" | "plan.updated" | "price.created" | "price.deleted" | "price.updated" | "product.created" | "product.deleted" | "product.updated" | "promotion_code.created" | "promotion_code.updated" | "quote.accepted" | "quote.canceled" | "quote.created" | "quote.finalized" | "radar.early_fraud_warning.created" | "radar.early_fraud_warning.updated" | "refund.created" | "refund.updated" | "reporting.report_run.failed" | "reporting.report_run.succeeded" | "reporting.report_type.updated" | "review.closed" | "review.opened" | "setup_intent.canceled" | "setup_intent.created" | "setup_intent.requires_action" | "setup_intent.setup_failed" | "setup_intent.succeeded" | "sigma.scheduled_query_run.created" | "source.canceled" | "source.chargeable" | "source.failed" | "source.mandate_notification" | "source.refund_attributes_required" | "source.transaction.created" | "source.transaction.updated" | "subscription_schedule.aborted" | "subscription_schedule.canceled" | "subscription_schedule.completed" | "subscription_schedule.created" | "subscription_schedule.expiring" | "subscription_schedule.released" | "subscription_schedule.updated" | "tax.settings.updated" | "tax_rate.created" | "tax_rate.updated" | "terminal.reader.action_failed" | "terminal.reader.action_succeeded" | "test_helpers.test_clock.advancing" | "test_helpers.test_clock.created" | "test_helpers.test_clock.deleted" | "test_helpers.test_clock.internal_failure" | "test_helpers.test_clock.ready" | "topup.canceled" | "topup.created" | "topup.failed" | "topup.reversed" | "topup.succeeded" | "transfer.created" | "transfer.reversed" | "transfer.updated" | "treasury.credit_reversal.created" | "treasury.credit_reversal.posted" | "treasury.debit_reversal.completed" | "treasury.debit_reversal.created" | "treasury.debit_reversal.initial_credit_granted" | "treasury.financial_account.closed" | "treasury.financial_account.created" | "treasury.financial_account.features_status_updated" | "treasury.inbound_transfer.canceled" | "treasury.inbound_transfer.created" | "treasury.inbound_transfer.failed" | "treasury.inbound_transfer.succeeded" | "treasury.outbound_payment.canceled" | "treasury.outbound_payment.created" | "treasury.outbound_payment.expected_arrival_date_updated" | "treasury.outbound_payment.failed" | "treasury.outbound_payment.posted" | "treasury.outbound_payment.returned" | "treasury.outbound_transfer.canceled" | "treasury.outbound_transfer.created" | "treasury.outbound_transfer.expected_arrival_date_updated" | "treasury.outbound_transfer.failed" | "treasury.outbound_transfer.posted" | "treasury.outbound_transfer.returned" | "treasury.received_credit.created" | "treasury.received_credit.failed" | "treasury.received_credit.succeeded" | "treasury.received_debit.created")[]; + /** @description Specifies which fields in the response should be expanded. */ + expand?: string[]; + /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ + metadata?: { + [key: string]: string; + } | ""; + /** @description The URL of the webhook endpoint. */ + url?: string; + }; }; - /** @enum {string} */ - billing_cycle_anchor?: "automatic" | "phase_start"; - billing_thresholds?: { - amount_gte?: number; - reset_billing_cycle_anchor?: boolean; - } | ""; - /** @enum {string} */ - collection_method?: "charge_automatically" | "send_invoice"; - default_payment_method?: string; - description?: string | ""; - /** subscription_schedule_default_settings_param */ - invoice_settings?: { - days_until_due?: number; - }; - on_behalf_of?: string | ""; - transfer_data?: { - amount_percent?: number; - destination: string; - } | ""; - }; - /** - * @description Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running.`cancel` will end the subscription schedule and cancel the underlying subscription. - * @enum {string} - */ - end_behavior?: "cancel" | "none" | "release" | "renew"; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. Note that past phases can be omitted. */ - phases?: ({ - add_invoice_items?: ({ - price?: string; - /** one_time_price_data_with_negative_amounts */ - price_data?: { - currency: string; - product: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - application_fee_percent?: number; - /** automatic_tax_config */ - automatic_tax?: { - enabled: boolean; - }; - /** @enum {string} */ - billing_cycle_anchor?: "automatic" | "phase_start"; - billing_thresholds?: { - amount_gte?: number; - reset_billing_cycle_anchor?: boolean; - } | ""; - /** @enum {string} */ - collection_method?: "charge_automatically" | "send_invoice"; - coupon?: string; - default_payment_method?: string; - default_tax_rates?: string[] | ""; - description?: string | ""; - end_date?: number | "now"; - /** invoice_settings */ - invoice_settings?: { - days_until_due?: number; - }; - items: ({ - billing_thresholds?: { - usage_gte: number; - } | ""; - metadata?: { - [key: string]: string; - }; - price?: string; - /** recurring_price_data */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - iterations?: number; - metadata?: { - [key: string]: string; - }; - on_behalf_of?: string; - /** @enum {string} */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - start_date?: number | "now"; - /** transfer_data_specs */ - transfer_data?: { - amount_percent?: number; - destination: string; - }; - trial?: boolean; - trial_end?: number | "now"; - })[]; - /** - * @description If the update changes the current phase, indicates whether the changes should be prorated. The default value is `create_prorations`. - * @enum {string} - */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription_schedule"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active.

*/ - PostSubscriptionSchedulesScheduleCancel: { - parameters: { - path: { - schedule: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description If the subscription schedule is `active`, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Defaults to `true`. */ - invoice_now?: boolean; - /** @description If the subscription schedule is `active`, indicates if the cancellation should be prorated. Defaults to `true`. */ - prorate?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription_schedule"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription’s ID to the released_subscription property.

*/ - PostSubscriptionSchedulesScheduleRelease: { - parameters: { - path: { - schedule: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Keep any cancellation on the subscription that the schedule has set */ - preserve_cancel_date?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription_schedule"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify status=canceled.

*/ - GetSubscriptions: { - parameters: { - query?: { - /** @description Filter subscriptions by their automatic tax settings. */ - automatic_tax?: { - enabled: boolean; - }; - /** @description The collection method of the subscriptions to retrieve. Either `charge_automatically` or `send_invoice`. */ - collection_method?: "charge_automatically" | "send_invoice"; - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - current_period_end?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - current_period_start?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description The ID of the customer whose subscriptions will be retrieved. */ - customer?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Filter for subscriptions that contain this recurring price ID. */ - price?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description The status of the subscriptions to retrieve. Passing in a value of `canceled` will return all canceled subscriptions, including those belonging to deleted customers. Pass `ended` to find subscriptions that are canceled and subscriptions that are expired due to [incomplete payment](https://stripe.com/docs/billing/subscriptions/overview#subscription-statuses). Passing in a value of `all` will return subscriptions of all statuses. If no value is supplied, all subscriptions that have not been canceled are returned. */ - status?: "active" | "all" | "canceled" | "ended" | "incomplete" | "incomplete_expired" | "past_due" | "paused" | "trialing" | "unpaid"; - /** @description Filter for subscriptions that are associated with the specified test clock. The response will not include subscriptions with test clocks if this and the customer parameter is not set. */ - test_clock?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["subscription"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.

- * - *

When you create a subscription with collection_method=charge_automatically, the first invoice is finalized as part of the request. - * The payment_behavior parameter determines the exact behavior of the initial payment.

- * - *

To start subscriptions where the first invoice always begins in a draft status, use subscription schedules instead. - * Schedules provide the flexibility to model more complex billing configurations that change over time.

- */ - PostSubscriptions: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items. */ - add_invoice_items?: ({ - price?: string; - /** one_time_price_data_with_negative_amounts */ - price_data?: { - currency: string; - product: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). */ - application_fee_percent?: number; - /** - * automatic_tax_config - * @description Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed. - */ - automatic_tax?: { - enabled: boolean; - }; - /** - * Format: unix-time - * @description For new subscriptions, a past timestamp to backdate the subscription's start date to. If set, the first invoice will contain a proration for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor. - */ - backdate_start_date?: number; - /** - * Format: unix-time - * @description A future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format. - */ - billing_cycle_anchor?: number; - /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. */ - billing_thresholds?: { - amount_gte?: number; - reset_billing_cycle_anchor?: boolean; - } | ""; - /** - * Format: unix-time - * @description A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. - */ - cancel_at?: number; - /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ - cancel_at_period_end?: boolean; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. - * @enum {string} - */ - collection_method?: "charge_automatically" | "send_invoice"; - /** @description The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. */ - coupon?: string; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description The identifier of the customer to subscribe. */ - customer: string; - /** @description Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`. */ - days_until_due?: number; - /** @description ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ - default_payment_method?: string; - /** @description ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ - default_source?: string; - /** @description The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. */ - default_tax_rates?: string[] | ""; - /** @description The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A list of up to 20 subscription items, each with an attached price. */ - items?: ({ - billing_thresholds?: { - usage_gte: number; - } | ""; - metadata?: { - [key: string]: string; - }; - price?: string; - /** recurring_price_data */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ - off_session?: boolean; - /** @description The account on behalf of which to charge, for each of the subscription's invoices. */ - on_behalf_of?: string | ""; - /** - * @description Only applies to subscriptions with `collection_method=charge_automatically`. - * - * Use `allow_incomplete` to create subscriptions with `status=incomplete` if the first invoice cannot be paid. Creating subscriptions with this status allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. - * - * Use `default_incomplete` to create Subscriptions with `status=incomplete` when the first invoice requires payment, otherwise start as active. Subscriptions transition to `status=active` when successfully confirming the payment intent on the first invoice. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. If the payment intent is not confirmed within 23 hours subscriptions transition to `status=incomplete_expired`, which is a terminal state. - * - * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's first invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not create a subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. - * - * `pending_if_incomplete` is only used with updates and cannot be passed when creating a subscription. - * - * Subscriptions with `collection_method=send_invoice` are automatically activated regardless of the first invoice status. - * @enum {string} - */ - payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; - /** - * payment_settings - * @description Payment settings to pass to invoices created by the subscription. - */ - payment_settings?: { - /** payment_method_options */ - payment_method_options?: { - acss_debit?: ({ - /** mandate_options_param */ - mandate_options?: { - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - bancontact?: ({ - /** @enum {string} */ - preferred_language?: "de" | "en" | "fr" | "nl"; - }) | ""; - card?: ({ - /** mandate_options_param */ - mandate_options?: { - amount?: number; - /** @enum {string} */ - amount_type?: "fixed" | "maximum"; - description?: string; - }; - /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - }) | ""; - customer_balance?: { - /** bank_transfer_param */ - bank_transfer?: { - /** eu_bank_transfer_param */ - eu_bank_transfer?: { - country: string; - }; - type?: string; - }; - funding_type?: string; - } | ""; - konbini?: Record | ""; - us_bank_account?: ({ - /** invoice_linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - }; - payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | ""; - /** @enum {string} */ - save_default_payment_method?: "off" | "on_subscription"; - }; - /** @description Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. */ - pending_invoice_item_interval?: ({ - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }) | ""; - /** @description The API ID of a promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. */ - promotion_code?: string; - /** - * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`. - * @enum {string} - */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - /** - * transfer_data_specs - * @description If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. - */ - transfer_data?: { - amount_percent?: number; - destination: string; - }; - /** @description Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ - trial_end?: "now" | number; - /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ - trial_from_plan?: boolean; - /** @description Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ - trial_period_days?: number; - /** - * trial_settings_config - * @description Settings related to subscription trials. - */ - trial_settings?: { - /** end_behavior */ - end_behavior: { - /** @enum {string} */ - missing_payment_method: "cancel" | "create_invoice" | "pause"; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Search for subscriptions you’ve previously created using Stripe’s Search Query Language. - * Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating - * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up - * to an hour behind during outages. Search functionality is not available to merchants in India.

- */ - GetSubscriptionsSearch: { - parameters: { - query: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. */ - page?: string; - /** @description The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for subscriptions](https://stripe.com/docs/search#query-fields-for-subscriptions). */ - query: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["subscription"][]; - has_more: boolean; - next_page?: string | null; - /** - * @description String representing the object's type. Objects of the same type share the same value. - * @enum {string} - */ - object: "search_result"; - /** @description The total number of objects that match the query, only accurate up to 10,000. */ - total_count?: number; - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the subscription with the given ID.

*/ - GetSubscriptionsSubscriptionExposedId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - subscription_exposed_id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint.

*/ - PostSubscriptionsSubscriptionExposedId: { - parameters: { - path: { - subscription_exposed_id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items. */ - add_invoice_items?: ({ - price?: string; - /** one_time_price_data_with_negative_amounts */ - price_data?: { - currency: string; - product: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). */ - application_fee_percent?: number; - /** - * automatic_tax_config - * @description Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed. - */ - automatic_tax?: { - enabled: boolean; - }; - /** - * @description Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). - * @enum {string} - */ - billing_cycle_anchor?: "now" | "unchanged"; - /** @description Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. */ - billing_thresholds?: { - amount_gte?: number; - reset_billing_cycle_anchor?: boolean; - } | ""; - /** @description A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. */ - cancel_at?: number | ""; - /** @description Boolean indicating whether this subscription should cancel at the end of the current period. */ - cancel_at_period_end?: boolean; - /** - * cancellation_details_param - * @description Details about why this subscription was cancelled - */ - cancellation_details?: { - comment?: string | ""; - /** @enum {string} */ - feedback?: "" | "customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused"; - }; - /** - * @description Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. - * @enum {string} - */ - collection_method?: "charge_automatically" | "send_invoice"; - /** @description The ID of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription. */ - coupon?: string; - /** @description Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`. */ - days_until_due?: number; - /** @description ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ - default_payment_method?: string; - /** @description ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). */ - default_source?: string | ""; - /** @description The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates. */ - default_tax_rates?: string[] | ""; - /** @description The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces. */ - description?: string | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A list of up to 20 subscription items, each with an attached price. */ - items?: ({ - billing_thresholds?: { - usage_gte: number; - } | ""; - clear_usage?: boolean; - deleted?: boolean; - id?: string; - metadata?: { - [key: string]: string; - } | ""; - price?: string; - /** recurring_price_data */ - price_data?: { - currency: string; - product: string; - /** recurring_adhoc */ - recurring: { - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - unit_amount?: number; - /** Format: decimal */ - unit_amount_decimal?: string; - }; - quantity?: number; - tax_rates?: string[] | ""; - })[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ - off_session?: boolean; - /** @description The account on behalf of which to charge, for each of the subscription's invoices. */ - on_behalf_of?: string | ""; - /** @description If specified, payment collection for this subscription will be paused. */ - pause_collection?: ({ - /** @enum {string} */ - behavior: "keep_as_draft" | "mark_uncollectible" | "void"; - /** Format: unix-time */ - resumes_at?: number; - }) | ""; - /** - * @description Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. - * - * Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription’s invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. - * - * Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). - * - * Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. - * @enum {string} - */ - payment_behavior?: "allow_incomplete" | "default_incomplete" | "error_if_incomplete" | "pending_if_incomplete"; - /** - * payment_settings - * @description Payment settings to pass to invoices created by the subscription. - */ - payment_settings?: { - /** payment_method_options */ - payment_method_options?: { - acss_debit?: ({ - /** mandate_options_param */ - mandate_options?: { - /** @enum {string} */ - transaction_type?: "business" | "personal"; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - bancontact?: ({ - /** @enum {string} */ - preferred_language?: "de" | "en" | "fr" | "nl"; - }) | ""; - card?: ({ - /** mandate_options_param */ - mandate_options?: { - amount?: number; - /** @enum {string} */ - amount_type?: "fixed" | "maximum"; - description?: string; - }; - /** @enum {string} */ - network?: "amex" | "cartes_bancaires" | "diners" | "discover" | "eftpos_au" | "interac" | "jcb" | "mastercard" | "unionpay" | "unknown" | "visa"; - /** @enum {string} */ - request_three_d_secure?: "any" | "automatic"; - }) | ""; - customer_balance?: { - /** bank_transfer_param */ - bank_transfer?: { - /** eu_bank_transfer_param */ - eu_bank_transfer?: { - country: string; - }; - type?: string; - }; - funding_type?: string; - } | ""; - konbini?: Record | ""; - us_bank_account?: ({ - /** invoice_linked_account_options_param */ - financial_connections?: { - permissions?: ("balances" | "ownership" | "payment_method" | "transactions")[]; - prefetch?: "balances"[]; - }; - /** @enum {string} */ - verification_method?: "automatic" | "instant" | "microdeposits"; - }) | ""; - }; - payment_method_types?: (("ach_credit_transfer" | "ach_debit" | "acss_debit" | "au_becs_debit" | "bacs_debit" | "bancontact" | "boleto" | "card" | "cashapp" | "customer_balance" | "fpx" | "giropay" | "grabpay" | "ideal" | "konbini" | "link" | "paynow" | "paypal" | "promptpay" | "sepa_debit" | "sofort" | "us_bank_account" | "wechat_pay")[]) | ""; - /** @enum {string} */ - save_default_payment_method?: "off" | "on_subscription"; - }; - /** @description Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. */ - pending_invoice_item_interval?: ({ - /** @enum {string} */ - interval: "day" | "month" | "week" | "year"; - interval_count?: number; - }) | ""; - /** @description The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription. */ - promotion_code?: string; - /** - * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. - * @enum {string} - */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - /** - * Format: unix-time - * @description If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#upcoming_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations. - */ - proration_date?: number; - /** @description If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value. */ - transfer_data?: { - amount_percent?: number; - destination: string; - } | ""; - /** @description Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. */ - trial_end?: "now" | number; - /** @description Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. */ - trial_from_plan?: boolean; - /** - * trial_settings_config - * @description Settings related to subscription trials. - */ - trial_settings?: { - /** end_behavior */ - end_behavior: { - /** @enum {string} */ - missing_payment_method: "cancel" | "create_invoice" | "pause"; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Cancels a customer’s subscription immediately. The customer will not be charged again for the subscription.

- * - *

Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually deleted. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.

- * - *

By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.

- */ - DeleteSubscriptionsSubscriptionExposedId: { - parameters: { - path: { - subscription_exposed_id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * cancellation_details_param - * @description Details about why this subscription was cancelled - */ - cancellation_details?: { - comment?: string | ""; - /** @enum {string} */ - feedback?: "" | "customer_service" | "low_quality" | "missing_features" | "other" | "switched_service" | "too_complex" | "too_expensive" | "unused"; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items. */ - invoice_now?: boolean; - /** @description Will generate a proration invoice item that credits remaining unused time until the subscription period end. */ - prorate?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Removes the currently applied discount on a subscription.

*/ - DeleteSubscriptionsSubscriptionExposedIdDiscount: { - parameters: { - path: { - subscription_exposed_id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_discount"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date.

*/ - PostSubscriptionsSubscriptionResume: { - parameters: { - path: { - subscription: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * @description Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). Setting the value to `unchanged` advances the subscription's billing cycle anchor to the period that surrounds the current time. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). - * @enum {string} - */ - billing_cycle_anchor?: "now" | "unchanged"; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * @description Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. - * @enum {string} - */ - proration_behavior?: "always_invoice" | "create_prorations" | "none"; - /** - * Format: unix-time - * @description If set, the proration will be calculated as though the subscription was resumed at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. - */ - proration_date?: number; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["subscription"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Calculates tax based on input and returns a Tax Calculation object.

*/ - PostTaxCalculations: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description The ID of an existing customer to use for this calculation. If provided, the customer's address and tax IDs are copied to `customer_details`. */ - customer?: string; - /** - * customer_details - * @description Details about the customer, including address and tax IDs. - */ - customer_details?: { - /** postal_address */ - address?: { - city?: string | ""; - country: string; - line1?: string | ""; - line2?: string | ""; - postal_code?: string | ""; - state?: string | ""; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["webhook_endpoint"]; + }; }; - /** @enum {string} */ - address_source?: "billing" | "shipping"; - ip_address?: string; - tax_ids?: ({ - /** @enum {string} */ - type: "ad_nrt" | "ae_trn" | "ar_cuit" | "au_abn" | "au_arn" | "bg_uic" | "bo_tin" | "br_cnpj" | "br_cpf" | "ca_bn" | "ca_gst_hst" | "ca_pst_bc" | "ca_pst_mb" | "ca_pst_sk" | "ca_qst" | "ch_vat" | "cl_tin" | "cn_tin" | "co_nit" | "cr_tin" | "do_rcn" | "ec_ruc" | "eg_tin" | "es_cif" | "eu_oss_vat" | "eu_vat" | "gb_vat" | "ge_vat" | "hk_br" | "hu_tin" | "id_npwp" | "il_vat" | "in_gst" | "is_vat" | "jp_cn" | "jp_rn" | "jp_trn" | "ke_pin" | "kr_brn" | "li_uid" | "mx_rfc" | "my_frp" | "my_itn" | "my_sst" | "no_vat" | "nz_gst" | "pe_ruc" | "ph_tin" | "ro_tin" | "rs_pib" | "ru_inn" | "ru_kpp" | "sa_vat" | "sg_gst" | "sg_uen" | "si_tin" | "sv_nit" | "th_vat" | "tr_tin" | "tw_vat" | "ua_vat" | "us_ein" | "uy_ruc" | "ve_rif" | "vn_tin" | "za_vat"; - value: string; - })[]; - /** @enum {string} */ - taxability_override?: "customer_exempt" | "none" | "reverse_charge"; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A list of items the customer is purchasing. */ - line_items: ({ - amount: number; - product?: string; - quantity?: number; - reference?: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive"; - tax_code?: string; - })[]; - /** - * shipping_cost - * @description Shipping cost details to be used for the calculation. - */ - shipping_cost?: { - amount?: number; - shipping_rate?: string; - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive"; - tax_code?: string; - }; - /** @description Timestamp of date at which the tax rules and rates in effect applies for the calculation. Measured in seconds since the Unix epoch. Can be up to 48 hours in the past, and up to 48 hours in the future. */ - tax_date?: number; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax.calculation"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the line items of a persisted tax calculation as a collection.

*/ - GetTaxCalculationsCalculationLineItems: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - calculation: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["tax.calculation_line_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves Tax Settings for a merchant.

*/ - GetTaxSettings: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax.settings"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set.

*/ - PostTaxSettings: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * defaults_param - * @description Default configuration to be used on Stripe Tax calculations. - */ - defaults?: { - /** @enum {string} */ - tax_behavior?: "exclusive" | "inclusive" | "inferred_by_currency"; - tax_code?: string; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * head_office_param - * @description The place where your business is located. - */ - head_office?: { - /** validated_country_address */ - address: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax.settings"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a Tax Transaction from a calculation.

*/ - PostTaxTransactionsCreateFromCalculation: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Tax Calculation ID to be used as input when creating the transaction. */ - calculation: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description A custom order or sale identifier, such as 'myOrder_123'. Must be unique across all transactions, including reversals. */ - reference: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax.transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Partially or fully reverses a previously created Transaction.

*/ - PostTaxTransactionsCreateReversal: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A flat amount to reverse across the entire transaction, in negative integer cents. This value represents the total amount to refund from the transaction, including taxes. */ - flat_amount?: number; - /** @description The line item amounts to reverse. */ - line_items?: { - amount: number; - amount_tax: number; - metadata?: { - [key: string]: string; - }; - original_line_item: string; - quantity?: number; - reference: string; - }[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** - * @description If `partial`, the provided line item or shipping cost amounts are reversed. If `full`, the original transaction is fully reversed. - * @enum {string} - */ - mode: "full" | "partial"; - /** @description The ID of the Transaction to partially or fully reverse. */ - original_transaction: string; - /** @description A custom identifier for this reversal, such as `myOrder_123-refund_1`, which must be unique across all transactions. The reference helps identify this reversal transaction in exported [tax reports](https://stripe.com/docs/tax/reports). */ - reference: string; - /** - * transaction_shipping_cost_reversal - * @description The shipping cost to reverse. - */ - shipping_cost?: { - amount: number; - amount_tax: number; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax.transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a Tax Transaction object.

*/ - GetTaxTransactionsTransaction: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - transaction: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax.transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the line items of a committed standalone transaction as a collection.

*/ - GetTaxTransactionsTransactionLineItems: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - transaction: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["tax.transaction_line_item"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

A list of all tax codes available to add to Products in order to allow specific tax calculations.

*/ - GetTaxCodes: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["tax_code"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information.

*/ - GetTaxCodesId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax_code"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first.

*/ - GetTaxRates: { - parameters: { - query?: { - /** @description Optional flag to filter by tax rates that are either active or inactive (archived). */ - active?: boolean; - /** @description Optional range for filtering created date. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Optional flag to filter by tax rates that are inclusive (or those that are not inclusive). */ - inclusive?: boolean; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["tax_rate"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new tax rate.

*/ - PostTaxRates: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. */ - active?: boolean; - /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ - country?: string; - /** @description An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. */ - description?: string; - /** @description The display name of the tax rate, which will be shown to users. */ - display_name: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description This specifies if the tax rate is inclusive or exclusive. */ - inclusive: boolean; - /** @description The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice. */ - jurisdiction?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description This represents the tax rate percent out of 100. */ - percentage: number; - /** @description [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. */ - state?: string; - /** - * @description The high-level tax type, such as `vat` or `sales_tax`. - * @enum {string} - */ - tax_type?: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "service_tax" | "vat"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax_rate"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a tax rate with the given ID

*/ - GetTaxRatesTaxRate: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - tax_rate: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax_rate"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates an existing tax rate.

*/ - PostTaxRatesTaxRate: { - parameters: { - path: { - tax_rate: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. */ - active?: boolean; - /** @description Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). */ - country?: string; - /** @description An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. */ - description?: string; - /** @description The display name of the tax rate, which will be shown to users. */ - display_name?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer’s invoice. */ - jurisdiction?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. */ - state?: string; - /** - * @description The high-level tax type, such as `vat` or `sales_tax`. - * @enum {string} - */ - tax_type?: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "rst" | "sales_tax" | "service_tax" | "vat"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["tax_rate"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Configuration objects.

*/ - GetTerminalConfigurations: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description if present, only return the account default or non-default configurations. */ - is_account_default?: boolean; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["terminal.configuration"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new Configuration object.

*/ - PostTerminalConfigurations: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * bbpos_wise_pose - * @description An object containing device type specific settings for BBPOS WisePOS E readers - */ - bbpos_wisepos_e?: { - splashscreen?: string | ""; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Tipping configurations for readers supporting on-reader tips */ - tipping?: { - /** currency_specific_config */ - aud?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - cad?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - chf?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - czk?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - dkk?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - eur?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - gbp?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - hkd?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - myr?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - nok?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - nzd?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - sek?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - sgd?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - usd?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - } | ""; - /** - * verifone_p400 - * @description An object containing device type specific settings for Verifone P400 readers - */ - verifone_p400?: { - splashscreen?: string | ""; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.configuration"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a Configuration object.

*/ - GetTerminalConfigurationsConfiguration: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - configuration: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.configuration"] | components["schemas"]["deleted_terminal.configuration"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates a new Configuration object.

*/ - PostTerminalConfigurationsConfiguration: { - parameters: { - path: { - configuration: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description An object containing device type specific settings for BBPOS WisePOS E readers */ - bbpos_wisepos_e?: ({ - splashscreen?: string | ""; - }) | ""; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Tipping configurations for readers supporting on-reader tips */ - tipping?: { - /** currency_specific_config */ - aud?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - cad?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - chf?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - czk?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - dkk?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - eur?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - gbp?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - hkd?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - myr?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - nok?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - nzd?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - sek?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - sgd?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - /** currency_specific_config */ - usd?: { - fixed_amounts?: number[]; - percentages?: number[]; - smart_tip_threshold?: number; - }; - } | ""; - /** @description An object containing device type specific settings for Verifone P400 readers */ - verifone_p400?: ({ - splashscreen?: string | ""; - }) | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.configuration"] | components["schemas"]["deleted_terminal.configuration"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes a Configuration object.

*/ - DeleteTerminalConfigurationsConfiguration: { - parameters: { - path: { - configuration: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_terminal.configuration"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token.

*/ - PostTerminalConnectionTokens: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The id of the location that this connection token is scoped to. If specified the connection token will only be usable with readers assigned to that location, otherwise the connection token will be usable with all readers. Note that location scoping only applies to internet-connected readers. For more details, see [the docs on scoping connection tokens](https://stripe.com/docs/terminal/fleet/locations#connection-tokens). */ - location?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.connection_token"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Location objects.

*/ - GetTerminalLocations: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["terminal.location"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Creates a new Location object. - * For further details, including which address fields are required in each country, see the Manage locations guide.

- */ - PostTerminalLocations: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * create_location_address_param - * @description The full address of the location. - */ - address: { - city?: string; - country: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** @description The ID of a configuration that will be used to customize all readers in this location. */ - configuration_overrides?: string; - /** @description A name for the location. */ - display_name: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.location"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a Location object.

*/ - GetTerminalLocationsLocation: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - location: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.location"] | components["schemas"]["deleted_terminal.location"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates a Location object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - PostTerminalLocationsLocation: { - parameters: { - path: { - location: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * optional_fields_address - * @description The full address of the location. - */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** @description The ID of a configuration that will be used to customize all readers in this location. */ - configuration_overrides?: string | ""; - /** @description A name for the location. */ - display_name?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.location"] | components["schemas"]["deleted_terminal.location"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes a Location object.

*/ - DeleteTerminalLocationsLocation: { - parameters: { - path: { - location: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_terminal.location"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of Reader objects.

*/ - GetTerminalReaders: { - parameters: { - query?: { - /** @description Filters readers by device type */ - device_type?: "bbpos_chipper2x" | "bbpos_wisepad3" | "bbpos_wisepos_e" | "simulated_wisepos_e" | "stripe_m2" | "verifone_P400"; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A location ID to filter the response list to only readers at the specific location */ - location?: string; - /** @description Filters readers by serial number */ - serial_number?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description A status filter to filter readers to only offline or online readers */ - status?: "offline" | "online"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description A list of readers */ - data: components["schemas"]["terminal.reader"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new Reader object.

*/ - PostTerminalReaders: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Custom label given to the reader for easier identification. If no label is specified, the registration code will be used. */ - label?: string; - /** @description The location to assign the reader to. */ - location?: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description A code generated by the reader used for registering to an account. */ - registration_code: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.reader"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a Reader object.

*/ - GetTerminalReadersReader: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - reader: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.reader"] | components["schemas"]["deleted_terminal.reader"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ - PostTerminalReadersReader: { - parameters: { - path: { - reader: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The new label of the reader. */ - label?: string | ""; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.reader"] | components["schemas"]["deleted_terminal.reader"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes a Reader object.

*/ - DeleteTerminalReadersReader: { - parameters: { - path: { - reader: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_terminal.reader"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Cancels the current reader action.

*/ - PostTerminalReadersReaderCancelAction: { - parameters: { - path: { - reader: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.reader"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Initiates a payment flow on a Reader.

*/ - PostTerminalReadersReaderProcessPaymentIntent: { - parameters: { - path: { - reader: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description PaymentIntent ID */ - payment_intent: string; - /** - * process_config - * @description Configuration overrides - */ - process_config?: { - skip_tipping?: boolean; - /** tipping_config */ - tipping?: { - amount_eligible?: number; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.reader"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Initiates a setup intent flow on a Reader.

*/ - PostTerminalReadersReaderProcessSetupIntent: { - parameters: { - path: { - reader: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Customer Consent Collected */ - customer_consent_collected: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * process_setup_config - * @description Configuration overrides - */ - process_config?: Record; - /** @description SetupIntent ID */ - setup_intent: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.reader"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Initiates a refund on a Reader

*/ - PostTerminalReadersReaderRefundPayment: { - parameters: { - path: { - reader: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description A positive integer in __cents__ representing how much of this charge to refund. */ - amount?: number; - /** @description ID of the Charge to refund. */ - charge?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description ID of the PaymentIntent to refund. */ - payment_intent?: string; - /** @description Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. */ - refund_application_fee?: boolean; - /** @description Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge. */ - reverse_transfer?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.reader"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Sets reader display to show cart details.

*/ - PostTerminalReadersReaderSetReaderDisplay: { - parameters: { - path: { - reader: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * cart - * @description Cart - */ - cart?: { - currency: string; - line_items: { - amount: number; - description: string; - quantity: number; - }[]; - tax?: number; - total: number; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * @description Type - * @enum {string} - */ - type: "cart"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.reader"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Create an incoming testmode bank transfer

*/ - PostTestHelpersCustomersCustomerFundCashBalance: { - parameters: { - path: { - customer: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Amount to be used for this test cash balance transaction. A positive integer representing how much to fund in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to fund $1.00 or 100 to fund ¥100, a zero-decimal currency). */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A description of the test funding. This simulates free-text references supplied by customers when making bank transfers to their cash balance. You can use this to test how Stripe's [reconciliation algorithm](https://stripe.com/docs/payments/customer-balance/reconciliation) applies to different user inputs. */ - reference?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["customer_cash_balance_transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Create a test-mode authorization.

*/ - PostTestHelpersIssuingAuthorizations: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The total amount to attempt to authorize. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount: number; - /** - * amount_details_specs - * @description Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). - */ - amount_details?: { - atm_fee?: number; - cashback_amount?: number; - }; - /** - * @description How the card details were provided. Defaults to online. - * @enum {string} - */ - authorization_method?: "chip" | "contactless" | "keyed_in" | "online" | "swipe"; - /** @description Card associated with this authorization. */ - card: string; - /** @description The currency of the authorization. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization. */ - is_amount_controllable?: boolean; - /** - * merchant_data_specs - * @description Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. - */ - merchant_data?: { - /** @enum {string} */ - category?: "ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards"; - city?: string; - country?: string; - name?: string; - network_id?: string; - postal_code?: string; - state?: string; - terminal_id?: string; - }; - /** - * network_data_specs - * @description Details about the authorization, such as identifiers, set by the card network. - */ - network_data?: { - acquiring_institution_id?: string; - }; - /** - * verification_data_specs - * @description Verifications that Stripe performed on information that the cardholder provided to the merchant. - */ - verification_data?: { - /** @enum {string} */ - address_line1_check?: "match" | "mismatch" | "not_provided"; - /** @enum {string} */ - address_postal_code_check?: "match" | "mismatch" | "not_provided"; - /** @enum {string} */ - cvc_check?: "match" | "mismatch" | "not_provided"; - /** @enum {string} */ - expiry_check?: "match" | "mismatch" | "not_provided"; - }; - /** - * @description The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. Will populate as `null` when no digital wallet was utilized. - * @enum {string} - */ - wallet?: "apple_pay" | "google_pay" | "samsung_pay"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.authorization"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Capture a test-mode authorization.

*/ - PostTestHelpersIssuingAuthorizationsAuthorizationCapture: { - parameters: { - path: { - authorization: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description The amount to capture from the authorization. If not provided, the full amount of the authorization will be captured. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - capture_amount?: number; - /** @description Whether to close the authorization after capture. Defaults to true. Set to false to enable multi-capture flows. */ - close_authorization?: boolean; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * purchase_details_specs - * @description Additional purchase information that is optionally provided by the merchant. - */ - purchase_details?: { - /** flight_specs */ - flight?: { - /** Format: unix-time */ - departure_at?: number; - passenger_name?: string; - refundable?: boolean; - segments?: { - arrival_airport_code?: string; - carrier?: string; - departure_airport_code?: string; - flight_number?: string; - service_class?: string; - stopover_allowed?: boolean; - }[]; - travel_agency?: string; - }; - /** fuel_specs */ - fuel?: { - /** @enum {string} */ - type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super"; - /** @enum {string} */ - unit?: "liter" | "us_gallon"; - /** Format: decimal */ - unit_cost_decimal?: string; - /** Format: decimal */ - volume_decimal?: string; - }; - /** lodging_specs */ - lodging?: { - /** Format: unix-time */ - check_in_at?: number; - nights?: number; - }; - receipt?: { - description?: string; - /** Format: decimal */ - quantity?: string; - total?: number; - unit_cost?: number; - }[]; - reference?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.authorization"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Expire a test-mode Authorization.

*/ - PostTestHelpersIssuingAuthorizationsAuthorizationExpire: { - parameters: { - path: { - authorization: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.authorization"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Increment a test-mode Authorization.

*/ - PostTestHelpersIssuingAuthorizationsAuthorizationIncrement: { - parameters: { - path: { - authorization: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The amount to increment the authorization by. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - increment_amount: number; - /** @description If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization. */ - is_amount_controllable?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.authorization"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Reverse a test-mode Authorization.

*/ - PostTestHelpersIssuingAuthorizationsAuthorizationReverse: { - parameters: { - path: { - authorization: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The amount to reverse from the authorization. If not provided, the full amount of the authorization will be reversed. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - reverse_amount?: number; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.authorization"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the shipping status of the specified Issuing Card object to delivered.

*/ - PostTestHelpersIssuingCardsCardShippingDeliver: { - parameters: { - path: { - card: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.card"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the shipping status of the specified Issuing Card object to failure.

*/ - PostTestHelpersIssuingCardsCardShippingFail: { - parameters: { - path: { - card: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.card"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the shipping status of the specified Issuing Card object to returned.

*/ - PostTestHelpersIssuingCardsCardShippingReturn: { - parameters: { - path: { - card: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.card"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the shipping status of the specified Issuing Card object to shipped.

*/ - PostTestHelpersIssuingCardsCardShippingShip: { - parameters: { - path: { - card: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.card"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Allows the user to capture an arbitrary amount, also known as a forced capture.

*/ - PostTestHelpersIssuingTransactionsCreateForceCapture: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The total amount to attempt to capture. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount: number; - /** @description Card associated with this transaction. */ - card: string; - /** @description The currency of the capture. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * merchant_data_specs - * @description Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. - */ - merchant_data?: { - /** @enum {string} */ - category?: "ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards"; - city?: string; - country?: string; - name?: string; - network_id?: string; - postal_code?: string; - state?: string; - terminal_id?: string; - }; - /** - * purchase_details_specs - * @description Additional purchase information that is optionally provided by the merchant. - */ - purchase_details?: { - /** flight_specs */ - flight?: { - /** Format: unix-time */ - departure_at?: number; - passenger_name?: string; - refundable?: boolean; - segments?: { - arrival_airport_code?: string; - carrier?: string; - departure_airport_code?: string; - flight_number?: string; - service_class?: string; - stopover_allowed?: boolean; - }[]; - travel_agency?: string; - }; - /** fuel_specs */ - fuel?: { - /** @enum {string} */ - type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super"; - /** @enum {string} */ - unit?: "liter" | "us_gallon"; - /** Format: decimal */ - unit_cost_decimal?: string; - /** Format: decimal */ - volume_decimal?: string; - }; - /** lodging_specs */ - lodging?: { - /** Format: unix-time */ - check_in_at?: number; - nights?: number; - }; - receipt?: { - description?: string; - /** Format: decimal */ - quantity?: string; - total?: number; - unit_cost?: number; - }[]; - reference?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Allows the user to refund an arbitrary amount, also known as a unlinked refund.

*/ - PostTestHelpersIssuingTransactionsCreateUnlinkedRefund: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description The total amount to attempt to refund. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - amount: number; - /** @description Card associated with this unlinked refund transaction. */ - card: string; - /** @description The currency of the unlinked refund. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * merchant_data_specs - * @description Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. - */ - merchant_data?: { - /** @enum {string} */ - category?: "ac_refrigeration_repair" | "accounting_bookkeeping_services" | "advertising_services" | "agricultural_cooperative" | "airlines_air_carriers" | "airports_flying_fields" | "ambulance_services" | "amusement_parks_carnivals" | "antique_reproductions" | "antique_shops" | "aquariums" | "architectural_surveying_services" | "art_dealers_and_galleries" | "artists_supply_and_craft_shops" | "auto_and_home_supply_stores" | "auto_body_repair_shops" | "auto_paint_shops" | "auto_service_shops" | "automated_cash_disburse" | "automated_fuel_dispensers" | "automobile_associations" | "automotive_parts_and_accessories_stores" | "automotive_tire_stores" | "bail_and_bond_payments" | "bakeries" | "bands_orchestras" | "barber_and_beauty_shops" | "betting_casino_gambling" | "bicycle_shops" | "billiard_pool_establishments" | "boat_dealers" | "boat_rentals_and_leases" | "book_stores" | "books_periodicals_and_newspapers" | "bowling_alleys" | "bus_lines" | "business_secretarial_schools" | "buying_shopping_services" | "cable_satellite_and_other_pay_television_and_radio" | "camera_and_photographic_supply_stores" | "candy_nut_and_confectionery_stores" | "car_and_truck_dealers_new_used" | "car_and_truck_dealers_used_only" | "car_rental_agencies" | "car_washes" | "carpentry_services" | "carpet_upholstery_cleaning" | "caterers" | "charitable_and_social_service_organizations_fundraising" | "chemicals_and_allied_products" | "child_care_services" | "childrens_and_infants_wear_stores" | "chiropodists_podiatrists" | "chiropractors" | "cigar_stores_and_stands" | "civic_social_fraternal_associations" | "cleaning_and_maintenance" | "clothing_rental" | "colleges_universities" | "commercial_equipment" | "commercial_footwear" | "commercial_photography_art_and_graphics" | "commuter_transport_and_ferries" | "computer_network_services" | "computer_programming" | "computer_repair" | "computer_software_stores" | "computers_peripherals_and_software" | "concrete_work_services" | "construction_materials" | "consulting_public_relations" | "correspondence_schools" | "cosmetic_stores" | "counseling_services" | "country_clubs" | "courier_services" | "court_costs" | "credit_reporting_agencies" | "cruise_lines" | "dairy_products_stores" | "dance_hall_studios_schools" | "dating_escort_services" | "dentists_orthodontists" | "department_stores" | "detective_agencies" | "digital_goods_applications" | "digital_goods_games" | "digital_goods_large_volume" | "digital_goods_media" | "direct_marketing_catalog_merchant" | "direct_marketing_combination_catalog_and_retail_merchant" | "direct_marketing_inbound_telemarketing" | "direct_marketing_insurance_services" | "direct_marketing_other" | "direct_marketing_outbound_telemarketing" | "direct_marketing_subscription" | "direct_marketing_travel" | "discount_stores" | "doctors" | "door_to_door_sales" | "drapery_window_covering_and_upholstery_stores" | "drinking_places" | "drug_stores_and_pharmacies" | "drugs_drug_proprietaries_and_druggist_sundries" | "dry_cleaners" | "durable_goods" | "duty_free_stores" | "eating_places_restaurants" | "educational_services" | "electric_razor_stores" | "electric_vehicle_charging" | "electrical_parts_and_equipment" | "electrical_services" | "electronics_repair_shops" | "electronics_stores" | "elementary_secondary_schools" | "emergency_services_gcas_visa_use_only" | "employment_temp_agencies" | "equipment_rental" | "exterminating_services" | "family_clothing_stores" | "fast_food_restaurants" | "financial_institutions" | "fines_government_administrative_entities" | "fireplace_fireplace_screens_and_accessories_stores" | "floor_covering_stores" | "florists" | "florists_supplies_nursery_stock_and_flowers" | "freezer_and_locker_meat_provisioners" | "fuel_dealers_non_automotive" | "funeral_services_crematories" | "furniture_home_furnishings_and_equipment_stores_except_appliances" | "furniture_repair_refinishing" | "furriers_and_fur_shops" | "general_services" | "gift_card_novelty_and_souvenir_shops" | "glass_paint_and_wallpaper_stores" | "glassware_crystal_stores" | "golf_courses_public" | "government_licensed_horse_dog_racing_us_region_only" | "government_licensed_online_casions_online_gambling_us_region_only" | "government_owned_lotteries_non_us_region" | "government_owned_lotteries_us_region_only" | "government_services" | "grocery_stores_supermarkets" | "hardware_equipment_and_supplies" | "hardware_stores" | "health_and_beauty_spas" | "hearing_aids_sales_and_supplies" | "heating_plumbing_a_c" | "hobby_toy_and_game_shops" | "home_supply_warehouse_stores" | "hospitals" | "hotels_motels_and_resorts" | "household_appliance_stores" | "industrial_supplies" | "information_retrieval_services" | "insurance_default" | "insurance_underwriting_premiums" | "intra_company_purchases" | "jewelry_stores_watches_clocks_and_silverware_stores" | "landscaping_services" | "laundries" | "laundry_cleaning_services" | "legal_services_attorneys" | "luggage_and_leather_goods_stores" | "lumber_building_materials_stores" | "manual_cash_disburse" | "marinas_service_and_supplies" | "marketplaces" | "masonry_stonework_and_plaster" | "massage_parlors" | "medical_and_dental_labs" | "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" | "medical_services" | "membership_organizations" | "mens_and_boys_clothing_and_accessories_stores" | "mens_womens_clothing_stores" | "metal_service_centers" | "miscellaneous_apparel_and_accessory_shops" | "miscellaneous_auto_dealers" | "miscellaneous_business_services" | "miscellaneous_food_stores" | "miscellaneous_general_merchandise" | "miscellaneous_general_services" | "miscellaneous_home_furnishing_specialty_stores" | "miscellaneous_publishing_and_printing" | "miscellaneous_recreation_services" | "miscellaneous_repair_shops" | "miscellaneous_specialty_retail" | "mobile_home_dealers" | "motion_picture_theaters" | "motor_freight_carriers_and_trucking" | "motor_homes_dealers" | "motor_vehicle_supplies_and_new_parts" | "motorcycle_shops_and_dealers" | "motorcycle_shops_dealers" | "music_stores_musical_instruments_pianos_and_sheet_music" | "news_dealers_and_newsstands" | "non_fi_money_orders" | "non_fi_stored_value_card_purchase_load" | "nondurable_goods" | "nurseries_lawn_and_garden_supply_stores" | "nursing_personal_care" | "office_and_commercial_furniture" | "opticians_eyeglasses" | "optometrists_ophthalmologist" | "orthopedic_goods_prosthetic_devices" | "osteopaths" | "package_stores_beer_wine_and_liquor" | "paints_varnishes_and_supplies" | "parking_lots_garages" | "passenger_railways" | "pawn_shops" | "pet_shops_pet_food_and_supplies" | "petroleum_and_petroleum_products" | "photo_developing" | "photographic_photocopy_microfilm_equipment_and_supplies" | "photographic_studios" | "picture_video_production" | "piece_goods_notions_and_other_dry_goods" | "plumbing_heating_equipment_and_supplies" | "political_organizations" | "postal_services_government_only" | "precious_stones_and_metals_watches_and_jewelry" | "professional_services" | "public_warehousing_and_storage" | "quick_copy_repro_and_blueprint" | "railroads" | "real_estate_agents_and_managers_rentals" | "record_stores" | "recreational_vehicle_rentals" | "religious_goods_stores" | "religious_organizations" | "roofing_siding_sheet_metal" | "secretarial_support_services" | "security_brokers_dealers" | "service_stations" | "sewing_needlework_fabric_and_piece_goods_stores" | "shoe_repair_hat_cleaning" | "shoe_stores" | "small_appliance_repair" | "snowmobile_dealers" | "special_trade_services" | "specialty_cleaning" | "sporting_goods_stores" | "sporting_recreation_camps" | "sports_and_riding_apparel_stores" | "sports_clubs_fields" | "stamp_and_coin_stores" | "stationary_office_supplies_printing_and_writing_paper" | "stationery_stores_office_and_school_supply_stores" | "swimming_pools_sales" | "t_ui_travel_germany" | "tailors_alterations" | "tax_payments_government_agencies" | "tax_preparation_services" | "taxicabs_limousines" | "telecommunication_equipment_and_telephone_sales" | "telecommunication_services" | "telegraph_services" | "tent_and_awning_shops" | "testing_laboratories" | "theatrical_ticket_agencies" | "timeshares" | "tire_retreading_and_repair" | "tolls_bridge_fees" | "tourist_attractions_and_exhibits" | "towing_services" | "trailer_parks_campgrounds" | "transportation_services" | "travel_agencies_tour_operators" | "truck_stop_iteration" | "truck_utility_trailer_rentals" | "typesetting_plate_making_and_related_services" | "typewriter_stores" | "u_s_federal_government_agencies_or_departments" | "uniforms_commercial_clothing" | "used_merchandise_and_secondhand_stores" | "utilities" | "variety_stores" | "veterinary_services" | "video_amusement_game_supplies" | "video_game_arcades" | "video_tape_rental_stores" | "vocational_trade_schools" | "watch_jewelry_repair" | "welding_repair" | "wholesale_clubs" | "wig_and_toupee_stores" | "wires_money_orders" | "womens_accessory_and_specialty_shops" | "womens_ready_to_wear_stores" | "wrecking_and_salvage_yards"; - city?: string; - country?: string; - name?: string; - network_id?: string; - postal_code?: string; - state?: string; - terminal_id?: string; - }; - /** - * purchase_details_specs - * @description Additional purchase information that is optionally provided by the merchant. - */ - purchase_details?: { - /** flight_specs */ - flight?: { - /** Format: unix-time */ - departure_at?: number; - passenger_name?: string; - refundable?: boolean; - segments?: { - arrival_airport_code?: string; - carrier?: string; - departure_airport_code?: string; - flight_number?: string; - service_class?: string; - stopover_allowed?: boolean; - }[]; - travel_agency?: string; - }; - /** fuel_specs */ - fuel?: { - /** @enum {string} */ - type?: "diesel" | "other" | "unleaded_plus" | "unleaded_regular" | "unleaded_super"; - /** @enum {string} */ - unit?: "liter" | "us_gallon"; - /** Format: decimal */ - unit_cost_decimal?: string; - /** Format: decimal */ - volume_decimal?: string; - }; - /** lodging_specs */ - lodging?: { - /** Format: unix-time */ - check_in_at?: number; - nights?: number; - }; - receipt?: { - description?: string; - /** Format: decimal */ - quantity?: string; - total?: number; - unit_cost?: number; - }[]; - reference?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Refund a test-mode Transaction.

*/ - PostTestHelpersIssuingTransactionsTransactionRefund: { - parameters: { - path: { - transaction: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The total amount to attempt to refund. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ - refund_amount?: number; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["issuing.transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Expire a refund with a status of requires_action.

*/ - PostTestHelpersRefundsRefundExpire: { - parameters: { - path: { - refund: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["refund"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction.

*/ - PostTestHelpersTerminalReadersReaderPresentPaymentMethod: { - parameters: { - path: { - reader: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Simulated on-reader tip amount. */ - amount_tip?: number; - /** - * card_present - * @description Simulated data for the card_present payment method. - */ - card_present?: { - number?: string; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * interac_present - * @description Simulated data for the interac_present payment method. - */ - interac_present?: { - number?: string; - }; - /** - * @description Simulated payment type. - * @enum {string} - */ - type?: "card_present" | "interac_present"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["terminal.reader"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your test clocks.

*/ - GetTestHelpersTestClocks: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["test_helpers.test_clock"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new test clock that can be attached to new customers and quotes.

*/ - PostTestHelpersTestClocks: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * Format: unix-time - * @description The initial frozen time for this test clock. - */ - frozen_time: number; - /** @description The name for this test clock. */ - name?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["test_helpers.test_clock"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a test clock.

*/ - GetTestHelpersTestClocksTestClock: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - test_clock: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["test_helpers.test_clock"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Deletes a test clock.

*/ - DeleteTestHelpersTestClocksTestClock: { - parameters: { - path: { - test_clock: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_test_helpers.test_clock"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready.

*/ - PostTestHelpersTestClocksTestClockAdvance: { - parameters: { - path: { - test_clock: string; - }; - }; - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * Format: unix-time - * @description The time to advance the test clock. Must be after the test clock's current frozen time. Cannot be more than two intervals in the future from the shortest subscription in this test clock. If there are no subscriptions in this test clock, it cannot be more than two years in the future. - */ - frozen_time: number; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["test_helpers.test_clock"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state.

*/ - PostTestHelpersTreasuryInboundTransfersIdFail: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * failure_details_params - * @description Details about a failed InboundTransfer. - */ - failure_details?: { - /** @enum {string} */ - code?: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "debit_not_authorized" | "incorrect_account_holder_address" | "incorrect_account_holder_name" | "incorrect_account_holder_tax_id" | "insufficient_funds" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.inbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state.

*/ - PostTestHelpersTreasuryInboundTransfersIdReturn: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.inbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state.

*/ - PostTestHelpersTreasuryInboundTransfersIdSucceed: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.inbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state.

*/ - PostTestHelpersTreasuryOutboundPaymentsIdFail: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_payment"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state.

*/ - PostTestHelpersTreasuryOutboundPaymentsIdPost: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_payment"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state.

*/ - PostTestHelpersTreasuryOutboundPaymentsIdReturn: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * returned_details_params - * @description Optional hash to set the the return code. - */ - returned_details?: { - /** @enum {string} */ - code?: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "declined" | "incorrect_account_holder_name" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_payment"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state.

*/ - PostTestHelpersTreasuryOutboundTransfersOutboundTransferFail: { - parameters: { - path: { - outbound_transfer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state.

*/ - PostTestHelpersTreasuryOutboundTransfersOutboundTransferPost: { - parameters: { - path: { - outbound_transfer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state.

*/ - PostTestHelpersTreasuryOutboundTransfersOutboundTransferReturn: { - parameters: { - path: { - outbound_transfer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * returned_details_params - * @description Details about a returned OutboundTransfer. - */ - returned_details?: { - /** @enum {string} */ - code?: "account_closed" | "account_frozen" | "bank_account_restricted" | "bank_ownership_changed" | "declined" | "incorrect_account_holder_name" | "invalid_account_number" | "invalid_currency" | "no_account" | "other"; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Use this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can’t directly create ReceivedCredits initiated by third parties.

*/ - PostTestHelpersTreasuryReceivedCredits: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Amount (in cents) to be transferred. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The FinancialAccount to send funds to. */ - financial_account: string; - /** - * source_params - * @description Initiating payment method details for the object. - */ - initiating_payment_method_details?: { - /** @enum {string} */ - type: "us_bank_account"; - /** us_bank_account_source_params */ - us_bank_account?: { - account_holder_name?: string; - account_number?: string; - routing_number?: string; - }; - }; - /** - * @description The rails used for the object. - * @enum {string} - */ - network: "ach" | "us_domestic_wire"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.received_credit"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can’t directly create ReceivedDebits initiated by third parties.

*/ - PostTestHelpersTreasuryReceivedDebits: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Amount (in cents) to be transferred. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The FinancialAccount to pull funds from. */ - financial_account: string; - /** - * source_params - * @description Initiating payment method details for the object. - */ - initiating_payment_method_details?: { - /** @enum {string} */ - type: "us_bank_account"; - /** us_bank_account_source_params */ - us_bank_account?: { - account_holder_name?: string; - account_number?: string; - routing_number?: string; - }; - }; - /** - * @description The rails used for the object. - * @enum {string} - */ - network: "ach"; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.received_debit"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Creates a single-use token that represents a bank account’s details. - * This token can be used with any API method in place of a bank account dictionary. This token can be used only once, by attaching it to a Custom account.

- */ - PostTokens: { - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * connect_js_account_token_specs - * @description Information for the account this token will represent. - */ - account?: { - /** @enum {string} */ - business_type?: "company" | "government_entity" | "individual" | "non_profit"; - /** connect_js_account_token_company_specs */ - company?: { - /** address_specs */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** japan_address_kana_specs */ - address_kana?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** japan_address_kanji_specs */ - address_kanji?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - directors_provided?: boolean; - executives_provided?: boolean; - export_license_id?: string; - export_purpose_code?: string; - name?: string; - name_kana?: string; - name_kanji?: string; - owners_provided?: boolean; - /** company_ownership_declaration */ - ownership_declaration?: { - /** Format: unix-time */ - date?: number; - ip?: string; - user_agent?: string; - }; - ownership_declaration_shown_and_signed?: boolean; - phone?: string; - registration_number?: string; - /** @enum {string} */ - structure?: "" | "free_zone_establishment" | "free_zone_llc" | "government_instrumentality" | "governmental_unit" | "incorporated_non_profit" | "incorporated_partnership" | "limited_liability_partnership" | "llc" | "multi_member_llc" | "private_company" | "private_corporation" | "private_partnership" | "public_company" | "public_corporation" | "public_partnership" | "single_member_llc" | "sole_establishment" | "sole_proprietorship" | "tax_exempt_government_instrumentality" | "unincorporated_association" | "unincorporated_non_profit" | "unincorporated_partnership"; - tax_id?: string; - tax_id_registrar?: string; - vat_id?: string; - /** verification_specs */ - verification?: { - /** verification_document_specs */ - document?: { - back?: string; - front?: string; - }; - }; - }; - /** individual_specs */ - individual?: { - /** address_specs */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** japan_address_kana_specs */ - address_kana?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** japan_address_kanji_specs */ - address_kanji?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - dob?: { - day: number; - month: number; - year: number; - } | ""; - email?: string; - first_name?: string; - first_name_kana?: string; - first_name_kanji?: string; - full_name_aliases?: string[] | ""; - gender?: string; - id_number?: string; - id_number_secondary?: string; - last_name?: string; - last_name_kana?: string; - last_name_kanji?: string; - maiden_name?: string; - metadata?: { - [key: string]: string; - } | ""; - phone?: string; - /** @enum {string} */ - political_exposure?: "existing" | "none"; - /** address_specs */ - registered_address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - ssn_last_4?: string; - /** person_verification_specs */ - verification?: { - /** person_verification_document_specs */ - additional_document?: { - back?: string; - front?: string; - }; - /** person_verification_document_specs */ - document?: { - back?: string; - front?: string; - }; - }; - }; - tos_shown_and_accepted?: boolean; - }; - /** - * token_create_bank_account - * @description The bank account this token will represent. - */ - bank_account?: { - account_holder_name?: string; - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number: string; - /** @enum {string} */ - account_type?: "checking" | "futsu" | "savings" | "toza"; - country: string; - currency?: string; - routing_number?: string; - }; - /** @description The card this token will represent. If you also pass in a customer, the card must be the ID of a card belonging to the customer. Otherwise, if you do not pass in a customer, this is a dictionary containing a user's credit card details, with the options described below. */ - card?: { - address_city?: string; - address_country?: string; - address_line1?: string; - address_line2?: string; - address_state?: string; - address_zip?: string; - currency?: string; - cvc?: string; - exp_month: string; - exp_year: string; - name?: string; - number: string; - } | string; - /** @description The customer (owned by the application's account) for which to create a token. This can be used only with an [OAuth access token](https://stripe.com/docs/connect/standard-accounts) or [Stripe-Account header](https://stripe.com/docs/connect/authentication). For more details, see [Cloning Saved Payment Methods](https://stripe.com/docs/connect/cloning-saved-payment-methods). */ - customer?: string; - /** - * cvc_params - * @description The updated CVC value this token will represent. - */ - cvc_update?: { - cvc: string; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * person_token_specs - * @description Information for the person this token will represent. - */ - person?: { - /** address_specs */ - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** japan_address_kana_specs */ - address_kana?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - /** japan_address_kanji_specs */ - address_kanji?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - town?: string; - }; - dob?: { - day: number; - month: number; - year: number; - } | ""; - /** person_documents_specs */ - documents?: { - /** documents_param */ - company_authorization?: { - files?: (string | "")[]; - }; - /** documents_param */ - passport?: { - files?: (string | "")[]; - }; - /** documents_param */ - visa?: { - files?: (string | "")[]; - }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; }; - email?: string; - first_name?: string; - first_name_kana?: string; - first_name_kanji?: string; - full_name_aliases?: string[] | ""; - gender?: string; - id_number?: string; - id_number_secondary?: string; - last_name?: string; - last_name_kana?: string; - last_name_kanji?: string; - maiden_name?: string; - metadata?: { - [key: string]: string; - } | ""; - nationality?: string; - phone?: string; - political_exposure?: string; - /** address_specs */ - registered_address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - }; - /** relationship_specs */ - relationship?: { - director?: boolean; - executive?: boolean; - owner?: boolean; - percent_ownership?: number | ""; - representative?: boolean; - title?: string; - }; - ssn_last_4?: string; - /** person_verification_specs */ - verification?: { - /** person_verification_document_specs */ - additional_document?: { - back?: string; - front?: string; - }; - /** person_verification_document_specs */ - document?: { - back?: string; - front?: string; - }; - }; - }; - /** - * pii_token_specs - * @description The PII this token will represent. - */ - pii?: { - id_number?: string; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["token"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the token with the given ID.

*/ - GetTokensToken: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - token: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["token"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of top-ups.

*/ - GetTopups: { - parameters: { - query?: { - /** @description A positive integer representing how much to transfer. */ - amount?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. */ - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return top-ups that have the given status. One of `canceled`, `failed`, `pending` or `succeeded`. */ - status?: "canceled" | "failed" | "pending" | "succeeded"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["topup"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Top up the balance of an account

*/ - PostTopups: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description A positive integer representing how much to transfer. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The ID of a source to transfer funds from. For most users, this should be left unspecified which will use the bank account that was set up in the dashboard for the specified currency. In test mode, this can be a test bank token (see [Testing Top-ups](https://stripe.com/docs/connect/testing#testing-top-ups)). */ - source?: string; - /** @description Extra information about a top-up for the source's bank statement. Limited to 15 ASCII characters. */ - statement_descriptor?: string; - /** @description A string that identifies this top-up as part of a group. */ - transfer_group?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["topup"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information.

*/ - GetTopupsTopup: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - topup: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["topup"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the metadata of a top-up. Other top-up details are not editable by design.

*/ - PostTopupsTopup: { - parameters: { - path: { - topup: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["topup"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Cancels a top-up. Only pending top-ups can be canceled.

*/ - PostTopupsTopupCancel: { - parameters: { - path: { - topup: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["topup"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first.

*/ - GetTransfers: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description Only return transfers for the destination specified by this account ID. */ - destination?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return transfers with the specified transfer group. */ - transfer_group?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["transfer"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

To send funds from your Stripe account to a connected account, you create a new transfer object. Your Stripe balance must be able to cover the transfer amount, or you’ll receive an “Insufficient Funds” error.

*/ - PostTransfers: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description A positive integer in cents (or local equivalent) representing how much to transfer. */ - amount?: number; - /** @description 3-letter [ISO code for currency](https://stripe.com/docs/payouts). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description The ID of a connected Stripe account. See the Connect documentation for details. */ - destination: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. [See the Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-availability) for details. */ - source_transaction?: string; - /** - * @description The source balance to use for this transfer. One of `bank_account`, `card`, or `fpx`. For most users, this will default to `card`. - * @enum {string} - */ - source_type?: "bank_account" | "card" | "fpx"; - /** @description A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. */ - transfer_group?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional reversals.

*/ - GetTransfersIdReversals: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["transfer_reversal"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

When you create a new reversal, you must specify a transfer to create it on.

- * - *

When reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed.

- * - *

Once entirely reversed, a transfer can’t be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer.

- */ - PostTransfersIdReversals: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description A positive integer in cents (or local equivalent) representing how much of this transfer to reverse. Can only reverse up to the unreversed amount remaining of the transfer. Partial transfer reversals are only allowed for transfers to Stripe Accounts. Defaults to the entire transfer amount. */ - amount?: number; - /** @description An arbitrary string which you can attach to a reversal object. It is displayed alongside the reversal in the Dashboard. This will be unset if you POST an empty value. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description Boolean indicating whether the application fee should be refunded when reversing this transfer. If a full transfer reversal is given, the full application fee will be refunded. Otherwise, the application fee will be refunded with an amount proportional to the amount of the transfer reversed. */ - refund_application_fee?: boolean; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["transfer_reversal"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information.

*/ - GetTransfersTransfer: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - transfer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

- * - *

This request accepts only metadata as an argument.

- */ - PostTransfersTransfer: { - parameters: { - path: { - transfer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer.

*/ - GetTransfersTransferReversalsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - transfer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["transfer_reversal"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** - * @description

Updates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

- * - *

This request only accepts metadata and description as arguments.

- */ - PostTransfersTransferReversalsId: { - parameters: { - path: { - id: string; - transfer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["transfer_reversal"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of CreditReversals.

*/ - GetTreasuryCreditReversals: { - parameters: { - query: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Returns objects associated with this FinancialAccount. */ - financial_account: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return CreditReversals for the ReceivedCredit ID. */ - received_credit?: string; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return CreditReversals for a given status. */ - status?: "canceled" | "posted" | "processing"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["treasury.credit_reversal"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Reverses a ReceivedCredit and creates a CreditReversal object.

*/ - PostTreasuryCreditReversals: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The ReceivedCredit to reverse. */ - received_credit: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.credit_reversal"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list

*/ - GetTreasuryCreditReversalsCreditReversal: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - credit_reversal: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.credit_reversal"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of DebitReversals.

*/ - GetTreasuryDebitReversals: { - parameters: { - query: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Returns objects associated with this FinancialAccount. */ - financial_account: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return DebitReversals for the ReceivedDebit ID. */ - received_debit?: string; - /** @description Only return DebitReversals for a given resolution. */ - resolution?: "lost" | "won"; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return DebitReversals for a given status. */ - status?: "canceled" | "completed" | "processing"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["treasury.debit_reversal"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Reverses a ReceivedDebit and creates a DebitReversal object.

*/ - PostTreasuryDebitReversals: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The ReceivedDebit to reverse. */ - received_debit: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.debit_reversal"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a DebitReversal object.

*/ - GetTreasuryDebitReversalsDebitReversal: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - debit_reversal: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.debit_reversal"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of FinancialAccounts.

*/ - GetTreasuryFinancialAccounts: { - parameters: { - query?: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description An object ID cursor for use in pagination. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit ranging from 1 to 100 (defaults to 10). */ - limit?: number; - /** @description An object ID cursor for use in pagination. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["treasury.financial_account"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates a new FinancialAccount. For now, each connected account can only have one FinancialAccount.

*/ - PostTreasuryFinancialAccounts: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * feature_access - * @description Encodes whether a FinancialAccount has access to a particular feature. Stripe or the platform can control features via the requested field. - */ - features?: { - /** access */ - card_issuing?: { - requested: boolean; - }; - /** access */ - deposit_insurance?: { - requested: boolean; - }; - /** financial_addresses */ - financial_addresses?: { - /** aba_access */ - aba?: { - requested: boolean; - }; - }; - /** inbound_transfers */ - inbound_transfers?: { - /** access_with_ach_details */ - ach?: { - requested: boolean; - }; - }; - /** access */ - intra_stripe_flows?: { - requested: boolean; - }; - /** outbound_payments */ - outbound_payments?: { - /** access_with_ach_details */ - ach?: { - requested: boolean; - }; - /** access */ - us_domestic_wire?: { - requested: boolean; - }; - }; - /** outbound_transfers */ - outbound_transfers?: { - /** access_with_ach_details */ - ach?: { - requested: boolean; - }; - /** access */ - us_domestic_wire?: { - requested: boolean; - }; - }; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** - * platform_restrictions - * @description The set of functionalities that the platform can restrict on the FinancialAccount. - */ - platform_restrictions?: { - /** @enum {string} */ - inbound_flows?: "restricted" | "unrestricted"; - /** @enum {string} */ - outbound_flows?: "restricted" | "unrestricted"; - }; - /** @description The currencies the FinancialAccount can hold a balance in. */ - supported_currencies: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.financial_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of a FinancialAccount.

*/ - GetTreasuryFinancialAccountsFinancialAccount: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - financial_account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.financial_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the details of a FinancialAccount.

*/ - PostTreasuryFinancialAccountsFinancialAccount: { - parameters: { - path: { - financial_account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * feature_access - * @description Encodes whether a FinancialAccount has access to a particular feature, with a status enum and associated `status_details`. Stripe or the platform may control features via the requested field. - */ - features?: { - /** access */ - card_issuing?: { - requested: boolean; - }; - /** access */ - deposit_insurance?: { - requested: boolean; - }; - /** financial_addresses */ - financial_addresses?: { - /** aba_access */ - aba?: { - requested: boolean; - }; - }; - /** inbound_transfers */ - inbound_transfers?: { - /** access_with_ach_details */ - ach?: { - requested: boolean; - }; - }; - /** access */ - intra_stripe_flows?: { - requested: boolean; - }; - /** outbound_payments */ - outbound_payments?: { - /** access_with_ach_details */ - ach?: { - requested: boolean; - }; - /** access */ - us_domestic_wire?: { - requested: boolean; - }; - }; - /** outbound_transfers */ - outbound_transfers?: { - /** access_with_ach_details */ - ach?: { - requested: boolean; - }; - /** access */ - us_domestic_wire?: { - requested: boolean; - }; - }; - }; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** - * platform_restrictions - * @description The set of functionalities that the platform can restrict on the FinancialAccount. - */ - platform_restrictions?: { - /** @enum {string} */ - inbound_flows?: "restricted" | "unrestricted"; - /** @enum {string} */ - outbound_flows?: "restricted" | "unrestricted"; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.financial_account"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves Features information associated with the FinancialAccount.

*/ - GetTreasuryFinancialAccountsFinancialAccountFeatures: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - financial_account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.financial_account_features"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the Features associated with a FinancialAccount.

*/ - PostTreasuryFinancialAccountsFinancialAccountFeatures: { - parameters: { - path: { - financial_account: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** - * access - * @description Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount. - */ - card_issuing?: { - requested: boolean; - }; - /** - * access - * @description Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount. - */ - deposit_insurance?: { - requested: boolean; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** - * financial_addresses - * @description Contains Features that add FinancialAddresses to the FinancialAccount. - */ - financial_addresses?: { - /** aba_access */ - aba?: { - requested: boolean; - }; - }; - /** - * inbound_transfers - * @description Contains settings related to adding funds to a FinancialAccount from another Account with the same owner. - */ - inbound_transfers?: { - /** access_with_ach_details */ - ach?: { - requested: boolean; - }; - }; - /** - * access - * @description Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment). - */ - intra_stripe_flows?: { - requested: boolean; - }; - /** - * outbound_payments - * @description Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money. - */ - outbound_payments?: { - /** access_with_ach_details */ - ach?: { - requested: boolean; - }; - /** access */ - us_domestic_wire?: { - requested: boolean; - }; - }; - /** - * outbound_transfers - * @description Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner. - */ - outbound_transfers?: { - /** access_with_ach_details */ - ach?: { - requested: boolean; - }; - /** access */ - us_domestic_wire?: { - requested: boolean; - }; - }; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.financial_account_features"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of InboundTransfers sent from the specified FinancialAccount.

*/ - GetTreasuryInboundTransfers: { - parameters: { - query: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Returns objects associated with this FinancialAccount. */ - financial_account: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return InboundTransfers that have the given status: `processing`, `succeeded`, `failed` or `canceled`. */ - status?: "canceled" | "failed" | "processing" | "succeeded"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["treasury.inbound_transfer"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates an InboundTransfer.

*/ - PostTreasuryInboundTransfers: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Amount (in cents) to be transferred. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The FinancialAccount to send funds to. */ - financial_account: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The origin payment method to be debited for the InboundTransfer. */ - origin_payment_method: string; - /** @description The complete description that appears on your customers' statements. Maximum 10 characters. */ - statement_descriptor?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.inbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing InboundTransfer.

*/ - GetTreasuryInboundTransfersId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.inbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Cancels an InboundTransfer.

*/ - PostTreasuryInboundTransfersInboundTransferCancel: { - parameters: { - path: { - inbound_transfer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.inbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of OutboundPayments sent from the specified FinancialAccount.

*/ - GetTreasuryOutboundPayments: { - parameters: { - query: { - /** @description Only return OutboundPayments sent to this customer. */ - customer?: string; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Returns objects associated with this FinancialAccount. */ - financial_account: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return OutboundPayments that have the given status: `processing`, `failed`, `posted`, `returned`, or `canceled`. */ - status?: "canceled" | "failed" | "posted" | "processing" | "returned"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["treasury.outbound_payment"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates an OutboundPayment.

*/ - PostTreasuryOutboundPayments: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Amount (in cents) to be transferred. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description ID of the customer to whom the OutboundPayment is sent. Must match the Customer attached to the `destination_payment_method` passed in. */ - customer?: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description The PaymentMethod to use as the payment instrument for the OutboundPayment. Exclusive with `destination_payment_method_data`. */ - destination_payment_method?: string; - /** - * payment_method_data - * @description Hash used to generate the PaymentMethod to be used for this OutboundPayment. Exclusive with `destination_payment_method`. - */ - destination_payment_method_data?: { - /** billing_details_inner_params */ - billing_details?: { - address?: { - city?: string; - country?: string; - line1?: string; - line2?: string; - postal_code?: string; - state?: string; - } | ""; - email?: string | ""; - name?: string | ""; - phone?: string | ""; - }; - financial_account?: string; - metadata?: { - [key: string]: string; + }; + }; + DeleteWebhookEndpointsWebhookEndpoint: { + parameters: { + query?: never; + header?: never; + path: { + webhook_endpoint: string; }; - /** @enum {string} */ - type: "financial_account" | "us_bank_account"; - /** payment_method_param */ - us_bank_account?: { - /** @enum {string} */ - account_holder_type?: "company" | "individual"; - account_number?: string; - /** @enum {string} */ - account_type?: "checking" | "savings"; - financial_connections_account?: string; - routing_number?: string; - }; - }; - /** - * payment_method_options - * @description Payment method-specific configuration for this OutboundPayment. - */ - destination_payment_method_options?: { - us_bank_account?: ({ - /** @enum {string} */ - network?: "ach" | "us_domestic_wire"; - }) | ""; - }; - /** - * end_user_details_params - * @description End user details. - */ - end_user_details?: { - ip_address?: string; - present: boolean; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The FinancialAccount to pull funds from. */ - financial_account: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description The description that appears on the receiving end for this OutboundPayment (for example, bank statement for external bank transfer). Maximum 10 characters for `ach` payments, 140 characters for `wire` payments, or 500 characters for `stripe` network transfers. The default value is `payment`. */ - statement_descriptor?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_payment"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list.

*/ - GetTreasuryOutboundPaymentsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_payment"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Cancel an OutboundPayment.

*/ - PostTreasuryOutboundPaymentsIdCancel: { - parameters: { - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_payment"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of OutboundTransfers sent from the specified FinancialAccount.

*/ - GetTreasuryOutboundTransfers: { - parameters: { - query: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Returns objects associated with this FinancialAccount. */ - financial_account: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return OutboundTransfers that have the given status: `processing`, `canceled`, `failed`, `posted`, or `returned`. */ - status?: "canceled" | "failed" | "posted" | "processing" | "returned"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["treasury.outbound_transfer"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Creates an OutboundTransfer.

*/ - PostTreasuryOutboundTransfers: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** @description Amount (in cents) to be transferred. */ - amount: number; - /** @description Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ - currency: string; - /** @description An arbitrary string attached to the object. Often useful for displaying to users. */ - description?: string; - /** @description The PaymentMethod to use as the payment instrument for the OutboundTransfer. */ - destination_payment_method?: string; - /** - * payment_method_options - * @description Hash describing payment method configuration details. - */ - destination_payment_method_options?: { - us_bank_account?: ({ - /** @enum {string} */ - network?: "ach" | "us_domestic_wire"; - }) | ""; - }; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The FinancialAccount to pull funds from. */ - financial_account: string; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - }; - /** @description Statement descriptor to be shown on the receiving end of an OutboundTransfer. Maximum 10 characters for `ach` transfers or 140 characters for `wire` transfers. The default value is `transfer`. */ - statement_descriptor?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list.

*/ - GetTreasuryOutboundTransfersOutboundTransfer: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - outbound_transfer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

An OutboundTransfer can be canceled if the funds have not yet been paid out.

*/ - PostTreasuryOutboundTransfersOutboundTransferCancel: { - parameters: { - path: { - outbound_transfer: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.outbound_transfer"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of ReceivedCredits.

*/ - GetTreasuryReceivedCredits: { - parameters: { - query: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The FinancialAccount that received the funds. */ - financial_account: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description Only return ReceivedCredits described by the flow. */ - linked_flows?: { - /** @enum {string} */ - source_flow_type: "credit_reversal" | "other" | "outbound_payment" | "payout"; - }; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return ReceivedCredits that have the given status: `succeeded` or `failed`. */ - status?: "failed" | "succeeded"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["treasury.received_credit"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list.

*/ - GetTreasuryReceivedCreditsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.received_credit"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of ReceivedDebits.

*/ - GetTreasuryReceivedDebits: { - parameters: { - query: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description The FinancialAccount that funds were pulled from. */ - financial_account: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return ReceivedDebits that have the given status: `succeeded` or `failed`. */ - status?: "failed" | "succeeded"; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["treasury.received_debit"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list

*/ - GetTreasuryReceivedDebitsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.received_debit"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a list of TransactionEntry objects.

*/ - GetTreasuryTransactionEntries: { - parameters: { - query: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - effective_at?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Returns objects associated with this FinancialAccount. */ - financial_account: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description The results are in reverse chronological order by `created` or `effective_at`. The default is `created`. */ - order_by?: "created" | "effective_at"; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return TransactionEntries associated with this Transaction. */ - transaction?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["treasury.transaction_entry"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a TransactionEntry object.

*/ - GetTreasuryTransactionEntriesId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.transaction_entry"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves a list of Transaction objects.

*/ - GetTreasuryTransactions: { - parameters: { - query: { - created?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Returns objects associated with this FinancialAccount. */ - financial_account: string; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description The results are in reverse chronological order by `created` or `posted_at`. The default is `created`. */ - order_by?: "created" | "posted_at"; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - /** @description Only return Transactions that have the given status: `open`, `posted`, or `void`. */ - status?: "open" | "posted" | "void"; - /** @description A filter for the `status_transitions.posted_at` timestamp. When using this filter, `status=posted` and `order_by=posted_at` must also be specified. */ - status_transitions?: { - posted_at?: { - gt?: number; - gte?: number; - lt?: number; - lte?: number; - } | number; - }; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - /** @description Details about each object. */ - data: components["schemas"]["treasury.transaction"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the details of an existing Transaction.

*/ - GetTreasuryTransactionsId: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - id: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["treasury.transaction"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Returns a list of your webhook endpoints.

*/ - GetWebhookEndpoints: { - parameters: { - query?: { - /** @description A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. */ - ending_before?: string; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. */ - limit?: number; - /** @description A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. */ - starting_after?: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": { - data: components["schemas"]["webhook_endpoint"][]; - /** @description True if this list has another page of items after this one that can be fetched. */ - has_more: boolean; - /** - * @description String representing the object's type. Objects of the same type share the same value. Always has the value `list`. - * @enum {string} - */ - object: "list"; - /** @description The URL where this list can be accessed. */ - url: string; - }; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

A webhook endpoint must have a url and a list of enabled_events. You may optionally specify the Boolean connect parameter. If set to true, then a Connect webhook endpoint that notifies the specified url about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url only about events from your account is created. You can also create webhook endpoints in the webhooks settings section of the Dashboard.

*/ - PostWebhookEndpoints: { - requestBody: { - content: { - "application/x-www-form-urlencoded": { - /** - * @description Events sent to this endpoint will be generated with this Stripe Version instead of your account's default Stripe Version. - * @enum {string} - */ - api_version?: "2011-01-01" | "2011-06-21" | "2011-06-28" | "2011-08-01" | "2011-09-15" | "2011-11-17" | "2012-02-23" | "2012-03-25" | "2012-06-18" | "2012-06-28" | "2012-07-09" | "2012-09-24" | "2012-10-26" | "2012-11-07" | "2013-02-11" | "2013-02-13" | "2013-07-05" | "2013-08-12" | "2013-08-13" | "2013-10-29" | "2013-12-03" | "2014-01-31" | "2014-03-13" | "2014-03-28" | "2014-05-19" | "2014-06-13" | "2014-06-17" | "2014-07-22" | "2014-07-26" | "2014-08-04" | "2014-08-20" | "2014-09-08" | "2014-10-07" | "2014-11-05" | "2014-11-20" | "2014-12-08" | "2014-12-17" | "2014-12-22" | "2015-01-11" | "2015-01-26" | "2015-02-10" | "2015-02-16" | "2015-02-18" | "2015-03-24" | "2015-04-07" | "2015-06-15" | "2015-07-07" | "2015-07-13" | "2015-07-28" | "2015-08-07" | "2015-08-19" | "2015-09-03" | "2015-09-08" | "2015-09-23" | "2015-10-01" | "2015-10-12" | "2015-10-16" | "2016-02-03" | "2016-02-19" | "2016-02-22" | "2016-02-23" | "2016-02-29" | "2016-03-07" | "2016-06-15" | "2016-07-06" | "2016-10-19" | "2017-01-27" | "2017-02-14" | "2017-04-06" | "2017-05-25" | "2017-06-05" | "2017-08-15" | "2017-12-14" | "2018-01-23" | "2018-02-05" | "2018-02-06" | "2018-02-28" | "2018-05-21" | "2018-07-27" | "2018-08-23" | "2018-09-06" | "2018-09-24" | "2018-10-31" | "2018-11-08" | "2019-02-11" | "2019-02-19" | "2019-03-14" | "2019-05-16" | "2019-08-14" | "2019-09-09" | "2019-10-08" | "2019-10-17" | "2019-11-05" | "2019-12-03" | "2020-03-02" | "2020-08-27" | "2022-08-01" | "2022-11-15" | "2023-08-16"; - /** @description Whether this endpoint should receive events from connected accounts (`true`), or from your account (`false`). Defaults to `false`. */ - connect?: boolean; - /** @description An optional description of what the webhook is used for. */ - description?: string | ""; - /** @description The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection. */ - enabled_events: ("*" | "account.application.authorized" | "account.application.deauthorized" | "account.external_account.created" | "account.external_account.deleted" | "account.external_account.updated" | "account.updated" | "application_fee.created" | "application_fee.refund.updated" | "application_fee.refunded" | "balance.available" | "billing_portal.configuration.created" | "billing_portal.configuration.updated" | "billing_portal.session.created" | "capability.updated" | "cash_balance.funds_available" | "charge.captured" | "charge.dispute.closed" | "charge.dispute.created" | "charge.dispute.funds_reinstated" | "charge.dispute.funds_withdrawn" | "charge.dispute.updated" | "charge.expired" | "charge.failed" | "charge.pending" | "charge.refund.updated" | "charge.refunded" | "charge.succeeded" | "charge.updated" | "checkout.session.async_payment_failed" | "checkout.session.async_payment_succeeded" | "checkout.session.completed" | "checkout.session.expired" | "coupon.created" | "coupon.deleted" | "coupon.updated" | "credit_note.created" | "credit_note.updated" | "credit_note.voided" | "customer.created" | "customer.deleted" | "customer.discount.created" | "customer.discount.deleted" | "customer.discount.updated" | "customer.source.created" | "customer.source.deleted" | "customer.source.expiring" | "customer.source.updated" | "customer.subscription.created" | "customer.subscription.deleted" | "customer.subscription.paused" | "customer.subscription.pending_update_applied" | "customer.subscription.pending_update_expired" | "customer.subscription.resumed" | "customer.subscription.trial_will_end" | "customer.subscription.updated" | "customer.tax_id.created" | "customer.tax_id.deleted" | "customer.tax_id.updated" | "customer.updated" | "customer_cash_balance_transaction.created" | "file.created" | "financial_connections.account.created" | "financial_connections.account.deactivated" | "financial_connections.account.disconnected" | "financial_connections.account.reactivated" | "financial_connections.account.refreshed_balance" | "identity.verification_session.canceled" | "identity.verification_session.created" | "identity.verification_session.processing" | "identity.verification_session.redacted" | "identity.verification_session.requires_input" | "identity.verification_session.verified" | "invoice.created" | "invoice.deleted" | "invoice.finalization_failed" | "invoice.finalized" | "invoice.marked_uncollectible" | "invoice.paid" | "invoice.payment_action_required" | "invoice.payment_failed" | "invoice.payment_succeeded" | "invoice.sent" | "invoice.upcoming" | "invoice.updated" | "invoice.voided" | "invoiceitem.created" | "invoiceitem.deleted" | "issuing_authorization.created" | "issuing_authorization.request" | "issuing_authorization.updated" | "issuing_card.created" | "issuing_card.updated" | "issuing_cardholder.created" | "issuing_cardholder.updated" | "issuing_dispute.closed" | "issuing_dispute.created" | "issuing_dispute.funds_reinstated" | "issuing_dispute.submitted" | "issuing_dispute.updated" | "issuing_transaction.created" | "issuing_transaction.updated" | "mandate.updated" | "payment_intent.amount_capturable_updated" | "payment_intent.canceled" | "payment_intent.created" | "payment_intent.partially_funded" | "payment_intent.payment_failed" | "payment_intent.processing" | "payment_intent.requires_action" | "payment_intent.succeeded" | "payment_link.created" | "payment_link.updated" | "payment_method.attached" | "payment_method.automatically_updated" | "payment_method.detached" | "payment_method.updated" | "payout.canceled" | "payout.created" | "payout.failed" | "payout.paid" | "payout.reconciliation_completed" | "payout.updated" | "person.created" | "person.deleted" | "person.updated" | "plan.created" | "plan.deleted" | "plan.updated" | "price.created" | "price.deleted" | "price.updated" | "product.created" | "product.deleted" | "product.updated" | "promotion_code.created" | "promotion_code.updated" | "quote.accepted" | "quote.canceled" | "quote.created" | "quote.finalized" | "radar.early_fraud_warning.created" | "radar.early_fraud_warning.updated" | "refund.created" | "refund.updated" | "reporting.report_run.failed" | "reporting.report_run.succeeded" | "reporting.report_type.updated" | "review.closed" | "review.opened" | "setup_intent.canceled" | "setup_intent.created" | "setup_intent.requires_action" | "setup_intent.setup_failed" | "setup_intent.succeeded" | "sigma.scheduled_query_run.created" | "source.canceled" | "source.chargeable" | "source.failed" | "source.mandate_notification" | "source.refund_attributes_required" | "source.transaction.created" | "source.transaction.updated" | "subscription_schedule.aborted" | "subscription_schedule.canceled" | "subscription_schedule.completed" | "subscription_schedule.created" | "subscription_schedule.expiring" | "subscription_schedule.released" | "subscription_schedule.updated" | "tax.settings.updated" | "tax_rate.created" | "tax_rate.updated" | "terminal.reader.action_failed" | "terminal.reader.action_succeeded" | "test_helpers.test_clock.advancing" | "test_helpers.test_clock.created" | "test_helpers.test_clock.deleted" | "test_helpers.test_clock.internal_failure" | "test_helpers.test_clock.ready" | "topup.canceled" | "topup.created" | "topup.failed" | "topup.reversed" | "topup.succeeded" | "transfer.created" | "transfer.reversed" | "transfer.updated" | "treasury.credit_reversal.created" | "treasury.credit_reversal.posted" | "treasury.debit_reversal.completed" | "treasury.debit_reversal.created" | "treasury.debit_reversal.initial_credit_granted" | "treasury.financial_account.closed" | "treasury.financial_account.created" | "treasury.financial_account.features_status_updated" | "treasury.inbound_transfer.canceled" | "treasury.inbound_transfer.created" | "treasury.inbound_transfer.failed" | "treasury.inbound_transfer.succeeded" | "treasury.outbound_payment.canceled" | "treasury.outbound_payment.created" | "treasury.outbound_payment.expected_arrival_date_updated" | "treasury.outbound_payment.failed" | "treasury.outbound_payment.posted" | "treasury.outbound_payment.returned" | "treasury.outbound_transfer.canceled" | "treasury.outbound_transfer.created" | "treasury.outbound_transfer.expected_arrival_date_updated" | "treasury.outbound_transfer.failed" | "treasury.outbound_transfer.posted" | "treasury.outbound_transfer.returned" | "treasury.received_credit.created" | "treasury.received_credit.failed" | "treasury.received_credit.succeeded" | "treasury.received_debit.created")[]; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The URL of the webhook endpoint. */ - url: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["webhook_endpoint"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Retrieves the webhook endpoint with the given ID.

*/ - GetWebhookEndpointsWebhookEndpoint: { - parameters: { - query?: { - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - }; - path: { - webhook_endpoint: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["webhook_endpoint"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint.

*/ - PostWebhookEndpointsWebhookEndpoint: { - parameters: { - path: { - webhook_endpoint: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": { - /** @description An optional description of what the webhook is used for. */ - description?: string | ""; - /** @description Disable the webhook endpoint if set to true. */ - disabled?: boolean; - /** @description The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection. */ - enabled_events?: ("*" | "account.application.authorized" | "account.application.deauthorized" | "account.external_account.created" | "account.external_account.deleted" | "account.external_account.updated" | "account.updated" | "application_fee.created" | "application_fee.refund.updated" | "application_fee.refunded" | "balance.available" | "billing_portal.configuration.created" | "billing_portal.configuration.updated" | "billing_portal.session.created" | "capability.updated" | "cash_balance.funds_available" | "charge.captured" | "charge.dispute.closed" | "charge.dispute.created" | "charge.dispute.funds_reinstated" | "charge.dispute.funds_withdrawn" | "charge.dispute.updated" | "charge.expired" | "charge.failed" | "charge.pending" | "charge.refund.updated" | "charge.refunded" | "charge.succeeded" | "charge.updated" | "checkout.session.async_payment_failed" | "checkout.session.async_payment_succeeded" | "checkout.session.completed" | "checkout.session.expired" | "coupon.created" | "coupon.deleted" | "coupon.updated" | "credit_note.created" | "credit_note.updated" | "credit_note.voided" | "customer.created" | "customer.deleted" | "customer.discount.created" | "customer.discount.deleted" | "customer.discount.updated" | "customer.source.created" | "customer.source.deleted" | "customer.source.expiring" | "customer.source.updated" | "customer.subscription.created" | "customer.subscription.deleted" | "customer.subscription.paused" | "customer.subscription.pending_update_applied" | "customer.subscription.pending_update_expired" | "customer.subscription.resumed" | "customer.subscription.trial_will_end" | "customer.subscription.updated" | "customer.tax_id.created" | "customer.tax_id.deleted" | "customer.tax_id.updated" | "customer.updated" | "customer_cash_balance_transaction.created" | "file.created" | "financial_connections.account.created" | "financial_connections.account.deactivated" | "financial_connections.account.disconnected" | "financial_connections.account.reactivated" | "financial_connections.account.refreshed_balance" | "identity.verification_session.canceled" | "identity.verification_session.created" | "identity.verification_session.processing" | "identity.verification_session.redacted" | "identity.verification_session.requires_input" | "identity.verification_session.verified" | "invoice.created" | "invoice.deleted" | "invoice.finalization_failed" | "invoice.finalized" | "invoice.marked_uncollectible" | "invoice.paid" | "invoice.payment_action_required" | "invoice.payment_failed" | "invoice.payment_succeeded" | "invoice.sent" | "invoice.upcoming" | "invoice.updated" | "invoice.voided" | "invoiceitem.created" | "invoiceitem.deleted" | "issuing_authorization.created" | "issuing_authorization.request" | "issuing_authorization.updated" | "issuing_card.created" | "issuing_card.updated" | "issuing_cardholder.created" | "issuing_cardholder.updated" | "issuing_dispute.closed" | "issuing_dispute.created" | "issuing_dispute.funds_reinstated" | "issuing_dispute.submitted" | "issuing_dispute.updated" | "issuing_transaction.created" | "issuing_transaction.updated" | "mandate.updated" | "payment_intent.amount_capturable_updated" | "payment_intent.canceled" | "payment_intent.created" | "payment_intent.partially_funded" | "payment_intent.payment_failed" | "payment_intent.processing" | "payment_intent.requires_action" | "payment_intent.succeeded" | "payment_link.created" | "payment_link.updated" | "payment_method.attached" | "payment_method.automatically_updated" | "payment_method.detached" | "payment_method.updated" | "payout.canceled" | "payout.created" | "payout.failed" | "payout.paid" | "payout.reconciliation_completed" | "payout.updated" | "person.created" | "person.deleted" | "person.updated" | "plan.created" | "plan.deleted" | "plan.updated" | "price.created" | "price.deleted" | "price.updated" | "product.created" | "product.deleted" | "product.updated" | "promotion_code.created" | "promotion_code.updated" | "quote.accepted" | "quote.canceled" | "quote.created" | "quote.finalized" | "radar.early_fraud_warning.created" | "radar.early_fraud_warning.updated" | "refund.created" | "refund.updated" | "reporting.report_run.failed" | "reporting.report_run.succeeded" | "reporting.report_type.updated" | "review.closed" | "review.opened" | "setup_intent.canceled" | "setup_intent.created" | "setup_intent.requires_action" | "setup_intent.setup_failed" | "setup_intent.succeeded" | "sigma.scheduled_query_run.created" | "source.canceled" | "source.chargeable" | "source.failed" | "source.mandate_notification" | "source.refund_attributes_required" | "source.transaction.created" | "source.transaction.updated" | "subscription_schedule.aborted" | "subscription_schedule.canceled" | "subscription_schedule.completed" | "subscription_schedule.created" | "subscription_schedule.expiring" | "subscription_schedule.released" | "subscription_schedule.updated" | "tax.settings.updated" | "tax_rate.created" | "tax_rate.updated" | "terminal.reader.action_failed" | "terminal.reader.action_succeeded" | "test_helpers.test_clock.advancing" | "test_helpers.test_clock.created" | "test_helpers.test_clock.deleted" | "test_helpers.test_clock.internal_failure" | "test_helpers.test_clock.ready" | "topup.canceled" | "topup.created" | "topup.failed" | "topup.reversed" | "topup.succeeded" | "transfer.created" | "transfer.reversed" | "transfer.updated" | "treasury.credit_reversal.created" | "treasury.credit_reversal.posted" | "treasury.debit_reversal.completed" | "treasury.debit_reversal.created" | "treasury.debit_reversal.initial_credit_granted" | "treasury.financial_account.closed" | "treasury.financial_account.created" | "treasury.financial_account.features_status_updated" | "treasury.inbound_transfer.canceled" | "treasury.inbound_transfer.created" | "treasury.inbound_transfer.failed" | "treasury.inbound_transfer.succeeded" | "treasury.outbound_payment.canceled" | "treasury.outbound_payment.created" | "treasury.outbound_payment.expected_arrival_date_updated" | "treasury.outbound_payment.failed" | "treasury.outbound_payment.posted" | "treasury.outbound_payment.returned" | "treasury.outbound_transfer.canceled" | "treasury.outbound_transfer.created" | "treasury.outbound_transfer.expected_arrival_date_updated" | "treasury.outbound_transfer.failed" | "treasury.outbound_transfer.posted" | "treasury.outbound_transfer.returned" | "treasury.received_credit.created" | "treasury.received_credit.failed" | "treasury.received_credit.succeeded" | "treasury.received_debit.created")[]; - /** @description Specifies which fields in the response should be expanded. */ - expand?: string[]; - /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ - metadata?: { - [key: string]: string; - } | ""; - /** @description The URL of the webhook endpoint. */ - url?: string; - }; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["webhook_endpoint"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; - /** @description

You can also delete webhook endpoints via the webhook endpoint management page of the Stripe dashboard.

*/ - DeleteWebhookEndpointsWebhookEndpoint: { - parameters: { - path: { - webhook_endpoint: string; - }; - }; - requestBody?: { - content: { - "application/x-www-form-urlencoded": Record; - }; - }; - responses: { - /** @description Successful response. */ - 200: { - content: { - "application/json": components["schemas"]["deleted_webhook_endpoint"]; - }; - }; - /** @description Error response. */ - default: { - content: { - "application/json": components["schemas"]["error"]; - }; - }; - }; - }; + cookie?: never; + }; + requestBody?: { + content: { + "application/x-www-form-urlencoded": Record; + }; + }; + responses: { + /** @description Successful response. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["deleted_webhook_endpoint"]; + }; + }; + /** @description Error response. */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["error"]; + }; + }; + }; + }; } diff --git a/packages/openapi-typescript/examples/stripe-api.yaml b/packages/openapi-typescript/examples/stripe-api.yaml index f9de76017..96af6fbfc 100644 --- a/packages/openapi-typescript/examples/stripe-api.yaml +++ b/packages/openapi-typescript/examples/stripe-api.yaml @@ -1631,8 +1631,8 @@ components: - $ref: '#/components/schemas/card' - $ref: '#/components/schemas/source' description: >- - The source object for errors returned on a request involving a - source. + The [source object](https://stripe.com/docs/api/sources/object) for + errors returned on a request involving a source. type: description: >- The type of error returned. One of `api_error`, `card_error`, @@ -6759,8 +6759,9 @@ components: type: string - $ref: '#/components/schemas/balance_transaction' description: >- - The [Balance Transaction](docs/api/balance_transactions/object) that - corresponds to funds taken out of your Stripe balance. + The [Balance + Transaction](https://stripe.com/docs/api/balance_transactions/object) + that corresponds to funds taken out of your Stripe balance. x-expansionResources: oneOf: - $ref: '#/components/schemas/balance_transaction' @@ -11413,11 +11414,6 @@ components: displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. nullable: true - rendering_options: - anyOf: - - $ref: '#/components/schemas/invoice_setting_rendering_options' - description: Options for invoice PDF rendering. - nullable: true shipping_cost: anyOf: - $ref: '#/components/schemas/invoices_shipping_cost' @@ -11607,7 +11603,6 @@ components: - payment_settings - quote - rendering - - rendering_options - shipping_cost - shipping_details - status_transitions @@ -13755,6 +13750,17 @@ components: approved: description: Whether this request was approved. type: boolean + authorization_code: + description: >- + A code created by Stripe which is shared with the merchant to + validate the authorization. This field will be populated if the + authorization message was approved. The code is typically a + six-digit number prefixed with ‘S’. For example, S498162. Please + note that the code is not guaranteed to be unique across + authorizations. + maxLength: 5000 + nullable: true + type: string created: description: >- Time at which the object was created. Measured in seconds since the @@ -18335,7 +18341,7 @@ components: amount_details: $ref: '#/components/schemas/payment_flows_amount_details' amount_received: - description: Amount that was collected by this PaymentIntent. + description: Amount that this PaymentIntent collects. type: integer application: anyOf: @@ -18492,7 +18498,7 @@ components: - maxLength: 5000 type: string - $ref: '#/components/schemas/charge' - description: The latest charge created by this payment intent. + description: The latest charge created by this PaymentIntent. nullable: true x-expansionResources: oneOf: @@ -18509,9 +18515,9 @@ components: description: >- Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing - additional information about the object in a structured format. For - more information, see the - [documentation](https://stripe.com/docs/payments/payment-intents/creating-payment-intents#storing-information-in-metadata). + additional information about the object in a structured format. + Learn more about [storing information in + metadata](https://stripe.com/docs/payments/payment-intents/creating-payment-intents#storing-information-in-metadata). type: object next_action: anyOf: @@ -18666,17 +18672,15 @@ components: anyOf: - $ref: '#/components/schemas/transfer_data' description: >- - The data with which to automatically create a Transfer when the - payment is finalized. See the PaymentIntents [use case for connected - accounts](https://stripe.com/docs/payments/connected-accounts) for - details. + The data that automatically creates a Transfer after the payment + finalizes. Learn more about the [use case for connected + accounts](https://stripe.com/docs/payments/connected-accounts). nullable: true transfer_group: description: >- A string that identifies the resulting payment as part of a group. - See the PaymentIntents [use case for connected - accounts](https://stripe.com/docs/connect/separate-charges-and-transfers) - for details. + Learn more about the [use case for connected + accounts](https://stripe.com/docs/connect/separate-charges-and-transfers). maxLength: 5000 nullable: true type: string @@ -21840,9 +21844,8 @@ components: properties: overridable: description: >- - For child configurations, whether or not the account's preference - will be observed. If `false`, the parent configuration's preference - is used. + For child configs, whether or not the account's preference will be + observed. If `false`, the parent configuration's default is used. nullable: true type: boolean preference: @@ -21884,7 +21887,46 @@ components: x-expandableFields: - display_preference payment_method_configuration: - description: An object detailing payment method configurations. + description: >- + PaymentMethodConfigurations control which payment methods are displayed + to your customers when you don't explicitly specify payment method + types. You can have multiple configurations with different sets of + payment methods for different scenarios. + + + There are two types of PaymentMethodConfigurations. Which is used + depends on the [charge type](https://stripe.com/docs/connect/charges): + + + **Direct** configurations apply to payments created on your account, + including Connect destination charges, Connect separate charges and + transfers, and payments not involving Connect. + + + **Child** configurations apply to payments created on your connected + accounts using direct charges, and charges with the on_behalf_of + parameter. + + + Child configurations have a `parent` that sets default values and + controls which settings connected accounts may override. You can specify + a parent ID at payment time, and Stripe will automatically resolve the + connected account’s associated child configuration. Parent + configurations are [managed in the + dashboard](https://dashboard.stripe.com/settings/payment_methods/connected_accounts) + and are not available in this API. + + + Related guides: + + - [Payment Method Configurations + API](https://stripe.com/docs/connect/payment-method-configurations) + + - [Multiple payment method configurations on dynamic payment + methods](https://stripe.com/docs/payments/multiple-payment-method-configs) + + - [Multiple configurations for your Connect + accounts](https://stripe.com/docs/connect/multiple-payment-method-configurations) properties: acss_debit: $ref: >- @@ -21905,7 +21947,9 @@ components: $ref: >- #/components/schemas/payment_method_config_resource_payment_method_properties application: - description: The Connect application associated with this configuration. + description: >- + For child configs, the Connect application associated with the + configuration. maxLength: 5000 nullable: true type: string @@ -21960,8 +22004,8 @@ components: #/components/schemas/payment_method_config_resource_payment_method_properties is_default: description: >- - The default configuration is used whenever no payment method - configuration is specified. + The default configuration is used whenever a payment method + configuration is not specified. type: boolean jcb: $ref: >- @@ -21984,7 +22028,7 @@ components: $ref: >- #/components/schemas/payment_method_config_resource_payment_method_properties name: - description: Configuration name. + description: The configuration's name. maxLength: 5000 type: string netbanking: @@ -22004,7 +22048,7 @@ components: $ref: >- #/components/schemas/payment_method_config_resource_payment_method_properties parent: - description: The configuration's parent configuration. + description: 'For child configs, the configuration''s parent configuration.' maxLength: 5000 nullable: true type: string @@ -24399,12 +24443,11 @@ components: type: string reference: description: >- - Order identifier shown to the customer in Afterpay’s online portal. - We recommend using a value that helps you answer any questions a - customer might have about + An internal identifier or reference that this payment corresponds + to. You must limit the identifier to 128 characters, and it can only + contain letters, numbers, underscores, backslashes, and dashes. - the payment. The identifier is limited to 128 characters and may - contain only letters, digits, underscores, backslashes and dashes. + This field differs from the statement descriptor and item name. maxLength: 5000 nullable: true type: string @@ -27841,7 +27884,7 @@ components: description: >- The price the customer should subscribe to through this flow. The price must also be included in the configuration's - [`features.subscription_update.products`](docs/api/customer_portal/configuration#portal_configuration_object-features-subscription_update-products). + [`features.subscription_update.products`](https://stripe.com/docs/api/customer_portal/configuration#portal_configuration_object-features-subscription_update-products). maxLength: 5000 nullable: true type: string @@ -29625,13 +29668,12 @@ components: x-expandableFields: [] refund: description: >- - `Refund` objects allow you to refund a charge that has previously been - created + Refund objects allow you to refund a previously created charge that + isn't - but not yet refunded. Funds will be refunded to the credit or debit card - that + refunded yet. Funds are refunded to the credit or debit card that's - was originally charged. + initially charged. Related guide: [Refunds](https://stripe.com/docs/refunds) @@ -29656,7 +29698,7 @@ components: - maxLength: 5000 type: string - $ref: '#/components/schemas/charge' - description: ID of the charge that was refunded. + description: ID of the charge that's refunded. nullable: true x-expansionResources: oneOf: @@ -29676,8 +29718,8 @@ components: type: string description: description: >- - An arbitrary string attached to the object. Often useful for - displaying to users. (Available on non-card refunds only) + An arbitrary string attached to the object. You can use this for + displaying to users (available on non-card refunds only). maxLength: 5000 type: string failure_balance_transaction: @@ -29686,7 +29728,7 @@ components: type: string - $ref: '#/components/schemas/balance_transaction' description: >- - If the refund failed, this balance transaction describes the + After the refund fails, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction. x-expansionResources: @@ -29694,10 +29736,10 @@ components: - $ref: '#/components/schemas/balance_transaction' failure_reason: description: >- - If the refund failed, the reason for refund failure if known. - Possible values are `lost_or_stolen_card`, - `expired_or_canceled_card`, `charge_for_pending_refund_disputed`, - `insufficient_funds`, `declined`, `merchant_request` or `unknown`. + Provides the reason for the refund failure. Possible values are: + `lost_or_stolen_card`, `expired_or_canceled_card`, + `charge_for_pending_refund_disputed`, `insufficient_funds`, + `declined`, `merchant_request`, or `unknown`. maxLength: 5000 type: string id: @@ -29706,8 +29748,9 @@ components: type: string instructions_email: description: >- - For payment methods without native refund support (e.g., Konbini, - PromptPay), email for the customer to receive refund instructions. + For payment methods without native refund support (for example, + Konbini, PromptPay), provide an email address for the customer to + receive refund instructions. maxLength: 5000 type: string metadata: @@ -29734,14 +29777,14 @@ components: - maxLength: 5000 type: string - $ref: '#/components/schemas/payment_intent' - description: ID of the PaymentIntent that was refunded. + description: ID of the PaymentIntent that's refunded. nullable: true x-expansionResources: oneOf: - $ref: '#/components/schemas/payment_intent' reason: description: >- - Reason for the refund, either user-provided (`duplicate`, + Reason for the refund, which is either user-provided (`duplicate`, `fraudulent`, or `requested_by_customer`) or generated by Stripe internally (`expired_uncaptured_charge`). enum: @@ -29765,9 +29808,8 @@ components: type: string - $ref: '#/components/schemas/transfer_reversal' description: >- - The transfer reversal that is associated with the refund. Only - present if the charge came from another Stripe account. See the - Connect documentation for details. + The transfer reversal that's associated with the refund. Only + present if the charge came from another Stripe account. nullable: true x-expansionResources: oneOf: @@ -29777,9 +29819,8 @@ components: Status of the refund. For credit card refunds, this can be `pending`, `succeeded`, or `failed`. For other types of refunds, it can be `pending`, `requires_action`, `succeeded`, `failed`, or - `canceled`. Refer to our - [refunds](https://stripe.com/docs/refunds#failed-refunds) - documentation for more details. + `canceled`. Learn more about [failed + refunds](https://stripe.com/docs/refunds#failed-refunds). maxLength: 5000 nullable: true type: string @@ -29789,9 +29830,9 @@ components: type: string - $ref: '#/components/schemas/transfer_reversal' description: >- - If the accompanying transfer was reversed, the transfer reversal - object. Only applicable if the charge was created using the - destination parameter. + This refers to the transfer reversal object if the accompanying + transfer reverses. This is only applicable if the charge was created + using the destination parameter. nullable: true x-expansionResources: oneOf: @@ -37089,43 +37130,42 @@ components: your customers in a secure manner. A token representing this information is - returned to your server to use. You should use our + returned to your server to use. Use our [recommended payments integrations](https://stripe.com/docs/payments) to perform this process - client-side. This ensures that no sensitive card data touches your - server, + on the client-side. This guarantees that no sensitive card data touches + your server, and allows your integration to operate in a PCI-compliant way. - If you cannot use client-side tokenization, you can also create tokens + If you can't use client-side tokenization, you can also create tokens using - the API with either your publishable or secret API key. Keep in mind - that if + the API with either your publishable or secret API key. If - your integration uses this method, you are responsible for any PCI + your integration uses this method, you're responsible for any PCI compliance - that may be required, and you must keep your secret API key safe. Unlike - with + that it might require, and you must keep your secret API key safe. + Unlike with - client-side tokenization, your customer's information is not sent + client-side tokenization, your customer's information isn't sent directly to - Stripe, so we cannot determine how it is handled or stored. + Stripe, so we can't determine how it's handled or stored. - Tokens cannot be stored or used more than once. To store card or bank + You can't store or use tokens more than once. To store card or bank account - information for later use, you can create + information for later use, create [Customer](https://stripe.com/docs/api#customers) objects or [Custom - accounts](https://stripe.com/docs/api#external_accounts). Note that + accounts](https://stripe.com/docs/api#external_accounts). [Radar](https://stripe.com/docs/radar), our integrated solution for automatic fraud protection, @@ -37137,7 +37177,7 @@ components: card: $ref: '#/components/schemas/card' client_ip: - description: IP address of the client that generated the token. + description: IP address of the client that generates the token. maxLength: 5000 nullable: true type: string @@ -37169,8 +37209,8 @@ components: type: string used: description: >- - Whether this token has already been used (tokens can be used only - once). + Determines if you have already used this token (you can only use + tokens once). type: boolean required: - created @@ -37543,12 +37583,9 @@ components: - maxLength: 5000 type: string - $ref: '#/components/schemas/account' - description: >- - The account (if any) the payment will be attributed to for tax - - reporting, and where funds from the payment will be transferred to - upon - + description: |- + The account (if any) that the payment is attributed to for tax + reporting, and where funds from the payment are transferred to after payment success. x-expansionResources: oneOf: @@ -39588,7 +39625,7 @@ components: type: string present: description: >- - `true`` if the OutboundPayment creation request is being made on + `true` if the OutboundPayment creation request is being made on behalf of an end user by a platform. Otherwise, `false`. type: boolean required: @@ -43551,6 +43588,18 @@ paths: schema: type: integer style: form + - description: Filter external accounts according to a particular object type. + in: query + name: object + required: false + schema: + enum: + - bank_account + - card + maxLength: 5000 + type: string + x-stripeBypassValidation: true + style: form - description: >- A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a @@ -49918,29 +49967,28 @@ paths: '/v1/charges/{charge}/refund': post: description: >- -

When you create a new refund, you must specify a Charge or a - PaymentIntent object on which to create it.

+

When you create a new refund, you must specify either a Charge or a + PaymentIntent object.

-

Creating a new refund will refund a charge that has previously been - created but not yet refunded. +

This action refunds a previously created charge that’s not refunded + yet. - Funds will be refunded to the credit or debit card that was originally + Funds are refunded to the credit or debit card that’s originally charged.

You can optionally refund only part of a charge. - You can do so multiple times, until the entire charge has been - refunded.

+ You can repeat this until the entire charge is refunded.

-

Once entirely refunded, a charge can’t be refunded again. +

After you entirely refund a charge, you can’t refund it again. - This method will raise an error when called on an already-refunded + This method raises an error when it’s called on an already-refunded charge, - or when trying to refund more money than is left on a charge.

+ or when you attempt to refund more money than is left on a charge.

operationId: PostChargesChargeRefund parameters: - description: The identifier of the charge to refund. @@ -64149,9 +64197,6 @@ paths: rendering: explode: true style: deepObject - rendering_options: - explode: true - style: deepObject shipping_cost: explode: true style: deepObject @@ -64611,21 +64656,6 @@ paths: type: object title: rendering_param type: object - rendering_options: - anyOf: - - properties: - amount_tax_display: - enum: - - '' - - exclude_tax - - include_inclusive_tax - type: string - title: rendering_options_param - type: object - - enum: - - '' - type: string - description: Options for invoice PDF rendering. shipping_cost: description: Settings for the cost of shipping for this invoice. properties: @@ -66542,9 +66572,6 @@ paths: rendering: explode: true style: deepObject - rendering_options: - explode: true - style: deepObject shipping_cost: explode: true style: deepObject @@ -66976,21 +67003,6 @@ paths: type: object title: rendering_param type: object - rendering_options: - anyOf: - - properties: - amount_tax_display: - enum: - - '' - - exclude_tax - - include_inclusive_tax - type: string - title: rendering_options_param - type: object - - enum: - - '' - type: string - description: Options for invoice PDF rendering. shipping_cost: anyOf: - properties: @@ -75186,8 +75198,8 @@ paths: parameters: - description: >- A filter on the list, based on the object `created` field. The value - can be a string with an integer Unix timestamp, or it can be a - dictionary with a number of different query options. + can be a string with an integer Unix timestamp or a dictionary with + a number of different query options. explode: true in: query name: created @@ -75208,8 +75220,8 @@ paths: - type: integer style: deepObject - description: >- - Only return PaymentIntents for the customer specified by this - customer ID. + Only return PaymentIntents for the customer that this customer ID + specifies. in: query name: customer required: false @@ -75324,23 +75336,22 @@ paths:

After the PaymentIntent is created, attach a payment method and confirm - to continue the payment. You can read more about the different payment - flows + to continue the payment. Learn more about the available payment flows - available via the Payment Intents API here.

+ with the Payment Intents API.

-

When confirm=true is used during creation, it is +

When you use confirm=true during creation, it’s equivalent to creating - and confirming the PaymentIntent in the same call. You may use any + and confirming the PaymentIntent in the same call. You can use any parameters available in the confirm - API when confirm=true + API when you supply - is supplied.

+ confirm=true.

operationId: PostPaymentIntents requestBody: content: @@ -75407,9 +75418,9 @@ paths: type: integer automatic_payment_methods: description: >- - When enabled, this PaymentIntent will accept payment methods - that you have enabled in the Dashboard and are compatible - with this PaymentIntent's other parameters. + When you enable this parameter, this PaymentIntent accepts + payment methods that you enable in the Dashboard and that + are compatible with this PaymentIntent's other parameters. properties: allow_redirects: enum: @@ -75433,13 +75444,13 @@ paths: type: string confirm: description: >- - Set to `true` to attempt to - [confirm](https://stripe.com/docs/api/payment_intents/confirm) + Set to `true` to attempt to [confirm this + PaymentIntent](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent immediately. This parameter defaults to `false`. When creating and confirming a PaymentIntent at the - same time, parameters available in the - [confirm](https://stripe.com/docs/api/payment_intents/confirm) - API may also be provided. + same time, you can also provide the parameters available in + the [Confirm + API](https://stripe.com/docs/api/payment_intents/confirm). type: boolean confirmation_method: enum: @@ -75479,9 +75490,9 @@ paths: error_on_requires_action: description: >- Set to `true` to fail the payment attempt if the - PaymentIntent transitions into `requires_action`. This - parameter is intended for simpler integrations that do not - handle customer actions, like [saving cards without + PaymentIntent transitions into `requires_action`. Use this + parameter for simpler integrations that don't handle + customer actions, such as [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). @@ -75494,7 +75505,7 @@ paths: type: array mandate: description: >- - ID of the mandate to be used for this payment. This + ID of the mandate that's used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). maxLength: 5000 @@ -75565,17 +75576,17 @@ paths: maxLength: 5000 type: string description: >- - Set to `true` to indicate that the customer is not in your - checkout flow during this payment attempt, and therefore is - unable to authenticate. This parameter is intended for - scenarios where you collect card details and [charge them + Set to `true` to indicate that the customer isn't in your + checkout flow during this payment attempt and can't + authenticate. Use this parameter in scenarios where you + collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). on_behalf_of: description: >- - The Stripe account ID for which these funds are intended. - For details, see the PaymentIntents [use case for connected + The Stripe account ID that these funds are intended for. + Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). type: string payment_method: @@ -75586,11 +75597,11 @@ paths: object) to attach to this PaymentIntent. - If this parameter is omitted with `confirm=true`, - `customer.default_source` will be attached as this - PaymentIntent's payment instrument to improve the migration - experience for users of the Charges API. We recommend that - you explicitly provide the `payment_method` going forward. + If you omit this parameter with `confirm=true`, + `customer.default_source` attaches as this PaymentIntent's + payment instrument to improve migration for users of the + Charges API. We recommend that you explicitly provide the + `payment_method` moving forward. maxLength: 5000 type: string payment_method_configuration: @@ -76025,7 +76036,7 @@ paths: type: object payment_method_options: description: >- - Payment-method-specific configuration for this + Payment method-specific configuration for this PaymentIntent. properties: acss_debit: @@ -76887,9 +76898,9 @@ paths: type: object payment_method_types: description: >- - The list of payment method types (e.g. card) that this - PaymentIntent is allowed to use. If this is not provided, - defaults to ["card"]. Use automatic_payment_methods to + The list of payment method types (for example, a card) that + this PaymentIntent can use. If you don't provide this, it + defaults to ["card"]. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). items: @@ -76898,9 +76909,8 @@ paths: type: array radar_options: description: >- - Options to configure Radar. See [Radar - Session](https://stripe.com/docs/radar/radar-session) for - more information. + Options to configure Radar. Learn more about [Radar + Sessions](https://stripe.com/docs/radar/radar-session). properties: session: maxLength: 5000 @@ -76909,10 +76919,9 @@ paths: type: object receipt_email: description: >- - Email address that the receipt for the resulting payment - will be sent to. If `receipt_email` is specified for a - payment in live mode, a receipt will be sent regardless of - your [email + Email address to send the receipt to. If you specify + `receipt_email` for a payment in live mode, you send a + receipt regardless of your [email settings](https://dashboard.stripe.com/account/emails). type: string return_url: @@ -76994,8 +77003,9 @@ paths: statement_descriptor: description: >- For non-card charges, you can use this value as the complete - description that appears on your customers’ statements. Must - contain at least one letter, maximum 22 characters. + description that appears on your customers’ statements. It + must contain at least one letter and be 1–22 characters + long. maxLength: 22 type: string statement_descriptor_suffix: @@ -77003,17 +77013,16 @@ paths: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the - account to form the complete statement descriptor. Maximum - 22 characters for the concatenated descriptor. + account to form the complete statement descriptor. The + concatenated descriptor must contain 1-22 characters. maxLength: 22 type: string transfer_data: description: >- - The parameters used to automatically create a Transfer when - the payment succeeds. + The parameters that you can use to automatically create a + Transfer after the payment succeeds. - For more information, see the PaymentIntents [use case for - connected + Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). properties: amount: @@ -77027,9 +77036,8 @@ paths: transfer_group: description: >- A string that identifies the resulting payment as part of a - group. See the PaymentIntents [use case for connected - accounts](https://stripe.com/docs/connect/separate-charges-and-transfers) - for details. + group. Learn more about the [use case for connected + accounts](https://stripe.com/docs/connect/separate-charges-and-transfers). type: string use_stripe_sdk: description: >- @@ -77189,7 +77197,7 @@ paths: operationId: GetPaymentIntentsIntent parameters: - description: >- - The client secret of the PaymentIntent. It's required if you use a + The client secret of the PaymentIntent. We require it if you use a publishable key to retrieve the source. in: query name: client_secret @@ -78838,8 +78846,8 @@ paths: '/v1/payment_intents/{intent}/apply_customer_balance': post: description: >- -

Manually reconcile the remaining amount for a customer_balance - PaymentIntent.

+

Manually reconcile the remaining amount for a + customer_balance PaymentIntent.

operationId: PostPaymentIntentsIntentApplyCustomerBalance parameters: - in: path @@ -78861,22 +78869,22 @@ paths: properties: amount: description: >- - Amount intended to be applied to this PaymentIntent from the - customer’s cash balance. + Amount that you intend to apply to this PaymentIntent from + the customer’s cash balance. A positive integer representing how much to charge in the [smallest currency - unit](https://stripe.com/docs/currencies#zero-decimal) - (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a - zero-decimal currency). + unit](https://stripe.com/docs/currencies#zero-decimal) (for + example, 100 cents to charge 1 USD or 100 to charge 100 JPY, + a zero-decimal currency). The maximum amount is the amount of the PaymentIntent. - When omitted, the amount defaults to the remaining amount - requested on the PaymentIntent. + When you omit the amount, it defaults to the remaining + amount requested on the PaymentIntent. type: integer currency: description: >- @@ -78909,21 +78917,21 @@ paths: '/v1/payment_intents/{intent}/cancel': post: description: >- -

A PaymentIntent object can be canceled when it is in one of these +

You can cancel a PaymentIntent object when it’s in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, in rare cases, processing.

-

Once canceled, no additional charges will be made by the - PaymentIntent and any operations on the PaymentIntent will fail with an +

After it’s canceled, no additional charges are made by the + PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining - amount_capturable will automatically be refunded.

+ amount_capturable is automatically refunded.

-

You cannot cancel the PaymentIntent for a Checkout Session. You can’t cancel the PaymentIntent for a Checkout Session. Expire the Checkout Session instead.

operationId: PostPaymentIntentsIntentCancel @@ -78947,8 +78955,8 @@ paths: properties: cancellation_reason: description: >- - Reason for canceling this PaymentIntent. Possible values are - `duplicate`, `fraudulent`, `requested_by_customer`, or + Reason for canceling this PaymentIntent. Possible values + are: `duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned` enum: - abandoned @@ -78986,8 +78994,8 @@ paths: status is requires_capture.

-

Uncaptured PaymentIntents will be canceled a set number of days after - they are created (7 by default).

+

Uncaptured PaymentIntents are cancelled a set number of days (7 by + default) after their creation.

Learn more about separate @@ -79021,8 +79029,8 @@ paths: description: >- The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Any additional - amount will be automatically refunded. Defaults to the full - `amount_capturable` if not provided. + amount is automatically refunded. Defaults to the full + `amount_capturable` if it's not provided. type: integer application_fee_amount: description: >- @@ -79068,17 +79076,16 @@ paths: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the - account to form the complete statement descriptor. Maximum - 22 characters for the concatenated descriptor. + account to form the complete statement descriptor. The + concatenated descriptor must be 1-22 characters long. maxLength: 22 type: string transfer_data: description: >- - The parameters used to automatically create a Transfer when - the payment + The parameters that you can use to automatically create a + transfer after the payment - is captured. For more information, see the PaymentIntents - [use case for connected + is captured. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). properties: amount: @@ -79233,7 +79240,7 @@ paths: type: string type: array mandate: - description: ID of the mandate to be used for this payment. + description: ID of the mandate that's used for this payment. maxLength: 5000 type: string mandate_data: @@ -79277,7 +79284,8 @@ paths: - enum: - '' type: string - - properties: + - description: This hash contains details about the Mandate to create + properties: customer_acceptance: properties: online: @@ -79303,7 +79311,6 @@ paths: - customer_acceptance title: client_key_param type: object - description: This hash contains details about the Mandate to create off_session: anyOf: - type: boolean @@ -79313,10 +79320,10 @@ paths: maxLength: 5000 type: string description: >- - Set to `true` to indicate that the customer is not in your - checkout flow during this payment attempt, and therefore is - unable to authenticate. This parameter is intended for - scenarios where you collect card details and [charge them + Set to `true` to indicate that the customer isn't in your + checkout flow during this payment attempt and can't + authenticate. Use this parameter in scenarios where you + collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). payment_method: description: >- @@ -79752,7 +79759,7 @@ paths: type: object payment_method_options: description: >- - Payment-method-specific configuration for this + Payment method-specific configuration for this PaymentIntent. properties: acss_debit: @@ -80614,10 +80621,9 @@ paths: type: object payment_method_types: description: >- - The list of payment method types (e.g. card) that this - PaymentIntent is allowed to use. Use - automatic_payment_methods to manage payment methods from the - [Stripe + The list of payment method types (for example, a card) that + this PaymentIntent can use. Use `automatic_payment_methods` + to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). items: maxLength: 5000 @@ -80625,9 +80631,8 @@ paths: type: array radar_options: description: >- - Options to configure Radar. See [Radar - Session](https://stripe.com/docs/radar/radar-session) for - more information. + Options to configure Radar. Learn more about [Radar + Sessions](https://stripe.com/docs/radar/radar-session). properties: session: maxLength: 5000 @@ -80775,10 +80780,10 @@ paths:

Incremental authorizations attempt to increase the authorized amount on - your customer’s card to the new, higher amount provided. As - with the + your customer’s card to the new, higher amount provided. + Similar to the - initial authorization, incremental authorizations may be declined. A + initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further @@ -80786,19 +80791,18 @@ paths:

If the incremental authorization succeeds, the PaymentIntent object - is - returned with the updated + returns with the updated amount. If the incremental authorization fails, a - card_declined error is - returned, and no + card_declined error + returns, and no other - fields on the PaymentIntent or Charge are updated. The PaymentIntent + fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount.

@@ -80806,7 +80810,7 @@ paths:

Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. - Once captured, a PaymentIntent can no longer be incremented.

+ After it’s captured, a PaymentIntent can no longer be incremented.

Learn more about - - The updated total amount you intend to collect from the + The updated total amount that you intend to collect from the cardholder. This amount must be greater than the currently authorized amount. type: integer @@ -80886,11 +80890,10 @@ paths: type: string transfer_data: description: >- - The parameters used to automatically create a Transfer when + The parameters used to automatically create a transfer after the payment is captured. - For more information, see the PaymentIntents [use case for - connected + Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). properties: amount: @@ -91443,10 +91446,9 @@ paths: /v1/refunds: get: description: >- -

Returns a list of all refunds you’ve previously created. The refunds - are returned in sorted order, with the most recent refunds appearing - first. For convenience, the 10 most recent refunds are always available - by default on the charge object.

+

Returns a list of all refunds you created. We return the refunds in + sorted order, with the most recent refunds appearing first The 10 most + recent refunds are always available by default on the Charge object.

operationId: GetRefunds parameters: - description: Only return refunds for the charge specified by this charge ID. @@ -91767,8 +91769,9 @@ paths: description: Error response. post: description: >- -

Updates the specified refund by setting the values of the parameters - passed. Any parameters not provided will be left unchanged.

+

Updates the refund that you specify by setting the values of the + passed parameters. Any parameters that you don’t provide remain + unchanged.

This request only accepts metadata as an argument.

@@ -91836,8 +91839,8 @@ paths:

Cancels a refund with a status of requires_action.

-

Refunds in other states cannot be canceled, and only refunds for - payment methods that require customer action will enter the +

You can’t cancel refunds in other states. Only refunds for payment + methods that require customer action can enter the requires_action state.

operationId: PostRefundsRefundCancel parameters: @@ -108354,9 +108357,9 @@ paths: description: >-

Creates a single-use token that represents a bank account’s details. - This token can be used with any API method in place of a bank account - dictionary. This token can be used only once, by attaching it to a Custom account.

+ You can use this token with any API method in place of a bank account + dictionary. You can only use this token once. To do so, attach it to a + Custom account.

operationId: PostTokens requestBody: content: @@ -108387,7 +108390,7 @@ paths: additionalProperties: false properties: account: - description: Information for the account this token will represent. + description: Information for the account this token represents. properties: business_type: enum: @@ -108859,18 +108862,18 @@ paths: x-stripeBypassValidation: true customer: description: >- - The customer (owned by the application's account) for which - to create a token. This can be used only with an [OAuth + Create a token for the customer, which is owned by the + application's account. You can only use this with an [OAuth access token](https://stripe.com/docs/connect/standard-accounts) or [Stripe-Account - header](https://stripe.com/docs/connect/authentication). For - more details, see [Cloning Saved Payment - Methods](https://stripe.com/docs/connect/cloning-saved-payment-methods). + header](https://stripe.com/docs/connect/authentication). + Learn more about [cloning saved payment + methods](https://stripe.com/docs/connect/cloning-saved-payment-methods). maxLength: 5000 type: string cvc_update: - description: The updated CVC value this token will represent. + description: The updated CVC value this token represents. properties: cvc: maxLength: 5000 @@ -108886,7 +108889,7 @@ paths: type: string type: array person: - description: Information for the person this token will represent. + description: Information for the person this token represents. properties: address: properties: @@ -109149,7 +109152,7 @@ paths: title: person_token_specs type: object pii: - description: The PII this token will represent. + description: The PII this token represents. properties: id_number: maxLength: 5000 diff --git a/packages/openapi-typescript/src/lib/redoc.ts b/packages/openapi-typescript/src/lib/redoc.ts index a183b64ed..1fac3a1b1 100644 --- a/packages/openapi-typescript/src/lib/redoc.ts +++ b/packages/openapi-typescript/src/lib/redoc.ts @@ -89,6 +89,9 @@ export async function parseSchema( ); } +/** + * Validate an OpenAPI schema and flatten into a single schema using Redocly CLI + */ export async function validateAndBundle( source: string | URL | OpenAPI3 | Readable, options?: ValidateAndBundleOptions, @@ -163,8 +166,8 @@ export async function validateAndBundle( // 3. bundle const redocBundleT = performance.now(); const bundled = await bundle({ - config: redocConfig, - dereference: true, + config: { ...redocConfig }, + dereference: false, doc: document, }); if (bundled.problems.length) { diff --git a/packages/openapi-typescript/src/lib/ts.ts b/packages/openapi-typescript/src/lib/ts.ts index 7ede99595..f99cf6b53 100644 --- a/packages/openapi-typescript/src/lib/ts.ts +++ b/packages/openapi-typescript/src/lib/ts.ts @@ -63,10 +63,10 @@ export function addJSDocComment( // Not JSDoc tags: [title, format] if (schemaObject.title) { - output.push(schemaObject.title.replace(LB_RE, "\n * ")); + output.push(schemaObject.title.replace(LB_RE, "\n * ")); } if (schemaObject.summary) { - output.push(schemaObject.summary.replace(LB_RE, "\n * ")); + output.push(schemaObject.summary.replace(LB_RE, "\n * ")); } if (schemaObject.format) { output.push(`Format: ${schemaObject.format}`); @@ -92,7 +92,7 @@ export function addJSDocComment( typeof schemaObject[field] === "object" ? JSON.stringify(schemaObject[field], null, 2) : schemaObject[field]; - output.push(`@${field} ${String(serialized).replace(LB_RE, "\n * ")}`); + output.push(`@${field} ${String(serialized).replace(LB_RE, "\n * ")}`); } // JSDoc 'Constant' without value @@ -189,6 +189,17 @@ export function astToString( return printer.printFile(sourceFile); } +/** Convert an arbitrary string to TS (assuming it’s valid) */ +export function stringToAST(source: string): unknown[] { + return ts.createSourceFile( + /* fileName */ "stringInput", + /* sourceText */ source, + /* languageVersion */ ts.ScriptTarget.ESNext, + /* setParentNodes */ undefined, + /* scriptKind */ undefined, + ).statements as any; // eslint-disable-line @typescript-eslint/no-explicit-any +} + /** * Deduplicate simple primitive types from an array of nodes * Note: won’t deduplicate complex types like objects @@ -335,7 +346,7 @@ export function tsLiteral(value: unknown): ts.TypeNode { /** Modifiers (readonly) */ export function tsModifiers(modifiers: { - readonly: boolean; + readonly?: boolean; export?: boolean; }): ts.Modifier[] { const typeMods: ts.Modifier[] = []; @@ -361,20 +372,6 @@ export function tsOmit(type: ts.TypeNode, keys: string[]): ts.TypeNode { ); } -/** Create a TS OneOf type */ -export function tsOneOf(types: ts.TypeNode[]): ts.TypeNode { - if (types.length === 0) { - return NEVER; - } - if (types.length === 1) { - return types[0]; - } - return ts.factory.createTypeReferenceNode( - ts.factory.createIdentifier("OneOf"), - [tsUnion(types)], - ); -} - /** Create a TS Record type */ export function tsRecord(key: ts.TypeNode, value: ts.TypeNode) { return ts.factory.createTypeReferenceNode( @@ -386,8 +383,10 @@ export function tsRecord(key: ts.TypeNode, value: ts.TypeNode) { /** Create a valid property index */ export function tsPropertyIndex(index: string | number) { if ( - typeof index === "number" || - (typeof index === "string" && String(Number(index)) === index) + (typeof index === "number" && !(index < 0)) || + (typeof index === "string" && + String(Number(index)) === index && + index[0] !== "-") ) { return ts.factory.createNumericLiteral(index); } @@ -408,10 +407,29 @@ export function tsUnion(types: ts.TypeNode[]): ts.TypeNode { } /** Create a WithRequired type */ -export function tsWithRequired(type: ts.TypeNode, keys: string[]): ts.TypeNode { +export function tsWithRequired( + type: ts.TypeNode, + keys: string[], + injectFooter: ts.Node[], // needed to inject type helper if used +): ts.TypeNode { if (keys.length === 0) { return type; } + + // inject helper, if needed + if ( + !injectFooter.some( + (node) => + ts.isTypeAliasDeclaration(node) && + node?.name?.escapedText === "WithRequired", + ) + ) { + const helper = stringToAST( + `type WithRequired = T & { [P in K]-?: T[P] };`, + )[0] as any; // eslint-disable-line @typescript-eslint/no-explicit-any + injectFooter.push(helper); + } + return ts.factory.createTypeReferenceNode( ts.factory.createIdentifier("WithRequired"), [type, tsUnion(keys.map((k) => tsLiteral(k)))], diff --git a/packages/openapi-typescript/src/lib/utils.ts b/packages/openapi-typescript/src/lib/utils.ts index 84f610819..d725d6751 100644 --- a/packages/openapi-typescript/src/lib/utils.ts +++ b/packages/openapi-typescript/src/lib/utils.ts @@ -99,7 +99,7 @@ export function error(msg: string) { export function formatTime(t: number) { if (typeof t === "number") { if (t < 1000) { - return `${Math.round(100 * t) / 100}ms`; + return `${Math.round(10 * t) / 10}ms`; } else if (t < 60000) { return `${Math.round(t / 100) / 10}s`; } @@ -187,7 +187,7 @@ export function scanDiscriminators(schema: OpenAPI3) { return discriminators; } -/** Walk through any JSON-serializable object */ +/** Walk through any JSON-serializable (i.e. non-circular) object */ export function walk( obj: unknown, cb: (value: Record, path: (string | number)[]) => void, diff --git a/packages/openapi-typescript/src/transform/components-object.ts b/packages/openapi-typescript/src/transform/components-object.ts index 09739812a..23d76834b 100644 --- a/packages/openapi-typescript/src/transform/components-object.ts +++ b/packages/openapi-typescript/src/transform/components-object.ts @@ -51,20 +51,25 @@ export default function transformComponentsObject( const items: ts.TypeElement[] = []; if (componentsObject[key]) { for (const [name, item] of getEntries(componentsObject[key], ctx)) { - const subType = transformers[key](item, { - path: createRef(["components", key, name]), - ctx, - }); - const property = ts.factory.createPropertySignature( - /* modifiers */ tsModifiers({ - readonly: ctx.immutableTypes, - }), - /* name */ tsPropertyIndex(name), - /* questionToken */ undefined, - /* type */ subType, - ); - addJSDocComment(item as unknown as any, property); // eslint-disable-line @typescript-eslint/no-explicit-any - items.push(property); + try { + const subType = transformers[key](item, { + path: createRef(["components", key, name]), + ctx, + }); + const property = ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ + readonly: ctx.immutableTypes, + }), + /* name */ tsPropertyIndex(name), + /* questionToken */ undefined, + /* type */ subType, + ); + addJSDocComment(item as unknown as any, property); // eslint-disable-line @typescript-eslint/no-explicit-any + items.push(property); + } catch (e) { + console.error({ item }); + console.error(e); + } } } type.push( @@ -79,7 +84,7 @@ export default function transformComponentsObject( ); debug( - `Transformed #/components/${key}`, + `Transformed components → ${key}`, "ts", performance.now() - componentT, ); diff --git a/packages/openapi-typescript/src/transform/index.ts b/packages/openapi-typescript/src/transform/index.ts index 3acb43357..612794be9 100644 --- a/packages/openapi-typescript/src/transform/index.ts +++ b/packages/openapi-typescript/src/transform/index.ts @@ -27,44 +27,53 @@ export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { const type: ts.Node[] = []; for (const root of Object.keys(transformers) as SchemaTransforms[]) { - if (schema[root]) { + const emptyObj = ts.factory.createTypeAliasDeclaration( + /* modifiers */ tsModifiers({ + export: true, + readonly: ctx.immutableTypes, + }), + /* name */ root, + /* typeParameters */ undefined, + /* type */ tsRecord(STRING, NEVER), + ); + + if ( + schema[root] && + typeof schema[root] === "object" && + Object.keys(schema[root] as any).length // eslint-disable-line @typescript-eslint/no-explicit-any + ) { const rootT = performance.now(); const subType = transformers[root](schema[root], ctx); - type.push( - ctx.exportType - ? ts.factory.createTypeAliasDeclaration( - /* modifiers */ tsModifiers({ - export: true, - readonly: ctx.immutableTypes, - }), - /* name */ root, - /* typeParameters */ undefined, - /* type */ subType, - ) - : ts.factory.createInterfaceDeclaration( - /* modifiers */ tsModifiers({ - export: true, - readonly: ctx.immutableTypes, - }), - /* name */ root, - /* typeParameters */ undefined, - /* heritageClauses */ undefined, - /* members */ (subType as TypeLiteralNode).members, - ), - ); - debug(`${root} done`, "ts", performance.now() - rootT); + if ((subType as ts.TypeLiteralNode).members) { + type.push( + ctx.exportType + ? ts.factory.createTypeAliasDeclaration( + /* modifiers */ tsModifiers({ + export: true, + readonly: ctx.immutableTypes, + }), + /* name */ root, + /* typeParameters */ undefined, + /* type */ subType, + ) + : ts.factory.createInterfaceDeclaration( + /* modifiers */ tsModifiers({ + export: true, + readonly: ctx.immutableTypes, + }), + /* name */ root, + /* typeParameters */ undefined, + /* heritageClauses */ undefined, + /* members */ (subType as TypeLiteralNode).members, + ), + ); + debug(`${root} done`, "ts", performance.now() - rootT); + } else { + type.push(emptyObj); + debug(`${root} done (skipped)`, "ts", 0); + } } else { - type.push( - ts.factory.createTypeAliasDeclaration( - /* modifiers */ tsModifiers({ - export: true, - readonly: ctx.immutableTypes, - }), - /* name */ root, - /* typeParameters */ undefined, - /* type */ tsRecord(STRING, NEVER), - ), - ); + type.push(emptyObj); debug(`${root} done (skipped)`, "ts", 0); } } diff --git a/packages/openapi-typescript/src/transform/operation-object.ts b/packages/openapi-typescript/src/transform/operation-object.ts index 07f6ec208..0776bf8d8 100644 --- a/packages/openapi-typescript/src/transform/operation-object.ts +++ b/packages/openapi-typescript/src/transform/operation-object.ts @@ -99,7 +99,10 @@ export function injectOperationObject( ) as unknown as ts.InterfaceDeclaration; if (!operations) { operations = ts.factory.createInterfaceDeclaration( - /* modifiers */ undefined, + /* modifiers */ tsModifiers({ + export: true, + readonly: options.ctx.immutableTypes, + }), /* name */ ts.factory.createIdentifier("operations"), /* typeParameters */ undefined, /* heritageClauses */ undefined, diff --git a/packages/openapi-typescript/src/transform/paths-object.ts b/packages/openapi-typescript/src/transform/paths-object.ts index 093cd7dfe..c27bbb180 100644 --- a/packages/openapi-typescript/src/transform/paths-object.ts +++ b/packages/openapi-typescript/src/transform/paths-object.ts @@ -1,5 +1,10 @@ import ts from "typescript"; -import { addJSDocComment, oapiRef, tsPropertyIndex } from "../lib/ts.js"; +import { + addJSDocComment, + oapiRef, + stringToAST, + tsPropertyIndex, +} from "../lib/ts.js"; import { createRef, debug, getEntries } from "../lib/utils.js"; import { GlobalContext, @@ -62,16 +67,10 @@ export default function transformPathsObject( `$\{${(param.schema as any)?.type ?? "string"}}`, ); } - // note: creating a string template literal’s AST manually is - // harder than getting TS to parse an arbitrary string - const pathType = ts.createSourceFile( - /* fileName */ "pathParams", - /* sourceText */ rawPath, - /* languageVersion */ ts.ScriptTarget.ESNext, - /* setParentNodes */ undefined, - /* scriptKind */ undefined, - ); - if ((pathType.statements[0] as any)?.expression) { + // note: creating a string template literal’s AST manually is hard! + // just pass an arbitrary string to TS + const pathType = (stringToAST(rawPath)[0] as any)?.expression; + if (pathType) { type.push( ts.factory.createIndexSignature( /* modifiers */ undefined, @@ -81,8 +80,7 @@ export default function transformPathsObject( /* dotDotDotToken */ undefined, /* name */ "path", /* questionToken */ undefined, - /* type */ (pathType.statements[0] as any) - .expression, + /* type */ pathType, /* initializer */ undefined, ), ], diff --git a/packages/openapi-typescript/src/transform/schema-object.ts b/packages/openapi-typescript/src/transform/schema-object.ts index 0bea95cad..2557c1f72 100644 --- a/packages/openapi-typescript/src/transform/schema-object.ts +++ b/packages/openapi-typescript/src/transform/schema-object.ts @@ -178,7 +178,11 @@ export function transformSchemaObjectWithComposition( "required" in schemaObject && Array.isArray(schemaObject.required) ) { - allOf = tsWithRequired(allOf, schemaObject.required); + allOf = tsWithRequired( + allOf, + schemaObject.required, + options.ctx.injectFooter, + ); } finalType = tsIntersection([ ...(coreObjectType ? [coreObjectType] : []), diff --git a/packages/openapi-typescript/test/cli.test.ts b/packages/openapi-typescript/test/cli.test.ts index 33b02e2d3..a50b10d66 100644 --- a/packages/openapi-typescript/test/cli.test.ts +++ b/packages/openapi-typescript/test/cli.test.ts @@ -185,4 +185,21 @@ describe("CLI", () => { ]); }); }); + + describe("Redocly config", () => { + test("accepts multiple APIs", async () => { + await execa(cmd, ["--redocly"], { cwd }); + for (const schema of ["a", "b", "c"]) { + expect( + fs.readFileSync( + new URL(`./fixtures/output/${schema}.ts`, import.meta.url), + ), + ).toMatchFileSnapshot( + fileURLToPath( + new URL("../examples/simple-example.ts", import.meta.url), + ), + ); + } + }); + }); }); diff --git a/packages/openapi-typescript/test/fixtures/redocly/.gitignore b/packages/openapi-typescript/test/fixtures/redocly/.gitignore new file mode 100644 index 000000000..53752db25 --- /dev/null +++ b/packages/openapi-typescript/test/fixtures/redocly/.gitignore @@ -0,0 +1 @@ +output diff --git a/packages/openapi-typescript/test/fixtures/redocly/openapi/a.yaml b/packages/openapi-typescript/test/fixtures/redocly/openapi/a.yaml new file mode 100644 index 000000000..f6323a406 --- /dev/null +++ b/packages/openapi-typescript/test/fixtures/redocly/openapi/a.yaml @@ -0,0 +1,351 @@ +openapi: 3.1.0 +info: + title: Webhook Example + summary: My lovely API + version: 1.0.0 + description: some description + license: + name: MIT + identifier: MIT + url: https://opensource.org/licenses/MIT +jsonSchemaDialect: https://spec.openapis.org/oas/3.1/dialect/base +tags: + - name: Gameplay + description: gameplay tag +servers: + - url: https://redocly-example.com/{var} + variables: + var: + enum: + - a + - b + default: b +security: [] +paths: + /pets/items: + get: + operationId: getTest + summary: Get Test! Foo! Etc! + responses: + 200: + description: '200' + content: + application/json: + schema: + type: array + prefixItems: + - type: 'string' + items: false + 400: + description: An error response + /pets: + get: + summary: List all pets + operationId: listPets + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of pets + content: + application/json: + schema: + $ref: '#/components/schemas/Pets' + '400': + description: An error response + /pets/model: + get: + summary: List all pets + operationId: listPetsModel + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of model + content: + application/json: + schema: + $ref: '#/components/schemas/Model' + '400': + description: An error response + /pets/person: + get: + summary: List all pets + operationId: listPetsPerson + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of person + content: + application/json: + schema: + $ref: '#/components/schemas/person' + '400': + description: An error response + /: + get: + operationId: getEmptyOperationId + summary: Some summary + /{var}: {} + /unevaluated-properties: + get: + operationId: getUnevaluatedProperties + summary: Checks if unevaluetedProperties work + responses: + 200: + description: 'OK' + content: + application/json: + schema: + allOf: + - type: object + properties: + foo: + type: string + - type: object + properties: + bar: + type: number + unevaluatedProperties: false + 400: + description: An error response + +webhooks: + newPet: + post: + tags: + - pet + summary: Add a new pet to the store + description: Add new pet to the store inventory. + operationId: addPet + requestBody: + description: Information about a new pet in the system + content: + multipart/form-data: + schema: + type: object + properties: + orderId: + type: integer + fileName: + type: string + contentEncoding: base64 + contentMediaType: image/png + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + '405': + description: Invalid input + put: + tags: + - pet + summary: Edit new pet + description: Edit pet. + operationId: editPet + requestBody: + content: + application/octet-stream: {} + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + '400': + description: An error response + +components: + securitySchemes: + mtls: + type: mutualTLS + pathItems: {} + schemas: + Problem: + id: 'https://tools.ietf.org/rfc/rfc7807.txt' + $schema: 'http://json-schema.org/draft-06/schema#' + description: 'schema for a rfc7807' + definitions: {} + type: 'object' + properties: + type: + description: A URI reference [RFC3986] that identifies the problem type. + type: string + format: uri + title: + description: A short, human-readable summary of the problem type. + type: string + status: + description: The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. + type: number + instance: + description: A URI reference that identifies the specific occurrence of the problem. + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + required: + - type + - title + - status + - instance + - detail + examples: + - type: https://developer.acme.com/codes/404 + title: Not Found + status: 404 + instance: https://status.api.acme.com/errorinstance/23d243c1-1c94-4696-8798-c71aa45c92ff + detail: The User requested was not found + Pet: + required: + - id + - name + properties: + id: + type: + - integer + exclusiveMaximum: 100 + exclusiveMinimum: 0 + format: int64 + name: + type: string + none: + type: 'null' + tag: + type: + - 'null' + - string + - integer + examples: + - 123 + arr: + type: array + $comment: Array without items keyword + either: + type: ['string', 'null'] + discriminator: + propertyName: type + x-extension: true + Pets: + type: array + items: + $ref: '#/components/schemas/Pet' + Model: + type: object + properties: + one: + description: type array + type: + - integer + - string + two: + description: type 'null' + type: 'null' + three: + description: type array including 'null' + type: + - string + - 'null' + four: + description: array with no items + type: array + five: + description: singular example + type: string + examples: + - exampleValue + six: + description: exclusiveMinimum true + exclusiveMinimum: 10 + seven: + description: exclusiveMinimum false + minimum: 10 + eight: + description: exclusiveMaximum true + exclusiveMaximum: 20 + nine: + description: exclusiveMaximum false + maximum: 20 + ten: + description: nullable string + type: + - string + - 'null' + eleven: + description: file/binary + person: + type: object + required: + - id + properties: + id: + description: Person ID + type: + - integer + - number + - string + minLength: 4 + minimum: 10 + name: + type: string + maxLength: 100 + gender: + type: + - string + - integer + enum: + - male + - female + - unknown + minimum: 4 + location: + description: location can be null, set using `nullable` property thats supported by OpenAPI `3.0.x` + type: + - string + - 'null' + age: + description: Age of Person + type: integer + minimum: 21 + exclusiveMaximum: 70 + multipleOf: 5 + photoUrls: + description: One URL or Array or URLs or set to false + type: + - array + - boolean + - string + maxItems: 20 + items: + type: string + format: url + hobby: + description: comma separated list of hobbies or an array of object + type: + - string + - array + items: + type: object + properties: + hobbyRank: + type: + - integer + - number + hobbyName: + type: string + empty: {} diff --git a/packages/openapi-typescript/test/fixtures/redocly/openapi/b.yaml b/packages/openapi-typescript/test/fixtures/redocly/openapi/b.yaml new file mode 100644 index 000000000..f6323a406 --- /dev/null +++ b/packages/openapi-typescript/test/fixtures/redocly/openapi/b.yaml @@ -0,0 +1,351 @@ +openapi: 3.1.0 +info: + title: Webhook Example + summary: My lovely API + version: 1.0.0 + description: some description + license: + name: MIT + identifier: MIT + url: https://opensource.org/licenses/MIT +jsonSchemaDialect: https://spec.openapis.org/oas/3.1/dialect/base +tags: + - name: Gameplay + description: gameplay tag +servers: + - url: https://redocly-example.com/{var} + variables: + var: + enum: + - a + - b + default: b +security: [] +paths: + /pets/items: + get: + operationId: getTest + summary: Get Test! Foo! Etc! + responses: + 200: + description: '200' + content: + application/json: + schema: + type: array + prefixItems: + - type: 'string' + items: false + 400: + description: An error response + /pets: + get: + summary: List all pets + operationId: listPets + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of pets + content: + application/json: + schema: + $ref: '#/components/schemas/Pets' + '400': + description: An error response + /pets/model: + get: + summary: List all pets + operationId: listPetsModel + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of model + content: + application/json: + schema: + $ref: '#/components/schemas/Model' + '400': + description: An error response + /pets/person: + get: + summary: List all pets + operationId: listPetsPerson + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of person + content: + application/json: + schema: + $ref: '#/components/schemas/person' + '400': + description: An error response + /: + get: + operationId: getEmptyOperationId + summary: Some summary + /{var}: {} + /unevaluated-properties: + get: + operationId: getUnevaluatedProperties + summary: Checks if unevaluetedProperties work + responses: + 200: + description: 'OK' + content: + application/json: + schema: + allOf: + - type: object + properties: + foo: + type: string + - type: object + properties: + bar: + type: number + unevaluatedProperties: false + 400: + description: An error response + +webhooks: + newPet: + post: + tags: + - pet + summary: Add a new pet to the store + description: Add new pet to the store inventory. + operationId: addPet + requestBody: + description: Information about a new pet in the system + content: + multipart/form-data: + schema: + type: object + properties: + orderId: + type: integer + fileName: + type: string + contentEncoding: base64 + contentMediaType: image/png + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + '405': + description: Invalid input + put: + tags: + - pet + summary: Edit new pet + description: Edit pet. + operationId: editPet + requestBody: + content: + application/octet-stream: {} + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + '400': + description: An error response + +components: + securitySchemes: + mtls: + type: mutualTLS + pathItems: {} + schemas: + Problem: + id: 'https://tools.ietf.org/rfc/rfc7807.txt' + $schema: 'http://json-schema.org/draft-06/schema#' + description: 'schema for a rfc7807' + definitions: {} + type: 'object' + properties: + type: + description: A URI reference [RFC3986] that identifies the problem type. + type: string + format: uri + title: + description: A short, human-readable summary of the problem type. + type: string + status: + description: The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. + type: number + instance: + description: A URI reference that identifies the specific occurrence of the problem. + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + required: + - type + - title + - status + - instance + - detail + examples: + - type: https://developer.acme.com/codes/404 + title: Not Found + status: 404 + instance: https://status.api.acme.com/errorinstance/23d243c1-1c94-4696-8798-c71aa45c92ff + detail: The User requested was not found + Pet: + required: + - id + - name + properties: + id: + type: + - integer + exclusiveMaximum: 100 + exclusiveMinimum: 0 + format: int64 + name: + type: string + none: + type: 'null' + tag: + type: + - 'null' + - string + - integer + examples: + - 123 + arr: + type: array + $comment: Array without items keyword + either: + type: ['string', 'null'] + discriminator: + propertyName: type + x-extension: true + Pets: + type: array + items: + $ref: '#/components/schemas/Pet' + Model: + type: object + properties: + one: + description: type array + type: + - integer + - string + two: + description: type 'null' + type: 'null' + three: + description: type array including 'null' + type: + - string + - 'null' + four: + description: array with no items + type: array + five: + description: singular example + type: string + examples: + - exampleValue + six: + description: exclusiveMinimum true + exclusiveMinimum: 10 + seven: + description: exclusiveMinimum false + minimum: 10 + eight: + description: exclusiveMaximum true + exclusiveMaximum: 20 + nine: + description: exclusiveMaximum false + maximum: 20 + ten: + description: nullable string + type: + - string + - 'null' + eleven: + description: file/binary + person: + type: object + required: + - id + properties: + id: + description: Person ID + type: + - integer + - number + - string + minLength: 4 + minimum: 10 + name: + type: string + maxLength: 100 + gender: + type: + - string + - integer + enum: + - male + - female + - unknown + minimum: 4 + location: + description: location can be null, set using `nullable` property thats supported by OpenAPI `3.0.x` + type: + - string + - 'null' + age: + description: Age of Person + type: integer + minimum: 21 + exclusiveMaximum: 70 + multipleOf: 5 + photoUrls: + description: One URL or Array or URLs or set to false + type: + - array + - boolean + - string + maxItems: 20 + items: + type: string + format: url + hobby: + description: comma separated list of hobbies or an array of object + type: + - string + - array + items: + type: object + properties: + hobbyRank: + type: + - integer + - number + hobbyName: + type: string + empty: {} diff --git a/packages/openapi-typescript/test/fixtures/redocly/openapi/c.yaml b/packages/openapi-typescript/test/fixtures/redocly/openapi/c.yaml new file mode 100644 index 000000000..f6323a406 --- /dev/null +++ b/packages/openapi-typescript/test/fixtures/redocly/openapi/c.yaml @@ -0,0 +1,351 @@ +openapi: 3.1.0 +info: + title: Webhook Example + summary: My lovely API + version: 1.0.0 + description: some description + license: + name: MIT + identifier: MIT + url: https://opensource.org/licenses/MIT +jsonSchemaDialect: https://spec.openapis.org/oas/3.1/dialect/base +tags: + - name: Gameplay + description: gameplay tag +servers: + - url: https://redocly-example.com/{var} + variables: + var: + enum: + - a + - b + default: b +security: [] +paths: + /pets/items: + get: + operationId: getTest + summary: Get Test! Foo! Etc! + responses: + 200: + description: '200' + content: + application/json: + schema: + type: array + prefixItems: + - type: 'string' + items: false + 400: + description: An error response + /pets: + get: + summary: List all pets + operationId: listPets + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of pets + content: + application/json: + schema: + $ref: '#/components/schemas/Pets' + '400': + description: An error response + /pets/model: + get: + summary: List all pets + operationId: listPetsModel + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of model + content: + application/json: + schema: + $ref: '#/components/schemas/Model' + '400': + description: An error response + /pets/person: + get: + summary: List all pets + operationId: listPetsPerson + parameters: + - name: limit + in: query + description: How many items to return at one time (max 100) + required: false + schema: + type: integer + format: int32 + responses: + '200': + description: A paged array of person + content: + application/json: + schema: + $ref: '#/components/schemas/person' + '400': + description: An error response + /: + get: + operationId: getEmptyOperationId + summary: Some summary + /{var}: {} + /unevaluated-properties: + get: + operationId: getUnevaluatedProperties + summary: Checks if unevaluetedProperties work + responses: + 200: + description: 'OK' + content: + application/json: + schema: + allOf: + - type: object + properties: + foo: + type: string + - type: object + properties: + bar: + type: number + unevaluatedProperties: false + 400: + description: An error response + +webhooks: + newPet: + post: + tags: + - pet + summary: Add a new pet to the store + description: Add new pet to the store inventory. + operationId: addPet + requestBody: + description: Information about a new pet in the system + content: + multipart/form-data: + schema: + type: object + properties: + orderId: + type: integer + fileName: + type: string + contentEncoding: base64 + contentMediaType: image/png + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + '405': + description: Invalid input + put: + tags: + - pet + summary: Edit new pet + description: Edit pet. + operationId: editPet + requestBody: + content: + application/octet-stream: {} + responses: + '200': + description: Return a 200 status to indicate that the data was received successfully + '400': + description: An error response + +components: + securitySchemes: + mtls: + type: mutualTLS + pathItems: {} + schemas: + Problem: + id: 'https://tools.ietf.org/rfc/rfc7807.txt' + $schema: 'http://json-schema.org/draft-06/schema#' + description: 'schema for a rfc7807' + definitions: {} + type: 'object' + properties: + type: + description: A URI reference [RFC3986] that identifies the problem type. + type: string + format: uri + title: + description: A short, human-readable summary of the problem type. + type: string + status: + description: The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. + type: number + instance: + description: A URI reference that identifies the specific occurrence of the problem. + type: string + detail: + description: A human-readable explanation specific to this occurrence of the problem. + type: string + required: + - type + - title + - status + - instance + - detail + examples: + - type: https://developer.acme.com/codes/404 + title: Not Found + status: 404 + instance: https://status.api.acme.com/errorinstance/23d243c1-1c94-4696-8798-c71aa45c92ff + detail: The User requested was not found + Pet: + required: + - id + - name + properties: + id: + type: + - integer + exclusiveMaximum: 100 + exclusiveMinimum: 0 + format: int64 + name: + type: string + none: + type: 'null' + tag: + type: + - 'null' + - string + - integer + examples: + - 123 + arr: + type: array + $comment: Array without items keyword + either: + type: ['string', 'null'] + discriminator: + propertyName: type + x-extension: true + Pets: + type: array + items: + $ref: '#/components/schemas/Pet' + Model: + type: object + properties: + one: + description: type array + type: + - integer + - string + two: + description: type 'null' + type: 'null' + three: + description: type array including 'null' + type: + - string + - 'null' + four: + description: array with no items + type: array + five: + description: singular example + type: string + examples: + - exampleValue + six: + description: exclusiveMinimum true + exclusiveMinimum: 10 + seven: + description: exclusiveMinimum false + minimum: 10 + eight: + description: exclusiveMaximum true + exclusiveMaximum: 20 + nine: + description: exclusiveMaximum false + maximum: 20 + ten: + description: nullable string + type: + - string + - 'null' + eleven: + description: file/binary + person: + type: object + required: + - id + properties: + id: + description: Person ID + type: + - integer + - number + - string + minLength: 4 + minimum: 10 + name: + type: string + maxLength: 100 + gender: + type: + - string + - integer + enum: + - male + - female + - unknown + minimum: 4 + location: + description: location can be null, set using `nullable` property thats supported by OpenAPI `3.0.x` + type: + - string + - 'null' + age: + description: Age of Person + type: integer + minimum: 21 + exclusiveMaximum: 70 + multipleOf: 5 + photoUrls: + description: One URL or Array or URLs or set to false + type: + - array + - boolean + - string + maxItems: 20 + items: + type: string + format: url + hobby: + description: comma separated list of hobbies or an array of object + type: + - string + - array + items: + type: object + properties: + hobbyRank: + type: + - integer + - number + hobbyName: + type: string + empty: {} diff --git a/packages/openapi-typescript/test/fixtures/redocly/redocly.config.yaml b/packages/openapi-typescript/test/fixtures/redocly/redocly.config.yaml new file mode 100644 index 000000000..03f3f3fdd --- /dev/null +++ b/packages/openapi-typescript/test/fixtures/redocly/redocly.config.yaml @@ -0,0 +1,16 @@ +extends: + - recommended + +apis: + a@v1: + root: ./openapi/a.yaml + openapiTS: + output: ./output/a.ts + b@v1: + root: ./openapi/b.yaml + openapiTS: + output: ./output/b.ts + c@v1: + root: ./openapi/c.yaml + openapiTS: + output: ./output/c.ts diff --git a/packages/openapi-typescript/test/index.test.ts b/packages/openapi-typescript/test/index.test.ts index a81844319..ffa8c34eb 100644 --- a/packages/openapi-typescript/test/index.test.ts +++ b/packages/openapi-typescript/test/index.test.ts @@ -3,18 +3,6 @@ import openapiTS, { astToString } from "../src/index.js"; import type { OpenAPI3, OpenAPITSOptions } from "../src/types.js"; import { TestCase } from "./test-helpers.js"; -const ONE_OF_TYPE_HELPERS = ` -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; -`; - -const WITH_REQUIRED_TYPE_HELPERS = ` -/** WithRequired type helpers */ -type WithRequired = T & { [P in K]-?: T[P] }; -`; - // prevent process.exit(1) from truly firing, as it will bypass Vitest’s error catching (throw new Error() will work as-expected) beforeAll(() => { vi.spyOn(process, "exit").mockImplementation(((code: number) => { @@ -127,52 +115,58 @@ export type operations = Record;`, given: new URL("./fixtures/parameters-test.yaml", import.meta.url), want: `export interface paths { "/endpoint": { + parameters: { + query?: never; + header?: never; + path: { + local_param_a: string; + local_ref_a: components["parameters"]["local_ref_a"]; + remote_ref_a: components["parameters"]["remote_ref_a"]; + }; + cookie?: never; + }; /** @description OK */ get: { parameters: { + query?: never; + header?: never; path: { /** @description This overrides parameters */ local_param_a: number; local_ref_a: components["parameters"]["local_ref_a"]; - remote_ref_a: external["_parameters-test-partial.yaml"]["remote_ref_a"]; + remote_ref_a: components["parameters"]["remote_ref_a"]; local_ref_b: components["parameters"]["local_ref_b"]; - remote_ref_b: external["_parameters-test-partial.yaml"]["remote_ref_b"]; + remote_ref_b: components["parameters"]["remote_ref_b"]; }; + cookie?: never; }; + requestBody?: never; + responses: never; }; - parameters: { - path: { - local_param_a: string; - local_ref_a: components["parameters"]["local_ref_a"]; - remote_ref_a: external["_parameters-test-partial.yaml"]["remote_ref_a"]; - }; - }; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; }; } - export type webhooks = Record; - export interface components { schemas: never; responses: never; parameters: { local_ref_a: string; - local_ref_b: string; + local_ref_b: string; + remote_ref_a: string; + remote_ref_b: string; }; requestBodies: never; headers: never; pathItems: never; } - export type $defs = Record; - -export interface external { - "_parameters-test-partial.yaml": { - remote_ref_a: string; - remote_ref_b: string; - }; -} - export type operations = Record;`, // options: DEFAULT_OPTIONS, }, @@ -182,39 +176,58 @@ export type operations = Record;`, { given: new URL("./fixtures/path-object-refs.yaml", import.meta.url), want: `export interface paths { - /** @description Remote Ref */ - "/get-item": external["_path-object-refs-paths.yaml"]["GetItemOperation"]; -} - -export type webhooks = Record; - -export type components = Record; - -export type $defs = Record; - -export interface external { - "_path-object-refs-paths.yaml": { - GetItemOperation: { - get: { - responses: { - /** @description OK */ - 200: { - content: { - "application/json": external["_path-object-refs-paths.yaml"]["Item"]; - }; + "/get-item": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Item"]; }; }; }; }; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { Item: { id: string; name: string; }; }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } - -export type operations = Record; - `, +export type $defs = Record; +export type operations = Record;`, }, ], [ @@ -226,22 +239,49 @@ export type operations = Record; ), want: `export interface paths { "/": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; responses: { /** @description OK */ 200: { - content: never; + headers: { + [name: string]: unknown; + }; + content?: never; }; }; }; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; }; } - export type webhooks = Record; - export interface components { schemas: { - obj: external["anchor-with-ref-test.yaml"]["components"]["schemas"]["anchorTest"]; + obj: components["schemas"]["anchorTest"]; + metadata: { + [key: string]: unknown; + }; + anchorTest: { + metadata?: components["schemas"]["metadata"]; + }; }; responses: never; parameters: never; @@ -249,46 +289,7 @@ export interface components { headers: never; pathItems: never; } - export type $defs = Record; - -export interface external { - "anchor-with-ref-test.yaml": { - paths: { - "/": { - get: { - responses: { - /** @description OK */ - 200: { - content: never; - }; - }; - }; - }; - }; - webhooks: Record; - components: { - schemas: { - test: { - metadata?: external["anchor-with-ref-test.yaml"]["components"]["schemas"]["metadata"]; - }; - anchorTest: { - metadata?: external["anchor-with-ref-test.yaml"]["components"]["schemas"]["metadata"]; - }; - metadata: { - [key: string]: unknown; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; - }; - $defs: Record; - }; -} - export type operations = Record;`, // options: DEFAULT_OPTIONS, }, @@ -348,17 +349,25 @@ export type operations = Record;`, }, want: `export interface paths { "/post/{id}": { - get: operations["getPost"]; parameters: { query?: { revision?: number; }; + header?: never; + path?: never; + cookie?: never; }; + get: operations["getPost"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; }; } - export type webhooks = Record; - export interface components { schemas: { Post: { @@ -376,11 +385,7 @@ export interface components { headers: never; pathItems: never; } - export type $defs = Record; - -export type external = Record; - export interface operations { getPost: { parameters: { @@ -388,13 +393,19 @@ export interface operations { revision?: number; format?: string; }; + header?: never; path: { post_id: components["parameters"]["post_id"]; }; + cookie?: never; }; + requestBody?: never; responses: { /** @description OK */ 200: { + headers: { + [name: string]: unknown; + }; content: { "application/json": components["schemas"]["Post"]; }; @@ -431,9 +442,7 @@ export interface operations { }, }, want: `export type paths = Record; - export type webhooks = Record; - export interface components { schemas: { Example: { @@ -447,11 +456,7 @@ export interface components { headers: Record; pathItems: Record; } - export type $defs = Record; - -export type external = Record; - export type operations = Record;`, // options: DEFAULT_OPTIONS }, @@ -461,15 +466,13 @@ export type operations = Record;`, { given: new URL("./fixtures/jsonschema-defs.yaml", import.meta.url), want: `export type paths = Record; - export type webhooks = Record; - export interface components { schemas: { Object: { rootDef?: $defs["StringType"]; nestedDef?: components["schemas"]["OtherObject"]["$defs"]["nestedDef"]; - remoteDef?: components["schemas"]["RemoteDefs"]["$defs"]["remoteDef"]; + remoteDef?: components["schemas"]["remoteDef"]; $defs: { hasDefs: boolean; }; @@ -481,10 +484,11 @@ export interface components { }; }; RemoteDefs: { - $defs: { - remoteDef: external["_jsonschema-remote-obj.yaml"]["RemoteObject"]["$defs"]["remoteDef"]; - }; + $defs: { + remoteDef: components["schemas"]["remoteDef"]; + }; }; + remoteDef: string; }; responses: never; parameters: never; @@ -492,26 +496,63 @@ export interface components { headers: never; pathItems: never; } - -export interface $defs { - StringType: string; -} - -export interface external { - "_jsonschema-remote-obj.yaml": { - RemoteObject: { - ownProperty?: boolean; - $defs: { - remoteDef: string; - }; - }; - }; -} - +export type $defs = Record; export type operations = Record;`, // options: DEFAULT_OPTIONS, }, ], + [ + "TypeScript > WithRequired type helper", + { + given: { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, + components: { + schemas: { + User: { + allOf: [ + { + type: "object", + properties: { + firstName: { type: "string" }, + lastName: { type: "string" }, + }, + }, + { + type: "object", + properties: { middleName: { type: "string" } }, + }, + ], + required: ["firstName", "lastName"], + }, + }, + }, + }, + want: `export type paths = Record; +export type webhooks = Record; +export interface components { +schemas: { + User: WithRequired<{ + firstName?: string; + lastName?: string; + } & { + middleName?: string; + }, "firstName" | "lastName">; +}; +responses: never; +parameters: never; +requestBodies: never; +headers: never; +pathItems: never; +} +export type $defs = Record; +export type operations = Record; +/** WithRequired type helper */ +type WithRequired = T & { [P in K]-?: T[P] }; +`, + // options: DEFAULT_OPTIONS, + }, + ], ]; describe.each(tests)("%s", (_, { given, want, options, ci }) => { @@ -529,121 +570,6 @@ export type operations = Record;`, ); }); - describe("options", () => { - describe("OneOf type helpers", () => { - test("should be added only when used", async () => { - const generated = await openapiTS( - { - openapi: "3.1", - info: { title: "Test", version: "1.0" }, - components: { - schemas: { - User: { - oneOf: [ - { - type: "object", - properties: { firstName: { type: "string" } }, - }, - { - type: "object", - properties: { name: { type: "string" } }, - }, - ], - }, - }, - }, - }, - { exportType: false }, - ); - expect(generated).toBe(`${ONE_OF_TYPE_HELPERS} -export type paths = Record; - -export type webhooks = Record; - -export interface components { - schemas: { - User: OneOf<[{ - firstName?: string; - }, { - name?: string; - }]>; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - }); - - describe("WithRequired type helpers", () => { - test("should be added only when used", async () => { - const generated = await openapiTS( - { - openapi: "3.1", - info: { title: "Test", version: "1.0" }, - components: { - schemas: { - User: { - allOf: [ - { - type: "object", - properties: { - firstName: { type: "string" }, - lastName: { type: "string" }, - }, - }, - { - type: "object", - properties: { middleName: { type: "string" } }, - }, - ], - required: ["firstName", "lastName"], - }, - }, - }, - }, - { exportType: false }, - ); - expect(generated).toBe(`${WITH_REQUIRED_TYPE_HELPERS} -export type paths = Record; - -export type webhooks = Record; - -export interface components { - schemas: { - User: WithRequired<{ - firstName?: string; - lastName?: string; - } & { - middleName?: string; - }, "firstName" | "lastName">; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export type operations = Record; -`); - }); - }); - }); - it("does not mutate original reference", async () => { const schema: OpenAPI3 = { openapi: "3.1", diff --git a/packages/openapi-typescript/test/lib/ts.test.ts b/packages/openapi-typescript/test/lib/ts.test.ts index 40e136687..e481fb532 100644 --- a/packages/openapi-typescript/test/lib/ts.test.ts +++ b/packages/openapi-typescript/test/lib/ts.test.ts @@ -51,7 +51,7 @@ describe("addJSDocComment", () => { * This is the summary * @deprecated * @description Multi-line comment - * Line 2 + * Line 2 */ comment: boolean; }`); @@ -119,6 +119,7 @@ describe("tsPropertyIndex", () => { expect(astToString(tsPropertyIndex(200.5)).trim()).toBe(`200.5`); expect(astToString(tsPropertyIndex(Infinity)).trim()).toBe(`Infinity`); expect(astToString(tsPropertyIndex(NaN)).trim()).toBe(`NaN`); + expect(astToString(tsPropertyIndex(10e3)).trim()).toBe(`10000`); }); it("valid strings -> identifiers", () => { @@ -128,7 +129,9 @@ describe("tsPropertyIndex", () => { expect(astToString(tsPropertyIndex("snake_case")).trim()).toBe( `snake_case`, ); + expect(astToString(tsPropertyIndex(200)).trim()).toBe(`200`); expect(astToString(tsPropertyIndex("$id")).trim()).toBe(`$id`); + expect(astToString(tsPropertyIndex("10e3")).trim()).toBe(`"10e3"`); }); it("invalid strings -> string literals", () => { @@ -141,6 +144,8 @@ describe("tsPropertyIndex", () => { expect(astToString(tsPropertyIndex("0invalid")).trim()).toBe(`"0invalid"`); expect(astToString(tsPropertyIndex("inv@lid")).trim()).toBe(`"inv@lid"`); expect(astToString(tsPropertyIndex("in.valid")).trim()).toBe(`"in.valid"`); + expect(astToString(tsPropertyIndex(-1)).trim()).toBe(`"-1"`); + expect(astToString(tsPropertyIndex("-1")).trim()).toBe(`"-1"`); }); }); diff --git a/packages/openapi-typescript/test/node-api.test.ts b/packages/openapi-typescript/test/node-api.test.ts index c2b1216d3..0febf2d66 100644 --- a/packages/openapi-typescript/test/node-api.test.ts +++ b/packages/openapi-typescript/test/node-api.test.ts @@ -577,11 +577,7 @@ export type operations = Record;`, ), want: new URL("./digital-ocean-api.ts", EXAMPLES_DIR), // options: DEFAULT_OPTIONS, - ci: { - timeout: 60000, - skipIf: - process.env.CI_ENV === "macos" || process.env.CI_ENV === "windows", // this test runs too slowly on non-Ubuntu GitHub Actions runners - }, + ci: { timeout: 30000 }, }, ], ]; diff --git a/packages/openapi-typescript/test/redocly.test.ts b/packages/openapi-typescript/test/redocly.test.ts new file mode 100644 index 000000000..e69de29bb From e59c5b064dad5daa9615b927b1c22a76730199be Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Mon, 2 Oct 2023 21:16:35 -0600 Subject: [PATCH 06/10] Use Redocly APIs config --- .changeset/rude-jokes-grin.md | 10 +- .changeset/shaggy-windows-worry.md | 5 + .changeset/short-llamas-listen.md | 2 +- docs/package.json | 26 +- docs/src/content/docs/about.md | 1 - docs/src/content/docs/advanced.md | 2 +- docs/src/content/docs/cli.md | 109 +- docs/src/content/docs/introduction.md | 12 +- docs/src/content/docs/node.md | 73 +- docs/src/tokens/index.scss | 72 +- docs/src/tokens/tokens.css | 70 +- packages/openapi-fetch/src/index.test.ts | 209 +- packages/openapi-fetch/src/index.ts | 245 +- packages/openapi-fetch/test/index.bench.js | 19 +- packages/openapi-typescript/bin/cli.js | 245 +- .../examples/github-api-next.ts | 4 +- .../openapi-typescript/examples/github-api.ts | 4 +- .../examples/simple-example.ts | 67 +- packages/openapi-typescript/package.json | 1 - packages/openapi-typescript/src/index.ts | 24 +- packages/openapi-typescript/src/lib/redoc.ts | 81 +- packages/openapi-typescript/src/lib/ts.ts | 31 +- packages/openapi-typescript/src/lib/utils.ts | 14 +- .../src/transform/components-object.ts | 31 +- .../src/transform/header-object.ts | 4 +- .../openapi-typescript/src/transform/index.ts | 21 +- .../src/transform/operation-object.ts | 10 +- .../src/transform/paths-object.ts | 46 +- .../src/transform/request-body-object.ts | 8 +- .../src/transform/response-object.ts | 12 +- .../src/transform/responses-object.ts | 4 +- .../src/transform/schema-object.ts | 18 +- .../src/transform/webhooks-object.ts | 2 +- packages/openapi-typescript/src/types.ts | 12 +- packages/openapi-typescript/test/cli.test.ts | 109 +- .../test/discriminators.test.ts | 6 +- .../test/fixtures/cli-outputs/file-a.yaml | 8 - .../test/fixtures/cli-outputs/file-b.yaml | 8 - .../cli-outputs/nested/deep/file-e.yaml | 8 - .../fixtures/cli-outputs/nested/file-c.yaml | 8 - .../fixtures/cli-outputs/nested/file-d.yaml | 8 - .../{redocly.config.yaml => redocly.yaml} | 6 +- .../openapi-typescript/test/index.test.ts | 6 +- .../openapi-typescript/test/lib/ts.test.ts | 18 + .../openapi-typescript/test/node-api.test.ts | 33 +- .../openapi-typescript/test/test-helpers.ts | 11 +- .../test/transform/components-object.test.ts | 40 +- .../test/transform/header-object.test.ts | 26 +- .../test/transform/operation-object.test.ts | 34 +- .../test/transform/path-item-object.test.ts | 34 +- .../test/transform/paths-object.test.ts | 34 +- .../transform/request-body-object.test.ts | 36 +- .../test/transform/response-object.test.ts | 34 +- .../transform/schema-object/array.test.ts | 54 +- .../transform/schema-object/boolean.test.ts | 34 +- .../schema-object/composition.test.ts | 34 +- .../transform/schema-object/empty.test.ts | 34 +- .../transform/schema-object/number.test.ts | 34 +- .../transform/schema-object/object.test.ts | 38 +- .../transform/schema-object/string.test.ts | 34 +- .../test/transform/webhooks-object.test.ts | 34 +- pnpm-lock.yaml | 2165 ++++++++++------- 62 files changed, 2416 insertions(+), 2006 deletions(-) create mode 100644 .changeset/shaggy-windows-worry.md delete mode 100644 packages/openapi-typescript/test/fixtures/cli-outputs/file-a.yaml delete mode 100644 packages/openapi-typescript/test/fixtures/cli-outputs/file-b.yaml delete mode 100644 packages/openapi-typescript/test/fixtures/cli-outputs/nested/deep/file-e.yaml delete mode 100644 packages/openapi-typescript/test/fixtures/cli-outputs/nested/file-c.yaml delete mode 100644 packages/openapi-typescript/test/fixtures/cli-outputs/nested/file-d.yaml rename packages/openapi-typescript/test/fixtures/redocly/{redocly.config.yaml => redocly.yaml} (82%) diff --git a/.changeset/rude-jokes-grin.md b/.changeset/rude-jokes-grin.md index b886a2b81..7d9889d39 100644 --- a/.changeset/rude-jokes-grin.md +++ b/.changeset/rude-jokes-grin.md @@ -2,8 +2,10 @@ "openapi-typescript": major --- -⚠️ **Breaking**: Drop auth/fetching options in favor of Redocly CLI’s +⚠️ **Breaking**: Changing of several CLI flags and Node.js API options -- The `auth`, `httpHeaders`, `httpMethod`, and `fetch` options were all removed from the CLI and Node.js API -- To migrate, you’ll need to create a [redocly.yaml config](https://redocly.com/docs/cli/configuration/) that specifies your auth options [in the http setting](https://redocly.com/docs/cli/configuration/#resolve-non-public-or-non-remote-urls) -- Worth noting your `redocly.yaml` config will be respected for any other related settings +- The `--auth`, `--httpHeaders`, `--httpMethod`, and `fetch` (Node.js-only) options were all removed from the CLI and Node.js API + - To migrate, you’ll need to create a [redocly.yaml config](https://redocly.com/docs/cli/configuration/) that specifies your auth options [in the http setting](https://redocly.com/docs/cli/configuration/#resolve-non-public-or-non-remote-urls) + - You can also set your fetch client in redocly.yaml as well. +- `--immutable-types` has been renamed to `--immutable` +- `--support-array-length` has been renamed to `--array-length` diff --git a/.changeset/shaggy-windows-worry.md b/.changeset/shaggy-windows-worry.md new file mode 100644 index 000000000..140809f54 --- /dev/null +++ b/.changeset/shaggy-windows-worry.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": major +--- + +⚠️ **Breaking**: Remove globbing schemas in favor of `redocly.yaml` config. Specify multiple schemas with outputs in there instead. See [Multiple schemas](https://openapi-ts.pages.dev/docs/cli/#multiple-schemas) for more info. diff --git a/.changeset/short-llamas-listen.md b/.changeset/short-llamas-listen.md index 207f839b1..637c4f7a0 100644 --- a/.changeset/short-llamas-listen.md +++ b/.changeset/short-llamas-listen.md @@ -2,4 +2,4 @@ "openapi-typescript": minor --- -✨ **Feature:** allow configuration of schemas via `apis` key in redocly.config.yaml (see https://redocly.com/docs/cli/configuration/) +✨ **Feature:** allow configuration of schemas via `apis` key in redocly.config.yaml. [See docs](https://openapi-ts.pages.dev/cli/) for more info. diff --git a/docs/package.json b/docs/package.json index bce8aa86a..7458f38d1 100644 --- a/docs/package.json +++ b/docs/package.json @@ -10,26 +10,26 @@ "update-contributors": "node scripts/update-contributors.js" }, "dependencies": { - "@algolia/client-search": "^4.19.1", + "@algolia/client-search": "^4.20.0", "@astrojs/preact": "^2.2.2", - "@astrojs/react": "^2.2.2", - "@docsearch/css": "^3.5.1", - "@docsearch/react": "^3.5.1", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", - "astro": "^2.10.9", - "preact": "^10.17.0", + "@astrojs/react": "^3.0.2", + "@docsearch/css": "^3.5.2", + "@docsearch/react": "^3.5.2", + "@types/react": "^18.2.24", + "@types/react-dom": "^18.2.8", + "astro": "^3.2.2", + "preact": "^10.18.1", "react": "^18.2.0", "react-dom": "^18.2.0", - "sass": "^1.65.1" + "sass": "^1.68.0" }, "devDependencies": { "@astrojs/sitemap": "^2.0.2", - "@cobalt-ui/cli": "^1.4.1", - "@cobalt-ui/plugin-sass": "^1.2.3", - "@types/node": "^20.5.0", + "@cobalt-ui/cli": "^1.6.0", + "@cobalt-ui/plugin-sass": "^1.3.0", + "@types/node": "^20.8.2", "html-escaper": "^3.0.3", "typescript": "^5.2.2", - "vite-plugin-sass-dts": "^1.3.9" + "vite-plugin-sass-dts": "^1.3.11" } } diff --git a/docs/src/content/docs/about.md b/docs/src/content/docs/about.md index 7e8d2feb8..b96e2a321 100644 --- a/docs/src/content/docs/about.md +++ b/docs/src/content/docs/about.md @@ -24,7 +24,6 @@ description: Additional info about this project 1. Support converting any valid OpenAPI schema to TypeScript types, no matter how complicated. 1. Generated types should be statically-analyzable and runtime-free (with minor exceptions like enums). -1. Don’t validate schemas; there are existing libraries for that like Redocly. 1. Generated types should match your original schema as closely as possible, preserving original capitalization, etc. 1. Typegen only needs Node.js to run (no Java, Python, etc.) and works in any environment. 1. Support fetching OpenAPI schemas from files as well as local and remote servers. diff --git a/docs/src/content/docs/advanced.md b/docs/src/content/docs/advanced.md index d04966d3a..96ebaf113 100644 --- a/docs/src/content/docs/advanced.md +++ b/docs/src/content/docs/advanced.md @@ -185,7 +185,7 @@ $ DEBUG=openapi-ts:* npx openapi-typescript schema.yaml -o my-types.ts To only see certain types of debug messages, you can set `DEBUG=openapi-ts:[scope]` instead. Valid scopes are `redoc`, `lint`, `bundle`, and `ts`. -Note that debug messages will be suppressed if using the CLI and outputting via `stdout`. +Note that debug messages will be suppressed if the output is `stdout`. ## Tips diff --git a/docs/src/content/docs/cli.md b/docs/src/content/docs/cli.md index 37448ff07..8e2aa3297 100644 --- a/docs/src/content/docs/cli.md +++ b/docs/src/content/docs/cli.md @@ -3,60 +3,97 @@ title: CLI description: openapi-typescript CLI usage --- -The CLI is the most common way to use openapi-typescript. The CLI can parse JSON and YAML (via js-yaml). It can parse local and remote schemas (and even supports basic auth). +The CLI is the most common way to use openapi-typescript. The CLI can parse JSON and YAML, and even validates your schemas using the [Redocly CLI](https://redocly.com/docs/cli/commands/lint/). It can parse local and remote schemas (and even supports basic auth). -## Reading schemas +## Transforming an OpenAPI schema to TypeScript + +### Single schema + +The simplest way to transform schemas is by specifying an input schema (JSON or YAML), followed by `--output` (`-o`) where you’d like the output to be saved: ```bash npx openapi-typescript schema.yaml -o schema.ts -# 🚀 schema.yaml -> schema.ts [7ms] +# 🚀 schema.yaml -> schema.ts [50ms] ``` -### Globbing local schemas - ```bash -npx openapi-typescript "specs/**/*.yaml" -o schemas/ +npx openapi-typescript https://petstore3.swagger.io/api/v3/openapi.yaml -o petstore.d.ts -# 🚀 specs/one.yaml -> schemas/specs/one.ts [7ms] -# 🚀 specs/two.yaml -> schemas/specs/two.ts [7ms] -# 🚀 specs/three.yaml -> schemas/specs/three.ts [7ms] +# 🚀 https://petstore3.swagger.io/api/v3/openapi.yaml -> petstore.d.ts [250ms] ``` -_Thanks, [@sharmarajdaksh](https://github.com/sharmarajdaksh)!_ +### Multiple schemas -### Remote schemas +To transform multiple schemas, create a `redocly.yaml` file in the root of your project with [APIs defined](https://redocly.com/docs/cli/configuration/). Under `apis`, give each schema a unique name and optionally a version (the name doesn’t matter, so long as it’s unique). Set the `root` value to your schema’s entry point—this will act as the main input. For the output, set it with `openapi-ts.output`: + +```yaml +apis: + core@v2: + root: ./openapi/openapi.yaml + openapi-ts: + output: ./openapi/openapi.ts + external@v1: + root: ./openapi/external.yaml + openapi-ts: + output: ./openapi/openapi.ts +``` + +Whenver you have a `redocly.yaml` file in your project with `apis`, you can omit the input/output parameters in the CLI: ```bash -npx openapi-typescript https://petstore3.swagger.io/api/v3/openapi.yaml -o petstore.d.ts +npx openapi-typescript +``` -# 🚀 https://petstore3.swagger.io/api/v3/openapi.yaml -> petstore.d.ts [250ms] +> ⚠️ In previous versions globbing was supported, but that has been **deprecated** in v7 in favor of `redocly.yaml`. You’ll be able to control per-schema output locations better, as well as getting unique per-schema settings. + +## Redoc config + +A `redocly.yaml` file isn’t required to use openapi-typescript. By default it extends the `"minimal"` built-in config. But it is recommended if you want to have custom validation rules (or build types for [multiple schemas](#multiple-schemas)). The CLI will try to automatically find a `redocly.yaml` in the root of your project, but you can also provide its location with the `--redoc` flag: + +```bash +npx openapi-typescript --redoc ./path/to/redocly.yaml +``` + +You can read more about the Redoc’s configuration options [in their docs](https://redocly.com/docs/cli/configuration/). + +## Auth + +Authentication for non-public schemas is handled in your [Redocly config](https://redocly.com/docs/cli/configuration/#resolve-non-public-or-non-remote-urls). You can add headers and basic authentication like so: + +```yaml +resolve: + http: + headers: + - matches: https://api.example.com/v2/** + name: X-API-KEY + envVariable: SECRET_KEY + - matches: https://example.com/*/test.yaml + name: Authorization + envVariable: SECRET_AUTH ``` -_Thanks, [@psmyrdek](https://github.com/psmyrdek)!_ +Refer to the [Redocly docs](https://redocly.com/docs/cli/configuration/#resolve-non-public-or-non-remote-urls) for additional options. ## Options -| Option | Alias | Default | Description | -| :------------------------ | :---- | :------: | :--------------------------------------------------------------------------------------------------------------------------- | -| `--help` | | | Display inline help message and exit | -| `--version` | | | Display this library’s version and exit | -| `--output [location]` | `-o` | (stdout) | Where should the output file be saved? | -| `--auth [token]` | | | Provide an auth token to be passed along in the request (only if accessing a private schema) | -| `--header` | `-x` | | Provide an array of or singular headers as an alternative to a JSON object. Each header must follow the `key: value` pattern | -| `--headers-object="{…}"` | `-h` | | Provide a JSON object as string of HTTP headers for remote schema request. This will take priority over `--header` | -| `--http-method` | `-m` | `GET` | Provide the HTTP Verb/Method for fetching a schema from a remote URL | -| `--immutable-types` | | `false` | Generates immutable types (readonly properties and readonly array) | -| `--additional-properties` | | `false` | Allow arbitrary properties for all schema objects without `additionalProperties: false` | -| `--empty-objects-unknown` | | `false` | Allow arbitrary properties for schema objects with no specified properties, and no specified `additionalProperties` | -| `--default-non-nullable` | | `false` | Treat schema objects with default values as non-nullable | -| `--export-type` | `-t` | `false` | Export `type` instead of `interface` | -| `--path-params-as-types` | | `false` | Allow dynamic string lookups on the `paths` object | -| `--support-array-length` | | `false` | Generate tuples using array `minItems` / `maxItems` | -| `--alphabetize` | | `false` | Sort types alphabetically | -| `--exclude-deprecated` | | `false` | Exclude deprecated fields from types | - -### `--path-params-as-types` +| Option | Alias | Default | Description | +| :------------------------ | :---- | :------: | :------------------------------------------------------------------------------------------------------------------ | +| `--help` | | | Display inline help message and exit | +| `--version` | | | Display this library’s version and exit | +| `--output [location]` | `-o` | (stdout) | Where should the output file be saved? | +| `--redoc [location]` | | | Path to a `redocly.yaml` file (see [Multiple schemas](#multiple-schemas)) | +| `--immutable` | | `false` | Generates immutable types (readonly properties and readonly array) | +| `--additional-properties` | | `false` | Allow arbitrary properties for all schema objects without `additionalProperties: false` | +| `--empty-objects-unknown` | | `false` | Allow arbitrary properties for schema objects with no specified properties, and no specified `additionalProperties` | +| `--default-non-nullable` | | `false` | Treat schema objects with default values as non-nullable | +| `--export-type` | `-t` | `false` | Export `type` instead of `interface` | +| `--path-params-as-types` | | `false` | Allow dynamic string lookups on the `paths` object | +| `--array-length` | | `false` | Generate tuples using array `minItems` / `maxItems` | +| `--alphabetize` | | `false` | Sort types alphabetically | +| `--exclude-deprecated` | | `false` | Exclude deprecated fields from types | + +### pathParamsAsTypes flag By default, your URLs are preserved exactly as-written in your schema: @@ -88,7 +125,7 @@ Though this is a contrived example, you could use this feature to automatically _Thanks, [@Powell-v2](https://github.com/Powell-v2)!_ -### `--support-array-length` +### arrayLength flag This option is useful for generating tuples if an array type specifies `minItems` or `maxItems`. @@ -105,7 +142,7 @@ components: maxItems: 2 ``` -Enabling `--support-array-length` would change the typing like so: +Enabling `--array-length` would change the typing like so: ```diff export interface components { diff --git a/docs/src/content/docs/introduction.md b/docs/src/content/docs/introduction.md index 06f9b3d61..54833c819 100644 --- a/docs/src/content/docs/introduction.md +++ b/docs/src/content/docs/introduction.md @@ -34,7 +34,7 @@ npm i -D openapi-typescript ## Basic usage -First, generate a local type file by running `npx openapi-typescript`: +First, generate a local type file by running `npx openapi-typescript`, first specifying your input schema (JSON or YAML), and where you’d like the `--output` (`-o`) to be saved: ```bash # Local schema @@ -46,9 +46,7 @@ npx openapi-typescript https://myapi.dev/api/v1/openapi.yaml -o ./path/to/my/sch # 🚀 https://myapi.dev/api/v1/openapi.yaml -> ./path/to/my/schema.d.ts [250ms] ``` -> ⚠️ Be sure to validate your schemas! openapi-typescript will err on invalid schemas. - -Then, import schemas from the generated file like so: +Then in your TypeScript project, import types where needed: ```ts import { paths, components } from "./path/to/my/schema"; // <- generated by openapi-typescript @@ -60,8 +58,10 @@ type MyType = components["schemas"]["MyType"]; type EndpointParams = paths["/my/endpoint"]["parameters"]; // Response obj -type SuccessResponse = paths["/my/endpoint"]["get"]["responses"][200]["content"]["application/json"]["schema"]; -type ErrorResponse = paths["/my/endpoint"]["get"]["responses"][500]["content"]["application/json"]["schema"]; +type SuccessResponse = + paths["/my/endpoint"]["get"]["responses"][200]["content"]["application/json"]["schema"]; +type ErrorResponse = + paths["/my/endpoint"]["get"]["responses"][500]["content"]["application/json"]["schema"]; ``` From here, you can use these types for any of the following (but not limited to): diff --git a/docs/src/content/docs/node.md b/docs/src/content/docs/node.md index a10f86dfc..d1cab52df 100644 --- a/docs/src/content/docs/node.md +++ b/docs/src/content/docs/node.md @@ -15,43 +15,66 @@ npm i --save-dev openapi-typescript ## Usage -The Node API accepts either a parsed OpenAPI schema in a JS object, or a `string` or `URL` pointing to the location of a schema. It returns `Promise` (an array of TypeScript AST nodes). +The Node.js API accepts either a `URL`, `string`, or JSON object as input: + +| Type | Description | Example | +| :------: | :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------- | +| `URL` | Read a local or remote file | `await openapiTS(new URL('./schema.yaml', import.meta.url))`
`await openapiTS(new URL('https://myapi.com/v1/openapi.yaml'))` | +| `string` | Read dynamic YAML or JSON | `await openapiTS('openapi: "3.1" … ')` | +| `JSON` | Read dynamic JSON | `await openapiTS({ openapi: '3.1', … })` | + +It also accepts `Readable` streams and `Buffer` types that are resolved and treated as strings (validation, bundling, and type generation can’t really happen without the whole document). + +The Node API returns a `Promise` with a TypeScript AST. You can then traverse / manipulate / modify the AST as you see fit. + +To convert the TypeScript AST into a string, you can use `astToString()` helper which is a thin wrapper around [TypeScript’s printer](https://github.com/microsoft/TypeScript/wiki/Using-the-Compiler-API#re-printing-sections-of-a-typescript-file): ```ts import fs from "node:fs"; -import openapiTS from "openapi-typescript"; +import openapiTS, { astToString } from "openapi-typescript"; -// example 1: load [object] as schema (provide a `cwd` to resolve relative $refs) -const schema = await fs.promises.readFile("spec.json", "utf8"); // must be OpenAPI JSON -const ast = await openapiTS(JSON.parse(schema), { cwd: process.cwd() }); - -// example 2: load [string] as local file -const localPath = new URL("./spec.yaml", import.meta.url); // may be YAML or JSON format -const ast = await openapiTS(localPath); +const ast = await openapiTS(new URL("./my-schema.yaml", import.meta.url)); +const contents = astToString(ast); -// example 3: load [string] as remote URL -const ast = await openapiTS("https://myurl.com/v1/openapi.yaml"); +// (optional) write to file +fs.writeFileSync("./my-schema.ts", contents); ``` -From the result, you can traverse / manipulate / modify the AST as you see fit. +### Redoc config -To convert the TypeScript AST into a string, you can use `astToString()` helper which is a thin wrapper around [TypeScript’s printer](https://github.com/microsoft/TypeScript/wiki/Using-the-Compiler-API#re-printing-sections-of-a-typescript-file): +A Redoc config isn’t required to use openapi-typescript. By default it extends the `"minimal"` built-in config. But if you want to modify the default settings, you’ll need to provide a fully-initialized Redoc config to the Node API. You can do this with the helpers in `@redocly/openapi-core`: ```ts -import { astToString } from "openapi-typescript"; +import { createConfig, loadConfig } from "@redocly/openapi-core"; +import openapiTS from "openapi-typescript"; -const contents = astToString(ast); +// option 1: create in-memory config +const redoc = await createConfig( + { + apis: { + "core@v2": { … }, + "external@v1": { … }, + }, + }, + { extends: ["recommended"] }, +); + +// option 2: load from redocly.yaml file +const redoc = await loadConfig({ configPath: "redocly.yaml" }); + +const ast = await openapiTS(mySchema, { redoc }); ``` ## Options The Node API supports all the [CLI flags](/cli#options) in `camelCase` format, plus the following additional options: -| Name | Type | Default | Description | -| :-------------- | :-------------: | :------ | :------------------------------------------------------------------------------------------------------------------- | -| `transform` | `Function` | | Override the default Schema Object ➝ TypeScript transformer in certain scenarios | -| `postTransform` | `Function` | | Same as `transform` but runs _after_ the TypeScript transformation | -| `cwd` | `string \| URL` | | (optional) Provide the current working directory to resolve remote `$ref`s (only needed for in-memory JSON objects). | +| Name | Type | Default | Description | +| :-------------- | :-------------: | :-------------: | :------------------------------------------------------------------------------------------- | +| `transform` | `Function` | | Override the default Schema Object ➝ TypeScript transformer in certain scenarios | +| `postTransform` | `Function` | | Same as `transform` but runs _after_ the TypeScript transformation | +| `silent` | `boolean` | `false` | Silence warning messages (fatal errors will still show) | +| `cwd` | `string \| URL` | `process.cwd()` | (optional) Provide the current working directory to help resolve remote `$ref`s (if needed). | ### transform / postTransform @@ -74,6 +97,7 @@ properties: By default, openapiTS will generate `updated_at?: string;` because it’s not sure which format you want by `"date-time"` (formats are nonstandard and can be whatever you’d like). But we can enhance this by providing our own custom formatter, like so: ```ts +import openapiTS from "openapi-typescript"; import ts from "typescript"; const DATE = ts.factory.createIdentifier("Date"); // `Date` @@ -93,8 +117,8 @@ const ast = await openapiTS(mySchema, { That would result in the following change: ```diff -- updated_at?: string; -+ updated_at?: Date; +- updated_at?: string; ++ updated_at?: Date; ``` #### Example: `Blob` types @@ -113,6 +137,7 @@ Body_file_upload: Use the same pattern to transform the types: ```ts +import openapiTS from "openapi-typescript"; import ts from "typescript"; const BLOB = ts.factory.createIdentifier("Blob"); // `Blob` @@ -132,8 +157,8 @@ const ast = await openapiTS(mySchema, { Resultant diff with correctly-typed `file` property: ```diff -- file?: string; -+ file?: Blob; +- file?: string; ++ file?: Blob; ``` Any [Schema Object](https://spec.openapis.org/oas/latest.html#schema-object) present in your schema will be run through this formatter (even remote ones!). Also be sure to check the `metadata` parameter for additional context that may be helpful. diff --git a/docs/src/tokens/index.scss b/docs/src/tokens/index.scss index d49e085b3..c90e22b35 100644 --- a/docs/src/tokens/index.scss +++ b/docs/src/tokens/index.scss @@ -8,12 +8,6 @@ @use "sass:map"; $__token-values: ( - "color.brand.ts-blue": ( - default: (var(--color-brand-ts-blue)), - ), - "color.brand.fetch-green": ( - default: (var(--color-brand-fetch-green)), - ), "color.blue.10": ( default: (var(--color-blue-10)), ), @@ -56,6 +50,12 @@ $__token-values: ( "color.blue.100": ( default: (var(--color-blue-100)), ), + "color.brand.fetch-green": ( + default: (var(--color-brand-fetch-green)), + ), + "color.brand.ts-blue": ( + default: (var(--color-brand-ts-blue)), + ), "color.gray.10": ( default: (var(--color-gray-10)), ), @@ -101,11 +101,6 @@ $__token-values: ( "color.ui.action": ( default: (var(--color-ui-action)), ), - "color.ui.border": ( - default: (var(--color-ui-border)), - "light": (var(--color-ui-border)), - "dark": (var(--color-ui-border)), - ), "color.ui.bg": ( default: (var(--color-ui-bg)), "light": (var(--color-ui-bg)), @@ -116,11 +111,26 @@ $__token-values: ( "light": (var(--color-ui-bg-offset)), "dark": (var(--color-ui-bg-offset)), ), + "color.ui.border": ( + default: (var(--color-ui-border)), + "light": (var(--color-ui-border)), + "dark": (var(--color-ui-border)), + ), "color.ui.callout-bg": ( default: (var(--color-ui-callout-bg)), "light": (var(--color-ui-callout-bg)), "dark": (var(--color-ui-callout-bg)), ), + "color.ui.contrast.00": ( + default: (var(--color-ui-contrast-00)), + "light": (var(--color-ui-contrast-00)), + "dark": (var(--color-ui-contrast-00)), + ), + "color.ui.contrast.05": ( + default: (var(--color-ui-contrast-05)), + "light": (var(--color-ui-contrast-05)), + "dark": (var(--color-ui-contrast-05)), + ), "color.ui.contrast.10": ( default: (var(--color-ui-contrast-10)), "light": (var(--color-ui-contrast-10)), @@ -191,16 +201,6 @@ $__token-values: ( "light": (var(--color-ui-contrast-100)), "dark": (var(--color-ui-contrast-100)), ), - "color.ui.contrast.00": ( - default: (var(--color-ui-contrast-00)), - "light": (var(--color-ui-contrast-00)), - "dark": (var(--color-ui-contrast-00)), - ), - "color.ui.contrast.05": ( - default: (var(--color-ui-contrast-05)), - "light": (var(--color-ui-contrast-05)), - "dark": (var(--color-ui-contrast-05)), - ), "color.ui.fg": ( default: (var(--color-ui-fg)), "light": (var(--color-ui-fg)), @@ -211,18 +211,15 @@ $__token-values: ( "light": (var(--color-ui-text-subdue)), "dark": (var(--color-ui-text-subdue)), ), + "typography.base": ( + "__cobalt-error": "This is a typography mixin. Use `@include typography(\"typography.base\")` instead.", + ), "typography.family.base": ( default: (var(--typography-family-base)), ), "typography.family.mono": ( default: (var(--typography-family-mono)), ), - "typography.base": ( - "__cobalt-error": "This is a typography mixin. Use `@include typography(\"typography.base\")` instead.", - ), - "typography.mono": ( - "__cobalt-error": "This is a typography mixin. Use `@include typography(\"typography.mono\")` instead.", - ), "typography.h1": ( "__cobalt-error": "This is a typography mixin. Use `@include typography(\"typography.h1\")` instead.", ), @@ -235,6 +232,9 @@ $__token-values: ( "typography.h4": ( "__cobalt-error": "This is a typography mixin. Use `@include typography(\"typography.h4\")` instead.", ), + "typography.mono": ( + "__cobalt-error": "This is a typography mixin. Use `@include typography(\"typography.mono\")` instead.", + ), ); $__token-typography-mixins: ( @@ -247,15 +247,6 @@ $__token-typography-mixins: ( "line-height": (var(--typography-base-line-height)), ), ), - "typography.mono": ( - default: ( - "font-family": (var(--typography-mono-font-family)), - "font-size": (var(--typography-mono-font-size)), - "font-weight": (var(--typography-mono-font-weight)), - "letter-spacing": (var(--typography-mono-letter-spacing)), - "line-height": (var(--typography-mono-line-height)), - ), - ), "typography.h1": ( default: ( "font-family": (var(--typography-h1-font-family)), @@ -292,6 +283,15 @@ $__token-typography-mixins: ( "line-height": (var(--typography-h4-line-height)), ), ), + "typography.mono": ( + default: ( + "font-family": (var(--typography-mono-font-family)), + "font-size": (var(--typography-mono-font-size)), + "font-weight": (var(--typography-mono-font-weight)), + "letter-spacing": (var(--typography-mono-letter-spacing)), + "line-height": (var(--typography-mono-line-height)), + ), + ), ); @function token($tokenName, $modeName: default) { diff --git a/docs/src/tokens/tokens.css b/docs/src/tokens/tokens.css index 5e8ffa1ee..1958ff95c 100644 --- a/docs/src/tokens/tokens.css +++ b/docs/src/tokens/tokens.css @@ -5,8 +5,6 @@ */ :root { - --color-brand-ts-blue: var(--color-blue-60); - --color-brand-fetch-green: #3dca8d; --color-blue-10: #020405; --color-blue-15: #040c17; --color-blue-20: #06162c; @@ -21,6 +19,8 @@ --color-blue-90: #ccdfff; --color-blue-95: #f3f7fe; --color-blue-100: #ffffff; + --color-brand-fetch-green: #3dca8d; + --color-brand-ts-blue: var(--color-blue-60); --color-gray-10: #000406; --color-gray-15: #040d0f; --color-gray-20: #0f1819; @@ -36,10 +36,12 @@ --color-gray-95: #f0eeee; --color-gray-100: #ffffff; --color-ui-action: var(--color-blue-60); - --color-ui-border: var(--color-gray-90); --color-ui-bg: var(--color-ui-contrast-00); --color-ui-bg-offset: var(--color-ui-contrast-05); + --color-ui-border: var(--color-gray-90); --color-ui-callout-bg: var(--color-blue-95); + --color-ui-contrast-00: var(--color-gray-100); + --color-ui-contrast-05: var(--color-gray-95); --color-ui-contrast-10: var(--color-gray-90); --color-ui-contrast-15: var(--color-gray-85); --color-ui-contrast-20: var(--color-gray-80); @@ -54,50 +56,50 @@ --color-ui-contrast-90: var(--color-gray-10); --color-ui-contrast-95: var(--color-ui-contrast-90); --color-ui-contrast-100: var(--color-ui-contrast-90); - --color-ui-contrast-00: var(--color-gray-100); - --color-ui-contrast-05: var(--color-gray-95); --color-ui-fg: var(--color-ui-contrast-90); --color-ui-text-subdue: var(--color-ui-contrast-60); - --typography-family-base: "Neue Montreal", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; - --typography-family-mono: ui-monospace, monospace; --typography-base-font-family: var(--typography-family-base); --typography-base-font-size: 1rem; - --typography-base-line-height: 1.625; - --typography-base-letter-spacing: 0; --typography-base-font-weight: 400; - --typography-mono-font-family: var(--typography-family-mono); - --typography-mono-font-size: 0.875rem; - --typography-mono-line-height: 1.5; - --typography-mono-letter-spacing: 0; - --typography-mono-font-weight: 400; + --typography-base-letter-spacing: 0; + --typography-base-line-height: 1.625; + --typography-family-base: "Neue Montreal", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + --typography-family-mono: ui-monospace, monospace; --typography-h1-font-family: var(--typography-family-base); --typography-h1-font-size: 2.5rem; - --typography-h1-line-height: 1.2; - --typography-h1-letter-spacing: 0; --typography-h1-font-weight: 500; + --typography-h1-letter-spacing: 0; + --typography-h1-line-height: 1.2; --typography-h2-font-family: var(--typography-family-base); --typography-h2-font-size: 1.875rem; - --typography-h2-line-height: 1.2; - --typography-h2-letter-spacing: 0; --typography-h2-font-weight: 400; + --typography-h2-letter-spacing: 0; + --typography-h2-line-height: 1.2; --typography-h3-font-family: var(--typography-family-base); --typography-h3-font-size: 1.375rem; - --typography-h3-line-height: 1.2; - --typography-h3-letter-spacing: 0; --typography-h3-font-weight: 500; + --typography-h3-letter-spacing: 0; + --typography-h3-line-height: 1.2; --typography-h4-font-family: var(--typography-family-base); --typography-h4-font-size: 1rem; - --typography-h4-line-height: 1.25; - --typography-h4-letter-spacing: 0; --typography-h4-font-weight: 450; + --typography-h4-letter-spacing: 0; + --typography-h4-line-height: 1.25; + --typography-mono-font-family: var(--typography-family-mono); + --typography-mono-font-size: 0.875rem; + --typography-mono-font-weight: 400; + --typography-mono-letter-spacing: 0; + --typography-mono-line-height: 1.5; } @media (prefers-color-scheme: light) { :root { - --color-ui-border: var(--color-gray-90); --color-ui-bg: var(--color-ui-contrast-00); --color-ui-bg-offset: var(--color-ui-contrast-05); + --color-ui-border: var(--color-gray-90); --color-ui-callout-bg: var(--color-blue-95); + --color-ui-contrast-00: var(--color-gray-100); + --color-ui-contrast-05: var(--color-gray-95); --color-ui-contrast-10: var(--color-gray-90); --color-ui-contrast-15: var(--color-gray-85); --color-ui-contrast-20: var(--color-gray-80); @@ -112,18 +114,18 @@ --color-ui-contrast-90: var(--color-gray-10); --color-ui-contrast-95: var(--color-ui-contrast-90); --color-ui-contrast-100: var(--color-ui-contrast-90); - --color-ui-contrast-00: var(--color-gray-100); - --color-ui-contrast-05: var(--color-gray-95); --color-ui-fg: var(--color-ui-contrast-90); --color-ui-text-subdue: var(--color-ui-contrast-60); } } body[data-color-mode="light"] { - --color-ui-border: var(--color-gray-90); --color-ui-bg: var(--color-ui-contrast-00); --color-ui-bg-offset: var(--color-ui-contrast-05); + --color-ui-border: var(--color-gray-90); --color-ui-callout-bg: var(--color-blue-95); + --color-ui-contrast-00: var(--color-gray-100); + --color-ui-contrast-05: var(--color-gray-95); --color-ui-contrast-10: var(--color-gray-90); --color-ui-contrast-15: var(--color-gray-85); --color-ui-contrast-20: var(--color-gray-80); @@ -138,18 +140,18 @@ body[data-color-mode="light"] { --color-ui-contrast-90: var(--color-gray-10); --color-ui-contrast-95: var(--color-ui-contrast-90); --color-ui-contrast-100: var(--color-ui-contrast-90); - --color-ui-contrast-00: var(--color-gray-100); - --color-ui-contrast-05: var(--color-gray-95); --color-ui-fg: var(--color-ui-contrast-90); --color-ui-text-subdue: var(--color-ui-contrast-60); } @media (prefers-color-scheme: dark) { :root { - --color-ui-border: var(--color-gray-20); --color-ui-bg: var(--color-ui-contrast-00); --color-ui-bg-offset: var(--color-ui-contrast-05); + --color-ui-border: var(--color-gray-20); --color-ui-callout-bg: var(--color-blue-20); + --color-ui-contrast-00: var(--color-gray-10); + --color-ui-contrast-05: var(--color-gray-15); --color-ui-contrast-10: var(--color-gray-20); --color-ui-contrast-15: var(--color-gray-25); --color-ui-contrast-20: var(--color-gray-30); @@ -164,18 +166,18 @@ body[data-color-mode="light"] { --color-ui-contrast-90: var(--color-gray-100); --color-ui-contrast-95: var(--color-ui-contrast-90); --color-ui-contrast-100: var(--color-ui-contrast-90); - --color-ui-contrast-00: var(--color-gray-10); - --color-ui-contrast-05: var(--color-gray-15); --color-ui-fg: var(--color-ui-contrast-80); --color-ui-text-subdue: var(--color-ui-contrast-60); } } body[data-color-mode="dark"] { - --color-ui-border: var(--color-gray-20); --color-ui-bg: var(--color-ui-contrast-00); --color-ui-bg-offset: var(--color-ui-contrast-05); + --color-ui-border: var(--color-gray-20); --color-ui-callout-bg: var(--color-blue-20); + --color-ui-contrast-00: var(--color-gray-10); + --color-ui-contrast-05: var(--color-gray-15); --color-ui-contrast-10: var(--color-gray-20); --color-ui-contrast-15: var(--color-gray-25); --color-ui-contrast-20: var(--color-gray-30); @@ -190,15 +192,12 @@ body[data-color-mode="dark"] { --color-ui-contrast-90: var(--color-gray-100); --color-ui-contrast-95: var(--color-ui-contrast-90); --color-ui-contrast-100: var(--color-ui-contrast-90); - --color-ui-contrast-00: var(--color-gray-10); - --color-ui-contrast-05: var(--color-gray-15); --color-ui-fg: var(--color-ui-contrast-80); --color-ui-text-subdue: var(--color-ui-contrast-60); } @supports (color: color(display-p3 1 1 1)) { :root { - --color-brand-fetch-green: color(display-p3 0.23921568627450981 0.792156862745098 0.5529411764705883); --color-blue-10: color(display-p3 0.00784313725490196 0.01568627450980392 0.0196078431372549); --color-blue-15: color(display-p3 0.01568627450980392 0.047058823529411764 0.09019607843137255); --color-blue-20: color(display-p3 0.023529411764705882 0.08627450980392157 0.17254901960784313); @@ -213,6 +212,7 @@ body[data-color-mode="dark"] { --color-blue-90: color(display-p3 0.8 0.8745098039215686 1); --color-blue-95: color(display-p3 0.9529411764705882 0.9686274509803922 0.996078431372549); --color-blue-100: color(display-p3 1 1 1); + --color-brand-fetch-green: color(display-p3 0.23921568627450981 0.792156862745098 0.5529411764705883); --color-gray-10: color(display-p3 0 0.01568627450980392 0.023529411764705882); --color-gray-15: color(display-p3 0.01568627450980392 0.050980392156862744 0.058823529411764705); --color-gray-20: color(display-p3 0.058823529411764705 0.09411764705882353 0.09803921568627451); diff --git a/packages/openapi-fetch/src/index.test.ts b/packages/openapi-fetch/src/index.test.ts index 92127b9eb..90e0030af 100644 --- a/packages/openapi-fetch/src/index.test.ts +++ b/packages/openapi-fetch/src/index.test.ts @@ -2,8 +2,8 @@ import { atom, computed } from "nanostores"; import { afterEach, beforeAll, describe, expect, it, vi } from "vitest"; // @ts-expect-error import createFetchMock from "vitest-fetch-mock"; -import createClient from "./index.js"; import type { paths } from "../test/v1.js"; +import createClient from "./index.js"; const fetchMocker = createFetchMock(vi); @@ -47,7 +47,10 @@ describe("client", () => { const client = createClient(); // data - mockFetchOnce({ status: 200, body: JSON.stringify(["one", "two", "three"]) }); + mockFetchOnce({ + status: 200, + body: JSON.stringify(["one", "two", "three"]), + }); const dataRes = await client.GET("/string-array"); // … is initially possibly undefined @@ -66,7 +69,10 @@ describe("client", () => { } // error - mockFetchOnce({ status: 500, body: JSON.stringify({ code: 500, message: "Something went wrong" }) }); + mockFetchOnce({ + status: 500, + body: JSON.stringify({ code: 500, message: "Something went wrong" }), + }); const errorRes = await client.GET("/string-array"); // … is initially possibly undefined @@ -103,14 +109,19 @@ describe("client", () => { await client.GET("/blogposts/{post_id}", { params: { path: {} } }); // expect error on mismatched type (number v string) - // @ts-expect-error - await client.GET("/blogposts/{post_id}", { params: { path: { post_id: 1234 } } }); + await client.GET("/blogposts/{post_id}", { + // @ts-expect-error + params: { path: { post_id: 1234 } }, + }); // (no error) - await client.GET("/blogposts/{post_id}", { params: { path: { post_id: "1234" } } }); + await client.GET("/blogposts/{post_id}", { + params: { path: { post_id: "1234" } }, + }); // expect param passed correctly - const lastCall = fetchMocker.mock.calls[fetchMocker.mock.calls.length - 1]; + const lastCall = + fetchMocker.mock.calls[fetchMocker.mock.calls.length - 1]; expect(lastCall[0]).toBe("https://myapi.com/v1/blogposts/1234"); }); @@ -123,18 +134,25 @@ describe("client", () => { await client.GET("/header-params"); // expect error on incorrect header - // @ts-expect-error - await client.GET("/header-params", { params: { header: { foo: "bar" } } }); + await client.GET("/header-params", { + // @ts-expect-error + params: { header: { foo: "bar" } }, + }); // expect error on mismatched type - // @ts-expect-error - await client.GET("/header-params", { params: { header: { "x-required-header": true } } }); + await client.GET("/header-params", { + // @ts-expect-error + params: { header: { "x-required-header": true } }, + }); // (no error) - await client.GET("/header-params", { params: { header: { "x-required-header": "correct" } } }); + await client.GET("/header-params", { + params: { header: { "x-required-header": "correct" } }, + }); // expect param passed correctly - const lastCall = fetchMocker.mock.calls[fetchMocker.mock.calls.length - 1]; + const lastCall = + fetchMocker.mock.calls[fetchMocker.mock.calls.length - 1]; expect(lastCall[1].headers.get("x-required-header")).toBe("correct"); }); @@ -149,7 +167,9 @@ describe("client", () => { }, }); - expect(fetchMocker.mock.calls[0][0]).toBe("/blogposts/my-post?version=2&format=json"); + expect(fetchMocker.mock.calls[0][0]).toBe( + "/blogposts/my-post?version=2&format=json", + ); }); it("array params", async () => { @@ -161,7 +181,9 @@ describe("client", () => { }, }); - expect(fetchMocker.mock.calls[0][0]).toBe("/blogposts?tags=one%2Ctwo%2Cthree"); + expect(fetchMocker.mock.calls[0][0]).toBe( + "/blogposts?tags=one%2Ctwo%2Cthree", + ); }); it("empty/null params", async () => { @@ -189,7 +211,9 @@ describe("client", () => { querySerializer: (q) => `alpha=${q.version}&beta=${q.format}`, }); - expect(fetchMocker.mock.calls[0][0]).toBe("/blogposts/my-post?alpha=2&beta=json"); + expect(fetchMocker.mock.calls[0][0]).toBe( + "/blogposts/my-post?alpha=2&beta=json", + ); }); it("applies global serializer", async () => { @@ -204,7 +228,9 @@ describe("client", () => { }, }); - expect(fetchMocker.mock.calls[0][0]).toBe("/blogposts/my-post?alpha=2&beta=json"); + expect(fetchMocker.mock.calls[0][0]).toBe( + "/blogposts/my-post?alpha=2&beta=json", + ); }); it("overrides global serializer if provided", async () => { @@ -220,7 +246,9 @@ describe("client", () => { querySerializer: (q) => `alpha=${q.version}&beta=${q.format}`, }); - expect(fetchMocker.mock.calls[0][0]).toBe("/blogposts/my-post?alpha=2&beta=json"); + expect(fetchMocker.mock.calls[0][0]).toBe( + "/blogposts/my-post?alpha=2&beta=json", + ); }); }); }); @@ -244,7 +272,11 @@ describe("client", () => { // expect present body to be good enough (all fields optional) // (no error) await client.PUT("/blogposts", { - body: { title: "Foo", body: "Bar", publish_date: new Date("2023-04-01T12:00:00Z").getTime() }, + body: { + title: "Foo", + body: "Bar", + publish_date: new Date("2023-04-01T12:00:00Z").getTime(), + }, }); }); @@ -253,8 +285,10 @@ describe("client", () => { const client = createClient(); // expect error on wrong body type - // @ts-expect-error - await client.PUT("/blogposts-optional-inline", { body: { error: true } }); + await client.PUT("/blogposts-optional-inline", { + // @ts-expect-error + body: { error: true }, + }); // (no error) await client.PUT("/blogposts-optional-inline", { @@ -309,7 +343,10 @@ describe("client", () => { const headers: HeadersInit = { Authorization: "Bearer secrettoken" }; const client = createClient({ headers }); - mockFetchOnce({ status: 200, body: JSON.stringify({ email: "user@user.com" }) }); + mockFetchOnce({ + status: 200, + body: JSON.stringify({ email: "user@user.com" }), + }); await client.GET("/self"); // assert default headers were passed @@ -323,9 +360,17 @@ describe("client", () => { }); it("allows override headers", async () => { - const client = createClient({ headers: { "Cache-Control": "max-age=10000000" } }); - mockFetchOnce({ status: 200, body: JSON.stringify({ email: "user@user.com" }) }); - await client.GET("/self", { params: {}, headers: { "Cache-Control": "no-cache" } }); + const client = createClient({ + headers: { "Cache-Control": "max-age=10000000" }, + }); + mockFetchOnce({ + status: 200, + body: JSON.stringify({ email: "user@user.com" }), + }); + await client.GET("/self", { + params: {}, + headers: { "Cache-Control": "no-cache" }, + }); // assert default headers were passed const options = fetchMocker.mock.calls[0][1]; @@ -339,7 +384,10 @@ describe("client", () => { it("allows unsetting headers", async () => { const client = createClient({ headers: { "Content-Type": null } }); - mockFetchOnce({ status: 200, body: JSON.stringify({ email: "user@user.com" }) }); + mockFetchOnce({ + status: 200, + body: JSON.stringify({ email: "user@user.com" }), + }); await client.GET("/self", { params: {} }); // assert default headers were passed @@ -376,7 +424,9 @@ describe("client", () => { }); // expect post_id to be encoded properly - expect(fetchMocker.mock.calls[0][0]).toBe("/blogposts/post%3Fid%20%3D%20%F0%9F%A5%B4"); + expect(fetchMocker.mock.calls[0][0]).toBe( + "/blogposts/post%3Fid%20%3D%20%F0%9F%A5%B4", + ); }); it("multipart/form-data", async () => { @@ -424,12 +474,25 @@ describe("client", () => { }); it("treats `default` as an error", async () => { - const client = createClient({ headers: { "Cache-Control": "max-age=10000000" } }); - mockFetchOnce({ status: 500, headers: { "Content-Type": "application/json" }, body: JSON.stringify({ code: 500, message: "An unexpected error occurred" }) }); + const client = createClient({ + headers: { "Cache-Control": "max-age=10000000" }, + }); + mockFetchOnce({ + status: 500, + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + code: 500, + message: "An unexpected error occurred", + }), + }); const { error } = await client.GET("/default-as-error"); // discard `data` object - if (!error) throw new Error("treats `default` as an error: error response should be present"); + if (!error) { + throw new Error( + "treats `default` as an error: error response should be present", + ); + } // assert `error.message` doesn’t throw TS error expect(error.message).toBe("An unexpected error occurred"); @@ -446,7 +509,9 @@ describe("client", () => { it("arrayBuffer", async () => { const client = createClient(); mockFetchOnce({ status: 200, body: "{}" }); - const { data } = await client.GET("/anyMethod", { parseAs: "arrayBuffer" }); + const { data } = await client.GET("/anyMethod", { + parseAs: "arrayBuffer", + }); expect(data instanceof ArrayBuffer).toBe(true); }); @@ -476,12 +541,19 @@ describe("client", () => { }); it("sends correct options, returns success", async () => { - const mockData = { title: "My Post", body: "

This is a very good post

", publish_date: new Date("2023-03-01T12:00:00Z").getTime() }; + const mockData = { + title: "My Post", + body: "

This is a very good post

", + publish_date: new Date("2023-03-01T12:00:00Z").getTime(), + }; const client = createClient(); mockFetchOnce({ status: 200, body: JSON.stringify(mockData) }); - const { data, error, response } = await client.GET("/blogposts/{post_id}", { - params: { path: { post_id: "my-post" } }, - }); + const { data, error, response } = await client.GET( + "/blogposts/{post_id}", + { + params: { path: { post_id: "my-post" } }, + }, + ); // assert correct URL was called expect(fetchMocker.mock.calls[0][0]).toBe("/blogposts/my-post"); @@ -498,9 +570,12 @@ describe("client", () => { const mockError = { code: 404, message: "Post not found" }; const client = createClient(); mockFetchOnce({ status: 404, body: JSON.stringify(mockError) }); - const { data, error, response } = await client.GET("/blogposts/{post_id}", { - params: { path: { post_id: "my-post" } }, - }); + const { data, error, response } = await client.GET( + "/blogposts/{post_id}", + { + params: { path: { post_id: "my-post" } }, + }, + ); // assert correct URL was called expect(fetchMocker.mock.calls[0][0]).toBe("/blogposts/my-post"); @@ -521,7 +596,9 @@ describe("client", () => { const client = createClient(); mockFetchOnce({ status: 200, body: "[]" }); const { data } = await client.GET("/blogposts", { params: {} }); - if (!data) throw new Error("data empty"); + if (!data) { + throw new Error("data empty"); + } // assert array type (and only array type) was inferred expect(data.length).toBe(0); @@ -530,7 +607,9 @@ describe("client", () => { it("handles literal 2XX and 4XX codes", async () => { const client = createClient(); mockFetch({ status: 201, body: '{"status": "success"}' }); - const { data, error } = await client.PUT("/media", { body: { media: "base64", name: "myImage" } }); + const { data, error } = await client.PUT("/media", { + body: { media: "base64", name: "myImage" }, + }); if (data) { // assert 2XX type inferred correctly @@ -621,7 +700,11 @@ describe("client", () => { it("returns empty object on Content-Length: 0", async () => { const client = createClient(); - mockFetchOnce({ headers: { "Content-Length": "0" }, status: 200, body: "" }); + mockFetchOnce({ + headers: { "Content-Length": "0" }, + status: 200, + body: "", + }); const { data, error } = await client.DELETE("/blogposts/{post_id}", { params: { path: { post_id: "123" }, @@ -677,12 +760,22 @@ describe("client", () => { describe("examples", () => { it("nanostores", async () => { const token = atom(); - const client = computed([token], (currentToken) => createClient({ headers: currentToken ? { Authorization: `Bearer ${currentToken}` } : {} })); + const client = computed([token], (currentToken) => + createClient({ + headers: currentToken + ? { Authorization: `Bearer ${currentToken}` } + : {}, + }), + ); // assert initial call is unauthenticated mockFetchOnce({ status: 200, body: "{}" }); - await client.get().GET("/blogposts/{post_id}", { params: { path: { post_id: "1234" } } }); - expect(fetchMocker.mock.calls[0][1].headers.get("authorization")).toBeNull(); + await client + .get() + .GET("/blogposts/{post_id}", { params: { path: { post_id: "1234" } } }); + expect( + fetchMocker.mock.calls[0][1].headers.get("authorization"), + ).toBeNull(); // assert after setting token, client is authenticated const tokenVal = "abcd"; @@ -693,8 +786,12 @@ describe("examples", () => { resolve(); }, 0), ); - await client.get().GET("/blogposts/{post_id}", { params: { path: { post_id: "1234" } } }); - expect(fetchMocker.mock.calls[1][1].headers.get("authorization")).toBe(`Bearer ${tokenVal}`); + await client + .get() + .GET("/blogposts/{post_id}", { params: { path: { post_id: "1234" } } }); + expect(fetchMocker.mock.calls[1][1].headers.get("authorization")).toBe( + `Bearer ${tokenVal}`, + ); }); it("proxies", async () => { @@ -703,15 +800,21 @@ describe("examples", () => { const baseClient = createClient(); const client = new Proxy(baseClient, { get(_, key: keyof typeof baseClient) { - const newClient = createClient({ headers: token ? { Authorization: `Bearer ${token}` } : {} }); + const newClient = createClient({ + headers: token ? { Authorization: `Bearer ${token}` } : {}, + }); return newClient[key]; }, }); // assert initial call is unauthenticated mockFetchOnce({ status: 200, body: "{}" }); - await client.GET("/blogposts/{post_id}", { params: { path: { post_id: "1234" } } }); - expect(fetchMocker.mock.calls[0][1].headers.get("authorization")).toBeNull(); + await client.GET("/blogposts/{post_id}", { + params: { path: { post_id: "1234" } }, + }); + expect( + fetchMocker.mock.calls[0][1].headers.get("authorization"), + ).toBeNull(); // assert after setting token, client is authenticated const tokenVal = "abcd"; @@ -722,7 +825,11 @@ describe("examples", () => { resolve(); }, 0), ); - await client.GET("/blogposts/{post_id}", { params: { path: { post_id: "1234" } } }); - expect(fetchMocker.mock.calls[1][1].headers.get("authorization")).toBe(`Bearer ${tokenVal}`); + await client.GET("/blogposts/{post_id}", { + params: { path: { post_id: "1234" } }, + }); + expect(fetchMocker.mock.calls[1][1].headers.get("authorization")).toBe( + `Bearer ${tokenVal}`, + ); }); }); diff --git a/packages/openapi-fetch/src/index.ts b/packages/openapi-fetch/src/index.ts index c0b69ac0c..2919a811b 100644 --- a/packages/openapi-fetch/src/index.ts +++ b/packages/openapi-fetch/src/index.ts @@ -1,4 +1,14 @@ -import type { ErrorResponse, HttpMethod, SuccessResponse, FilterKeys, MediaType, PathsWithMethod, ResponseObjectMap, OperationRequestBodyContent, HasRequiredKeys } from "openapi-typescript-helpers"; +import type { + ErrorResponse, + HttpMethod, + SuccessResponse, + FilterKeys, + MediaType, + PathsWithMethod, + ResponseObjectMap, + OperationRequestBodyContent, + HasRequiredKeys, +} from "openapi-typescript-helpers"; // settings & const const DEFAULT_HEADERS = { @@ -22,19 +32,39 @@ interface ClientOptions extends Omit { // headers override to make typing friendlier headers?: HeadersOptions; } -export type HeadersOptions = HeadersInit | Record; -export type QuerySerializer = (query: T extends { parameters: any } ? NonNullable : Record) => string; +export type HeadersOptions = + | HeadersInit + | Record; +export type QuerySerializer = ( + query: T extends { parameters: any } + ? NonNullable + : Record, +) => string; export type BodySerializer = (body: OperationRequestBodyContent) => any; export type ParseAs = "json" | "text" | "blob" | "arrayBuffer" | "stream"; export interface DefaultParamsOption { params?: { query?: Record }; } -export type ParamsOption = T extends { parameters: any } ? { params: NonNullable } : DefaultParamsOption; -export type RequestBodyOption = OperationRequestBodyContent extends never ? { body?: never } : undefined extends OperationRequestBodyContent ? { body?: OperationRequestBodyContent } : { body: OperationRequestBodyContent }; +export type ParamsOption = T extends { parameters: any } + ? { params: NonNullable } + : DefaultParamsOption; +export type RequestBodyOption = OperationRequestBodyContent extends never + ? { body?: never } + : undefined extends OperationRequestBodyContent + ? { body?: OperationRequestBodyContent } + : { body: OperationRequestBodyContent }; export type FetchOptions = RequestOptions & Omit; export type FetchResponse = - | { data: FilterKeys>, MediaType>; error?: never; response: Response } - | { data?: never; error: FilterKeys>, MediaType>; response: Response }; + | { + data: FilterKeys>, MediaType>; + error?: never; + response: Response; + } + | { + data?: never; + error: FilterKeys>, MediaType>; + response: Response; + }; export type RequestOptions = ParamsOption & RequestBodyOption & { querySerializer?: QuerySerializer; @@ -42,32 +72,73 @@ export type RequestOptions = ParamsOption & parseAs?: ParseAs; }; -export default function createClient(clientOptions: ClientOptions = {}) { - const { fetch = globalThis.fetch, querySerializer: globalQuerySerializer, bodySerializer: globalBodySerializer, ...options } = clientOptions; +export default function createClient( + clientOptions: ClientOptions = {}, +) { + const { + fetch = globalThis.fetch, + querySerializer: globalQuerySerializer, + bodySerializer: globalBodySerializer, + ...options + } = clientOptions; let baseUrl = options.baseUrl ?? ""; if (baseUrl.endsWith("/")) { baseUrl = baseUrl.slice(0, -1); // remove trailing slash } - async function coreFetch

(url: P, fetchOptions: FetchOptions): Promise> { - const { headers, body: requestBody, params = {}, parseAs = "json", querySerializer = globalQuerySerializer ?? defaultQuerySerializer, bodySerializer = globalBodySerializer ?? defaultBodySerializer, ...init } = fetchOptions || {}; + async function coreFetch

( + url: P, + fetchOptions: FetchOptions, + ): Promise> { + const { + headers, + body: requestBody, + params = {}, + parseAs = "json", + querySerializer = globalQuerySerializer ?? defaultQuerySerializer, + bodySerializer = globalBodySerializer ?? defaultBodySerializer, + ...init + } = fetchOptions || {}; // URL - const finalURL = createFinalURL(url as string, { baseUrl, params, querySerializer }); - const finalHeaders = mergeHeaders(DEFAULT_HEADERS, clientOptions?.headers, headers, (params as any).header); + const finalURL = createFinalURL(url as string, { + baseUrl, + params, + querySerializer, + }); + const finalHeaders = mergeHeaders( + DEFAULT_HEADERS, + clientOptions?.headers, + headers, + (params as any).header, + ); // fetch! - const requestInit: RequestInit = { redirect: "follow", ...options, ...init, headers: finalHeaders }; - if (requestBody) requestInit.body = bodySerializer(requestBody as any); + const requestInit: RequestInit = { + redirect: "follow", + ...options, + ...init, + headers: finalHeaders, + }; + if (requestBody) { + requestInit.body = bodySerializer(requestBody as any); + } // remove `Content-Type` if serialized body is FormData; browser will correctly set Content-Type & boundary expression - if (requestInit.body instanceof FormData) finalHeaders.delete("Content-Type"); + if (requestInit.body instanceof FormData) { + finalHeaders.delete("Content-Type"); + } const response = await fetch(finalURL, requestInit); // handle empty content // note: we return `{}` because we want user truthy checks for `.data` or `.error` to succeed - if (response.status === 204 || response.headers.get("Content-Length") === "0") { - return response.ok ? { data: {} as any, response: response as any } : { error: {} as any, response: response as any }; + if ( + response.status === 204 || + response.headers.get("Content-Length") === "0" + ) { + return response.ok + ? { data: {} as any, response: response as any } + : { error: {} as any, response: response as any }; } // parse response (falling back to .text() when necessary) @@ -75,7 +146,10 @@ export default function createClient(clientOptions: ClientOpti let data: any; // we have to leave this empty here so that we don't consume the body if (parseAs !== "stream") { const cloned = response.clone(); - data = typeof cloned[parseAs] === "function" ? await cloned[parseAs]() : await cloned.text(); + data = + typeof cloned[parseAs] === "function" + ? await cloned[parseAs]() + : await cloned.text(); } else { // bun consumes the body when calling response.body, therefore we need to clone the response before accessing it data = response.clone().body; @@ -101,46 +175,108 @@ export default function createClient(clientOptions: ClientOpti type HeadPaths = PathsWithMethod; type PatchPaths = PathsWithMethod; type TracePaths = PathsWithMethod; - type GetFetchOptions

= FetchOptions>; - type PutFetchOptions

= FetchOptions>; - type PostFetchOptions

= FetchOptions>; - type DeleteFetchOptions

= FetchOptions>; - type OptionsFetchOptions

= FetchOptions>; - type HeadFetchOptions

= FetchOptions>; - type PatchFetchOptions

= FetchOptions>; - type TraceFetchOptions

= FetchOptions>; + type GetFetchOptions

= FetchOptions< + FilterKeys + >; + type PutFetchOptions

= FetchOptions< + FilterKeys + >; + type PostFetchOptions

= FetchOptions< + FilterKeys + >; + type DeleteFetchOptions

= FetchOptions< + FilterKeys + >; + type OptionsFetchOptions

= FetchOptions< + FilterKeys + >; + type HeadFetchOptions

= FetchOptions< + FilterKeys + >; + type PatchFetchOptions

= FetchOptions< + FilterKeys + >; + type TraceFetchOptions

= FetchOptions< + FilterKeys + >; return { /** Call a GET endpoint */ - async GET

(url: P, ...init: HasRequiredKeys> extends never ? [GetFetchOptions

?] : [GetFetchOptions

]) { + async GET

( + url: P, + ...init: HasRequiredKeys> extends never + ? [GetFetchOptions

?] + : [GetFetchOptions

] + ) { return coreFetch(url, { ...init[0], method: "GET" } as any); }, /** Call a PUT endpoint */ - async PUT

(url: P, ...init: HasRequiredKeys> extends never ? [PutFetchOptions

?] : [PutFetchOptions

]) { + async PUT

( + url: P, + ...init: HasRequiredKeys> extends never + ? [PutFetchOptions

?] + : [PutFetchOptions

] + ) { return coreFetch(url, { ...init[0], method: "PUT" } as any); }, /** Call a POST endpoint */ - async POST

(url: P, ...init: HasRequiredKeys> extends never ? [PostFetchOptions

?] : [PostFetchOptions

]) { + async POST

( + url: P, + ...init: HasRequiredKeys> extends never + ? [PostFetchOptions

?] + : [PostFetchOptions

] + ) { return coreFetch(url, { ...init[0], method: "POST" } as any); }, /** Call a DELETE endpoint */ - async DELETE

(url: P, ...init: HasRequiredKeys> extends never ? [DeleteFetchOptions

?] : [DeleteFetchOptions

]) { - return coreFetch(url, { ...init[0], method: "DELETE" } as any); + async DELETE

( + url: P, + ...init: HasRequiredKeys> extends never + ? [DeleteFetchOptions

?] + : [DeleteFetchOptions

] + ) { + return coreFetch(url, { + ...init[0], + method: "DELETE", + } as any); }, /** Call a OPTIONS endpoint */ - async OPTIONS

(url: P, ...init: HasRequiredKeys> extends never ? [OptionsFetchOptions

?] : [OptionsFetchOptions

]) { - return coreFetch(url, { ...init[0], method: "OPTIONS" } as any); + async OPTIONS

( + url: P, + ...init: HasRequiredKeys> extends never + ? [OptionsFetchOptions

?] + : [OptionsFetchOptions

] + ) { + return coreFetch(url, { + ...init[0], + method: "OPTIONS", + } as any); }, /** Call a HEAD endpoint */ - async HEAD

(url: P, ...init: HasRequiredKeys> extends never ? [HeadFetchOptions

?] : [HeadFetchOptions

]) { + async HEAD

( + url: P, + ...init: HasRequiredKeys> extends never + ? [HeadFetchOptions

?] + : [HeadFetchOptions

] + ) { return coreFetch(url, { ...init[0], method: "HEAD" } as any); }, /** Call a PATCH endpoint */ - async PATCH

(url: P, ...init: HasRequiredKeys> extends never ? [PatchFetchOptions

?] : [PatchFetchOptions

]) { + async PATCH

( + url: P, + ...init: HasRequiredKeys> extends never + ? [PatchFetchOptions

?] + : [PatchFetchOptions

] + ) { return coreFetch(url, { ...init[0], method: "PATCH" } as any); }, /** Call a TRACE endpoint */ - async TRACE

(url: P, ...init: HasRequiredKeys> extends never ? [TraceFetchOptions

?] : [TraceFetchOptions

]) { + async TRACE

( + url: P, + ...init: HasRequiredKeys> extends never + ? [TraceFetchOptions

?] + : [TraceFetchOptions

] + ) { return coreFetch(url, { ...init[0], method: "TRACE" } as any); }, }; @@ -153,7 +289,9 @@ export function defaultQuerySerializer(q: T): string { const search = new URLSearchParams(); if (q && typeof q === "object") { for (const [k, v] of Object.entries(q)) { - if (v === undefined || v === null) continue; + if (v === undefined || v === null) { + continue; + } search.set(k, v); } } @@ -166,24 +304,43 @@ export function defaultBodySerializer(body: T): string { } /** Construct URL string from baseUrl and handle path and query params */ -export function createFinalURL(pathname: string, options: { baseUrl: string; params: { query?: Record; path?: Record }; querySerializer: QuerySerializer }): string { +export function createFinalURL( + pathname: string, + options: { + baseUrl: string; + params: { query?: Record; path?: Record }; + querySerializer: QuerySerializer; + }, +): string { let finalURL = `${options.baseUrl}${pathname}`; if (options.params.path) { - for (const [k, v] of Object.entries(options.params.path)) finalURL = finalURL.replace(`{${k}}`, encodeURIComponent(String(v))); + for (const [k, v] of Object.entries(options.params.path)) { + finalURL = finalURL.replace(`{${k}}`, encodeURIComponent(String(v))); + } } if (options.params.query) { const search = options.querySerializer(options.params.query as any); - if (search) finalURL += `?${search}`; + if (search) { + finalURL += `?${search}`; + } } return finalURL; } /** merge headers a and b, with b taking priority */ -export function mergeHeaders(...allHeaders: (HeadersOptions | undefined)[]): Headers { +export function mergeHeaders( + ...allHeaders: (HeadersOptions | undefined)[] +): Headers { const headers = new Headers(); for (const headerSet of allHeaders) { - if (!headerSet || typeof headerSet !== "object") continue; - const iterator = headerSet instanceof Headers ? headerSet.entries() : Object.entries(headerSet); + if (!headerSet || typeof headerSet !== "object") { + continue; + } + const iterator = + headerSet instanceof Headers + ? // @ts-expect-error Headers definitely have entries() + headerSet.entries() + : Object.entries(headerSet); for (const [k, v] of iterator) { if (v === null) { headers.delete(k); diff --git a/packages/openapi-fetch/test/index.bench.js b/packages/openapi-fetch/test/index.bench.js index 12ef412dc..730a9396e 100644 --- a/packages/openapi-fetch/test/index.bench.js +++ b/packages/openapi-fetch/test/index.bench.js @@ -68,18 +68,25 @@ describe("get (only URL)", () => { }); describe("get (headers)", () => { - let openapiFetch = createClient({ baseUrl: BASE_URL, headers: { "x-base-header": 123 } }); + let openapiFetch = createClient({ + baseUrl: BASE_URL, + headers: { "x-base-header": 123 }, + }); let openapiTSFetch = Fetcher.for(); openapiTSFetch.configure({ init: { baseUrl: BASE_URL, headers: { "x-base-header": 123 } }, }); bench("openapi-fetch", async () => { - await openapiFetch.GET("/url", { headers: { "x-header-1": 123, "x-header-2": 456 } }); + await openapiFetch.GET("/url", { + headers: { "x-header-1": 123, "x-header-2": 456 }, + }); }); bench("openapi-typescript-fetch", async () => { - await openapiTSFetch.path("/url").method("get").create()(null, { headers: { "x-header-1": 123, "x-header-2": 456 } }); + await openapiTSFetch.path("/url").method("get").create()(null, { + headers: { "x-header-1": 123, "x-header-2": 456 }, + }); }); bench("openapi-typescript-codegen", async () => { @@ -96,6 +103,10 @@ describe("get (headers)", () => { }); bench("superagent", async () => { - await superagent.get(`${BASE_URL}/url`).set("x-header-1", 123).set("x-header-2", 456).end(); + await superagent + .get(`${BASE_URL}/url`) + .set("x-header-1", 123) + .set("x-header-2", 456) + .end(); }); }); diff --git a/packages/openapi-typescript/bin/cli.js b/packages/openapi-typescript/bin/cli.js index 396ba149a..9e0350197 100755 --- a/packages/openapi-typescript/bin/cli.js +++ b/packages/openapi-typescript/bin/cli.js @@ -1,10 +1,8 @@ #!/usr/bin/env node -import { loadConfig } from "@redocly/openapi-core"; -import glob from "fast-glob"; +import { loadConfig, findConfig, createConfig } from "@redocly/openapi-core"; import fs from "node:fs"; import path from "node:path"; -import { fileURLToPath } from "node:url"; import parser from "yargs-parser"; import openapiTS, { astToString, @@ -12,6 +10,7 @@ import openapiTS, { COMMENT_HEADER, error, formatTime, + warn, } from "../dist/index.js"; /* eslint-disable no-console */ @@ -20,27 +19,25 @@ const HELP = `Usage $ openapi-typescript [input] [options] Options - --help Display this - --version Display the version - --redoc [path] Specify path to Redocly config (default: redocly.yaml) - --output, -o Specify output file (default: stdout) - --enum (optional) Export true TS enums instead of unions - --export-type, -t (optional) Export top-level \`type\` instead of \`interface\` - --immutable-types (optional) Generate readonly types - --additional-properties (optional) Treat schema objects as if \`additionalProperties: true\` is set - --empty-objects-unknown (optional) Generate \`unknown\` instead of \`Record\` for empty objects - --default-non-nullable (optional) Set to \`false\` to ignore default values when generating non-nullable types - --array-length (optional) Generate tuples using array minItems / maxItems - --path-params-as-types (optional) Convert paths to template literal types - --alphabetize (optional) Sort object keys alphabetically - --exclude-deprecated (optional) Exclude deprecated types + --help Display this + --version Display the version + --redoc [path], -c Specify path to Redocly config (default: redocly.yaml) + --output, -o Specify output file (if not specified in redocly.yaml) + --enum Export true TS enums instead of unions + --export-type, -t Export top-level \`type\` instead of \`interface\` + --immutable Generate readonly types + --additional-properties Treat schema objects as if \`additionalProperties: true\` is set + --empty-objects-unknown Generate \`unknown\` instead of \`Record\` for empty objects + --default-non-nullable Set to \`false\` to ignore default values when generating non-nullable types + --array-length Generate tuples using array minItems / maxItems + --path-params-as-types Convert paths to template literal types + --alphabetize Sort object keys alphabetically + --exclude-deprecated Exclude deprecated types `; const OUTPUT_FILE = "FILE"; const OUTPUT_STDOUT = "STDOUT"; const CWD = new URL(`file://${process.cwd()}/`); -const EXT_RE = /\.[^.]+$/i; -const HTTP_RE = /^https?:\/\//; const timeStart = performance.now(); @@ -51,6 +48,10 @@ if (args.includes("-ap")) { ); process.exit(1); } +if (args.includes("--immutable-types")) { + error(`The --immutable-types flag has been renamed to "--immutable".`); + process.exit(1); +} if (args.includes("--support-array-length")) { error( `The --support-array-length flag has been renamed to "--array-length".`, @@ -74,83 +75,48 @@ const flags = parser(args, { "excludeDeprecated", "exportType", "help", - "immutableTypes", + "immutable", "pathParamsAsTypes", ], string: ["output", "redoc"], alias: { + redoc: ["c"], exportType: ["t"], output: ["o"], }, }); -async function generateSchema(url) { - const output = flags.output ? OUTPUT_FILE : OUTPUT_STDOUT; // FILE or STDOUT - - const redoclyConfig = flags.redoc ? await loadConfig(flags.redoc) : undefined; - - // generate schema - const result = `${COMMENT_HEADER}${astToString( - await openapiTS(url, { +/** + * @param {string | URL} schema + * @param {@type import('@redocly/openapi-core').Config} redoc + */ +async function generateSchema(schema, { redoc, silent = false }) { + return `${COMMENT_HEADER}${astToString( + await openapiTS(schema, { additionalProperties: flags.additionalProperties, alphabetize: flags.alphabetize, + arrayLength: flags.arrayLength, contentNever: flags.contentNever, defaultNonNullable: flags.defaultNonNullable, emptyObjectsUnknown: flags.emptyObjectsUnknown, enum: flags.enum, excludeDeprecated: flags.excludeDeprecated, exportType: flags.exportType, - immutableTypes: flags.immutableTypes, + immutable: flags.immutable, pathParamsAsTypes: flags.pathParamsAsTypes, - redocly: redoclyConfig, - silent: output === OUTPUT_STDOUT, - supportArrayLength: flags.supportArrayLength, + redoc, + silent, }), )}`; +} - // output - if (output === OUTPUT_FILE) { - let outputFilePath = new URL(flags.output, CWD); // note: may be directory - const isDir = - fs.existsSync(outputFilePath) && - fs.lstatSync(outputFilePath).isDirectory(); - if (isDir) { - if (typeof flags.output === "string" && !flags.output.endsWith("/")) { - outputFilePath = new URL(`${flags.output}/`, CWD); - } - const filename = fileURLToPath(url).replace(EXT_RE, ".ts"); - const originalOutputFilePath = outputFilePath; - outputFilePath = new URL(filename, originalOutputFilePath); - if (outputFilePath.protocol !== "file:") { - outputFilePath = new URL( - outputFilePath.host.replace(EXT_RE, ".ts"), - originalOutputFilePath, - ); - } - } - - fs.writeFileSync(outputFilePath, result, "utf8"); - - const inputDisplay = - url.protocol === "file:" - ? path.relative(fileURLToPath(CWD), fileURLToPath(url)) - : url.href; - const outputDisplay = path.relative( - fileURLToPath(CWD), - fileURLToPath(outputFilePath), - ); - - console.log( - `🚀 ${c.green(`${inputDisplay} → ${c.bold(outputDisplay)}`)} ${c.dim( - `[${formatTime(performance.now() - timeStart)}]`, - )}`, - ); - } else { - process.stdout.write(result); - // if stdout, (still) don’t log anything to console! - } - - return result; +function done(input, output, time) { + // final console output + console.log( + `🚀 ${c.green(`${input} → ${c.bold(output)}`)} ${c.dim( + `[${formatTime(time)}]`, + )}`, + ); } async function main() { @@ -166,70 +132,91 @@ async function main() { process.exit(0); } - let output = flags.output ? OUTPUT_FILE : OUTPUT_STDOUT; // FILE or STDOUT - let outputFile = new URL(flags.output, CWD); - let outputDir = new URL(".", outputFile); - - if (output === OUTPUT_FILE) { - console.info(`✨ ${c.bold(`openapi-typescript ${packageJSON.version}`)}`); // only log if we’re NOT writing to stdout + const outputType = flags.output ? OUTPUT_FILE : OUTPUT_STDOUT; // FILE or STDOU + if (outputType !== OUTPUT_STDOUT) { + console.info(`✨ ${c.bold(`openapi-typescript ${packageJSON.version}`)}`); } - const pathToSpec = flags._[0]; + const input = flags._[0]; - // handle stdin schema, exit - if (!pathToSpec) { - if (output !== "." && output === OUTPUT_FILE) { - fs.mkdirSync(outputDir, { recursive: true }); + // load Redocly config + const maybeRedoc = findConfig( + flags.redoc ? path.dirname(flags.redoc) : undefined, + ); + const redoc = maybeRedoc + ? await loadConfig({ configPath: maybeRedoc }) + : createConfig({}, { extends: ["minimal"] }); + + // handle Redoc APIs + const hasRedoclyApis = Object.keys(redoc?.apis ?? {}).length > 0; + if (hasRedoclyApis) { + if (input) { + warn( + "APIs are specified both in Redocly Config and CLI argument. Only using Redocly config.", + ); } - await generateSchema(process.stdin); - return; + await Promise.all( + Object.entries(redoc.apis).map(async ([name, api]) => { + const configRoot = redoc?.configFile + ? new URL(`file://${redoc.configFile}`) + : CWD; + if (!api["openapi-ts"]?.output) { + error( + `API ${name} is missing an \`openapi-ts.output\` key. See https://openapi-ts.pages.dev/cli/#multiple-schemas.`, + ); + process.exit(1); + } + const result = await generateSchema(new URL(api.root, configRoot), { + redoc, // TODO: merge API overrides better? + }); + const outFile = new URL(api["openapi-ts"].output, configRoot); + fs.mkdirSync(new URL(".", outFile), { recursive: true }); + fs.writeFileSync(outFile, result, "utf8"); + done(name, api.root, performance.now() - timeStart); + }), + ); } - // handle remote schema, exit - if (HTTP_RE.test(pathToSpec)) { - if (output !== "." && output === OUTPUT_FILE) { - fs.mkdirSync(outputDir, { recursive: true }); + // handle stdin + else if (!input) { + const result = await generateSchema(process.stdin, { + redoc, + silent: outputType === OUTPUT_STDOUT, + }); + if (outputType === OUTPUT_STDOUT) { + // if stdout, (still) don’t log anything to console! + process.stdout.write(result); + } else { + const outFile = new URL(flags.output, CWD); + fs.mkdirSync(new URL(".", outFile), { recursive: true }); + fs.writeFileSync(outFile, result, "utf8"); + done("stdin", flags.output, performance.now() - timeStart); } - await generateSchema(new URL(pathToSpec)); - return; - } - - // handle local schema(s) - const inputSpecPaths = await glob(pathToSpec); - const isGlob = inputSpecPaths.length > 1; - const isDirUrl = outputDir.pathname === outputFile.pathname; - const isFile = fs.existsSync(outputDir) && fs.lstatSync(outputDir).isFile(); - - // error: no matches for glob - if (inputSpecPaths.length === 0) { - error( - `Could not find any specs matching "${pathToSpec}". Please check that the path is correct.`, - ); - process.exit(1); } - // error: tried to glob output to single file - if (isGlob && output === OUTPUT_FILE && (isFile || !isDirUrl)) { - error( - `Expected directory for --output if using glob patterns. Received "${flags.output}".`, - ); - process.exit(1); + // handle single file + else { + // throw error on glob + if (input.includes("*")) { + error( + `Globbing has been deprecated in favor of redocly.yaml’s \`apis\` keys. See https://openapi-ts.pages.dev/cli/#multiple-schemas`, + ); + process.exit(1); + } + const result = await generateSchema(new URL(input, CWD), { + redoc, + silent: outputType === OUTPUT_STDOUT, + }); + if (outputType === OUTPUT_STDOUT) { + // if stdout, (still) don’t log anything to console! + process.stdout.write(result); + } else { + const outFile = new URL(flags.output, CWD); + fs.mkdirSync(new URL(".", outFile), { recursive: true }); + fs.writeFileSync(outFile, result, "utf8"); + done(input, flags.output, performance.now() - timeStart); + } } - - // generate schema(s) in parallel - await Promise.all( - inputSpecPaths.map(async (specPath) => { - const globInputFile = new URL(specPath, CWD); - if (flags.output !== "." && output === OUTPUT_FILE) { - if (isGlob || isDirUrl) { - fs.mkdirSync(outputDir, { recursive: true }); // recursively make parent dirs - } else { - fs.mkdirSync(outputDir, { recursive: true }); // recursively make parent dirs - } - } - await generateSchema(globInputFile); - }), - ); } main(); diff --git a/packages/openapi-typescript/examples/github-api-next.ts b/packages/openapi-typescript/examples/github-api-next.ts index c14ff5411..d3c2d6bf6 100644 --- a/packages/openapi-typescript/examples/github-api-next.ts +++ b/packages/openapi-typescript/examples/github-api-next.ts @@ -28378,7 +28378,7 @@ export interface components { "deployment-branch-policy-name-pattern-with-type": { /** @description The name pattern that branches must match in order to deploy to the environment. * - * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`. + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). */ name: string; }; @@ -28386,7 +28386,7 @@ export interface components { "deployment-branch-policy-name-pattern": { /** @description The name pattern that branches must match in order to deploy to the environment. * - * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`. + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). */ name: string; }; diff --git a/packages/openapi-typescript/examples/github-api.ts b/packages/openapi-typescript/examples/github-api.ts index 53a9c3b23..5930c6422 100644 --- a/packages/openapi-typescript/examples/github-api.ts +++ b/packages/openapi-typescript/examples/github-api.ts @@ -26569,7 +26569,7 @@ export interface components { /** * @description The name pattern that branches must match in order to deploy to the environment. * - * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`. + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). * @example release/* */ @@ -26580,7 +26580,7 @@ export interface components { /** * @description The name pattern that branches must match in order to deploy to the environment. * - * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*/*`. + * Wildcard characters will not match `/`. For example, to match branches that begin with `release/` and contain an additional single slash, use `release/*\/*`. * For more information about pattern matching syntax, see the [Ruby File.fnmatch documentation](https://ruby-doc.org/core-2.5.1/File.html#method-c-fnmatch). * @example release/* */ diff --git a/packages/openapi-typescript/examples/simple-example.ts b/packages/openapi-typescript/examples/simple-example.ts index 562b3ac1a..9da8de70e 100644 --- a/packages/openapi-typescript/examples/simple-example.ts +++ b/packages/openapi-typescript/examples/simple-example.ts @@ -176,15 +176,7 @@ export interface components { arr?: unknown[]; either?: string | null; }; - Pets: { - /** Format: int64 */ - id: number; - name: string; - none?: null; - tag?: null | string | number; - arr?: unknown[]; - either?: string | null; - }[]; + Pets: components["schemas"]["Pet"][]; Model: { /** @description type array */ one?: number | string; @@ -236,7 +228,7 @@ export interface components { pathItems: never; } export type $defs = Record; -interface operations { +export interface operations { getTest: { parameters: { query?: never; @@ -284,15 +276,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** Format: int64 */ - id: number; - name: string; - none?: null; - tag?: null | string | number; - arr?: unknown[]; - either?: string | null; - }[]; + "application/json": components["schemas"]["Pets"]; }; }; /** @description An error response */ @@ -322,30 +306,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description type array */ - one?: number | string; - /** @description type 'null' */ - two?: null; - /** @description type array including 'null' */ - three?: string | null; - /** @description array with no items */ - four?: unknown[]; - /** @description singular example */ - five?: string; - /** @description exclusiveMinimum true */ - six?: unknown; - /** @description exclusiveMinimum false */ - seven?: unknown; - /** @description exclusiveMaximum true */ - eight?: unknown; - /** @description exclusiveMaximum false */ - nine?: unknown; - /** @description nullable string */ - ten?: string | null; - /** @description file/binary */ - eleven?: unknown; - }; + "application/json": components["schemas"]["Model"]; }; }; /** @description An error response */ @@ -375,25 +336,7 @@ interface operations { [name: string]: unknown; }; content: { - "application/json": { - /** @description Person ID */ - id: number | string; - name?: string; - /** @enum {string|integer} */ - gender?: "male" | "female" | "unknown"; - /** @description location can be null, set using `nullable` property thats supported by OpenAPI `3.0.x` */ - location?: string | null; - /** @description Age of Person */ - age?: number; - /** @description One URL or Array or URLs or set to false */ - photoUrls?: string[] | boolean | string; - /** @description comma separated list of hobbies or an array of object */ - hobby?: string | { - hobbyRank?: number; - hobbyName?: string; - }[]; - empty?: unknown; - }; + "application/json": components["schemas"]["person"]; }; }; /** @description An error response */ diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index 68be4da97..85267db67 100644 --- a/packages/openapi-typescript/package.json +++ b/packages/openapi-typescript/package.json @@ -61,7 +61,6 @@ "dependencies": { "@redocly/openapi-core": "^1.2.0", "ansi-colors": "^4.1.3", - "fast-glob": "^3.3.1", "supports-color": "^9.4.0", "typescript": "^5.2.2", "yargs-parser": "^21.1.1" diff --git a/packages/openapi-typescript/src/index.ts b/packages/openapi-typescript/src/index.ts index cdb1a8070..faaac0e51 100644 --- a/packages/openapi-typescript/src/index.ts +++ b/packages/openapi-typescript/src/index.ts @@ -1,7 +1,8 @@ -import type { Readable } from "node:stream"; +import { createConfig } from "@redocly/openapi-core"; +import { Readable } from "node:stream"; import ts from "typescript"; import { validateAndBundle } from "./lib/redoc.js"; -import { debug, resolveRef, scanDiscriminators } from "./lib/utils.js"; +import { debug, error, resolveRef, scanDiscriminators } from "./lib/utils.js"; import transformSchema from "./transform/index.js"; import type { GlobalContext, OpenAPI3, OpenAPITSOptions } from "./types.js"; @@ -37,15 +38,24 @@ export const COMMENT_HEADER = `/** * - Readable: Readable stream of YAML or JSON */ export default async function openapiTS( - source: string | URL | OpenAPI3 | Readable, + source: string | URL | OpenAPI3 | Buffer | Readable, options: OpenAPITSOptions = {} as Partial, ): Promise { + if (!source) { + error("Empty schema. Please specify a URL, file path, or Redocly Config"); + process.exit(1); + } + + const redoc = + options.redocly ?? (await createConfig({}, { extends: ["minimal"] })); + const schema = await validateAndBundle(source, { - redocly: options.redocly, + redoc, cwd: options.cwd instanceof URL ? options.cwd : new URL(`file://${options.cwd ?? process.cwd()}/`), + silent: options.silent ?? false, }); const ctx: GlobalContext = { @@ -57,16 +67,16 @@ export default async function openapiTS( enum: options.enum ?? false, excludeDeprecated: options.excludeDeprecated ?? false, exportType: options.exportType ?? false, - immutableTypes: options.immutableTypes ?? false, + immutable: options.immutable ?? false, injectFooter: [], pathParamsAsTypes: options.pathParamsAsTypes ?? false, postTransform: typeof options.postTransform === "function" ? options.postTransform : undefined, - redocly: options.redocly ?? {}, + redoc, silent: options.silent ?? false, - supportArrayLength: options.supportArrayLength ?? false, + arrayLength: options.arrayLength ?? false, transform: typeof options.transform === "function" ? options.transform : undefined, resolve(ref) { diff --git a/packages/openapi-typescript/src/lib/redoc.ts b/packages/openapi-typescript/src/lib/redoc.ts index 1fac3a1b1..9c77a03c6 100644 --- a/packages/openapi-typescript/src/lib/redoc.ts +++ b/packages/openapi-typescript/src/lib/redoc.ts @@ -1,9 +1,8 @@ import { BaseResolver, bundle, - createConfig, makeDocumentFromString, - type RawConfig as RedoclyConfig, + type Config as RedoclyConfig, Source, type Document, lintDocument, @@ -11,10 +10,11 @@ import { import { Readable } from "node:stream"; import { fileURLToPath } from "node:url"; import { OpenAPI3 } from "../types.js"; -import { debug, error } from "./utils.js"; +import { debug, error, warn } from "./utils.js"; export interface ValidateAndBundleOptions { - redocly?: RedoclyConfig; + redoc: RedoclyConfig; + silent: boolean; cwd?: URL; } @@ -30,6 +30,30 @@ export async function parseSchema( if (!schema) { throw new Error(`Can’t parse empty schema`); } + if (schema instanceof URL) { + const result = await resolver.resolveDocument(null, absoluteRef, true); + if ("parsed" in result) { + return result; + } + throw result.originalError; + } + if (schema instanceof Readable) { + const contents = await new Promise((resolve) => { + schema.resume(); + schema.setEncoding("utf8"); + let content = ""; + schema.on("data", (chunk: string) => { + content += chunk; + }); + schema.on("end", () => { + resolve(content.trim()); + }); + }); + return parseSchema(contents, { absoluteRef, resolver }); + } + if (schema instanceof Buffer) { + return parseSchema(schema.toString("utf8"), { absoluteRef, resolver }); + } if (typeof schema === "string") { // URL if ( @@ -53,25 +77,6 @@ export async function parseSchema( // YAML return makeDocumentFromString(schema, absoluteRef); } - if (schema instanceof URL) { - const result = await resolver.resolveDocument(null, absoluteRef, true); - if ("parsed" in result) { - return result; - } - throw new Error(result as any); // eslint-disable-line @typescript-eslint/no-explicit-any - } - if (schema instanceof Buffer) { - const source = schema.toString("utf8"); - // JSON - if (source[0] === "{") { - return { - source: new Source(absoluteRef, source, "application/json"), - parsed: JSON.parse(source), - }; - } - // YAML - return makeDocumentFromString(source, absoluteRef); - } if (typeof schema === "object" && !Array.isArray(schema)) { return { source: new Source( @@ -93,26 +98,22 @@ export async function parseSchema( * Validate an OpenAPI schema and flatten into a single schema using Redocly CLI */ export async function validateAndBundle( - source: string | URL | OpenAPI3 | Readable, - options?: ValidateAndBundleOptions, + source: string | URL | OpenAPI3 | Readable | Buffer, + options: ValidateAndBundleOptions, ) { const redocConfigT = performance.now(); - const redocConfig = await createConfig(options?.redocly ?? {}); debug("Loaded Redoc config", "redoc", performance.now() - redocConfigT); const redocParseT = performance.now(); - const resolver = new BaseResolver(redocConfig.resolve); - let absoluteRef = new URL( - "openapi-ts.yaml", - options?.cwd ?? `file://${process.cwd()}/`, + let absoluteRef = fileURLToPath( + new URL(options?.cwd ?? `file://${process.cwd()}/`), ); if (source instanceof URL) { - absoluteRef = source; + absoluteRef = + source.protocol === "file:" ? fileURLToPath(source) : source.href; } + const resolver = new BaseResolver(options.redoc.resolve); const document = await parseSchema(source, { - absoluteRef: - absoluteRef.protocol === "file:" - ? fileURLToPath(absoluteRef) - : absoluteRef.href, + absoluteRef, resolver, }); debug("Parsed schema", "redoc", performance.now() - redocParseT); @@ -145,7 +146,7 @@ export async function validateAndBundle( const redocLintT = performance.now(); const problems = await lintDocument({ document, - config: redocConfig.styleguide, + config: options.redoc.styleguide, externalRefResolver: resolver, }); if (problems.length) { @@ -154,6 +155,8 @@ export async function validateAndBundle( if (problem.severity === "error") { error(problem.message); hasError = true; + } else { + warn(problem.message, options.silent); } } if (hasError) { @@ -166,16 +169,18 @@ export async function validateAndBundle( // 3. bundle const redocBundleT = performance.now(); const bundled = await bundle({ - config: { ...redocConfig }, + config: options.redoc, dereference: false, doc: document, }); if (bundled.problems.length) { let hasError = false; for (const problem of bundled.problems) { - error(problem.message); if (problem.severity === "error") { hasError = true; + error(problem.message); + } else { + warn(problem.message, options.silent); } } if (hasError) { diff --git a/packages/openapi-typescript/src/lib/ts.ts b/packages/openapi-typescript/src/lib/ts.ts index f99cf6b53..e7289e9cb 100644 --- a/packages/openapi-typescript/src/lib/ts.ts +++ b/packages/openapi-typescript/src/lib/ts.ts @@ -28,6 +28,7 @@ export const UNKNOWN = ts.factory.createKeywordTypeNode( ); const LB_RE = /\r?\n/g; +const COMMENT_RE = /\*\//g; export interface AnnotatedSchemaObject { const?: unknown; // jsdoc without value @@ -112,23 +113,21 @@ export function addJSDocComment( } // attach comment if it has content + if (output.length) { - if (output.length === 1) { - ts.addSyntheticLeadingComment( - /* node */ node, - /* kind */ ts.SyntaxKind.MultiLineCommentTrivia, // note: MultiLine just refers to a "/* */" comment - /* text */ `* ${output.join("\n")} `, - /* hasTrailingNewLine */ true, - ); - } else { - ts.addSyntheticLeadingComment( - /* node */ node, - /* kind */ ts.SyntaxKind.MultiLineCommentTrivia, - /* text */ `* - * ${output.join("\n * ")}\n `, - /* hasTrailingNewLine */ true, - ); - } + let text = + output.length === 1 + ? `* ${output.join("\n")} ` + : `* + * ${output.join("\n * ")}\n `; + text = text.replace(COMMENT_RE, "*\\/"); // prevent inner comments from leaking + + ts.addSyntheticLeadingComment( + /* node */ node, + /* kind */ ts.SyntaxKind.MultiLineCommentTrivia, // note: MultiLine just refers to a "/* */" comment + /* text */ text, + /* hasTrailingNewLine */ true, + ); } } diff --git a/packages/openapi-typescript/src/lib/utils.ts b/packages/openapi-typescript/src/lib/utils.ts index d725d6751..19dc07e18 100644 --- a/packages/openapi-typescript/src/lib/utils.ts +++ b/packages/openapi-typescript/src/lib/utils.ts @@ -145,9 +145,7 @@ export function resolveRef( if (node && typeof node === "object" && node[key]) { node = node[key]; } else { - if (!silent) { - warn(`Could not resolve $ref "${ref}"`); - } + warn(`Could not resolve $ref "${ref}"`, silent); return undefined; } } @@ -155,9 +153,7 @@ export function resolveRef( // if this is also a $ref, keep tracing if (node && typeof node === "object" && node.$ref) { if (visited.includes(node.$ref)) { - if (!silent) { - warn(`Could not resolve circular $ref "${ref}"`); - } + warn(`Could not resolve circular $ref "${ref}"`, silent); return undefined; } return resolveRef(schema, node.$ref, { @@ -209,6 +205,8 @@ export function walk( } /** Print warning message */ -export function warn(msg: string) { - console.warn(c.yellow(` ⚠ ${msg}`)); // eslint-disable-line no-console +export function warn(msg: string, silent = false) { + if (!silent) { + console.warn(c.yellow(` ⚠ ${msg}`)); // eslint-disable-line no-console + } } diff --git a/packages/openapi-typescript/src/transform/components-object.ts b/packages/openapi-typescript/src/transform/components-object.ts index 23d76834b..3baea1c5d 100644 --- a/packages/openapi-typescript/src/transform/components-object.ts +++ b/packages/openapi-typescript/src/transform/components-object.ts @@ -51,25 +51,18 @@ export default function transformComponentsObject( const items: ts.TypeElement[] = []; if (componentsObject[key]) { for (const [name, item] of getEntries(componentsObject[key], ctx)) { - try { - const subType = transformers[key](item, { - path: createRef(["components", key, name]), - ctx, - }); - const property = ts.factory.createPropertySignature( - /* modifiers */ tsModifiers({ - readonly: ctx.immutableTypes, - }), - /* name */ tsPropertyIndex(name), - /* questionToken */ undefined, - /* type */ subType, - ); - addJSDocComment(item as unknown as any, property); // eslint-disable-line @typescript-eslint/no-explicit-any - items.push(property); - } catch (e) { - console.error({ item }); - console.error(e); - } + const subType = transformers[key](item, { + path: createRef(["components", key, name]), + ctx, + }); + const property = ts.factory.createPropertySignature( + /* modifiers */ tsModifiers({ readonly: ctx.immutable }), + /* name */ tsPropertyIndex(name), + /* questionToken */ undefined, + /* type */ subType, + ); + addJSDocComment(item as unknown as any, property); // eslint-disable-line @typescript-eslint/no-explicit-any + items.push(property); } } type.push( diff --git a/packages/openapi-typescript/src/transform/header-object.ts b/packages/openapi-typescript/src/transform/header-object.ts index 98665fe58..fe2815448 100644 --- a/packages/openapi-typescript/src/transform/header-object.ts +++ b/packages/openapi-typescript/src/transform/header-object.ts @@ -41,9 +41,7 @@ export default function transformHeaderObject( path: nextPath, }); const property = ts.factory.createPropertySignature( - /* modifiers */ tsModifiers({ - readonly: options.ctx.immutableTypes, - }), + /* modifiers */ tsModifiers({ readonly: options.ctx.immutable }), /* name */ tsPropertyIndex(contentType), /* questionToken */ undefined, /* type */ mediaType, diff --git a/packages/openapi-typescript/src/transform/index.ts b/packages/openapi-typescript/src/transform/index.ts index 612794be9..787c26507 100644 --- a/packages/openapi-typescript/src/transform/index.ts +++ b/packages/openapi-typescript/src/transform/index.ts @@ -1,4 +1,4 @@ -import ts, { TypeAliasDeclaration, TypeLiteralNode } from "typescript"; +import ts, { InterfaceDeclaration, TypeLiteralNode } from "typescript"; import { NEVER, STRING, tsModifiers, tsRecord } from "../lib/ts.js"; import { createRef, debug } from "../lib/utils.js"; import { GlobalContext, OpenAPI3 } from "../types.js"; @@ -30,27 +30,23 @@ export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { const emptyObj = ts.factory.createTypeAliasDeclaration( /* modifiers */ tsModifiers({ export: true, - readonly: ctx.immutableTypes, + readonly: ctx.immutable, }), /* name */ root, /* typeParameters */ undefined, /* type */ tsRecord(STRING, NEVER), ); - if ( - schema[root] && - typeof schema[root] === "object" && - Object.keys(schema[root] as any).length // eslint-disable-line @typescript-eslint/no-explicit-any - ) { + if (schema[root] && typeof schema[root] === "object") { const rootT = performance.now(); const subType = transformers[root](schema[root], ctx); - if ((subType as ts.TypeLiteralNode).members) { + if ((subType as ts.TypeLiteralNode).members?.length) { type.push( ctx.exportType ? ts.factory.createTypeAliasDeclaration( /* modifiers */ tsModifiers({ export: true, - readonly: ctx.immutableTypes, + readonly: ctx.immutable, }), /* name */ root, /* typeParameters */ undefined, @@ -59,7 +55,7 @@ export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { : ts.factory.createInterfaceDeclaration( /* modifiers */ tsModifiers({ export: true, - readonly: ctx.immutableTypes, + readonly: ctx.immutable, }), /* name */ root, /* typeParameters */ undefined, @@ -82,7 +78,8 @@ export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { let hasOperations = false; for (const injectedType of ctx.injectFooter) { if ( - (injectedType as TypeAliasDeclaration).name.escapedText === "operations" + !hasOperations && + (injectedType as InterfaceDeclaration)?.name?.escapedText === "operations" ) { hasOperations = true; } @@ -94,7 +91,7 @@ export default function transformSchema(schema: OpenAPI3, ctx: GlobalContext) { ts.factory.createTypeAliasDeclaration( /* modifiers */ tsModifiers({ export: true, - readonly: ctx.immutableTypes, + readonly: ctx.immutable, }), /* name */ "operations", /* typeParameters */ undefined, diff --git a/packages/openapi-typescript/src/transform/operation-object.ts b/packages/openapi-typescript/src/transform/operation-object.ts index 0776bf8d8..e99c95781 100644 --- a/packages/openapi-typescript/src/transform/operation-object.ts +++ b/packages/openapi-typescript/src/transform/operation-object.ts @@ -49,9 +49,7 @@ export default function transformOperationObject( : operationObject.requestBody )?.required; const property = ts.factory.createPropertySignature( - /* modifiers */ tsModifiers({ - readonly: options.ctx.immutableTypes, - }), + /* modifiers */ tsModifiers({ readonly: options.ctx.immutable }), /* name */ tsPropertyIndex("requestBody"), /* questionToken */ required ? undefined : QUESTION_TOKEN, /* type */ requestBodyType, @@ -101,7 +99,7 @@ export function injectOperationObject( operations = ts.factory.createInterfaceDeclaration( /* modifiers */ tsModifiers({ export: true, - readonly: options.ctx.immutableTypes, + readonly: options.ctx.immutable, }), /* name */ ts.factory.createIdentifier("operations"), /* typeParameters */ undefined, @@ -117,9 +115,7 @@ export function injectOperationObject( operations.members = ts.factory.createNodeArray([ ...operations.members, ts.factory.createPropertySignature( - /* modifiers */ tsModifiers({ - readonly: options.ctx.immutableTypes, - }), + /* modifiers */ tsModifiers({ readonly: options.ctx.immutable }), /* name */ tsPropertyIndex(operationId), /* questionToken */ undefined, /* type */ ts.factory.createTypeLiteralNode(type), diff --git a/packages/openapi-typescript/src/transform/paths-object.ts b/packages/openapi-typescript/src/transform/paths-object.ts index c27bbb180..2dc691505 100644 --- a/packages/openapi-typescript/src/transform/paths-object.ts +++ b/packages/openapi-typescript/src/transform/paths-object.ts @@ -27,7 +27,7 @@ export default function transformPathsObject( ctx: GlobalContext, ): ts.TypeNode { const type: ts.TypeElement[] = []; - urlLoop: for (const [url, pathItemObject] of getEntries(pathsObject, ctx)) { + for (const [url, pathItemObject] of getEntries(pathsObject, ctx)) { if (!pathItemObject || typeof pathItemObject !== "object") { continue; } @@ -67,28 +67,28 @@ export default function transformPathsObject( `$\{${(param.schema as any)?.type ?? "string"}}`, ); } - // note: creating a string template literal’s AST manually is hard! - // just pass an arbitrary string to TS - const pathType = (stringToAST(rawPath)[0] as any)?.expression; - if (pathType) { - type.push( - ts.factory.createIndexSignature( - /* modifiers */ undefined, - /* parameters */ [ - ts.factory.createParameterDeclaration( - /* modifiers */ undefined, - /* dotDotDotToken */ undefined, - /* name */ "path", - /* questionToken */ undefined, - /* type */ pathType, - /* initializer */ undefined, - ), - ], - /* type */ pathItemType, - ), - ); - } - continue urlLoop; + } + // note: creating a string template literal’s AST manually is hard! + // just pass an arbitrary string to TS + const pathType = (stringToAST(rawPath)[0] as any)?.expression; + if (pathType) { + type.push( + ts.factory.createIndexSignature( + /* modifiers */ undefined, + /* parameters */ [ + ts.factory.createParameterDeclaration( + /* modifiers */ undefined, + /* dotDotDotToken */ undefined, + /* name */ "path", + /* questionToken */ undefined, + /* type */ pathType, + /* initializer */ undefined, + ), + ], + /* type */ pathItemType, + ), + ); + continue; } /* eslint-enable @typescript-eslint/no-explicit-any */ } diff --git a/packages/openapi-typescript/src/transform/request-body-object.ts b/packages/openapi-typescript/src/transform/request-body-object.ts index dd7841c4a..4c17db39f 100644 --- a/packages/openapi-typescript/src/transform/request-body-object.ts +++ b/packages/openapi-typescript/src/transform/request-body-object.ts @@ -36,9 +36,7 @@ export default function transformRequestBodyObject( path: nextPath, }); const property = ts.factory.createPropertySignature( - /* modifiers */ tsModifiers({ - readonly: options.ctx.immutableTypes, - }), + /* modifiers */ tsModifiers({ readonly: options.ctx.immutable }), /* name */ tsPropertyIndex(contentType), /* questionToken */ undefined, /* type */ mediaType, @@ -49,9 +47,7 @@ export default function transformRequestBodyObject( return ts.factory.createTypeLiteralNode([ ts.factory.createPropertySignature( - /* modifiers */ tsModifiers({ - readonly: options.ctx.immutableTypes, - }), + /* modifiers */ tsModifiers({ readonly: options.ctx.immutable }), /* name */ tsPropertyIndex("content"), /* questionToken */ undefined, /* type */ ts.factory.createTypeLiteralNode( diff --git a/packages/openapi-typescript/src/transform/response-object.ts b/packages/openapi-typescript/src/transform/response-object.ts index eb1af8ea5..3bdc56486 100644 --- a/packages/openapi-typescript/src/transform/response-object.ts +++ b/packages/openapi-typescript/src/transform/response-object.ts @@ -43,9 +43,7 @@ export default function transformResponseObject( path: createRef([options.path ?? "", "headers", name]), }); const property = ts.factory.createPropertySignature( - /* modifiers */ tsModifiers({ - readonly: options.ctx.immutableTypes, - }), + /* modifiers */ tsModifiers({ readonly: options.ctx.immutable }), /* name */ tsPropertyIndex(name), /* questionToken */ optional, /* type */ subType, @@ -57,9 +55,7 @@ export default function transformResponseObject( // allow additional unknown headers headersObject.push( ts.factory.createIndexSignature( - /* modifiers */ tsModifiers({ - readonly: options.ctx.immutableTypes, - }), + /* modifiers */ tsModifiers({ readonly: options.ctx.immutable }), /* parameters */ [ ts.factory.createParameterDeclaration( /* modifiers */ undefined, @@ -89,9 +85,7 @@ export default function transformResponseObject( options.ctx, )) { const property = ts.factory.createPropertySignature( - /* modifiers */ tsModifiers({ - readonly: options.ctx.immutableTypes, - }), + /* modifiers */ tsModifiers({ readonly: options.ctx.immutable }), /* name */ tsPropertyIndex(contentType), /* questionToken */ undefined, /* type */ transformMediaTypeObject(mediaTypeObject, { diff --git a/packages/openapi-typescript/src/transform/responses-object.ts b/packages/openapi-typescript/src/transform/responses-object.ts index 34f7feeb3..024c7a8bc 100644 --- a/packages/openapi-typescript/src/transform/responses-object.ts +++ b/packages/openapi-typescript/src/transform/responses-object.ts @@ -32,9 +32,7 @@ export default function transformResponsesObject( path: createRef([options.path ?? "", "responses", responseCode]), }); const property = ts.factory.createPropertySignature( - /* modifiers */ tsModifiers({ - readonly: options.ctx.immutableTypes, - }), + /* modifiers */ tsModifiers({ readonly: options.ctx.immutable }), /* name */ tsPropertyIndex(responseCode), /* questionToken */ undefined, /* type */ responseType, diff --git a/packages/openapi-typescript/src/transform/schema-object.ts b/packages/openapi-typescript/src/transform/schema-object.ts index 2557c1f72..e2fce7dcf 100644 --- a/packages/openapi-typescript/src/transform/schema-object.ts +++ b/packages/openapi-typescript/src/transform/schema-object.ts @@ -127,7 +127,7 @@ export function transformSchemaObjectWithComposition( const enumType = tsEnum( enumName, schemaObject.enum as (string | number)[], - { export: true, readonly: options.ctx.immutableTypes }, + { export: true, readonly: options.ctx.immutable }, ); options.ctx.injectFooter.push(enumType); return ts.factory.createTypeReferenceNode(enumType.name); @@ -277,7 +277,7 @@ function transformSchemaObjectCore( // standard array type else if (schemaObject.items) { itemType = transformSchemaObject(schemaObject.items, options); - if (options.ctx.immutableTypes) { + if (options.ctx.immutable) { itemType = ts.factory.createTypeOperatorNode( ts.SyntaxKind.ReadonlyKeyword, itemType, @@ -298,7 +298,7 @@ function transformSchemaObjectCore( const estimateCodeSize = typeof max !== "number" ? min : (max * (max + 1) - min * (min - 1)) / 2; if ( - options.ctx.supportArrayLength && + options.ctx.arrayLength && (min !== 0 || max !== undefined) && estimateCodeSize < 30 // "30" is an arbitrary number but roughly around when TS starts to struggle with tuple inference in practice ) { @@ -397,7 +397,7 @@ function transformSchemaObjectCore( coreObjectType.unshift( createDiscriminatorProperty( options.ctx.discriminators[discriminatorRef.$ref], - { path: options.path!, readonly: options.ctx.immutableTypes }, + { path: options.path!, readonly: options.ctx.immutable }, ), ); break; @@ -409,7 +409,7 @@ function transformSchemaObjectCore( coreObjectType.unshift( createDiscriminatorProperty(d, { path: options.path!, - readonly: options.ctx.immutableTypes, + readonly: options.ctx.immutable, }), ); break; @@ -453,7 +453,7 @@ function transformSchemaObjectCore( const property = ts.factory.createPropertySignature( /* modifiers */ tsModifiers({ readonly: - options.ctx.immutableTypes || ("readOnly" in v && !!v.readOnly), + options.ctx.immutable || ("readOnly" in v && !!v.readOnly), }), /* name */ tsPropertyIndex(k), /* questionToken */ optional, @@ -475,7 +475,7 @@ function transformSchemaObjectCore( const property = ts.factory.createPropertySignature( /* modifiers */ tsModifiers({ readonly: - options.ctx.immutableTypes || ("readonly" in v && !!v.readOnly), + options.ctx.immutable || ("readonly" in v && !!v.readOnly), }), /* name */ tsPropertyIndex(k), /* questionToken */ undefined, @@ -490,7 +490,7 @@ function transformSchemaObjectCore( coreObjectType.push( ts.factory.createPropertySignature( /* modifiers */ tsModifiers({ - readonly: options.ctx.immutableTypes, + readonly: options.ctx.immutable, }), /* name */ tsPropertyIndex("$defs"), /* questionToken */ undefined, @@ -513,7 +513,7 @@ function transformSchemaObjectCore( coreObjectType.push( ts.factory.createIndexSignature( /* modifiers */ tsModifiers({ - readonly: options.ctx.immutableTypes, + readonly: options.ctx.immutable, }), /* parameters */ [ ts.factory.createParameterDeclaration( diff --git a/packages/openapi-typescript/src/transform/webhooks-object.ts b/packages/openapi-typescript/src/transform/webhooks-object.ts index 543925588..1f6bbac23 100644 --- a/packages/openapi-typescript/src/transform/webhooks-object.ts +++ b/packages/openapi-typescript/src/transform/webhooks-object.ts @@ -14,7 +14,7 @@ export default function transformWebhooksObject( type.push( ts.factory.createPropertySignature( /* modifiers */ tsModifiers({ - readonly: options.immutableTypes, + readonly: options.immutable, }), /* name */ tsPropertyIndex(name), /* questionToken */ undefined, diff --git a/packages/openapi-typescript/src/types.ts b/packages/openapi-typescript/src/types.ts index 65100e99f..07966496d 100644 --- a/packages/openapi-typescript/src/types.ts +++ b/packages/openapi-typescript/src/types.ts @@ -1,4 +1,4 @@ -import type { RawConfig as RedoclyConfig } from "@redocly/openapi-core"; +import type { Config as RedoclyConfig } from "@redocly/openapi-core"; import { PathLike } from "node:fs"; import type ts from "typescript"; @@ -653,7 +653,7 @@ export interface OpenAPITSOptions { options: TransformNodeOptions, ) => ts.TypeNode | undefined; /** Add readonly properties and readonly arrays? (default: false) */ - immutableTypes?: boolean; + immutable?: boolean; /** (optional) Should logging be suppressed? (necessary for STDOUT) */ silent?: boolean; /** (optional) OpenAPI version. Must be present if parsing raw schema */ @@ -663,7 +663,7 @@ export interface OpenAPITSOptions { /** Export true TypeScript enums instead of unions */ enum?: boolean; /** (optional) Generate tuples using array minItems / maxItems */ - supportArrayLength?: boolean; + arrayLength?: boolean; /** (optional) Substitute path parameter names with their respective types */ pathParamsAsTypes?: boolean; /** Exclude deprecated fields from types? (default: false) */ @@ -686,13 +686,13 @@ export interface GlobalContext { enum: boolean; excludeDeprecated: boolean; exportType: boolean; - immutableTypes: boolean; + immutable: boolean; injectFooter: ts.Node[]; pathParamsAsTypes: boolean; postTransform: OpenAPITSOptions["postTransform"]; - redocly: RedoclyConfig; + redoc: RedoclyConfig; silent: boolean; - supportArrayLength: boolean; + arrayLength: boolean; transform: OpenAPITSOptions["transform"]; /** retrieve a node by $ref */ resolve(ref: string): T | undefined; diff --git a/packages/openapi-typescript/test/cli.test.ts b/packages/openapi-typescript/test/cli.test.ts index a50b10d66..1c53a978a 100644 --- a/packages/openapi-typescript/test/cli.test.ts +++ b/packages/openapi-typescript/test/cli.test.ts @@ -1,25 +1,14 @@ import { execa } from "execa"; -import glob from "fast-glob"; import fs from "node:fs"; import os from "node:os"; -import path from "node:path/posix"; // prevent issues with `\` on windows import { fileURLToPath } from "node:url"; import { TestCase } from "./test-helpers.js"; const root = new URL("../", import.meta.url); const cwd = os.platform() === "win32" ? fileURLToPath(root) : root; // execa bug: fileURLToPath required on Windows const cmd = "./bin/cli.js"; -const inputDir = "test/fixtures/cli-outputs/"; -const outputDir = path.join(inputDir, "out/"); const TIMEOUT = 90000; -// fast-glob does not sort results -async function getOutputFiles() { - return (await glob("**", { cwd: outputDir })).sort((a, b) => - a.localeCompare(b, undefined, { numeric: true }), - ); -} - describe("CLI", () => { const tests: TestCase[] = [ [ @@ -59,32 +48,16 @@ describe("CLI", () => { { given: "./examples/digital-ocean-api/DigitalOcean-public.v2.yaml", want: new URL("./examples/digital-ocean-api.ts", root), - ci: { - timeout: TIMEOUT, - skipIf: - process.env.CI_ENV === "macos" || process.env.CI_ENV === "windows", // this test runs too slowly on non-Ubuntu GitHub Actions runners - }, + ci: { timeout: TIMEOUT }, }, ], ]; - describe.each(tests)("%s", (_, { given, want, ci }) => { + for (const [testName, { given, want, ci }] of tests) { test.skipIf(ci?.skipIf)( - "test", + testName, async () => { - let stdout: string; - - // treat URL inputs as stdin (source file) - if (given instanceof URL) { - stdout = ( - await execa(cmd, { input: fs.readFileSync(given, "utf8"), cwd }) - ).stdout; - } - // otherwise treat inputs as command-line arguments - else { - stdout = (await execa(cmd, [given], { cwd })).stdout; - } - + const { stdout } = await execa(cmd, [given], { cwd }); if (want instanceof URL) { expect(stdout).toMatchFileSnapshot(fileURLToPath(want)); } else { @@ -93,14 +66,13 @@ describe("CLI", () => { }, ci?.timeout, ); - }); + } test( "stdin", async () => { const input = fs.readFileSync( new URL("./examples/stripe-api.yaml", root), - "utf8", ); const { stdout } = await execa(cmd, { input, cwd }); expect(stdout).toMatchFileSnapshot( @@ -126,78 +98,19 @@ describe("CLI", () => { }); }); - describe("outputs", () => { - beforeEach(() => { - fs.rmSync(new URL(outputDir, root), { recursive: true, force: true }); - }); - - test("single file to file", async () => { - const inputFile = path.join(inputDir, "file-a.yaml"); - const outputFile = path.join(outputDir, "file-a.ts"); - await execa(cmd, [inputFile, "--output", outputFile], { cwd }); - const result = await getOutputFiles(); - expect(result).toEqual(["file-a.ts"]); - }); - - test("single file to directory", async () => { - const inputFile = path.join(inputDir, "file-a.yaml"); - await execa(cmd, [inputFile, "--output", outputDir], { cwd }); - const result = await getOutputFiles(); - expect(result).toEqual(["test/fixtures/cli-outputs/file-a.ts"]); - }); - - test("single file (glob) to file", async () => { - const inputFile = path.join(inputDir, "*-a.yaml"); - const outputFile = path.join(outputDir, "file-a.ts"); - await execa(cmd, [inputFile, "--output", outputFile], { cwd }); - const result = await getOutputFiles(); - expect(result).toEqual(["file-a.ts"]); - }); - - test("multiple files to file", async () => { - const inputFile = path.join(inputDir, "*.yaml"); - const outputFile = path.join(outputDir, "file-a.ts"); - await expect( - execa(cmd, [inputFile, "--output", outputFile], { cwd }), - ).rejects.toThrow(); - }); - - test("multiple files to directory", async () => { - const inputFile = path.join(inputDir, "*.yaml"); - await execa(cmd, [inputFile, "--output", outputDir], { cwd }); - const result = await getOutputFiles(); - expect(result).toEqual([ - "test/fixtures/cli-outputs/file-a.ts", - "test/fixtures/cli-outputs/file-b.ts", - ]); - }); - - test("multiple nested files to directory", async () => { - const inputFile = path.join(inputDir, "**/*.yaml"); - await execa(cmd, [inputFile, "--output", outputDir], { cwd }); - const result = await getOutputFiles(); - expect(result).toEqual([ - "test/fixtures/cli-outputs/file-a.ts", - "test/fixtures/cli-outputs/file-b.ts", - "test/fixtures/cli-outputs/nested/deep/file-e.ts", - "test/fixtures/cli-outputs/nested/file-c.ts", - "test/fixtures/cli-outputs/nested/file-d.ts", - ]); - }); - }); - describe("Redocly config", () => { test("accepts multiple APIs", async () => { - await execa(cmd, ["--redocly"], { cwd }); + await execa(cmd, ["--redoc", "test/fixtures/redocly/redocly.yaml"], { + cwd, + }); for (const schema of ["a", "b", "c"]) { expect( fs.readFileSync( - new URL(`./fixtures/output/${schema}.ts`, import.meta.url), + new URL(`./test/fixtures/redocly/output/${schema}.ts`, root), + "utf8", ), ).toMatchFileSnapshot( - fileURLToPath( - new URL("../examples/simple-example.ts", import.meta.url), - ), + fileURLToPath(new URL("./examples/simple-example.ts", root)), ); } }); diff --git a/packages/openapi-typescript/test/discriminators.test.ts b/packages/openapi-typescript/test/discriminators.test.ts index 525d7f7e7..c3daafaba 100644 --- a/packages/openapi-typescript/test/discriminators.test.ts +++ b/packages/openapi-typescript/test/discriminators.test.ts @@ -240,9 +240,9 @@ export type operations = Record;`, ], ]; - describe.each(tests)("%s", (_, { given, want, options, ci }) => { + for (const [testName, { given, want, options, ci }] of tests) { test.skipIf(ci?.skipIf)( - "test", + testName, async () => { const result = await openapiTS(given, options); if (want instanceof URL) { @@ -253,5 +253,5 @@ export type operations = Record;`, }, ci?.timeout, ); - }); + } }); diff --git a/packages/openapi-typescript/test/fixtures/cli-outputs/file-a.yaml b/packages/openapi-typescript/test/fixtures/cli-outputs/file-a.yaml deleted file mode 100644 index 7f4eaac81..000000000 --- a/packages/openapi-typescript/test/fixtures/cli-outputs/file-a.yaml +++ /dev/null @@ -1,8 +0,0 @@ -openapi: "3.0" -info: - title: test file a - version: "1.0" -paths: - /endpoint: - get: - description: OK diff --git a/packages/openapi-typescript/test/fixtures/cli-outputs/file-b.yaml b/packages/openapi-typescript/test/fixtures/cli-outputs/file-b.yaml deleted file mode 100644 index e41219cf3..000000000 --- a/packages/openapi-typescript/test/fixtures/cli-outputs/file-b.yaml +++ /dev/null @@ -1,8 +0,0 @@ -openapi: "3.0" -info: - title: test file b - version: "1.0" -paths: - /endpoint: - get: - description: OK diff --git a/packages/openapi-typescript/test/fixtures/cli-outputs/nested/deep/file-e.yaml b/packages/openapi-typescript/test/fixtures/cli-outputs/nested/deep/file-e.yaml deleted file mode 100644 index fc56849d8..000000000 --- a/packages/openapi-typescript/test/fixtures/cli-outputs/nested/deep/file-e.yaml +++ /dev/null @@ -1,8 +0,0 @@ -openapi: "3.0" -info: - title: test file e - version: "1.0" -paths: - /endpoint: - get: - description: OK diff --git a/packages/openapi-typescript/test/fixtures/cli-outputs/nested/file-c.yaml b/packages/openapi-typescript/test/fixtures/cli-outputs/nested/file-c.yaml deleted file mode 100644 index ccf725a95..000000000 --- a/packages/openapi-typescript/test/fixtures/cli-outputs/nested/file-c.yaml +++ /dev/null @@ -1,8 +0,0 @@ -openapi: "3.0" -info: - title: test file c - version: "1.0" -paths: - /endpoint: - get: - description: OK diff --git a/packages/openapi-typescript/test/fixtures/cli-outputs/nested/file-d.yaml b/packages/openapi-typescript/test/fixtures/cli-outputs/nested/file-d.yaml deleted file mode 100644 index 27079dd0c..000000000 --- a/packages/openapi-typescript/test/fixtures/cli-outputs/nested/file-d.yaml +++ /dev/null @@ -1,8 +0,0 @@ -openapi: "3.0" -info: - title: test file d - version: "1.0" -paths: - /endpoint: - get: - description: OK diff --git a/packages/openapi-typescript/test/fixtures/redocly/redocly.config.yaml b/packages/openapi-typescript/test/fixtures/redocly/redocly.yaml similarity index 82% rename from packages/openapi-typescript/test/fixtures/redocly/redocly.config.yaml rename to packages/openapi-typescript/test/fixtures/redocly/redocly.yaml index 03f3f3fdd..2bc022593 100644 --- a/packages/openapi-typescript/test/fixtures/redocly/redocly.config.yaml +++ b/packages/openapi-typescript/test/fixtures/redocly/redocly.yaml @@ -4,13 +4,13 @@ extends: apis: a@v1: root: ./openapi/a.yaml - openapiTS: + openapi-ts: output: ./output/a.ts b@v1: root: ./openapi/b.yaml - openapiTS: + openapi-ts: output: ./output/b.ts c@v1: root: ./openapi/c.yaml - openapiTS: + openapi-ts: output: ./output/c.ts diff --git a/packages/openapi-typescript/test/index.test.ts b/packages/openapi-typescript/test/index.test.ts index ffa8c34eb..265829f84 100644 --- a/packages/openapi-typescript/test/index.test.ts +++ b/packages/openapi-typescript/test/index.test.ts @@ -555,9 +555,9 @@ type WithRequired = T & { [P in K]-?: T[P] }; ], ]; - describe.each(tests)("%s", (_, { given, want, options, ci }) => { + for (const [testName, { given, want, options, ci }] of tests) { test.skipIf(ci?.skipIf)( - "test", + testName, async () => { const result = astToString(await openapiTS(given, options)); if (want instanceof URL) { @@ -568,7 +568,7 @@ type WithRequired = T & { [P in K]-?: T[P] }; }, ci?.timeout, ); - }); + } it("does not mutate original reference", async () => { const schema: OpenAPI3 = { diff --git a/packages/openapi-typescript/test/lib/ts.test.ts b/packages/openapi-typescript/test/lib/ts.test.ts index e481fb532..dfa3e7b38 100644 --- a/packages/openapi-typescript/test/lib/ts.test.ts +++ b/packages/openapi-typescript/test/lib/ts.test.ts @@ -54,6 +54,24 @@ describe("addJSDocComment", () => { * Line 2 */ comment: boolean; +}`); + }); + + it("escapes internal comments", () => { + const property = ts.factory.createPropertySignature( + undefined, + "comment", + undefined, + BOOLEAN, + ); + addJSDocComment( + { title: "This is a comment with `/* an example comment */` within" }, + property, + ); + expect(astToString(ts.factory.createTypeLiteralNode([property])).trim()) + .toBe(`{ + /** This is a comment with \`/* an example comment *\\/\` within */ + comment: boolean; }`); }); }); diff --git a/packages/openapi-typescript/test/node-api.test.ts b/packages/openapi-typescript/test/node-api.test.ts index 0febf2d66..ebe3b1b6a 100644 --- a/packages/openapi-typescript/test/node-api.test.ts +++ b/packages/openapi-typescript/test/node-api.test.ts @@ -57,7 +57,7 @@ export type operations = Record;`, { given: "https://raw.githubusercontent.com/Redocly/redocly-cli/main/__tests__/lint/oas3.1/openapi.yaml", - want: new URL("redocly-oas3.1.ts", EXAMPLES_DIR), + want: new URL("simple-example.ts", EXAMPLES_DIR), // options: DEFAULT_OPTIONS, }, ], @@ -67,15 +67,15 @@ export type operations = Record;`, given: new URL( "https://raw.githubusercontent.com/Redocly/redocly-cli/main/__tests__/lint/oas3.1/openapi.yaml", ), - want: new URL("redocly-oas3.1.ts", EXAMPLES_DIR), + want: new URL("simple-example.ts", EXAMPLES_DIR), // options: DEFAULT_OPTIONS, }, ], [ "input > URL > local", { - given: new URL("./redocly-oas3.1.yaml", EXAMPLES_DIR), - want: new URL("redocly-oas3.1.ts", EXAMPLES_DIR), + given: new URL("./simple-example.yaml", EXAMPLES_DIR), + want: new URL("simple-example.ts", EXAMPLES_DIR), // options: DEFAULT_OPTIONS, }, ], @@ -582,31 +582,20 @@ export type operations = Record;`, ], ]; - for (const [testName, testCase] of tests) { - test.skipIf(testCase.ci?.skipIf)( + for (const [testName, { given, want, options, ci }] of tests) { + test.skipIf(ci?.skipIf)( testName, async () => { - const result = astToString( - await openapiTS(testCase.given, testCase.options), - ); - if (testCase.want instanceof URL) { + const result = astToString(await openapiTS(given, options)); + if (want instanceof URL) { expect(`${COMMENT_HEADER}${result}`).toMatchFileSnapshot( - fileURLToPath(testCase.want), + fileURLToPath(want), ); } else { - expect(result).toBe(testCase.want + "\n"); + expect(result).toBe(want + "\n"); } }, - testCase.ci?.timeout || 5000, + ci?.timeout || 5000, ); } - - test("GitHub API", async () => { - const result = astToString( - await openapiTS(new URL("./github-api.yaml", EXAMPLES_DIR)), - ); - expect(result).toMatchFileSnapshot( - fileURLToPath(new URL("./github-api.ts", EXAMPLES_DIR)), - ); - }); }); diff --git a/packages/openapi-typescript/test/test-helpers.ts b/packages/openapi-typescript/test/test-helpers.ts index d48bc18f5..245758968 100644 --- a/packages/openapi-typescript/test/test-helpers.ts +++ b/packages/openapi-typescript/test/test-helpers.ts @@ -1,31 +1,32 @@ +import { createConfig } from "@redocly/openapi-core"; import { resolveRef } from "../src/lib/utils.js"; import { GlobalContext, TransformNodeOptions } from "../src/types.js"; +/* eslint-disable @typescript-eslint/no-explicit-any */ + /** Default options for all transform* functions */ export const DEFAULT_CTX: GlobalContext = { additionalProperties: false, alphabetize: false, + arrayLength: false, defaultNonNullable: true, discriminators: {}, emptyObjectsUnknown: false, enum: false, excludeDeprecated: false, exportType: false, - immutableTypes: false, + immutable: false, injectFooter: [], pathParamsAsTypes: false, postTransform: undefined, - redocly: {}, + redoc: await createConfig({}, { extends: ["minimal"] }), resolve(ref) { return resolveRef({}, ref, { silent: false }); }, silent: true, - supportArrayLength: false, transform: undefined, }; -/* eslint-disable @typescript-eslint/no-explicit-any */ - /** Generic test case */ export type TestCase = [ string, diff --git a/packages/openapi-typescript/test/transform/components-object.test.ts b/packages/openapi-typescript/test/transform/components-object.test.ts index f78b56665..1b80dd98a 100644 --- a/packages/openapi-typescript/test/transform/components-object.test.ts +++ b/packages/openapi-typescript/test/transform/components-object.test.ts @@ -269,7 +269,7 @@ describe("transformComponentsObject", () => { }, ], [ - "options > immutableTypes: true", + "options > immutable: true", { given: { schemas: { @@ -408,7 +408,7 @@ describe("transformComponentsObject", () => { }`, options: { ...DEFAULT_OPTIONS, - immutableTypes: true, + immutable: true, resolve(ref) { switch (ref) { case "#/components/requestBodies/UploadUser": { @@ -463,21 +463,23 @@ describe("transformComponentsObject", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformComponentsObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString( + transformComponentsObject(given, options ?? DEFAULT_OPTIONS), + ); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/header-object.test.ts b/packages/openapi-typescript/test/transform/header-object.test.ts index d2b6114d0..8fc55f84c 100644 --- a/packages/openapi-typescript/test/transform/header-object.test.ts +++ b/packages/openapi-typescript/test/transform/header-object.test.ts @@ -25,17 +25,17 @@ describe("transformHeaderObject", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)("test", async () => { - const result = astToString(transformHeaderObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)(testName, async () => { + const result = astToString(transformHeaderObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }); + } }); diff --git a/packages/openapi-typescript/test/transform/operation-object.test.ts b/packages/openapi-typescript/test/transform/operation-object.test.ts index 1152da2de..5a7a0cad9 100644 --- a/packages/openapi-typescript/test/transform/operation-object.test.ts +++ b/packages/openapi-typescript/test/transform/operation-object.test.ts @@ -160,21 +160,21 @@ responses: { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformOperationObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformOperationObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/path-item-object.test.ts b/packages/openapi-typescript/test/transform/path-item-object.test.ts index 4e03937e5..859cbc40b 100644 --- a/packages/openapi-typescript/test/transform/path-item-object.test.ts +++ b/packages/openapi-typescript/test/transform/path-item-object.test.ts @@ -238,21 +238,21 @@ describe("transformPathItemObject", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformPathItemObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformPathItemObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/paths-object.test.ts b/packages/openapi-typescript/test/transform/paths-object.test.ts index d3bb2d32d..5c7fc07dd 100644 --- a/packages/openapi-typescript/test/transform/paths-object.test.ts +++ b/packages/openapi-typescript/test/transform/paths-object.test.ts @@ -370,21 +370,21 @@ describe("transformPathsObject", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformPathsObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformPathsObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/request-body-object.test.ts b/packages/openapi-typescript/test/transform/request-body-object.test.ts index 9319dd505..1875cda38 100644 --- a/packages/openapi-typescript/test/transform/request-body-object.test.ts +++ b/packages/openapi-typescript/test/transform/request-body-object.test.ts @@ -52,23 +52,21 @@ describe("transformRequestBodyObject", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString( - transformRequestBodyObject(given, options), - ); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformRequestBodyObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/response-object.test.ts b/packages/openapi-typescript/test/transform/response-object.test.ts index c218fd91c..8d1f30d0d 100644 --- a/packages/openapi-typescript/test/transform/response-object.test.ts +++ b/packages/openapi-typescript/test/transform/response-object.test.ts @@ -72,21 +72,21 @@ describe("transformResponseObject", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformResponseObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformResponseObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/schema-object/array.test.ts b/packages/openapi-typescript/test/transform/schema-object/array.test.ts index 06e2a3cc1..a7f30164d 100644 --- a/packages/openapi-typescript/test/transform/schema-object/array.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/array.test.ts @@ -98,18 +98,18 @@ describe("transformSchemaObject > array", () => { }, ], [ - "options > supportArrayLength: true > default", + "options > arrayLength: true > default", { given: { type: "array", items: { type: "string" } }, want: `string[]`, options: { ...DEFAULT_OPTIONS, - ctx: { ...DEFAULT_OPTIONS.ctx, supportArrayLength: true }, + ctx: { ...DEFAULT_OPTIONS.ctx, arrayLength: true }, }, }, ], [ - "options > supportArrayLength: true > minItems: 1", + "options > arrayLength: true > minItems: 1", { given: { type: "array", items: { type: "string" }, minItems: 1 }, want: `[ @@ -118,12 +118,12 @@ describe("transformSchemaObject > array", () => { ]`, options: { ...DEFAULT_OPTIONS, - ctx: { ...DEFAULT_OPTIONS.ctx, supportArrayLength: true }, + ctx: { ...DEFAULT_OPTIONS.ctx, arrayLength: true }, }, }, ], [ - "options > supportArrayLength: true > maxItems: 2", + "options > arrayLength: true > maxItems: 2", { given: { type: "array", items: { type: "string" }, maxItems: 2 }, want: `[ @@ -135,23 +135,23 @@ describe("transformSchemaObject > array", () => { ]`, options: { ...DEFAULT_OPTIONS, - ctx: { ...DEFAULT_OPTIONS.ctx, supportArrayLength: true }, + ctx: { ...DEFAULT_OPTIONS.ctx, arrayLength: true }, }, }, ], [ - "options > supportArrayLength: true > maxItems: 20", + "options > arrayLength: true > maxItems: 20", { given: { type: "array", items: { type: "string" }, maxItems: 20 }, want: `string[]`, options: { ...DEFAULT_OPTIONS, - ctx: { ...DEFAULT_OPTIONS.ctx, supportArrayLength: true }, + ctx: { ...DEFAULT_OPTIONS.ctx, arrayLength: true }, }, }, ], [ - "options > immutableTypes: true", + "options > immutable: true", { given: { type: "array", @@ -160,27 +160,27 @@ describe("transformSchemaObject > array", () => { want: `(readonly (readonly string)[])[]`, options: { ...DEFAULT_OPTIONS, - ctx: { ...DEFAULT_OPTIONS.ctx, immutableTypes: true }, + ctx: { ...DEFAULT_OPTIONS.ctx, immutable: true }, }, }, ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformSchemaObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/schema-object/boolean.test.ts b/packages/openapi-typescript/test/transform/schema-object/boolean.test.ts index a727e07b3..168abdc69 100644 --- a/packages/openapi-typescript/test/transform/schema-object/boolean.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/boolean.test.ts @@ -44,21 +44,21 @@ describe("transformSchemaObject > boolean", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformSchemaObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/schema-object/composition.test.ts b/packages/openapi-typescript/test/transform/schema-object/composition.test.ts index 163cc5d6f..c2de02167 100644 --- a/packages/openapi-typescript/test/transform/schema-object/composition.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/composition.test.ts @@ -507,21 +507,21 @@ describe("composition", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformSchemaObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/schema-object/empty.test.ts b/packages/openapi-typescript/test/transform/schema-object/empty.test.ts index 1d676325a..fe5dbb90b 100644 --- a/packages/openapi-typescript/test/transform/schema-object/empty.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/empty.test.ts @@ -36,21 +36,21 @@ describe("transformSchemaObject > empty/unknown", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformSchemaObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/schema-object/number.test.ts b/packages/openapi-typescript/test/transform/schema-object/number.test.ts index 63b3c0ae5..a399bf205 100644 --- a/packages/openapi-typescript/test/transform/schema-object/number.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/number.test.ts @@ -52,21 +52,21 @@ describe("transformSchemaObject > number", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformSchemaObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/schema-object/object.test.ts b/packages/openapi-typescript/test/transform/schema-object/object.test.ts index e61c2c5b0..de062b305 100644 --- a/packages/openapi-typescript/test/transform/schema-object/object.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/object.test.ts @@ -279,7 +279,7 @@ describe("transformSchemaObject > object", () => { }, ], [ - "options > immutableTypes: true", + "options > immutable: true", { given: { type: "object", @@ -301,7 +301,7 @@ describe("transformSchemaObject > object", () => { }`, options: { ...DEFAULT_OPTIONS, - ctx: { ...DEFAULT_OPTIONS.ctx, immutableTypes: true }, + ctx: { ...DEFAULT_OPTIONS.ctx, immutable: true }, }, }, ], @@ -326,21 +326,21 @@ describe("transformSchemaObject > object", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformSchemaObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/schema-object/string.test.ts b/packages/openapi-typescript/test/transform/schema-object/string.test.ts index 7950c68e4..66c5b3608 100644 --- a/packages/openapi-typescript/test/transform/schema-object/string.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/string.test.ts @@ -63,21 +63,21 @@ describe("transformSchemaObject > string", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformSchemaObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformSchemaObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/packages/openapi-typescript/test/transform/webhooks-object.test.ts b/packages/openapi-typescript/test/transform/webhooks-object.test.ts index 25d357570..1c9587124 100644 --- a/packages/openapi-typescript/test/transform/webhooks-object.test.ts +++ b/packages/openapi-typescript/test/transform/webhooks-object.test.ts @@ -180,21 +180,21 @@ describe("transformWebhooksObject", () => { ], ]; - describe.each(tests)( - "%s", - (_, { given, want, options = DEFAULT_OPTIONS, ci }) => { - test.skipIf(ci?.skipIf)( - "test", - async () => { - const result = astToString(transformWebhooksObject(given, options)); - if (want instanceof URL) { - expect(result).toMatchFileSnapshot(fileURLToPath(want)); - } else { - expect(result).toBe(want + "\n"); - } - }, - ci?.timeout, - ); - }, - ); + for (const [ + testName, + { given, want, options = DEFAULT_OPTIONS, ci }, + ] of tests) { + test.skipIf(ci?.skipIf)( + testName, + async () => { + const result = astToString(transformWebhooksObject(given, options)); + if (want instanceof URL) { + expect(result).toMatchFileSnapshot(fileURLToPath(want)); + } else { + expect(result).toBe(want + "\n"); + } + }, + ci?.timeout, + ); + } }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8c8b9feb..641efeb0b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,32 +54,32 @@ importers: docs: dependencies: '@algolia/client-search': - specifier: ^4.19.1 - version: 4.19.1 + specifier: ^4.20.0 + version: 4.20.0 '@astrojs/preact': specifier: ^2.2.2 - version: 2.2.2(preact@10.17.0) + version: 2.2.2(preact@10.18.1) '@astrojs/react': - specifier: ^2.2.2 - version: 2.2.2(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + specifier: ^3.0.2 + version: 3.0.2(@types/react-dom@18.2.8)(@types/react@18.2.24)(react-dom@18.2.0)(react@18.2.0)(vite@4.4.10) '@docsearch/css': - specifier: ^3.5.1 - version: 3.5.1 + specifier: ^3.5.2 + version: 3.5.2 '@docsearch/react': - specifier: ^3.5.1 - version: 3.5.1(@algolia/client-search@4.19.1)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.8.3) + specifier: ^3.5.2 + version: 3.5.2(@algolia/client-search@4.20.0)(@types/react@18.2.24)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.8.3) '@types/react': - specifier: ^18.2.20 - version: 18.2.20 + specifier: ^18.2.24 + version: 18.2.24 '@types/react-dom': - specifier: ^18.2.7 - version: 18.2.7 + specifier: ^18.2.8 + version: 18.2.8 astro: - specifier: ^2.10.9 - version: 2.10.9(@types/node@20.5.0)(sass@1.65.1) + specifier: ^3.2.2 + version: 3.2.2(@types/node@20.8.2)(sass@1.68.0) preact: - specifier: ^10.17.0 - version: 10.17.0 + specifier: ^10.18.1 + version: 10.18.1 react: specifier: ^18.2.0 version: 18.2.0 @@ -87,21 +87,21 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) sass: - specifier: ^1.65.1 - version: 1.65.1 + specifier: ^1.68.0 + version: 1.68.0 devDependencies: '@astrojs/sitemap': specifier: ^2.0.2 version: 2.0.2 '@cobalt-ui/cli': - specifier: ^1.4.1 - version: 1.4.1 + specifier: ^1.6.0 + version: 1.6.0 '@cobalt-ui/plugin-sass': - specifier: ^1.2.3 - version: 1.2.3(@cobalt-ui/cli@1.4.1) + specifier: ^1.3.0 + version: 1.3.0(@cobalt-ui/cli@1.6.0)(@cobalt-ui/plugin-css@1.5.0) '@types/node': - specifier: ^20.5.0 - version: 20.5.0 + specifier: ^20.8.2 + version: 20.8.2 html-escaper: specifier: ^3.0.3 version: 3.0.3 @@ -109,8 +109,8 @@ importers: specifier: ^5.2.2 version: 5.2.2 vite-plugin-sass-dts: - specifier: ^1.3.9 - version: 1.3.9(postcss@8.4.31)(prettier@3.0.3)(sass@1.65.1)(vite@4.4.9) + specifier: ^1.3.11 + version: 1.3.11(postcss@8.4.31)(prettier@3.0.3)(sass@1.68.0)(vite@4.4.10) packages/openapi-fetch: dependencies: @@ -147,7 +147,7 @@ importers: version: 5.2.2 vitest: specifier: ^0.34.6 - version: 0.34.6(supports-color@9.4.0) + version: 0.34.6 vitest-fetch-mock: specifier: ^0.2.2 version: 0.2.2(vitest@0.34.6) @@ -209,7 +209,7 @@ importers: version: 5.2.2 vite: specifier: ^4.4.9 - version: 4.4.9(@types/node@20.5.0)(sass@1.65.1) + version: 4.4.9(@types/node@20.8.2) packages/openapi-fetch/examples/sveltekit: dependencies: @@ -240,7 +240,7 @@ importers: version: 5.2.2 vite: specifier: ^4.4.9 - version: 4.4.9(@types/node@20.5.0)(sass@1.65.1) + version: 4.4.9(@types/node@20.8.2) packages/openapi-typescript: dependencies: @@ -250,9 +250,6 @@ importers: ansi-colors: specifier: ^4.1.3 version: 4.1.3 - fast-glob: - specifier: ^3.3.1 - version: 3.3.1 supports-color: specifier: ^9.4.0 version: 9.4.0 @@ -307,138 +304,138 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.8.3): + /@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.3): resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.8.3) - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.3) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights dev: false - /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.8.3): + /@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.3): resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) search-insights: 2.8.3 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch dev: false - /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1): + /@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0): resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) - '@algolia/client-search': 4.19.1 - algoliasearch: 4.19.1 + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) + '@algolia/client-search': 4.20.0 + algoliasearch: 4.20.0 dev: false - /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1): + /@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0): resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' dependencies: - '@algolia/client-search': 4.19.1 - algoliasearch: 4.19.1 + '@algolia/client-search': 4.20.0 + algoliasearch: 4.20.0 dev: false - /@algolia/cache-browser-local-storage@4.19.1: - resolution: {integrity: sha512-FYAZWcGsFTTaSAwj9Std8UML3Bu8dyWDncM7Ls8g+58UOe4XYdlgzXWbrIgjaguP63pCCbMoExKr61B+ztK3tw==} + /@algolia/cache-browser-local-storage@4.20.0: + resolution: {integrity: sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==} dependencies: - '@algolia/cache-common': 4.19.1 + '@algolia/cache-common': 4.20.0 dev: false - /@algolia/cache-common@4.19.1: - resolution: {integrity: sha512-XGghi3l0qA38HiqdoUY+wvGyBsGvKZ6U3vTiMBT4hArhP3fOGLXpIINgMiiGjTe4FVlTa5a/7Zf2bwlIHfRqqg==} + /@algolia/cache-common@4.20.0: + resolution: {integrity: sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==} dev: false - /@algolia/cache-in-memory@4.19.1: - resolution: {integrity: sha512-+PDWL+XALGvIginigzu8oU6eWw+o76Z8zHbBovWYcrtWOEtinbl7a7UTt3x3lthv+wNuFr/YD1Gf+B+A9V8n5w==} + /@algolia/cache-in-memory@4.20.0: + resolution: {integrity: sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==} dependencies: - '@algolia/cache-common': 4.19.1 + '@algolia/cache-common': 4.20.0 dev: false - /@algolia/client-account@4.19.1: - resolution: {integrity: sha512-Oy0ritA2k7AMxQ2JwNpfaEcgXEDgeyKu0V7E7xt/ZJRdXfEpZcwp9TOg4TJHC7Ia62gIeT2Y/ynzsxccPw92GA==} + /@algolia/client-account@4.20.0: + resolution: {integrity: sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==} dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/client-search': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/client-common': 4.20.0 + '@algolia/client-search': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false - /@algolia/client-analytics@4.19.1: - resolution: {integrity: sha512-5QCq2zmgdZLIQhHqwl55ZvKVpLM3DNWjFI4T+bHr3rGu23ew2bLO4YtyxaZeChmDb85jUdPDouDlCumGfk6wOg==} + /@algolia/client-analytics@4.20.0: + resolution: {integrity: sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==} dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/client-search': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/client-common': 4.20.0 + '@algolia/client-search': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false - /@algolia/client-common@4.19.1: - resolution: {integrity: sha512-3kAIVqTcPrjfS389KQvKzliC559x+BDRxtWamVJt8IVp7LGnjq+aVAXg4Xogkur1MUrScTZ59/AaUd5EdpyXgA==} + /@algolia/client-common@4.20.0: + resolution: {integrity: sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==} dependencies: - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false - /@algolia/client-personalization@4.19.1: - resolution: {integrity: sha512-8CWz4/H5FA+krm9HMw2HUQenizC/DxUtsI5oYC0Jxxyce1vsr8cb1aEiSJArQT6IzMynrERif1RVWLac1m36xw==} + /@algolia/client-personalization@4.20.0: + resolution: {integrity: sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==} dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/client-common': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false - /@algolia/client-search@4.19.1: - resolution: {integrity: sha512-mBecfMFS4N+yK/p0ZbK53vrZbL6OtWMk8YmnOv1i0LXx4pelY8TFhqKoTit3NPVPwoSNN0vdSN9dTu1xr1XOVw==} + /@algolia/client-search@4.20.0: + resolution: {integrity: sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==} dependencies: - '@algolia/client-common': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/client-common': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false - /@algolia/logger-common@4.19.1: - resolution: {integrity: sha512-i6pLPZW/+/YXKis8gpmSiNk1lOmYCmRI6+x6d2Qk1OdfvX051nRVdalRbEcVTpSQX6FQAoyeaui0cUfLYW5Elw==} + /@algolia/logger-common@4.20.0: + resolution: {integrity: sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==} dev: false - /@algolia/logger-console@4.19.1: - resolution: {integrity: sha512-jj72k9GKb9W0c7TyC3cuZtTr0CngLBLmc8trzZlXdfvQiigpUdvTi1KoWIb2ZMcRBG7Tl8hSb81zEY3zI2RlXg==} + /@algolia/logger-console@4.20.0: + resolution: {integrity: sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==} dependencies: - '@algolia/logger-common': 4.19.1 + '@algolia/logger-common': 4.20.0 dev: false - /@algolia/requester-browser-xhr@4.19.1: - resolution: {integrity: sha512-09K/+t7lptsweRTueHnSnmPqIxbHMowejAkn9XIcJMLdseS3zl8ObnS5GWea86mu3vy4+8H+ZBKkUN82Zsq/zg==} + /@algolia/requester-browser-xhr@4.20.0: + resolution: {integrity: sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==} dependencies: - '@algolia/requester-common': 4.19.1 + '@algolia/requester-common': 4.20.0 dev: false - /@algolia/requester-common@4.19.1: - resolution: {integrity: sha512-BisRkcWVxrDzF1YPhAckmi2CFYK+jdMT60q10d7z3PX+w6fPPukxHRnZwooiTUrzFe50UBmLItGizWHP5bDzVQ==} + /@algolia/requester-common@4.20.0: + resolution: {integrity: sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==} dev: false - /@algolia/requester-node-http@4.19.1: - resolution: {integrity: sha512-6DK52DHviBHTG2BK/Vv2GIlEw7i+vxm7ypZW0Z7vybGCNDeWzADx+/TmxjkES2h15+FZOqVf/Ja677gePsVItA==} + /@algolia/requester-node-http@4.20.0: + resolution: {integrity: sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==} dependencies: - '@algolia/requester-common': 4.19.1 + '@algolia/requester-common': 4.20.0 dev: false - /@algolia/transporter@4.19.1: - resolution: {integrity: sha512-nkpvPWbpuzxo1flEYqNIbGz7xhfhGOKGAZS7tzC+TELgEmi7z99qRyTfNSUlW7LZmB3ACdnqAo+9A9KFBENviQ==} + /@algolia/transporter@4.20.0: + resolution: {integrity: sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==} dependencies: - '@algolia/cache-common': 4.19.1 - '@algolia/logger-common': 4.19.1 - '@algolia/requester-common': 4.19.1 + '@algolia/cache-common': 4.20.0 + '@algolia/logger-common': 4.20.0 + '@algolia/requester-common': 4.20.0 dev: false /@ampproject/remapping@2.2.1: @@ -461,49 +458,31 @@ packages: resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==} dev: true - /@astrojs/compiler@1.8.1: - resolution: {integrity: sha512-C28qplQzgIJ+JU9S+1wNx+ue2KCBUp0TTAd10EWAEkk4RsL3Tzlw0BYvLDDb4KP9jS48lXmR4/1TtZ4aavYJ8Q==} + /@astrojs/compiler@2.1.0: + resolution: {integrity: sha512-Mp+qrNhly+27bL/Zq8lGeUY+YrdoU0eDfIlAeGIPrzt0PnI/jGpvPUdCaugv4zbCrDkOUScFfcbeEiYumrdJnw==} dev: false - /@astrojs/internal-helpers@0.1.2: - resolution: {integrity: sha512-YXLk1CUDdC9P5bjFZcGjz+cE/ZDceXObDTXn/GCID4r8LjThuexxi+dlJqukmUpkSItzQqgzfWnrPLxSFPejdA==} + /@astrojs/internal-helpers@0.2.0: + resolution: {integrity: sha512-NQ4ppp1CM0HNkKbJNM4saVSfmUYzGlRalF6wx7F6T/MYHYSWGuojY89/oFTy4t8VlOGUCUijlsVNNeziWaUo5g==} dev: false - /@astrojs/language-server@1.0.8: - resolution: {integrity: sha512-gssRxLGb8XnvKpqSzrDW5jdzdFnXD7eBXVkPCkkt2hv7Qzb+SAzv6hVgMok3jDCxpR1aeB+XNd9Qszj2h29iog==} - hasBin: true - dependencies: - '@astrojs/compiler': 1.8.1 - '@jridgewell/trace-mapping': 0.3.19 - '@vscode/emmet-helper': 2.9.2 - events: 3.3.0 - prettier: 2.8.8 - prettier-plugin-astro: 0.9.1 - vscode-css-languageservice: 6.2.6 - vscode-html-languageservice: 5.0.6 - vscode-languageserver: 8.1.0 - vscode-languageserver-protocol: 3.17.3 - vscode-languageserver-textdocument: 1.0.8 - vscode-languageserver-types: 3.17.3 - vscode-uri: 3.0.7 - dev: false - - /@astrojs/markdown-remark@2.2.1(astro@2.10.9): - resolution: {integrity: sha512-VF0HRv4GpC1XEMLnsKf6jth7JSmlt9qpqP0josQgA2eSpCIAC/Et+y94mgdBIZVBYH/yFnMoIxgKVe93xfO2GA==} + /@astrojs/markdown-remark@3.2.0(astro@3.2.2): + resolution: {integrity: sha512-jigyLfefUZPKgVmmraCkVpdUuFH1R3SrpgQO13axsgwLDBgkggaQpNR5Ag4O9PDualeBtbdt30aYSfvnBKx9Hg==} peerDependencies: - astro: ^2.5.0 + astro: ^3.1.0 dependencies: - '@astrojs/prism': 2.1.2 - astro: 2.10.9(@types/node@20.5.0)(sass@1.65.1) - github-slugger: 1.5.0 - import-meta-resolve: 2.2.2 + '@astrojs/prism': 3.0.0 + astro: 3.2.2(@types/node@20.8.2)(sass@1.68.0) + github-slugger: 2.0.0 + import-meta-resolve: 3.0.0 + mdast-util-definitions: 6.0.0 rehype-raw: 6.1.1 rehype-stringify: 9.0.4 remark-gfm: 3.0.1 remark-parse: 10.0.2 remark-rehype: 10.1.0 remark-smartypants: 2.0.0 - shiki: 0.14.3 + shiki: 0.14.4 unified: 10.1.2 unist-util-visit: 4.1.2 vfile: 5.3.7 @@ -511,104 +490,108 @@ packages: - supports-color dev: false - /@astrojs/preact@2.2.2(preact@10.17.0): + /@astrojs/preact@2.2.2(preact@10.18.1): resolution: {integrity: sha512-4B9h73z6qNtDokwvw9ztpcpxdowdqJnaXU0GNgjrdkBXlDl57IzqIpJ0JpNd5nP+LUGywyp/n6kJndDnOkWO6w==} engines: {node: '>=16.12.0'} peerDependencies: preact: ^10.6.5 dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.10) - '@preact/signals': 1.2.1(preact@10.17.0) + '@babel/core': 7.23.0 + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.0) + '@preact/signals': 1.2.1(preact@10.18.1) babel-plugin-module-resolver: 5.0.0 - preact: 10.17.0 - preact-render-to-string: 5.2.6(preact@10.17.0) + preact: 10.18.1 + preact-render-to-string: 5.2.6(preact@10.18.1) transitivePeerDependencies: - supports-color dev: false - /@astrojs/prism@2.1.2: - resolution: {integrity: sha512-3antim1gb34689GHRQFJ88JEo93HuZKQBnmxDT5W/nxiNz1p/iRxnCTEhIbJhqMOTRbbo5h2ldm5qSxx+TMFQA==} - engines: {node: '>=16.12.0'} + /@astrojs/prism@3.0.0: + resolution: {integrity: sha512-g61lZupWq1bYbcBnYZqdjndShr/J3l/oFobBKPA3+qMat146zce3nz2kdO4giGbhYDt4gYdhmoBz0vZJ4sIurQ==} + engines: {node: '>=18.14.1'} dependencies: prismjs: 1.29.0 dev: false - /@astrojs/react@2.2.2(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-fq0hbujQNi+rCh5TgO9h8drYwK0tn5Ad10nZjTSrw8e8aky/R6oMf9yuJwG5jOrzlCmJ/2r9stltSzA0xn0cHQ==} - engines: {node: '>=16.12.0'} + /@astrojs/react@3.0.2(@types/react-dom@18.2.8)(@types/react@18.2.24)(react-dom@18.2.0)(react@18.2.0)(vite@4.4.10): + resolution: {integrity: sha512-aooNIuQxTg+IWGMZPuIEwBeBi4/TCPCMsr3714zuLjAjukVd5ZrX/bCNxJqDWU4HNwUm4XFU1OhcEvYOHa5uMQ==} + engines: {node: '>=18.14.1'} peerDependencies: '@types/react': ^17.0.50 || ^18.0.21 '@types/react-dom': ^17.0.17 || ^18.0.6 react: ^17.0.2 || ^18.0.0 react-dom: ^17.0.2 || ^18.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.10) - '@types/react': 18.2.20 - '@types/react-dom': 18.2.7 + '@types/react': 18.2.24 + '@types/react-dom': 18.2.8 + '@vitejs/plugin-react': 4.1.0(vite@4.4.10) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + ultrahtml: 1.5.2 transitivePeerDependencies: - supports-color + - vite dev: false /@astrojs/sitemap@2.0.2: resolution: {integrity: sha512-dFWtdFwN8kxDiqIxF8T8ODqsUr6hG+EQlFEqm+3oQkhAkucF9QkYLM5Q72mEbYytkL4jvKyHbW1u10T5sWBZew==} dependencies: sitemap: 7.1.1 - zod: 3.22.1 + zod: 3.22.3 dev: true - /@astrojs/telemetry@2.1.1: - resolution: {integrity: sha512-4pRhyeQr0MLB5PKYgkdu+YE8sSpMbHL8dUuslBWBIdgcYjtD1SufPMBI8pgXJ+xlwrQJHKKfK2X1KonHYuOS9A==} - engines: {node: '>=16.12.0'} + /@astrojs/telemetry@3.0.2: + resolution: {integrity: sha512-ef+jqCkqopCzjGfsMsr+8p56Nj6F9ZzouWcWZt+dKsqbRccI3c8K3jfkLcdq4AyfFZtKBDB6N4ZuI68g33oiOg==} + engines: {node: '>=18.14.1'} dependencies: ci-info: 3.8.0 debug: 4.3.4(supports-color@9.4.0) dlv: 1.1.3 dset: 3.1.2 is-docker: 3.0.0 - is-wsl: 2.2.0 - undici: 5.25.2 + is-wsl: 3.1.0 + undici: 5.25.4 which-pm-runs: 1.1.0 transitivePeerDependencies: - supports-color dev: false - /@astrojs/webapi@2.2.0: - resolution: {integrity: sha512-mHAOApWyjqSe5AQMOUD9rsZJqbMQqe3Wosb1a40JV6Okvyxj1G6GTlthwYadWCymq/lbgwh0PLiY8Fr4eFxtuQ==} - dependencies: - undici: 5.25.2 - dev: false - /@babel/code-frame@7.22.10: resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.22.10 chalk: 2.4.2 + dev: true + + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.20 + chalk: 2.4.2 + dev: false - /@babel/compat-data@7.22.9: - resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + /@babel/compat-data@7.22.20: + resolution: {integrity: sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==} engines: {node: '>=6.9.0'} dev: false - /@babel/core@7.22.10: - resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} + /@babel/core@7.23.0: + resolution: {integrity: sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) - '@babel/helpers': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 - convert-source-map: 1.9.0 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.0 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.0) + '@babel/helpers': 7.23.1 + '@babel/parser': 7.23.0 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.0 + '@babel/types': 7.23.0 + convert-source-map: 2.0.0 debug: 4.3.4(supports-color@9.4.0) gensync: 1.0.0-beta.2 json5: 2.2.3 @@ -617,11 +600,11 @@ packages: - supports-color dev: false - /@babel/generator@7.22.10: - resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} + /@babel/generator@7.23.0: + resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 @@ -631,59 +614,59 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 dev: false - /@babel/helper-compilation-targets@7.22.10: - resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.22.9 - '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.10 + '@babel/compat-data': 7.22.20 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.22.1 lru-cache: 5.1.1 semver: 6.3.1 dev: false - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} dev: false - /@babel/helper-function-name@7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.10 + '@babel/template': 7.22.15 + '@babel/types': 7.23.0 dev: false /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 dev: false - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 dev: false - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.0): + resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/core': 7.23.0 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 dev: false /@babel/helper-plugin-utils@7.22.5: @@ -695,14 +678,14 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 dev: false /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 dev: false /@babel/helper-string-parser@7.22.5: @@ -710,22 +693,28 @@ packages: engines: {node: '>=6.9.0'} dev: false + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: false + /@babel/helper-validator-identifier@7.22.5: resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} + dev: true - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} engines: {node: '>=6.9.0'} dev: false - /@babel/helpers@7.22.10: - resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} + /@babel/helpers@7.23.1: + resolution: {integrity: sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.0 + '@babel/types': 7.23.0 transitivePeerDependencies: - supports-color dev: false @@ -737,37 +726,67 @@ packages: '@babel/helper-validator-identifier': 7.22.5 chalk: 2.4.2 js-tokens: 4.0.0 + dev: true + + /@babel/highlight@7.22.20: + resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: false - /@babel/parser@7.22.10: - resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} + /@babel/parser@7.23.0: + resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 dev: false - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10): + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.0): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.23.0): + resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: false + + /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.23.0): + resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.10): - resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} + /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.0): + resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.23.0 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.5 + '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/types': 7.22.10 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.23.0) + '@babel/types': 7.23.0 dev: false /@babel/runtime@7.23.1: @@ -777,39 +796,39 @@ packages: regenerator-runtime: 0.14.0 dev: true - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 dev: false - /@babel/traverse@7.22.10: - resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} + /@babel/traverse@7.23.0: + resolution: {integrity: sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.23.0 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 debug: 4.3.4(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types@7.22.10: - resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + /@babel/types@7.23.0: + resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 dev: false @@ -1016,14 +1035,13 @@ packages: prettier: 2.8.8 dev: true - /@cobalt-ui/cli@1.4.1: - resolution: {integrity: sha512-qypDHa9eCjrDRdI/yo/zZS8THsaVJGgbFrVSoiURQiK0Td5J22wWTOClP/kVnXJDJaWek6WpR6B3OBHRo4dWSw==} + /@cobalt-ui/cli@1.6.0: + resolution: {integrity: sha512-xa1CYfXz7hZmqS61CngAuduIhP+Y6Vi8SAFdRvZ91mduzO3DwwMaTJNi3txproiDpbaeMg6Os4PVD5tJ+IeJcg==} engines: {node: '>=18.0.0'} hasBin: true dependencies: - '@cobalt-ui/core': 1.4.0 - '@cobalt-ui/utils': 1.1.1 - '@types/culori': 2.0.0 + '@cobalt-ui/core': 1.6.0 + '@cobalt-ui/utils': 1.2.2 chokidar: 3.5.3 culori: 3.2.0 dotenv: 16.3.1 @@ -1033,54 +1051,57 @@ packages: yargs-parser: 21.1.1 dev: true - /@cobalt-ui/core@1.4.0: - resolution: {integrity: sha512-4eFrIiQvaz7T8wHgu5F9mBsz0z0Ql9j7Q9byfvMknfT4ASSu92fXjKwlprMLcpjLvvKEL2jbrlvEnfKmEhmS8Q==} + /@cobalt-ui/core@1.6.0: + resolution: {integrity: sha512-OcoUoQUN2puYNphZwwsQiO2rcQo7bM7YMxDlZSXqrhRagFBmb+70RgBD5hq1agL0PmS5JKHC3EAxJsjzE7xFJg==} dependencies: - '@cobalt-ui/utils': 1.1.1 - '@types/culori': 2.0.0 + '@cobalt-ui/utils': 1.2.2 + '@types/culori': 2.0.1 culori: 3.2.0 dev: true - /@cobalt-ui/plugin-css@1.3.2(@cobalt-ui/cli@1.4.1): - resolution: {integrity: sha512-nqzsjBCIq6jFyLNTlEIreelS2jjEdaTkIryEe75GHmk34InCp42bCJUyDU69Aiz8mAFyJiK51kfeOiOs7cDVlg==} + /@cobalt-ui/plugin-css@1.5.0(@cobalt-ui/cli@1.6.0): + resolution: {integrity: sha512-FXkY+qiL8M/LpQ5q+pwOdVVOSjegJXAns4vzUk3YsU5cpwBnPSeFOb6PHxxjmj+n09UhYVFQ+qLXnjff5hog+Q==} peerDependencies: - '@cobalt-ui/cli': ^1.4.0 + '@cobalt-ui/cli': ^1.x dependencies: - '@cobalt-ui/cli': 1.4.1 - '@cobalt-ui/utils': 1.1.1 - '@types/culori': 2.0.0 - '@types/mime': 3.0.1 + '@cobalt-ui/cli': 1.6.0 + '@cobalt-ui/utils': 1.2.2 + '@types/culori': 2.0.1 + '@types/mime': 3.0.2 culori: 3.2.0 mime: 3.0.0 svgo: 3.0.2 dev: true - /@cobalt-ui/plugin-sass@1.2.3(@cobalt-ui/cli@1.4.1): - resolution: {integrity: sha512-14z0DToW91qeu40arC6jKMqCjXf/dx81Ffm9mAV1Yagfz4q6w/EvyWWfKlchMe4eHhoxiRc8cF97/TvU9r+HfQ==} + /@cobalt-ui/plugin-sass@1.3.0(@cobalt-ui/cli@1.6.0)(@cobalt-ui/plugin-css@1.5.0): + resolution: {integrity: sha512-Pyv0TUL3LEMMvpsrAuLYLjKvPPbAw52WYvH4Aa0SlSni6bm/w/MAmpdQmNKBVXiipSFwd5vZDULpNjy0lZk6dw==} peerDependencies: - '@cobalt-ui/cli': '*' + '@cobalt-ui/cli': ^1.x + '@cobalt-ui/plugin-css': ^1.x dependencies: - '@cobalt-ui/cli': 1.4.1 - '@cobalt-ui/plugin-css': 1.3.2(@cobalt-ui/cli@1.4.1) - '@cobalt-ui/utils': 1.1.1 + '@cobalt-ui/cli': 1.6.0 + '@cobalt-ui/plugin-css': 1.5.0(@cobalt-ui/cli@1.6.0) + '@cobalt-ui/utils': 1.2.2 + '@types/mime': 3.0.2 mime: 3.0.0 svgo: 3.0.2 dev: true - /@cobalt-ui/utils@1.1.1: - resolution: {integrity: sha512-U2zzBhseDIBOSNcNmKYaz/jn02FEJkxebwZ7TS2j6iQRzFlqtbJOFMDOiCNw4/rod7zd12ydRvC6YOwhx8+5Mw==} + /@cobalt-ui/utils@1.2.2: + resolution: {integrity: sha512-voWozqrKi2SmlCcwd2iJqnnmpmDGEcQy3E/PWNOByYy+fTOQ4o1iSvuijCEp6LBV6tBSo6f31HR6yRAnl9RiZA==} dev: true - /@docsearch/css@3.5.1: - resolution: {integrity: sha512-2Pu9HDg/uP/IT10rbQ+4OrTQuxIWdKVUEdcw9/w7kZJv9NeHS6skJx1xuRiFyoGKwAzcHXnLp7csE99sj+O1YA==} + /@docsearch/css@3.5.2: + resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} dev: false - /@docsearch/react@3.5.1(@algolia/client-search@4.19.1)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.8.3): - resolution: {integrity: sha512-t5mEODdLzZq4PTFAm/dvqcvZFdPDMdfPE5rJS5SC8OUq9mPzxEy6b+9THIqNM9P0ocCb4UC5jqBrxKclnuIbzQ==} + /@docsearch/react@3.5.2(@algolia/client-search@4.20.0)(@types/react@18.2.24)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.8.3): + resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' peerDependenciesMeta: '@types/react': optional: true @@ -1088,44 +1109,21 @@ packages: optional: true react-dom: optional: true + search-insights: + optional: true dependencies: - '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1)(search-insights@2.8.3) - '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.19.1)(algoliasearch@4.19.1) - '@docsearch/css': 3.5.1 - '@types/react': 18.2.20 - algoliasearch: 4.19.1 + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.8.3) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) + '@docsearch/css': 3.5.2 + '@types/react': 18.2.24 + algoliasearch: 4.20.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + search-insights: 2.8.3 transitivePeerDependencies: - '@algolia/client-search' - - search-insights - dev: false - - /@emmetio/abbreviation@2.3.3: - resolution: {integrity: sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==} - dependencies: - '@emmetio/scanner': 1.0.4 dev: false - /@emmetio/css-abbreviation@2.1.8: - resolution: {integrity: sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==} - dependencies: - '@emmetio/scanner': 1.0.4 - dev: false - - /@emmetio/scanner@1.0.4: - resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==} - dev: false - - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -1140,16 +1138,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false optional: true /@esbuild/android-arm@0.18.20: @@ -1166,16 +1154,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: false optional: true /@esbuild/android-x64@0.18.20: @@ -1192,16 +1170,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false optional: true /@esbuild/darwin-arm64@0.18.20: @@ -1218,16 +1186,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false optional: true /@esbuild/darwin-x64@0.18.20: @@ -1244,16 +1202,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: false optional: true /@esbuild/freebsd-arm64@0.18.20: @@ -1270,16 +1218,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false optional: true /@esbuild/freebsd-x64@0.18.20: @@ -1296,16 +1234,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false optional: true /@esbuild/linux-arm64@0.18.20: @@ -1322,16 +1250,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false optional: true /@esbuild/linux-arm@0.18.20: @@ -1348,16 +1266,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: false optional: true /@esbuild/linux-ia32@0.18.20: @@ -1374,16 +1282,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: false optional: true /@esbuild/linux-loong64@0.18.20: @@ -1400,16 +1298,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: false optional: true /@esbuild/linux-mips64el@0.18.20: @@ -1426,16 +1314,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: false optional: true /@esbuild/linux-ppc64@0.18.20: @@ -1452,16 +1330,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: false optional: true /@esbuild/linux-riscv64@0.18.20: @@ -1478,16 +1346,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: false optional: true /@esbuild/linux-s390x@0.18.20: @@ -1504,16 +1362,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false optional: true /@esbuild/linux-x64@0.18.20: @@ -1530,16 +1378,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: false optional: true /@esbuild/netbsd-x64@0.18.20: @@ -1556,16 +1394,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: false optional: true /@esbuild/openbsd-x64@0.18.20: @@ -1582,16 +1410,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: false optional: true /@esbuild/sunos-x64@0.18.20: @@ -1608,16 +1426,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false optional: true /@esbuild/win32-arm64@0.18.20: @@ -1634,16 +1442,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false optional: true /@esbuild/win32-ia32@0.18.20: @@ -1660,16 +1458,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false optional: true /@esbuild/win32-x64@0.18.20: @@ -1686,7 +1474,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.50.0): @@ -1726,6 +1513,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@fastify/busboy@2.0.0: + resolution: {integrity: sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==} + engines: {node: '>=14'} + dev: false + /@humanwhocodes/config-array@0.11.11: resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} engines: {node: '>=10.10.0'} @@ -1915,22 +1707,23 @@ packages: open: 9.1.0 picocolors: 1.0.0 tslib: 2.6.2 + dev: true /@polka/url@1.0.0-next.23: resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} dev: true - /@preact/signals-core@1.4.0: - resolution: {integrity: sha512-5iYoZBhELLIhUQceZI7sDTQWPb+xcVSn2qk8T/aNl/VMh+A4AiPX9YRSh4XO7fZ6pncrVxl1Iln82poVqYVbbw==} + /@preact/signals-core@1.5.0: + resolution: {integrity: sha512-U2diO1Z4i1n2IoFgMYmRdHWGObNrcuTRxyNEn7deSq2cru0vj0583HYQZHsAqcs7FE+hQyX3mjIV7LAfHCvy8w==} dev: false - /@preact/signals@1.2.1(preact@10.17.0): + /@preact/signals@1.2.1(preact@10.18.1): resolution: {integrity: sha512-hRPvp1C2ooDzOHqfnhdpHgoIFDbYFAXLhoid3+jSItuPPD/J0r/UsiWKv/8ZO/oEhjRaP0M5niuRYsWqmY2GEA==} peerDependencies: preact: 10.x dependencies: - '@preact/signals-core': 1.4.0 - preact: 10.17.0 + '@preact/signals-core': 1.5.0 + preact: 10.18.1 dev: false /@redocly/ajv@8.11.0: @@ -1996,7 +1789,7 @@ packages: svelte: 4.2.0 tiny-glob: 0.2.9 undici: 5.23.0 - vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) + vite: 4.4.9(@types/node@20.8.2) transitivePeerDependencies: - supports-color dev: true @@ -2012,7 +1805,7 @@ packages: '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@4.2.0)(vite@4.4.9) debug: 4.3.4(supports-color@9.4.0) svelte: 4.2.0 - vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) + vite: 4.4.9(@types/node@20.8.2) transitivePeerDependencies: - supports-color dev: true @@ -2031,7 +1824,7 @@ packages: magic-string: 0.30.3 svelte: 4.2.0 svelte-hmr: 0.15.3(svelte@4.2.0) - vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) + vite: 4.4.9(@types/node@20.8.2) vitefu: 0.2.4(vite@4.4.9) transitivePeerDependencies: - supports-color @@ -2188,33 +1981,33 @@ packages: engines: {node: '>=10.13.0'} dev: true - /@types/babel__core@7.20.1: - resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} + /@types/babel__core@7.20.2: + resolution: {integrity: sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.20.1 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 + '@types/babel__generator': 7.6.5 + '@types/babel__template': 7.4.2 + '@types/babel__traverse': 7.20.2 dev: false - /@types/babel__generator@7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + /@types/babel__generator@7.6.5: + resolution: {integrity: sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 dev: false - /@types/babel__template@7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + /@types/babel__template@7.4.2: + resolution: {integrity: sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==} dependencies: - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.23.0 + '@babel/types': 7.23.0 dev: false - /@types/babel__traverse@7.20.1: - resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} + /@types/babel__traverse@7.20.2: + resolution: {integrity: sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.23.0 dev: false /@types/chai-subset@1.3.3: @@ -2231,32 +2024,27 @@ packages: resolution: {integrity: sha512-DBpRoJGKJZn7RY92dPrgoMew8xCWc2P71beqsjyhEI/Ds9mOyVmBwtekyfhpwFIVt1WrxTonFifiOZ62V8CnNA==} dev: true - /@types/culori@2.0.0: - resolution: {integrity: sha512-bKpEra39sQS9UZ+1JoWhuGJEzwKS0dUkNCohVYmn6CAEBkqyIXimKiPDRZWtiOB7sKgkWMaTUpHFimygRoGIlg==} + /@types/culori@2.0.1: + resolution: {integrity: sha512-Mfcyo2pT3IwxIdB2fRZrMp+noSZOOc+719G89h/MqDHcJNEDy22HO0XEso7Ofz6p0kB7XqkhxMBjmCXLQPeyJA==} dev: true - /@types/debug@4.1.8: - resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} + /@types/debug@4.1.9: + resolution: {integrity: sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==} dependencies: - '@types/ms': 0.7.31 + '@types/ms': 0.7.32 dev: false /@types/degit@2.8.4: resolution: {integrity: sha512-E9ZPeZwh81/gDPVH4XpvcS4ewH/Ub4XJeM5xYAUP0BexGORIyCRYzSivlGOuGbVc4MH3//+z3h4CbrnMZMeUdA==} dev: true - /@types/dom-view-transitions@1.0.1: - resolution: {integrity: sha512-A9S1ijj/4MX06I1W/6on8lhaYyq1Ir7gaOvfllW1o4RzVWW88HAeqX0pUx9VgOLnNpdiGeUW2CTkg18p5LWIrA==} - dev: false - /@types/estree@1.0.1: resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} - dev: true - /@types/hast@2.3.5: - resolution: {integrity: sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==} + /@types/hast@2.3.6: + resolution: {integrity: sha512-47rJE80oqPmFdVDCD7IheXBrVdwuBgsYwoczFvKmwfo2Mzsnt+V9OONsYauFmICb6lQPpCuXYJWejBNs4pDJRg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /@types/is-ci@3.0.1: @@ -2281,28 +2069,34 @@ packages: resolution: {integrity: sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==} dev: false - /@types/mdast@3.0.12: - resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} + /@types/mdast@3.0.13: + resolution: {integrity: sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false - /@types/mime@3.0.1: - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + /@types/mdast@4.0.1: + resolution: {integrity: sha512-IlKct1rUTJ1T81d8OHzyop15kGv9A/ff7Gz7IJgrk6jDb4Udw77pCJ+vq8oxZf4Ghpm+616+i1s/LNg/Vh7d+g==} + dependencies: + '@types/unist': 3.0.0 + dev: false + + /@types/mime@3.0.2: + resolution: {integrity: sha512-Wj+fqpTLtTbG7c0tH47dkahefpLKEbB+xAZuLq7b4/IDHPl/n6VoXcyUQ2bypFlbSwvCr0y+bD4euTTqTJsPxQ==} dev: true /@types/minimist@1.2.3: resolution: {integrity: sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==} dev: true - /@types/ms@0.7.31: - resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + /@types/ms@0.7.32: + resolution: {integrity: sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g==} dev: false - /@types/nlcst@1.0.1: - resolution: {integrity: sha512-aVIyXt6pZiiMOtVByE4Y0gf+BLm1Cxc4ZLSK8VRHn1CgkO+kXbQwN/EBhQmhPdBMjFJCMBKtmNW2zWQuFywz8Q==} + /@types/nlcst@1.0.2: + resolution: {integrity: sha512-ykxL/GDDUhqikjU0LIywZvEwb1NTYXTEWf+XgMSS2o6IXIakafPccxZmxgZcvJPZ3yFl2kdL1gJZz3U3iZF3QA==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /@types/node@12.20.55: @@ -2317,9 +2111,6 @@ packages: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: true - /@types/node@20.5.0: - resolution: {integrity: sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==} - /@types/node@20.5.1: resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} dev: true @@ -2328,6 +2119,9 @@ packages: resolution: {integrity: sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ==} dev: true + /@types/node@20.8.2: + resolution: {integrity: sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==} + /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true @@ -2342,6 +2136,11 @@ packages: /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + dev: true + + /@types/prop-types@15.7.8: + resolution: {integrity: sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==} + dev: false /@types/pug@2.0.6: resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} @@ -2351,6 +2150,13 @@ packages: resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} dependencies: '@types/react': 18.2.20 + dev: true + + /@types/react-dom@18.2.8: + resolution: {integrity: sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw==} + dependencies: + '@types/react': 18.2.24 + dev: false /@types/react@18.2.20: resolution: {integrity: sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==} @@ -2358,30 +2164,44 @@ packages: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.3 csstype: 3.1.2 + dev: true + + /@types/react@18.2.24: + resolution: {integrity: sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw==} + dependencies: + '@types/prop-types': 15.7.8 + '@types/scheduler': 0.16.4 + csstype: 3.1.2 + dev: false - /@types/resolve@1.20.2: - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + /@types/resolve@1.20.3: + resolution: {integrity: sha512-NH5oErHOtHZYcjCtg69t26aXEk4BN2zLWqf7wnDZ+dpe0iR7Rds1SPGEItl3fca21oOe0n3OCnZ4W7jBxu7FOw==} dev: false - /@types/sax@1.2.4: - resolution: {integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==} + /@types/sax@1.2.5: + resolution: {integrity: sha512-9jWta97bBVC027/MShr3gLab8gPhKy4l6qpb+UJLF5pDm3501NvA7uvqVCW+REFtx00oTi6Cq9JzLwgq6evVgw==} dependencies: - '@types/node': 20.5.0 + '@types/node': 20.8.2 dev: true /@types/scheduler@0.16.3: resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + dev: true + + /@types/scheduler@0.16.4: + resolution: {integrity: sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==} + dev: false /@types/semver@7.5.3: resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==} dev: true - /@types/unist@2.0.7: - resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==} + /@types/unist@2.0.8: + resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} dev: false - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + /@types/unist@3.0.0: + resolution: {integrity: sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==} dev: false /@typescript-eslint/eslint-plugin@6.7.4(@typescript-eslint/parser@6.7.4)(eslint@8.50.0)(typescript@5.2.2): @@ -2521,11 +2341,27 @@ packages: vite: ^4 dependencies: '@swc/core': 1.3.83 - vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) + vite: 4.4.9(@types/node@20.8.2) transitivePeerDependencies: - '@swc/helpers' dev: true + /@vitejs/plugin-react@4.1.0(vite@4.4.10): + resolution: {integrity: sha512-rM0SqazU9iqPUraQ2JlIvReeaxOoRj6n+PzB1C0cBzIbd8qP336nC39/R9yPi3wVcah7E7j/kdU1uCUqMEU4OQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 + dependencies: + '@babel/core': 7.23.0 + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.23.0) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.23.0) + '@types/babel__core': 7.20.2 + react-refresh: 0.14.0 + vite: 4.4.10(@types/node@20.8.2)(sass@1.68.0) + transitivePeerDependencies: + - supports-color + dev: false + /@vitest/expect@0.34.6: resolution: {integrity: sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==} dependencies: @@ -2564,20 +2400,6 @@ packages: pretty-format: 29.7.0 dev: true - /@vscode/emmet-helper@2.9.2: - resolution: {integrity: sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==} - dependencies: - emmet: 2.4.6 - jsonc-parser: 2.3.1 - vscode-languageserver-textdocument: 1.0.8 - vscode-languageserver-types: 3.17.3 - vscode-uri: 2.1.2 - dev: false - - /@vscode/l10n@0.0.14: - resolution: {integrity: sha512-/yrv59IEnmh655z1oeDnGcvMYwnEzNzHLgeYcQCkhYX0xBvYWrAuefoiLcPBUkMpJsb46bqQ6Yv4pwTTQ4d3Qg==} - dev: false - /acorn-jsx@5.3.2(acorn@8.10.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -2613,23 +2435,23 @@ packages: uri-js: 4.4.1 dev: true - /algoliasearch@4.19.1: - resolution: {integrity: sha512-IJF5b93b2MgAzcE/tuzW0yOPnuUyRgGAtaPv5UUywXM8kzqfdwZTO4sPJBzoGz1eOy6H9uEchsJsBFTELZSu+g==} + /algoliasearch@4.20.0: + resolution: {integrity: sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==} dependencies: - '@algolia/cache-browser-local-storage': 4.19.1 - '@algolia/cache-common': 4.19.1 - '@algolia/cache-in-memory': 4.19.1 - '@algolia/client-account': 4.19.1 - '@algolia/client-analytics': 4.19.1 - '@algolia/client-common': 4.19.1 - '@algolia/client-personalization': 4.19.1 - '@algolia/client-search': 4.19.1 - '@algolia/logger-common': 4.19.1 - '@algolia/logger-console': 4.19.1 - '@algolia/requester-browser-xhr': 4.19.1 - '@algolia/requester-common': 4.19.1 - '@algolia/requester-node-http': 4.19.1 - '@algolia/transporter': 4.19.1 + '@algolia/cache-browser-local-storage': 4.20.0 + '@algolia/cache-common': 4.20.0 + '@algolia/cache-in-memory': 4.20.0 + '@algolia/client-account': 4.20.0 + '@algolia/client-analytics': 4.20.0 + '@algolia/client-common': 4.20.0 + '@algolia/client-personalization': 4.20.0 + '@algolia/client-search': 4.20.0 + '@algolia/logger-common': 4.20.0 + '@algolia/logger-console': 4.20.0 + '@algolia/requester-browser-xhr': 4.20.0 + '@algolia/requester-common': 4.20.0 + '@algolia/requester-node-http': 4.20.0 + '@algolia/transporter': 4.20.0 dev: false /ansi-align@3.0.1: @@ -2666,6 +2488,7 @@ packages: engines: {node: '>=8'} dependencies: color-convert: 2.0.1 + dev: true /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} @@ -2786,73 +2609,69 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /astro@2.10.9(@types/node@20.5.0)(sass@1.65.1): - resolution: {integrity: sha512-rtm/RHeJdAIAsziQaAGvbv2ALylNNOF1SUQ0zJaugu/ABUU62tNGNSxIR0LO5l4+dHhLbzRNo5uEnIPkmSRw+w==} - engines: {node: '>=16.12.0', npm: '>=6.14.0'} + /astro@3.2.2(@types/node@20.8.2)(sass@1.68.0): + resolution: {integrity: sha512-vLOOGyD2g1HRkCQAFHmHUrVAbMI5sgUqKignBMtXNantgEq1P17sL2cvH0Yy2ibNN9DHZ/4TknXmwHAig8PJNg==} + engines: {node: '>=18.14.1', npm: '>=6.14.0'} hasBin: true - peerDependencies: - sharp: '>=0.31.0' - peerDependenciesMeta: - sharp: - optional: true dependencies: - '@astrojs/compiler': 1.8.1 - '@astrojs/internal-helpers': 0.1.2 - '@astrojs/language-server': 1.0.8 - '@astrojs/markdown-remark': 2.2.1(astro@2.10.9) - '@astrojs/telemetry': 2.1.1 - '@astrojs/webapi': 2.2.0 - '@babel/core': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 - '@types/babel__core': 7.20.1 - '@types/dom-view-transitions': 1.0.1 - '@types/yargs-parser': 21.0.0 + '@astrojs/compiler': 2.1.0 + '@astrojs/internal-helpers': 0.2.0 + '@astrojs/markdown-remark': 3.2.0(astro@3.2.2) + '@astrojs/telemetry': 3.0.2 + '@babel/core': 7.23.0 + '@babel/generator': 7.23.0 + '@babel/parser': 7.23.0 + '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.0) + '@babel/traverse': 7.23.0 + '@babel/types': 7.23.0 + '@types/babel__core': 7.20.2 acorn: 8.10.0 - boxen: 6.2.1 + boxen: 7.1.1 chokidar: 3.5.3 ci-info: 3.8.0 + clsx: 2.0.0 common-ancestor-path: 1.0.1 cookie: 0.5.0 debug: 4.3.4(supports-color@9.4.0) devalue: 4.3.2 diff: 5.1.0 - es-module-lexer: 1.3.0 - esbuild: 0.17.19 - estree-walker: 3.0.0 - execa: 6.1.0 + es-module-lexer: 1.3.1 + esbuild: 0.19.4 + estree-walker: 3.0.3 + execa: 8.0.1 fast-glob: 3.3.1 github-slugger: 2.0.0 gray-matter: 4.0.3 html-escaper: 3.0.3 + http-cache-semantics: 4.1.1 js-yaml: 4.1.0 kleur: 4.1.5 - magic-string: 0.30.2 + magic-string: 0.30.4 mime: 3.0.0 - network-information-types: 0.1.1(typescript@5.2.2) - ora: 6.3.1 + ora: 7.0.1 p-limit: 4.0.0 path-to-regexp: 6.2.1 - preferred-pm: 3.0.3 + preferred-pm: 3.1.2 + probe-image-size: 7.2.3 prompts: 2.4.2 rehype: 12.0.1 + resolve: 1.22.6 semver: 7.5.4 server-destroy: 1.0.1 - shiki: 0.14.3 - string-width: 5.1.2 + shiki: 0.14.4 + string-width: 6.1.0 strip-ansi: 7.1.0 tsconfig-resolver: 3.0.1 - typescript: 5.2.2 + undici: 5.25.4 unist-util-visit: 4.1.2 vfile: 5.3.7 - vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) - vitefu: 0.2.4(vite@4.4.9) - which-pm: 2.0.0 + vite: 4.4.10(@types/node@20.8.2)(sass@1.68.0) + vitefu: 0.2.4(vite@4.4.10) + which-pm: 2.1.1 yargs-parser: 21.1.1 - zod: 3.22.1 + zod: 3.21.1 + optionalDependencies: + sharp: 0.32.6 transitivePeerDependencies: - '@types/node' - less @@ -2889,6 +2708,12 @@ packages: dequal: 2.0.3 dev: true + /b4a@1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + requiresBuild: true + dev: false + optional: true + /babel-plugin-module-resolver@5.0.0: resolution: {integrity: sha512-g0u+/ChLSJ5+PzYwLwP8Rp8Rcfowz58TJNCe+L/ui4rpzE/mg//JVX0EWBUYoxaextqnwuGHzfGp2hh0PPV25Q==} engines: {node: '>= 16'} @@ -2897,7 +2722,7 @@ packages: glob: 8.1.0 pkg-up: 3.1.0 reselect: 4.1.8 - resolve: 1.22.4 + resolve: 1.22.6 dev: false /bail@2.0.2: @@ -2920,11 +2745,22 @@ packages: /big-integer@1.6.51: resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} engines: {node: '>=0.6'} + dev: true /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + requiresBuild: true + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + optional: true + /bl@5.1.0: resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} dependencies: @@ -2937,13 +2773,13 @@ packages: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true - /boxen@6.2.1: - resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} dependencies: ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 + camelcase: 7.0.1 + chalk: 5.3.0 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -2956,6 +2792,7 @@ packages: engines: {node: '>= 5.10.0'} dependencies: big-integer: 1.6.51 + dev: true /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -2982,21 +2819,30 @@ packages: wcwidth: 1.0.1 dev: true - /browserslist@4.21.10: - resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} + /browserslist@4.22.1: + resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001528 - electron-to-chromium: 1.4.494 + caniuse-lite: 1.0.30001543 + electron-to-chromium: 1.4.540 node-releases: 2.0.13 - update-browserslist-db: 1.0.11(browserslist@4.21.10) + update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: false /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + requiresBuild: true + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + optional: true + /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: @@ -3009,6 +2855,7 @@ packages: engines: {node: '>=12'} dependencies: run-applescript: 5.0.0 + dev: true /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} @@ -3069,11 +2916,21 @@ packages: /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + dev: true + + /camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: false /caniuse-lite@1.0.30001528: resolution: {integrity: sha512-0Db4yyjR9QMNlsxh+kKWzQtkyflkG/snYheSzkjmvdEtEXB1+jt7A2HmSEiO6XIJPIbo92lHNGNySvE5pZcs5Q==} dev: false + /caniuse-lite@1.0.30001543: + resolution: {integrity: sha512-qxdO8KPWPQ+Zk6bvNpPeQIOH47qZSYdFZd6dXQzb2KzhnSXju4Kd7H1PkSJx6NICSMgo/IhRZRhhfPTHYpJUCA==} + dev: false + /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: false @@ -3105,6 +2962,7 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 + dev: true /chalk@5.3.0: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} @@ -3147,6 +3005,12 @@ packages: optionalDependencies: fsevents: 2.3.3 + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + requiresBuild: true + dev: false + optional: true + /ci-info@3.8.0: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} @@ -3170,8 +3034,8 @@ packages: restore-cursor: 4.0.0 dev: false - /cli-spinners@2.9.0: - resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} + /cli-spinners@2.9.1: + resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} engines: {node: '>=6'} dev: false @@ -3199,6 +3063,12 @@ packages: /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} + dev: true + + /clsx@2.0.0: + resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} + engines: {node: '>=6'} + dev: false /code-red@1.0.4: resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} @@ -3227,6 +3097,25 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + requiresBuild: true + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + optional: true + + /color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + requiresBuild: true + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + dev: false + optional: true + /colorette@1.4.0: resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} dev: false @@ -3264,8 +3153,8 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: false /cookie@0.5.0: @@ -3383,6 +3272,17 @@ packages: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: true + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: false + /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -3392,7 +3292,6 @@ packages: optional: true dependencies: ms: 2.1.3 - dev: true /debug@4.3.4(supports-color@9.4.0): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -3430,6 +3329,15 @@ packages: character-entities: 2.0.2 dev: false + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + requiresBuild: true + dependencies: + mimic-response: 3.1.0 + dev: false + optional: true + /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} @@ -3437,6 +3345,13 @@ packages: type-detect: 4.0.8 dev: true + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + requiresBuild: true + dev: false + optional: true + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true @@ -3452,6 +3367,7 @@ packages: dependencies: bplist-parser: 0.2.0 untildify: 4.0.0 + dev: true /default-browser@4.0.0: resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} @@ -3461,11 +3377,13 @@ packages: default-browser-id: 3.0.0 execa: 7.1.1 titleize: 3.0.0 + dev: true /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 + dev: true /define-data-property@1.1.0: resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} @@ -3479,6 +3397,7 @@ packages: /define-lazy-prop@3.0.0: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} + dev: true /define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} @@ -3532,6 +3451,13 @@ packages: engines: {node: '>=8'} dev: true + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + requiresBuild: true + dev: false + optional: true + /devalue@4.3.2: resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} @@ -3623,15 +3549,12 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: false - /electron-to-chromium@1.4.494: - resolution: {integrity: sha512-KF7wtsFFDu4ws1ZsSOt4pdmO1yWVNWCFtijVYZPUeW4SV7/hy/AESjLn/+qIWgq7mHscNOKAwN5AIM1+YAy+Ww==} + /electron-to-chromium@1.4.540: + resolution: {integrity: sha512-aoCqgU6r9+o9/S7wkcSbmPRFi7OWZWiXS9rtjEd+Ouyu/Xyw5RSq2XN8s5Qp8IaFOLiRrhQCphCIjAxgG3eCAg==} dev: false - /emmet@2.4.6: - resolution: {integrity: sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==} - dependencies: - '@emmetio/abbreviation': 2.3.3 - '@emmetio/css-abbreviation': 2.1.8 + /emoji-regex@10.2.1: + resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==} dev: false /emoji-regex@8.0.0: @@ -3641,6 +3564,14 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: false + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + requiresBuild: true + dependencies: + once: 1.4.0 + dev: false + optional: true + /enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -3705,8 +3636,8 @@ packages: which-typed-array: 1.1.11 dev: true - /es-module-lexer@1.3.0: - resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==} + /es-module-lexer@1.3.1: + resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} dev: false /es-set-tostringtag@2.0.1: @@ -3737,36 +3668,6 @@ packages: resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 - dev: false - /esbuild@0.18.20: resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} @@ -3824,7 +3725,6 @@ packages: '@esbuild/win32-arm64': 0.19.4 '@esbuild/win32-ia32': 0.19.4 '@esbuild/win32-x64': 0.19.4 - dev: true /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -3965,7 +3865,7 @@ packages: dependencies: '@typescript-eslint/utils': 6.7.4(eslint@8.50.0)(typescript@5.2.2) eslint: 8.50.0 - vitest: 0.34.6(supports-color@9.4.0) + vitest: 0.34.6 transitivePeerDependencies: - supports-color - typescript @@ -4067,15 +3967,10 @@ packages: engines: {node: '>=4.0'} dev: true - /estree-walker@3.0.0: - resolution: {integrity: sha512-s6ceX0NFiU/vKPiKvFdR83U1Zffu7upwZsGwpoqfg5rbbq1l50WQ5hCeIvM6E6oD4shUHCYMsiFPns4Jk0YfMQ==} - dev: false - /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.1 - dev: true /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} @@ -4086,11 +3981,6 @@ packages: resolution: {integrity: sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==} dev: true - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false - /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -4104,24 +3994,25 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 + dev: true - /execa@6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /execa@7.1.1: + resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 - human-signals: 3.0.1 + human-signals: 4.3.1 is-stream: 3.0.0 merge-stream: 2.0.0 npm-run-path: 5.1.0 onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 - dev: false + dev: true - /execa@7.1.1: - resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 @@ -4133,21 +4024,29 @@ packages: onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 + dev: true - /execa@7.2.0: - resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} - engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} dependencies: cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 4.3.1 + get-stream: 8.0.1 + human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 npm-run-path: 5.1.0 onetime: 6.0.0 - signal-exit: 3.0.7 + signal-exit: 4.1.0 strip-final-newline: 3.0.0 - dev: true + dev: false + + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + requiresBuild: true + dev: false + optional: true /extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -4180,6 +4079,12 @@ packages: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} dev: true + /fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + requiresBuild: true + dev: false + optional: true + /fast-glob@3.3.1: resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} engines: {node: '>=8.6.0'} @@ -4302,6 +4207,12 @@ packages: qs: 6.11.2 dev: true + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + requiresBuild: true + dev: false + optional: true + /fs-extra@11.1.1: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} @@ -4386,6 +4297,12 @@ packages: /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + dev: true + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: false /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} @@ -4395,9 +4312,11 @@ packages: get-intrinsic: 1.2.1 dev: true - /github-slugger@1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + requiresBuild: true dev: false + optional: true /github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -4548,6 +4467,7 @@ packages: /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + dev: true /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} @@ -4581,10 +4501,10 @@ packages: /hast-util-from-parse5@7.1.2: resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==} dependencies: - '@types/hast': 2.3.5 - '@types/unist': 2.0.7 + '@types/hast': 2.3.6 + '@types/unist': 2.0.8 hastscript: 7.2.0 - property-information: 6.2.0 + property-information: 6.3.0 vfile: 5.3.7 vfile-location: 4.1.0 web-namespaces: 2.0.1 @@ -4593,13 +4513,13 @@ packages: /hast-util-parse-selector@3.1.1: resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.6 dev: false /hast-util-raw@7.2.3: resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.6 '@types/parse5': 6.0.3 hast-util-from-parse5: 7.1.2 hast-util-to-parse5: 7.1.0 @@ -4615,14 +4535,14 @@ packages: /hast-util-to-html@8.0.4: resolution: {integrity: sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==} dependencies: - '@types/hast': 2.3.5 - '@types/unist': 2.0.7 + '@types/hast': 2.3.6 + '@types/unist': 2.0.8 ccount: 2.0.1 comma-separated-tokens: 2.0.3 hast-util-raw: 7.2.3 hast-util-whitespace: 2.0.1 html-void-elements: 2.0.1 - property-information: 6.2.0 + property-information: 6.3.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.3 zwitch: 2.0.4 @@ -4631,9 +4551,9 @@ packages: /hast-util-to-parse5@7.1.0: resolution: {integrity: sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.6 comma-separated-tokens: 2.0.3 - property-information: 6.2.0 + property-information: 6.3.0 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -4646,10 +4566,10 @@ packages: /hastscript@7.2.0: resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.6 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 3.1.1 - property-information: 6.2.0 + property-information: 6.3.0 space-separated-tokens: 2.0.2 dev: false @@ -4688,6 +4608,10 @@ packages: resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} dev: false + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: false + /human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} dev: true @@ -4695,22 +4619,23 @@ packages: /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - - /human-signals@3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} - dev: false + dev: true /human-signals@4.3.1: resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} engines: {node: '>=14.18.0'} + dev: true + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: false /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - dev: true /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -4721,8 +4646,8 @@ packages: engines: {node: '>= 4'} dev: true - /immutable@4.3.2: - resolution: {integrity: sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA==} + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -4732,13 +4657,8 @@ packages: resolve-from: 4.0.0 dev: true - /import-meta-resolve@2.2.2: - resolution: {integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==} - dev: false - /import-meta-resolve@3.0.0: resolution: {integrity: sha512-4IwhLhNNA8yy445rPjD/lWh++7hMDOml2eHtd58eG7h+qK3EryMuuRbsHGPikCoAgIkkDnckKfWSk2iDla/ejg==} - dev: true /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -4764,6 +4684,12 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + requiresBuild: true + dev: false + optional: true + /internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} @@ -4785,6 +4711,12 @@ packages: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + requiresBuild: true + dev: false + optional: true + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: @@ -4838,6 +4770,7 @@ packages: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true + dev: true /is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} @@ -4939,6 +4872,7 @@ packages: /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + dev: true /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} @@ -4993,6 +4927,14 @@ packages: engines: {node: '>=8'} dependencies: is-docker: 2.2.1 + dev: true + + /is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + dependencies: + is-inside-container: 1.0.0 + dev: false /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -5073,10 +5015,6 @@ packages: hasBin: true dev: false - /jsonc-parser@2.3.1: - resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} - dev: false - /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} @@ -5179,7 +5117,6 @@ packages: /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true /lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} @@ -5236,13 +5173,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /magic-string@0.30.2: - resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: false - /magic-string@0.30.3: resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==} engines: {node: '>=12'} @@ -5255,7 +5185,6 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true /map-obj@1.0.1: resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} @@ -5274,15 +5203,23 @@ packages: /mdast-util-definitions@5.1.2: resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} dependencies: - '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/mdast': 3.0.13 + '@types/unist': 2.0.8 unist-util-visit: 4.1.2 dev: false + /mdast-util-definitions@6.0.0: + resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} + dependencies: + '@types/mdast': 4.0.1 + '@types/unist': 3.0.0 + unist-util-visit: 5.0.0 + dev: false + /mdast-util-find-and-replace@2.2.2: resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.13 escape-string-regexp: 5.0.0 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 @@ -5291,8 +5228,8 @@ packages: /mdast-util-from-markdown@1.3.1: resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} dependencies: - '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/mdast': 3.0.13 + '@types/unist': 2.0.8 decode-named-character-reference: 1.0.2 mdast-util-to-string: 3.2.0 micromark: 3.2.0 @@ -5310,7 +5247,7 @@ packages: /mdast-util-gfm-autolink-literal@1.0.3: resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.13 ccount: 2.0.1 mdast-util-find-and-replace: 2.2.2 micromark-util-character: 1.2.0 @@ -5319,7 +5256,7 @@ packages: /mdast-util-gfm-footnote@1.0.2: resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.13 mdast-util-to-markdown: 1.5.0 micromark-util-normalize-identifier: 1.1.0 dev: false @@ -5327,14 +5264,14 @@ packages: /mdast-util-gfm-strikethrough@1.0.3: resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.13 mdast-util-to-markdown: 1.5.0 dev: false /mdast-util-gfm-table@1.0.7: resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.13 markdown-table: 3.0.3 mdast-util-from-markdown: 1.3.1 mdast-util-to-markdown: 1.5.0 @@ -5345,7 +5282,7 @@ packages: /mdast-util-gfm-task-list-item@1.0.2: resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.13 mdast-util-to-markdown: 1.5.0 dev: false @@ -5366,15 +5303,15 @@ packages: /mdast-util-phrasing@3.0.1: resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.13 unist-util-is: 5.2.1 dev: false /mdast-util-to-hast@12.3.0: resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} dependencies: - '@types/hast': 2.3.5 - '@types/mdast': 3.0.12 + '@types/hast': 2.3.6 + '@types/mdast': 3.0.13 mdast-util-definitions: 5.1.2 micromark-util-sanitize-uri: 1.2.0 trim-lines: 3.0.1 @@ -5386,8 +5323,8 @@ packages: /mdast-util-to-markdown@1.5.0: resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} dependencies: - '@types/mdast': 3.0.12 - '@types/unist': 2.0.7 + '@types/mdast': 3.0.13 + '@types/unist': 2.0.8 longest-streak: 3.1.0 mdast-util-phrasing: 3.0.1 mdast-util-to-string: 3.2.0 @@ -5399,7 +5336,7 @@ packages: /mdast-util-to-string@3.2.0: resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.13 dev: false /mdn-data@2.0.28: @@ -5688,7 +5625,7 @@ packages: /micromark@3.2.0: resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} dependencies: - '@types/debug': 4.1.8 + '@types/debug': 4.1.9 debug: 4.3.4(supports-color@9.4.0) decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.1.0 @@ -5747,6 +5684,13 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + requiresBuild: true + dev: false + optional: true + /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -5776,13 +5720,18 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true /mixme@0.5.9: resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} engines: {node: '>= 8.0.0'} dev: true + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + requiresBuild: true + dev: false + optional: true + /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -5808,12 +5757,15 @@ packages: engines: {node: '>=10'} dev: true + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: false + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} @@ -5825,22 +5777,32 @@ packages: engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} dev: true + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + requiresBuild: true + dev: false + optional: true + /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /needle@2.9.1: + resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + dependencies: + debug: 3.2.7 + iconv-lite: 0.4.24 + sax: 1.3.0 + transitivePeerDependencies: + - supports-color + dev: false + /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /network-information-types@0.1.1(typescript@5.2.2): - resolution: {integrity: sha512-mLXNafJYOkiJB6IlF727YWssTRpXitR+tKSLyA5VAdBi3SOvLf5gtizHgxf241YHPWocnAO/fAhVrB/68tPHDw==} - peerDependencies: - typescript: '>= 3.0.0' - dependencies: - typescript: 5.2.2 - dev: false - /next@13.4.19(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-HuPSzzAbJ1T4BD8e0bs6B9C1kWQ6gv8ykZoRWs5AQoiIuqbGHHdQO7Ljuvg05Q0Z24E2ABozHe6FxDvI6HfyAw==} engines: {node: '>=16.8.0'} @@ -5887,7 +5849,7 @@ packages: requiresBuild: true dependencies: node-addon-api: 3.2.1 - node-gyp-build: 4.6.0 + node-gyp-build: 4.6.1 dev: true optional: true @@ -5898,15 +5860,30 @@ packages: /nlcst-to-string@3.1.1: resolution: {integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==} dependencies: - '@types/nlcst': 1.0.1 + '@types/nlcst': 1.0.2 dev: false - /node-addon-api@3.2.1: - resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} + /node-abi@3.47.0: + resolution: {integrity: sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==} + engines: {node: '>=10'} + requiresBuild: true + dependencies: + semver: 7.5.4 + dev: false + optional: true + + /node-addon-api@3.2.1: + resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} requiresBuild: true dev: true optional: true + /node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + requiresBuild: true + dev: false + optional: true + /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -5918,8 +5895,8 @@ packages: dependencies: whatwg-url: 5.0.0 - /node-gyp-build@4.6.0: - resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} + /node-gyp-build@4.6.1: + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} hasBin: true requiresBuild: true dev: true @@ -5973,6 +5950,7 @@ packages: engines: {node: '>=8'} dependencies: path-key: 3.1.1 + dev: true /npm-run-path@5.1.0: resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} @@ -6057,6 +6035,7 @@ packages: define-lazy-prop: 3.0.0 is-inside-container: 1.0.0 is-wsl: 2.2.0 + dev: true /openapi-typescript-codegen@0.25.0: resolution: {integrity: sha512-nN/TnIcGbP58qYgwEEy5FrAAjePcYgfMaCe3tsmYyTgI3v4RR9v8os14L+LEWDvV50+CmqiyTzRkKKtJeb6Ybg==} @@ -6086,19 +6065,19 @@ packages: type-check: 0.4.0 dev: true - /ora@6.3.1: - resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /ora@7.0.1: + resolution: {integrity: sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==} + engines: {node: '>=16'} dependencies: chalk: 5.3.0 cli-cursor: 4.0.0 - cli-spinners: 2.9.0 + cli-spinners: 2.9.1 is-interactive: 2.0.0 is-unicode-supported: 1.3.0 log-symbols: 5.1.0 stdin-discarder: 0.1.0 + string-width: 6.1.0 strip-ansi: 7.1.0 - wcwidth: 1.0.1 dev: false /os-tmpdir@1.0.2: @@ -6358,28 +6337,39 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /preact-render-to-string@5.2.6(preact@10.17.0): + /preact-render-to-string@5.2.6(preact@10.18.1): resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} peerDependencies: preact: '>=10' dependencies: - preact: 10.17.0 + preact: 10.18.1 pretty-format: 3.8.0 dev: false - /preact@10.17.0: - resolution: {integrity: sha512-SNsI8cbaCcUS5tbv9nlXuCfIXnJ9ysBMWk0WnB6UWwcVA3qZ2O6FxqDFECMAMttvLQcW/HaNZUe2BLidyvrVYw==} + /preact@10.18.1: + resolution: {integrity: sha512-mKUD7RRkQQM6s7Rkmi7IFkoEHjuFqRQUaXamO61E6Nn7vqF/bo7EZCmSyrUnp2UWHw0O7XjZ2eeXis+m7tf4lg==} dev: false - /preferred-pm@3.0.3: - resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + /prebuild-install@7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} engines: {node: '>=10'} + hasBin: true + requiresBuild: true dependencies: - find-up: 5.0.0 - find-yarn-workspace-root2: 1.2.16 - path-exists: 4.0.0 - which-pm: 2.0.0 + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.47.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 dev: false + optional: true /preferred-pm@3.1.2: resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} @@ -6389,7 +6379,6 @@ packages: find-yarn-workspace-root2: 1.2.16 path-exists: 4.0.0 which-pm: 2.0.0 - dev: true /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -6403,20 +6392,11 @@ packages: fast-diff: 1.3.0 dev: true - /prettier-plugin-astro@0.9.1: - resolution: {integrity: sha512-pYZXSbdq0eElvzoIMArzv1SBn1NUXzopjlcnt6Ql8VW32PjC12NovwBjXJ6rh8qQLi7vF8jNqAbraKW03UPfag==} - engines: {node: ^14.15.0 || >=16.0.0, pnpm: '>=7.14.0'} - dependencies: - '@astrojs/compiler': 1.8.1 - prettier: 2.8.8 - sass-formatter: 0.7.7 - synckit: 0.8.5 - dev: false - /prettier@2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} hasBin: true + dev: true /prettier@3.0.3: resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} @@ -6442,6 +6422,16 @@ packages: engines: {node: '>=6'} dev: false + /probe-image-size@7.2.3: + resolution: {integrity: sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==} + dependencies: + lodash.merge: 4.6.2 + needle: 2.9.1 + stream-parser: 0.3.1 + transitivePeerDependencies: + - supports-color + dev: false + /prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -6450,8 +6440,8 @@ packages: sisteransi: 1.0.5 dev: false - /property-information@6.2.0: - resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} + /property-information@6.3.0: + resolution: {integrity: sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg==} dev: false /proxy-from-env@1.1.0: @@ -6462,6 +6452,15 @@ packages: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: true + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + requiresBuild: true + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + optional: true + /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} @@ -6476,6 +6475,12 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + /queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + requiresBuild: true + dev: false + optional: true + /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} @@ -6486,6 +6491,18 @@ packages: engines: {node: '>=10'} dev: true + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + requiresBuild: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: false + optional: true + /react-dom@18.2.0(react@18.2.0): resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: @@ -6500,6 +6517,11 @@ packages: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true + /react-refresh@0.14.0: + resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} + engines: {node: '>=0.10.0'} + dev: false + /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -6611,7 +6633,7 @@ packages: /rehype-parse@8.0.5: resolution: {integrity: sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.6 hast-util-from-parse5: 7.1.2 parse5: 6.0.1 unified: 10.1.2 @@ -6620,7 +6642,7 @@ packages: /rehype-raw@6.1.1: resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.6 hast-util-raw: 7.2.3 unified: 10.1.2 dev: false @@ -6628,7 +6650,7 @@ packages: /rehype-stringify@9.0.4: resolution: {integrity: sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.6 hast-util-to-html: 8.0.4 unified: 10.1.2 dev: false @@ -6636,7 +6658,7 @@ packages: /rehype@12.0.1: resolution: {integrity: sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==} dependencies: - '@types/hast': 2.3.5 + '@types/hast': 2.3.6 rehype-parse: 8.0.5 rehype-stringify: 9.0.4 unified: 10.1.2 @@ -6645,7 +6667,7 @@ packages: /remark-gfm@3.0.1: resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.13 mdast-util-gfm: 2.0.2 micromark-extension-gfm: 2.0.3 unified: 10.1.2 @@ -6656,7 +6678,7 @@ packages: /remark-parse@10.0.2: resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} dependencies: - '@types/mdast': 3.0.12 + '@types/mdast': 3.0.13 mdast-util-from-markdown: 1.3.1 unified: 10.1.2 transitivePeerDependencies: @@ -6666,8 +6688,8 @@ packages: /remark-rehype@10.1.0: resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} dependencies: - '@types/hast': 2.3.5 - '@types/mdast': 3.0.12 + '@types/hast': 2.3.6 + '@types/mdast': 3.0.13 mdast-util-to-hast: 12.3.0 unified: 10.1.2 dev: false @@ -6709,15 +6731,6 @@ packages: engines: {node: '>=8'} dev: true - /resolve@1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} - hasBin: true - dependencies: - is-core-module: 2.13.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: false - /resolve@1.22.6: resolution: {integrity: sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==} hasBin: true @@ -6725,7 +6738,6 @@ packages: is-core-module: 2.13.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true /restore-cursor@4.0.0: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} @@ -6738,7 +6750,7 @@ packages: /retext-latin@3.1.0: resolution: {integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==} dependencies: - '@types/nlcst': 1.0.1 + '@types/nlcst': 1.0.2 parse-latin: 5.0.1 unherit: 3.0.1 unified: 10.1.2 @@ -6747,7 +6759,7 @@ packages: /retext-smartypants@5.2.0: resolution: {integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==} dependencies: - '@types/nlcst': 1.0.1 + '@types/nlcst': 1.0.2 nlcst-to-string: 3.1.1 unified: 10.1.2 unist-util-visit: 4.1.2 @@ -6756,7 +6768,7 @@ packages: /retext-stringify@3.1.0: resolution: {integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==} dependencies: - '@types/nlcst': 1.0.1 + '@types/nlcst': 1.0.2 nlcst-to-string: 3.1.1 unified: 10.1.2 dev: false @@ -6764,7 +6776,7 @@ packages: /retext@8.1.0: resolution: {integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==} dependencies: - '@types/nlcst': 1.0.1 + '@types/nlcst': 1.0.2 retext-latin: 3.1.0 retext-stringify: 3.1.0 unified: 10.1.2 @@ -6800,16 +6812,13 @@ packages: engines: {node: '>=12'} dependencies: execa: 5.1.1 + dev: true /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - /s.color@0.0.15: - resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} - dev: false - /sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} @@ -6840,7 +6849,6 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true /sander@0.5.1: resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} @@ -6851,24 +6859,17 @@ packages: rimraf: 2.7.1 dev: true - /sass-formatter@0.7.7: - resolution: {integrity: sha512-axtQ7c7Cf4UgHsD8e4okhIkkc90+tdgBIfUMx69+qJuMNq9EOo2k+RH/mDKj0XeA5z3nC1Ca5TCntuxRhI+1MA==} - dependencies: - suf-log: 2.5.3 - dev: false - - /sass@1.65.1: - resolution: {integrity: sha512-9DINwtHmA41SEd36eVPQ9BJKpn7eKDQmUHmpI0y5Zv2Rcorrh0zS+cFrt050hdNbmmCNKTW3hV5mWfuegNRsEA==} + /sass@1.68.0: + resolution: {integrity: sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.5.3 - immutable: 4.3.2 + immutable: 4.3.4 source-map-js: 1.0.2 - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - dev: true + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} @@ -6925,6 +6926,22 @@ packages: has-property-descriptors: 1.0.0 dev: true + /sharp@0.32.6: + resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} + engines: {node: '>=14.15.0'} + requiresBuild: true + dependencies: + color: 4.2.3 + detect-libc: 2.0.2 + node-addon-api: 6.1.0 + prebuild-install: 7.1.1 + semver: 7.5.4 + simple-get: 4.0.1 + tar-fs: 3.0.4 + tunnel-agent: 0.6.0 + dev: false + optional: true + /shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -6951,8 +6968,8 @@ packages: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true - /shiki@0.14.3: - resolution: {integrity: sha512-U3S/a+b0KS+UkTyMjoNojvTgrBHjgp7L6ovhFVZsXmBGnVdQ4K4U9oK0z63w538S91ATngv1vXigHCSWOwnr+g==} + /shiki@0.14.4: + resolution: {integrity: sha512-IXCRip2IQzKwxArNNq1S+On4KPML3Yyn8Zzs/xRgcgOWIr8ntIK3IKzjFPfjy/7kt9ZMjc+FItfqHRBg8b6tNQ==} dependencies: ansi-sequence-parser: 1.1.1 jsonc-parser: 3.2.0 @@ -6975,6 +6992,35 @@ packages: /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: false + + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + requiresBuild: true + dev: false + optional: true + + /simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + requiresBuild: true + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + optional: true + + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + requiresBuild: true + dependencies: + is-arrayish: 0.3.2 + dev: false + optional: true + /sirv@2.0.3: resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} engines: {node: '>= 10'} @@ -6994,9 +7040,9 @@ packages: hasBin: true dependencies: '@types/node': 17.0.45 - '@types/sax': 1.2.4 + '@types/sax': 1.2.5 arg: 5.0.2 - sax: 1.2.4 + sax: 1.3.0 dev: true /slash@3.0.0: @@ -7092,6 +7138,14 @@ packages: bl: 5.1.0 dev: false + /stream-parser@0.3.1: + resolution: {integrity: sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==} + dependencies: + debug: 2.6.9 + transitivePeerDependencies: + - supports-color + dev: false + /stream-transform@2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} dependencies: @@ -7102,6 +7156,15 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + /streamx@2.15.1: + resolution: {integrity: sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==} + requiresBuild: true + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + dev: false + optional: true + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -7119,6 +7182,15 @@ packages: strip-ansi: 7.1.0 dev: false + /string-width@6.1.0: + resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==} + engines: {node: '>=16'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 10.2.1 + strip-ansi: 7.1.0 + dev: false + /string.prototype.padend@3.1.5: resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} engines: {node: '>= 0.4'} @@ -7196,6 +7268,7 @@ packages: /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + dev: true /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} @@ -7215,6 +7288,13 @@ packages: min-indent: 1.0.1 dev: true + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + requiresBuild: true + dev: false + optional: true + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -7243,12 +7323,6 @@ packages: react: 18.2.0 dev: false - /suf-log@2.5.3: - resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} - dependencies: - s.color: 0.0.15 - dev: false - /superagent@8.1.2: resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==} engines: {node: '>=6.4.0 <13 || >=14'} @@ -7278,6 +7352,7 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 + dev: true /supports-color@9.4.0: resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} @@ -7408,6 +7483,51 @@ packages: dependencies: '@pkgr/utils': 2.4.2 tslib: 2.6.2 + dev: true + + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + requiresBuild: true + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + optional: true + + /tar-fs@3.0.4: + resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} + requiresBuild: true + dependencies: + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 3.1.6 + dev: false + optional: true + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: false + optional: true + + /tar-stream@3.1.6: + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + requiresBuild: true + dependencies: + b4a: 1.6.4 + fast-fifo: 1.3.2 + streamx: 2.15.1 + dev: false + optional: true /term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} @@ -7442,6 +7562,7 @@ packages: /titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} engines: {node: '>=12'} + dev: true /tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} @@ -7509,9 +7630,9 @@ packages: resolution: {integrity: sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==} dependencies: '@types/json5': 0.0.30 - '@types/resolve': 1.20.2 + '@types/resolve': 1.20.3 json5: 2.2.3 - resolve: 1.22.4 + resolve: 1.22.6 strip-bom: 4.0.0 type-fest: 0.13.1 dev: false @@ -7533,6 +7654,14 @@ packages: yargs: 17.7.2 dev: true + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + requiresBuild: true + dependencies: + safe-buffer: 5.2.1 + dev: false + optional: true + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -7629,6 +7758,10 @@ packages: dev: true optional: true + /ultrahtml@1.5.2: + resolution: {integrity: sha512-qh4mBffhlkiXwDAOxvSGxhL0QEQsTbnP9BozOK3OYPEGvPvdWzvAUaXNtUSMdNsKDtuyjEbyVUPFZ52SSLhLqw==} + dev: false + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -7645,11 +7778,11 @@ packages: busboy: 1.6.0 dev: true - /undici@5.25.2: - resolution: {integrity: sha512-tch8RbCfn1UUH1PeVCXva4V8gDpGAud/w0WubD6sHC46vYQ3KDxL+xv1A2UxK0N6jrVedutuPHxe1XIoqerwMw==} + /undici@5.25.4: + resolution: {integrity: sha512-450yJxT29qKMf3aoudzFpIciqpx6Pji3hEWaXqXmanbXF58LTAGCKxcJjxMXWu3iG+Mudgo3ZUfDB6YDFd/dAw==} engines: {node: '>=14.0'} dependencies: - busboy: 1.6.0 + '@fastify/busboy': 2.0.0 dev: false /unherit@3.0.1: @@ -7659,7 +7792,7 @@ packages: /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 bail: 2.0.2 extend: 3.0.2 is-buffer: 2.0.5 @@ -7675,49 +7808,70 @@ packages: /unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 + dev: false + + /unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + dependencies: + '@types/unist': 3.0.0 dev: false /unist-util-modify-children@3.1.1: resolution: {integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 array-iterate: 2.0.1 dev: false /unist-util-position@4.0.4: resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-stringify-position@3.0.3: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-visit-children@2.0.2: resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 dev: false /unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-is: 5.2.1 dev: false + /unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + dependencies: + '@types/unist': 3.0.0 + unist-util-is: 6.0.0 + dev: false + /unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 dev: false + /unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + dependencies: + '@types/unist': 3.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: false + /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -7731,14 +7885,15 @@ packages: /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} + dev: true - /update-browserslist-db@1.0.11(browserslist@4.21.10): - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + /update-browserslist-db@1.0.13(browserslist@4.22.1): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.10 + browserslist: 4.22.1 escalade: 3.1.1 picocolors: 1.0.0 dev: false @@ -7781,21 +7936,21 @@ packages: /vfile-location@4.1.0: resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 vfile: 5.3.7 dev: false /vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 unist-util-stringify-position: 3.0.3 dev: false /vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} dependencies: - '@types/unist': 2.0.7 + '@types/unist': 2.0.8 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 @@ -7823,8 +7978,52 @@ packages: - terser dev: true - /vite-plugin-sass-dts@1.3.9(postcss@8.4.31)(prettier@3.0.3)(sass@1.65.1)(vite@4.4.9): - resolution: {integrity: sha512-v8+LJ8yeN+TexjWiJjv6XOIvT382ZEcFi9gY7OB1ydGNv50B+RE5I8/Xx5XJDkNXsDfhdatNMq02Zgu9ue/wXw==} + /vite-node@0.34.6(@types/node@20.8.2): + resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4(supports-color@9.4.0) + mlly: 1.4.2 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 4.4.9(@types/node@20.8.2) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite-node@0.34.6(@types/node@20.8.2)(supports-color@9.4.0): + resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} + engines: {node: '>=v14.18.0'} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4(supports-color@9.4.0) + mlly: 1.4.2 + pathe: 1.1.1 + picocolors: 1.0.0 + vite: 4.4.9(@types/node@20.8.2) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite-plugin-sass-dts@1.3.11(postcss@8.4.31)(prettier@3.0.3)(sass@1.68.0)(vite@4.4.10): + resolution: {integrity: sha512-3kEMwyejRFf8KGotbUVrYgALWE6JhN+EuZga5ngfDQspaDpqxJbjgKdSVw9cLS+5DGF70QIgr6QCt6Y6lqXF6A==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: postcss: ^8 @@ -7835,12 +8034,12 @@ packages: postcss: 8.4.31 postcss-js: 4.0.1(postcss@8.4.31) prettier: 3.0.3 - sass: 1.65.1 - vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) + sass: 1.68.0 + vite: 4.4.10(@types/node@20.8.2)(sass@1.68.0) dev: true - /vite@4.4.9(@types/node@20.5.0)(sass@1.65.1): - resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} + /vite@4.4.10(@types/node@20.8.2)(sass@1.68.0): + resolution: {integrity: sha512-TzIjiqx9BEXF8yzYdF2NTf1kFFbjMjUSV0LFZ3HyHoI3SGSPLnnFUKiIQtL3gl2AjHvMrprOvQ3amzaHgQlAxw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -7867,11 +8066,11 @@ packages: terser: optional: true dependencies: - '@types/node': 20.5.0 + '@types/node': 20.8.2 esbuild: 0.18.20 postcss: 8.4.31 rollup: 3.29.4 - sass: 1.65.1 + sass: 1.68.0 optionalDependencies: fsevents: 2.3.3 @@ -7911,6 +8110,53 @@ packages: fsevents: 2.3.3 dev: true + /vite@4.4.9(@types/node@20.8.2): + resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.8.2 + esbuild: 0.18.20 + postcss: 8.4.31 + rollup: 3.29.4 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitefu@0.2.4(vite@4.4.10): + resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: 4.4.10(@types/node@20.8.2)(sass@1.68.0) + dev: false + /vitefu@0.2.4(vite@4.4.9): resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: @@ -7919,7 +8165,8 @@ packages: vite: optional: true dependencies: - vite: 4.4.9(@types/node@20.5.0)(sass@1.65.1) + vite: 4.4.9(@types/node@20.8.2) + dev: true /vitest-fetch-mock@0.2.2(vitest@0.34.6): resolution: {integrity: sha512-XmH6QgTSjCWrqXoPREIdbj40T7i1xnGmAsTAgfckoO75W1IEHKR8hcPCQ7SO16RsdW1t85oUm6pcQRLeBgjVYQ==} @@ -7928,12 +8175,12 @@ packages: vitest: '>=0.16.0' dependencies: cross-fetch: 3.1.8 - vitest: 0.34.6(supports-color@9.4.0) + vitest: 0.34.6 transitivePeerDependencies: - encoding dev: true - /vitest@0.34.6(supports-color@9.4.0): + /vitest@0.34.6: resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} engines: {node: '>=v14.18.0'} hasBin: true @@ -7966,7 +8213,7 @@ packages: dependencies: '@types/chai': 4.3.6 '@types/chai-subset': 1.3.3 - '@types/node': 20.8.0 + '@types/node': 20.8.2 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -7985,8 +8232,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 4.4.9(@types/node@20.8.0) - vite-node: 0.34.6(@types/node@20.8.0)(supports-color@9.4.0) + vite: 4.4.9(@types/node@20.8.2) + vite-node: 0.34.6(@types/node@20.8.2) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -7998,50 +8245,70 @@ packages: - terser dev: true - /vscode-css-languageservice@6.2.6: - resolution: {integrity: sha512-SA2WkeOecIpUiEbZnjOsP/fI5CRITZEiQGSHXKiDQDwLApfKcnLhZwMtOBbIifSzESVcQa7b/shX/nbnF4NoCg==} - dependencies: - '@vscode/l10n': 0.0.14 - vscode-languageserver-textdocument: 1.0.8 - vscode-languageserver-types: 3.17.3 - vscode-uri: 3.0.7 - dev: false - - /vscode-html-languageservice@5.0.6: - resolution: {integrity: sha512-gCixNg6fjPO7+kwSMBAVXcwDRHdjz1WOyNfI0n5Wx0J7dfHG8ggb3zD1FI8E2daTZrwS1cooOiSoc1Xxph4qRQ==} - dependencies: - '@vscode/l10n': 0.0.14 - vscode-languageserver-textdocument: 1.0.8 - vscode-languageserver-types: 3.17.3 - vscode-uri: 3.0.7 - dev: false - - /vscode-jsonrpc@8.1.0: - resolution: {integrity: sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==} - engines: {node: '>=14.0.0'} - dev: false - - /vscode-languageserver-protocol@3.17.3: - resolution: {integrity: sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==} - dependencies: - vscode-jsonrpc: 8.1.0 - vscode-languageserver-types: 3.17.3 - dev: false - - /vscode-languageserver-textdocument@1.0.8: - resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} - dev: false - - /vscode-languageserver-types@3.17.3: - resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==} - dev: false - - /vscode-languageserver@8.1.0: - resolution: {integrity: sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw==} + /vitest@0.34.6(supports-color@9.4.0): + resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} + engines: {node: '>=v14.18.0'} hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true dependencies: - vscode-languageserver-protocol: 3.17.3 - dev: false + '@types/chai': 4.3.6 + '@types/chai-subset': 1.3.3 + '@types/node': 20.8.2 + '@vitest/expect': 0.34.6 + '@vitest/runner': 0.34.6 + '@vitest/snapshot': 0.34.6 + '@vitest/spy': 0.34.6 + '@vitest/utils': 0.34.6 + acorn: 8.10.0 + acorn-walk: 8.2.0 + cac: 6.7.14 + chai: 4.3.10 + debug: 4.3.4(supports-color@9.4.0) + local-pkg: 0.4.3 + magic-string: 0.30.4 + pathe: 1.1.1 + picocolors: 1.0.0 + std-env: 3.4.3 + strip-literal: 1.3.0 + tinybench: 2.5.1 + tinypool: 0.7.0 + vite: 4.4.9(@types/node@20.8.2) + vite-node: 0.34.6(@types/node@20.8.2)(supports-color@9.4.0) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true /vscode-oniguruma@1.7.0: resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} @@ -8051,14 +8318,6 @@ packages: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: false - /vscode-uri@2.1.2: - resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} - dev: false - - /vscode-uri@3.0.7: - resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} - dev: false - /watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} @@ -8071,6 +8330,7 @@ packages: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 + dev: true /web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} @@ -8111,6 +8371,14 @@ packages: load-yaml-file: 0.2.0 path-exists: 4.0.0 + /which-pm@2.1.1: + resolution: {integrity: sha512-xzzxNw2wMaoCWXiGE8IJ9wuPMU+EYhFksjHxrRT8kMT5SnocBPRg69YAMtyV4D12fP582RA+k3P8H9J5EMdIxQ==} + engines: {node: '>=8.15'} + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + dev: false + /which-typed-array@1.1.11: resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} engines: {node: '>= 0.4'} @@ -8265,12 +8533,17 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} + /zod@3.21.1: + resolution: {integrity: sha512-+dTu2m6gmCbO9Ahm4ZBDapx2O6ZY9QSPXst2WXjcznPMwf2YNpn3RevLx4KkZp1OPW/ouFcoBtBzFz/LeY69oA==} + dev: false + /zod@3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: false - /zod@3.22.1: - resolution: {integrity: sha512-+qUhAMl414+Elh+fRNtpU+byrwjDFOS1N7NioLY+tSlcADTx4TkCUua/hxJvxwDXcV4397/nZ420jy4n4+3WUg==} + /zod@3.22.3: + resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} + dev: true /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} From d6b483f2c04c886f7b9de59c07a51f8fe3d68b60 Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Tue, 3 Oct 2023 21:09:42 -0600 Subject: [PATCH 07/10] Fix tests --- .../examples/nextjs/lib/api/v1.d.ts | 392 +++--- .../examples/nextjs/package.json | 2 +- .../examples/react-query/package.json | 2 +- .../examples/react-query/src/lib/api/v1.d.ts | 392 +++--- .../examples/sveltekit/package.json | 2 +- .../examples/sveltekit/src/lib/api/v1.d.ts | 392 +++--- packages/openapi-fetch/package.json | 2 +- packages/openapi-fetch/test/v1.d.ts | 1176 +++++++++++------ packages/openapi-fetch/test/v1.yaml | 1 - packages/openapi-typescript/bin/cli.js | 26 +- .../examples/digital-ocean-api.ts | 24 +- packages/openapi-typescript/src/index.ts | 7 +- packages/openapi-typescript/src/lib/redoc.ts | 32 +- packages/openapi-typescript/src/lib/utils.ts | 29 +- .../src/transform/schema-object.ts | 60 +- packages/openapi-typescript/test/cjs.test.js | 42 + packages/openapi-typescript/test/cjs.test.ts | 16 - .../test/discriminators.test.ts | 121 +- .../openapi-typescript/test/index.test.ts | 124 +- .../openapi-typescript/test/invalid.test.ts | 37 +- .../openapi-typescript/test/redocly.test.ts | 0 .../schema-object/composition.test.ts | 17 +- packages/openapi-typescript/test/yaml.test.ts | 105 +- 23 files changed, 1791 insertions(+), 1210 deletions(-) create mode 100644 packages/openapi-typescript/test/cjs.test.js delete mode 100644 packages/openapi-typescript/test/cjs.test.ts delete mode 100644 packages/openapi-typescript/test/redocly.test.ts diff --git a/packages/openapi-fetch/examples/nextjs/lib/api/v1.d.ts b/packages/openapi-fetch/examples/nextjs/lib/api/v1.d.ts index 55ffdce79..70c8b18a0 100644 --- a/packages/openapi-fetch/examples/nextjs/lib/api/v1.d.ts +++ b/packages/openapi-fetch/examples/nextjs/lib/api/v1.d.ts @@ -3,191 +3,243 @@ * Do not make direct changes to the file. */ - export interface paths { - "/breeds": { - /** - * Get a list of breeds - * @description Returns a a list of breeds - */ - get: operations["getBreeds"]; - }; - "/fact": { - /** - * Get Random Fact - * @description Returns a random fact - */ - get: operations["getRandomFact"]; - }; - "/facts": { - /** - * Get a list of facts - * @description Returns a a list of facts - */ - get: operations["getFacts"]; - }; + "/breeds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a list of breeds + * @description Returns a a list of breeds + */ + get: operations["getBreeds"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/fact": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Random Fact + * @description Returns a random fact + */ + get: operations["getRandomFact"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/facts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a list of facts + * @description Returns a a list of facts + */ + get: operations["getFacts"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; } - export type webhooks = Record; - export interface components { - schemas: { - /** - * Breed model - * @description Breed - */ - Breed: { - /** - * Breed - * Format: string - * @description Breed - */ - breed?: string; - /** - * Country - * Format: string - * @description Country - */ - country?: string; - /** - * Origin - * Format: string - * @description Origin - */ - origin?: string; - /** - * Coat - * Format: string - * @description Coat - */ - coat?: string; - /** - * Pattern - * Format: string - * @description Pattern - */ - pattern?: string; - }; - /** - * CatFact model - * @description CatFact - */ - CatFact: { - /** - * Fact - * Format: string - * @description Fact - */ - fact?: string; - /** - * Length - * Format: int32 - * @description Length - */ - length?: number; - }; - Error: { - code: number; - message: string; + schemas: { + /** + * Breed model + * @description Breed + */ + Breed: { + /** + * Breed + * Format: string + * @description Breed + */ + breed?: string; + /** + * Country + * Format: string + * @description Country + */ + country?: string; + /** + * Origin + * Format: string + * @description Origin + */ + origin?: string; + /** + * Coat + * Format: string + * @description Coat + */ + coat?: string; + /** + * Pattern + * Format: string + * @description Pattern + */ + pattern?: string; + }; + /** + * CatFact model + * @description CatFact + */ + CatFact: { + /** + * Fact + * Format: string + * @description Fact + */ + fact?: string; + /** + * Length + * Format: int32 + * @description Length + */ + length?: number; + }; + Error: { + code: number; + message: string; + }; }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } - export type $defs = Record; - -export type external = Record; - export interface operations { - - /** - * Get a list of breeds - * @description Returns a a list of breeds - */ - getBreeds: { - parameters: { - query?: { - /** @description limit the amount of results returned */ - limit?: number; - }; - }; - responses: { - /** @description successful operation */ - 200: { - content: { - "application/json": components["schemas"]["Breed"][]; + getBreeds: { + parameters: { + query?: { + /** @description limit the amount of results returned */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; }; - }; - /** @description error */ - default: { - content: { - "application/json": components["schemas"]["Error"]; + requestBody?: never; + responses: { + /** @description successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Breed"][]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; }; - }; - }; - }; - /** - * Get Random Fact - * @description Returns a random fact - */ - getRandomFact: { - parameters: { - query?: { - /** @description maximum length of returned fact */ - max_length?: number; - }; }; - responses: { - /** @description successful operation */ - 200: { - content: { - "application/json": components["schemas"]["CatFact"]; + getRandomFact: { + parameters: { + query?: { + /** @description maximum length of returned fact */ + max_length?: number; + }; + header?: never; + path?: never; + cookie?: never; }; - }; - /** @description not found */ - 404: { - content: { - "application/json": components["schemas"]["Error"]; + requestBody?: never; + responses: { + /** @description successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CatFact"]; + }; + }; + /** @description not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; }; - }; - /** @description error */ - default: { - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - /** - * Get a list of facts - * @description Returns a a list of facts - */ - getFacts: { - parameters: { - query?: { - /** @description maximum length of returned fact */ - max_length?: number; - /** @description limit the amount of results returned */ - limit?: number; - }; }; - responses: { - /** @description successful operation */ - 200: { - content: { - "application/json": components["schemas"]["CatFact"][]; + getFacts: { + parameters: { + query?: { + /** @description maximum length of returned fact */ + max_length?: number; + /** @description limit the amount of results returned */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; }; - }; - /** @description error */ - default: { - content: { - "application/json": components["schemas"]["Error"]; + requestBody?: never; + responses: { + /** @description successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CatFact"][]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; }; - }; }; - }; } diff --git a/packages/openapi-fetch/examples/nextjs/package.json b/packages/openapi-fetch/examples/nextjs/package.json index 9a00770ce..343e46bf3 100644 --- a/packages/openapi-fetch/examples/nextjs/package.json +++ b/packages/openapi-fetch/examples/nextjs/package.json @@ -4,7 +4,7 @@ "type": "module", "scripts": { "dev": "next dev", - "--prepare": "openapi-typescript lib/api/v1.json -o lib/api/v1.d.ts" + "prepare": "openapi-typescript lib/api/v1.json -o lib/api/v1.d.ts" }, "dependencies": { "next": "13.4.19", diff --git a/packages/openapi-fetch/examples/react-query/package.json b/packages/openapi-fetch/examples/react-query/package.json index ef05ab0b2..254f63705 100644 --- a/packages/openapi-fetch/examples/react-query/package.json +++ b/packages/openapi-fetch/examples/react-query/package.json @@ -4,7 +4,7 @@ "type": "module", "scripts": { "dev": "vite dev", - "--prepare": "openapi-typescript src/lib/api/v1.json -o src/lib/api/v1.d.ts" + "prepare": "openapi-typescript src/lib/api/v1.json -o src/lib/api/v1.d.ts" }, "dependencies": { "@tanstack/react-query": "^4.35.0", diff --git a/packages/openapi-fetch/examples/react-query/src/lib/api/v1.d.ts b/packages/openapi-fetch/examples/react-query/src/lib/api/v1.d.ts index 55ffdce79..70c8b18a0 100644 --- a/packages/openapi-fetch/examples/react-query/src/lib/api/v1.d.ts +++ b/packages/openapi-fetch/examples/react-query/src/lib/api/v1.d.ts @@ -3,191 +3,243 @@ * Do not make direct changes to the file. */ - export interface paths { - "/breeds": { - /** - * Get a list of breeds - * @description Returns a a list of breeds - */ - get: operations["getBreeds"]; - }; - "/fact": { - /** - * Get Random Fact - * @description Returns a random fact - */ - get: operations["getRandomFact"]; - }; - "/facts": { - /** - * Get a list of facts - * @description Returns a a list of facts - */ - get: operations["getFacts"]; - }; + "/breeds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a list of breeds + * @description Returns a a list of breeds + */ + get: operations["getBreeds"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/fact": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Random Fact + * @description Returns a random fact + */ + get: operations["getRandomFact"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/facts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a list of facts + * @description Returns a a list of facts + */ + get: operations["getFacts"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; } - export type webhooks = Record; - export interface components { - schemas: { - /** - * Breed model - * @description Breed - */ - Breed: { - /** - * Breed - * Format: string - * @description Breed - */ - breed?: string; - /** - * Country - * Format: string - * @description Country - */ - country?: string; - /** - * Origin - * Format: string - * @description Origin - */ - origin?: string; - /** - * Coat - * Format: string - * @description Coat - */ - coat?: string; - /** - * Pattern - * Format: string - * @description Pattern - */ - pattern?: string; - }; - /** - * CatFact model - * @description CatFact - */ - CatFact: { - /** - * Fact - * Format: string - * @description Fact - */ - fact?: string; - /** - * Length - * Format: int32 - * @description Length - */ - length?: number; - }; - Error: { - code: number; - message: string; + schemas: { + /** + * Breed model + * @description Breed + */ + Breed: { + /** + * Breed + * Format: string + * @description Breed + */ + breed?: string; + /** + * Country + * Format: string + * @description Country + */ + country?: string; + /** + * Origin + * Format: string + * @description Origin + */ + origin?: string; + /** + * Coat + * Format: string + * @description Coat + */ + coat?: string; + /** + * Pattern + * Format: string + * @description Pattern + */ + pattern?: string; + }; + /** + * CatFact model + * @description CatFact + */ + CatFact: { + /** + * Fact + * Format: string + * @description Fact + */ + fact?: string; + /** + * Length + * Format: int32 + * @description Length + */ + length?: number; + }; + Error: { + code: number; + message: string; + }; }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } - export type $defs = Record; - -export type external = Record; - export interface operations { - - /** - * Get a list of breeds - * @description Returns a a list of breeds - */ - getBreeds: { - parameters: { - query?: { - /** @description limit the amount of results returned */ - limit?: number; - }; - }; - responses: { - /** @description successful operation */ - 200: { - content: { - "application/json": components["schemas"]["Breed"][]; + getBreeds: { + parameters: { + query?: { + /** @description limit the amount of results returned */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; }; - }; - /** @description error */ - default: { - content: { - "application/json": components["schemas"]["Error"]; + requestBody?: never; + responses: { + /** @description successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Breed"][]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; }; - }; - }; - }; - /** - * Get Random Fact - * @description Returns a random fact - */ - getRandomFact: { - parameters: { - query?: { - /** @description maximum length of returned fact */ - max_length?: number; - }; }; - responses: { - /** @description successful operation */ - 200: { - content: { - "application/json": components["schemas"]["CatFact"]; + getRandomFact: { + parameters: { + query?: { + /** @description maximum length of returned fact */ + max_length?: number; + }; + header?: never; + path?: never; + cookie?: never; }; - }; - /** @description not found */ - 404: { - content: { - "application/json": components["schemas"]["Error"]; + requestBody?: never; + responses: { + /** @description successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CatFact"]; + }; + }; + /** @description not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; }; - }; - /** @description error */ - default: { - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - /** - * Get a list of facts - * @description Returns a a list of facts - */ - getFacts: { - parameters: { - query?: { - /** @description maximum length of returned fact */ - max_length?: number; - /** @description limit the amount of results returned */ - limit?: number; - }; }; - responses: { - /** @description successful operation */ - 200: { - content: { - "application/json": components["schemas"]["CatFact"][]; + getFacts: { + parameters: { + query?: { + /** @description maximum length of returned fact */ + max_length?: number; + /** @description limit the amount of results returned */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; }; - }; - /** @description error */ - default: { - content: { - "application/json": components["schemas"]["Error"]; + requestBody?: never; + responses: { + /** @description successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CatFact"][]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; }; - }; }; - }; } diff --git a/packages/openapi-fetch/examples/sveltekit/package.json b/packages/openapi-fetch/examples/sveltekit/package.json index ed3606bca..1830ecbbc 100644 --- a/packages/openapi-fetch/examples/sveltekit/package.json +++ b/packages/openapi-fetch/examples/sveltekit/package.json @@ -6,7 +6,7 @@ "dev": "vite dev", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "--prepare": "openapi-typescript src/lib/api/v1.json -o src/lib/api/v1.d.ts" + "prepare": "openapi-typescript src/lib/api/v1.json -o src/lib/api/v1.d.ts" }, "dependencies": { "openapi-fetch": "workspace:^", diff --git a/packages/openapi-fetch/examples/sveltekit/src/lib/api/v1.d.ts b/packages/openapi-fetch/examples/sveltekit/src/lib/api/v1.d.ts index 55ffdce79..70c8b18a0 100644 --- a/packages/openapi-fetch/examples/sveltekit/src/lib/api/v1.d.ts +++ b/packages/openapi-fetch/examples/sveltekit/src/lib/api/v1.d.ts @@ -3,191 +3,243 @@ * Do not make direct changes to the file. */ - export interface paths { - "/breeds": { - /** - * Get a list of breeds - * @description Returns a a list of breeds - */ - get: operations["getBreeds"]; - }; - "/fact": { - /** - * Get Random Fact - * @description Returns a random fact - */ - get: operations["getRandomFact"]; - }; - "/facts": { - /** - * Get a list of facts - * @description Returns a a list of facts - */ - get: operations["getFacts"]; - }; + "/breeds": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a list of breeds + * @description Returns a a list of breeds + */ + get: operations["getBreeds"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/fact": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get Random Fact + * @description Returns a random fact + */ + get: operations["getRandomFact"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/facts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Get a list of facts + * @description Returns a a list of facts + */ + get: operations["getFacts"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; } - export type webhooks = Record; - export interface components { - schemas: { - /** - * Breed model - * @description Breed - */ - Breed: { - /** - * Breed - * Format: string - * @description Breed - */ - breed?: string; - /** - * Country - * Format: string - * @description Country - */ - country?: string; - /** - * Origin - * Format: string - * @description Origin - */ - origin?: string; - /** - * Coat - * Format: string - * @description Coat - */ - coat?: string; - /** - * Pattern - * Format: string - * @description Pattern - */ - pattern?: string; - }; - /** - * CatFact model - * @description CatFact - */ - CatFact: { - /** - * Fact - * Format: string - * @description Fact - */ - fact?: string; - /** - * Length - * Format: int32 - * @description Length - */ - length?: number; - }; - Error: { - code: number; - message: string; + schemas: { + /** + * Breed model + * @description Breed + */ + Breed: { + /** + * Breed + * Format: string + * @description Breed + */ + breed?: string; + /** + * Country + * Format: string + * @description Country + */ + country?: string; + /** + * Origin + * Format: string + * @description Origin + */ + origin?: string; + /** + * Coat + * Format: string + * @description Coat + */ + coat?: string; + /** + * Pattern + * Format: string + * @description Pattern + */ + pattern?: string; + }; + /** + * CatFact model + * @description CatFact + */ + CatFact: { + /** + * Fact + * Format: string + * @description Fact + */ + fact?: string; + /** + * Length + * Format: int32 + * @description Length + */ + length?: number; + }; + Error: { + code: number; + message: string; + }; }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } - export type $defs = Record; - -export type external = Record; - export interface operations { - - /** - * Get a list of breeds - * @description Returns a a list of breeds - */ - getBreeds: { - parameters: { - query?: { - /** @description limit the amount of results returned */ - limit?: number; - }; - }; - responses: { - /** @description successful operation */ - 200: { - content: { - "application/json": components["schemas"]["Breed"][]; + getBreeds: { + parameters: { + query?: { + /** @description limit the amount of results returned */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; }; - }; - /** @description error */ - default: { - content: { - "application/json": components["schemas"]["Error"]; + requestBody?: never; + responses: { + /** @description successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Breed"][]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; }; - }; - }; - }; - /** - * Get Random Fact - * @description Returns a random fact - */ - getRandomFact: { - parameters: { - query?: { - /** @description maximum length of returned fact */ - max_length?: number; - }; }; - responses: { - /** @description successful operation */ - 200: { - content: { - "application/json": components["schemas"]["CatFact"]; + getRandomFact: { + parameters: { + query?: { + /** @description maximum length of returned fact */ + max_length?: number; + }; + header?: never; + path?: never; + cookie?: never; }; - }; - /** @description not found */ - 404: { - content: { - "application/json": components["schemas"]["Error"]; + requestBody?: never; + responses: { + /** @description successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CatFact"]; + }; + }; + /** @description not found */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; }; - }; - /** @description error */ - default: { - content: { - "application/json": components["schemas"]["Error"]; - }; - }; - }; - }; - /** - * Get a list of facts - * @description Returns a a list of facts - */ - getFacts: { - parameters: { - query?: { - /** @description maximum length of returned fact */ - max_length?: number; - /** @description limit the amount of results returned */ - limit?: number; - }; }; - responses: { - /** @description successful operation */ - 200: { - content: { - "application/json": components["schemas"]["CatFact"][]; + getFacts: { + parameters: { + query?: { + /** @description maximum length of returned fact */ + max_length?: number; + /** @description limit the amount of results returned */ + limit?: number; + }; + header?: never; + path?: never; + cookie?: never; }; - }; - /** @description error */ - default: { - content: { - "application/json": components["schemas"]["Error"]; + requestBody?: never; + responses: { + /** @description successful operation */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CatFact"][]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; }; - }; }; - }; } diff --git a/packages/openapi-fetch/package.json b/packages/openapi-fetch/package.json index 616b633fd..399f587c8 100644 --- a/packages/openapi-fetch/package.json +++ b/packages/openapi-fetch/package.json @@ -58,7 +58,7 @@ "test": "pnpm run test:ts && npm run test:js", "test:js": "vitest run", "test:ts": "tsc --noEmit", - "--prepare": "openapi-typescript test/v1.yaml -o test/v1.d.ts", + "prepare": "openapi-typescript test/v1.yaml -o test/v1.d.ts", "prepublish": "pnpm run prepare && pnpm run build", "version": "pnpm run prepare && pnpm run build" }, diff --git a/packages/openapi-fetch/test/v1.d.ts b/packages/openapi-fetch/test/v1.d.ts index 0f71500b6..672fc7439 100644 --- a/packages/openapi-fetch/test/v1.d.ts +++ b/packages/openapi-fetch/test/v1.d.ts @@ -3,446 +3,780 @@ * Do not make direct changes to the file. */ - export interface paths { - "/comment": { - put: { - requestBody: components["requestBodies"]["CreateReply"]; - responses: { - 201: components["responses"]["CreateReply"]; - 500: components["responses"]["Error"]; - }; - }; - }; - "/blogposts": { - get: { - parameters: { - query?: { - tags?: string[]; - }; - }; - responses: { - 200: components["responses"]["AllPostsGet"]; - 500: components["responses"]["Error"]; - }; - }; - put: { - requestBody: components["requestBodies"]["CreatePost"]; - responses: { - 201: components["responses"]["CreatePost"]; - 500: components["responses"]["Error"]; - }; - }; - patch: { - requestBody: components["requestBodies"]["PatchPost"]; - responses: { - 201: components["responses"]["PatchPost"]; - }; - }; - }; - "/blogposts/{post_id}": { - get: { - parameters: { - query?: { - version?: number; - format?: string; - }; - path: { - post_id: string; - }; - }; - responses: { - 200: components["responses"]["PostGet"]; - 404: components["responses"]["Error"]; - 500: components["responses"]["Error"]; - }; - }; - delete: { - parameters: { - path: { - post_id: string; - }; - }; - responses: { - 200: components["responses"]["PostDelete"]; - 500: components["responses"]["Error"]; - }; - }; - patch: { - parameters: { - path: { - post_id: string; - }; - }; - requestBody: components["requestBodies"]["PatchPost"]; - responses: { - 200: components["responses"]["PatchPost"]; - 404: components["responses"]["Error"]; - 500: components["responses"]["Error"]; - }; - }; - parameters: { - path: { - post_id: string; - }; - }; - }; - "/blogposts-optional": { - put: { - requestBody: components["requestBodies"]["CreatePostOptional"]; - responses: { - 201: components["responses"]["CreatePost"]; - 500: components["responses"]["Error"]; - }; - }; - }; - "/blogposts-optional-inline": { - put: { - requestBody?: { - content: { - "application/json": components["schemas"]["Post"]; - }; - }; - responses: { - 201: components["responses"]["CreatePost"]; - 500: components["responses"]["Error"]; - }; - }; - }; - "/header-params": { - get: operations["getHeaderParams"]; - }; - "/media": { - put: { - requestBody: { - content: { - "application/json": { - /** Format: blob */ - media: string; - name: string; - }; - }; - }; - responses: { - "2XX": { - content: { - "application/json": { - status: string; - }; - }; - }; - "4XX": components["responses"]["Error"]; - }; - }; - }; - "/self": { - get: { - responses: { - 200: components["responses"]["User"]; - 404: components["responses"]["Error"]; - 500: components["responses"]["Error"]; - }; - }; - }; - "/string-array": { - get: { - responses: { - 200: components["responses"]["StringArray"]; - 500: components["responses"]["Error"]; - }; - }; - }; - "/tag/{name}": { - get: { - parameters: { - path: { - name: string; - }; - }; - responses: { - 200: components["responses"]["Tag"]; - 500: components["responses"]["Error"]; - }; - }; - put: { - parameters: { - path: { - name: string; - }; - }; - requestBody: components["requestBodies"]["CreateTag"]; - responses: { - 201: components["responses"]["CreateTag"]; - 500: components["responses"]["Error"]; - }; - }; - delete: { - parameters: { - path: { - name: string; - }; - }; - responses: { - /** @description No Content */ - 204: { - content: never; - }; - 500: components["responses"]["Error"]; - }; - }; - parameters: { - path: { - name: string; - }; - }; - }; - "/default-as-error": { - get: { - responses: { - default: components["responses"]["Error"]; - }; - }; - }; - "/anyMethod": { - get: { - responses: { - 200: components["responses"]["User"]; - 404: components["responses"]["Error"]; - 500: components["responses"]["Error"]; - }; - }; - put: { - responses: { - 200: components["responses"]["User"]; - 404: components["responses"]["Error"]; - 500: components["responses"]["Error"]; - }; - }; - post: { - responses: { - 200: components["responses"]["User"]; - 404: components["responses"]["Error"]; - 500: components["responses"]["Error"]; - }; - }; - delete: { - responses: { - 200: components["responses"]["User"]; - 404: components["responses"]["Error"]; - 500: components["responses"]["Error"]; - }; - }; - options: { - responses: { - 200: components["responses"]["User"]; - 404: components["responses"]["Error"]; - 500: components["responses"]["Error"]; - }; - }; - head: { - responses: { - 200: components["responses"]["User"]; - 404: components["responses"]["Error"]; - 500: components["responses"]["Error"]; - }; - }; - patch: { - responses: { - 200: components["responses"]["User"]; - 404: components["responses"]["Error"]; - 500: components["responses"]["Error"]; - }; - }; - trace: { - responses: { - 200: components["responses"]["User"]; - 404: components["responses"]["Error"]; - 500: components["responses"]["Error"]; - }; + "/comment": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["CreateReply"]; + responses: { + 201: components["responses"]["CreateReply"]; + 500: components["responses"]["Error"]; + }; + }; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/blogposts": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: { + tags?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["AllPostsGet"]; + 500: components["responses"]["Error"]; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["CreatePost"]; + responses: { + 201: components["responses"]["CreatePost"]; + 500: components["responses"]["Error"]; + }; + }; + post: never; + delete: never; + options: never; + head: never; + patch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["PatchPost"]; + responses: { + 201: components["responses"]["PatchPost"]; + }; + }; + trace: never; + }; + "/blogposts/{post_id}": { + parameters: { + query?: never; + header?: never; + path: { + post_id: string; + }; + cookie?: never; + }; + get: { + parameters: { + query?: { + version?: number; + format?: string; + }; + header?: never; + path: { + post_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PostGet"]; + 404: components["responses"]["Error"]; + 500: components["responses"]["Error"]; + }; + }; + put: never; + post: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + post_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["PostDelete"]; + 500: components["responses"]["Error"]; + }; + }; + options: never; + head: never; + patch: { + parameters: { + query?: never; + header?: never; + path: { + post_id: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["PatchPost"]; + responses: { + 200: components["responses"]["PatchPost"]; + 404: components["responses"]["Error"]; + 500: components["responses"]["Error"]; + }; + }; + trace: never; + }; + "/blogposts-optional": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: components["requestBodies"]["CreatePostOptional"]; + responses: { + 201: components["responses"]["CreatePost"]; + 500: components["responses"]["Error"]; + }; + }; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/blogposts-optional-inline": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["Post"]; + }; + }; + responses: { + 201: components["responses"]["CreatePost"]; + 500: components["responses"]["Error"]; + }; + }; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/header-params": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["getHeaderParams"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/media": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + /** Format: blob */ + media: string; + name: string; + }; + }; + }; + responses: { + "2XX": { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; + }; + "4XX": components["responses"]["Error"]; + }; + }; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/self": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["User"]; + 404: components["responses"]["Error"]; + 500: components["responses"]["Error"]; + }; + }; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/string-array": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["StringArray"]; + 500: components["responses"]["Error"]; + }; + }; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/tag/{name}": { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["Tag"]; + 500: components["responses"]["Error"]; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody: components["requestBodies"]["CreateTag"]; + responses: { + 201: components["responses"]["CreateTag"]; + 500: components["responses"]["Error"]; + }; + }; + post: never; + delete: { + parameters: { + query?: never; + header?: never; + path: { + name: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + 500: components["responses"]["Error"]; + }; + }; + options: never; + head: never; + patch: never; + trace: never; + }; + "/default-as-error": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + default: components["responses"]["Error"]; + }; + }; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; + "/anyMethod": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["User"]; + 404: components["responses"]["Error"]; + 500: components["responses"]["Error"]; + }; + }; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["User"]; + 404: components["responses"]["Error"]; + 500: components["responses"]["Error"]; + }; + }; + post: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["User"]; + 404: components["responses"]["Error"]; + 500: components["responses"]["Error"]; + }; + }; + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["User"]; + 404: components["responses"]["Error"]; + 500: components["responses"]["Error"]; + }; + }; + options: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["User"]; + 404: components["responses"]["Error"]; + 500: components["responses"]["Error"]; + }; + }; + head: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["User"]; + 404: components["responses"]["Error"]; + 500: components["responses"]["Error"]; + }; + }; + patch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["User"]; + 404: components["responses"]["Error"]; + 500: components["responses"]["Error"]; + }; + }; + trace: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["User"]; + 404: components["responses"]["Error"]; + 500: components["responses"]["Error"]; + }; + }; }; - }; - "/contact": { - put: { - requestBody: components["requestBodies"]["Contact"]; - responses: { - 200: components["responses"]["Contact"]; - }; + "/contact": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: never; + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: components["requestBodies"]["Contact"]; + responses: { + 200: components["responses"]["Contact"]; + }; + }; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; }; - }; } - export type webhooks = Record; - export interface components { - schemas: { - Post: { - title: string; - body: string; - publish_date?: number; - }; - StringArray: string[]; - User: { - email: string; - age?: number; - avatar?: string; - }; - }; - responses: { - AllPostsGet: { - content: { - "application/json": components["schemas"]["Post"][]; - }; - }; - CreatePost: { - content: { - "application/json": { - status: string; + schemas: { + Post: { + title: string; + body: string; + publish_date?: number; }; - }; - }; - CreateTag: { - content: { - "application/json": { - status: string; + StringArray: string[]; + User: { + email: string; + age?: number; + avatar?: string; }; - }; }; - CreateReply: { - content: { - "application/json;charset=utf-8": { - message: string; + responses: { + AllPostsGet: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Post"][]; + }; }; - }; - }; - Contact: { - content: { - "text/html": string; - }; - }; - Error: { - content: { - "application/json": { - code: number; - message: string; + CreatePost: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; }; - }; - }; - PatchPost: { - content: { - "application/json": { - status: string; + CreateTag: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; }; - }; - }; - PostDelete: { - content: { - "application/json": { - status: string; + CreateReply: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json;charset=utf-8": { + message: string; + }; + }; }; - }; - }; - PostGet: { - content: { - "application/json": components["schemas"]["Post"]; - }; - }; - StringArray: { - content: { - "application/json": components["schemas"]["StringArray"]; - }; - }; - Tag: { - content: { - "application/json": string; - }; - }; - User: { - content: { - "application/json": components["schemas"]["User"]; - }; - }; - }; - parameters: never; - requestBodies: { - CreatePost: { - content: { - "application/json": { - title: string; - body: string; - publish_date: number; - }; - }; - }; - CreatePostOptional?: { - content: { - "application/json": { - title: string; - body: string; - publish_date: number; - }; - }; - }; - CreateTag: { - content: { - "application/json": { - description?: string; + Contact: { + headers: { + [name: string]: unknown; + }; + content: { + "text/html": string; + }; }; - }; - }; - CreateReply: { - content: { - "application/json;charset=utf-8": { - message: string; - replied_at: number; + Error: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + code: number; + message: string; + }; + }; + }; + PatchPost: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; + }; + PostDelete: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; + }; + PostGet: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Post"]; + }; + }; + StringArray: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StringArray"]; + }; + }; + Tag: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": string; + }; + }; + User: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["User"]; + }; }; - }; - }; - Contact: { - content: { - "multipart/form-data": { - name: string; - email: string; - subject: string; - message: string; - }; - }; }; - PatchPost: { - content: { - "application/json": { - properties?: null; - title?: string; - body?: string; - publish_date?: number; - }; - }; + parameters: never; + requestBodies: { + CreatePost: { + content: { + "application/json": { + title: string; + body: string; + publish_date: number; + }; + }; + }; + CreatePostOptional: { + content: { + "application/json": { + title: string; + body: string; + publish_date: number; + }; + }; + }; + CreateTag: { + content: { + "application/json": { + description?: string; + }; + }; + }; + CreateReply: { + content: { + "application/json;charset=utf-8": { + message: string; + replied_at: number; + }; + }; + }; + Contact: { + content: { + "multipart/form-data": { + name: string; + email: string; + subject: string; + message: string; + }; + }; + }; + PatchPost: { + content: { + "application/json": { + title?: string; + body?: string; + publish_date?: number; + }; + }; + }; }; - }; - headers: never; - pathItems: never; + headers: never; + pathItems: never; } - export type $defs = Record; - -export type external = Record; - export interface operations { - - getHeaderParams: { - parameters: { - header: { - "x-required-header": string; - }; - }; - responses: { - 200: { - content: { - "application/json": { - status: string; - }; - }; - }; - 500: components["responses"]["Error"]; + getHeaderParams: { + parameters: { + query?: never; + header: { + "x-required-header": string; + }; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": { + status: string; + }; + }; + }; + 500: components["responses"]["Error"]; + }; }; - }; } diff --git a/packages/openapi-fetch/test/v1.yaml b/packages/openapi-fetch/test/v1.yaml index e47167665..ea23a0db4 100644 --- a/packages/openapi-fetch/test/v1.yaml +++ b/packages/openapi-fetch/test/v1.yaml @@ -387,7 +387,6 @@ components: schema: type: object properties: - properties: title: type: string body: diff --git a/packages/openapi-typescript/bin/cli.js b/packages/openapi-typescript/bin/cli.js index 9e0350197..73f54912d 100755 --- a/packages/openapi-typescript/bin/cli.js +++ b/packages/openapi-typescript/bin/cli.js @@ -43,24 +43,22 @@ const timeStart = performance.now(); const [, , ...args] = process.argv; if (args.includes("-ap")) { - error( + errorAndExit( `The -ap alias has been deprecated. Use "--additional-properties" instead.`, ); - process.exit(1); } if (args.includes("--immutable-types")) { - error(`The --immutable-types flag has been renamed to "--immutable".`); - process.exit(1); + errorAndExit(`The --immutable-types flag has been renamed to "--immutable".`); } if (args.includes("--support-array-length")) { - error( + errorAndExit( `The --support-array-length flag has been renamed to "--array-length".`, ); - process.exit(1); } if (args.includes("-it")) { - error(`The -it alias has been deprecated. Use "--immutable-types" instead.`); - process.exit(1); + errorAndExit( + `The -it alias has been deprecated. Use "--immutable-types" instead.`, + ); } const flags = parser(args, { @@ -110,6 +108,12 @@ async function generateSchema(schema, { redoc, silent = false }) { )}`; } +/** pretty-format error message but also throw */ +function errorAndExit(message) { + error(message); + throw new Error(message); +} + function done(input, output, time) { // final console output console.log( @@ -161,10 +165,9 @@ async function main() { ? new URL(`file://${redoc.configFile}`) : CWD; if (!api["openapi-ts"]?.output) { - error( + errorAndExit( `API ${name} is missing an \`openapi-ts.output\` key. See https://openapi-ts.pages.dev/cli/#multiple-schemas.`, ); - process.exit(1); } const result = await generateSchema(new URL(api.root, configRoot), { redoc, // TODO: merge API overrides better? @@ -198,10 +201,9 @@ async function main() { else { // throw error on glob if (input.includes("*")) { - error( + errorAndExit( `Globbing has been deprecated in favor of redocly.yaml’s \`apis\` keys. See https://openapi-ts.pages.dev/cli/#multiple-schemas`, ); - process.exit(1); } const result = await generateSchema(new URL(input, CWD), { redoc, diff --git a/packages/openapi-typescript/examples/digital-ocean-api.ts b/packages/openapi-typescript/examples/digital-ocean-api.ts index 77056f06a..3912d6d2b 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api.ts +++ b/packages/openapi-typescript/examples/digital-ocean-api.ts @@ -9375,14 +9375,18 @@ export interface components { */ type: "assign" | "unassign"; }; - floating_ip_action_assign: components["schemas"]["floatingIPsAction"] & { + floating_ip_action_assign: { + type: "assign"; + } & (Omit & { /** * @description The ID of the Droplet that the floating IP will be assigned to. * @example 758604968 */ droplet_id: number; - }; - floating_ip_action_unassign: components["schemas"]["floatingIPsAction"] & Record; + }); + floating_ip_action_unassign: { + type: "unassign"; + } & (Omit & Record); namespace_info: { /** * @description The namespace's API hostname. Each function in a namespace is provided an endpoint at the namespace's hostname. @@ -11045,14 +11049,18 @@ export interface components { */ type: "assign" | "unassign"; }; - reserved_ip_action_assign: components["schemas"]["reserved_ip_action_type"] & { + reserved_ip_action_assign: { + type: "assign"; + } & (Omit & { /** * @description The ID of the Droplet that the reserved IP will be assigned to. * @example 758604968 */ droplet_id: number; - }; - reserved_ip_action_unassign: components["schemas"]["reserved_ip_action_type"] & Record; + }); + reserved_ip_action_unassign: { + type: "unassign"; + } & (Omit & Record); snapshots: { /** * @description The unique identifier for the snapshot. @@ -18593,7 +18601,7 @@ export interface operations { * */ requestBody?: { content: { - "application/json": components["schemas"]["floating_ip_action_unassign"] | components["schemas"]["floating_ip_action_assign"]; + "application/json": Omit | Omit; }; }; responses: { @@ -21526,7 +21534,7 @@ export interface operations { * */ requestBody?: { content: { - "application/json": components["schemas"]["reserved_ip_action_unassign"] | components["schemas"]["reserved_ip_action_assign"]; + "application/json": Omit | Omit; }; }; responses: { diff --git a/packages/openapi-typescript/src/index.ts b/packages/openapi-typescript/src/index.ts index faaac0e51..ca0d6228c 100644 --- a/packages/openapi-typescript/src/index.ts +++ b/packages/openapi-typescript/src/index.ts @@ -2,7 +2,7 @@ import { createConfig } from "@redocly/openapi-core"; import { Readable } from "node:stream"; import ts from "typescript"; import { validateAndBundle } from "./lib/redoc.js"; -import { debug, error, resolveRef, scanDiscriminators } from "./lib/utils.js"; +import { debug, resolveRef, scanDiscriminators } from "./lib/utils.js"; import transformSchema from "./transform/index.js"; import type { GlobalContext, OpenAPI3, OpenAPITSOptions } from "./types.js"; @@ -42,8 +42,9 @@ export default async function openapiTS( options: OpenAPITSOptions = {} as Partial, ): Promise { if (!source) { - error("Empty schema. Please specify a URL, file path, or Redocly Config"); - process.exit(1); + throw new Error( + "Empty schema. Please specify a URL, file path, or Redocly Config", + ); } const redoc = diff --git a/packages/openapi-typescript/src/lib/redoc.ts b/packages/openapi-typescript/src/lib/redoc.ts index 9c77a03c6..c1d406c4d 100644 --- a/packages/openapi-typescript/src/lib/redoc.ts +++ b/packages/openapi-typescript/src/lib/redoc.ts @@ -128,18 +128,19 @@ export async function validateAndBundle( openapiVersion >= 4 ) { if (document.parsed.swagger) { - error("Unsupported Swagger version: 2.x. Use OpenAPI 3.x instead."); + throw new Error( + "Unsupported Swagger version: 2.x. Use OpenAPI 3.x instead.", + ); } else if ( document.parsed.openapi || openapiVersion < 3 || openapiVersion >= 4 ) { - error(`Unsupported OpenAPI version: ${document.parsed.openapi}`); - } else { - error("Unsupported schema format, expected `openapi: 3.x`"); + throw new Error( + `Unsupported OpenAPI version: ${document.parsed.openapi}`, + ); } - process.exit(1); - return; // hack for tests/mocking + throw new Error("Unsupported schema format, expected `openapi: 3.x`"); } // 2. lint @@ -150,18 +151,17 @@ export async function validateAndBundle( externalRefResolver: resolver, }); if (problems.length) { - let hasError = false; + let errorMessage: string | undefined = undefined; for (const problem of problems) { if (problem.severity === "error") { + errorMessage = problem.message; error(problem.message); - hasError = true; } else { warn(problem.message, options.silent); } } - if (hasError) { - process.exit(1); - return; + if (errorMessage) { + throw new Error(errorMessage); } } debug("Linted schema", "lint", performance.now() - redocLintT); @@ -174,18 +174,18 @@ export async function validateAndBundle( doc: document, }); if (bundled.problems.length) { - let hasError = false; + let errorMessage: string | undefined = undefined; for (const problem of bundled.problems) { if (problem.severity === "error") { - hasError = true; + errorMessage = problem.message; error(problem.message); + throw new Error(problem.message); } else { warn(problem.message, options.silent); } } - if (hasError) { - process.exit(1); - return; + if (errorMessage) { + throw new Error(errorMessage); } } debug("Bundled schema", "bundle", performance.now() - redocBundleT); diff --git a/packages/openapi-typescript/src/lib/utils.ts b/packages/openapi-typescript/src/lib/utils.ts index 19dc07e18..d8c668075 100644 --- a/packages/openapi-typescript/src/lib/utils.ts +++ b/packages/openapi-typescript/src/lib/utils.ts @@ -168,13 +168,30 @@ export function resolveRef( /** Return a key–value map of discriminator objects found in a schema */ export function scanDiscriminators(schema: OpenAPI3) { const discriminators: Record = {}; + + // perform 2 passes: first, collect all discriminator definitions + walk(schema, (obj, path) => { + if ((obj?.discriminator as DiscriminatorObject)?.propertyName) { + discriminators[createRef(path)] = + obj.discriminator as DiscriminatorObject; + } + }); + + // second, collect the schema objects that inherit from discriminators + // (sometimes this mapping is implicit, so it can’t be done until we know + // about every discriminator in the document) walk(schema, (obj, path) => { - if (obj.propertyName) { - discriminators[createRef(path)] = obj as unknown as DiscriminatorObject; - if (Array.isArray(obj.oneOf)) { - for (const o of obj.oneOf) { - if ("$ref" in o) { - discriminators[o.$ref] = obj as unknown as DiscriminatorObject; + for (const key of ["oneOf", "anyOf", "allOf"] as const) { + if (obj && Array.isArray(obj[key])) { + for (const item of (obj as any)[key]) { + if ("$ref" in item) { + if (discriminators[item.$ref]) { + discriminators[createRef(path)] = { + ...discriminators[item.$ref], + }; + } + } else if (item.discriminator?.propertyName) { + discriminators[createRef(path)] = { ...item.discriminator }; } } } diff --git a/packages/openapi-typescript/src/transform/schema-object.ts b/packages/openapi-typescript/src/transform/schema-object.ts index e2fce7dcf..7b505209b 100644 --- a/packages/openapi-typescript/src/transform/schema-object.ts +++ b/packages/openapi-typescript/src/transform/schema-object.ts @@ -28,7 +28,6 @@ import { getEntries, } from "../lib/utils.js"; import { - DiscriminatorObject, ReferenceObject, SchemaObject, TransformNodeOptions, @@ -146,15 +145,11 @@ export function transformSchemaObjectWithComposition( const output: ts.TypeNode[] = []; for (const item of items) { const itemType = transformSchemaObject(item, options); - if ("$ref" in item) { - const resolvedDiscriminator = options.ctx.resolve( - item.$ref, - ); - output.push( - resolvedDiscriminator?.propertyName - ? tsOmit(itemType, [resolvedDiscriminator.propertyName]) - : itemType, - ); + const discriminator = + ("$ref" in item && options.ctx.discriminators[item.$ref]) || + (item as any).discriminator; // eslint-disable-line @typescript-eslint/no-explicit-any + if (discriminator) { + output.push(tsOmit(itemType, [discriminator.propertyName])); } else { output.push(itemType); } @@ -377,37 +372,18 @@ function transformSchemaObjectCore( const coreObjectType: ts.TypeElement[] = []; // discriminatorss: explicit mapping on schema object - for (const k of ["oneOf", "allOf", "anyOf"] as ( - | "oneOf" - | "allOf" - | "anyOf" - )[]) { + for (const k of ["oneOf", "allOf", "anyOf"] as const) { if (!schemaObject[k]) { continue; } - const discriminatorRef = schemaObject[k]!.find( - (t: SchemaObject | ReferenceObject) => - "$ref" in t && - (options.ctx.discriminators[t.$ref] || // explicit allOf from this node - Object.values(options.ctx.discriminators).find( - (d) => d.oneOf?.includes(options.path!), // implicit oneOf from parent - )), - ) as ReferenceObject | undefined; - if (discriminatorRef && options.ctx.discriminators[discriminatorRef.$ref]) { + // for all magic inheritance, we will have already gathered it into + // ctx.discriminators. But stop objects from referencing their own + // discriminator meant for children (!schemaObject.discriminator) + const discriminator = + !schemaObject.discriminator && options.ctx.discriminators[options.path!]; + if (discriminator) { coreObjectType.unshift( - createDiscriminatorProperty( - options.ctx.discriminators[discriminatorRef.$ref], - { path: options.path!, readonly: options.ctx.immutable }, - ), - ); - break; - } - } - // discriminators: implicit mapping from parent - for (const d of Object.values(options.ctx.discriminators)) { - if (d.oneOf?.includes(options.path!)) { - coreObjectType.unshift( - createDiscriminatorProperty(d, { + createDiscriminatorProperty(discriminator, { path: options.path!, readonly: options.ctx.immutable, }), @@ -430,6 +406,16 @@ function transformSchemaObjectCore( schemaObject.properties ?? {}, options.ctx, )) { + if (typeof v !== "object" || Array.isArray(v)) { + throw new Error( + `${ + options.path + }: invalid property ${k}. Expected Schema Object, got ${ + Array.isArray(v) ? "Array" : typeof v + }`, + ); + } + // handle excludeDeprecated option if (options.ctx.excludeDeprecated) { const resolved = diff --git a/packages/openapi-typescript/test/cjs.test.js b/packages/openapi-typescript/test/cjs.test.js new file mode 100644 index 000000000..bba6a427a --- /dev/null +++ b/packages/openapi-typescript/test/cjs.test.js @@ -0,0 +1,42 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ + +// important: MUST use require()! +const { fileURLToPath } = require("node:url"); +const ts = require("typescript"); +const openapiTS = require("../dist/index.cjs"); + +// copy from lib/ts.ts for CJS +function astToString(ast, options) { + const sourceFile = ts.createSourceFile( + options?.fileName ?? "openapi-ts.ts", + options?.sourceText ?? "", + ts.ScriptTarget.ESNext, + false, + ts.ScriptKind.TS, + ); + sourceFile.statements = ts.factory.createNodeArray( + Array.isArray(ast) ? ast : [ast], + ); + const printer = ts.createPrinter({ + newLine: ts.NewLineKind.LineFeed, + removeComments: false, + ...options?.formatOptions, + }); + return printer.printFile(sourceFile); +} + +describe("CJS bundle", () => { + it("basic", async () => { + const output = `/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +${astToString( + await openapiTS(new URL("../examples/stripe-api.yaml", import.meta.url)), +)}`; + expect(output).toMatchFileSnapshot( + fileURLToPath(new URL("../examples/stripe-api.ts", import.meta.url)), + ); + }); +}); diff --git a/packages/openapi-typescript/test/cjs.test.ts b/packages/openapi-typescript/test/cjs.test.ts deleted file mode 100644 index 32d8bf2b5..000000000 --- a/packages/openapi-typescript/test/cjs.test.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ - -// important: MUST use require()! -const { fileURLToPath } = require("node:url"); -const openapiTS = require("../dist/index.cjs"); - -describe("CJS bundle", () => { - it("basic", async () => { - const output = await openapiTS( - new URL("../examples/stripe-api.yaml", import.meta.url), - ); - expect(output).toMatchFileSnapshot( - fileURLToPath(new URL("../examples/stripe-api.ts", import.meta.url)), - ); - }); -}); diff --git a/packages/openapi-typescript/test/discriminators.test.ts b/packages/openapi-typescript/test/discriminators.test.ts index c3daafaba..f698c4f51 100644 --- a/packages/openapi-typescript/test/discriminators.test.ts +++ b/packages/openapi-typescript/test/discriminators.test.ts @@ -1,5 +1,5 @@ import { fileURLToPath } from "node:url"; -import openapiTS, { COMMENT_HEADER, OpenAPITSOptions } from "../src/index.js"; +import openapiTS, { OpenAPITSOptions, astToString } from "../src/index.js"; import { TestCase } from "./test-helpers.js"; describe("3.1 discriminators", () => { @@ -19,7 +19,7 @@ describe("3.1 discriminators", () => { discriminator: { propertyName: "petType", mapping: { - dog: "Dog", + dog: "#/components/schemas/Dog", }, }, }, @@ -46,10 +46,8 @@ describe("3.1 discriminators", () => { }, }, }, - want: `${COMMENT_HEADER}export type paths = Record; - + want: `export type paths = Record; export type webhooks = Record; - export interface components { schemas: { Pet: { @@ -60,9 +58,9 @@ export interface components { } & Omit; Dog: { petType: "dog"; - } & Omit & { + } & (Omit & { bark?: string; - }; + }); Lizard: { petType: "Lizard"; lovesRocks?: boolean; @@ -74,11 +72,7 @@ export interface components { headers: never; pathItems: never; } - export type $defs = Record; - -export type external = Record; - export type operations = Record;`, // options: DEFAULT_OPTIONS, }, @@ -121,11 +115,8 @@ export type operations = Record;`, }, }, }, - want: `${COMMENT_HEADER} -export type paths = Record; - + want: `export type paths = Record; export type webhooks = Record; - export interface components { schemas: { Pet: { @@ -136,26 +127,69 @@ export interface components { } & Omit; Dog: { petType: "Dog"; - } & Omit & { + } & (Omit & { bark?: string; - }; + }); Lizard: { petType: "Lizard"; lovesRocks?: boolean; } & Omit; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; }; -}; - + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export type operations = Record;`, + // options: DEFAULT_OPTIONS, + }, + ], + [ + "allOf > inline inheritance", + { + given: { + openapi: "3.1", + info: { title: "test", version: "1.0" }, + components: { + schemas: { + Cat: { + allOf: [ + { + type: "object", + required: ["name", "petType"], + properties: { + name: { type: "string" }, + petType: { type: "string" }, + }, + discriminator: { + propertyName: "petType", + }, + }, + ], + }, + }, + }, + }, + want: `export type paths = Record; +export type webhooks = Record; +export interface components { + schemas: { + Cat: { + petType: "Cat"; + } & Omit<{ + name: string; + petType: string; + }, "petType">; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} export type $defs = Record; - -export type external = Record; - export type operations = Record;`, // options: DEFAULT_OPTIONS, }, @@ -205,23 +239,20 @@ export type operations = Record;`, }, }, }, - want: `${COMMENT_HEADER} -export type paths = Record; - + want: `export type paths = Record; export type webhooks = Record; - export interface components { schemas: { - Pet: components["schemas"]["Cat"] | components["schemas"]["Dog"] | components["schemas"]["Lizard"]; - Cat: { - name?: string; - }; - Dog: { - bark?: string; - }; - Lizard: { - lovesRocks?: boolean; - }; + Pet: components["schemas"]["Cat"] | components["schemas"]["Dog"] | components["schemas"]["Lizard"]; + Cat: { + name?: string; + }; + Dog: { + bark?: string; + }; + Lizard: { + lovesRocks?: boolean; + }; }; responses: never; parameters: never; @@ -229,11 +260,7 @@ export interface components { headers: never; pathItems: never; } - export type $defs = Record; - -export type external = Record; - export type operations = Record;`, // options: DEFAULT_OPTIONS, }, @@ -244,7 +271,7 @@ export type operations = Record;`, test.skipIf(ci?.skipIf)( testName, async () => { - const result = await openapiTS(given, options); + const result = astToString(await openapiTS(given, options)); if (want instanceof URL) { expect(result).toMatchFileSnapshot(fileURLToPath(want)); } else { diff --git a/packages/openapi-typescript/test/index.test.ts b/packages/openapi-typescript/test/index.test.ts index 265829f84..7e4567c3a 100644 --- a/packages/openapi-typescript/test/index.test.ts +++ b/packages/openapi-typescript/test/index.test.ts @@ -24,31 +24,45 @@ describe("openapiTS", () => { info: { title: "Test", version: "1.0" }, components: { schemas: { + StringType: { type: "string" }, ObjRef: { type: "object", properties: { - base: { $ref: "#/components/schemas/Entity/properties/foo" }, + base: { $ref: "#/components/schemas/StringType" }, }, }, + HasString: { + type: "object", + properties: { string: { type: "string" } }, + }, + HasNumber: { + type: "object", + properties: { number: { type: "number" } }, + }, AllOf: { allOf: [ - { $ref: "#/components/schemas/Entity/properties/foo" }, - { $ref: "#/components/schemas/Thingy/properties/bar" }, + { $ref: "#/components/schemas/HasString" }, + { $ref: "#/components/schemas/HasNumber" }, ], }, }, }, }, want: `export type paths = Record; - export type webhooks = Record; - export interface components { schemas: { + StringType: string; ObjRef: { - base?: components["schemas"]["Entity"]["foo"]; + base?: components["schemas"]["StringType"]; }; - AllOf: components["schemas"]["Entity"]["foo"] & components["schemas"]["Thingy"]["bar"]; + HasString: { + string?: string; + }; + HasNumber: { + number?: number; + }; + AllOf: components["schemas"]["HasString"] & components["schemas"]["HasNumber"]; }; responses: never; parameters: never; @@ -56,19 +70,17 @@ export interface components { headers: never; pathItems: never; } - export type $defs = Record; - -export type external = Record; - export type operations = Record;`, // options: DEFAULT_OPTIONS, }, ], [ - "$refs > unresolved $refs are ignored", + "$refs > arbitrary $refs are respected", { given: { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, components: { schemas: { Base: { @@ -83,29 +95,32 @@ export type operations = Record;`, }, }, }, + "x-swagger-bake": { + components: { + schemas: { + Extension: { + additionalProperties: true, + }, + }, + }, + }, }, want: `export type paths = Record; - export type webhooks = Record; - export interface components { schemas: { Base: { [key: string]: string; }; - SchemaType: components["schemas"]["Base"]; + SchemaType: components["schemas"]["Base"] | x-swagger-bake["components"]["schemas"]["Extension"]; }; - responses: Record; - parameters: Record; - requestBodies: Record; - headers: Record; - pathItems: Record; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } - export type $defs = Record; - -export type external = Record; - export type operations = Record;`, }, ], @@ -420,6 +435,8 @@ export interface operations { "examples > skipped", { given: { + openapi: "3.1", + info: { title: "Test", version: "1.0" }, components: { schemas: { Example: { @@ -435,7 +452,7 @@ export interface operations { Example: { value: { name: "Test", - $ref: "fake.yml#/components/schemas/Example", + $ref: "#/components/schemas/Example", }, }, }, @@ -450,11 +467,11 @@ export interface components { $ref: string; }; }; - responses: Record; - parameters: Record; - requestBodies: Record; - headers: Record; - pathItems: Record; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } export type $defs = Record; export type operations = Record;`, @@ -531,25 +548,25 @@ export type operations = Record;`, want: `export type paths = Record; export type webhooks = Record; export interface components { -schemas: { - User: WithRequired<{ - firstName?: string; - lastName?: string; - } & { - middleName?: string; - }, "firstName" | "lastName">; -}; -responses: never; -parameters: never; -requestBodies: never; -headers: never; -pathItems: never; + schemas: { + User: WithRequired<{ + firstName?: string; + lastName?: string; + } & { + middleName?: string; + }, "firstName" | "lastName">; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } export type $defs = Record; -export type operations = Record; -/** WithRequired type helper */ -type WithRequired = T & { [P in K]-?: T[P] }; -`, +type WithRequired = T & { + [P in K]-?: T[P]; +}; +export type operations = Record;`, // options: DEFAULT_OPTIONS, }, ], @@ -574,7 +591,18 @@ type WithRequired = T & { [P in K]-?: T[P] }; const schema: OpenAPI3 = { openapi: "3.1", info: { title: "test", version: "1.0" }, - components: {}, + components: { + schemas: { + OKResponse: { + type: "object", + required: ["status", "message"], + properties: { + status: { type: "string" }, + message: { type: "string" }, + }, + }, + }, + }, paths: { "/": { get: { diff --git a/packages/openapi-typescript/test/invalid.test.ts b/packages/openapi-typescript/test/invalid.test.ts index 228358618..b00a0b1b5 100644 --- a/packages/openapi-typescript/test/invalid.test.ts +++ b/packages/openapi-typescript/test/invalid.test.ts @@ -1,27 +1,12 @@ -import { SpyInstance } from "vitest"; import openapiTS from "../src/index.js"; describe("Invalid schemas", () => { - let consoleError: SpyInstance; - let procExit: SpyInstance; - - beforeEach(() => { - consoleError = vi.spyOn(console, "error").mockImplementation(() => {}); - procExit = vi.spyOn(process, "exit").mockImplementation((() => {}) as any); - }); - - afterAll(() => { - vi.resetAllMocks(); - }); - test("Swagger 2.0 throws", async () => { - await expect(() => openapiTS({ swagger: "2.0" } as any)).rejects.toThrow(); - expect(consoleError).toHaveBeenCalledWith( - expect.stringContaining( - "Unsupported Swagger version: 2.x. Use OpenAPI 3.x instead.", - ), + await expect(() => + openapiTS({ swagger: "2.0" } as any), + ).rejects.toThrowError( + "Unsupported Swagger version: 2.x. Use OpenAPI 3.x instead.", ); - expect(procExit).toHaveBeenCalledWith(1); }); test("OpenAPI < 3 throws", async () => { @@ -30,20 +15,12 @@ describe("Invalid schemas", () => { openapi: "2.0", info: { title: "Test", version: "1.0" }, }), - ).rejects.toThrow(); - expect(consoleError).toHaveBeenCalledWith( - expect.stringContaining("Unsupported OpenAPI version: 2.0"), - ); - expect(procExit).toHaveBeenCalledWith(1); + ).rejects.toThrowError("Unsupported OpenAPI version: 2.0"); }); test("Other missing required fields", async () => { - await expect(() => openapiTS({} as any)).rejects.toThrow(); - expect(consoleError).toHaveBeenCalledWith( - expect.stringContaining( - "Unsupported schema format, expected `openapi: 3.x`", - ), + await expect(() => openapiTS({} as any)).rejects.toThrowError( + "Unsupported schema format, expected `openapi: 3.x`", ); - expect(procExit).toHaveBeenCalledWith(1); }); }); diff --git a/packages/openapi-typescript/test/redocly.test.ts b/packages/openapi-typescript/test/redocly.test.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/packages/openapi-typescript/test/transform/schema-object/composition.test.ts b/packages/openapi-typescript/test/transform/schema-object/composition.test.ts index c2de02167..a2b7764f4 100644 --- a/packages/openapi-typescript/test/transform/schema-object/composition.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/composition.test.ts @@ -260,23 +260,28 @@ describe("composition", () => { properties: { name: { type: "string" }, }, + oneOf: [ + { $ref: "#/components/schemas/Cat" }, + { $ref: "#/components/schemas/Dog" }, + ], }, want: `{ - petType: "Cat"; + petType: "Pet"; name: string; -}`, +} & (Omit | Omit)`, options: { - path: "#/components/schemas/Cat", + path: "#/components/schemas/Pet", ctx: { ...DEFAULT_OPTIONS.ctx, discriminators: { "#/components/schemas/Pet": { propertyName: "petType", - oneOf: ["#/components/schemas/Cat"], }, "#/components/schemas/Cat": { propertyName: "petType", - oneOf: ["#/components/schemas/Cat"], + }, + "#/components/schemas/Dog": { + propertyName: "petType", }, }, resolve(ref) { @@ -407,7 +412,7 @@ describe("composition", () => { "#/components/schemas/Pet": { propertyName: "_petType", }, - [DEFAULT_OPTIONS.path]: { + "#/components/schemas/Dog": { propertyName: "_petType", }, }, diff --git a/packages/openapi-typescript/test/yaml.test.ts b/packages/openapi-typescript/test/yaml.test.ts index f8a91551e..c0c4037d5 100644 --- a/packages/openapi-typescript/test/yaml.test.ts +++ b/packages/openapi-typescript/test/yaml.test.ts @@ -11,63 +11,78 @@ describe("YAML features", () => { const result = await execa(cmd, ["./test/fixtures/yaml-merge.yaml"], { cwd, }); - expect(result.stdout).toMatchInlineSnapshot(` - "/** - * This file was auto-generated by openapi-typescript. - * Do not make direct changes to the file. - */ + expect(result.stdout).toBe(`/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ - - export interface paths { - \\"/admin/ping\\": { - /** Ping pongs */ - get: operations[\\"AdminPing\\"]; +export interface paths { + "/admin/ping": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - } - - export type webhooks = Record; - - export interface components { - schemas: { - /** @description represents an error message response. */ - HTTPError: { + /** Ping pongs */ + get: operations["AdminPing"]; + put: never; + post: never; + delete: never; + options: never; + head: never; + patch: never; + trace: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + /** @description represents an error message response. */ + HTTPError: { title?: string; detail?: string; status?: number; error?: string; - }; }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; - } - - export type $defs = Record; - - export type external = Record; - - export interface operations { - - /** Ping pongs */ - AdminPing: { - responses: { + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export interface operations { + AdminPing: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { /** @description OK */ 200: { - content: { - \\"text/plain\\": string; - }; + headers: { + [name: string]: unknown; + }; + content: { + "text/plain": string; + }; }; /** @description Error response */ - \\"4XX\\": { - content: { - \\"application/json\\": components[\\"schemas\\"][\\"HTTPError\\"]; - }; + "4XX": { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPError"]; + }; }; - }; }; - }" - `); + }; +}`); }); }); From 487ef9b926095bbd604d39c00548ff81174f084c Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Tue, 3 Oct 2023 22:07:57 -0600 Subject: [PATCH 08/10] Bump version --- .changeset/beige-students-wink.md | 5 -- .changeset/blue-ladybugs-laugh.md | 5 -- .changeset/giant-scissors-repeat.md | 5 -- .changeset/happy-lamps-bathe.md | 5 -- .changeset/lazy-ads-add.md | 5 -- .changeset/modern-bobcats-think.md | 5 -- .changeset/nasty-candles-rescue.md | 5 -- .changeset/rude-jokes-grin.md | 11 ---- .changeset/shaggy-adults-obey.md | 5 -- .changeset/shaggy-experts-confess.md | 7 --- .changeset/shaggy-windows-worry.md | 5 -- .changeset/short-llamas-listen.md | 5 -- .changeset/thirty-turkeys-leave.md | 5 -- .changeset/warm-masks-decide.md | 8 --- .changeset/wise-coins-hug.md | 29 ---------- packages/openapi-typescript/CHANGELOG.md | 73 ++++++++++++++++++++++++ 16 files changed, 73 insertions(+), 110 deletions(-) delete mode 100644 .changeset/beige-students-wink.md delete mode 100644 .changeset/blue-ladybugs-laugh.md delete mode 100644 .changeset/giant-scissors-repeat.md delete mode 100644 .changeset/happy-lamps-bathe.md delete mode 100644 .changeset/lazy-ads-add.md delete mode 100644 .changeset/modern-bobcats-think.md delete mode 100644 .changeset/nasty-candles-rescue.md delete mode 100644 .changeset/rude-jokes-grin.md delete mode 100644 .changeset/shaggy-adults-obey.md delete mode 100644 .changeset/shaggy-experts-confess.md delete mode 100644 .changeset/shaggy-windows-worry.md delete mode 100644 .changeset/short-llamas-listen.md delete mode 100644 .changeset/thirty-turkeys-leave.md delete mode 100644 .changeset/warm-masks-decide.md delete mode 100644 .changeset/wise-coins-hug.md diff --git a/.changeset/beige-students-wink.md b/.changeset/beige-students-wink.md deleted file mode 100644 index a20abaaf9..000000000 --- a/.changeset/beige-students-wink.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": minor ---- - -✨ **Feature**: add `formatOptions` to allow formatting TS output diff --git a/.changeset/blue-ladybugs-laugh.md b/.changeset/blue-ladybugs-laugh.md deleted file mode 100644 index 548dda45f..000000000 --- a/.changeset/blue-ladybugs-laugh.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": major ---- - -⚠️ **Breaking**: Most optional objects are now always present in types, just typed as `:never`. This includes keys of the Components Object as well as HTTP methods. diff --git a/.changeset/giant-scissors-repeat.md b/.changeset/giant-scissors-repeat.md deleted file mode 100644 index 578dc9ad1..000000000 --- a/.changeset/giant-scissors-repeat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": minor ---- - -✨ **Feature**: add `enum` option to export top-level enums from schemas diff --git a/.changeset/happy-lamps-bathe.md b/.changeset/happy-lamps-bathe.md deleted file mode 100644 index e4f453b57..000000000 --- a/.changeset/happy-lamps-bathe.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": patch ---- - -🧹 Cleaned up and reorganized all tests diff --git a/.changeset/lazy-ads-add.md b/.changeset/lazy-ads-add.md deleted file mode 100644 index 4197ecf15..000000000 --- a/.changeset/lazy-ads-add.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": major ---- - -⚠️ **Breaking**: No more `external` export in schemas anymore. Everything gets flattened into the `components` object instead (if referencing a schema object from a remote partial, note it may have had a minor name change to avoid conflict). diff --git a/.changeset/modern-bobcats-think.md b/.changeset/modern-bobcats-think.md deleted file mode 100644 index 2ee8d6f50..000000000 --- a/.changeset/modern-bobcats-think.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": minor ---- - -✨ **Feature**: header responses add `[key: string]: unknown` index type to allow for additional untyped headers diff --git a/.changeset/nasty-candles-rescue.md b/.changeset/nasty-candles-rescue.md deleted file mode 100644 index 746612a1d..000000000 --- a/.changeset/nasty-candles-rescue.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": patch ---- - -Refactor internals to use TypeScript AST rather than string mashing diff --git a/.changeset/rude-jokes-grin.md b/.changeset/rude-jokes-grin.md deleted file mode 100644 index 7d9889d39..000000000 --- a/.changeset/rude-jokes-grin.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"openapi-typescript": major ---- - -⚠️ **Breaking**: Changing of several CLI flags and Node.js API options - -- The `--auth`, `--httpHeaders`, `--httpMethod`, and `fetch` (Node.js-only) options were all removed from the CLI and Node.js API - - To migrate, you’ll need to create a [redocly.yaml config](https://redocly.com/docs/cli/configuration/) that specifies your auth options [in the http setting](https://redocly.com/docs/cli/configuration/#resolve-non-public-or-non-remote-urls) - - You can also set your fetch client in redocly.yaml as well. -- `--immutable-types` has been renamed to `--immutable` -- `--support-array-length` has been renamed to `--array-length` diff --git a/.changeset/shaggy-adults-obey.md b/.changeset/shaggy-adults-obey.md deleted file mode 100644 index a2fda02b4..000000000 --- a/.changeset/shaggy-adults-obey.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": major ---- - -⚠️ **Breaking** `defaultNonNullable` option now defaults to `true`. You’ll now need to manually set `false` to return to old behavior. diff --git a/.changeset/shaggy-experts-confess.md b/.changeset/shaggy-experts-confess.md deleted file mode 100644 index 2afb1b7a4..000000000 --- a/.changeset/shaggy-experts-confess.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"openapi-typescript": minor ---- - -✨ **Feature**: bundle schemas with Redocly CLI - -- Any options passed into your [redocly.yaml config](https://redocly.com/docs/cli/configuration/) are respected diff --git a/.changeset/shaggy-windows-worry.md b/.changeset/shaggy-windows-worry.md deleted file mode 100644 index 140809f54..000000000 --- a/.changeset/shaggy-windows-worry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": major ---- - -⚠️ **Breaking**: Remove globbing schemas in favor of `redocly.yaml` config. Specify multiple schemas with outputs in there instead. See [Multiple schemas](https://openapi-ts.pages.dev/docs/cli/#multiple-schemas) for more info. diff --git a/.changeset/short-llamas-listen.md b/.changeset/short-llamas-listen.md deleted file mode 100644 index 637c4f7a0..000000000 --- a/.changeset/short-llamas-listen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": minor ---- - -✨ **Feature:** allow configuration of schemas via `apis` key in redocly.config.yaml. [See docs](https://openapi-ts.pages.dev/cli/) for more info. diff --git a/.changeset/thirty-turkeys-leave.md b/.changeset/thirty-turkeys-leave.md deleted file mode 100644 index 94f3c6e30..000000000 --- a/.changeset/thirty-turkeys-leave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": major ---- - -⚠️ **Breaking**: additionalProperties no longer have `| undefined` automatically appended diff --git a/.changeset/warm-masks-decide.md b/.changeset/warm-masks-decide.md deleted file mode 100644 index b2b5ad5d5..000000000 --- a/.changeset/warm-masks-decide.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"openapi-typescript": minor ---- - -✨ **Feature**: automatically validate schemas with Redocly CLI ([docs](https://redocly.com/docs/cli/)). No more need for external tools to report errors! 🎉 - -- By default, it will only throw on actual schema errors (uses Redocly’s default settings) -- For stricter linting or custom rules, you can create a [redocly.yaml config](https://redocly.com/docs/cli/configuration/) diff --git a/.changeset/wise-coins-hug.md b/.changeset/wise-coins-hug.md deleted file mode 100644 index da01c8f05..000000000 --- a/.changeset/wise-coins-hug.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -"openapi-typescript": major ---- - -⚠️ **Breaking**: The Node.js API now returns the TypeScript AST for the main method as well as `transform()` and `postTransform()`. To migrate, you’ll have to use the `typescript` compiler API: - -```diff -+ import ts from "typescript"; - -+ const DATE = ts.factory.createIdentifier("Date"); -+ const NULL = ts.factory.createLiteralTypeNode(ts.factory.createNull()); - - const ast = await openapiTS(mySchema, { - transform(schemaObject, metadata) { - if (schemaObject.format === "date-time") { -- return schemaObject.nullable ? "Date | null" : "Date"; -+ return schemaObject.nullable -+ ? ts.factory.createUnionTypeNode([DATE, NULL]) -+ : DATE; - } - }, - }; -``` - -Though it’s more verbose, it’s also more powerful, as now you have access to additional properties of the generated code you didn’t before (such as injecting comments). - -For example syntax, search this codebae to see how the TypeScript AST is used. - -Also see [AST Explorer](https://astexplorer.net/)’s `typescript` parser to inspect how TypeScript is interpreted as an AST. diff --git a/packages/openapi-typescript/CHANGELOG.md b/packages/openapi-typescript/CHANGELOG.md index 1b8963b3d..12a1a96bc 100644 --- a/packages/openapi-typescript/CHANGELOG.md +++ b/packages/openapi-typescript/CHANGELOG.md @@ -1,5 +1,78 @@ # openapi-typescript +## 7.0.0 + +### Major Changes + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ **Breaking**: The Node.js API now returns the TypeScript AST for the main method as well as `transform()` and `postTransform()`. To migrate, you’ll have to use the `typescript` compiler API: + + ```diff + + import ts from "typescript"; + + + const DATE = ts.factory.createIdentifier("Date"); + + const NULL = ts.factory.createLiteralTypeNode(ts.factory.createNull()); + + const ast = await openapiTS(mySchema, { + transform(schemaObject, metadata) { + if (schemaObject.format === "date-time") { + - return schemaObject.nullable ? "Date | null" : "Date"; + + return schemaObject.nullable + + ? ts.factory.createUnionTypeNode([DATE, NULL]) + + : DATE; + } + }, + }; + ``` + + Though it’s more verbose, it’s also more powerful, as now you have access to additional properties of the generated code you didn’t before (such as injecting comments). + + For example syntax, search this codebae to see how the TypeScript AST is used. + + Also see [AST Explorer](https://astexplorer.net/)’s `typescript` parser to inspect how TypeScript is interpreted as an AST. + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ **Breaking**: Changing of several CLI flags and Node.js API options + + - The `--auth`, `--httpHeaders`, `--httpMethod`, and `fetch` (Node.js-only) options were all removed from the CLI and Node.js API + - To migrate, you’ll need to create a [redocly.yaml config](https://redocly.com/docs/cli/configuration/) that specifies your auth options [in the http setting](https://redocly.com/docs/cli/configuration/#resolve-non-public-or-non-remote-urls) + - You can also set your fetch client in redocly.yaml as well. + - `--immutable-types` has been renamed to `--immutable` + - `--support-array-length` has been renamed to `--array-length` + +- [`fbaf96d`](https://github.com/drwpow/openapi-typescript/commit/fbaf96d33181a2fabd3d4748e54c0f111ed6756e) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ **Breaking**: Remove globbing schemas in favor of `redocly.yaml` config. Specify multiple schemas with outputs in there instead. See [Multiple schemas](https://openapi-ts.pages.dev/docs/cli/#multiple-schemas) for more info. + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ **Breaking**: Most optional objects are now always present in types, just typed as `:never`. This includes keys of the Components Object as well as HTTP methods. + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ **Breaking**: No more `external` export in schemas anymore. Everything gets flattened into the `components` object instead (if referencing a schema object from a remote partial, note it may have had a minor name change to avoid conflict). + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ **Breaking** `defaultNonNullable` option now defaults to `true`. You’ll now need to manually set `false` to return to old behavior. + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ **Breaking**: additionalProperties no longer have `| undefined` automatically appended + +### Minor Changes + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ✨ **Feature**: automatically validate schemas with Redocly CLI ([docs](https://redocly.com/docs/cli/)). No more need for external tools to report errors! 🎉 + + - By default, it will only throw on actual schema errors (uses Redocly’s default settings) + - For stricter linting or custom rules, you can create a [redocly.yaml config](https://redocly.com/docs/cli/configuration/) + +- [`312b7ba`](https://github.com/drwpow/openapi-typescript/commit/312b7ba03fc0334153d4eeb51d6159f3fc63934e) Thanks [@drwpow](https://github.com/drwpow)! - ✨ **Feature:** allow configuration of schemas via `apis` key in redocly.config.yaml. [See docs](https://openapi-ts.pages.dev/cli/) for more info. + + - Any options passed into your [redocly.yaml config](https://redocly.com/docs/cli/configuration/) are respected + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ✨ **Feature**: add `enum` option to export top-level enums from schemas + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ✨ **Feature**: add `formatOptions` to allow formatting TS output + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ✨ **Feature**: header responses add `[key: string]: unknown` index type to allow for additional untyped headers + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ✨ **Feature**: bundle schemas with Redocly CLI + +### Patch Changes + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - Refactor internals to use TypeScript AST rather than string mashing + +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - 🧹 Cleaned up and reorganized all tests + ## 6.7.0 ### Minor Changes From 04a024ac9d45823b18e00552eb40b3b53c034c76 Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Wed, 4 Oct 2023 22:13:15 -0600 Subject: [PATCH 09/10] Update openapi-fetch types --- .changeset/beige-ligers-tell.md | 5 ++ .changeset/rich-poems-swim.md | 5 ++ docs/src/content/docs/openapi-fetch/index.md | 2 - packages/openapi-fetch/src/index.ts | 30 +++++++--- .../openapi-typescript-helpers/index.d.ts | 60 +++++++++++++++---- pnpm-lock.yaml | 14 ++--- 6 files changed, 88 insertions(+), 28 deletions(-) create mode 100644 .changeset/beige-ligers-tell.md create mode 100644 .changeset/rich-poems-swim.md diff --git a/.changeset/beige-ligers-tell.md b/.changeset/beige-ligers-tell.md new file mode 100644 index 000000000..429017725 --- /dev/null +++ b/.changeset/beige-ligers-tell.md @@ -0,0 +1,5 @@ +--- +"openapi-fetch": patch +--- + +Fix GET requests requiring 2nd param when it’s not needed diff --git a/.changeset/rich-poems-swim.md b/.changeset/rich-poems-swim.md new file mode 100644 index 000000000..e18d9b0af --- /dev/null +++ b/.changeset/rich-poems-swim.md @@ -0,0 +1,5 @@ +--- +"openapi-typescript": minor +--- + +✨ **Feature**: Added debugger that lets you profile performance and see more in-depth messages diff --git a/docs/src/content/docs/openapi-fetch/index.md b/docs/src/content/docs/openapi-fetch/index.md index 5349c1bed..5c783fa71 100644 --- a/docs/src/content/docs/openapi-fetch/index.md +++ b/docs/src/content/docs/openapi-fetch/index.md @@ -69,8 +69,6 @@ Next, generate TypeScript types from your OpenAPI schema using openapi-typescrip npx openapi-typescript ./path/to/api/v1.yaml -o ./src/lib/api/v1.d.ts ``` -> ⚠️ Be sure to validate your schemas! openapi-typescript will err on invalid schemas. - Lastly, be sure to **run typechecking** in your project. This can be done by adding `tsc --noEmit` to your npm scripts like so: ```json diff --git a/packages/openapi-fetch/src/index.ts b/packages/openapi-fetch/src/index.ts index 2919a811b..972035198 100644 --- a/packages/openapi-fetch/src/index.ts +++ b/packages/openapi-fetch/src/index.ts @@ -32,28 +32,46 @@ interface ClientOptions extends Omit { // headers override to make typing friendlier headers?: HeadersOptions; } + export type HeadersOptions = | HeadersInit | Record; + export type QuerySerializer = ( query: T extends { parameters: any } ? NonNullable : Record, ) => string; + export type BodySerializer = (body: OperationRequestBodyContent) => any; + export type ParseAs = "json" | "text" | "blob" | "arrayBuffer" | "stream"; + export interface DefaultParamsOption { params?: { query?: Record }; } + +export interface EmptyParameters { + query?: never; + header?: never; + path?: never; + cookie?: never; +} + export type ParamsOption = T extends { parameters: any } - ? { params: NonNullable } + ? T["parameters"] extends EmptyParameters + ? DefaultParamsOption + : { params: NonNullable } : DefaultParamsOption; + export type RequestBodyOption = OperationRequestBodyContent extends never ? { body?: never } : undefined extends OperationRequestBodyContent ? { body?: OperationRequestBodyContent } : { body: OperationRequestBodyContent }; + export type FetchOptions = RequestOptions & Omit; + export type FetchResponse = | { data: FilterKeys>, MediaType>; @@ -65,6 +83,7 @@ export type FetchResponse = error: FilterKeys>, MediaType>; response: Response; }; + export type RequestOptions = ParamsOption & RequestBodyOption & { querySerializer?: QuerySerializer; @@ -81,7 +100,6 @@ export default function createClient( bodySerializer: globalBodySerializer, ...options } = clientOptions; - let baseUrl = options.baseUrl ?? ""; if (baseUrl.endsWith("/")) { baseUrl = baseUrl.slice(0, -1); // remove trailing slash @@ -318,11 +336,9 @@ export function createFinalURL( finalURL = finalURL.replace(`{${k}}`, encodeURIComponent(String(v))); } } - if (options.params.query) { - const search = options.querySerializer(options.params.query as any); - if (search) { - finalURL += `?${search}`; - } + const search = options.querySerializer((options.params.query as any) ?? {}); + if (search) { + finalURL += `?${search}`; } return finalURL; } diff --git a/packages/openapi-typescript-helpers/index.d.ts b/packages/openapi-typescript-helpers/index.d.ts index c74b80161..edae05ad3 100644 --- a/packages/openapi-typescript-helpers/index.d.ts +++ b/packages/openapi-typescript-helpers/index.d.ts @@ -2,7 +2,15 @@ // HTTP types -export type HttpMethod = "get" | "put" | "post" | "delete" | "options" | "head" | "patch" | "trace"; +export type HttpMethod = + | "get" + | "put" + | "post" + | "delete" + | "options" + | "head" + | "patch" + | "trace"; /** 2XX statuses */ export type OkStatus = 200 | 201 | 202 | 203 | 204 | 206 | 207 | "2XX"; // prettier-ignore @@ -12,8 +20,15 @@ export type ErrorStatus = 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | // OpenAPI type helpers /** Given an OpenAPI **Paths Object**, find all paths that have the given method */ -export type PathsWithMethod, PathnameMethod extends HttpMethod> = { - [Pathname in keyof Paths]: Paths[Pathname] extends { [K in PathnameMethod]: any } ? Pathname : never; +export type PathsWithMethod< + Paths extends Record, + PathnameMethod extends HttpMethod, +> = { + [Pathname in keyof Paths]: Paths[Pathname] extends { + [K in PathnameMethod]: any; + } + ? Pathname + : never; }[keyof Paths]; /** DO NOT USE! Only used only for OperationObject type inference */ export interface OperationObject { @@ -23,28 +38,49 @@ export interface OperationObject { responses: any; } /** Internal helper used in PathsWithMethod */ -export type PathItemObject = { [M in HttpMethod]: OperationObject } & { parameters?: any }; +export type PathItemObject = { + [M in HttpMethod]: OperationObject; +} & { parameters?: any }; /** Return `responses` for an Operation Object */ -export type ResponseObjectMap = T extends { responses: any } ? T["responses"] : unknown; +export type ResponseObjectMap = T extends { responses: any } + ? T["responses"] + : unknown; /** Return `content` for a Response Object */ -export type ResponseContent = T extends { content: any } ? T["content"] : unknown; +export type ResponseContent = T extends { content: any } + ? T["content"] + : unknown; /** Return `requestBody` for an Operation Object */ -export type OperationRequestBody = T extends { requestBody?: any } ? T["requestBody"] : never; +export type OperationRequestBody = T extends { requestBody?: any } + ? T["requestBody"] + : never; /** Internal helper used in OperationRequestBodyContent */ -export type OperationRequestBodyMediaContent = undefined extends OperationRequestBody ? FilterKeys>, "content"> | undefined : FilterKeys, "content">; +export type OperationRequestBodyMediaContent = + undefined extends OperationRequestBody + ? FilterKeys>, "content"> | undefined + : FilterKeys, "content">; /** Return first `content` from a Request Object Mapping, allowing any media type */ -export type OperationRequestBodyContent = FilterKeys, MediaType> extends never - ? FilterKeys>, MediaType> | undefined +export type OperationRequestBodyContent = FilterKeys< + OperationRequestBodyMediaContent, + MediaType +> extends never + ? + | FilterKeys>, MediaType> + | undefined : FilterKeys, MediaType>; /** Return first 2XX response from a Response Object Map */ export type SuccessResponse = FilterKeys, "content">; /** Return first 5XX or 4XX response (in that order) from a Response Object Map */ -export type ErrorResponse = FilterKeys, "content">; +export type ErrorResponse = FilterKeys< + FilterKeys, + "content" +>; // Generic TS utils /** Find first match of multiple keys */ -export type FilterKeys = { [K in keyof Obj]: K extends Matchers ? Obj[K] : never }[keyof Obj]; +export type FilterKeys = { + [K in keyof Obj]: K extends Matchers ? Obj[K] : never; +}[keyof Obj]; /** Return any `[string]/[string]` media type (important because openapi-fetch allows any content response, not just JSON-like) */ export type MediaType = `${string}/${string}`; /** Filter objects that have required keys */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 641efeb0b..dc217ea81 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -209,7 +209,7 @@ importers: version: 5.2.2 vite: specifier: ^4.4.9 - version: 4.4.9(@types/node@20.8.2) + version: 4.4.9(@types/node@20.8.0) packages/openapi-fetch/examples/sveltekit: dependencies: @@ -240,7 +240,7 @@ importers: version: 5.2.2 vite: specifier: ^4.4.9 - version: 4.4.9(@types/node@20.8.2) + version: 4.4.9(@types/node@20.8.0) packages/openapi-typescript: dependencies: @@ -1789,7 +1789,7 @@ packages: svelte: 4.2.0 tiny-glob: 0.2.9 undici: 5.23.0 - vite: 4.4.9(@types/node@20.8.2) + vite: 4.4.9(@types/node@20.8.0) transitivePeerDependencies: - supports-color dev: true @@ -1805,7 +1805,7 @@ packages: '@sveltejs/vite-plugin-svelte': 2.4.5(svelte@4.2.0)(vite@4.4.9) debug: 4.3.4(supports-color@9.4.0) svelte: 4.2.0 - vite: 4.4.9(@types/node@20.8.2) + vite: 4.4.9(@types/node@20.8.0) transitivePeerDependencies: - supports-color dev: true @@ -1824,7 +1824,7 @@ packages: magic-string: 0.30.3 svelte: 4.2.0 svelte-hmr: 0.15.3(svelte@4.2.0) - vite: 4.4.9(@types/node@20.8.2) + vite: 4.4.9(@types/node@20.8.0) vitefu: 0.2.4(vite@4.4.9) transitivePeerDependencies: - supports-color @@ -2341,7 +2341,7 @@ packages: vite: ^4 dependencies: '@swc/core': 1.3.83 - vite: 4.4.9(@types/node@20.8.2) + vite: 4.4.9(@types/node@20.8.0) transitivePeerDependencies: - '@swc/helpers' dev: true @@ -8165,7 +8165,7 @@ packages: vite: optional: true dependencies: - vite: 4.4.9(@types/node@20.8.2) + vite: 4.4.9(@types/node@20.8.0) dev: true /vitest-fetch-mock@0.2.2(vitest@0.34.6): From 68a1a5c06e5fd83837d9de40d913947efd0f4653 Mon Sep 17 00:00:00 2001 From: Drew Powers Date: Thu, 5 Oct 2023 16:58:21 -0600 Subject: [PATCH 10/10] Make empty methods optional, add examples typechecking --- .changeset/beige-ligers-tell.md | 5 - .changeset/rich-poems-swim.md | 5 - .../examples/nextjs/lib/api/v1.d.ts | 42 +- .../examples/react-query/src/lib/api/v1.d.ts | 42 +- .../examples/sveltekit/src/lib/api/v1.d.ts | 42 +- packages/openapi-fetch/src/index.ts | 8 +- packages/openapi-fetch/test/v1.d.ts | 156 +- .../openapi-typescript-helpers/index.d.ts | 7 +- packages/openapi-typescript/CHANGELOG.md | 4 +- .../examples/digital-ocean-api.ts | 2350 ++-- .../examples/github-api-next.ts | 11120 ++++++++-------- .../openapi-typescript/examples/github-api.ts | 7776 +++++------ .../examples/octokit-ghes-3.6-diff-to-api.ts | 1386 +- .../examples/simple-example.ts | 112 +- .../openapi-typescript/examples/stripe-api.ts | 4678 +++---- packages/openapi-typescript/package.json | 1 + packages/openapi-typescript/src/lib/ts.ts | 3 + .../src/transform/path-item-object.ts | 10 +- .../src/transform/schema-object.ts | 7 +- .../openapi-typescript/test/index.test.ts | 58 +- .../openapi-typescript/test/node-api.test.ts | 38 +- .../test/transform/components-object.test.ts | 28 +- .../test/transform/path-item-object.test.ts | 179 +- .../test/transform/paths-object.test.ts | 60 +- .../transform/schema-object/object.test.ts | 4 +- .../test/transform/webhooks-object.test.ts | 30 +- packages/openapi-typescript/test/yaml.test.ts | 14 +- .../openapi-typescript/tsconfig.examples.json | 5 + packages/openapi-typescript/tsconfig.json | 2 +- 29 files changed, 14154 insertions(+), 14018 deletions(-) delete mode 100644 .changeset/beige-ligers-tell.md delete mode 100644 .changeset/rich-poems-swim.md create mode 100644 packages/openapi-typescript/tsconfig.examples.json diff --git a/.changeset/beige-ligers-tell.md b/.changeset/beige-ligers-tell.md deleted file mode 100644 index 429017725..000000000 --- a/.changeset/beige-ligers-tell.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-fetch": patch ---- - -Fix GET requests requiring 2nd param when it’s not needed diff --git a/.changeset/rich-poems-swim.md b/.changeset/rich-poems-swim.md deleted file mode 100644 index e18d9b0af..000000000 --- a/.changeset/rich-poems-swim.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"openapi-typescript": minor ---- - -✨ **Feature**: Added debugger that lets you profile performance and see more in-depth messages diff --git a/packages/openapi-fetch/examples/nextjs/lib/api/v1.d.ts b/packages/openapi-fetch/examples/nextjs/lib/api/v1.d.ts index 70c8b18a0..70cdcb2e3 100644 --- a/packages/openapi-fetch/examples/nextjs/lib/api/v1.d.ts +++ b/packages/openapi-fetch/examples/nextjs/lib/api/v1.d.ts @@ -16,13 +16,13 @@ export interface paths { * @description Returns a a list of breeds */ get: operations["getBreeds"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/fact": { parameters: { @@ -36,13 +36,13 @@ export interface paths { * @description Returns a random fact */ get: operations["getRandomFact"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/facts": { parameters: { @@ -56,13 +56,13 @@ export interface paths { * @description Returns a a list of facts */ get: operations["getFacts"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; diff --git a/packages/openapi-fetch/examples/react-query/src/lib/api/v1.d.ts b/packages/openapi-fetch/examples/react-query/src/lib/api/v1.d.ts index 70c8b18a0..70cdcb2e3 100644 --- a/packages/openapi-fetch/examples/react-query/src/lib/api/v1.d.ts +++ b/packages/openapi-fetch/examples/react-query/src/lib/api/v1.d.ts @@ -16,13 +16,13 @@ export interface paths { * @description Returns a a list of breeds */ get: operations["getBreeds"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/fact": { parameters: { @@ -36,13 +36,13 @@ export interface paths { * @description Returns a random fact */ get: operations["getRandomFact"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/facts": { parameters: { @@ -56,13 +56,13 @@ export interface paths { * @description Returns a a list of facts */ get: operations["getFacts"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; diff --git a/packages/openapi-fetch/examples/sveltekit/src/lib/api/v1.d.ts b/packages/openapi-fetch/examples/sveltekit/src/lib/api/v1.d.ts index 70c8b18a0..70cdcb2e3 100644 --- a/packages/openapi-fetch/examples/sveltekit/src/lib/api/v1.d.ts +++ b/packages/openapi-fetch/examples/sveltekit/src/lib/api/v1.d.ts @@ -16,13 +16,13 @@ export interface paths { * @description Returns a a list of breeds */ get: operations["getBreeds"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/fact": { parameters: { @@ -36,13 +36,13 @@ export interface paths { * @description Returns a random fact */ get: operations["getRandomFact"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/facts": { parameters: { @@ -56,13 +56,13 @@ export interface paths { * @description Returns a a list of facts */ get: operations["getFacts"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; diff --git a/packages/openapi-fetch/src/index.ts b/packages/openapi-fetch/src/index.ts index 972035198..6f78db13c 100644 --- a/packages/openapi-fetch/src/index.ts +++ b/packages/openapi-fetch/src/index.ts @@ -59,10 +59,10 @@ export interface EmptyParameters { } export type ParamsOption = T extends { parameters: any } - ? T["parameters"] extends EmptyParameters - ? DefaultParamsOption - : { params: NonNullable } - : DefaultParamsOption; + ? HasRequiredKeys extends never + ? { params?: T["parameters"] } + : { params: T["parameters"] } + : never; export type RequestBodyOption = OperationRequestBodyContent extends never ? { body?: never } diff --git a/packages/openapi-fetch/test/v1.d.ts b/packages/openapi-fetch/test/v1.d.ts index 672fc7439..41a44bd7e 100644 --- a/packages/openapi-fetch/test/v1.d.ts +++ b/packages/openapi-fetch/test/v1.d.ts @@ -11,7 +11,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; put: { parameters: { query?: never; @@ -25,12 +25,12 @@ export interface paths { 500: components["responses"]["Error"]; }; }; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/blogposts": { parameters: { @@ -67,10 +67,10 @@ export interface paths { 500: components["responses"]["Error"]; }; }; - post: never; - delete: never; - options: never; - head: never; + post?: never; + delete?: never; + options?: never; + head?: never; patch: { parameters: { query?: never; @@ -83,7 +83,7 @@ export interface paths { 201: components["responses"]["PatchPost"]; }; }; - trace: never; + trace?: never; }; "/blogposts/{post_id}": { parameters: { @@ -113,8 +113,8 @@ export interface paths { 500: components["responses"]["Error"]; }; }; - put: never; - post: never; + put?: never; + post?: never; delete: { parameters: { query?: never; @@ -130,8 +130,8 @@ export interface paths { 500: components["responses"]["Error"]; }; }; - options: never; - head: never; + options?: never; + head?: never; patch: { parameters: { query?: never; @@ -148,7 +148,7 @@ export interface paths { 500: components["responses"]["Error"]; }; }; - trace: never; + trace?: never; }; "/blogposts-optional": { parameters: { @@ -157,7 +157,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; put: { parameters: { query?: never; @@ -171,12 +171,12 @@ export interface paths { 500: components["responses"]["Error"]; }; }; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/blogposts-optional-inline": { parameters: { @@ -185,7 +185,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; put: { parameters: { query?: never; @@ -203,12 +203,12 @@ export interface paths { 500: components["responses"]["Error"]; }; }; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/header-params": { parameters: { @@ -218,13 +218,13 @@ export interface paths { cookie?: never; }; get: operations["getHeaderParams"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/media": { parameters: { @@ -233,7 +233,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; put: { parameters: { query?: never; @@ -264,12 +264,12 @@ export interface paths { "4XX": components["responses"]["Error"]; }; }; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/self": { parameters: { @@ -292,13 +292,13 @@ export interface paths { 500: components["responses"]["Error"]; }; }; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/string-array": { parameters: { @@ -320,13 +320,13 @@ export interface paths { 500: components["responses"]["Error"]; }; }; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/tag/{name}": { parameters: { @@ -367,7 +367,7 @@ export interface paths { 500: components["responses"]["Error"]; }; }; - post: never; + post?: never; delete: { parameters: { query?: never; @@ -389,10 +389,10 @@ export interface paths { 500: components["responses"]["Error"]; }; }; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/default-as-error": { parameters: { @@ -413,13 +413,13 @@ export interface paths { default: components["responses"]["Error"]; }; }; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/anyMethod": { parameters: { @@ -548,7 +548,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; put: { parameters: { query?: never; @@ -561,12 +561,12 @@ export interface paths { 200: components["responses"]["Contact"]; }; }; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; diff --git a/packages/openapi-typescript-helpers/index.d.ts b/packages/openapi-typescript-helpers/index.d.ts index edae05ad3..5e481d47c 100644 --- a/packages/openapi-typescript-helpers/index.d.ts +++ b/packages/openapi-typescript-helpers/index.d.ts @@ -33,7 +33,6 @@ export type PathsWithMethod< /** DO NOT USE! Only used only for OperationObject type inference */ export interface OperationObject { parameters: any; - params?: { query?: Record }; requestBody: any; // note: "any" will get overridden in inference responses: any; } @@ -84,5 +83,9 @@ export type FilterKeys = { /** Return any `[string]/[string]` media type (important because openapi-fetch allows any content response, not just JSON-like) */ export type MediaType = `${string}/${string}`; /** Filter objects that have required keys */ -export type FindRequiredKeys = K extends unknown ? (undefined extends T[K] ? never : K) : K; +export type FindRequiredKeys = K extends unknown + ? undefined extends T[K] + ? never + : K + : K; export type HasRequiredKeys = FindRequiredKeys; diff --git a/packages/openapi-typescript/CHANGELOG.md b/packages/openapi-typescript/CHANGELOG.md index 12a1a96bc..23bcacc97 100644 --- a/packages/openapi-typescript/CHANGELOG.md +++ b/packages/openapi-typescript/CHANGELOG.md @@ -46,8 +46,6 @@ - [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ **Breaking** `defaultNonNullable` option now defaults to `true`. You’ll now need to manually set `false` to return to old behavior. -- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ **Breaking**: additionalProperties no longer have `| undefined` automatically appended - ### Minor Changes - [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ✨ **Feature**: automatically validate schemas with Redocly CLI ([docs](https://redocly.com/docs/cli/)). No more need for external tools to report errors! 🎉 @@ -67,6 +65,8 @@ - [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ✨ **Feature**: bundle schemas with Redocly CLI +- [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - ✨ **Feature**: Added debugger that lets you profile performance and see more in-depth messages + ### Patch Changes - [`6d1eb32`](https://github.com/drwpow/openapi-typescript/commit/6d1eb32e610cb62effbd1a817ae8fc93337126a6) Thanks [@drwpow](https://github.com/drwpow)! - Refactor internals to use TypeScript AST rather than string mashing diff --git a/packages/openapi-typescript/examples/digital-ocean-api.ts b/packages/openapi-typescript/examples/digital-ocean-api.ts index 3912d6d2b..580ebebc3 100644 --- a/packages/openapi-typescript/examples/digital-ocean-api.ts +++ b/packages/openapi-typescript/examples/digital-ocean-api.ts @@ -22,13 +22,13 @@ export interface paths { * */ get: operations["oneClicks_list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/1-clicks/kubernetes": { parameters: { @@ -37,8 +37,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Install Kubernetes 1-Click Applications * @description To install a Kubernetes 1-Click application on a cluster, send a POST request to @@ -48,11 +48,11 @@ export interface paths { * */ post: operations["oneClicks_install_kubernetes"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/account": { parameters: { @@ -66,13 +66,13 @@ export interface paths { * @description To show information about the current user account, send a GET request to `/v2/account`. */ get: operations["account_get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/account/keys": { parameters: { @@ -86,17 +86,17 @@ export interface paths { * @description To list all of the keys in your account, send a GET request to `/v2/account/keys`. The response will be a JSON object with a key set to `ssh_keys`. The value of this will be an array of ssh_key objects, each of which contains the standard ssh_key attributes. */ get: operations["sshKeys_list"]; - put: never; + put?: never; /** * Create a New SSH Key * @description To add a new SSH public key to your DigitalOcean account, send a POST request to `/v2/account/keys`. Set the `name` attribute to the name you wish to use and the `public_key` attribute to the full public key you are adding. */ post: operations["sshKeys_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/account/keys/{ssh_key_identifier}": { parameters: { @@ -116,17 +116,17 @@ export interface paths { * @description To update the name of an SSH key, send a PUT request to either `/v2/account/keys/$SSH_KEY_ID` or `/v2/account/keys/$SSH_KEY_FINGERPRINT`. Set the `name` attribute to the new name you want to use. */ put: operations["sshKeys_update"]; - post: never; + post?: never; /** * Delete an SSH Key * @description To destroy a public SSH key that you have in your account, send a DELETE request to `/v2/account/keys/$KEY_ID` or `/v2/account/keys/$KEY_FINGERPRINT`. * A 204 status will be returned, indicating that the action was successful and that the response body is empty. */ delete: operations["sshKeys_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/actions": { parameters: { @@ -140,13 +140,13 @@ export interface paths { * @description This will be the entire list of actions taken on your account, so it will be quite large. As with any large collection returned by the API, the results will be paginated with only 20 on each page by default. */ get: operations["actions_list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/actions/{action_id}": { parameters: { @@ -160,13 +160,13 @@ export interface paths { * @description To retrieve a specific action object, send a GET request to `/v2/actions/$ACTION_ID`. */ get: operations["actions_get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps": { parameters: { @@ -180,17 +180,17 @@ export interface paths { * @description List all apps on your account. Information about the current active deployment as well as any in progress ones will also be included for each app. */ get: operations["apps_list"]; - put: never; + put?: never; /** * Create a New App * @description Create a new app by submitting an app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/). */ post: operations["apps_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{id}": { parameters: { @@ -209,16 +209,16 @@ export interface paths { * @description Update an existing app by submitting a new app specification. For documentation on app specifications (`AppSpec` objects), please refer to [the product documentation](https://docs.digitalocean.com/products/app-platform/reference/app-spec/). */ put: operations["apps_update"]; - post: never; + post?: never; /** * Delete an App * @description Delete an existing app. Once deleted, all active deployments will be permanently shut down and the app deleted. If needed, be sure to back up your app specification so that you may re-create it at a later time. */ delete: operations["apps_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/components/{component_name}/logs": { parameters: { @@ -232,13 +232,13 @@ export interface paths { * @description Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. */ get: operations["apps_get_logs_active_deployment"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/deployments": { parameters: { @@ -252,17 +252,17 @@ export interface paths { * @description List all deployments of an app. */ get: operations["apps_list_deployments"]; - put: never; + put?: never; /** * Create an App Deployment * @description Creating an app deployment will pull the latest changes from your repository and schedule a new deployment for your app. */ post: operations["apps_create_deployment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/deployments/{deployment_id}": { parameters: { @@ -276,13 +276,13 @@ export interface paths { * @description Retrieve information about an app deployment. */ get: operations["apps_get_deployment"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/deployments/{deployment_id}/cancel": { parameters: { @@ -291,18 +291,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Cancel a Deployment * @description Immediately cancel an in-progress deployment. */ post: operations["apps_cancel_deployment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/deployments/{deployment_id}/components/{component_name}/logs": { parameters: { @@ -316,13 +316,13 @@ export interface paths { * @description Retrieve the logs of a past, in-progress, or active deployment. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. */ get: operations["apps_get_logs"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/deployments/{deployment_id}/logs": { parameters: { @@ -336,13 +336,13 @@ export interface paths { * @description Retrieve the logs of a past, in-progress, or active deployment. If a component name is specified, the logs will be limited to only that component. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. */ get: operations["apps_get_logs_aggregate"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/logs": { parameters: { @@ -356,13 +356,13 @@ export interface paths { * @description Retrieve the logs of the active deployment if one exists. The response will include links to either real-time logs of an in-progress or active deployment or archived logs of a past deployment. Note log_type=BUILD logs will return logs associated with the current active deployment (being served). To view build logs associated with in-progress build, the query must explicitly reference the deployment id. */ get: operations["apps_get_logs_active_deployment_aggregate"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/tiers": { parameters: { @@ -376,13 +376,13 @@ export interface paths { * @description List all app tiers. */ get: operations["apps_list_tiers"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/tiers/{slug}": { parameters: { @@ -396,13 +396,13 @@ export interface paths { * @description Retrieve information about a specific app tier. */ get: operations["apps_get_tier"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/tiers/instance_sizes": { parameters: { @@ -416,13 +416,13 @@ export interface paths { * @description List all instance sizes for `service`, `worker`, and `job` components. */ get: operations["apps_list_instanceSizes"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/tiers/instance_sizes/{slug}": { parameters: { @@ -436,13 +436,13 @@ export interface paths { * @description Retrieve information about a specific instance size for `service`, `worker`, and `job` components. */ get: operations["apps_get_instanceSize"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/regions": { parameters: { @@ -456,13 +456,13 @@ export interface paths { * @description List all regions supported by App Platform. */ get: operations["apps_list_regions"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/propose": { parameters: { @@ -471,18 +471,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Propose an App Spec * @description To propose and validate a spec for a new or existing app, send a POST request to the `/v2/apps/propose` endpoint. The request returns some information about the proposed app, including app cost and upgrade cost. If an existing app ID is specified, the app spec is treated as a proposed update to the existing app. */ post: operations["apps_validate_appSpec"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/alerts": { parameters: { @@ -496,13 +496,13 @@ export interface paths { * @description List alerts associated to the app and any components. This includes configuration information about the alerts including emails, slack webhooks, and triggering events or conditions. */ get: operations["apps_list_alerts"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/alerts/{alert_id}/destinations": { parameters: { @@ -511,18 +511,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Update destinations for alerts * @description Updates the emails and slack webhook destinations for app alerts. Emails must be associated to a user with access to the app. */ post: operations["apps_assign_alertDestinations"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/rollback": { parameters: { @@ -531,8 +531,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Rollback App * @description Rollback an app to a previous deployment. A new deployment will be created to perform the rollback. @@ -545,11 +545,11 @@ export interface paths { * */ post: operations["apps_create_rollback"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/rollback/validate": { parameters: { @@ -558,8 +558,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Validate App Rollback * @description Check whether an app can be rolled back to a specific deployment. This endpoint can also be used @@ -569,11 +569,11 @@ export interface paths { * */ post: operations["apps_validate_rollback"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/rollback/commit": { parameters: { @@ -582,19 +582,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Commit App Rollback * @description Commit an app rollback. This action permanently applies the rollback and unpins the app to resume new deployments. * */ post: operations["apps_commit_rollback"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/rollback/revert": { parameters: { @@ -603,8 +603,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Revert App Rollback * @description Revert an app rollback. This action reverts the active rollback by creating a new deployment from the @@ -612,11 +612,11 @@ export interface paths { * */ post: operations["apps_revert_rollback"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/{app_id}/metrics/bandwidth_daily": { parameters: { @@ -630,13 +630,13 @@ export interface paths { * @description Retrieve daily bandwidth usage metrics for a single app. */ get: operations["apps_get_metrics_bandwidth_daily"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/apps/metrics/bandwidth_daily": { parameters: { @@ -645,18 +645,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Retrieve Multiple Apps' Daily Bandwidth Metrics * @description Retrieve daily bandwidth usage metrics for multiple apps. */ post: operations["apps_list_metrics_bandwidth_daily"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/cdn/endpoints": { parameters: { @@ -670,7 +670,7 @@ export interface paths { * @description To list all of the CDN endpoints available on your account, send a GET request to `/v2/cdn/endpoints`. */ get: operations["cdn_list_endpoints"]; - put: never; + put?: never; /** * Create a New CDN Endpoint * @description To create a new CDN endpoint, send a POST request to `/v2/cdn/endpoints`. The @@ -683,11 +683,11 @@ export interface paths { * */ post: operations["cdn_create_endpoint"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/cdn/endpoints/{cdn_id}": { parameters: { @@ -709,7 +709,7 @@ export interface paths { * */ put: operations["cdn_update_endpoints"]; - post: never; + post?: never; /** * Delete a CDN Endpoint * @description To delete a specific CDN endpoint, send a DELETE request to @@ -720,10 +720,10 @@ export interface paths { * */ delete: operations["cdn_delete_endpoint"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/cdn/endpoints/{cdn_id}/cache": { parameters: { @@ -732,9 +732,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Purge the Cache for an Existing CDN Endpoint * @description To purge cached content from a CDN endpoint, send a DELETE request to @@ -747,10 +747,10 @@ export interface paths { * */ delete: operations["cdn_purge_cache"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/certificates": { parameters: { @@ -764,7 +764,7 @@ export interface paths { * @description To list all of the certificates available on your account, send a GET request to `/v2/certificates`. */ get: operations["certificates_list"]; - put: never; + put?: never; /** * Create a New Certificate * @description To upload new SSL certificate which you have previously generated, send a POST @@ -779,11 +779,11 @@ export interface paths { * */ post: operations["certificates_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/certificates/{certificate_id}": { parameters: { @@ -797,8 +797,8 @@ export interface paths { * @description To show information about an existing certificate, send a GET request to `/v2/certificates/$CERTIFICATE_ID`. */ get: operations["certificates_get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a Certificate * @description To delete a specific certificate, send a DELETE request to @@ -806,10 +806,10 @@ export interface paths { * */ delete: operations["certificates_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/customers/my/balance": { parameters: { @@ -823,13 +823,13 @@ export interface paths { * @description To retrieve the balances on a customer's account, send a GET request to `/v2/customers/my/balance`. */ get: operations["balance_get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/customers/my/billing_history": { parameters: { @@ -843,13 +843,13 @@ export interface paths { * @description To retrieve a list of all billing history entries, send a GET request to `/v2/customers/my/billing_history`. */ get: operations["billingHistory_list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/customers/my/invoices": { parameters: { @@ -863,13 +863,13 @@ export interface paths { * @description To retrieve a list of all invoices, send a GET request to `/v2/customers/my/invoices`. */ get: operations["invoices_list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/customers/my/invoices/{invoice_uuid}": { parameters: { @@ -883,13 +883,13 @@ export interface paths { * @description To retrieve the invoice items for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID`. */ get: operations["invoices_get_byUUID"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/customers/my/invoices/{invoice_uuid}/csv": { parameters: { @@ -903,13 +903,13 @@ export interface paths { * @description To retrieve a CSV for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/csv`. */ get: operations["invoices_get_csvByUUID"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/customers/my/invoices/{invoice_uuid}/pdf": { parameters: { @@ -923,13 +923,13 @@ export interface paths { * @description To retrieve a PDF for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/pdf`. */ get: operations["invoices_get_pdfByUUID"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/customers/my/invoices/{invoice_uuid}/summary": { parameters: { @@ -943,13 +943,13 @@ export interface paths { * @description To retrieve a summary for an invoice, send a GET request to `/v2/customers/my/invoices/$INVOICE_UUID/summary`. */ get: operations["invoices_get_summaryByUUID"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/options": { parameters: { @@ -964,13 +964,13 @@ export interface paths { * The result will be a JSON object with an `options` key. */ get: operations["databases_list_options"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases": { parameters: { @@ -987,7 +987,7 @@ export interface paths { * The embedded `maintenance_window` object will contain information about any scheduled maintenance for the database cluster. */ get: operations["databases_list_clusters"]; - put: never; + put?: never; /** * Create a New Database Cluster * @description To create a database cluster, send a POST request to `/v2/databases`. @@ -997,11 +997,11 @@ export interface paths { * Note: Backups are not supported for Redis clusters. */ post: operations["databases_create_cluster"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}": { parameters: { @@ -1018,18 +1018,18 @@ export interface paths { * The embedded maintenance_window object will contain information about any scheduled maintenance for the database cluster. */ get: operations["databases_get_cluster"]; - put: never; - post: never; + put?: never; + post?: never; /** * Destroy a Database Cluster * @description To destroy a specific database, send a DELETE request to `/v2/databases/$DATABASE_ID`. * A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. */ delete: operations["databases_destroy_cluster"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/config": { parameters: { @@ -1047,11 +1047,11 @@ export interface paths { * */ get: operations["databases_get_config"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update the Database Configuration for an Existing Database * @description To update the configuration for an existing database cluster, send a PATCH request to @@ -1059,7 +1059,7 @@ export interface paths { * */ patch: operations["databases_patch_config"]; - trace: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/ca": { parameters: { @@ -1078,13 +1078,13 @@ export interface paths { * */ get: operations["databases_get_ca"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/online-migration": { parameters: { @@ -1103,12 +1103,12 @@ export interface paths { * @description To start an online migration, send a PUT request to `/v2/databases/$DATABASE_ID/online-migration` endpoint. Migrating a cluster establishes a connection with an existing cluster and replicates its contents to the target cluster. Online migration is only available for MySQL, PostgreSQL, and Redis clusters. */ put: operations["databases_update_onlineMigration"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/online-migration/{migration_id}": { parameters: { @@ -1117,9 +1117,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Stop an Online Migration * @description To stop an online migration, send a DELETE request to `/v2/databases/$DATABASE_ID/online-migration/$MIGRATION_ID`. @@ -1128,10 +1128,10 @@ export interface paths { * */ delete: operations["databases_delete_onlineMigration"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/migrate": { parameters: { @@ -1140,7 +1140,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Migrate a Database Cluster to a New Region * @description To migrate a database cluster to a new region, send a `PUT` request to @@ -1154,12 +1154,12 @@ export interface paths { * */ put: operations["databases_update_region"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/resize": { parameters: { @@ -1168,19 +1168,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Resize a Database Cluster * @description To resize a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/resize`. The body of the request must specify both the size and num_nodes attributes. * A successful request will receive a 202 Accepted status code with no body in response. Querying the database cluster will show that its status attribute will now be set to resizing. This will transition back to online when the resize operation has completed. */ put: operations["databases_update_clusterSize"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/firewall": { parameters: { @@ -1201,12 +1201,12 @@ export interface paths { * A successful */ put: operations["databases_update_firewall_rules"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/maintenance": { parameters: { @@ -1215,19 +1215,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Configure a Database Cluster's Maintenance Window * @description To configure the window when automatic maintenance should be performed for a database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/maintenance`. * A successful request will receive a 204 No Content status code with no body in response. */ put: operations["databases_update_maintenanceWindow"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/backups": { parameters: { @@ -1243,13 +1243,13 @@ export interface paths { * The result will be a JSON object with a `backups key`. This will be set to an array of backup objects, each of which will contain the size of the backup and the timestamp at which it was created. */ get: operations["databases_list_backups"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/replicas": { parameters: { @@ -1267,7 +1267,7 @@ export interface paths { * The result will be a JSON object with a `replicas` key. This will be set to an array of database replica objects, each of which will contain the standard database replica attributes. */ get: operations["databases_list_replicas"]; - put: never; + put?: never; /** * Create a Read-only Replica * @description To create a read-only replica for a PostgreSQL or MySQL database cluster, send a POST request to `/v2/databases/$DATABASE_ID/replicas` specifying the name it should be given, the size of the node to be used, and the region where it will be located. @@ -1277,11 +1277,11 @@ export interface paths { * The response will be a JSON object with a key called `replica`. The value of this will be an object that contains the standard attributes associated with a database replica. The initial value of the read-only replica's `status` attribute will be `forking`. When the replica is ready to receive traffic, this will transition to `active`. */ post: operations["databases_create_replica"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/replicas/{replica_name}": { parameters: { @@ -1299,8 +1299,8 @@ export interface paths { * The response will be a JSON object with a `replica key`. This will be set to an object containing the standard database replica attributes. */ get: operations["databases_get_replica"]; - put: never; - post: never; + put?: never; + post?: never; /** * Destroy a Read-only Replica * @description To destroy a specific read-only replica, send a DELETE request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME`. @@ -1310,10 +1310,10 @@ export interface paths { * A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. */ delete: operations["databases_destroy_replica"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/replicas/{replica_name}/promote": { parameters: { @@ -1322,7 +1322,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Promote a Read-only Replica to become a Primary Cluster * @description To promote a specific read-only replica, send a PUT request to `/v2/databases/$DATABASE_ID/replicas/$REPLICA_NAME/promote`. @@ -1332,12 +1332,12 @@ export interface paths { * A status of 204 will be given. This indicates that the request was processed successfully, but that no response body is needed. */ put: operations["databases_promote_replica"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/users": { parameters: { @@ -1360,7 +1360,7 @@ export interface paths { * */ get: operations["databases_list_users"]; - put: never; + put?: never; /** * Add a Database User * @description To add a new database user, send a POST request to `/v2/databases/$DATABASE_ID/users` @@ -1377,11 +1377,11 @@ export interface paths { * */ post: operations["databases_add_user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/users/{username}": { parameters: { @@ -1405,8 +1405,8 @@ export interface paths { * */ get: operations["databases_get_user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Remove a Database User * @description To remove a specific database user, send a DELETE request to @@ -1419,10 +1419,10 @@ export interface paths { * */ delete: operations["databases_delete_user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/users/{username}/reset_auth": { parameters: { @@ -1431,8 +1431,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Reset a Database User's Password or Authentication Method * @description To reset the password for a database user, send a POST request to @@ -1447,11 +1447,11 @@ export interface paths { * */ post: operations["databases_reset_auth"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/dbs": { parameters: { @@ -1472,7 +1472,7 @@ export interface paths { * */ get: operations["databases_list"]; - put: never; + put?: never; /** * Add a New Database * @description To add a new database to an existing cluster, send a POST request to @@ -1485,11 +1485,11 @@ export interface paths { * */ post: operations["databases_add"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/dbs/{database_name}": { parameters: { @@ -1510,8 +1510,8 @@ export interface paths { * */ get: operations["databases_get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a Database * @description To delete a specific database, send a DELETE request to @@ -1524,10 +1524,10 @@ export interface paths { * */ delete: operations["databases_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/pools": { parameters: { @@ -1542,7 +1542,7 @@ export interface paths { * The result will be a JSON object with a `pools` key. This will be set to an array of connection pool objects. */ get: operations["databases_list_connectionPools"]; - put: never; + put?: never; /** * Add a New Connection Pool (PostgreSQL) * @description For PostgreSQL database clusters, connection pools can be used to allow a @@ -1558,11 +1558,11 @@ export interface paths { * */ post: operations["databases_add_connectionPool"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/pools/{pool_name}": { parameters: { @@ -1582,7 +1582,7 @@ export interface paths { * @description To update a connection pool for a PostgreSQL database cluster, send a PUT request to `/v2/databases/$DATABASE_ID/pools/$POOL_NAME`. */ put: operations["databases_update_connectionPool"]; - post: never; + post?: never; /** * Delete a Connection Pool (PostgreSQL) * @description To delete a specific connection pool for a PostgreSQL database cluster, send @@ -1593,10 +1593,10 @@ export interface paths { * */ delete: operations["databases_delete_connectionPool"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/eviction_policy": { parameters: { @@ -1616,12 +1616,12 @@ export interface paths { * @description To configure an eviction policy for an existing Redis cluster, send a PUT request to `/v2/databases/$DATABASE_ID/eviction_policy` specifying the desired policy. */ put: operations["databases_update_evictionPolicy"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/sql_mode": { parameters: { @@ -1642,12 +1642,12 @@ export interface paths { * A successful request will receive a 204 No Content status code with no body in response. */ put: operations["databases_update_sql_mode"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/databases/{database_cluster_uuid}/upgrade": { parameters: { @@ -1656,19 +1656,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Upgrade Major Version for a Database * @description To upgrade the major version of a database, send a PUT request to `/v2/databases/$DATABASE_ID/upgrade`, specifying the target version. * A successful request will receive a 204 No Content status code with no body in response. */ put: operations["databases_update_major_version"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/domains": { parameters: { @@ -1682,7 +1682,7 @@ export interface paths { * @description To retrieve a list of all of the domains in your account, send a GET request to `/v2/domains`. */ get: operations["domains_list"]; - put: never; + put?: never; /** * Create a New Domain * @description To create a new domain, send a POST request to `/v2/domains`. Set the "name" @@ -1692,11 +1692,11 @@ export interface paths { * */ post: operations["domains_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/domains/{domain_name}": { parameters: { @@ -1710,18 +1710,18 @@ export interface paths { * @description To get details about a specific domain, send a GET request to `/v2/domains/$DOMAIN_NAME`. */ get: operations["domains_get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a Domain * @description To delete a domain, send a DELETE request to `/v2/domains/$DOMAIN_NAME`. * */ delete: operations["domains_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/domains/{domain_name}/records": { parameters: { @@ -1738,7 +1738,7 @@ export interface paths { * */ get: operations["domains_list_records"]; - put: never; + put?: never; /** * Create a New Domain Record * @description To create a new record to a domain, send a POST request to @@ -1752,11 +1752,11 @@ export interface paths { * */ post: operations["domains_create_record"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/domains/{domain_name}/records/{domain_record_id}": { parameters: { @@ -1781,7 +1781,7 @@ export interface paths { * */ put: operations["domains_update_record"]; - post: never; + post?: never; /** * Delete a Domain Record * @description To delete a record for a domain, send a DELETE request to @@ -1792,8 +1792,8 @@ export interface paths { * */ delete: operations["domains_delete_record"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a Domain Record * @description To update an existing record, send a PATCH request to @@ -1805,7 +1805,7 @@ export interface paths { * */ patch: operations["domains_patch_record"]; - trace: never; + trace?: never; }; "/v2/droplets": { parameters: { @@ -1831,7 +1831,7 @@ export interface paths { * */ get: operations["droplets_list"]; - put: never; + put?: never; /** * Create a New Droplet * @description To create a new Droplet, send a POST request to `/v2/droplets` setting the @@ -1873,10 +1873,10 @@ export interface paths { * */ delete: operations["droplets_destroy_byTag"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}": { parameters: { @@ -1892,8 +1892,8 @@ export interface paths { * */ get: operations["droplets_get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an Existing Droplet * @description To delete a Droplet, send a DELETE request to `/v2/droplets/$DROPLET_ID`. @@ -1903,10 +1903,10 @@ export interface paths { * */ delete: operations["droplets_destroy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/backups": { parameters: { @@ -1926,13 +1926,13 @@ export interface paths { * */ get: operations["droplets_list_backups"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/snapshots": { parameters: { @@ -1952,13 +1952,13 @@ export interface paths { * */ get: operations["droplets_list_snapshots"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/actions": { parameters: { @@ -1978,7 +1978,7 @@ export interface paths { * */ get: operations["dropletActions_list"]; - put: never; + put?: never; /** * Initiate a Droplet Action * @description To initiate an action on a Droplet send a POST request to @@ -2005,11 +2005,11 @@ export interface paths { * */ post: operations["dropletActions_post"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/actions": { parameters: { @@ -2018,8 +2018,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Acting on Tagged Droplets * @description Some actions can be performed in bulk on tagged Droplets. The actions can be @@ -2039,11 +2039,11 @@ export interface paths { * */ post: operations["dropletActions_post_byTag"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/actions/{action_id}": { parameters: { @@ -2062,13 +2062,13 @@ export interface paths { * */ get: operations["dropletActions_get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/kernels": { parameters: { @@ -2088,13 +2088,13 @@ export interface paths { * */ get: operations["droplets_list_kernels"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/firewalls": { parameters: { @@ -2114,13 +2114,13 @@ export interface paths { * */ get: operations["droplets_list_firewalls"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/neighbors": { parameters: { @@ -2142,13 +2142,13 @@ export interface paths { * */ get: operations["droplets_list_neighbors"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/destroy_with_associated_resources": { parameters: { @@ -2169,13 +2169,13 @@ export interface paths { * */ get: operations["droplets_list_associatedResources"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/destroy_with_associated_resources/selective": { parameters: { @@ -2184,9 +2184,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Selectively Destroy a Droplet and its Associated Resources * @description To destroy a Droplet along with a sub-set of its associated resources, send a @@ -2203,10 +2203,10 @@ export interface paths { * */ delete: operations["droplets_destroy_withAssociatedResourcesSelective"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/destroy_with_associated_resources/dangerous": { parameters: { @@ -2215,9 +2215,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Destroy a Droplet and All of its Associated Resources (Dangerous) * @description To destroy a Droplet along with all of its associated resources, send a DELETE @@ -2233,10 +2233,10 @@ export interface paths { * */ delete: operations["droplets_destroy_withAssociatedResourcesDangerous"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/destroy_with_associated_resources/status": { parameters: { @@ -2253,13 +2253,13 @@ export interface paths { * */ get: operations["droplets_get_DestroyAssociatedResourcesStatus"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/droplets/{droplet_id}/destroy_with_associated_resources/retry": { parameters: { @@ -2268,8 +2268,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Retry a Droplet Destroy with Associated Resources Request * @description If the status of a request to destroy a Droplet with its associated resources @@ -2283,11 +2283,11 @@ export interface paths { * */ post: operations["droplets_destroy_retryWithAssociatedResources"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/firewalls": { parameters: { @@ -2301,7 +2301,7 @@ export interface paths { * @description To list all of the firewalls available on your account, send a GET request to `/v2/firewalls`. */ get: operations["firewalls_list"]; - put: never; + put?: never; /** * Create a New Firewall * @description To create a new firewall, send a POST request to `/v2/firewalls`. The request @@ -2309,11 +2309,11 @@ export interface paths { * */ post: operations["firewalls_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/firewalls/{firewall_id}": { parameters: { @@ -2336,7 +2336,7 @@ export interface paths { * */ put: operations["firewalls_update"]; - post: never; + post?: never; /** * Delete a Firewall * @description To delete a firewall send a DELETE request to `/v2/firewalls/$FIREWALL_ID`. @@ -2347,10 +2347,10 @@ export interface paths { * */ delete: operations["firewalls_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/firewalls/{firewall_id}/droplets": { parameters: { @@ -2359,8 +2359,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add Droplets to a Firewall * @description To assign a Droplet to a firewall, send a POST request to @@ -2385,10 +2385,10 @@ export interface paths { * */ delete: operations["firewalls_delete_droplets"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/firewalls/{firewall_id}/tags": { parameters: { @@ -2397,8 +2397,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add Tags to a Firewall * @description To assign a tag representing a group of Droplets to a firewall, send a POST @@ -2423,10 +2423,10 @@ export interface paths { * */ delete: operations["firewalls_delete_tags"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/firewalls/{firewall_id}/rules": { parameters: { @@ -2435,8 +2435,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add Rules to a Firewall * @description To add additional access rules to a firewall, send a POST request to @@ -2463,10 +2463,10 @@ export interface paths { * */ delete: operations["firewalls_delete_rules"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/floating_ips": { parameters: { @@ -2480,7 +2480,7 @@ export interface paths { * @description To list all of the floating IPs available on your account, send a GET request to `/v2/floating_ips`. */ get: operations["floatingIPs_list"]; - put: never; + put?: never; /** * Create a New Floating IP * @description On creation, a floating IP must be either assigned to a Droplet or reserved to a region. @@ -2493,11 +2493,11 @@ export interface paths { * **Note**: In addition to the standard rate limiting, only 12 floating IPs may be created per 60 seconds. */ post: operations["floatingIPs_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/floating_ips/{floating_ip}": { parameters: { @@ -2511,8 +2511,8 @@ export interface paths { * @description To show information about a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP_ADDR`. */ get: operations["floatingIPs_get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a Floating IP * @description To delete a floating IP and remove it from your account, send a DELETE request @@ -2523,10 +2523,10 @@ export interface paths { * */ delete: operations["floatingIPs_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/floating_ips/{floating_ip}/actions": { parameters: { @@ -2540,7 +2540,7 @@ export interface paths { * @description To retrieve all actions that have been executed on a floating IP, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions`. */ get: operations["floatingIPsAction_list"]; - put: never; + put?: never; /** * Initiate a Floating IP Action * @description To initiate an action on a floating IP send a POST request to @@ -2554,11 +2554,11 @@ export interface paths { * */ post: operations["floatingIPsAction_post"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/floating_ips/{floating_ip}/actions/{action_id}": { parameters: { @@ -2572,13 +2572,13 @@ export interface paths { * @description To retrieve the status of a floating IP action, send a GET request to `/v2/floating_ips/$FLOATING_IP/actions/$ACTION_ID`. */ get: operations["floatingIPsAction_get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/functions/namespaces": { parameters: { @@ -2592,17 +2592,17 @@ export interface paths { * @description Returns a list of namespaces associated with the current user. To get all namespaces, send a GET request to `/v2/functions/namespaces`. */ get: operations["functions_list_namespaces"]; - put: never; + put?: never; /** * Create Namespace * @description Creates a new serverless functions namespace in the desired region and associates it with the provided label. A namespace is a collection of functions and their associated packages, triggers, and project specifications. To create a namespace, send a POST request to `/v2/functions/namespaces` with the `region` and `label` properties. */ post: operations["functions_create_namespace"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/functions/namespaces/{namespace_id}": { parameters: { @@ -2616,8 +2616,8 @@ export interface paths { * @description Gets the namespace details for the given namespace UUID. To get namespace details, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID` with no parameters. */ get: operations["functions_get_namespace"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete Namespace * @description Deletes the given namespace. When a namespace is deleted all assets, in the namespace are deleted, this includes packages, functions and triggers. Deleting a namespace is a destructive operation and assets in the namespace are not recoverable after deletion. Some metadata is retained, such as activations, or soft deleted for reporting purposes. @@ -2625,10 +2625,10 @@ export interface paths { * A successful deletion returns a 204 response. */ delete: operations["functions_delete_namespace"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/functions/namespaces/{namespace_id}/triggers": { parameters: { @@ -2642,17 +2642,17 @@ export interface paths { * @description Returns a list of triggers associated with the current user and namespace. To get all triggers, send a GET request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers`. */ get: operations["functions_list_triggers"]; - put: never; + put?: never; /** * Create Trigger * @description Creates a new trigger for a given function in a namespace. To create a trigger, send a POST request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers` with the `name`, `function`, `type`, `is_enabled` and `scheduled_details` properties. */ post: operations["functions_create_trigger"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/functions/namespaces/{namespace_id}/triggers/{trigger_name}": { parameters: { @@ -2671,7 +2671,7 @@ export interface paths { * @description Updates the details of the given trigger. To update a trigger, send a PUT request to `/v2/functions/namespaces/$NAMESPACE_ID/triggers/$TRIGGER_NAME` with new values for the `is_enabled ` or `scheduled_details` properties. */ put: operations["functions_update_trigger"]; - post: never; + post?: never; /** * Delete Trigger * @description Deletes the given trigger. @@ -2679,10 +2679,10 @@ export interface paths { * A successful deletion returns a 204 response. */ delete: operations["functions_delete_trigger"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/images": { parameters: { @@ -2720,7 +2720,7 @@ export interface paths { * */ get: operations["images_list"]; - put: never; + put?: never; /** * Create a Custom Image * @description To create a new custom image, send a POST request to /v2/images. @@ -2732,11 +2732,11 @@ export interface paths { * */ post: operations["images_create_custom"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/images/{image_id}": { parameters: { @@ -2760,17 +2760,17 @@ export interface paths { * */ put: operations["images_update"]; - post: never; + post?: never; /** * Delete an Image * @description To delete a snapshot or custom image, send a `DELETE` request to `/v2/images/$IMAGE_ID`. * */ delete: operations["images_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/images/{image_id}/actions": { parameters: { @@ -2784,7 +2784,7 @@ export interface paths { * @description To retrieve all actions that have been executed on an image, send a GET request to `/v2/images/$IMAGE_ID/actions`. */ get: operations["imageActions_list"]; - put: never; + put?: never; /** * Initiate an Image Action * @description The following actions are available on an Image. @@ -2803,11 +2803,11 @@ export interface paths { * */ post: operations["imageActions_post"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/images/{image_id}/actions/{action_id}": { parameters: { @@ -2821,13 +2821,13 @@ export interface paths { * @description To retrieve the status of an image action, send a GET request to `/v2/images/$IMAGE_ID/actions/$IMAGE_ACTION_ID`. */ get: operations["imageActions_get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters": { parameters: { @@ -2843,7 +2843,7 @@ export interface paths { * */ get: operations["kubernetes_list_clusters"]; - put: never; + put?: never; /** * Create a New Kubernetes Cluster * @description To create a new Kubernetes cluster, send a POST request to @@ -2858,11 +2858,11 @@ export interface paths { * */ post: operations["kubernetes_create_cluster"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}": { parameters: { @@ -2886,7 +2886,7 @@ export interface paths { * */ put: operations["kubernetes_update_cluster"]; - post: never; + post?: never; /** * Delete a Kubernetes Cluster * @description To delete a Kubernetes cluster and all services deployed to it, send a DELETE @@ -2897,10 +2897,10 @@ export interface paths { * */ delete: operations["kubernetes_delete_cluster"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources": { parameters: { @@ -2914,13 +2914,13 @@ export interface paths { * @description To list the associated billable resources that can be destroyed along with a cluster, send a GET request to the `/v2/kubernetes/clusters/$K8S_CLUSTER_ID/destroy_with_associated_resources` endpoint. */ get: operations["kubernetes_list_associatedResources"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/selective": { parameters: { @@ -2929,9 +2929,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Selectively Delete a Cluster and its Associated Resources * @description To delete a Kubernetes cluster along with a subset of its associated resources, @@ -2947,10 +2947,10 @@ export interface paths { * */ delete: operations["kubernetes_destroy_associatedResourcesSelective"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/destroy_with_associated_resources/dangerous": { parameters: { @@ -2959,9 +2959,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a Cluster and All of its Associated Resources (Dangerous) * @description To delete a Kubernetes cluster with all of its associated resources, send a @@ -2970,10 +2970,10 @@ export interface paths { * */ delete: operations["kubernetes_destroy_associatedResourcesDangerous"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/kubeconfig": { parameters: { @@ -3004,13 +3004,13 @@ export interface paths { * */ get: operations["kubernetes_get_kubeconfig"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/credentials": { parameters: { @@ -3040,13 +3040,13 @@ export interface paths { * */ get: operations["kubernetes_get_credentials"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/upgrades": { parameters: { @@ -3063,13 +3063,13 @@ export interface paths { * */ get: operations["kubernetes_get_availableUpgrades"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/upgrade": { parameters: { @@ -3078,8 +3078,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Upgrade a Kubernetes Cluster * @description To immediately upgrade a Kubernetes cluster to a newer patch release of @@ -3091,11 +3091,11 @@ export interface paths { * */ post: operations["kubernetes_upgrade_cluster"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/node_pools": { parameters: { @@ -3111,7 +3111,7 @@ export interface paths { * */ get: operations["kubernetes_list_nodePools"]; - put: never; + put?: never; /** * Add a Node Pool to a Kubernetes Cluster * @description To add an additional node pool to a Kubernetes clusters, send a POST request @@ -3120,11 +3120,11 @@ export interface paths { * */ post: operations["kubernetes_add_nodePool"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}": { parameters: { @@ -3149,7 +3149,7 @@ export interface paths { * */ put: operations["kubernetes_update_nodePool"]; - post: never; + post?: never; /** * Delete a Node Pool in a Kubernetes Cluster * @description To delete a node pool, send a DELETE request to @@ -3160,10 +3160,10 @@ export interface paths { * */ delete: operations["kubernetes_delete_nodePool"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/nodes/{node_id}": { parameters: { @@ -3172,9 +3172,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a Node in a Kubernetes Cluster * @description To delete a single node in a pool, send a DELETE request to @@ -3190,10 +3190,10 @@ export interface paths { * */ delete: operations["kubernetes_delete_node"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/node_pools/{node_pool_id}/recycle": { parameters: { @@ -3202,8 +3202,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Recycle a Kubernetes Node Pool * @deprecated @@ -3213,11 +3213,11 @@ export interface paths { * */ post: operations["kubernetes_recycle_node_pool"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/user": { parameters: { @@ -3233,13 +3233,13 @@ export interface paths { * */ get: operations["kubernetes_get_clusterUser"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/options": { parameters: { @@ -3253,13 +3253,13 @@ export interface paths { * @description To list the versions of Kubernetes available for use, the regions that support Kubernetes, and the available node sizes, send a GET request to `/v2/kubernetes/options`. */ get: operations["kubernetes_list_options"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/clusters/{cluster_id}/clusterlint": { parameters: { @@ -3280,7 +3280,7 @@ export interface paths { * */ get: operations["kubernetes_get_clusterLintResults"]; - put: never; + put?: never; /** * Run Clusterlint Checks on a Kubernetes Cluster * @description Clusterlint helps operators conform to Kubernetes best practices around @@ -3297,11 +3297,11 @@ export interface paths { * */ post: operations["kubernetes_run_clusterLint"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/kubernetes/registry": { parameters: { @@ -3310,8 +3310,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add Container Registry to Kubernetes Clusters * @description To integrate the container registry with Kubernetes clusters, send a POST request to `/v2/kubernetes/registry`. @@ -3322,10 +3322,10 @@ export interface paths { * @description To remove the container registry from Kubernetes clusters, send a DELETE request to `/v2/kubernetes/registry`. */ delete: operations["kubernetes_remove_registry"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/load_balancers": { parameters: { @@ -3341,7 +3341,7 @@ export interface paths { * */ get: operations["loadBalancers_list"]; - put: never; + put?: never; /** * Create a New Load Balancer * @description To create a new load balancer instance, send a POST request to @@ -3359,11 +3359,11 @@ export interface paths { * */ post: operations["loadBalancers_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/load_balancers/{lb_id}": { parameters: { @@ -3390,7 +3390,7 @@ export interface paths { * */ put: operations["loadBalancers_update"]; - post: never; + post?: never; /** * Delete a Load Balancer * @description To delete a load balancer instance, disassociating any Droplets assigned to it @@ -3402,10 +3402,10 @@ export interface paths { * */ delete: operations["loadBalancers_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/load_balancers/{lb_id}/droplets": { parameters: { @@ -3414,8 +3414,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add Droplets to a Load Balancer * @description To assign a Droplet to a load balancer instance, send a POST request to @@ -3443,10 +3443,10 @@ export interface paths { * */ delete: operations["loadBalancers_remove_droplets"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/load_balancers/{lb_id}/forwarding_rules": { parameters: { @@ -3455,8 +3455,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add Forwarding Rules to a Load Balancer * @description To add an additional forwarding rule to a load balancer instance, send a POST @@ -3483,10 +3483,10 @@ export interface paths { * */ delete: operations["loadBalancers_remove_forwardingRules"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/alerts": { parameters: { @@ -3500,17 +3500,17 @@ export interface paths { * @description Returns all alert policies that are configured for the given account. To List all alert policies, send a GET request to `/v2/monitoring/alerts`. */ get: operations["monitoring_list_alertPolicy"]; - put: never; + put?: never; /** * Create Alert Policy * @description To create a new alert, send a POST request to `/v2/monitoring/alerts`. */ post: operations["monitoring_create_alertPolicy"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/alerts/{alert_uuid}": { parameters: { @@ -3529,16 +3529,16 @@ export interface paths { * @description To update en existing policy, send a PUT request to `v2/monitoring/alerts/{alert_uuid}`. */ put: operations["monitoring_update_alertPolicy"]; - post: never; + post?: never; /** * Delete an Alert Policy * @description To delete an alert policy, send a DELETE request to `/v2/monitoring/alerts/{alert_uuid}` */ delete: operations["monitoring_delete_alertPolicy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/metrics/droplet/bandwidth": { parameters: { @@ -3552,13 +3552,13 @@ export interface paths { * @description To retrieve bandwidth metrics for a given Droplet, send a GET request to `/v2/monitoring/metrics/droplet/bandwidth`. Use the `interface` query parameter to specify if the results should be for the `private` or `public` interface. Use the `direction` query parameter to specify if the results should be for `inbound` or `outbound` traffic. */ get: operations["monitoring_get_dropletBandwidthMetrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/metrics/droplet/cpu": { parameters: { @@ -3572,13 +3572,13 @@ export interface paths { * @description To retrieve CPU metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/cpu`. */ get: operations["monitoring_get_DropletCpuMetrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/metrics/droplet/filesystem_free": { parameters: { @@ -3592,13 +3592,13 @@ export interface paths { * @description To retrieve filesystem free metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_free`. */ get: operations["monitoring_get_dropletFilesystemFreeMetrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/metrics/droplet/filesystem_size": { parameters: { @@ -3612,13 +3612,13 @@ export interface paths { * @description To retrieve filesystem size metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/filesystem_size`. */ get: operations["monitoring_get_dropletFilesystemSizeMetrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/metrics/droplet/load_1": { parameters: { @@ -3632,13 +3632,13 @@ export interface paths { * @description To retrieve 1 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_1`. */ get: operations["monitoring_get_dropletLoad1Metrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/metrics/droplet/load_5": { parameters: { @@ -3652,13 +3652,13 @@ export interface paths { * @description To retrieve 5 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_5`. */ get: operations["monitoring_get_dropletLoad5Metrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/metrics/droplet/load_15": { parameters: { @@ -3672,13 +3672,13 @@ export interface paths { * @description To retrieve 15 minute load average metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/load_15`. */ get: operations["monitoring_get_dropletLoad15Metrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/metrics/droplet/memory_cached": { parameters: { @@ -3692,13 +3692,13 @@ export interface paths { * @description To retrieve cached memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_cached`. */ get: operations["monitoring_get_dropletMemoryCachedMetrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/metrics/droplet/memory_free": { parameters: { @@ -3712,13 +3712,13 @@ export interface paths { * @description To retrieve free memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_free`. */ get: operations["monitoring_get_dropletMemoryFreeMetrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/metrics/droplet/memory_total": { parameters: { @@ -3732,13 +3732,13 @@ export interface paths { * @description To retrieve total memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_total`. */ get: operations["monitoring_get_dropletMemoryTotalMetrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/monitoring/metrics/droplet/memory_available": { parameters: { @@ -3752,13 +3752,13 @@ export interface paths { * @description To retrieve available memory metrics for a given droplet, send a GET request to `/v2/monitoring/metrics/droplet/memory_available`. */ get: operations["monitoring_get_dropletMemoryAvailableMetrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/projects": { parameters: { @@ -3772,17 +3772,17 @@ export interface paths { * @description To list all your projects, send a GET request to `/v2/projects`. */ get: operations["projects_list"]; - put: never; + put?: never; /** * Create a Project * @description To create a project, send a POST request to `/v2/projects`. */ post: operations["projects_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/projects/default": { parameters: { @@ -3801,16 +3801,16 @@ export interface paths { * @description To update you default project, send a PUT request to `/v2/projects/default`. All of the following attributes must be sent. */ put: operations["projects_update_default"]; - post: never; - delete: never; - options: never; - head: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Patch the Default Project * @description To update only specific attributes of your default project, send a PATCH request to `/v2/projects/default`. At least one of the following attributes needs to be sent. */ patch: operations["projects_patch_default"]; - trace: never; + trace?: never; }; "/v2/projects/{project_id}": { parameters: { @@ -3829,7 +3829,7 @@ export interface paths { * @description To update a project, send a PUT request to `/v2/projects/$PROJECT_ID`. All of the following attributes must be sent. */ put: operations["projects_update"]; - post: never; + post?: never; /** * Delete an Existing Project * @description To delete a project, send a DELETE request to `/v2/projects/$PROJECT_ID`. To @@ -3841,14 +3841,14 @@ export interface paths { * */ delete: operations["projects_delete"]; - options: never; - head: never; + options?: never; + head?: never; /** * Patch a Project * @description To update only specific attributes of a project, send a PATCH request to `/v2/projects/$PROJECT_ID`. At least one of the following attributes needs to be sent. */ patch: operations["projects_patch"]; - trace: never; + trace?: never; }; "/v2/projects/{project_id}/resources": { parameters: { @@ -3862,17 +3862,17 @@ export interface paths { * @description To list all your resources in a project, send a GET request to `/v2/projects/$PROJECT_ID/resources`. */ get: operations["projects_list_resources"]; - put: never; + put?: never; /** * Assign Resources to a Project * @description To assign resources to a project, send a POST request to `/v2/projects/$PROJECT_ID/resources`. */ post: operations["projects_assign_resources"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/projects/default/resources": { parameters: { @@ -3886,17 +3886,17 @@ export interface paths { * @description To list all your resources in your default project, send a GET request to `/v2/projects/default/resources`. */ get: operations["projects_list_resources_default"]; - put: never; + put?: never; /** * Assign Resources to Default Project * @description To assign resources to your default project, send a POST request to `/v2/projects/default/resources`. */ post: operations["projects_assign_resources_default"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/regions": { parameters: { @@ -3911,13 +3911,13 @@ export interface paths { * The response will be a JSON object with a key called `regions`. The value of this will be an array of `region` objects, each of which will contain the standard region attributes. */ get: operations["regions_list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry": { parameters: { @@ -3931,7 +3931,7 @@ export interface paths { * @description To get information about your container registry, send a GET request to `/v2/registry`. */ get: operations["registry_get"]; - put: never; + put?: never; /** * Create Container Registry * @description To create your container registry, send a POST request to `/v2/registry`. @@ -3947,10 +3947,10 @@ export interface paths { * @description To delete your container registry, destroying all container image data stored in it, send a DELETE request to `/v2/registry`. */ delete: operations["registry_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/subscription": { parameters: { @@ -3964,17 +3964,17 @@ export interface paths { * @description A subscription is automatically created when you configure your container registry. To get information about your subscription, send a GET request to `/v2/registry/subscription`. */ get: operations["registry_get_subscription"]; - put: never; + put?: never; /** * Update Subscription Tier * @description After creating your registry, you can switch to a different subscription tier to better suit your needs. To do this, send a POST request to `/v2/registry/subscription`. */ post: operations["registry_update_subscription"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/docker-credentials": { parameters: { @@ -4010,13 +4010,13 @@ export interface paths { * */ get: operations["registry_get_dockerCredentials"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/validate-name": { parameters: { @@ -4025,8 +4025,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Validate a Container Registry Name * @description To validate that a container registry name is available for use, send a POST @@ -4038,11 +4038,11 @@ export interface paths { * */ post: operations["registry_validate_name"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/{registry_name}/repositories": { parameters: { @@ -4061,13 +4061,13 @@ export interface paths { * */ get: operations["registry_list_repositories"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/{registry_name}/repositoriesV2": { parameters: { @@ -4081,13 +4081,13 @@ export interface paths { * @description To list all repositories in your container registry, send a GET request to `/v2/registry/$REGISTRY_NAME/repositoriesV2`. */ get: operations["registry_list_repositoriesV2"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/{registry_name}/repositories/{repository_name}/tags": { parameters: { @@ -4108,13 +4108,13 @@ export interface paths { * */ get: operations["registry_list_repositoryTags"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/{registry_name}/repositories/{repository_name}/tags/{repository_tag}": { parameters: { @@ -4123,9 +4123,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete Container Registry Repository Tag * @description To delete a container repository tag, send a DELETE request to @@ -4141,10 +4141,10 @@ export interface paths { * */ delete: operations["registry_delete_repositoryTag"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/{registry_name}/repositories/{repository_name}/digests": { parameters: { @@ -4165,13 +4165,13 @@ export interface paths { * */ get: operations["registry_list_repositoryManifests"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/{registry_name}/repositories/{repository_name}/digests/{manifest_digest}": { parameters: { @@ -4180,9 +4180,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete Container Registry Repository Manifest * @description To delete a container repository manifest by digest, send a DELETE request to @@ -4198,10 +4198,10 @@ export interface paths { * */ delete: operations["registry_delete_repositoryManifest"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/{registry_name}/garbage-collection": { parameters: { @@ -4215,7 +4215,7 @@ export interface paths { * @description To get information about the currently-active garbage collection for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collection`. */ get: operations["registry_get_garbageCollection"]; - put: never; + put?: never; /** * Start Garbage Collection * @description Garbage collection enables users to clear out unreferenced blobs (layer & @@ -4242,11 +4242,11 @@ export interface paths { * */ post: operations["registry_run_garbageCollection"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/{registry_name}/garbage-collections": { parameters: { @@ -4260,13 +4260,13 @@ export interface paths { * @description To get information about past garbage collections for a registry, send a GET request to `/v2/registry/$REGISTRY_NAME/garbage-collections`. */ get: operations["registry_list_garbageCollections"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/{registry_name}/garbage-collection/{garbage_collection_uuid}": { parameters: { @@ -4275,18 +4275,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Update Garbage Collection * @description To cancel the currently-active garbage collection for a registry, send a PUT request to `/v2/registry/$REGISTRY_NAME/garbage-collection/$GC_UUID` and specify one or more of the attributes below. */ put: operations["registry_update_garbageCollection"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/registry/options": { parameters: { @@ -4303,13 +4303,13 @@ export interface paths { * To list the available options, send a GET request to `/v2/registry/options`. */ get: operations["registry_get_options"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/reports/droplet_neighbors_ids": { parameters: { @@ -4331,13 +4331,13 @@ export interface paths { * */ get: operations["droplets_list_neighborsIds"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/reserved_ips": { parameters: { @@ -4351,7 +4351,7 @@ export interface paths { * @description To list all of the reserved IPs available on your account, send a GET request to `/v2/reserved_ips`. */ get: operations["reservedIPs_list"]; - put: never; + put?: never; /** * Create a New Reserved IP * @description On creation, a reserved IP must be either assigned to a Droplet or reserved to a region. @@ -4364,11 +4364,11 @@ export interface paths { * **Note**: In addition to the standard rate limiting, only 12 reserved IPs may be created per 60 seconds. */ post: operations["reservedIPs_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/reserved_ips/{reserved_ip}": { parameters: { @@ -4382,8 +4382,8 @@ export interface paths { * @description To show information about a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP_ADDR`. */ get: operations["reservedIPs_get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a Reserved IP * @description To delete a reserved IP and remove it from your account, send a DELETE request @@ -4394,10 +4394,10 @@ export interface paths { * */ delete: operations["reservedIPs_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/reserved_ips/{reserved_ip}/actions": { parameters: { @@ -4411,7 +4411,7 @@ export interface paths { * @description To retrieve all actions that have been executed on a reserved IP, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions`. */ get: operations["reservedIPsActions_list"]; - put: never; + put?: never; /** * Initiate a Reserved IP Action * @description To initiate an action on a reserved IP send a POST request to @@ -4425,11 +4425,11 @@ export interface paths { * */ post: operations["reservedIPsActions_post"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/reserved_ips/{reserved_ip}/actions/{action_id}": { parameters: { @@ -4443,13 +4443,13 @@ export interface paths { * @description To retrieve the status of a reserved IP action, send a GET request to `/v2/reserved_ips/$RESERVED_IP/actions/$ACTION_ID`. */ get: operations["reservedIPsActions_get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/sizes": { parameters: { @@ -4464,13 +4464,13 @@ export interface paths { * The response will be a JSON object with a key called `sizes`. The value of this will be an array of `size` objects each of which contain the standard size attributes. */ get: operations["sizes_list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/snapshots": { parameters: { @@ -4504,13 +4504,13 @@ export interface paths { * */ get: operations["snapshots_list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/snapshots/{snapshot_id}": { parameters: { @@ -4529,8 +4529,8 @@ export interface paths { * */ get: operations["snapshots_get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a Snapshot * @description Both Droplet and volume snapshots are managed through the `/v2/snapshots/` @@ -4542,10 +4542,10 @@ export interface paths { * */ delete: operations["snapshots_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/tags": { parameters: { @@ -4559,17 +4559,17 @@ export interface paths { * @description To list all of your tags, you can send a GET request to `/v2/tags`. */ get: operations["tags_list"]; - put: never; + put?: never; /** * Create a New Tag * @description To create a tag you can send a POST request to `/v2/tags` with a `name` attribute. */ post: operations["tags_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/tags/{tag_id}": { parameters: { @@ -4583,17 +4583,17 @@ export interface paths { * @description To retrieve an individual tag, you can send a `GET` request to `/v2/tags/$TAG_NAME`. */ get: operations["tags_get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a Tag * @description A tag can be deleted by sending a `DELETE` request to `/v2/tags/$TAG_NAME`. Deleting a tag also untags all the resources that have previously been tagged by the Tag */ delete: operations["tags_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/tags/{tag_id}/resources": { parameters: { @@ -4602,8 +4602,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Tag a Resource * @description Resources can be tagged by sending a POST request to `/v2/tags/$TAG_NAME/resources` with an array of json objects containing `resource_id` and `resource_type` attributes. @@ -4616,10 +4616,10 @@ export interface paths { * Currently only untagging of Droplets, Databases, Images, Volumes, and Volume Snapshots is supported. `resource_type` is expected to be the string `droplet`, `database`, `image`, `volume` or `volume_snapshot`. `resource_id` is expected to be the ID of the resource as a string. */ delete: operations["tags_unassign_resources"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/volumes": { parameters: { @@ -4644,7 +4644,7 @@ export interface paths { * */ get: operations["volumes_list"]; - put: never; + put?: never; /** * Create a New Block Storage Volume * @description To create a new volume, send a POST request to `/v2/volumes`. Optionally, a `filesystem_type` attribute may be provided in order to automatically format the volume's filesystem. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to Droplets without support for auto-mounting is not recommended. @@ -4658,10 +4658,10 @@ export interface paths { * */ delete: operations["volumes_delete_byName"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/volumes/actions": { parameters: { @@ -4670,8 +4670,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Initiate A Block Storage Action By Volume Name * @description To initiate an action on a block storage volume by Name, send a POST request to @@ -4705,11 +4705,11 @@ export interface paths { * */ post: operations["volumeActions_post"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/volumes/snapshots/{snapshot_id}": { parameters: { @@ -4725,8 +4725,8 @@ export interface paths { * */ get: operations["volumeSnapshots_get_byId"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a Volume Snapshot * @description To delete a volume snapshot, send a DELETE request to @@ -4737,10 +4737,10 @@ export interface paths { * */ delete: operations["volumeSnapshots_delete_byId"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/volumes/{volume_id}": { parameters: { @@ -4756,8 +4756,8 @@ export interface paths { * */ get: operations["volumes_get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a Block Storage Volume * @description To delete a block storage volume, destroying all data and removing it from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`. @@ -4766,10 +4766,10 @@ export interface paths { * */ delete: operations["volumes_delete"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/volumes/{volume_id}/actions": { parameters: { @@ -4785,7 +4785,7 @@ export interface paths { * */ get: operations["volumeActions_list"]; - put: never; + put?: never; /** * Initiate A Block Storage Action By Volume Id * @description To initiate an action on a block storage volume by Id, send a POST request to @@ -4827,11 +4827,11 @@ export interface paths { * */ post: operations["volumeActions_post_byId"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/volumes/{volume_id}/actions/{action_id}": { parameters: { @@ -4847,13 +4847,13 @@ export interface paths { * */ get: operations["volumeActions_get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/volumes/{volume_id}/snapshots": { parameters: { @@ -4869,17 +4869,17 @@ export interface paths { * */ get: operations["volumeSnapshots_list"]; - put: never; + put?: never; /** * Create Snapshot from a Volume * @description To create a snapshot from a volume, sent a POST request to `/v2/volumes/$VOLUME_ID/snapshots`. */ post: operations["volumeSnapshots_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/vpcs": { parameters: { @@ -4893,7 +4893,7 @@ export interface paths { * @description To list all of the VPCs on your account, send a GET request to `/v2/vpcs`. */ get: operations["vpcs_list"]; - put: never; + put?: never; /** * Create a New VPC * @description To create a VPC, send a POST request to `/v2/vpcs` specifying the attributes @@ -4905,11 +4905,11 @@ export interface paths { * */ post: operations["vpcs_create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/vpcs/{vpc_id}": { parameters: { @@ -4929,7 +4929,7 @@ export interface paths { * */ put: operations["vpcs_update"]; - post: never; + post?: never; /** * Delete a VPC * @description To delete a VPC, send a DELETE request to `/v2/vpcs/$VPC_ID`. A 204 status @@ -4942,8 +4942,8 @@ export interface paths { * */ delete: operations["vpcs_delete"]; - options: never; - head: never; + options?: never; + head?: never; /** * Partially Update a VPC * @description To update a subset of information about a VPC, send a PATCH request to @@ -4951,7 +4951,7 @@ export interface paths { * */ patch: operations["vpcs_patch"]; - trace: never; + trace?: never; }; "/v2/vpcs/{vpc_id}/members": { parameters: { @@ -4971,13 +4971,13 @@ export interface paths { * */ get: operations["vpcs_list_members"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/uptime/checks": { parameters: { @@ -4991,7 +4991,7 @@ export interface paths { * @description To list all of the Uptime checks on your account, send a GET request to `/v2/uptime/checks`. */ get: operations["uptime_list_checks"]; - put: never; + put?: never; /** * Create a New Check * @description To create an Uptime check, send a POST request to `/v2/uptime/checks` specifying the attributes @@ -4999,11 +4999,11 @@ export interface paths { * */ post: operations["uptime_create_check"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/uptime/checks/{check_id}": { parameters: { @@ -5023,7 +5023,7 @@ export interface paths { * */ put: operations["uptime_update_check"]; - post: never; + post?: never; /** * Delete a Check * @description To delete an Uptime check, send a DELETE request to `/v2/uptime/checks/$CHECK_ID`. A 204 status @@ -5034,10 +5034,10 @@ export interface paths { * */ delete: operations["uptime_delete_check"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/uptime/checks/{check_id}/state": { parameters: { @@ -5051,13 +5051,13 @@ export interface paths { * @description To show information about an existing check's state, send a GET request to `/v2/uptime/checks/$CHECK_ID/state`. */ get: operations["uptime_get_checkState"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/uptime/checks/{check_id}/alerts": { parameters: { @@ -5071,7 +5071,7 @@ export interface paths { * @description To list all of the alerts for an Uptime check, send a GET request to `/v2/uptime/checks/$CHECK_ID/alerts`. */ get: operations["uptime_list_alerts"]; - put: never; + put?: never; /** * Create a New Alert * @description To create an Uptime alert, send a POST request to `/v2/uptime/checks/$CHECK_ID/alerts` specifying the attributes @@ -5079,11 +5079,11 @@ export interface paths { * */ post: operations["uptime_create_alert"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v2/uptime/checks/{check_id}/alerts/{alert_id}": { parameters: { @@ -5103,7 +5103,7 @@ export interface paths { * */ put: operations["uptime_update_alert"]; - post: never; + post?: never; /** * Delete an Alert * @description To delete an Uptime alert, send a DELETE request to `/v2/uptime/checks/$CHECK_ID/alerts/$ALERT_ID`. A 204 status @@ -5111,10 +5111,10 @@ export interface paths { * */ delete: operations["uptime_delete_alert"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; @@ -10519,7 +10519,7 @@ export interface components { * } */ metric: { - [key: string]: string; + [key: string]: string | undefined; }; /** @example [ * [ diff --git a/packages/openapi-typescript/examples/github-api-next.ts b/packages/openapi-typescript/examples/github-api-next.ts index d3c2d6bf6..aed5f6219 100644 --- a/packages/openapi-typescript/examples/github-api-next.ts +++ b/packages/openapi-typescript/examples/github-api-next.ts @@ -16,13 +16,13 @@ export interface paths { * @description Get Hypermedia links to resources accessible in GitHub's REST API */ get: operations["meta/root"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/advisories": { parameters: { @@ -38,13 +38,13 @@ export interface paths { * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." */ get: operations["security-advisories/list-global-advisories"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/advisories/{ghsa_id}": { parameters: { @@ -58,13 +58,13 @@ export interface paths { * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. */ get: operations["security-advisories/get-global-advisory"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app": { parameters: { @@ -80,13 +80,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-authenticated"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app-manifests/{code}/conversions": { parameters: { @@ -95,18 +95,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a GitHub App from a manifest * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */ post: operations["apps/create-from-manifest"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/hook/config": { parameters: { @@ -122,11 +122,11 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-webhook-config-for-app"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a webhook configuration for an app * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." @@ -134,7 +134,7 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ patch: operations["apps/update-webhook-config-for-app"]; - trace: never; + trace?: never; }; "/app/hook/deliveries": { parameters: { @@ -150,13 +150,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/list-webhook-deliveries"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/hook/deliveries/{delivery_id}": { parameters: { @@ -172,13 +172,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-webhook-delivery"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/hook/deliveries/{delivery_id}/attempts": { parameters: { @@ -187,8 +187,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Redeliver a delivery for an app webhook * @description Redeliver a delivery for the webhook configured for a GitHub App. @@ -196,11 +196,11 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ post: operations["apps/redeliver-webhook-delivery"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installation-requests": { parameters: { @@ -214,13 +214,13 @@ export interface paths { * @description Lists all the pending installation requests for the authenticated GitHub App. */ get: operations["apps/list-installation-requests-for-authenticated-app"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installations": { parameters: { @@ -236,13 +236,13 @@ export interface paths { * The permissions the installation has are included under the `permissions` key. */ get: operations["apps/list-installations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installations/{installation_id}": { parameters: { @@ -258,8 +258,8 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-installation"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an installation for the authenticated app * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. @@ -267,10 +267,10 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ delete: operations["apps/delete-installation"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installations/{installation_id}/access_tokens": { parameters: { @@ -279,8 +279,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create an installation access token for an app * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. @@ -288,11 +288,11 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ post: operations["apps/create-installation-access-token"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installations/{installation_id}/suspended": { parameters: { @@ -301,7 +301,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Suspend an app installation * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. @@ -309,7 +309,7 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ put: operations["apps/suspend-installation"]; - post: never; + post?: never; /** * Unsuspend an app installation * @description Removes a GitHub App installation suspension. @@ -317,10 +317,10 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ delete: operations["apps/unsuspend-installation"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/applications/{client_id}/grant": { parameters: { @@ -329,19 +329,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete an app authorization * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). */ delete: operations["apps/delete-authorization"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/applications/{client_id}/token": { parameters: { @@ -350,8 +350,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Check a token * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. @@ -362,14 +362,14 @@ export interface paths { * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. */ delete: operations["apps/delete-token"]; - options: never; - head: never; + options?: never; + head?: never; /** * Reset a token * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ patch: operations["apps/reset-token"]; - trace: never; + trace?: never; }; "/applications/{client_id}/token/scoped": { parameters: { @@ -378,18 +378,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a scoped access token * @description Use a non-scoped user access token to create a repository scoped and/or permission scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. */ post: operations["apps/scope-token"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/apps/{app_slug}": { parameters: { @@ -405,13 +405,13 @@ export interface paths { * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ get: operations["apps/get-by-slug"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/assignments/{assignment_id}": { parameters: { @@ -425,13 +425,13 @@ export interface paths { * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. */ get: operations["classroom/get-an-assignment"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/assignments/{assignment_id}/accepted_assignments": { parameters: { @@ -445,13 +445,13 @@ export interface paths { * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. */ get: operations["classroom/list-accepted-assigments-for-an-assignment"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/assignments/{assignment_id}/grades": { parameters: { @@ -465,13 +465,13 @@ export interface paths { * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. */ get: operations["classroom/get-assignment-grades"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/classrooms": { parameters: { @@ -485,13 +485,13 @@ export interface paths { * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. */ get: operations["classroom/list-classrooms"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/classrooms/{classroom_id}": { parameters: { @@ -505,13 +505,13 @@ export interface paths { * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. */ get: operations["classroom/get-a-classroom"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/classrooms/{classroom_id}/assignments": { parameters: { @@ -525,13 +525,13 @@ export interface paths { * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. */ get: operations["classroom/list-assignments-for-a-classroom"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/codes_of_conduct": { parameters: { @@ -545,13 +545,13 @@ export interface paths { * @description Returns array of all GitHub's codes of conduct. */ get: operations["codes-of-conduct/get-all-codes-of-conduct"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/codes_of_conduct/{key}": { parameters: { @@ -565,13 +565,13 @@ export interface paths { * @description Returns information about the specified GitHub code of conduct. */ get: operations["codes-of-conduct/get-conduct-code"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/emojis": { parameters: { @@ -585,13 +585,13 @@ export interface paths { * @description Lists all the emojis available to use on GitHub. */ get: operations["emojis/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprises/{enterprise}/dependabot/alerts": { parameters: { @@ -608,13 +608,13 @@ export interface paths { * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ get: operations["dependabot/list-alerts-for-enterprise"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprises/{enterprise}/secret-scanning/alerts": { parameters: { @@ -629,13 +629,13 @@ export interface paths { * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). */ get: operations["secret-scanning/list-alerts-for-enterprise"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/events": { parameters: { @@ -649,13 +649,13 @@ export interface paths { * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ get: operations["activity/list-public-events"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/feeds": { parameters: { @@ -679,13 +679,13 @@ export interface paths { * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. */ get: operations["activity/get-feeds"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists": { parameters: { @@ -699,7 +699,7 @@ export interface paths { * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */ get: operations["gists/list"]; - put: never; + put?: never; /** * Create a gist * @description Allows you to add a new gist with one or more files. @@ -707,11 +707,11 @@ export interface paths { * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. */ post: operations["gists/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/public": { parameters: { @@ -727,13 +727,13 @@ export interface paths { * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. */ get: operations["gists/list-public"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/starred": { parameters: { @@ -747,13 +747,13 @@ export interface paths { * @description List the authenticated user's starred gists: */ get: operations["gists/list-starred"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/{gist_id}": { parameters: { @@ -764,19 +764,19 @@ export interface paths { }; /** Get a gist */ get: operations["gists/get"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a gist */ delete: operations["gists/delete"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a gist * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. * At least one of `description` or `files` is required. */ patch: operations["gists/update"]; - trace: never; + trace?: never; }; "/gists/{gist_id}/comments": { parameters: { @@ -787,14 +787,14 @@ export interface paths { }; /** List gist comments */ get: operations["gists/list-comments"]; - put: never; + put?: never; /** Create a gist comment */ post: operations["gists/create-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/{gist_id}/comments/{comment_id}": { parameters: { @@ -805,15 +805,15 @@ export interface paths { }; /** Get a gist comment */ get: operations["gists/get-comment"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a gist comment */ delete: operations["gists/delete-comment"]; - options: never; - head: never; + options?: never; + head?: never; /** Update a gist comment */ patch: operations["gists/update-comment"]; - trace: never; + trace?: never; }; "/gists/{gist_id}/commits": { parameters: { @@ -824,13 +824,13 @@ export interface paths { }; /** List gist commits */ get: operations["gists/list-commits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/{gist_id}/forks": { parameters: { @@ -841,14 +841,14 @@ export interface paths { }; /** List gist forks */ get: operations["gists/list-forks"]; - put: never; + put?: never; /** Fork a gist */ post: operations["gists/fork"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/{gist_id}/star": { parameters: { @@ -864,13 +864,13 @@ export interface paths { * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["gists/star"]; - post: never; + post?: never; /** Unstar a gist */ delete: operations["gists/unstar"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/{gist_id}/{sha}": { parameters: { @@ -881,13 +881,13 @@ export interface paths { }; /** Get a gist revision */ get: operations["gists/get-revision"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gitignore/templates": { parameters: { @@ -901,13 +901,13 @@ export interface paths { * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). */ get: operations["gitignore/get-all-templates"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gitignore/templates/{name}": { parameters: { @@ -922,13 +922,13 @@ export interface paths { * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. */ get: operations["gitignore/get-template"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/installation/repositories": { parameters: { @@ -944,13 +944,13 @@ export interface paths { * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ get: operations["apps/list-repos-accessible-to-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/installation/token": { parameters: { @@ -959,9 +959,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Revoke an installation access token * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. @@ -971,10 +971,10 @@ export interface paths { * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ delete: operations["apps/revoke-installation-access-token"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/issues": { parameters: { @@ -996,13 +996,13 @@ export interface paths { * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. */ get: operations["issues/list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/licenses": { parameters: { @@ -1016,13 +1016,13 @@ export interface paths { * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." */ get: operations["licenses/get-all-commonly-used"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/licenses/{license}": { parameters: { @@ -1036,13 +1036,13 @@ export interface paths { * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." */ get: operations["licenses/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/markdown": { parameters: { @@ -1051,15 +1051,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Render a Markdown document */ post: operations["markdown/render"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/markdown/raw": { parameters: { @@ -1068,18 +1068,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Render a Markdown document in raw mode * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. */ post: operations["markdown/render-raw"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/accounts/{account_id}": { parameters: { @@ -1095,13 +1095,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/get-subscription-plan-for-account"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/plans": { parameters: { @@ -1117,13 +1117,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/list-plans"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/plans/{plan_id}/accounts": { parameters: { @@ -1139,13 +1139,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/list-accounts-for-plan"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/stubbed/accounts/{account_id}": { parameters: { @@ -1161,13 +1161,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/get-subscription-plan-for-account-stubbed"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/stubbed/plans": { parameters: { @@ -1183,13 +1183,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/list-plans-stubbed"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { parameters: { @@ -1205,13 +1205,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/list-accounts-for-plan-stubbed"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/meta": { parameters: { @@ -1231,13 +1231,13 @@ export interface paths { * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. */ get: operations["meta/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/networks/{owner}/{repo}/events": { parameters: { @@ -1248,13 +1248,13 @@ export interface paths { }; /** List public events for a network of repositories */ get: operations["activity/list-public-events-for-repo-network"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/notifications": { parameters: { @@ -1273,12 +1273,12 @@ export interface paths { * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ put: operations["activity/mark-notifications-as-read"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/notifications/threads/{thread_id}": { parameters: { @@ -1292,17 +1292,17 @@ export interface paths { * @description Gets information about a notification thread. */ get: operations["activity/get-thread"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Mark a thread as read * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. */ patch: operations["activity/mark-thread-as-read"]; - trace: never; + trace?: never; }; "/notifications/threads/{thread_id}/subscription": { parameters: { @@ -1327,16 +1327,16 @@ export interface paths { * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. */ put: operations["activity/set-thread-subscription"]; - post: never; + post?: never; /** * Delete a thread subscription * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. */ delete: operations["activity/delete-thread-subscription"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/octocat": { parameters: { @@ -1350,13 +1350,13 @@ export interface paths { * @description Get the octocat as ASCII art */ get: operations["meta/get-octocat"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/organizations": { parameters: { @@ -1372,13 +1372,13 @@ export interface paths { * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. */ get: operations["orgs/list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}": { parameters: { @@ -1394,8 +1394,8 @@ export interface paths { * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." */ get: operations["orgs/get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an organization * @description Deletes an organization and all its repositories. @@ -1407,8 +1407,8 @@ export interface paths { * https://docs.github.com/site-policy/github-terms/github-terms-of-service */ delete: operations["orgs/delete"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an organization * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). @@ -1416,7 +1416,7 @@ export interface paths { * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. */ patch: operations["orgs/update"]; - trace: never; + trace?: never; }; "/orgs/{org}/actions/cache/usage": { parameters: { @@ -1432,13 +1432,13 @@ export interface paths { * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. */ get: operations["actions/get-actions-cache-usage-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/cache/usage-by-repository": { parameters: { @@ -1454,13 +1454,13 @@ export interface paths { * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. */ get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/oidc/customization/sub": { parameters: { @@ -1483,12 +1483,12 @@ export interface paths { * GitHub Apps must have the `admin:org` permission to use this endpoint. */ put: operations["oidc/update-oidc-custom-sub-template-for-org"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/permissions": { parameters: { @@ -1511,12 +1511,12 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ put: operations["actions/set-github-actions-permissions-organization"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/permissions/repositories": { parameters: { @@ -1539,12 +1539,12 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/permissions/repositories/{repository_id}": { parameters: { @@ -1553,7 +1553,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Enable a selected repository for GitHub Actions in an organization * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." @@ -1561,7 +1561,7 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ put: operations["actions/enable-selected-repository-github-actions-organization"]; - post: never; + post?: never; /** * Disable a selected repository for GitHub Actions in an organization * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." @@ -1569,10 +1569,10 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ delete: operations["actions/disable-selected-repository-github-actions-organization"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/permissions/selected-actions": { parameters: { @@ -1595,12 +1595,12 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ put: operations["actions/set-allowed-actions-organization"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/permissions/workflow": { parameters: { @@ -1627,12 +1627,12 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners": { parameters: { @@ -1651,13 +1651,13 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/list-self-hosted-runners-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/downloads": { parameters: { @@ -1676,13 +1676,13 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/list-runner-applications-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/generate-jitconfig": { parameters: { @@ -1691,8 +1691,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create configuration for a just-in-time runner for an organization * @description Generates a configuration that can be passed to the runner application at startup. @@ -1703,11 +1703,11 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ post: operations["actions/generate-runner-jitconfig-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/registration-token": { parameters: { @@ -1716,8 +1716,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a registration token for an organization * @description Returns a token that you can pass to the `config` script. The token expires after one hour. @@ -1736,11 +1736,11 @@ export interface paths { * ``` */ post: operations["actions/create-registration-token-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/remove-token": { parameters: { @@ -1749,8 +1749,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a remove token for an organization * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. @@ -1770,11 +1770,11 @@ export interface paths { * ``` */ post: operations["actions/create-remove-token-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/{runner_id}": { parameters: { @@ -1793,8 +1793,8 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/get-self-hosted-runner-for-org"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a self-hosted runner from an organization * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. @@ -1805,10 +1805,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/delete-self-hosted-runner-from-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/{runner_id}/labels": { parameters: { @@ -1859,10 +1859,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { parameters: { @@ -1871,9 +1871,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Remove a custom label from a self-hosted runner for an organization * @description Remove a custom label from a self-hosted runner configured @@ -1888,10 +1888,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/secrets": { parameters: { @@ -1911,13 +1911,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/list-org-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/secrets/public-key": { parameters: { @@ -1937,13 +1937,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/get-org-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/secrets/{secret_name}": { parameters: { @@ -1973,7 +1973,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ put: operations["actions/create-or-update-org-secret"]; - post: never; + post?: never; /** * Delete an organization secret * @description Deletes a secret in an organization using the secret name. @@ -1984,10 +1984,10 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ delete: operations["actions/delete-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/secrets/{secret_name}/repositories": { parameters: { @@ -2019,12 +2019,12 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ put: operations["actions/set-selected-repos-for-org-secret"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { parameters: { @@ -2033,7 +2033,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add selected repository to an organization secret * @description Adds a repository to an organization secret when the `visibility` for @@ -2046,7 +2046,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ put: operations["actions/add-selected-repo-to-org-secret"]; - post: never; + post?: never; /** * Remove selected repository from an organization secret * @description Removes a repository from an organization secret when the `visibility` @@ -2059,10 +2059,10 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ delete: operations["actions/remove-selected-repo-from-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/variables": { parameters: { @@ -2077,7 +2077,7 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/list-org-variables"]; - put: never; + put?: never; /** * Create an organization variable * @description Creates an organization variable that you can reference in a GitHub Actions workflow. @@ -2088,11 +2088,11 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ post: operations["actions/create-org-variable"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/variables/{name}": { parameters: { @@ -2111,8 +2111,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/get-org-variable"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an organization variable * @description Deletes an organization variable using the variable name. @@ -2123,8 +2123,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ delete: operations["actions/delete-org-variable"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an organization variable * @description Updates an organization variable that you can reference in a GitHub Actions workflow. @@ -2135,7 +2135,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ patch: operations["actions/update-org-variable"]; - trace: never; + trace?: never; }; "/orgs/{org}/actions/variables/{name}/repositories": { parameters: { @@ -2168,12 +2168,12 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ put: operations["actions/set-selected-repos-for-org-variable"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { parameters: { @@ -2182,7 +2182,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add selected repository to an organization variable * @description Adds a repository to an organization variable that is available to selected repositories. @@ -2194,7 +2194,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ put: operations["actions/add-selected-repo-to-org-variable"]; - post: never; + post?: never; /** * Remove selected repository from an organization variable * @description Removes a repository from an organization variable that is @@ -2207,10 +2207,10 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ delete: operations["actions/remove-selected-repo-from-org-variable"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/blocks": { parameters: { @@ -2224,13 +2224,13 @@ export interface paths { * @description List the users blocked by an organization. */ get: operations["orgs/list-blocked-users"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/blocks/{username}": { parameters: { @@ -2249,16 +2249,16 @@ export interface paths { * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. */ put: operations["orgs/block-user"]; - post: never; + post?: never; /** * Unblock a user from an organization * @description Unblocks the given user on behalf of the specified organization. */ delete: operations["orgs/unblock-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/code-scanning/alerts": { parameters: { @@ -2278,13 +2278,13 @@ export interface paths { * GitHub Apps must have the `security_events` read permission to use this endpoint. */ get: operations["code-scanning/list-alerts-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces": { parameters: { @@ -2300,13 +2300,13 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ get: operations["codespaces/list-in-organization"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/access": { parameters: { @@ -2315,7 +2315,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Manage access control for organization codespaces * @deprecated @@ -2323,12 +2323,12 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ put: operations["codespaces/set-codespaces-access"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/access/selected_users": { parameters: { @@ -2337,8 +2337,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add users to Codespaces access for an organization * @deprecated @@ -2361,10 +2361,10 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ delete: operations["codespaces/delete-codespaces-access-users"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/secrets": { parameters: { @@ -2379,13 +2379,13 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ get: operations["codespaces/list-org-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/secrets/public-key": { parameters: { @@ -2399,13 +2399,13 @@ export interface paths { * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ get: operations["codespaces/get-org-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/secrets/{secret_name}": { parameters: { @@ -2429,16 +2429,16 @@ export interface paths { * token with the `admin:org` scope to use this endpoint. */ put: operations["codespaces/create-or-update-org-secret"]; - post: never; + post?: never; /** * Delete an organization secret * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ delete: operations["codespaces/delete-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { parameters: { @@ -2457,12 +2457,12 @@ export interface paths { * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ put: operations["codespaces/set-selected-repos-for-org-secret"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { parameters: { @@ -2471,22 +2471,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add selected repository to an organization secret * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ put: operations["codespaces/add-selected-repo-to-org-secret"]; - post: never; + post?: never; /** * Remove selected repository from an organization secret * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ delete: operations["codespaces/remove-selected-repo-from-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/copilot/billing": { parameters: { @@ -2507,13 +2507,13 @@ export interface paths { * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ get: operations["copilot/get-copilot-organization-details"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/copilot/billing/seats": { parameters: { @@ -2532,13 +2532,13 @@ export interface paths { * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ get: operations["copilot/list-copilot-seats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/copilot/billing/selected_teams": { parameters: { @@ -2547,8 +2547,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add teams to the Copilot for Business subscription for an organization * @description **Note**: This endpoint is in beta and is subject to change. @@ -2579,10 +2579,10 @@ export interface paths { * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/copilot/billing/selected_users": { parameters: { @@ -2591,8 +2591,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add users to the Copilot for Business subscription for an organization * @description **Note**: This endpoint is in beta and is subject to change. @@ -2623,10 +2623,10 @@ export interface paths { * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/alerts": { parameters: { @@ -2646,13 +2646,13 @@ export interface paths { * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. */ get: operations["dependabot/list-alerts-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/secrets": { parameters: { @@ -2666,13 +2666,13 @@ export interface paths { * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ get: operations["dependabot/list-org-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/secrets/public-key": { parameters: { @@ -2686,13 +2686,13 @@ export interface paths { * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ get: operations["dependabot/get-org-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/secrets/{secret_name}": { parameters: { @@ -2716,16 +2716,16 @@ export interface paths { * permission to use this endpoint. */ put: operations["dependabot/create-or-update-org-secret"]; - post: never; + post?: never; /** * Delete an organization secret * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ delete: operations["dependabot/delete-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { parameters: { @@ -2744,12 +2744,12 @@ export interface paths { * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ put: operations["dependabot/set-selected-repos-for-org-secret"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { parameters: { @@ -2758,22 +2758,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add selected repository to an organization secret * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ put: operations["dependabot/add-selected-repo-to-org-secret"]; - post: never; + post?: never; /** * Remove selected repository from an organization secret * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ delete: operations["dependabot/remove-selected-repo-from-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/docker/conflicts": { parameters: { @@ -2788,13 +2788,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. */ get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/events": { parameters: { @@ -2805,13 +2805,13 @@ export interface paths { }; /** List public organization events */ get: operations["activity/list-public-org-events"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/failed_invitations": { parameters: { @@ -2825,13 +2825,13 @@ export interface paths { * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ get: operations["orgs/list-failed-invitations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/hooks": { parameters: { @@ -2842,17 +2842,17 @@ export interface paths { }; /** List organization webhooks */ get: operations["orgs/list-webhooks"]; - put: never; + put?: never; /** * Create an organization webhook * @description Here's how you can create a hook that posts payloads in JSON format: */ post: operations["orgs/create-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}": { parameters: { @@ -2866,18 +2866,18 @@ export interface paths { * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." */ get: operations["orgs/get-webhook"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete an organization webhook */ delete: operations["orgs/delete-webhook"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an organization webhook * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." */ patch: operations["orgs/update-webhook"]; - trace: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}/config": { parameters: { @@ -2893,11 +2893,11 @@ export interface paths { * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. */ get: operations["orgs/get-webhook-config-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a webhook configuration for an organization * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." @@ -2905,7 +2905,7 @@ export interface paths { * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. */ patch: operations["orgs/update-webhook-config-for-org"]; - trace: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}/deliveries": { parameters: { @@ -2919,13 +2919,13 @@ export interface paths { * @description Returns a list of webhook deliveries for a webhook configured in an organization. */ get: operations["orgs/list-webhook-deliveries"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { parameters: { @@ -2939,13 +2939,13 @@ export interface paths { * @description Returns a delivery for a webhook configured in an organization. */ get: operations["orgs/get-webhook-delivery"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { parameters: { @@ -2954,18 +2954,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Redeliver a delivery for an organization webhook * @description Redeliver a delivery for a webhook configured in an organization. */ post: operations["orgs/redeliver-webhook-delivery"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}/pings": { parameters: { @@ -2974,18 +2974,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Ping an organization webhook * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ post: operations["orgs/ping-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/installation": { parameters: { @@ -3001,13 +3001,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-org-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/installations": { parameters: { @@ -3021,13 +3021,13 @@ export interface paths { * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ get: operations["orgs/list-app-installations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/interaction-limits": { parameters: { @@ -3046,16 +3046,16 @@ export interface paths { * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. */ put: operations["interactions/set-restrictions-for-org"]; - post: never; + post?: never; /** * Remove interaction restrictions for an organization * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */ delete: operations["interactions/remove-restrictions-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/invitations": { parameters: { @@ -3069,7 +3069,7 @@ export interface paths { * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ get: operations["orgs/list-pending-invitations"]; - put: never; + put?: never; /** * Create an organization invitation * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. @@ -3077,11 +3077,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["orgs/create-invitation"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/invitations/{invitation_id}": { parameters: { @@ -3090,9 +3090,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Cancel an organization invitation * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. @@ -3100,10 +3100,10 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). */ delete: operations["orgs/cancel-invitation"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/invitations/{invitation_id}/teams": { parameters: { @@ -3117,13 +3117,13 @@ export interface paths { * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ get: operations["orgs/list-invitation-teams"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/issues": { parameters: { @@ -3142,13 +3142,13 @@ export interface paths { * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. */ get: operations["issues/list-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members": { parameters: { @@ -3162,13 +3162,13 @@ export interface paths { * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. */ get: operations["orgs/list-members"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members/{username}": { parameters: { @@ -3182,17 +3182,17 @@ export interface paths { * @description Check if a user is, publicly or privately, a member of the organization. */ get: operations["orgs/check-membership-for-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Remove an organization member * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ delete: operations["orgs/remove-member"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members/{username}/codespaces": { parameters: { @@ -3208,13 +3208,13 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ get: operations["codespaces/get-codespaces-for-user-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { parameters: { @@ -3223,9 +3223,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a codespace from the organization * @description Deletes a user's codespace. @@ -3233,10 +3233,10 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ delete: operations["codespaces/delete-from-organization"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { parameters: { @@ -3245,8 +3245,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Stop a codespace for an organization user * @description Stops a user's codespace. @@ -3254,11 +3254,11 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ post: operations["codespaces/stop-in-organization"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members/{username}/copilot": { parameters: { @@ -3276,13 +3276,13 @@ export interface paths { * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ get: operations["copilot/get-copilot-seat-assignment-details-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/memberships/{username}": { parameters: { @@ -3309,7 +3309,7 @@ export interface paths { * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. */ put: operations["orgs/set-membership-for-user"]; - post: never; + post?: never; /** * Remove organization membership for a user * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. @@ -3317,10 +3317,10 @@ export interface paths { * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. */ delete: operations["orgs/remove-membership-for-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/migrations": { parameters: { @@ -3336,17 +3336,17 @@ export interface paths { * A list of `repositories` is only returned for export migrations. */ get: operations["migrations/list-for-org"]; - put: never; + put?: never; /** * Start an organization migration * @description Initiates the generation of a migration archive. */ post: operations["migrations/start-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/migrations/{migration_id}": { parameters: { @@ -3367,13 +3367,13 @@ export interface paths { * * `failed`, which means the migration failed. */ get: operations["migrations/get-status-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/migrations/{migration_id}/archive": { parameters: { @@ -3387,17 +3387,17 @@ export interface paths { * @description Fetches the URL to a migration archive. */ get: operations["migrations/download-archive-for-org"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an organization migration archive * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ delete: operations["migrations/delete-archive-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { parameters: { @@ -3406,18 +3406,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Unlock an organization repository * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. */ delete: operations["migrations/unlock-repo-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/migrations/{migration_id}/repositories": { parameters: { @@ -3431,13 +3431,13 @@ export interface paths { * @description List all the repositories for this organization migration. */ get: operations["migrations/list-repos-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/outside_collaborators": { parameters: { @@ -3451,13 +3451,13 @@ export interface paths { * @description List all users who are outside collaborators of an organization. */ get: operations["orgs/list-outside-collaborators"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/outside_collaborators/{username}": { parameters: { @@ -3466,22 +3466,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Convert an organization member to outside collaborator * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ put: operations["orgs/convert-member-to-outside-collaborator"]; - post: never; + post?: never; /** * Remove outside collaborator from an organization * @description Removing a user from this list will remove them from all the organization's repositories. */ delete: operations["orgs/remove-outside-collaborator"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages": { parameters: { @@ -3497,13 +3497,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/list-packages-for-organization"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages/{package_type}/{package_name}": { parameters: { @@ -3519,8 +3519,8 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-for-organization"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a package for an organization * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. @@ -3530,10 +3530,10 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ delete: operations["packages/delete-package-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages/{package_type}/{package_name}/restore": { parameters: { @@ -3542,8 +3542,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore a package for an organization * @description Restores an entire package in an organization. @@ -3557,11 +3557,11 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ post: operations["packages/restore-package-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages/{package_type}/{package_name}/versions": { parameters: { @@ -3577,13 +3577,13 @@ export interface paths { * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { parameters: { @@ -3599,8 +3599,8 @@ export interface paths { * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-version-for-organization"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete package version for an organization * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. @@ -3610,10 +3610,10 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ delete: operations["packages/delete-package-version-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { parameters: { @@ -3622,8 +3622,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore package version for an organization * @description Restores a specific package version in an organization. @@ -3637,11 +3637,11 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ post: operations["packages/restore-package-version-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-token-requests": { parameters: { @@ -3658,7 +3658,7 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ get: operations["orgs/list-pat-grant-requests"]; - put: never; + put?: never; /** * Review requests to access organization resources with fine-grained personal access tokens * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, @@ -3667,11 +3667,11 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ post: operations["orgs/review-pat-grant-requests-in-bulk"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { parameters: { @@ -3680,8 +3680,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Review a request to access organization resources with a fine-grained personal access token * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, @@ -3690,11 +3690,11 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ post: operations["orgs/review-pat-grant-request"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { parameters: { @@ -3711,13 +3711,13 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ get: operations["orgs/list-pat-grant-request-repositories"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-tokens": { parameters: { @@ -3734,7 +3734,7 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ get: operations["orgs/list-pat-grants"]; - put: never; + put?: never; /** * Update the access to organization resources via fine-grained personal access tokens * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, @@ -3743,11 +3743,11 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ post: operations["orgs/update-pat-accesses"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-tokens/{pat_id}": { parameters: { @@ -3756,8 +3756,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Update the access a fine-grained personal access token has to organization resources * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, @@ -3766,11 +3766,11 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ post: operations["orgs/update-pat-access"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { parameters: { @@ -3787,13 +3787,13 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ get: operations["orgs/list-pat-grant-repositories"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/projects": { parameters: { @@ -3807,17 +3807,17 @@ export interface paths { * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ get: operations["projects/list-for-org"]; - put: never; + put?: never; /** * Create an organization project * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ post: operations["projects/create-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/public_members": { parameters: { @@ -3831,13 +3831,13 @@ export interface paths { * @description Members of an organization can choose to have their membership publicized or not. */ get: operations["orgs/list-public-members"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/public_members/{username}": { parameters: { @@ -3858,16 +3858,16 @@ export interface paths { * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["orgs/set-public-membership-for-authenticated-user"]; - post: never; + post?: never; /** * Remove public organization membership for the authenticated user * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. */ delete: operations["orgs/remove-public-membership-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/repos": { parameters: { @@ -3883,7 +3883,7 @@ export interface paths { * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ get: operations["repos/list-for-org"]; - put: never; + put?: never; /** * Create an organization repository * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. @@ -3896,11 +3896,11 @@ export interface paths { * * `repo` scope to create a private repository */ post: operations["repos/create-in-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/rulesets": { parameters: { @@ -3914,17 +3914,17 @@ export interface paths { * @description Get all the repository rulesets for an organization. */ get: operations["repos/get-org-rulesets"]; - put: never; + put?: never; /** * Create an organization repository ruleset * @description Create a repository ruleset for an organization. */ post: operations["repos/create-org-ruleset"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/rulesets/rule-suites": { parameters: { @@ -3939,13 +3939,13 @@ export interface paths { * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." */ get: operations["repos/get-org-rule-suites"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": { parameters: { @@ -3960,13 +3960,13 @@ export interface paths { * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." */ get: operations["repos/get-org-rule-suite"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/rulesets/{ruleset_id}": { parameters: { @@ -3985,16 +3985,16 @@ export interface paths { * @description Update a ruleset for an organization. */ put: operations["repos/update-org-ruleset"]; - post: never; + post?: never; /** * Delete an organization repository ruleset * @description Delete a ruleset for an organization. */ delete: operations["repos/delete-org-ruleset"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/secret-scanning/alerts": { parameters: { @@ -4012,13 +4012,13 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/list-alerts-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/security-advisories": { parameters: { @@ -4034,13 +4034,13 @@ export interface paths { * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission. */ get: operations["security-advisories/list-org-repository-advisories"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/security-managers": { parameters: { @@ -4058,13 +4058,13 @@ export interface paths { * GitHub Apps must have the `administration` organization read permission to use this endpoint. */ get: operations["orgs/list-security-manager-teams"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/security-managers/teams/{team_slug}": { parameters: { @@ -4073,7 +4073,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add a security manager team * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." @@ -4083,7 +4083,7 @@ export interface paths { * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. */ put: operations["orgs/add-security-manager-team"]; - post: never; + post?: never; /** * Remove a security manager team * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." @@ -4093,10 +4093,10 @@ export interface paths { * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. */ delete: operations["orgs/remove-security-manager-team"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/settings/billing/actions": { parameters: { @@ -4114,13 +4114,13 @@ export interface paths { * Access tokens must have the `repo` or `admin:org` scope. */ get: operations["billing/get-github-actions-billing-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/settings/billing/packages": { parameters: { @@ -4138,13 +4138,13 @@ export interface paths { * Access tokens must have the `repo` or `admin:org` scope. */ get: operations["billing/get-github-packages-billing-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/settings/billing/shared-storage": { parameters: { @@ -4162,13 +4162,13 @@ export interface paths { * Access tokens must have the `repo` or `admin:org` scope. */ get: operations["billing/get-shared-storage-billing-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams": { parameters: { @@ -4182,7 +4182,7 @@ export interface paths { * @description Lists all teams in an organization that are visible to the authenticated user. */ get: operations["teams/list"]; - put: never; + put?: never; /** * Create a team * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." @@ -4190,11 +4190,11 @@ export interface paths { * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". */ post: operations["teams/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}": { parameters: { @@ -4210,8 +4210,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. */ get: operations["teams/get-by-name"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a team * @description To delete a team, the authenticated user must be an organization owner or team maintainer. @@ -4221,8 +4221,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. */ delete: operations["teams/delete-in-org"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a team * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. @@ -4230,7 +4230,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. */ patch: operations["teams/update-in-org"]; - trace: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions": { parameters: { @@ -4246,7 +4246,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. */ get: operations["teams/list-discussions-in-org"]; - put: never; + put?: never; /** * Create a discussion * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4256,11 +4256,11 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. */ post: operations["teams/create-discussion-in-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { parameters: { @@ -4276,8 +4276,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. */ get: operations["teams/get-discussion-in-org"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a discussion * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4285,8 +4285,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. */ delete: operations["teams/delete-discussion-in-org"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a discussion * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4294,7 +4294,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. */ patch: operations["teams/update-discussion-in-org"]; - trace: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { parameters: { @@ -4310,7 +4310,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. */ get: operations["teams/list-discussion-comments-in-org"]; - put: never; + put?: never; /** * Create a discussion comment * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4320,11 +4320,11 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. */ post: operations["teams/create-discussion-comment-in-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { parameters: { @@ -4340,8 +4340,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. */ get: operations["teams/get-discussion-comment-in-org"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a discussion comment * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4349,8 +4349,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. */ delete: operations["teams/delete-discussion-comment-in-org"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a discussion comment * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4358,7 +4358,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. */ patch: operations["teams/update-discussion-comment-in-org"]; - trace: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { parameters: { @@ -4374,7 +4374,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. */ get: operations["reactions/list-for-team-discussion-comment-in-org"]; - put: never; + put?: never; /** * Create reaction for a team discussion comment * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. @@ -4382,11 +4382,11 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. */ post: operations["reactions/create-for-team-discussion-comment-in-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { parameters: { @@ -4395,9 +4395,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete team discussion comment reaction * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. @@ -4405,10 +4405,10 @@ export interface paths { * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["reactions/delete-for-team-discussion-comment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { parameters: { @@ -4424,7 +4424,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. */ get: operations["reactions/list-for-team-discussion-in-org"]; - put: never; + put?: never; /** * Create reaction for a team discussion * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. @@ -4432,11 +4432,11 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. */ post: operations["reactions/create-for-team-discussion-in-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { parameters: { @@ -4445,9 +4445,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete team discussion reaction * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. @@ -4455,10 +4455,10 @@ export interface paths { * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["reactions/delete-for-team-discussion"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/invitations": { parameters: { @@ -4474,13 +4474,13 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. */ get: operations["teams/list-pending-invitations-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/members": { parameters: { @@ -4496,13 +4496,13 @@ export interface paths { * To list members in a team, the team must be visible to the authenticated user. */ get: operations["teams/list-members-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/memberships/{username}": { parameters: { @@ -4540,7 +4540,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. */ put: operations["teams/add-or-update-membership-for-user-in-org"]; - post: never; + post?: never; /** * Remove team membership for a user * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. @@ -4552,10 +4552,10 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. */ delete: operations["teams/remove-membership-for-user-in-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/projects": { parameters: { @@ -4571,13 +4571,13 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. */ get: operations["teams/list-projects-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { parameters: { @@ -4600,7 +4600,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ put: operations["teams/add-or-update-project-permissions-in-org"]; - post: never; + post?: never; /** * Remove a project from a team * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. @@ -4608,10 +4608,10 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ delete: operations["teams/remove-project-in-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/repos": { parameters: { @@ -4627,13 +4627,13 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. */ get: operations["teams/list-repos-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { parameters: { @@ -4662,7 +4662,7 @@ export interface paths { * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". */ put: operations["teams/add-or-update-repo-permissions-in-org"]; - post: never; + post?: never; /** * Remove a repository from a team * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. @@ -4670,10 +4670,10 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. */ delete: operations["teams/remove-repo-in-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/teams": { parameters: { @@ -4689,13 +4689,13 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. */ get: operations["teams/list-child-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/{security_product}/{enablement}": { parameters: { @@ -4704,8 +4704,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Enable or disable a security feature for an organization * @description Enables or disables the specified security feature for all eligible repositories in an organization. @@ -4718,11 +4718,11 @@ export interface paths { * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/columns/cards/{card_id}": { parameters: { @@ -4736,18 +4736,18 @@ export interface paths { * @description Gets information about a project card. */ get: operations["projects/get-card"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a project card * @description Deletes a project card */ delete: operations["projects/delete-card"]; - options: never; - head: never; + options?: never; + head?: never; /** Update an existing project card */ patch: operations["projects/update-card"]; - trace: never; + trace?: never; }; "/projects/columns/cards/{card_id}/moves": { parameters: { @@ -4756,15 +4756,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Move a project card */ post: operations["projects/move-card"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/columns/{column_id}": { parameters: { @@ -4778,18 +4778,18 @@ export interface paths { * @description Gets information about a project column. */ get: operations["projects/get-column"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a project column * @description Deletes a project column. */ delete: operations["projects/delete-column"]; - options: never; - head: never; + options?: never; + head?: never; /** Update an existing project column */ patch: operations["projects/update-column"]; - trace: never; + trace?: never; }; "/projects/columns/{column_id}/cards": { parameters: { @@ -4803,14 +4803,14 @@ export interface paths { * @description Lists the project cards in a project. */ get: operations["projects/list-cards"]; - put: never; + put?: never; /** Create a project card */ post: operations["projects/create-card"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/columns/{column_id}/moves": { parameters: { @@ -4819,15 +4819,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Move a project column */ post: operations["projects/move-column"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/{project_id}": { parameters: { @@ -4841,21 +4841,21 @@ export interface paths { * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ get: operations["projects/get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a project * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ delete: operations["projects/delete"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a project * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ patch: operations["projects/update"]; - trace: never; + trace?: never; }; "/projects/{project_id}/collaborators": { parameters: { @@ -4869,13 +4869,13 @@ export interface paths { * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */ get: operations["projects/list-collaborators"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/{project_id}/collaborators/{username}": { parameters: { @@ -4884,22 +4884,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add project collaborator * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */ put: operations["projects/add-collaborator"]; - post: never; + post?: never; /** * Remove user as a collaborator * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ delete: operations["projects/remove-collaborator"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/{project_id}/collaborators/{username}/permission": { parameters: { @@ -4913,13 +4913,13 @@ export interface paths { * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ get: operations["projects/get-permission-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/{project_id}/columns": { parameters: { @@ -4933,17 +4933,17 @@ export interface paths { * @description Lists the project columns in a project. */ get: operations["projects/list-columns"]; - put: never; + put?: never; /** * Create a project column * @description Creates a new project column. */ post: operations["projects/create-column"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/rate_limit": { parameters: { @@ -4970,13 +4970,13 @@ export interface paths { * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. */ get: operations["rate-limit/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}": { parameters: { @@ -4992,8 +4992,8 @@ export interface paths { * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ get: operations["repos/get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a repository * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. @@ -5002,14 +5002,14 @@ export interface paths { * repositories, you will get a `403 Forbidden` response. */ delete: operations["repos/delete"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a repository * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. */ patch: operations["repos/update"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/artifacts": { parameters: { @@ -5023,13 +5023,13 @@ export interface paths { * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/list-artifacts-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { parameters: { @@ -5043,17 +5043,17 @@ export interface paths { * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-artifact"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an artifact * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ delete: operations["actions/delete-artifact"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { parameters: { @@ -5071,13 +5071,13 @@ export interface paths { * GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/download-artifact"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/cache/usage": { parameters: { @@ -5093,13 +5093,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-actions-cache-usage"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/caches": { parameters: { @@ -5115,8 +5115,8 @@ export interface paths { * GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-actions-cache-list"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete GitHub Actions caches for a repository (using a cache key) * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. @@ -5126,10 +5126,10 @@ export interface paths { * GitHub Apps must have the `actions:write` permission to use this endpoint. */ delete: operations["actions/delete-actions-cache-by-key"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/caches/{cache_id}": { parameters: { @@ -5138,9 +5138,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a GitHub Actions cache for a repository (using a cache ID) * @description Deletes a GitHub Actions cache for a repository, using a cache ID. @@ -5150,10 +5150,10 @@ export interface paths { * GitHub Apps must have the `actions:write` permission to use this endpoint. */ delete: operations["actions/delete-actions-cache-by-id"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/jobs/{job_id}": { parameters: { @@ -5167,13 +5167,13 @@ export interface paths { * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-job-for-workflow-run"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { parameters: { @@ -5190,13 +5190,13 @@ export interface paths { * have the `actions:read` permission to use this endpoint. */ get: operations["actions/download-job-logs-for-workflow-run"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { parameters: { @@ -5205,8 +5205,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Re-run a job from a workflow run * @description Re-run a job and its dependent jobs in a workflow run. @@ -5215,11 +5215,11 @@ export interface paths { * GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/re-run-job-for-workflow-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/oidc/customization/sub": { parameters: { @@ -5242,12 +5242,12 @@ export interface paths { * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/organization-secrets": { parameters: { @@ -5266,13 +5266,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/list-repo-organization-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/organization-variables": { parameters: { @@ -5290,13 +5290,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/list-repo-organization-variables"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/permissions": { parameters: { @@ -5319,12 +5319,12 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ put: operations["actions/set-github-actions-permissions-repository"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/permissions/access": { parameters: { @@ -5353,12 +5353,12 @@ export interface paths { * repository `administration` permission to use this endpoint. */ put: operations["actions/set-workflow-access-to-repository"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/permissions/selected-actions": { parameters: { @@ -5381,12 +5381,12 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ put: operations["actions/set-allowed-actions-repository"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/permissions/workflow": { parameters: { @@ -5413,12 +5413,12 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. */ put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners": { parameters: { @@ -5436,13 +5436,13 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/list-self-hosted-runners-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/downloads": { parameters: { @@ -5460,13 +5460,13 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/list-runner-applications-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { parameters: { @@ -5475,8 +5475,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create configuration for a just-in-time runner for a repository * @description Generates a configuration that can be passed to the runner application at startup. @@ -5486,11 +5486,11 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ post: operations["actions/generate-runner-jitconfig-for-repo"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/registration-token": { parameters: { @@ -5499,8 +5499,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a registration token for a repository * @description Returns a token that you can pass to the `config` script. The token @@ -5518,11 +5518,11 @@ export interface paths { * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN``` */ post: operations["actions/create-registration-token-for-repo"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/remove-token": { parameters: { @@ -5531,8 +5531,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a remove token for a repository * @description Returns a token that you can pass to remove a self-hosted runner from @@ -5550,11 +5550,11 @@ export interface paths { * ```config.sh remove --token TOKEN``` */ post: operations["actions/create-remove-token-for-repo"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/{runner_id}": { parameters: { @@ -5572,8 +5572,8 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/get-self-hosted-runner-for-repo"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a self-hosted runner from a repository * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. @@ -5583,10 +5583,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/delete-self-hosted-runner-from-repo"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { parameters: { @@ -5633,10 +5633,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { parameters: { @@ -5645,9 +5645,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Remove a custom label from a self-hosted runner for a repository * @description Remove a custom label from a self-hosted runner configured @@ -5661,10 +5661,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs": { parameters: { @@ -5680,13 +5680,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/list-workflow-runs-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}": { parameters: { @@ -5700,8 +5700,8 @@ export interface paths { * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-workflow-run"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a workflow run * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is @@ -5709,10 +5709,10 @@ export interface paths { * this endpoint. */ delete: operations["actions/delete-workflow-run"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { parameters: { @@ -5726,13 +5726,13 @@ export interface paths { * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-reviews-for-run"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { parameters: { @@ -5741,8 +5741,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Approve a workflow run for a fork pull request * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." @@ -5750,11 +5750,11 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/approve-workflow-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { parameters: { @@ -5768,13 +5768,13 @@ export interface paths { * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/list-workflow-run-artifacts"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { parameters: { @@ -5791,13 +5791,13 @@ export interface paths { * use this endpoint. */ get: operations["actions/get-workflow-run-attempt"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { parameters: { @@ -5811,13 +5811,13 @@ export interface paths { * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ get: operations["actions/list-jobs-for-workflow-run-attempt"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { parameters: { @@ -5834,13 +5834,13 @@ export interface paths { * GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/download-workflow-run-attempt-logs"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { parameters: { @@ -5849,8 +5849,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Cancel a workflow run * @description Cancels a workflow run using its `id`. @@ -5859,11 +5859,11 @@ export interface paths { * GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/cancel-workflow-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { parameters: { @@ -5872,8 +5872,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Review custom deployment protection rules for a workflow run * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." @@ -5885,11 +5885,11 @@ export interface paths { * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. */ post: operations["actions/review-custom-gates-for-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": { parameters: { @@ -5898,8 +5898,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Force cancel a workflow run * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. @@ -5909,11 +5909,11 @@ export interface paths { * GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/force-cancel-workflow-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { parameters: { @@ -5927,13 +5927,13 @@ export interface paths { * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ get: operations["actions/list-jobs-for-workflow-run"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { parameters: { @@ -5950,17 +5950,17 @@ export interface paths { * the `actions:read` permission to use this endpoint. */ get: operations["actions/download-workflow-run-logs"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete workflow run logs * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ delete: operations["actions/delete-workflow-run-logs"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { parameters: { @@ -5976,7 +5976,7 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-pending-deployments-for-run"]; - put: never; + put?: never; /** * Review pending deployments for a workflow run * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. @@ -5984,11 +5984,11 @@ export interface paths { * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. */ post: operations["actions/review-pending-deployments-for-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { parameters: { @@ -5997,18 +5997,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Re-run a workflow * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/re-run-workflow"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { parameters: { @@ -6017,18 +6017,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Re-run failed jobs from a workflow run * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. */ post: operations["actions/re-run-workflow-failed-jobs"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { parameters: { @@ -6044,13 +6044,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-workflow-run-usage"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/secrets": { parameters: { @@ -6069,13 +6069,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/list-repo-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/secrets/public-key": { parameters: { @@ -6095,13 +6095,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/get-repo-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { parameters: { @@ -6129,7 +6129,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ put: operations["actions/create-or-update-repo-secret"]; - post: never; + post?: never; /** * Delete a repository secret * @description Deletes a secret in a repository using the secret name. @@ -6139,10 +6139,10 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ delete: operations["actions/delete-repo-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/variables": { parameters: { @@ -6159,7 +6159,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/list-repo-variables"]; - put: never; + put?: never; /** * Create a repository variable * @description Creates a repository variable that you can reference in a GitHub Actions workflow. @@ -6169,11 +6169,11 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ post: operations["actions/create-repo-variable"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/variables/{name}": { parameters: { @@ -6191,8 +6191,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/get-repo-variable"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a repository variable * @description Deletes a repository variable using the variable name. @@ -6202,8 +6202,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ delete: operations["actions/delete-repo-variable"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a repository variable * @description Updates a repository variable that you can reference in a GitHub Actions workflow. @@ -6213,7 +6213,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ patch: operations["actions/update-repo-variable"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows": { parameters: { @@ -6227,13 +6227,13 @@ export interface paths { * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/list-repo-workflows"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { parameters: { @@ -6247,13 +6247,13 @@ export interface paths { * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-workflow"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { parameters: { @@ -6262,7 +6262,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Disable a workflow * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. @@ -6270,12 +6270,12 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ put: operations["actions/disable-workflow"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { parameters: { @@ -6284,8 +6284,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a workflow dispatch event * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. @@ -6295,11 +6295,11 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." */ post: operations["actions/create-workflow-dispatch"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { parameters: { @@ -6308,7 +6308,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Enable a workflow * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. @@ -6316,12 +6316,12 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ put: operations["actions/enable-workflow"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { parameters: { @@ -6337,13 +6337,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. */ get: operations["actions/list-workflow-runs"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { parameters: { @@ -6359,13 +6359,13 @@ export interface paths { * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-workflow-usage"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/activity": { parameters: { @@ -6382,13 +6382,13 @@ export interface paths { * see "[Viewing repository activity](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/viewing-repository-activity)." */ get: operations["repos/list-activities"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/assignees": { parameters: { @@ -6402,13 +6402,13 @@ export interface paths { * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ get: operations["issues/list-assignees"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/assignees/{assignee}": { parameters: { @@ -6426,13 +6426,13 @@ export interface paths { * Otherwise a `404` status code is returned. */ get: operations["issues/check-user-can-be-assigned"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/autolinks": { parameters: { @@ -6448,17 +6448,17 @@ export interface paths { * Information about autolinks are only available to repository administrators. */ get: operations["repos/list-autolinks"]; - put: never; + put?: never; /** * Create an autolink reference for a repository * @description Users with admin access to the repository can create an autolink. */ post: operations["repos/create-autolink"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/autolinks/{autolink_id}": { parameters: { @@ -6474,8 +6474,8 @@ export interface paths { * Information about autolinks are only available to repository administrators. */ get: operations["repos/get-autolink"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an autolink reference from a repository * @description This deletes a single autolink reference by ID that was configured for the given repository. @@ -6483,10 +6483,10 @@ export interface paths { * Information about autolinks are only available to repository administrators. */ delete: operations["repos/delete-autolink"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/automated-security-fixes": { parameters: { @@ -6505,16 +6505,16 @@ export interface paths { * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". */ put: operations["repos/enable-automated-security-fixes"]; - post: never; + post?: never; /** * Disable automated security fixes * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". */ delete: operations["repos/disable-automated-security-fixes"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches": { parameters: { @@ -6525,13 +6525,13 @@ export interface paths { }; /** List branches */ get: operations["repos/list-branches"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}": { parameters: { @@ -6542,13 +6542,13 @@ export interface paths { }; /** Get a branch */ get: operations["repos/get-branch"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection": { parameters: { @@ -6573,16 +6573,16 @@ export interface paths { * **Note**: The list of users, apps, and teams in total is limited to 100 items. */ put: operations["repos/update-branch-protection"]; - post: never; + post?: never; /** * Delete branch protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/delete-branch-protection"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { parameters: { @@ -6596,7 +6596,7 @@ export interface paths { * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["repos/get-admin-branch-protection"]; - put: never; + put?: never; /** * Set admin branch protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -6611,10 +6611,10 @@ export interface paths { * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. */ delete: operations["repos/delete-admin-branch-protection"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { parameters: { @@ -6628,15 +6628,15 @@ export interface paths { * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["repos/get-pull-request-review-protection"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete pull request review protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/delete-pull-request-review-protection"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update pull request review protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -6646,7 +6646,7 @@ export interface paths { * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. */ patch: operations["repos/update-pull-request-review-protection"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { parameters: { @@ -6664,7 +6664,7 @@ export interface paths { * **Note**: You must enable branch protection to require signed commits. */ get: operations["repos/get-commit-signature-protection"]; - put: never; + put?: never; /** * Create commit signature protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -6679,10 +6679,10 @@ export interface paths { * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. */ delete: operations["repos/delete-commit-signature-protection"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { parameters: { @@ -6696,15 +6696,15 @@ export interface paths { * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["repos/get-status-checks-protection"]; - put: never; - post: never; + put?: never; + post?: never; /** * Remove status check protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/remove-status-check-protection"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update status check protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -6712,7 +6712,7 @@ export interface paths { * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. */ patch: operations["repos/update-status-check-protection"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { parameters: { @@ -6741,10 +6741,10 @@ export interface paths { * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/remove-status-check-contexts"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { parameters: { @@ -6762,8 +6762,8 @@ export interface paths { * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. */ get: operations["repos/get-access-restrictions"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete access restrictions * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -6771,10 +6771,10 @@ export interface paths { * Disables the ability to restrict who can push to this branch. */ delete: operations["repos/delete-access-restrictions"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { parameters: { @@ -6811,10 +6811,10 @@ export interface paths { * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. */ delete: operations["repos/remove-app-access-restrictions"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { parameters: { @@ -6851,10 +6851,10 @@ export interface paths { * Removes the ability of a team to push to this branch. You can also remove push access for child teams. */ delete: operations["repos/remove-team-access-restrictions"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { parameters: { @@ -6903,10 +6903,10 @@ export interface paths { * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ delete: operations["repos/remove-user-access-restrictions"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/rename": { parameters: { @@ -6915,8 +6915,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Rename a branch * @description Renames a branch in a repository. @@ -6936,11 +6936,11 @@ export interface paths { * * GitHub Apps must have the `administration:write` repository permission. */ post: operations["repos/rename-branch"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-runs": { parameters: { @@ -6949,8 +6949,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a check run * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. @@ -6960,11 +6960,11 @@ export interface paths { * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. */ post: operations["checks/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-runs/{check_run_id}": { parameters: { @@ -6980,11 +6980,11 @@ export interface paths { * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. */ get: operations["checks/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a check run * @description Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. @@ -6992,7 +6992,7 @@ export interface paths { * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. */ patch: operations["checks/update"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { parameters: { @@ -7006,13 +7006,13 @@ export interface paths { * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ get: operations["checks/list-annotations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { parameters: { @@ -7021,8 +7021,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Rerequest a check run * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. @@ -7032,11 +7032,11 @@ export interface paths { * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". */ post: operations["checks/rerequest-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-suites": { parameters: { @@ -7045,8 +7045,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a check suite * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. @@ -7054,11 +7054,11 @@ export interface paths { * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. */ post: operations["checks/create-suite"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-suites/preferences": { parameters: { @@ -7067,18 +7067,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update repository preferences for check suites * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */ patch: operations["checks/set-suites-preferences"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { parameters: { @@ -7094,13 +7094,13 @@ export interface paths { * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. */ get: operations["checks/get-suite"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { parameters: { @@ -7116,13 +7116,13 @@ export interface paths { * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. */ get: operations["checks/list-for-suite"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { parameters: { @@ -7131,8 +7131,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Rerequest a check suite * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. @@ -7140,11 +7140,11 @@ export interface paths { * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository. */ post: operations["checks/rerequest-suite"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/alerts": { parameters: { @@ -7167,13 +7167,13 @@ export interface paths { * for the default branch (or for the specified Git reference if you used `ref` in the request). */ get: operations["code-scanning/list-alerts-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { parameters: { @@ -7187,17 +7187,17 @@ export interface paths { * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */ get: operations["code-scanning/get-alert"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a code scanning alert * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. */ patch: operations["code-scanning/update-alert"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { parameters: { @@ -7214,13 +7214,13 @@ export interface paths { * GitHub Apps must have the `security_events` read permission to use this endpoint. */ get: operations["code-scanning/list-alert-instances"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/analyses": { parameters: { @@ -7250,13 +7250,13 @@ export interface paths { * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. */ get: operations["code-scanning/list-recent-analyses"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { parameters: { @@ -7288,8 +7288,8 @@ export interface paths { * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). */ get: operations["code-scanning/get-analysis"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a code scanning analysis from a repository * @description Deletes a specified code scanning analysis from a repository. For @@ -7359,10 +7359,10 @@ export interface paths { * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. */ delete: operations["code-scanning/delete-analysis"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/codeql/databases": { parameters: { @@ -7380,13 +7380,13 @@ export interface paths { * GitHub Apps must have the `contents` read permission to use this endpoint. */ get: operations["code-scanning/list-codeql-databases"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { parameters: { @@ -7410,13 +7410,13 @@ export interface paths { * GitHub Apps must have the `contents` read permission to use this endpoint. */ get: operations["code-scanning/get-codeql-database"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/default-setup": { parameters: { @@ -7432,11 +7432,11 @@ export interface paths { * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. */ get: operations["code-scanning/get-default-setup"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a code scanning default setup configuration * @description Updates a code scanning default setup configuration. @@ -7444,7 +7444,7 @@ export interface paths { * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. */ patch: operations["code-scanning/update-default-setup"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/sarifs": { parameters: { @@ -7453,8 +7453,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Upload an analysis as SARIF data * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." @@ -7489,11 +7489,11 @@ export interface paths { * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." */ post: operations["code-scanning/upload-sarif"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { parameters: { @@ -7507,13 +7507,13 @@ export interface paths { * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */ get: operations["code-scanning/get-sarif"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codeowners/errors": { parameters: { @@ -7531,13 +7531,13 @@ export interface paths { * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." */ get: operations["repos/codeowners-errors"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces": { parameters: { @@ -7555,7 +7555,7 @@ export interface paths { * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ get: operations["codespaces/list-in-repository-for-authenticated-user"]; - put: never; + put?: never; /** * Create a codespace in a repository * @description Creates a codespace owned by the authenticated user in the specified repository. @@ -7565,11 +7565,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ post: operations["codespaces/create-with-repo-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/devcontainers": { parameters: { @@ -7588,13 +7588,13 @@ export interface paths { * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. */ get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/machines": { parameters: { @@ -7612,13 +7612,13 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. */ get: operations["codespaces/repo-machines-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/new": { parameters: { @@ -7636,13 +7636,13 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/permissions_check": { parameters: { @@ -7660,13 +7660,13 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ get: operations["codespaces/check-permissions-for-devcontainer"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/secrets": { parameters: { @@ -7680,13 +7680,13 @@ export interface paths { * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. */ get: operations["codespaces/list-repo-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/secrets/public-key": { parameters: { @@ -7700,13 +7700,13 @@ export interface paths { * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. */ get: operations["codespaces/get-repo-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { parameters: { @@ -7730,16 +7730,16 @@ export interface paths { * repository permission to use this endpoint. */ put: operations["codespaces/create-or-update-repo-secret"]; - post: never; + post?: never; /** * Delete a repository secret * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. */ delete: operations["codespaces/delete-repo-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/collaborators": { parameters: { @@ -7760,13 +7760,13 @@ export interface paths { * endpoint. */ get: operations["repos/list-collaborators"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/collaborators/{username}": { parameters: { @@ -7811,7 +7811,7 @@ export interface paths { * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. */ put: operations["repos/add-collaborator"]; - post: never; + post?: never; /** * Remove a repository collaborator * @description Removes a collaborator from a repository. @@ -7837,10 +7837,10 @@ export interface paths { * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". */ delete: operations["repos/remove-collaborator"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/collaborators/{username}/permission": { parameters: { @@ -7860,13 +7860,13 @@ export interface paths { * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. */ get: operations["repos/get-collaborator-permission-level"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/comments": { parameters: { @@ -7882,13 +7882,13 @@ export interface paths { * Comments are ordered by ascending ID. */ get: operations["repos/list-commit-comments-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/comments/{comment_id}": { parameters: { @@ -7899,15 +7899,15 @@ export interface paths { }; /** Get a commit comment */ get: operations["repos/get-commit-comment"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a commit comment */ delete: operations["repos/delete-commit-comment"]; - options: never; - head: never; + options?: never; + head?: never; /** Update a commit comment */ patch: operations["repos/update-commit-comment"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { parameters: { @@ -7921,17 +7921,17 @@ export interface paths { * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). */ get: operations["reactions/list-for-commit-comment"]; - put: never; + put?: never; /** * Create reaction for a commit comment * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */ post: operations["reactions/create-for-commit-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { parameters: { @@ -7940,9 +7940,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a commit comment reaction * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. @@ -7950,10 +7950,10 @@ export interface paths { * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). */ delete: operations["reactions/delete-for-commit-comment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits": { parameters: { @@ -7994,13 +7994,13 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ get: operations["repos/list-commits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { parameters: { @@ -8016,13 +8016,13 @@ export interface paths { * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. */ get: operations["repos/list-branches-for-head-commit"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { parameters: { @@ -8036,7 +8036,7 @@ export interface paths { * @description Use the `:commit_sha` to specify the commit that will have its comments listed. */ get: operations["repos/list-comments-for-commit"]; - put: never; + put?: never; /** * Create a commit comment * @description Create a comment for a commit using its `:commit_sha`. @@ -8044,11 +8044,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["repos/create-commit-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { parameters: { @@ -8064,13 +8064,13 @@ export interface paths { * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. */ get: operations["repos/list-pull-requests-associated-with-commit"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{ref}": { parameters: { @@ -8119,13 +8119,13 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ get: operations["repos/get-commit"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{ref}/check-runs": { parameters: { @@ -8143,13 +8143,13 @@ export interface paths { * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. */ get: operations["checks/list-for-ref"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{ref}/check-suites": { parameters: { @@ -8165,13 +8165,13 @@ export interface paths { * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. */ get: operations["checks/list-suites-for-ref"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{ref}/status": { parameters: { @@ -8192,13 +8192,13 @@ export interface paths { * * **success** if the latest status for all contexts is `success` */ get: operations["repos/get-combined-status-for-ref"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{ref}/statuses": { parameters: { @@ -8214,13 +8214,13 @@ export interface paths { * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. */ get: operations["repos/list-commit-statuses-for-ref"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/community/profile": { parameters: { @@ -8244,13 +8244,13 @@ export interface paths { * `content_reports_enabled` is only returned for organization-owned repositories. */ get: operations["repos/get-community-profile-metrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/compare/{basehead}": { parameters: { @@ -8308,13 +8308,13 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ get: operations["repos/compare-commits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/contents/{path}": { parameters: { @@ -8371,7 +8371,7 @@ export interface paths { * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. */ put: operations["repos/create-or-update-file-contents"]; - post: never; + post?: never; /** * Delete a file * @description Deletes a file in a repository. @@ -8385,10 +8385,10 @@ export interface paths { * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. */ delete: operations["repos/delete-file"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/contributors": { parameters: { @@ -8404,13 +8404,13 @@ export interface paths { * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. */ get: operations["repos/list-contributors"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependabot/alerts": { parameters: { @@ -8426,13 +8426,13 @@ export interface paths { * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. */ get: operations["dependabot/list-alerts-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { parameters: { @@ -8448,11 +8448,11 @@ export interface paths { * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. */ get: operations["dependabot/get-alert"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a Dependabot alert * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. @@ -8462,7 +8462,7 @@ export interface paths { * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." */ patch: operations["dependabot/update-alert"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/dependabot/secrets": { parameters: { @@ -8476,13 +8476,13 @@ export interface paths { * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ get: operations["dependabot/list-repo-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependabot/secrets/public-key": { parameters: { @@ -8496,13 +8496,13 @@ export interface paths { * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ get: operations["dependabot/get-repo-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { parameters: { @@ -8526,16 +8526,16 @@ export interface paths { * permission to use this endpoint. */ put: operations["dependabot/create-or-update-repo-secret"]; - post: never; + post?: never; /** * Delete a repository secret * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ delete: operations["dependabot/delete-repo-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { parameters: { @@ -8549,13 +8549,13 @@ export interface paths { * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ get: operations["dependency-graph/diff-range"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependency-graph/sbom": { parameters: { @@ -8569,13 +8569,13 @@ export interface paths { * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. */ get: operations["dependency-graph/export-sbom"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependency-graph/snapshots": { parameters: { @@ -8584,18 +8584,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a snapshot of dependencies for a repository * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. */ post: operations["dependency-graph/create-repository-snapshot"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/deployments": { parameters: { @@ -8609,7 +8609,7 @@ export interface paths { * @description Simple filtering of deployments is available via query parameters: */ get: operations["repos/list-deployments"]; - put: never; + put?: never; /** * Create a deployment * @description Deployments offer a few configurable parameters with certain defaults. @@ -8662,11 +8662,11 @@ export interface paths { * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. */ post: operations["repos/create-deployment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/deployments/{deployment_id}": { parameters: { @@ -8677,8 +8677,8 @@ export interface paths { }; /** Get a deployment */ get: operations["repos/get-deployment"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a deployment * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. @@ -8691,10 +8691,10 @@ export interface paths { * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." */ delete: operations["repos/delete-deployment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { parameters: { @@ -8708,7 +8708,7 @@ export interface paths { * @description Users with pull access can view deployment statuses for a deployment: */ get: operations["repos/list-deployment-statuses"]; - put: never; + put?: never; /** * Create a deployment status * @description Users with `push` access can create deployment statuses for a given deployment. @@ -8716,11 +8716,11 @@ export interface paths { * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope. */ post: operations["repos/create-deployment-status"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { parameters: { @@ -8734,13 +8734,13 @@ export interface paths { * @description Users with pull access can view a deployment status for a deployment: */ get: operations["repos/get-deployment-status"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dispatches": { parameters: { @@ -8749,8 +8749,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a repository dispatch event * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." @@ -8765,11 +8765,11 @@ export interface paths { * This input example shows how you can use the `client_payload` as a test to debug your workflow. */ post: operations["repos/create-dispatch-event"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments": { parameters: { @@ -8785,13 +8785,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["repos/get-all-environments"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}": { parameters: { @@ -8820,16 +8820,16 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ put: operations["repos/create-or-update-environment"]; - post: never; + post?: never; /** * Delete an environment * @description You must authenticate using an access token with the repo scope to use this endpoint. */ delete: operations["repos/delete-an-environment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { parameters: { @@ -8845,7 +8845,7 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["repos/list-deployment-branch-policies"]; - put: never; + put?: never; /** * Create a deployment branch policy * @description Creates a deployment branch policy for an environment. @@ -8853,11 +8853,11 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ post: operations["repos/create-deployment-branch-policy"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { parameters: { @@ -8880,7 +8880,7 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ put: operations["repos/update-deployment-branch-policy"]; - post: never; + post?: never; /** * Delete a deployment branch policy * @description Deletes a deployment branch policy for an environment. @@ -8888,10 +8888,10 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ delete: operations["repos/delete-deployment-branch-policy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { parameters: { @@ -8907,7 +8907,7 @@ export interface paths { * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). */ get: operations["repos/get-all-deployment-protection-rules"]; - put: never; + put?: never; /** * Create a custom deployment protection rule on an environment * @description Enable a custom deployment protection rule for an environment. @@ -8917,11 +8917,11 @@ export interface paths { * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). */ post: operations["repos/create-deployment-protection-rule"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { parameters: { @@ -8939,13 +8939,13 @@ export interface paths { * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". */ get: operations["repos/list-custom-deployment-rule-integrations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { parameters: { @@ -8961,8 +8961,8 @@ export interface paths { * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). */ get: operations["repos/get-custom-deployment-protection-rule"]; - put: never; - post: never; + put?: never; + post?: never; /** * Disable a custom protection rule for an environment * @description Disables a custom deployment protection rule for an environment. @@ -8970,10 +8970,10 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". */ delete: operations["repos/disable-deployment-protection-rule"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/events": { parameters: { @@ -8988,13 +8988,13 @@ export interface paths { * */ get: operations["activity/list-repo-events"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/forks": { parameters: { @@ -9005,7 +9005,7 @@ export interface paths { }; /** List forks */ get: operations["repos/list-forks"]; - put: never; + put?: never; /** * Create a fork * @description Create a fork for the authenticated user. @@ -9015,11 +9015,11 @@ export interface paths { * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. */ post: operations["repos/create-fork"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/blobs": { parameters: { @@ -9028,15 +9028,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Create a blob */ post: operations["git/create-blob"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/blobs/{file_sha}": { parameters: { @@ -9052,13 +9052,13 @@ export interface paths { * _Note_: This API supports blobs up to 100 megabytes in size. */ get: operations["git/get-blob"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/commits": { parameters: { @@ -9067,8 +9067,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a commit * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). @@ -9103,11 +9103,11 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ post: operations["git/create-commit"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/commits/{commit_sha}": { parameters: { @@ -9152,13 +9152,13 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ get: operations["git/get-commit"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/matching-refs/{ref}": { parameters: { @@ -9178,13 +9178,13 @@ export interface paths { * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. */ get: operations["git/list-matching-refs"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/ref/{ref}": { parameters: { @@ -9200,13 +9200,13 @@ export interface paths { * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". */ get: operations["git/get-ref"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/refs": { parameters: { @@ -9215,18 +9215,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a reference * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. */ post: operations["git/create-ref"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/refs/{ref}": { parameters: { @@ -9235,16 +9235,16 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** Delete a reference */ delete: operations["git/delete-ref"]; - options: never; - head: never; + options?: never; + head?: never; /** Update a reference */ patch: operations["git/update-ref"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/git/tags": { parameters: { @@ -9253,8 +9253,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a tag object * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. @@ -9289,11 +9289,11 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ post: operations["git/create-tag"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/tags/{tag_sha}": { parameters: { @@ -9334,13 +9334,13 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ get: operations["git/get-tag"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/trees": { parameters: { @@ -9349,8 +9349,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a tree * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. @@ -9360,11 +9360,11 @@ export interface paths { * Returns an error if you try to delete a file that does not exist. */ post: operations["git/create-tree"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/trees/{tree_sha}": { parameters: { @@ -9383,13 +9383,13 @@ export interface paths { * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. */ get: operations["git/get-tree"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks": { parameters: { @@ -9403,18 +9403,18 @@ export interface paths { * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. */ get: operations["repos/list-webhooks"]; - put: never; + put?: never; /** * Create a repository webhook * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can * share the same `config` as long as those webhooks do not have any `events` that overlap. */ post: operations["repos/create-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}": { parameters: { @@ -9428,18 +9428,18 @@ export interface paths { * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." */ get: operations["repos/get-webhook"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a repository webhook */ delete: operations["repos/delete-webhook"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a repository webhook * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." */ patch: operations["repos/update-webhook"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/config": { parameters: { @@ -9455,11 +9455,11 @@ export interface paths { * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. */ get: operations["repos/get-webhook-config-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a webhook configuration for a repository * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." @@ -9467,7 +9467,7 @@ export interface paths { * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. */ patch: operations["repos/update-webhook-config-for-repo"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { parameters: { @@ -9481,13 +9481,13 @@ export interface paths { * @description Returns a list of webhook deliveries for a webhook configured in a repository. */ get: operations["repos/list-webhook-deliveries"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { parameters: { @@ -9501,13 +9501,13 @@ export interface paths { * @description Returns a delivery for a webhook configured in a repository. */ get: operations["repos/get-webhook-delivery"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { parameters: { @@ -9516,18 +9516,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Redeliver a delivery for a repository webhook * @description Redeliver a webhook delivery for a webhook configured in a repository. */ post: operations["repos/redeliver-webhook-delivery"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { parameters: { @@ -9536,18 +9536,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Ping a repository webhook * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ post: operations["repos/ping-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { parameters: { @@ -9556,8 +9556,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Test the push repository webhook * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. @@ -9565,11 +9565,11 @@ export interface paths { * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` */ post: operations["repos/test-push-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/import": { parameters: { @@ -9626,7 +9626,7 @@ export interface paths { * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. */ put: operations["migrations/start-import"]; - post: never; + post?: never; /** * Cancel an import * @description Stop an import for a repository. @@ -9637,8 +9637,8 @@ export interface paths { * */ delete: operations["migrations/cancel-import"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an import * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API @@ -9653,7 +9653,7 @@ export interface paths { * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. */ patch: operations["migrations/update-import"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/import/authors": { parameters: { @@ -9673,13 +9673,13 @@ export interface paths { * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. */ get: operations["migrations/get-commit-authors"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/import/authors/{author_id}": { parameters: { @@ -9688,12 +9688,12 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Map a commit author * @description Update an author's identity for the import. Your application can continue updating authors any time before you push @@ -9705,7 +9705,7 @@ export interface paths { * */ patch: operations["migrations/map-commit-author"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/import/large_files": { parameters: { @@ -9724,13 +9724,13 @@ export interface paths { * */ get: operations["migrations/get-large-files"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/import/lfs": { parameters: { @@ -9739,12 +9739,12 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update Git LFS preference * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability @@ -9759,7 +9759,7 @@ export interface paths { * */ patch: operations["migrations/set-lfs-preference"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/installation": { parameters: { @@ -9775,13 +9775,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-repo-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/interaction-limits": { parameters: { @@ -9800,16 +9800,16 @@ export interface paths { * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ put: operations["interactions/set-restrictions-for-repo"]; - post: never; + post?: never; /** * Remove interaction restrictions for a repository * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ delete: operations["interactions/remove-restrictions-for-repo"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/invitations": { parameters: { @@ -9823,13 +9823,13 @@ export interface paths { * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ get: operations["repos/list-invitations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/invitations/{invitation_id}": { parameters: { @@ -9838,16 +9838,16 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** Delete a repository invitation */ delete: operations["repos/delete-invitation"]; - options: never; - head: never; + options?: never; + head?: never; /** Update a repository invitation */ patch: operations["repos/update-invitation"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/issues": { parameters: { @@ -9866,7 +9866,7 @@ export interface paths { * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. */ get: operations["issues/list-for-repo"]; - put: never; + put?: never; /** * Create an issue * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. @@ -9874,11 +9874,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["issues/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/comments": { parameters: { @@ -9894,13 +9894,13 @@ export interface paths { * By default, issue comments are ordered by ascending ID. */ get: operations["issues/list-comments-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/comments/{comment_id}": { parameters: { @@ -9914,21 +9914,21 @@ export interface paths { * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. */ get: operations["issues/get-comment"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an issue comment * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. */ delete: operations["issues/delete-comment"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an issue comment * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. */ patch: operations["issues/update-comment"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { parameters: { @@ -9942,17 +9942,17 @@ export interface paths { * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). */ get: operations["reactions/list-for-issue-comment"]; - put: never; + put?: never; /** * Create reaction for an issue comment * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */ post: operations["reactions/create-for-issue-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { parameters: { @@ -9961,9 +9961,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete an issue comment reaction * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. @@ -9971,10 +9971,10 @@ export interface paths { * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). */ delete: operations["reactions/delete-for-issue-comment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/events": { parameters: { @@ -9988,13 +9988,13 @@ export interface paths { * @description Lists events for a repository. */ get: operations["issues/list-events-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/events/{event_id}": { parameters: { @@ -10008,13 +10008,13 @@ export interface paths { * @description Gets a single event by the event id. */ get: operations["issues/get-event"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}": { parameters: { @@ -10038,17 +10038,17 @@ export interface paths { * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. */ get: operations["issues/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update an issue * @description Issue owners and users with push access can edit an issue. */ patch: operations["issues/update"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { parameters: { @@ -10057,8 +10057,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add assignees to an issue * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. @@ -10069,10 +10069,10 @@ export interface paths { * @description Removes one or more assignees from an issue. */ delete: operations["issues/remove-assignees"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { parameters: { @@ -10090,13 +10090,13 @@ export interface paths { * Otherwise a `404` status code is returned. */ get: operations["issues/check-user-can-be-assigned-to-issue"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/comments": { parameters: { @@ -10112,7 +10112,7 @@ export interface paths { * Issue comments are ordered by ascending ID. */ get: operations["issues/list-comments"]; - put: never; + put?: never; /** * Create an issue comment * @description @@ -10125,11 +10125,11 @@ export interface paths { * for details. */ post: operations["issues/create-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/events": { parameters: { @@ -10143,13 +10143,13 @@ export interface paths { * @description Lists all events for an issue. */ get: operations["issues/list-events"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/labels": { parameters: { @@ -10178,10 +10178,10 @@ export interface paths { * @description Removes all labels from an issue. */ delete: operations["issues/remove-all-labels"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { parameters: { @@ -10190,18 +10190,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Remove a label from an issue * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. */ delete: operations["issues/remove-label"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/lock": { parameters: { @@ -10210,7 +10210,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Lock an issue * @description Users with push access can lock an issue or pull request's conversation. @@ -10218,16 +10218,16 @@ export interface paths { * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["issues/lock"]; - post: never; + post?: never; /** * Unlock an issue * @description Users with push access can unlock an issue's conversation. */ delete: operations["issues/unlock"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { parameters: { @@ -10241,17 +10241,17 @@ export interface paths { * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). */ get: operations["reactions/list-for-issue"]; - put: never; + put?: never; /** * Create reaction for an issue * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. */ post: operations["reactions/create-for-issue"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { parameters: { @@ -10260,9 +10260,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete an issue reaction * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. @@ -10270,10 +10270,10 @@ export interface paths { * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). */ delete: operations["reactions/delete-for-issue"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { parameters: { @@ -10287,13 +10287,13 @@ export interface paths { * @description List all timeline events for an issue. */ get: operations["issues/list-events-for-timeline"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/keys": { parameters: { @@ -10304,17 +10304,17 @@ export interface paths { }; /** List deploy keys */ get: operations["repos/list-deploy-keys"]; - put: never; + put?: never; /** * Create a deploy key * @description You can create a read-only deploy key. */ post: operations["repos/create-deploy-key"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/keys/{key_id}": { parameters: { @@ -10325,17 +10325,17 @@ export interface paths { }; /** Get a deploy key */ get: operations["repos/get-deploy-key"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a deploy key * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */ delete: operations["repos/delete-deploy-key"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/labels": { parameters: { @@ -10349,17 +10349,17 @@ export interface paths { * @description Lists all labels for a repository. */ get: operations["issues/list-labels-for-repo"]; - put: never; + put?: never; /** * Create a label * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). */ post: operations["issues/create-label"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/labels/{name}": { parameters: { @@ -10373,21 +10373,21 @@ export interface paths { * @description Gets a label using the given name. */ get: operations["issues/get-label"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a label * @description Deletes a label using the given label name. */ delete: operations["issues/delete-label"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a label * @description Updates a label using the given label name. */ patch: operations["issues/update-label"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/languages": { parameters: { @@ -10401,13 +10401,13 @@ export interface paths { * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ get: operations["repos/list-languages"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/license": { parameters: { @@ -10423,13 +10423,13 @@ export interface paths { * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. */ get: operations["licenses/get-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/merge-upstream": { parameters: { @@ -10438,18 +10438,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Sync a fork branch with the upstream repository * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. */ post: operations["repos/merge-upstream"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/merges": { parameters: { @@ -10458,15 +10458,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Merge a branch */ post: operations["repos/merge"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/milestones": { parameters: { @@ -10480,17 +10480,17 @@ export interface paths { * @description Lists milestones for a repository. */ get: operations["issues/list-milestones"]; - put: never; + put?: never; /** * Create a milestone * @description Creates a milestone. */ post: operations["issues/create-milestone"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/milestones/{milestone_number}": { parameters: { @@ -10504,18 +10504,18 @@ export interface paths { * @description Gets a milestone using the given milestone number. */ get: operations["issues/get-milestone"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a milestone * @description Deletes a milestone using the given milestone number. */ delete: operations["issues/delete-milestone"]; - options: never; - head: never; + options?: never; + head?: never; /** Update a milestone */ patch: operations["issues/update-milestone"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { parameters: { @@ -10529,13 +10529,13 @@ export interface paths { * @description Lists labels for issues in a milestone. */ get: operations["issues/list-labels-for-milestone"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/notifications": { parameters: { @@ -10554,12 +10554,12 @@ export interface paths { * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ put: operations["activity/mark-repo-notifications-as-read"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages": { parameters: { @@ -10596,10 +10596,10 @@ export interface paths { * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. */ delete: operations["repos/delete-pages-site"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages/builds": { parameters: { @@ -10615,7 +10615,7 @@ export interface paths { * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. */ get: operations["repos/list-pages-builds"]; - put: never; + put?: never; /** * Request a GitHub Pages build * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. @@ -10623,11 +10623,11 @@ export interface paths { * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. */ post: operations["repos/request-pages-build"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages/builds/latest": { parameters: { @@ -10643,13 +10643,13 @@ export interface paths { * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. */ get: operations["repos/get-latest-pages-build"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages/builds/{build_id}": { parameters: { @@ -10665,13 +10665,13 @@ export interface paths { * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. */ get: operations["repos/get-pages-build"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages/deployment": { parameters: { @@ -10680,8 +10680,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a GitHub Pages deployment * @description Create a GitHub Pages deployment for a repository. @@ -10689,11 +10689,11 @@ export interface paths { * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. */ post: operations["repos/create-pages-deployment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages/health": { parameters: { @@ -10711,13 +10711,13 @@ export interface paths { * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. */ get: operations["repos/get-pages-health-check"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/private-vulnerability-reporting": { parameters: { @@ -10726,22 +10726,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Enable private vulnerability reporting for a repository * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." */ put: operations["repos/enable-private-vulnerability-reporting"]; - post: never; + post?: never; /** * Disable private vulnerability reporting for a repository * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". */ delete: operations["repos/disable-private-vulnerability-reporting"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/projects": { parameters: { @@ -10755,17 +10755,17 @@ export interface paths { * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ get: operations["projects/list-for-repo"]; - put: never; + put?: never; /** * Create a repository project * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ post: operations["projects/create-for-repo"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls": { parameters: { @@ -10779,7 +10779,7 @@ export interface paths { * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["pulls/list"]; - put: never; + put?: never; /** * Create a pull request * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -10789,11 +10789,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. */ post: operations["pulls/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/comments": { parameters: { @@ -10807,13 +10807,13 @@ export interface paths { * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */ get: operations["pulls/list-review-comments-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { parameters: { @@ -10827,21 +10827,21 @@ export interface paths { * @description Provides details for a review comment. */ get: operations["pulls/get-review-comment"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a review comment for a pull request * @description Deletes a review comment. */ delete: operations["pulls/delete-review-comment"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a review comment for a pull request * @description Enables you to edit a review comment. */ patch: operations["pulls/update-review-comment"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { parameters: { @@ -10855,17 +10855,17 @@ export interface paths { * @description List the reactions to a [pull request review comment](https://docs.github.com/pulls/comments#get-a-review-comment-for-a-pull-request). */ get: operations["reactions/list-for-pull-request-review-comment"]; - put: never; + put?: never; /** * Create reaction for a pull request review comment * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */ post: operations["reactions/create-for-pull-request-review-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { parameters: { @@ -10874,9 +10874,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a pull request comment reaction * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` @@ -10884,10 +10884,10 @@ export interface paths { * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). */ delete: operations["reactions/delete-for-pull-request-comment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}": { parameters: { @@ -10915,11 +10915,11 @@ export interface paths { * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ get: operations["pulls/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a pull request * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -10927,7 +10927,7 @@ export interface paths { * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. */ patch: operations["pulls/update"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { parameters: { @@ -10936,8 +10936,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a codespace from a pull request * @description Creates a codespace owned by the authenticated user for the specified pull request. @@ -10947,11 +10947,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ post: operations["codespaces/create-with-pr-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { parameters: { @@ -10965,7 +10965,7 @@ export interface paths { * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ get: operations["pulls/list-review-comments"]; - put: never; + put?: never; /** * Create a review comment for a pull request * @description @@ -10978,11 +10978,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["pulls/create-review-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { parameters: { @@ -10991,8 +10991,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a reply for a review comment * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. @@ -11000,11 +11000,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["pulls/create-reply-for-review-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { parameters: { @@ -11018,13 +11018,13 @@ export interface paths { * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. */ get: operations["pulls/list-commits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/files": { parameters: { @@ -11038,13 +11038,13 @@ export interface paths { * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */ get: operations["pulls/list-files"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { parameters: { @@ -11064,12 +11064,12 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ put: operations["pulls/merge"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { parameters: { @@ -11083,7 +11083,7 @@ export interface paths { * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. */ get: operations["pulls/list-requested-reviewers"]; - put: never; + put?: never; /** * Request reviewers for a pull request * @description Requests reviews for a pull request from a given set of users and/or teams. @@ -11095,10 +11095,10 @@ export interface paths { * @description Removes review requests from a pull request for a given set of users and/or teams. */ delete: operations["pulls/remove-requested-reviewers"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { parameters: { @@ -11112,7 +11112,7 @@ export interface paths { * @description The list of reviews returns in chronological order. */ get: operations["pulls/list-reviews"]; - put: never; + put?: never; /** * Create a review for a pull request * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. @@ -11124,11 +11124,11 @@ export interface paths { * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. */ post: operations["pulls/create-review"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { parameters: { @@ -11147,16 +11147,16 @@ export interface paths { * @description Update the review summary comment with new text. */ put: operations["pulls/update-review"]; - post: never; + post?: never; /** * Delete a pending review for a pull request * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. */ delete: operations["pulls/delete-pending-review"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { parameters: { @@ -11170,13 +11170,13 @@ export interface paths { * @description List comments for a specific pull request review. */ get: operations["pulls/list-comments-for-review"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { parameters: { @@ -11185,18 +11185,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Dismiss a review for a pull request * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */ put: operations["pulls/dismiss-review"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { parameters: { @@ -11205,18 +11205,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Submit a review for a pull request * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." */ post: operations["pulls/submit-review"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { parameters: { @@ -11225,18 +11225,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Update a pull request branch * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ put: operations["pulls/update-branch"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/readme": { parameters: { @@ -11252,13 +11252,13 @@ export interface paths { * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. */ get: operations["repos/get-readme"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/readme/{dir}": { parameters: { @@ -11274,13 +11274,13 @@ export interface paths { * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. */ get: operations["repos/get-readme-in-directory"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases": { parameters: { @@ -11296,7 +11296,7 @@ export interface paths { * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. */ get: operations["repos/list-releases"]; - put: never; + put?: never; /** * Create a release * @description Users with push access to the repository can create a release. @@ -11304,11 +11304,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["repos/create-release"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/assets/{asset_id}": { parameters: { @@ -11322,18 +11322,18 @@ export interface paths { * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ get: operations["repos/get-release-asset"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a release asset */ delete: operations["repos/delete-release-asset"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a release asset * @description Users with push access to the repository can edit a release asset. */ patch: operations["repos/update-release-asset"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/generate-notes": { parameters: { @@ -11342,18 +11342,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Generate release notes content for a release * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */ post: operations["repos/generate-release-notes"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/latest": { parameters: { @@ -11369,13 +11369,13 @@ export interface paths { * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. */ get: operations["repos/get-latest-release"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/tags/{tag}": { parameters: { @@ -11389,13 +11389,13 @@ export interface paths { * @description Get a published release with the specified tag. */ get: operations["repos/get-release-by-tag"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/{release_id}": { parameters: { @@ -11409,21 +11409,21 @@ export interface paths { * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ get: operations["repos/get-release"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a release * @description Users with push access to the repository can delete a release. */ delete: operations["repos/delete-release"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a release * @description Users with push access to the repository can edit a release. */ patch: operations["repos/update-release"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/{release_id}/assets": { parameters: { @@ -11434,7 +11434,7 @@ export interface paths { }; /** List release assets */ get: operations["repos/list-release-assets"]; - put: never; + put?: never; /** * Upload a release asset * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in @@ -11458,11 +11458,11 @@ export interface paths { * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. */ post: operations["repos/upload-release-asset"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/{release_id}/reactions": { parameters: { @@ -11476,17 +11476,17 @@ export interface paths { * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). */ get: operations["reactions/list-for-release"]; - put: never; + put?: never; /** * Create reaction for a release * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */ post: operations["reactions/create-for-release"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { parameters: { @@ -11495,9 +11495,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a release reaction * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. @@ -11505,10 +11505,10 @@ export interface paths { * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). */ delete: operations["reactions/delete-for-release"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/rules/branches/{branch}": { parameters: { @@ -11525,13 +11525,13 @@ export interface paths { * enforcement statuses are not returned. */ get: operations["repos/get-branch-rules"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/rulesets": { parameters: { @@ -11545,17 +11545,17 @@ export interface paths { * @description Get all the rulesets for a repository. */ get: operations["repos/get-repo-rulesets"]; - put: never; + put?: never; /** * Create a repository ruleset * @description Create a ruleset for a repository. */ post: operations["repos/create-repo-ruleset"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/rulesets/rule-suites": { parameters: { @@ -11570,13 +11570,13 @@ export interface paths { * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." */ get: operations["repos/get-repo-rule-suites"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": { parameters: { @@ -11591,13 +11591,13 @@ export interface paths { * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." */ get: operations["repos/get-repo-rule-suite"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { parameters: { @@ -11616,16 +11616,16 @@ export interface paths { * @description Update a ruleset for a repository. */ put: operations["repos/update-repo-ruleset"]; - post: never; + post?: never; /** * Delete a repository ruleset * @description Delete a ruleset for a repository. */ delete: operations["repos/delete-repo-ruleset"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/secret-scanning/alerts": { parameters: { @@ -11643,13 +11643,13 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/list-alerts-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { parameters: { @@ -11667,11 +11667,11 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/get-alert"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a secret scanning alert * @description Updates the status of a secret scanning alert in an eligible repository. @@ -11681,7 +11681,7 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. */ patch: operations["secret-scanning/update-alert"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { parameters: { @@ -11699,13 +11699,13 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/list-locations-for-alert"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/security-advisories": { parameters: { @@ -11723,7 +11723,7 @@ export interface paths { * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. */ get: operations["security-advisories/list-repository-advisories"]; - put: never; + put?: never; /** * Create a repository security advisory * @description Creates a new repository security advisory. @@ -11732,11 +11732,11 @@ export interface paths { * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. */ post: operations["security-advisories/create-repository-advisory"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/security-advisories/reports": { parameters: { @@ -11745,19 +11745,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Privately report a security vulnerability * @description Report a security vulnerability to the maintainers of the repository. * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. */ post: operations["security-advisories/create-private-vulnerability-report"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { parameters: { @@ -11777,11 +11777,11 @@ export interface paths { * collaborator on the security advisory. */ get: operations["security-advisories/get-repository-advisory"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a repository security advisory * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. @@ -11791,7 +11791,7 @@ export interface paths { * or a collaborator on the repository security advisory. */ patch: operations["security-advisories/update-repository-advisory"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { parameters: { @@ -11800,8 +11800,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Request a CVE for a repository security advisory * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." @@ -11813,11 +11813,11 @@ export interface paths { * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository. */ post: operations["security-advisories/create-repository-advisory-cve-request"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stargazers": { parameters: { @@ -11833,13 +11833,13 @@ export interface paths { * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ get: operations["activity/list-stargazers-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stats/code_frequency": { parameters: { @@ -11853,13 +11853,13 @@ export interface paths { * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ get: operations["repos/get-code-frequency-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stats/commit_activity": { parameters: { @@ -11873,13 +11873,13 @@ export interface paths { * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */ get: operations["repos/get-commit-activity-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stats/contributors": { parameters: { @@ -11899,13 +11899,13 @@ export interface paths { * * `c` - Number of commits */ get: operations["repos/get-contributors-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stats/participation": { parameters: { @@ -11923,13 +11923,13 @@ export interface paths { * The most recent week is seven days ago at UTC midnight to today at UTC midnight. */ get: operations["repos/get-participation-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stats/punch_card": { parameters: { @@ -11949,13 +11949,13 @@ export interface paths { * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ get: operations["repos/get-punch-card-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/statuses/{sha}": { parameters: { @@ -11964,8 +11964,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a commit status * @description Users with push access in a repository can create commit statuses for a given SHA. @@ -11973,11 +11973,11 @@ export interface paths { * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. */ post: operations["repos/create-commit-status"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/subscribers": { parameters: { @@ -11991,13 +11991,13 @@ export interface paths { * @description Lists the people watching the specified repository. */ get: operations["activity/list-watchers-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/subscription": { parameters: { @@ -12016,16 +12016,16 @@ export interface paths { * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. */ put: operations["activity/set-repo-subscription"]; - post: never; + post?: never; /** * Delete a repository subscription * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). */ delete: operations["activity/delete-repo-subscription"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/tags": { parameters: { @@ -12036,13 +12036,13 @@ export interface paths { }; /** List repository tags */ get: operations["repos/list-tags"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/tags/protection": { parameters: { @@ -12058,18 +12058,18 @@ export interface paths { * This information is only available to repository administrators. */ get: operations["repos/list-tag-protection"]; - put: never; + put?: never; /** * Create a tag protection state for a repository * @description This creates a tag protection state for a repository. * This endpoint is only available to repository administrators. */ post: operations["repos/create-tag-protection"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { parameters: { @@ -12078,19 +12078,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a tag protection state for a repository * @description This deletes a tag protection state for a repository. * This endpoint is only available to repository administrators. */ delete: operations["repos/delete-tag-protection"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/tarball/{ref}": { parameters: { @@ -12107,13 +12107,13 @@ export interface paths { * **Note**: For private repositories, these links are temporary and expire after five minutes. */ get: operations["repos/download-tarball-archive"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/teams": { parameters: { @@ -12135,13 +12135,13 @@ export interface paths { * This endpoint is not compatible with fine-grained personal access tokens. */ get: operations["repos/list-teams"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/topics": { parameters: { @@ -12154,12 +12154,12 @@ export interface paths { get: operations["repos/get-all-topics"]; /** Replace all repository topics */ put: operations["repos/replace-all-topics"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/traffic/clones": { parameters: { @@ -12173,13 +12173,13 @@ export interface paths { * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ get: operations["repos/get-clones"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/traffic/popular/paths": { parameters: { @@ -12193,13 +12193,13 @@ export interface paths { * @description Get the top 10 popular contents over the last 14 days. */ get: operations["repos/get-top-paths"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/traffic/popular/referrers": { parameters: { @@ -12213,13 +12213,13 @@ export interface paths { * @description Get the top 10 referrers over the last 14 days. */ get: operations["repos/get-top-referrers"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/traffic/views": { parameters: { @@ -12233,13 +12233,13 @@ export interface paths { * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ get: operations["repos/get-views"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/transfer": { parameters: { @@ -12248,19 +12248,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Transfer a repository * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account. */ post: operations["repos/transfer"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/vulnerability-alerts": { parameters: { @@ -12279,7 +12279,7 @@ export interface paths { * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". */ put: operations["repos/enable-vulnerability-alerts"]; - post: never; + post?: never; /** * Disable vulnerability alerts * @description Disables dependency alerts and the dependency graph for a repository. @@ -12287,10 +12287,10 @@ export interface paths { * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". */ delete: operations["repos/disable-vulnerability-alerts"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/zipball/{ref}": { parameters: { @@ -12308,13 +12308,13 @@ export interface paths { * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. */ get: operations["repos/download-zipball-archive"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{template_owner}/{template_repo}/generate": { parameters: { @@ -12323,8 +12323,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a repository using a template * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. @@ -12337,11 +12337,11 @@ export interface paths { * * `repo` scope to create a private repository */ post: operations["repos/create-using-template"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories": { parameters: { @@ -12359,13 +12359,13 @@ export interface paths { * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. */ get: operations["repos/list-public"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories/{repository_id}/environments/{environment_name}/secrets": { parameters: { @@ -12384,13 +12384,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/list-environment-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { parameters: { @@ -12410,13 +12410,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/get-environment-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { parameters: { @@ -12444,7 +12444,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ put: operations["actions/create-or-update-environment-secret"]; - post: never; + post?: never; /** * Delete an environment secret * @description Deletes a secret in an environment using the secret name. @@ -12454,10 +12454,10 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ delete: operations["actions/delete-environment-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories/{repository_id}/environments/{environment_name}/variables": { parameters: { @@ -12475,7 +12475,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/list-environment-variables"]; - put: never; + put?: never; /** * Create an environment variable * @description Create an environment variable that you can reference in a GitHub Actions workflow. @@ -12485,11 +12485,11 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ post: operations["actions/create-environment-variable"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories/{repository_id}/environments/{environment_name}/variables/{name}": { parameters: { @@ -12507,8 +12507,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/get-environment-variable"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an environment variable * @description Deletes an environment variable using the variable name. @@ -12518,8 +12518,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ delete: operations["actions/delete-environment-variable"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an environment variable * @description Updates an environment variable that you can reference in a GitHub Actions workflow. @@ -12529,7 +12529,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ patch: operations["actions/update-environment-variable"]; - trace: never; + trace?: never; }; "/search/code": { parameters: { @@ -12562,13 +12562,13 @@ export interface paths { * This endpoint requires you to authenticate and limits you to 10 requests per minute. */ get: operations["search/code"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/commits": { parameters: { @@ -12589,13 +12589,13 @@ export interface paths { * `q=repo:octocat/Spoon-Knife+css` */ get: operations["search/commits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/issues": { parameters: { @@ -12620,13 +12620,13 @@ export interface paths { * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." */ get: operations["search/issues-and-pull-requests"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/labels": { parameters: { @@ -12648,13 +12648,13 @@ export interface paths { * The labels that best match the query appear first in the search results. */ get: operations["search/labels"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/repositories": { parameters: { @@ -12676,13 +12676,13 @@ export interface paths { * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. */ get: operations["search/repos"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/topics": { parameters: { @@ -12704,13 +12704,13 @@ export interface paths { * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. */ get: operations["search/topics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/users": { parameters: { @@ -12734,13 +12734,13 @@ export interface paths { * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." */ get: operations["search/users"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}": { parameters: { @@ -12755,8 +12755,8 @@ export interface paths { * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. */ get: operations["teams/get-legacy"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a team (Legacy) * @deprecated @@ -12767,8 +12767,8 @@ export interface paths { * If you are an organization owner, deleting a parent team will delete all of its child teams as well. */ delete: operations["teams/delete-legacy"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a team (Legacy) * @deprecated @@ -12779,7 +12779,7 @@ export interface paths { * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. */ patch: operations["teams/update-legacy"]; - trace: never; + trace?: never; }; "/teams/{team_id}/discussions": { parameters: { @@ -12796,7 +12796,7 @@ export interface paths { * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["teams/list-discussions-legacy"]; - put: never; + put?: never; /** * Create a discussion (Legacy) * @deprecated @@ -12807,11 +12807,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["teams/create-discussion-legacy"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/discussions/{discussion_number}": { parameters: { @@ -12828,8 +12828,8 @@ export interface paths { * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["teams/get-discussion-legacy"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a discussion (Legacy) * @deprecated @@ -12838,8 +12838,8 @@ export interface paths { * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["teams/delete-discussion-legacy"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a discussion (Legacy) * @deprecated @@ -12848,7 +12848,7 @@ export interface paths { * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ patch: operations["teams/update-discussion-legacy"]; - trace: never; + trace?: never; }; "/teams/{team_id}/discussions/{discussion_number}/comments": { parameters: { @@ -12865,7 +12865,7 @@ export interface paths { * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["teams/list-discussion-comments-legacy"]; - put: never; + put?: never; /** * Create a discussion comment (Legacy) * @deprecated @@ -12876,11 +12876,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["teams/create-discussion-comment-legacy"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { parameters: { @@ -12897,8 +12897,8 @@ export interface paths { * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["teams/get-discussion-comment-legacy"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a discussion comment (Legacy) * @deprecated @@ -12907,8 +12907,8 @@ export interface paths { * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["teams/delete-discussion-comment-legacy"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a discussion comment (Legacy) * @deprecated @@ -12917,7 +12917,7 @@ export interface paths { * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ patch: operations["teams/update-discussion-comment-legacy"]; - trace: never; + trace?: never; }; "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { parameters: { @@ -12934,7 +12934,7 @@ export interface paths { * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["reactions/list-for-team-discussion-comment-legacy"]; - put: never; + put?: never; /** * Create reaction for a team discussion comment (Legacy) * @deprecated @@ -12943,11 +12943,11 @@ export interface paths { * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. */ post: operations["reactions/create-for-team-discussion-comment-legacy"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/discussions/{discussion_number}/reactions": { parameters: { @@ -12964,7 +12964,7 @@ export interface paths { * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["reactions/list-for-team-discussion-legacy"]; - put: never; + put?: never; /** * Create reaction for a team discussion (Legacy) * @deprecated @@ -12973,11 +12973,11 @@ export interface paths { * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. */ post: operations["reactions/create-for-team-discussion-legacy"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/invitations": { parameters: { @@ -12994,13 +12994,13 @@ export interface paths { * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ get: operations["teams/list-pending-invitations-legacy"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/members": { parameters: { @@ -13017,13 +13017,13 @@ export interface paths { * Team members will include the members of child teams. */ get: operations["teams/list-members-legacy"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/members/{username}": { parameters: { @@ -13058,7 +13058,7 @@ export interface paths { * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["teams/add-member-legacy"]; - post: never; + post?: never; /** * Remove team member (Legacy) * @deprecated @@ -13073,10 +13073,10 @@ export interface paths { * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." */ delete: operations["teams/remove-member-legacy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/memberships/{username}": { parameters: { @@ -13116,7 +13116,7 @@ export interface paths { * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. */ put: operations["teams/add-or-update-membership-for-user-legacy"]; - post: never; + post?: never; /** * Remove team membership for a user (Legacy) * @deprecated @@ -13129,10 +13129,10 @@ export interface paths { * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." */ delete: operations["teams/remove-membership-for-user-legacy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/projects": { parameters: { @@ -13149,13 +13149,13 @@ export interface paths { * Lists the organization projects for a team. */ get: operations["teams/list-projects-legacy"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/projects/{project_id}": { parameters: { @@ -13180,7 +13180,7 @@ export interface paths { * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. */ put: operations["teams/add-or-update-project-permissions-legacy"]; - post: never; + post?: never; /** * Remove a project from a team (Legacy) * @deprecated @@ -13189,10 +13189,10 @@ export interface paths { * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. */ delete: operations["teams/remove-project-legacy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/repos": { parameters: { @@ -13207,13 +13207,13 @@ export interface paths { * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. */ get: operations["teams/list-repos-legacy"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/repos/{owner}/{repo}": { parameters: { @@ -13242,7 +13242,7 @@ export interface paths { * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["teams/add-or-update-repo-permissions-legacy"]; - post: never; + post?: never; /** * Remove a repository from a team (Legacy) * @deprecated @@ -13251,10 +13251,10 @@ export interface paths { * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. */ delete: operations["teams/remove-repo-legacy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/teams": { parameters: { @@ -13269,13 +13269,13 @@ export interface paths { * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. */ get: operations["teams/list-child-legacy"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user": { parameters: { @@ -13291,17 +13291,17 @@ export interface paths { * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. */ get: operations["users/get-authenticated"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update the authenticated user * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. */ patch: operations["users/update-authenticated"]; - trace: never; + trace?: never; }; "/user/blocks": { parameters: { @@ -13315,13 +13315,13 @@ export interface paths { * @description List the users you've blocked on your personal account. */ get: operations["users/list-blocked-by-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/blocks/{username}": { parameters: { @@ -13340,16 +13340,16 @@ export interface paths { * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. */ put: operations["users/block"]; - post: never; + post?: never; /** * Unblock a user * @description Unblocks the given user and returns a 204. */ delete: operations["users/unblock"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces": { parameters: { @@ -13367,7 +13367,7 @@ export interface paths { * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ get: operations["codespaces/list-for-authenticated-user"]; - put: never; + put?: never; /** * Create a codespace for the authenticated user * @description Creates a new codespace, owned by the authenticated user. @@ -13379,11 +13379,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ post: operations["codespaces/create-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/secrets": { parameters: { @@ -13402,13 +13402,13 @@ export interface paths { * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. */ get: operations["codespaces/list-secrets-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/secrets/public-key": { parameters: { @@ -13426,13 +13426,13 @@ export interface paths { * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. */ get: operations["codespaces/get-public-key-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/secrets/{secret_name}": { parameters: { @@ -13460,7 +13460,7 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. */ put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; - post: never; + post?: never; /** * Delete a secret for the authenticated user * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. @@ -13470,10 +13470,10 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. */ delete: operations["codespaces/delete-secret-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/secrets/{secret_name}/repositories": { parameters: { @@ -13500,12 +13500,12 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. */ put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { parameters: { @@ -13514,7 +13514,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add a selected repository to a user secret * @description Adds a repository to the selected repositories for a user's codespace secret. @@ -13522,7 +13522,7 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. */ put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; - post: never; + post?: never; /** * Remove a selected repository from a user secret * @description Removes a repository from the selected repositories for a user's codespace secret. @@ -13530,10 +13530,10 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. */ delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}": { parameters: { @@ -13551,8 +13551,8 @@ export interface paths { * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ get: operations["codespaces/get-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a codespace for the authenticated user * @description Deletes a user's codespace. @@ -13562,8 +13562,8 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ delete: operations["codespaces/delete-for-authenticated-user"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a codespace for the authenticated user * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. @@ -13575,7 +13575,7 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ patch: operations["codespaces/update-for-authenticated-user"]; - trace: never; + trace?: never; }; "/user/codespaces/{codespace_name}/exports": { parameters: { @@ -13584,8 +13584,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Export a codespace for the authenticated user * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. @@ -13597,11 +13597,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ post: operations["codespaces/export-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}/exports/{export_id}": { parameters: { @@ -13619,13 +13619,13 @@ export interface paths { * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ get: operations["codespaces/get-export-details-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}/machines": { parameters: { @@ -13643,13 +13643,13 @@ export interface paths { * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. */ get: operations["codespaces/codespace-machines-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}/publish": { parameters: { @@ -13658,8 +13658,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a repository from an unpublished codespace * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. @@ -13673,11 +13673,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ post: operations["codespaces/publish-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}/start": { parameters: { @@ -13686,8 +13686,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Start a codespace for the authenticated user * @description Starts a user's codespace. @@ -13697,11 +13697,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ post: operations["codespaces/start-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}/stop": { parameters: { @@ -13710,8 +13710,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Stop a codespace for the authenticated user * @description Stops a user's codespace. @@ -13721,11 +13721,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ post: operations["codespaces/stop-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/docker/conflicts": { parameters: { @@ -13740,13 +13740,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. */ get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/email/visibility": { parameters: { @@ -13755,18 +13755,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Set primary email visibility for the authenticated user * @description Sets the visibility for your primary email addresses. */ patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; - trace: never; + trace?: never; }; "/user/emails": { parameters: { @@ -13780,7 +13780,7 @@ export interface paths { * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ get: operations["users/list-emails-for-authenticated-user"]; - put: never; + put?: never; /** * Add an email address for the authenticated user * @description This endpoint is accessible with the `user` scope. @@ -13791,10 +13791,10 @@ export interface paths { * @description This endpoint is accessible with the `user` scope. */ delete: operations["users/delete-email-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/followers": { parameters: { @@ -13808,13 +13808,13 @@ export interface paths { * @description Lists the people following the authenticated user. */ get: operations["users/list-followers-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/following": { parameters: { @@ -13828,13 +13828,13 @@ export interface paths { * @description Lists the people who the authenticated user follows. */ get: operations["users/list-followed-by-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/following/{username}": { parameters: { @@ -13852,16 +13852,16 @@ export interface paths { * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ put: operations["users/follow"]; - post: never; + post?: never; /** * Unfollow a user * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ delete: operations["users/unfollow"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/gpg_keys": { parameters: { @@ -13875,17 +13875,17 @@ export interface paths { * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["users/list-gpg-keys-for-authenticated-user"]; - put: never; + put?: never; /** * Create a GPG key for the authenticated user * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ post: operations["users/create-gpg-key-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/gpg_keys/{gpg_key_id}": { parameters: { @@ -13899,17 +13899,17 @@ export interface paths { * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["users/get-gpg-key-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a GPG key for the authenticated user * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["users/delete-gpg-key-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/installations": { parameters: { @@ -13929,13 +13929,13 @@ export interface paths { * You can find the permissions for the installation under the `permissions` key. */ get: operations["apps/list-installations-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/installations/{installation_id}/repositories": { parameters: { @@ -13955,13 +13955,13 @@ export interface paths { * The access the user has to each repository is included in the hash under the `permissions` key. */ get: operations["apps/list-installation-repos-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/installations/{installation_id}/repositories/{repository_id}": { parameters: { @@ -13970,7 +13970,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add a repository to an app installation * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. @@ -13978,7 +13978,7 @@ export interface paths { * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. */ put: operations["apps/add-repo-to-installation-for-authenticated-user"]; - post: never; + post?: never; /** * Remove a repository from an app installation * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. @@ -13986,10 +13986,10 @@ export interface paths { * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. */ delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/interaction-limits": { parameters: { @@ -14008,16 +14008,16 @@ export interface paths { * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ put: operations["interactions/set-restrictions-for-authenticated-user"]; - post: never; + post?: never; /** * Remove interaction restrictions from your public repositories * @description Removes any interaction restrictions from your public repositories. */ delete: operations["interactions/remove-restrictions-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/issues": { parameters: { @@ -14036,13 +14036,13 @@ export interface paths { * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. */ get: operations["issues/list-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/keys": { parameters: { @@ -14056,17 +14056,17 @@ export interface paths { * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["users/list-public-ssh-keys-for-authenticated-user"]; - put: never; + put?: never; /** * Create a public SSH key for the authenticated user * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ post: operations["users/create-public-ssh-key-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/keys/{key_id}": { parameters: { @@ -14080,17 +14080,17 @@ export interface paths { * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["users/get-public-ssh-key-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a public SSH key for the authenticated user * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/marketplace_purchases": { parameters: { @@ -14104,13 +14104,13 @@ export interface paths { * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). */ get: operations["apps/list-subscriptions-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/marketplace_purchases/stubbed": { parameters: { @@ -14124,13 +14124,13 @@ export interface paths { * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). */ get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/memberships/orgs": { parameters: { @@ -14144,13 +14144,13 @@ export interface paths { * @description Lists all of the authenticated user's organization memberships. */ get: operations["orgs/list-memberships-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/memberships/orgs/{org}": { parameters: { @@ -14164,17 +14164,17 @@ export interface paths { * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. */ get: operations["orgs/get-membership-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update an organization membership for the authenticated user * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. */ patch: operations["orgs/update-membership-for-authenticated-user"]; - trace: never; + trace?: never; }; "/user/migrations": { parameters: { @@ -14188,17 +14188,17 @@ export interface paths { * @description Lists all migrations a user has started. */ get: operations["migrations/list-for-authenticated-user"]; - put: never; + put?: never; /** * Start a user migration * @description Initiates the generation of a user migration archive. */ post: operations["migrations/start-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/migrations/{migration_id}": { parameters: { @@ -14219,13 +14219,13 @@ export interface paths { * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). */ get: operations["migrations/get-status-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/migrations/{migration_id}/archive": { parameters: { @@ -14259,17 +14259,17 @@ export interface paths { * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. */ get: operations["migrations/get-archive-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a user migration archive * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. */ delete: operations["migrations/delete-archive-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/migrations/{migration_id}/repos/{repo_name}/lock": { parameters: { @@ -14278,18 +14278,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Unlock a user repository * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */ delete: operations["migrations/unlock-repo-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/migrations/{migration_id}/repositories": { parameters: { @@ -14303,13 +14303,13 @@ export interface paths { * @description Lists all the repositories for this user migration. */ get: operations["migrations/list-repos-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/orgs": { parameters: { @@ -14327,13 +14327,13 @@ export interface paths { * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. */ get: operations["orgs/list-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages": { parameters: { @@ -14349,13 +14349,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/list-packages-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages/{package_type}/{package_name}": { parameters: { @@ -14371,8 +14371,8 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a package for the authenticated user * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. @@ -14381,10 +14381,10 @@ export interface paths { * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ delete: operations["packages/delete-package-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages/{package_type}/{package_name}/restore": { parameters: { @@ -14393,8 +14393,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore a package for the authenticated user * @description Restores a package owned by the authenticated user. @@ -14406,11 +14406,11 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ post: operations["packages/restore-package-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages/{package_type}/{package_name}/versions": { parameters: { @@ -14426,13 +14426,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { parameters: { @@ -14448,8 +14448,8 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-version-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a package version for the authenticated user * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. @@ -14458,10 +14458,10 @@ export interface paths { * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ delete: operations["packages/delete-package-version-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { parameters: { @@ -14470,8 +14470,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore a package version for the authenticated user * @description Restores a package version owned by the authenticated user. @@ -14483,11 +14483,11 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ post: operations["packages/restore-package-version-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/projects": { parameters: { @@ -14496,18 +14496,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a user project * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ post: operations["projects/create-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/public_emails": { parameters: { @@ -14521,13 +14521,13 @@ export interface paths { * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ get: operations["users/list-public-emails-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/repos": { parameters: { @@ -14543,7 +14543,7 @@ export interface paths { * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. */ get: operations["repos/list-for-authenticated-user"]; - put: never; + put?: never; /** * Create a repository for the authenticated user * @description Creates a new repository for the authenticated user. @@ -14556,11 +14556,11 @@ export interface paths { * * `repo` scope to create a private repository. */ post: operations["repos/create-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/repository_invitations": { parameters: { @@ -14574,13 +14574,13 @@ export interface paths { * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ get: operations["repos/list-invitations-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/repository_invitations/{invitation_id}": { parameters: { @@ -14589,16 +14589,16 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** Decline a repository invitation */ delete: operations["repos/decline-invitation-for-authenticated-user"]; - options: never; - head: never; + options?: never; + head?: never; /** Accept a repository invitation */ patch: operations["repos/accept-invitation-for-authenticated-user"]; - trace: never; + trace?: never; }; "/user/social_accounts": { parameters: { @@ -14612,7 +14612,7 @@ export interface paths { * @description Lists all of your social accounts. */ get: operations["users/list-social-accounts-for-authenticated-user"]; - put: never; + put?: never; /** * Add social accounts for the authenticated user * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. @@ -14623,10 +14623,10 @@ export interface paths { * @description Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. */ delete: operations["users/delete-social-account-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/ssh_signing_keys": { parameters: { @@ -14640,17 +14640,17 @@ export interface paths { * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; - put: never; + put?: never; /** * Create a SSH signing key for the authenticated user * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ post: operations["users/create-ssh-signing-key-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/ssh_signing_keys/{ssh_signing_key_id}": { parameters: { @@ -14664,17 +14664,17 @@ export interface paths { * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ get: operations["users/get-ssh-signing-key-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an SSH signing key for the authenticated user * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/starred": { parameters: { @@ -14690,13 +14690,13 @@ export interface paths { * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ get: operations["activity/list-repos-starred-by-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/starred/{owner}/{repo}": { parameters: { @@ -14715,16 +14715,16 @@ export interface paths { * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["activity/star-repo-for-authenticated-user"]; - post: never; + post?: never; /** * Unstar a repository for the authenticated user * @description Unstar a repository that the authenticated user has previously starred. */ delete: operations["activity/unstar-repo-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/subscriptions": { parameters: { @@ -14738,13 +14738,13 @@ export interface paths { * @description Lists repositories the authenticated user is watching. */ get: operations["activity/list-watched-repos-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/teams": { parameters: { @@ -14758,13 +14758,13 @@ export interface paths { * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. */ get: operations["teams/list-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users": { parameters: { @@ -14780,13 +14780,13 @@ export interface paths { * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. */ get: operations["users/list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}": { parameters: { @@ -14806,13 +14806,13 @@ export interface paths { * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". */ get: operations["users/get-by-username"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/docker/conflicts": { parameters: { @@ -14827,13 +14827,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. */ get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/events": { parameters: { @@ -14847,13 +14847,13 @@ export interface paths { * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */ get: operations["activity/list-events-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/events/orgs/{org}": { parameters: { @@ -14867,13 +14867,13 @@ export interface paths { * @description This is the user's organization dashboard. You must be authenticated as the user to view this. */ get: operations["activity/list-org-events-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/events/public": { parameters: { @@ -14884,13 +14884,13 @@ export interface paths { }; /** List public events for a user */ get: operations["activity/list-public-events-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/followers": { parameters: { @@ -14904,13 +14904,13 @@ export interface paths { * @description Lists the people following the specified user. */ get: operations["users/list-followers-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/following": { parameters: { @@ -14924,13 +14924,13 @@ export interface paths { * @description Lists the people who the specified user follows. */ get: operations["users/list-following-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/following/{target_user}": { parameters: { @@ -14941,13 +14941,13 @@ export interface paths { }; /** Check if a user follows another user */ get: operations["users/check-following-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/gists": { parameters: { @@ -14961,13 +14961,13 @@ export interface paths { * @description Lists public gists for the specified user: */ get: operations["gists/list-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/gpg_keys": { parameters: { @@ -14981,13 +14981,13 @@ export interface paths { * @description Lists the GPG keys for a user. This information is accessible by anyone. */ get: operations["users/list-gpg-keys-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/hovercard": { parameters: { @@ -15008,13 +15008,13 @@ export interface paths { * ``` */ get: operations["users/get-context-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/installation": { parameters: { @@ -15030,13 +15030,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-user-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/keys": { parameters: { @@ -15050,13 +15050,13 @@ export interface paths { * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ get: operations["users/list-public-keys-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/orgs": { parameters: { @@ -15072,13 +15072,13 @@ export interface paths { * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. */ get: operations["orgs/list-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages": { parameters: { @@ -15094,13 +15094,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/list-packages-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages/{package_type}/{package_name}": { parameters: { @@ -15116,8 +15116,8 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-for-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a package for a user * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. @@ -15127,10 +15127,10 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ delete: operations["packages/delete-package-for-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages/{package_type}/{package_name}/restore": { parameters: { @@ -15139,8 +15139,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore a package for a user * @description Restores an entire package for a user. @@ -15154,11 +15154,11 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ post: operations["packages/restore-package-for-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages/{package_type}/{package_name}/versions": { parameters: { @@ -15174,13 +15174,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { parameters: { @@ -15196,8 +15196,8 @@ export interface paths { * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-version-for-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete package version for a user * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. @@ -15207,10 +15207,10 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ delete: operations["packages/delete-package-version-for-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { parameters: { @@ -15219,8 +15219,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore package version for a user * @description Restores a specific package version for a user. @@ -15234,11 +15234,11 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ post: operations["packages/restore-package-version-for-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/projects": { parameters: { @@ -15252,13 +15252,13 @@ export interface paths { * @description Lists projects for a user. */ get: operations["projects/list-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/received_events": { parameters: { @@ -15272,13 +15272,13 @@ export interface paths { * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */ get: operations["activity/list-received-events-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/received_events/public": { parameters: { @@ -15289,13 +15289,13 @@ export interface paths { }; /** List public events received by a user */ get: operations["activity/list-received-public-events-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/repos": { parameters: { @@ -15309,13 +15309,13 @@ export interface paths { * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ get: operations["repos/list-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/settings/billing/actions": { parameters: { @@ -15333,13 +15333,13 @@ export interface paths { * Access tokens must have the `user` scope. */ get: operations["billing/get-github-actions-billing-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/settings/billing/packages": { parameters: { @@ -15357,13 +15357,13 @@ export interface paths { * Access tokens must have the `user` scope. */ get: operations["billing/get-github-packages-billing-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/settings/billing/shared-storage": { parameters: { @@ -15381,13 +15381,13 @@ export interface paths { * Access tokens must have the `user` scope. */ get: operations["billing/get-shared-storage-billing-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/social_accounts": { parameters: { @@ -15401,13 +15401,13 @@ export interface paths { * @description Lists social media accounts for a user. This endpoint is accessible by anyone. */ get: operations["users/list-social-accounts-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/ssh_signing_keys": { parameters: { @@ -15421,13 +15421,13 @@ export interface paths { * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. */ get: operations["users/list-ssh-signing-keys-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/starred": { parameters: { @@ -15443,13 +15443,13 @@ export interface paths { * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ get: operations["activity/list-repos-starred-by-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/subscriptions": { parameters: { @@ -15463,13 +15463,13 @@ export interface paths { * @description Lists repositories a user is watching. */ get: operations["activity/list-repos-watched-by-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/versions": { parameters: { @@ -15483,13 +15483,13 @@ export interface paths { * @description Get all supported GitHub API versions. */ get: operations["meta/get-all-versions"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/zen": { parameters: { @@ -15503,13 +15503,13 @@ export interface paths { * @description Get a random sentence from the Zen of GitHub */ get: operations["meta/get-zen"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export interface webhooks { @@ -15520,8 +15520,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is a change to branch protection configurations for a repository. * For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." @@ -15531,11 +15531,11 @@ export interface webhooks { * @description All branch protections were disabled for a repository. */ post: operations["branch-protection-configuration/disabled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "branch-protection-configuration-enabled": { parameters: { @@ -15544,8 +15544,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is a change to branch protection configurations for a repository. * For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." @@ -15555,11 +15555,11 @@ export interface webhooks { * @description All branch protections were enabled for a repository. */ post: operations["branch-protection-configuration/enabled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "branch-protection-rule-created": { parameters: { @@ -15568,8 +15568,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. * @@ -15577,11 +15577,11 @@ export interface webhooks { * @description A branch protection rule was created. */ post: operations["branch-protection-rule/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "branch-protection-rule-deleted": { parameters: { @@ -15590,8 +15590,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. * @@ -15599,11 +15599,11 @@ export interface webhooks { * @description A branch protection rule was deleted. */ post: operations["branch-protection-rule/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "branch-protection-rule-edited": { parameters: { @@ -15612,8 +15612,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/rest/branches/branch-protection)" in the REST API documentation. * @@ -15621,11 +15621,11 @@ export interface webhooks { * @description A branch protection rule was edited. */ post: operations["branch-protection-rule/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "check-run-completed": { parameters: { @@ -15634,8 +15634,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. * @@ -15649,11 +15649,11 @@ export interface webhooks { * @description A check run was completed, and a conclusion is available. */ post: operations["check-run/completed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "check-run-created": { parameters: { @@ -15662,8 +15662,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. * @@ -15677,11 +15677,11 @@ export interface webhooks { * @description A new check run was created. */ post: operations["check-run/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "check-run-requested-action": { parameters: { @@ -15690,8 +15690,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. * @@ -15705,11 +15705,11 @@ export interface webhooks { * @description A check run completed, and someone requested a followup action that your app provides. Only the GitHub App someone requests to perform an action will receive the `requested_action` payload. For more information, see "[Creating CI tests with the Checks API](https://docs.github.com/developers/apps/guides/creating-ci-tests-with-the-checks-api)." */ post: operations["check-run/requested-action"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "check-run-rerequested": { parameters: { @@ -15718,8 +15718,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/rest/checks/runs)" in the REST API documentation. * @@ -15733,11 +15733,11 @@ export interface webhooks { * @description Someone requested to re-run a check run. Only the GitHub App that someone requests to re-run the check will receive the `rerequested` payload. */ post: operations["check-run/rerequested"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "check-suite-completed": { parameters: { @@ -15746,8 +15746,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. * @@ -15761,11 +15761,11 @@ export interface webhooks { * @description All check runs in a check suite have completed, and a conclusion is available. */ post: operations["check-suite/completed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "check-suite-requested": { parameters: { @@ -15774,8 +15774,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. * @@ -15789,11 +15789,11 @@ export interface webhooks { * @description Someone requested to run a check suite. By default, check suites are automatically created when you create a check run. For more information, see [the GraphQL API documentation for creating a check run](https://docs.github.com/graphql/reference/mutations#createcheckrun) or "[Create a check run](https://docs.github.com/rest/checks/runs#create-a-check-run)" in the REST API documentation. */ post: operations["check-suite/requested"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "check-suite-rerequested": { parameters: { @@ -15802,8 +15802,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a check suite. For information about check suites, see "[Getting started with the Checks API](https://docs.github.com/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check suites, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#checksuite) or "[Check Suites](https://docs.github.com/rest/checks/suites)" in the REST API documentation. * @@ -15817,11 +15817,11 @@ export interface webhooks { * @description Someone requested to re-run the check runs in a check suite. For more information, see [the GraphQL API documentation for creating a check suite](https://docs.github.com/graphql/reference/mutations#createchecksuite) or "[Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite)" in the REST API documentation. */ post: operations["check-suite/rerequested"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "code-scanning-alert-appeared-in-branch": { parameters: { @@ -15830,8 +15830,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. * @@ -15839,11 +15839,11 @@ export interface webhooks { * @description A previously created code scanning alert appeared in another branch. This can happen when a branch is merged into or created from a branch with a pre-existing code scanning alert. */ post: operations["code-scanning-alert/appeared-in-branch"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "code-scanning-alert-closed-by-user": { parameters: { @@ -15852,8 +15852,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. * @@ -15861,11 +15861,11 @@ export interface webhooks { * @description Someone closed a code scanning alert. */ post: operations["code-scanning-alert/closed-by-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "code-scanning-alert-created": { parameters: { @@ -15874,8 +15874,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. * @@ -15883,11 +15883,11 @@ export interface webhooks { * @description A code scanning alert was created in a repository. */ post: operations["code-scanning-alert/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "code-scanning-alert-fixed": { parameters: { @@ -15896,8 +15896,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. * @@ -15905,11 +15905,11 @@ export interface webhooks { * @description A code scanning alert was fixed in a branch by a commit. */ post: operations["code-scanning-alert/fixed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "code-scanning-alert-reopened": { parameters: { @@ -15918,8 +15918,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. * @@ -15927,11 +15927,11 @@ export interface webhooks { * @description A previously fixed code scanning alert reappeared in a branch. */ post: operations["code-scanning-alert/reopened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "code-scanning-alert-reopened-by-user": { parameters: { @@ -15940,8 +15940,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to code scanning alerts in a repository. For more information, see "[About code scanning](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning)" and "[About code scanning alerts](https://docs.github.com/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-alerts)." For information about the API to manage code scanning, see "[Code scanning](https://docs.github.com/rest/code-scanning)" in the REST API documentation. * @@ -15949,11 +15949,11 @@ export interface webhooks { * @description Someone reopened a code scanning alert. */ post: operations["code-scanning-alert/reopened-by-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "commit-comment-created": { parameters: { @@ -15962,8 +15962,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to commit comments. For more information about commit comments, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request)." For information about the APIs to manage commit comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#commitcomment) or "[Commit comments](https://docs.github.com/rest/commits/comments)" in the REST API documentation. * @@ -15973,11 +15973,11 @@ export interface webhooks { * @description Someone commented on a commit. */ post: operations["commit-comment/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; create: { parameters: { @@ -15986,8 +15986,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when a Git branch or tag is created. * * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. @@ -15996,11 +15996,11 @@ export interface webhooks { * - This event will not occur when more than three tags are created at once. * - Payloads are capped at 25 MB. If an event generates a larger payload, GitHub will not deliver a payload for that webhook event. This may happen, for example, if many branches or tags are pushed at once. We suggest monitoring your payload size to ensure delivery. */ post: operations["create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; delete: { parameters: { @@ -16009,8 +16009,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when a Git branch or tag is deleted. To subscribe to all pushes to a repository, including * branch and tag deletions, use the [`push`](#push) webhook event. * @@ -16018,11 +16018,11 @@ export interface webhooks { * * **Note**: This event will not occur when more than three tags are deleted at once. */ post: operations["delete"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "dependabot-alert-auto-dismissed": { parameters: { @@ -16031,8 +16031,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to Dependabot alerts. * @@ -16044,11 +16044,11 @@ export interface webhooks { * @description A Dependabot alert was automatically closed. */ post: operations["dependabot-alert/auto-dismissed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "dependabot-alert-auto-reopened": { parameters: { @@ -16057,8 +16057,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to Dependabot alerts. * @@ -16070,11 +16070,11 @@ export interface webhooks { * @description A Dependabot alert was automatically reopened. */ post: operations["dependabot-alert/auto-reopened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "dependabot-alert-created": { parameters: { @@ -16083,8 +16083,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to Dependabot alerts. * @@ -16096,11 +16096,11 @@ export interface webhooks { * @description A manifest file change introduced a vulnerable dependency, or a GitHub Security Advisory was published and an existing dependency was found to be vulnerable. */ post: operations["dependabot-alert/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "dependabot-alert-dismissed": { parameters: { @@ -16109,8 +16109,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to Dependabot alerts. * @@ -16122,11 +16122,11 @@ export interface webhooks { * @description A Dependabot alert was manually closed. */ post: operations["dependabot-alert/dismissed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "dependabot-alert-fixed": { parameters: { @@ -16135,8 +16135,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to Dependabot alerts. * @@ -16148,11 +16148,11 @@ export interface webhooks { * @description A manifest file change removed a vulnerability. */ post: operations["dependabot-alert/fixed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "dependabot-alert-reintroduced": { parameters: { @@ -16161,8 +16161,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to Dependabot alerts. * @@ -16174,11 +16174,11 @@ export interface webhooks { * @description A manifest file change introduced a vulnerable dependency that had previously been fixed. */ post: operations["dependabot-alert/reintroduced"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "dependabot-alert-reopened": { parameters: { @@ -16187,8 +16187,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to Dependabot alerts. * @@ -16200,11 +16200,11 @@ export interface webhooks { * @description A Dependabot alert was manually reopened. */ post: operations["dependabot-alert/reopened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "deploy-key-created": { parameters: { @@ -16213,8 +16213,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deploykey) or "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. * @@ -16222,11 +16222,11 @@ export interface webhooks { * @description A deploy key was created. */ post: operations["deploy-key/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "deploy-key-deleted": { parameters: { @@ -16235,8 +16235,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to deploy keys. For more information, see "[Managing deploy keys](https://docs.github.com/developers/overview/managing-deploy-keys)." For information about the APIs to manage deploy keys, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deploykey) or "[Deploy keys](https://docs.github.com/rest/deploy-keys)" in the REST API documentation. * @@ -16244,11 +16244,11 @@ export interface webhooks { * @description A deploy key was deleted. */ post: operations["deploy-key/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "deployment-created": { parameters: { @@ -16257,8 +16257,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to deployments. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. * @@ -16268,11 +16268,11 @@ export interface webhooks { * @description A deployment was created. */ post: operations["deployment/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "deployment-protection-rule-requested": { parameters: { @@ -16281,8 +16281,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to deployment protection rules. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment#environment-protection-rules)." For information about the API to manage deployment protection rules, see [the REST API documentation](https://docs.github.com/rest/deployments/environments). * @@ -16290,11 +16290,11 @@ export interface webhooks { * @description A deployment protection rule was requested for an environment. */ post: operations["deployment-protection-rule/requested"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "deployment-review-approved": { parameters: { @@ -16303,8 +16303,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. * @@ -16314,11 +16314,11 @@ export interface webhooks { * @description A deployment review was approved. */ post: operations["deployment-review/approved"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "deployment-review-rejected": { parameters: { @@ -16327,8 +16327,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. * @@ -16338,11 +16338,11 @@ export interface webhooks { * @description A deployment review was rejected. */ post: operations["deployment-review/rejected"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "deployment-review-requested": { parameters: { @@ -16351,8 +16351,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to deployment reviews. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. * @@ -16362,11 +16362,11 @@ export interface webhooks { * @description A deployment review was requested. */ post: operations["deployment-review/requested"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "deployment-status-created": { parameters: { @@ -16375,8 +16375,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to deployment statuses. For more information, see "[About deployments](https://docs.github.com/actions/deployment/about-deployments)." For information about the APIs to manage deployments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#deployment) or "[Deployments](https://docs.github.com/rest/deployments/deployments)" in the REST API documentation. * @@ -16386,11 +16386,11 @@ export interface webhooks { * @description A new deployment status was created. */ post: operations["deployment-status/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-answered": { parameters: { @@ -16399,8 +16399,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16412,11 +16412,11 @@ export interface webhooks { * @description A comment on the discussion was marked as the answer. */ post: operations["discussion/answered"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-category-changed": { parameters: { @@ -16425,8 +16425,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16438,11 +16438,11 @@ export interface webhooks { * @description The category of a discussion was changed. */ post: operations["discussion/category-changed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-closed": { parameters: { @@ -16451,8 +16451,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16464,11 +16464,11 @@ export interface webhooks { * @description A discussion was closed. */ post: operations["discussion/closed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-comment-created": { parameters: { @@ -16477,8 +16477,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16490,11 +16490,11 @@ export interface webhooks { * @description A comment on a discussion was created. */ post: operations["discussion-comment/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-comment-deleted": { parameters: { @@ -16503,8 +16503,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16516,11 +16516,11 @@ export interface webhooks { * @description A comment on a discussion was deleted. */ post: operations["discussion-comment/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-comment-edited": { parameters: { @@ -16529,8 +16529,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a comment on a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16542,11 +16542,11 @@ export interface webhooks { * @description A comment on a discussion was edited. */ post: operations["discussion-comment/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-created": { parameters: { @@ -16555,8 +16555,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16568,11 +16568,11 @@ export interface webhooks { * @description A discussion was created. */ post: operations["discussion/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-deleted": { parameters: { @@ -16581,8 +16581,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16594,11 +16594,11 @@ export interface webhooks { * @description A discussion was deleted. */ post: operations["discussion/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-edited": { parameters: { @@ -16607,8 +16607,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16620,11 +16620,11 @@ export interface webhooks { * @description The title or body on a discussion was edited, or the category of the discussion was changed. */ post: operations["discussion/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-labeled": { parameters: { @@ -16633,8 +16633,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16646,11 +16646,11 @@ export interface webhooks { * @description A label was added to a discussion. */ post: operations["discussion/labeled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-locked": { parameters: { @@ -16659,8 +16659,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16672,11 +16672,11 @@ export interface webhooks { * @description A discussion was locked. */ post: operations["discussion/locked"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-pinned": { parameters: { @@ -16685,8 +16685,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16698,11 +16698,11 @@ export interface webhooks { * @description A discussion was pinned. */ post: operations["discussion/pinned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-reopened": { parameters: { @@ -16711,8 +16711,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16724,11 +16724,11 @@ export interface webhooks { * @description A discussion was reopened. */ post: operations["discussion/reopened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-transferred": { parameters: { @@ -16737,8 +16737,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16750,11 +16750,11 @@ export interface webhooks { * @description A discussion was transferred to another repository. */ post: operations["discussion/transferred"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-unanswered": { parameters: { @@ -16763,8 +16763,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16776,11 +16776,11 @@ export interface webhooks { * @description A comment on the discussion was unmarked as the answer. */ post: operations["discussion/unanswered"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-unlabeled": { parameters: { @@ -16789,8 +16789,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16802,11 +16802,11 @@ export interface webhooks { * @description A label was removed from a discussion. */ post: operations["discussion/unlabeled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-unlocked": { parameters: { @@ -16815,8 +16815,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16828,11 +16828,11 @@ export interface webhooks { * @description A discussion was unlocked. */ post: operations["discussion/unlocked"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "discussion-unpinned": { parameters: { @@ -16841,8 +16841,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a discussion. For more information about discussions, see "[GitHub Discussions](https://docs.github.com/discussions)." For information about the API to manage discussions, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#discussion). * @@ -16854,11 +16854,11 @@ export interface webhooks { * @description A discussion was unpinned. */ post: operations["discussion/unpinned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; fork: { parameters: { @@ -16867,17 +16867,17 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when someone forks a repository. For more information, see "[Fork a repo](https://docs.github.com/get-started/quickstart/fork-a-repo)." For information about the API to manage forks, see "[Forks](https://docs.github.com/rest/repos/forks)" in the REST API documentation. * * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. */ post: operations["fork"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "github-app-authorization-revoked": { parameters: { @@ -16886,8 +16886,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when a user revokes their authorization of a GitHub App. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the API to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. * @@ -16897,11 +16897,11 @@ export interface webhooks { * @description Someone revoked their authorization of a GitHub App. */ post: operations["github-app-authorization/revoked"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; gollum: { parameters: { @@ -16910,17 +16910,17 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when someone creates or updates a wiki page. For more information, see "[About wikis](https://docs.github.com/communities/documenting-your-project-with-wikis/about-wikis)." * * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. */ post: operations["gollum"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "installation-created": { parameters: { @@ -16929,8 +16929,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. * @@ -16938,11 +16938,11 @@ export interface webhooks { * @description Someone installed a GitHub App on a user or organization account. */ post: operations["installation/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "installation-deleted": { parameters: { @@ -16951,8 +16951,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. * @@ -16960,11 +16960,11 @@ export interface webhooks { * @description Someone uninstalled a GitHub App from their user or organization account. */ post: operations["installation/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "installation-new-permissions-accepted": { parameters: { @@ -16973,8 +16973,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. * @@ -16982,11 +16982,11 @@ export interface webhooks { * @description Someone granted new permissions to a GitHub App. */ post: operations["installation/new-permissions-accepted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "installation-repositories-added": { parameters: { @@ -16995,8 +16995,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to which repositories a GitHub App installation can access. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. * @@ -17004,11 +17004,11 @@ export interface webhooks { * @description A GitHub App installation was granted access to one or more repositories. */ post: operations["installation-repositories/added"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "installation-repositories-removed": { parameters: { @@ -17017,8 +17017,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to which repositories a GitHub App installation can access. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. * @@ -17026,11 +17026,11 @@ export interface webhooks { * @description Access to one or more repositories was revoked for a GitHub App installation. */ post: operations["installation-repositories/removed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "installation-suspend": { parameters: { @@ -17039,8 +17039,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. * @@ -17048,11 +17048,11 @@ export interface webhooks { * @description Someone blocked access by a GitHub App to their user or organization account. */ post: operations["installation/suspend"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "installation-target-renamed": { parameters: { @@ -17061,18 +17061,18 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to the user or organization account that a GitHub App is installed on. For more information, see "[About apps](https://docs.github.com/developers/apps/getting-started-with-apps/about-apps#about-github-apps)." For information about the APIs to manage GitHub Apps, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#app) or "[Apps](https://docs.github.com/rest/apps)" in the REST API documentation. * @description Somebody renamed the user or organization account that a GitHub App is installed on. */ post: operations["installation-target/renamed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "installation-unsuspend": { parameters: { @@ -17081,8 +17081,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a GitHub App installation. All GitHub Apps receive this event by default. You cannot manually subscribe to this event. * @@ -17090,11 +17090,11 @@ export interface webhooks { * @description A GitHub App that was blocked from accessing a user or organization account was given access the account again. */ post: operations["installation/unsuspend"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issue-comment-created": { parameters: { @@ -17103,8 +17103,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. * @@ -17114,11 +17114,11 @@ export interface webhooks { * @description A comment on an issue or pull request was created. */ post: operations["issue-comment/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issue-comment-deleted": { parameters: { @@ -17127,8 +17127,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. * @@ -17138,11 +17138,11 @@ export interface webhooks { * @description A comment on an issue or pull request was deleted. */ post: operations["issue-comment/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issue-comment-edited": { parameters: { @@ -17151,8 +17151,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a comment on an issue or pull request. For more information about issues and pull requests, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)" and "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage issue comments, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issuecomment) or "[Issue comments](https://docs.github.com/rest/issues/comments)" in the REST API documentation. * @@ -17162,11 +17162,11 @@ export interface webhooks { * @description A comment on an issue or pull request was edited. */ post: operations["issue-comment/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-assigned": { parameters: { @@ -17175,8 +17175,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17186,11 +17186,11 @@ export interface webhooks { * @description An issue was assigned to a user. */ post: operations["issues/assigned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-closed": { parameters: { @@ -17199,8 +17199,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17210,11 +17210,11 @@ export interface webhooks { * @description An issue was closed. */ post: operations["issues/closed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-deleted": { parameters: { @@ -17223,8 +17223,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17234,11 +17234,11 @@ export interface webhooks { * @description An issue was deleted. */ post: operations["issues/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-demilestoned": { parameters: { @@ -17247,8 +17247,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17258,11 +17258,11 @@ export interface webhooks { * @description An issue was removed from a milestone. */ post: operations["issues/demilestoned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-edited": { parameters: { @@ -17271,8 +17271,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17282,11 +17282,11 @@ export interface webhooks { * @description The title or body on an issue was edited. */ post: operations["issues/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-labeled": { parameters: { @@ -17295,8 +17295,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17306,11 +17306,11 @@ export interface webhooks { * @description A label was added to an issue. */ post: operations["issues/labeled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-locked": { parameters: { @@ -17319,8 +17319,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17330,11 +17330,11 @@ export interface webhooks { * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ post: operations["issues/locked"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-milestoned": { parameters: { @@ -17343,8 +17343,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17354,11 +17354,11 @@ export interface webhooks { * @description An issue was added to a milestone. */ post: operations["issues/milestoned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-opened": { parameters: { @@ -17367,8 +17367,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17378,11 +17378,11 @@ export interface webhooks { * @description An issue was created. When a closed issue is reopened, the action will be `reopened` instead. */ post: operations["issues/opened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-pinned": { parameters: { @@ -17391,8 +17391,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17402,11 +17402,11 @@ export interface webhooks { * @description An issue was pinned to a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." */ post: operations["issues/pinned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-reopened": { parameters: { @@ -17415,8 +17415,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17426,11 +17426,11 @@ export interface webhooks { * @description A closed issue was reopened. */ post: operations["issues/reopened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-transferred": { parameters: { @@ -17439,8 +17439,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17450,11 +17450,11 @@ export interface webhooks { * @description An issue was transferred to another repository. For more information, see "[Transferring an issue to another repository](https://docs.github.com/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository)." */ post: operations["issues/transferred"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-unassigned": { parameters: { @@ -17463,8 +17463,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17474,11 +17474,11 @@ export interface webhooks { * @description A user was unassigned from an issue. */ post: operations["issues/unassigned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-unlabeled": { parameters: { @@ -17487,8 +17487,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17498,11 +17498,11 @@ export interface webhooks { * @description A label was removed from an issue. */ post: operations["issues/unlabeled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-unlocked": { parameters: { @@ -17511,8 +17511,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17522,11 +17522,11 @@ export interface webhooks { * @description Conversation on an issue was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ post: operations["issues/unlocked"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "issues-unpinned": { parameters: { @@ -17535,8 +17535,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an issue. For more information about issues, see "[About issues](https://docs.github.com/issues/tracking-your-work-with-issues/about-issues)." For information about the APIs to manage issues, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#issue) or "[Issues](https://docs.github.com/rest/issues)" in the REST API documentation. * @@ -17546,11 +17546,11 @@ export interface webhooks { * @description An issue was unpinned from a repository. For more information, see "[Pinning an issue to your repository](https://docs.github.com/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)." */ post: operations["issues/unpinned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "label-created": { parameters: { @@ -17559,8 +17559,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. * @@ -17570,11 +17570,11 @@ export interface webhooks { * @description A label was created. */ post: operations["label/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "label-deleted": { parameters: { @@ -17583,8 +17583,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. * @@ -17594,11 +17594,11 @@ export interface webhooks { * @description A label was deleted. */ post: operations["label/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "label-edited": { parameters: { @@ -17607,8 +17607,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to labels. For more information, see "[Managing labels](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/managing-labels)." For information about the APIs to manage labels, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#label) or "[Labels](https://docs.github.com/rest/issues/labels)" in the REST API documentation. * @@ -17618,11 +17618,11 @@ export interface webhooks { * @description A label's name, description, or color was changed. */ post: operations["label/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "marketplace-purchase-cancelled": { parameters: { @@ -17631,18 +17631,18 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. * @description Someone cancelled a GitHub Marketplace plan, and the last billing cycle has ended. The change will take effect on the account immediately. */ post: operations["marketplace-purchase/cancelled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "marketplace-purchase-changed": { parameters: { @@ -17651,18 +17651,18 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. * @description Someone upgraded or downgraded a GitHub Marketplace plan, and the last billing cycle has ended. The change will take effect on the account immediately. */ post: operations["marketplace-purchase/changed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "marketplace-purchase-pending-change": { parameters: { @@ -17671,18 +17671,18 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. * @description Someone downgraded or cancelled a GitHub Marketplace plan. The new plan or cancellation will take effect at the end of the current billing cycle. When the change takes effect, the `changed` or `cancelled` event will be sent. */ post: operations["marketplace-purchase/pending-change"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "marketplace-purchase-pending-change-cancelled": { parameters: { @@ -17691,18 +17691,18 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. * @description Someone cancelled a pending change to a GitHub Marketplace plan. Pending changes include plan cancellations and downgrades that will take effect at the end of a billing cycle. */ post: operations["marketplace-purchase/pending-change-cancelled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "marketplace-purchase-purchased": { parameters: { @@ -17711,18 +17711,18 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a GitHub Marketplace purchase. For more information, see "[GitHub Marketplace](https://docs.github.com/marketplace)." For information about the APIs to manage GitHub Marketplace listings, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#marketplacelisting) or "[GitHub Marketplace](https://docs.github.com/rest/apps/marketplace)" in the REST API documentation. * @description Someone purchased a GitHub Marketplace plan. The change will take effect on the account immediately. */ post: operations["marketplace-purchase/purchased"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "member-added": { parameters: { @@ -17731,8 +17731,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. * @@ -17740,11 +17740,11 @@ export interface webhooks { * @description A GitHub user accepted an invitation to a repository. */ post: operations["member/added"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "member-edited": { parameters: { @@ -17753,8 +17753,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. * @@ -17762,11 +17762,11 @@ export interface webhooks { * @description Permissions were changed for a collaborator on a repository. */ post: operations["member/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "member-removed": { parameters: { @@ -17775,8 +17775,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to collaborators in a repository. For more information, see "[Adding outside collaborators to repositories in your organization](https://docs.github.com/organizations/managing-user-access-to-your-organizations-repositories/adding-outside-collaborators-to-repositories-in-your-organization)." For more information about the API to manage repository collaborators, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#repositorycollaboratorconnection) or "[Collaborators](https://docs.github.com/rest/collaborators/collaborators)" in the REST API documentation. * @@ -17784,11 +17784,11 @@ export interface webhooks { * @description A collaborator was removed from a repository. */ post: operations["member/removed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "membership-added": { parameters: { @@ -17797,8 +17797,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the APIs to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. * @@ -17806,11 +17806,11 @@ export interface webhooks { * @description An organization member was added to a team. */ post: operations["membership/added"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "membership-removed": { parameters: { @@ -17819,8 +17819,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to team membership. For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." For more information about the APIs to manage team memberships, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#team) or "[Team members](https://docs.github.com/rest/teams/members)" in the REST API documentation. * @@ -17828,11 +17828,11 @@ export interface webhooks { * @description An organization member was removed from a team. */ post: operations["membership/removed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "merge-group-checks-requested": { parameters: { @@ -17841,8 +17841,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)." * @@ -17852,11 +17852,11 @@ export interface webhooks { * When you receive this event, you should perform checks on the head SHA and report status back using check runs or commit statuses. */ post: operations["merge-group/checks-requested"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "merge-group-destroyed": { parameters: { @@ -17865,8 +17865,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a merge group in a merge queue. For more information, see "[Managing a merge queue](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-a-merge-queue)." * @@ -17876,11 +17876,11 @@ export interface webhooks { * When you receive this event, you may want to cancel any checks that are running on the head SHA to avoid wasting computing resources on a merge group that will not be used. */ post: operations["merge-group/destroyed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "meta-deleted": { parameters: { @@ -17889,8 +17889,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a webhook itself. * @@ -17898,11 +17898,11 @@ export interface webhooks { * @description The webhook was deleted. */ post: operations["meta/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "milestone-closed": { parameters: { @@ -17911,8 +17911,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. * @@ -17922,11 +17922,11 @@ export interface webhooks { * @description A milestone was closed. */ post: operations["milestone/closed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "milestone-created": { parameters: { @@ -17935,8 +17935,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. * @@ -17946,11 +17946,11 @@ export interface webhooks { * @description A milestone was created. */ post: operations["milestone/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "milestone-deleted": { parameters: { @@ -17959,8 +17959,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. * @@ -17970,11 +17970,11 @@ export interface webhooks { * @description A milestone was deleted. */ post: operations["milestone/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "milestone-edited": { parameters: { @@ -17983,8 +17983,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. * @@ -17994,11 +17994,11 @@ export interface webhooks { * @description A milestone was edited. */ post: operations["milestone/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "milestone-opened": { parameters: { @@ -18007,8 +18007,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to milestones. For more information, see "[About milestones](https://docs.github.com/issues/using-labels-and-milestones-to-track-work/about-milestones)." For information about the APIs to manage milestones, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#milestone) or "[Milestones](https://docs.github.com/rest/issues/milestones)" in the REST API documentation. * @@ -18018,11 +18018,11 @@ export interface webhooks { * @description A milestone was opened. */ post: operations["milestone/opened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "org-block-blocked": { parameters: { @@ -18031,8 +18031,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the APIs to manage blocked users, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) or "[Blocking users](https://docs.github.com/rest/orgs/blocking)" in the REST API documentation. * @@ -18042,11 +18042,11 @@ export interface webhooks { * @description A user was blocked from the organization. */ post: operations["org-block/blocked"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "org-block-unblocked": { parameters: { @@ -18055,8 +18055,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when organization owners or moderators block or unblock a non-member from collaborating on the organization's repositories. For more information, see "[Blocking a user from your organization](https://docs.github.com/communities/maintaining-your-safety-on-github/blocking-a-user-from-your-organization)." For information about the APIs to manage blocked users, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#userblockedevent) or "[Blocking users](https://docs.github.com/rest/orgs/blocking)" in the REST API documentation. * @@ -18066,11 +18066,11 @@ export interface webhooks { * @description A previously blocked user was unblocked from the organization. */ post: operations["org-block/unblocked"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "organization-deleted": { parameters: { @@ -18079,8 +18079,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. * @@ -18090,11 +18090,11 @@ export interface webhooks { * @description An organization was deleted. */ post: operations["organization/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "organization-member-added": { parameters: { @@ -18103,8 +18103,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. * @@ -18114,11 +18114,11 @@ export interface webhooks { * @description A member accepted an invitation to join an organization. */ post: operations["organization/member-added"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "organization-member-invited": { parameters: { @@ -18127,8 +18127,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. * @@ -18138,11 +18138,11 @@ export interface webhooks { * @description A member was invited to join the organization. */ post: operations["organization/member-invited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "organization-member-removed": { parameters: { @@ -18151,8 +18151,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. * @@ -18162,11 +18162,11 @@ export interface webhooks { * @description A member was removed from the organization. */ post: operations["organization/member-removed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "organization-renamed": { parameters: { @@ -18175,8 +18175,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an organization and its members. For more information, see "[About organizations](https://docs.github.com/organizations/collaborating-with-groups-in-organizations/about-organizations)." For information about the APIs to manage organizations, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#organization) or "[Organizations](https://docs.github.com/rest/orgs)" in the REST API documentation. * @@ -18186,11 +18186,11 @@ export interface webhooks { * @description The name of an organization was changed. */ post: operations["organization/renamed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "package-published": { parameters: { @@ -18199,8 +18199,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. * @@ -18208,11 +18208,11 @@ export interface webhooks { * @description A package was published to a registry. */ post: operations["package/published"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "package-updated": { parameters: { @@ -18221,8 +18221,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. * @@ -18230,11 +18230,11 @@ export interface webhooks { * @description A previously published package was updated. */ post: operations["package/updated"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "page-build": { parameters: { @@ -18243,17 +18243,17 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when there is an attempted build of a GitHub Pages site. This event occurs regardless of whether the build is successful. For more information, see "[Configuring a publishing source for your GitHub Pages site](https://docs.github.com/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)." For information about the API to manage GitHub Pages, see "[Pages](https://docs.github.com/rest/pages)" in the REST API documentation. * * To subscribe to this event, a GitHub App must have at least read-level access for the "Pages" repository permission. */ post: operations["page-build"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "personal-access-token-request-approved": { parameters: { @@ -18262,8 +18262,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." * @@ -18273,11 +18273,11 @@ export interface webhooks { * @description A fine-grained personal access token request was approved. */ post: operations["personal-access-token-request/approved"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "personal-access-token-request-cancelled": { parameters: { @@ -18286,8 +18286,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." * @@ -18297,11 +18297,11 @@ export interface webhooks { * @description A fine-grained personal access token request was cancelled by the requester. */ post: operations["personal-access-token-request/cancelled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "personal-access-token-request-created": { parameters: { @@ -18310,8 +18310,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." * @@ -18321,11 +18321,11 @@ export interface webhooks { * @description A fine-grained personal access token request was created. */ post: operations["personal-access-token-request/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "personal-access-token-request-denied": { parameters: { @@ -18334,8 +18334,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a request for a fine-grained personal access token to access resources that belong to a resource owner that requires approval for token access. For more information, see "[Creating a personal access token](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)." * @@ -18345,11 +18345,11 @@ export interface webhooks { * @description A fine-grained personal access token request was denied. */ post: operations["personal-access-token-request/denied"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; ping: { parameters: { @@ -18358,15 +18358,15 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when you create a new webhook. The ping event is a confirmation from GitHub that you configured the webhook correctly. */ post: operations["ping"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-card-converted": { parameters: { @@ -18375,8 +18375,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18386,11 +18386,11 @@ export interface webhooks { * @description A note in a classic project was converted to an issue. */ post: operations["project-card/converted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-card-created": { parameters: { @@ -18399,8 +18399,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18410,11 +18410,11 @@ export interface webhooks { * @description A card was added to a classic project. */ post: operations["project-card/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-card-deleted": { parameters: { @@ -18423,8 +18423,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18434,11 +18434,11 @@ export interface webhooks { * @description A card on a classic project was deleted. */ post: operations["project-card/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-card-edited": { parameters: { @@ -18447,8 +18447,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18458,11 +18458,11 @@ export interface webhooks { * @description A note on a classic project was edited. */ post: operations["project-card/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-card-moved": { parameters: { @@ -18471,8 +18471,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a card on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18482,11 +18482,11 @@ export interface webhooks { * @description A card on a classic project was moved to another column or to another position in its column. */ post: operations["project-card/moved"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-closed": { parameters: { @@ -18495,8 +18495,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18506,11 +18506,11 @@ export interface webhooks { * @description A classic project was closed. */ post: operations["project/closed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-column-created": { parameters: { @@ -18519,8 +18519,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18530,11 +18530,11 @@ export interface webhooks { * @description A column was added to a classic project. */ post: operations["project-column/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-column-deleted": { parameters: { @@ -18543,8 +18543,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18554,11 +18554,11 @@ export interface webhooks { * @description A column was deleted from a classic project. */ post: operations["project-column/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-column-edited": { parameters: { @@ -18567,8 +18567,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18578,11 +18578,11 @@ export interface webhooks { * @description The name of a column on a classic project was changed. */ post: operations["project-column/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-column-moved": { parameters: { @@ -18591,8 +18591,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a column on a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18602,11 +18602,11 @@ export interface webhooks { * @description A column was moved to a new position on a classic project. */ post: operations["project-column/moved"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-created": { parameters: { @@ -18615,8 +18615,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18626,11 +18626,11 @@ export interface webhooks { * @description A classic project was created. */ post: operations["project/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-deleted": { parameters: { @@ -18639,8 +18639,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18650,11 +18650,11 @@ export interface webhooks { * @description A classic project was deleted. */ post: operations["project/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-edited": { parameters: { @@ -18663,8 +18663,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18674,11 +18674,11 @@ export interface webhooks { * @description The name or description of a classic project was changed. */ post: operations["project/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "project-reopened": { parameters: { @@ -18687,8 +18687,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a classic project. For more information, see "[About projects (classic)](https://docs.github.com/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards)." For information about the API to manage classic projects, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#project) or "[Projects (classic)](https://docs.github.com/rest/projects)" in the REST API documentation. * @@ -18698,11 +18698,11 @@ export interface webhooks { * @description A classic project was closed. */ post: operations["project/reopened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-closed": { parameters: { @@ -18711,8 +18711,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). * @@ -18724,11 +18724,11 @@ export interface webhooks { * @description A project in the organization was closed. */ post: operations["projects-v2/closed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-created": { parameters: { @@ -18737,8 +18737,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). * @@ -18750,11 +18750,11 @@ export interface webhooks { * @description A project in the organization was created. */ post: operations["projects-v2/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-deleted": { parameters: { @@ -18763,8 +18763,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). * @@ -18776,11 +18776,11 @@ export interface webhooks { * @description A project in the organization was deleted. */ post: operations["projects-v2/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-edited": { parameters: { @@ -18789,8 +18789,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). * @@ -18802,11 +18802,11 @@ export interface webhooks { * @description The title, description, or README of a project in the organization was changed. */ post: operations["projects-v2/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-item-archived": { parameters: { @@ -18815,8 +18815,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). * @@ -18828,11 +18828,11 @@ export interface webhooks { * @description An item on an organization project was archived. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." */ post: operations["projects-v2-item/archived"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-item-converted": { parameters: { @@ -18841,8 +18841,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). * @@ -18854,11 +18854,11 @@ export interface webhooks { * @description A draft issue in an organization project was converted to an issue. */ post: operations["projects-v2-item/converted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-item-created": { parameters: { @@ -18867,8 +18867,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). * @@ -18880,11 +18880,11 @@ export interface webhooks { * @description An item was added to a project in the organization. */ post: operations["projects-v2-item/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-item-deleted": { parameters: { @@ -18893,8 +18893,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). * @@ -18906,11 +18906,11 @@ export interface webhooks { * @description An item was deleted from a project in the organization. */ post: operations["projects-v2-item/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-item-edited": { parameters: { @@ -18919,8 +18919,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). * @@ -18932,11 +18932,11 @@ export interface webhooks { * @description The values or state of an item in an organization project were changed. For example, the value of a field was updated, the body of a draft issue was changed, or a draft issue was converted to an issue. */ post: operations["projects-v2-item/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-item-reordered": { parameters: { @@ -18945,8 +18945,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). * @@ -18958,11 +18958,11 @@ export interface webhooks { * @description The position of an item in an organization project was changed. For example, an item was moved above or below another item in the table or board layout. */ post: operations["projects-v2-item/reordered"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-item-restored": { parameters: { @@ -18971,8 +18971,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an item on an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2item). * @@ -18984,11 +18984,11 @@ export interface webhooks { * @description An archived item on an organization project was restored from the archive. For more information, see "[Archiving items from your project](https://docs.github.com/issues/planning-and-tracking-with-projects/managing-items-in-your-project/archiving-items-from-your-project)." */ post: operations["projects-v2-item/restored"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "projects-v2-reopened": { parameters: { @@ -18997,8 +18997,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to an organization-level project. For more information, see "[About Projects](https://docs.github.com/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects)." For information about the Projects API, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#projectv2). * @@ -19010,11 +19010,11 @@ export interface webhooks { * @description A project in the organization was reopened. */ post: operations["projects-v2/reopened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; public: { parameters: { @@ -19023,17 +19023,17 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when repository visibility changes from private to public. For more information, see "[Setting repository visibility](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/setting-repository-visibility)." * * To subscribe to this event, a GitHub App must have at least read-level access for the "Metadata" repository permission. */ post: operations["public"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-assigned": { parameters: { @@ -19042,8 +19042,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19053,11 +19053,11 @@ export interface webhooks { * @description A pull request was assigned to a user. */ post: operations["pull-request/assigned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-auto-merge-disabled": { parameters: { @@ -19066,8 +19066,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19077,11 +19077,11 @@ export interface webhooks { * @description Auto merge was disabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." */ post: operations["pull-request/auto-merge-disabled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-auto-merge-enabled": { parameters: { @@ -19090,8 +19090,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19101,11 +19101,11 @@ export interface webhooks { * @description Auto merge was enabled for a pull request. For more information, see "[Automatically merging a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request)." */ post: operations["pull-request/auto-merge-enabled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-closed": { parameters: { @@ -19114,8 +19114,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19125,11 +19125,11 @@ export interface webhooks { * @description A pull request was closed. If `merged` is false in the webhook payload, the pull request was closed with unmerged commits. If `merged` is true in the webhook payload, the pull request was merged. */ post: operations["pull-request/closed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-converted-to-draft": { parameters: { @@ -19138,8 +19138,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19149,11 +19149,11 @@ export interface webhooks { * @description A pull request was converted to a draft. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." */ post: operations["pull-request/converted-to-draft"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-demilestoned": { parameters: { @@ -19162,8 +19162,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19173,11 +19173,11 @@ export interface webhooks { * @description A pull request was removed from a milestone. */ post: operations["pull-request/demilestoned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-dequeued": { parameters: { @@ -19186,8 +19186,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19197,11 +19197,11 @@ export interface webhooks { * @description A pull request was removed from the merge queue. */ post: operations["pull-request/dequeued"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-edited": { parameters: { @@ -19210,8 +19210,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19221,11 +19221,11 @@ export interface webhooks { * @description The title or body of a pull request was edited. */ post: operations["pull-request/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-enqueued": { parameters: { @@ -19234,8 +19234,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19245,11 +19245,11 @@ export interface webhooks { * @description A pull request was added to the merge queue. */ post: operations["pull-request/enqueued"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-labeled": { parameters: { @@ -19258,8 +19258,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19269,11 +19269,11 @@ export interface webhooks { * @description A label was added to a pull request. */ post: operations["pull-request/labeled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-locked": { parameters: { @@ -19282,8 +19282,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19293,11 +19293,11 @@ export interface webhooks { * @description Conversation on a pull request was locked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ post: operations["pull-request/locked"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-milestoned": { parameters: { @@ -19306,8 +19306,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19317,11 +19317,11 @@ export interface webhooks { * @description A pull request was added to a milestone. */ post: operations["pull-request/milestoned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-opened": { parameters: { @@ -19330,8 +19330,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19341,11 +19341,11 @@ export interface webhooks { * @description A pull request was created */ post: operations["pull-request/opened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-ready-for-review": { parameters: { @@ -19354,8 +19354,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19365,11 +19365,11 @@ export interface webhooks { * @description A draft pull request was marked as ready for review. For more information, see "[Changing the stage of a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)." */ post: operations["pull-request/ready-for-review"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-reopened": { parameters: { @@ -19378,8 +19378,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19389,11 +19389,11 @@ export interface webhooks { * @description A previously closed pull request was reopened. */ post: operations["pull-request/reopened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-review-comment-created": { parameters: { @@ -19402,8 +19402,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. * @@ -19413,11 +19413,11 @@ export interface webhooks { * @description A comment on a pull request diff was created. */ post: operations["pull-request-review-comment/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-review-comment-deleted": { parameters: { @@ -19426,8 +19426,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. * @@ -19437,11 +19437,11 @@ export interface webhooks { * @description A comment on a pull request diff was deleted. */ post: operations["pull-request-review-comment/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-review-comment-edited": { parameters: { @@ -19450,8 +19450,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a pull request review comment. A pull request review comment is a comment on a pull request's diff. For more information, see "[Commenting on a pull request](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-line-comments-to-a-pull-request)." For information about the APIs to manage pull request review comments, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewcomment) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. * @@ -19461,11 +19461,11 @@ export interface webhooks { * @description The content of a comment on a pull request diff was changed. */ post: operations["pull-request-review-comment/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-review-dismissed": { parameters: { @@ -19474,8 +19474,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. * @@ -19485,11 +19485,11 @@ export interface webhooks { * @description A review on a pull request was dismissed. */ post: operations["pull-request-review/dismissed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-review-edited": { parameters: { @@ -19498,8 +19498,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. * @@ -19509,11 +19509,11 @@ export interface webhooks { * @description The body comment on a pull request review was edited. */ post: operations["pull-request-review/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-review-request-removed": { parameters: { @@ -19522,8 +19522,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19533,11 +19533,11 @@ export interface webhooks { * @description A request for review by a person or team was removed from a pull request. */ post: operations["pull-request/review-request-removed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-review-requested": { parameters: { @@ -19546,8 +19546,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19557,11 +19557,11 @@ export interface webhooks { * @description Review by a person or team was requested for a pull request. For more information, see "[Requesting a pull request review](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review)." */ post: operations["pull-request/review-requested"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-review-submitted": { parameters: { @@ -19570,8 +19570,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a pull request review. A pull request review is a group of pull request review comments in addition to a body comment and a state. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreview) or "[Pull request reviews](https://docs.github.com/rest/pulls/reviews)" in the REST API documentation. * @@ -19581,11 +19581,11 @@ export interface webhooks { * @description A review on a pull request was submitted. */ post: operations["pull-request-review/submitted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-review-thread-resolved": { parameters: { @@ -19594,8 +19594,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. * @@ -19605,11 +19605,11 @@ export interface webhooks { * @description A comment thread on a pull request was marked as resolved. */ post: operations["pull-request-review-thread/resolved"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-review-thread-unresolved": { parameters: { @@ -19618,8 +19618,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a comment thread on a pull request. For more information, see "[About pull request reviews](https://docs.github.com/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)." For information about the APIs to manage pull request reviews, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequestreviewthread) or "[Pull request review comments](https://docs.github.com/rest/pulls/comments)" in the REST API documentation. * @@ -19629,11 +19629,11 @@ export interface webhooks { * @description A previously resolved comment thread on a pull request was marked as unresolved. */ post: operations["pull-request-review-thread/unresolved"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-synchronize": { parameters: { @@ -19642,8 +19642,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19653,11 +19653,11 @@ export interface webhooks { * @description A pull request's head branch was updated. For example, the head branch was updated from the base branch or new commits were pushed to the head branch. */ post: operations["pull-request/synchronize"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-unassigned": { parameters: { @@ -19666,8 +19666,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19677,11 +19677,11 @@ export interface webhooks { * @description A user was unassigned from a pull request. */ post: operations["pull-request/unassigned"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-unlabeled": { parameters: { @@ -19690,8 +19690,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19701,11 +19701,11 @@ export interface webhooks { * @description A label was removed from a pull request. */ post: operations["pull-request/unlabeled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "pull-request-unlocked": { parameters: { @@ -19714,8 +19714,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity on a pull request. For more information, see "[About pull requests](https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)." For information about the APIs to manage pull requests, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#pullrequest) or "[Pulls](https://docs.github.com/rest/pulls/pulls)" in the REST API documentation. * @@ -19725,11 +19725,11 @@ export interface webhooks { * @description Conversation on a pull request was unlocked. For more information, see "[Locking conversations](https://docs.github.com/communities/moderating-comments-and-conversations/locking-conversations)." */ post: operations["pull-request/unlocked"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; push: { parameters: { @@ -19738,8 +19738,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when there is a push to a repository branch. This includes when a commit is pushed, when a commit tag is pushed, * when a branch is deleted, when a tag is deleted, or when a repository is created from a template. To subscribe to only branch * and tag deletions, use the [`delete`](#delete) webhook event. @@ -19748,11 +19748,11 @@ export interface webhooks { * * **Note**: An event will not be created when more than three tags are pushed at once. */ post: operations["push"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "registry-package-published": { parameters: { @@ -19761,8 +19761,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. * @@ -19772,11 +19772,11 @@ export interface webhooks { * @description A package was published to a registry. */ post: operations["registry-package/published"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "registry-package-updated": { parameters: { @@ -19785,8 +19785,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to GitHub Packages. For more information, see "[Introduction to GitHub Packages](https://docs.github.com/packages/learn-github-packages/introduction-to-github-packages)." For information about the APIs to manage GitHub Packages, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#package) or "[Packages](https://docs.github.com/rest/packages)" in the REST API documentation. * @@ -19796,11 +19796,11 @@ export interface webhooks { * @description A package that was previously published to a registry was updated. */ post: operations["registry-package/updated"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "release-created": { parameters: { @@ -19809,8 +19809,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. * @@ -19818,11 +19818,11 @@ export interface webhooks { * @description A draft was saved, or a release or pre-release was published without previously being saved as a draft. */ post: operations["release/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "release-deleted": { parameters: { @@ -19831,8 +19831,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. * @@ -19840,11 +19840,11 @@ export interface webhooks { * @description A release, pre-release, or draft release was deleted. */ post: operations["release/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "release-edited": { parameters: { @@ -19853,8 +19853,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. * @@ -19862,11 +19862,11 @@ export interface webhooks { * @description The details of a release, pre-release, or draft release were edited. For more information, see "[Managing releases in a repository](https://docs.github.com/repositories/releasing-projects-on-github/managing-releases-in-a-repository#editing-a-release)." */ post: operations["release/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "release-prereleased": { parameters: { @@ -19875,8 +19875,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. * @@ -19884,11 +19884,11 @@ export interface webhooks { * @description A release was created and identified as a pre-release. A pre-release is a release that is not ready for production and may be unstable. */ post: operations["release/prereleased"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "release-published": { parameters: { @@ -19897,8 +19897,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. * @@ -19906,11 +19906,11 @@ export interface webhooks { * @description A release, pre-release, or draft of a release was published. */ post: operations["release/published"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "release-released": { parameters: { @@ -19919,8 +19919,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. * @@ -19928,11 +19928,11 @@ export interface webhooks { * @description A release was published, or a pre-release was changed to a release. */ post: operations["release/released"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "release-unpublished": { parameters: { @@ -19941,8 +19941,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to releases. For more information, see "[About releases](https://docs.github.com/repositories/releasing-projects-on-github/about-releases)." For information about the APIs to manage releases, see [the GraphQL API documentation](https://docs.github.com/graphql/reference/objects#release) or "[Releases](https://docs.github.com/rest/releases)" in the REST API documentation. * @@ -19950,11 +19950,11 @@ export interface webhooks { * @description A release or pre-release was unpublished. */ post: operations["release/unpublished"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-advisory-published": { parameters: { @@ -19963,8 +19963,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a repository security advisory. For more information about repository security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." * @@ -19972,11 +19972,11 @@ export interface webhooks { * @description A repository security advisory was published. */ post: operations["repository-advisory/published"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-advisory-reported": { parameters: { @@ -19985,8 +19985,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a repository security advisory. For more information about repository security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." * @@ -19994,11 +19994,11 @@ export interface webhooks { * @description A private vulnerability report was submitted. */ post: operations["repository-advisory/reported"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-archived": { parameters: { @@ -20007,8 +20007,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. * @@ -20016,11 +20016,11 @@ export interface webhooks { * @description A repository was archived. */ post: operations["repository/archived"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-created": { parameters: { @@ -20029,8 +20029,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. * @@ -20038,11 +20038,11 @@ export interface webhooks { * @description A repository was created. */ post: operations["repository/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-deleted": { parameters: { @@ -20051,8 +20051,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. * @@ -20060,11 +20060,11 @@ export interface webhooks { * @description A repository was deleted. GitHub Apps and repository webhooks will not receive this event. */ post: operations["repository/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-dispatch-sample.collected": { parameters: { @@ -20073,8 +20073,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when a GitHub App sends a `POST` request to `/repos/{owner}/{repo}/dispatches`. For more information, see [the REST API documentation for creating a repository dispatch event](https://docs.github.com/rest/repos/repos#create-a-repository-dispatch-event). * @@ -20082,11 +20082,11 @@ export interface webhooks { * @description The `event_type` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. */ post: operations["repository-dispatch/sample.collected"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-edited": { parameters: { @@ -20095,8 +20095,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. * @@ -20104,11 +20104,11 @@ export interface webhooks { * @description The topics, default branch, description, or homepage of a repository was changed. */ post: operations["repository/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-import": { parameters: { @@ -20117,15 +20117,15 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when a repository is imported to GitHub. For more information, see "[Importing a repository with GitHub Importer](https://docs.github.com/get-started/importing-your-projects-to-github/importing-source-code-to-github/importing-a-repository-with-github-importer)." For more information about the API to manage imports, see [the REST API documentation](https://docs.github.com/rest/migrations/source-imports). */ post: operations["repository-import"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-privatized": { parameters: { @@ -20134,8 +20134,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. * @@ -20143,11 +20143,11 @@ export interface webhooks { * @description The visibility of a repository was changed to `private`. */ post: operations["repository/privatized"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-publicized": { parameters: { @@ -20156,8 +20156,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. * @@ -20165,11 +20165,11 @@ export interface webhooks { * @description The visibility of a repository was changed to `public`. */ post: operations["repository/publicized"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-renamed": { parameters: { @@ -20178,8 +20178,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. * @@ -20187,11 +20187,11 @@ export interface webhooks { * @description The name of a repository was changed. */ post: operations["repository/renamed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-ruleset-created": { parameters: { @@ -20200,8 +20200,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repository rulesets. * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." @@ -20211,11 +20211,11 @@ export interface webhooks { * @description A repository ruleset was created. */ post: operations["repository-ruleset/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-ruleset-deleted": { parameters: { @@ -20224,8 +20224,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repository rulesets. * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." @@ -20235,11 +20235,11 @@ export interface webhooks { * @description A repository ruleset was deleted. */ post: operations["repository-ruleset/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-ruleset-edited": { parameters: { @@ -20248,8 +20248,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repository rulesets. * For more information about repository rulesets, see "[Managing rulesets](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets)." @@ -20259,11 +20259,11 @@ export interface webhooks { * @description A repository ruleset was edited. */ post: operations["repository-ruleset/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-transferred": { parameters: { @@ -20272,8 +20272,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. * @@ -20281,11 +20281,11 @@ export interface webhooks { * @description Ownership of the repository was transferred to a user or organization account. This event is only sent to the account where the ownership is transferred. To receive the `repository.transferred` event, the new owner account must have the GitHub App installed, and the App must be subscribed to "Repository" events. */ post: operations["repository/transferred"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-unarchived": { parameters: { @@ -20294,8 +20294,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repositories. For more information, see "[About repositories](https://docs.github.com/repositories/creating-and-managing-repositories/about-repositories)." For information about the APIs to manage repositories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#repository) or "[Repositories](https://docs.github.com/rest/repos)" in the REST API documentation. * @@ -20303,11 +20303,11 @@ export interface webhooks { * @description A previously archived repository was unarchived. */ post: operations["repository/unarchived"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-vulnerability-alert-create": { parameters: { @@ -20316,8 +20316,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a security vulnerability alert in a repository. * @@ -20325,11 +20325,11 @@ export interface webhooks { * @description A repository vulnerability alert was created. */ post: operations["repository-vulnerability-alert/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-vulnerability-alert-dismiss": { parameters: { @@ -20338,8 +20338,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a security vulnerability alert in a repository. * @@ -20347,11 +20347,11 @@ export interface webhooks { * @description A repository vulnerability alert was dismissed. */ post: operations["repository-vulnerability-alert/dismiss"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-vulnerability-alert-reopen": { parameters: { @@ -20360,8 +20360,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a security vulnerability alert in a repository. * @@ -20369,11 +20369,11 @@ export interface webhooks { * @description A previously dismissed or resolved repository vulnerability alert was reopened. */ post: operations["repository-vulnerability-alert/reopen"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "repository-vulnerability-alert-resolve": { parameters: { @@ -20382,8 +20382,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a security vulnerability alert in a repository. * @@ -20391,11 +20391,11 @@ export interface webhooks { * @description A repository vulnerability alert was marked as resolved. */ post: operations["repository-vulnerability-alert/resolve"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "secret-scanning-alert-created": { parameters: { @@ -20404,8 +20404,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. * @@ -20415,11 +20415,11 @@ export interface webhooks { * @description A secret scanning alert was created. */ post: operations["secret-scanning-alert/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "secret-scanning-alert-location-created": { parameters: { @@ -20428,8 +20428,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to the locations of a secret in a secret scanning alert. * @@ -20441,11 +20441,11 @@ export interface webhooks { * @description A new instance of a previously detected secret was detected in a repository, and the location of the secret was added to the existing alert. */ post: operations["secret-scanning-alert-location/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "secret-scanning-alert-reopened": { parameters: { @@ -20454,8 +20454,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. * @@ -20465,11 +20465,11 @@ export interface webhooks { * @description A previously closed secret scanning alert was reopened. */ post: operations["secret-scanning-alert/reopened"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "secret-scanning-alert-resolved": { parameters: { @@ -20478,8 +20478,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. * @@ -20489,11 +20489,11 @@ export interface webhooks { * @description A secret scanning alert was closed. */ post: operations["secret-scanning-alert/resolved"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "secret-scanning-alert-revoked": { parameters: { @@ -20502,8 +20502,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a secret scanning alert. For more information about secret scanning, see "[About secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning)." For information about the API to manage secret scanning alerts, see "[Secret scanning](https://docs.github.com/rest/secret-scanning)" in the REST API documentation. * @@ -20513,11 +20513,11 @@ export interface webhooks { * @description A secret scanning alert was marked as revoked. */ post: operations["secret-scanning-alert/revoked"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "security-advisory-published": { parameters: { @@ -20526,8 +20526,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). * @@ -20535,11 +20535,11 @@ export interface webhooks { * @description A security advisory was published to the GitHub community. */ post: operations["security-advisory/published"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "security-advisory-updated": { parameters: { @@ -20548,8 +20548,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). * @@ -20557,11 +20557,11 @@ export interface webhooks { * @description The metadata or description of a security advisory was changed, or the security advisory was withdrawn. */ post: operations["security-advisory/updated"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "security-advisory-withdrawn": { parameters: { @@ -20570,8 +20570,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a security advisory that was reviewed by GitHub. A GitHub-reviewed security advisory provides information about security-related vulnerabilities in software on GitHub. For more information about security advisories, see "[About GitHub Security Advisories for repositories](https://docs.github.com/code-security/repository-security-advisories/about-github-security-advisories-for-repositories)." For information about the API to manage security advisories, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#securityadvisory). * @@ -20579,11 +20579,11 @@ export interface webhooks { * @description A previously published security advisory was withdrawn. */ post: operations["security-advisory/withdrawn"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "security-and-analysis": { parameters: { @@ -20592,17 +20592,17 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when code security and analysis features are enabled or disabled for a repository. For more information, see "[GitHub security features](https://docs.github.com/code-security/getting-started/github-security-features)." * * To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission. */ post: operations["security-and-analysis"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "sponsorship-cancelled": { parameters: { @@ -20611,8 +20611,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * @@ -20622,11 +20622,11 @@ export interface webhooks { * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. */ post: operations["sponsorship/cancelled"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "sponsorship-created": { parameters: { @@ -20635,8 +20635,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * @@ -20644,11 +20644,11 @@ export interface webhooks { * @description A sponsor created a sponsorship for a sponsored account. This event occurs once the payment is successfully processed. */ post: operations["sponsorship/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "sponsorship-edited": { parameters: { @@ -20657,8 +20657,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * @@ -20666,11 +20666,11 @@ export interface webhooks { * @description A monthly sponsor changed who can see their sponsorship. If you recognize your sponsors publicly, you may want to update your sponsor recognition to reflect the change when this event occurs. */ post: operations["sponsorship/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "sponsorship-pending-cancellation": { parameters: { @@ -20679,8 +20679,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * @@ -20690,11 +20690,11 @@ export interface webhooks { * This event is only sent when a recurring (monthly) sponsorship is cancelled; it is not sent for one-time sponsorships. */ post: operations["sponsorship/pending-cancellation"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "sponsorship-pending-tier-change": { parameters: { @@ -20703,8 +20703,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * @@ -20712,11 +20712,11 @@ export interface webhooks { * @description A sponsor scheduled a downgrade to a lower sponsorship tier. The new tier will become effective on their next billing date. */ post: operations["sponsorship/pending-tier-change"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "sponsorship-tier-changed": { parameters: { @@ -20725,8 +20725,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a sponsorship listing. For more information, see "[About GitHub Sponsors](https://docs.github.com/sponsors/getting-started-with-github-sponsors/about-github-sponsors)." For information about the API to manage sponsors, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#sponsorship). * @@ -20734,11 +20734,11 @@ export interface webhooks { * @description A sponsor changed the tier of their sponsorship and the change has taken effect. If a sponsor upgraded their tier, the change took effect immediately. If a sponsor downgraded their tier, the change took effect at the beginning of the sponsor's next billing cycle. */ post: operations["sponsorship/tier-changed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "star-created": { parameters: { @@ -20747,8 +20747,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repository stars. For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection) or "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. * @@ -20756,11 +20756,11 @@ export interface webhooks { * @description Someone starred a repository. */ post: operations["star/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "star-deleted": { parameters: { @@ -20769,8 +20769,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to repository stars. For more information about stars, see "[Saving repositories with stars](https://docs.github.com/get-started/exploring-projects-on-github/saving-repositories-with-stars)." For information about the APIs to manage stars, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#starredrepositoryconnection) or "[Starring](https://docs.github.com/rest/activity/starring)" in the REST API documentation. * @@ -20778,11 +20778,11 @@ export interface webhooks { * @description Someone unstarred the repository. */ post: operations["star/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; status: { parameters: { @@ -20791,17 +20791,17 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when the status of a Git commit changes. For example, commits can be marked as `error`, `failure`, `pending`, or `success`. For more information, see "[About status checks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)." For information about the APIs to manage commit statuses, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#status) or "[Commit statuses](https://docs.github.com/rest/commits/statuses)" in the REST API documentation. * * To subscribe to this event, a GitHub App must have at least read-level access for the "Commit statuses" repository permission. */ post: operations["status"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "team-add": { parameters: { @@ -20810,8 +20810,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when a team is added to a repository. * For more information, see "[Managing teams and people with access to your repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository)." * @@ -20819,11 +20819,11 @@ export interface webhooks { * * To subscribe to this event, a GitHub App must have at least read-level access for the "Members" organization permission. */ post: operations["team-add"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "team-added-to-repository": { parameters: { @@ -20832,8 +20832,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to teams in an organization. * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." @@ -20842,11 +20842,11 @@ export interface webhooks { * @description A team was granted access to a repository. */ post: operations["team/added-to-repository"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "team-created": { parameters: { @@ -20855,8 +20855,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to teams in an organization. * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." @@ -20865,11 +20865,11 @@ export interface webhooks { * @description A team was created. */ post: operations["team/created"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "team-deleted": { parameters: { @@ -20878,8 +20878,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to teams in an organization. * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." @@ -20888,11 +20888,11 @@ export interface webhooks { * @description A team was deleted. */ post: operations["team/deleted"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "team-edited": { parameters: { @@ -20901,8 +20901,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to teams in an organization. * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." @@ -20911,11 +20911,11 @@ export interface webhooks { * @description The name, description, or visibility of a team was changed. */ post: operations["team/edited"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "team-removed-from-repository": { parameters: { @@ -20924,8 +20924,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to teams in an organization. * For more information, see "[About teams](https://docs.github.com/organizations/organizing-members-into-teams/about-teams)." @@ -20934,11 +20934,11 @@ export interface webhooks { * @description A team's access to a repository was removed. */ post: operations["team/removed-from-repository"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "watch-started": { parameters: { @@ -20947,8 +20947,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to watching, or subscribing to, a repository. For more information about watching, see "[Managing your subscriptions](https://docs.github.com/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/managing-your-subscriptions)." For information about the APIs to manage watching, see "[Watching](https://docs.github.com/rest/activity/watching)" in the REST API documentation. * @@ -20956,11 +20956,11 @@ export interface webhooks { * @description Someone started watching the repository. */ post: operations["watch/started"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "workflow-dispatch": { parameters: { @@ -20969,19 +20969,19 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** This event occurs when a GitHub Actions workflow is manually triggered. For more information, see "[Manually running a workflow](https://docs.github.com/actions/managing-workflow-runs/manually-running-a-workflow)." * * For activity relating to workflow runs, use the `workflow_run` event. * * To subscribe to this event, a GitHub App must have at least read-level access for the "Contents" repository permission. */ post: operations["workflow-dispatch"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "workflow-job-completed": { parameters: { @@ -20990,8 +20990,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. * @@ -21001,11 +21001,11 @@ export interface webhooks { * @description A job in a workflow run finished. This event occurs when a job in a workflow is completed, regardless of whether the job was successful or unsuccessful. */ post: operations["workflow-job/completed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "workflow-job-in-progress": { parameters: { @@ -21014,8 +21014,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. * @@ -21025,11 +21025,11 @@ export interface webhooks { * @description A job in a workflow run started processing on a runner. */ post: operations["workflow-job/in-progress"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "workflow-job-queued": { parameters: { @@ -21038,8 +21038,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. * @@ -21049,11 +21049,11 @@ export interface webhooks { * @description A job in a workflow run was created. */ post: operations["workflow-job/queued"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "workflow-job-waiting": { parameters: { @@ -21062,8 +21062,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a job in a GitHub Actions workflow. For more information, see "[Using jobs in a workflow](https://docs.github.com/actions/using-jobs/using-jobs-in-a-workflow)." For information about the API to manage workflow jobs, see "[Workflow jobs](https://docs.github.com/rest/actions/workflow-jobs)" in the REST API documentation. * @@ -21073,11 +21073,11 @@ export interface webhooks { * @description A job in a workflow run was created and is waiting for approvals. */ post: operations["workflow-job/waiting"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "workflow-run-completed": { parameters: { @@ -21086,8 +21086,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. * @@ -21097,11 +21097,11 @@ export interface webhooks { * @description A workflow run finished. This event occurs when a workflow run is completed, regardless of whether the workflow was successful or unsuccessful. */ post: operations["workflow-run/completed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "workflow-run-in-progress": { parameters: { @@ -21110,8 +21110,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. * @@ -21121,11 +21121,11 @@ export interface webhooks { * @description A workflow run started processing on a runner. */ post: operations["workflow-run/in-progress"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "workflow-run-requested": { parameters: { @@ -21134,8 +21134,8 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * This event occurs when there is activity relating to a run of a GitHub Actions workflow. For more information, see "[About workflows](https://docs.github.com/actions/using-workflows/about-workflows)." For information about the APIs to manage workflow runs, see [the GraphQL documentation](https://docs.github.com/graphql/reference/objects#workflowrun) or "[Workflow runs](https://docs.github.com/rest/actions/workflow-runs)" in the REST API documentation. * @@ -21145,11 +21145,11 @@ export interface webhooks { * @description A workflow run was triggered. */ post: operations["workflow-run/requested"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export interface components { @@ -21427,7 +21427,7 @@ export interface components { metadata?: string; contents?: string; deployments?: string; - [key: string]: string; + [key: string]: string | undefined; }; /** @description The list of events for the GitHub app */ events: string[]; @@ -23152,7 +23152,7 @@ export interface components { language?: string; raw_url?: string; size?: number; - }; + } | undefined; }; public: boolean; /** Format: date-time */ @@ -23292,7 +23292,7 @@ export interface components { language?: string; raw_url?: string; size?: number; - }; + } | undefined; }; public: boolean; /** Format: date-time */ @@ -23318,7 +23318,7 @@ export interface components { git_push_url?: string; html_url?: string; files?: { - [key: string]: { + [key: string]: ({ filename?: string; type?: string; language?: string; @@ -23326,7 +23326,7 @@ export interface components { size?: number; truncated?: boolean; content?: string; - } | null; + } | null) | undefined; }; public?: boolean; created_at?: string; @@ -24724,13 +24724,13 @@ export interface components { /** @description Permissions requested, categorized by type of permission. */ permissions: { organization?: { - [key: string]: string; + [key: string]: string | undefined; }; repository?: { - [key: string]: string; + [key: string]: string | undefined; }; other?: { - [key: string]: string; + [key: string]: string | undefined; }; }; /** @description Date and time when the request for access was created. */ @@ -24760,13 +24760,13 @@ export interface components { /** @description Permissions requested, categorized by type of permission. */ permissions: { organization?: { - [key: string]: string; + [key: string]: string | undefined; }; repository?: { - [key: string]: string; + [key: string]: string | undefined; }; other?: { - [key: string]: string; + [key: string]: string | undefined; }; }; /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ @@ -28184,7 +28184,7 @@ export interface components { * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. */ metadata: { - [key: string]: (null | (string | number | boolean) | (number | string | boolean) | (boolean | string | number)) | string | number | boolean; + [key: string]: ((null | (string | number | boolean) | (number | string | boolean) | (boolean | string | number)) | string | number | boolean) | undefined; }; dependency: { /** @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details. */ @@ -28213,7 +28213,7 @@ export interface components { metadata?: components["schemas"]["metadata"]; /** @description A collection of resolved package dependencies. */ resolved?: { - [key: string]: components["schemas"]["dependency"]; + [key: string]: components["schemas"]["dependency"] | undefined; }; }; /** @@ -28247,7 +28247,7 @@ export interface components { metadata?: components["schemas"]["metadata"]; /** @description A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ manifests?: { - [key: string]: components["schemas"]["manifest"]; + [key: string]: components["schemas"]["manifest"] | undefined; }; /** * Format: date-time @@ -29394,7 +29394,7 @@ export interface components { * @description Language */ language: { - [key: string]: number; + [key: string]: number | undefined; }; /** * License Content @@ -32087,37 +32087,37 @@ export interface components { /** @description New requested permissions, categorized by type of permission. */ permissions_added: { organization?: { - [key: string]: string; + [key: string]: string | undefined; }; repository?: { - [key: string]: string; + [key: string]: string | undefined; }; other?: { - [key: string]: string; + [key: string]: string | undefined; }; }; /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ permissions_upgraded: { organization?: { - [key: string]: string; + [key: string]: string | undefined; }; repository?: { - [key: string]: string; + [key: string]: string | undefined; }; other?: { - [key: string]: string; + [key: string]: string | undefined; }; }; /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ permissions_result: { organization?: { - [key: string]: string; + [key: string]: string | undefined; }; repository?: { - [key: string]: string; + [key: string]: string | undefined; }; other?: { - [key: string]: string; + [key: string]: string | undefined; }; }; /** @@ -50601,11 +50601,11 @@ export interface components { }; platform?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; repo?: string; dependencies?: { - [key: string]: string; + [key: string]: string | undefined; }[]; commit_oid?: string; }; @@ -91940,7 +91940,7 @@ export interface operations { }; content: { "application/json": { - [key: string]: string; + [key: string]: string | undefined; }; }; }; @@ -92151,7 +92151,7 @@ export interface operations { [key: string]: { /** @description Content of the file */ content: string; - }; + } | undefined; }; public?: boolean | ("true" | "false"); }; @@ -92308,12 +92308,12 @@ export interface operations { * To delete a file, set the whole file to null. For example: `hello.py : null`. The file will also be * deleted if the specified object does not contain at least one of `content` or `filename`. */ files?: { - [key: string]: { + [key: string]: ({ /** @description The new content of the file. */ content?: string; /** @description The new filename for the file. */ filename?: string | null; - } | null; + } | null) | undefined; }; } | null; }; diff --git a/packages/openapi-typescript/examples/github-api.ts b/packages/openapi-typescript/examples/github-api.ts index 5930c6422..3dafbefd9 100644 --- a/packages/openapi-typescript/examples/github-api.ts +++ b/packages/openapi-typescript/examples/github-api.ts @@ -16,13 +16,13 @@ export interface paths { * @description Get Hypermedia links to resources accessible in GitHub's REST API */ get: operations["meta/root"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/advisories": { parameters: { @@ -38,13 +38,13 @@ export interface paths { * By default, all responses will exclude advisories for malware, because malware are not standard vulnerabilities. To list advisories for malware, you must include the `type` parameter in your request, with the value `malware`. For more information about the different types of security advisories, see "[About the GitHub Advisory database](https://docs.github.com/code-security/security-advisories/global-security-advisories/about-the-github-advisory-database#about-types-of-security-advisories)." */ get: operations["security-advisories/list-global-advisories"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/advisories/{ghsa_id}": { parameters: { @@ -58,13 +58,13 @@ export interface paths { * @description Gets a global security advisory using its GitHub Security Advisory (GHSA) identifier. */ get: operations["security-advisories/get-global-advisory"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app": { parameters: { @@ -80,13 +80,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-authenticated"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app-manifests/{code}/conversions": { parameters: { @@ -95,18 +95,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a GitHub App from a manifest * @description Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */ post: operations["apps/create-from-manifest"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/hook/config": { parameters: { @@ -122,11 +122,11 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-webhook-config-for-app"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a webhook configuration for an app * @description Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)." @@ -134,7 +134,7 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ patch: operations["apps/update-webhook-config-for-app"]; - trace: never; + trace?: never; }; "/app/hook/deliveries": { parameters: { @@ -150,13 +150,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/list-webhook-deliveries"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/hook/deliveries/{delivery_id}": { parameters: { @@ -172,13 +172,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-webhook-delivery"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/hook/deliveries/{delivery_id}/attempts": { parameters: { @@ -187,8 +187,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Redeliver a delivery for an app webhook * @description Redeliver a delivery for the webhook configured for a GitHub App. @@ -196,11 +196,11 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ post: operations["apps/redeliver-webhook-delivery"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installation-requests": { parameters: { @@ -214,13 +214,13 @@ export interface paths { * @description Lists all the pending installation requests for the authenticated GitHub App. */ get: operations["apps/list-installation-requests-for-authenticated-app"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installations": { parameters: { @@ -236,13 +236,13 @@ export interface paths { * The permissions the installation has are included under the `permissions` key. */ get: operations["apps/list-installations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installations/{installation_id}": { parameters: { @@ -258,8 +258,8 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-installation"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an installation for the authenticated app * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/apps/apps#suspend-an-app-installation)" endpoint. @@ -267,10 +267,10 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ delete: operations["apps/delete-installation"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installations/{installation_id}/access_tokens": { parameters: { @@ -279,8 +279,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create an installation access token for an app * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. @@ -288,11 +288,11 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ post: operations["apps/create-installation-access-token"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installations/{installation_id}/suspended": { parameters: { @@ -301,7 +301,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Suspend an app installation * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account. @@ -309,7 +309,7 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ put: operations["apps/suspend-installation"]; - post: never; + post?: never; /** * Unsuspend an app installation * @description Removes a GitHub App installation suspension. @@ -317,10 +317,10 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ delete: operations["apps/unsuspend-installation"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/applications/{client_id}/grant": { parameters: { @@ -329,19 +329,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete an app authorization * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. * Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). */ delete: operations["apps/delete-authorization"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/applications/{client_id}/token": { parameters: { @@ -350,8 +350,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Check a token * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. @@ -362,14 +362,14 @@ export interface paths { * @description OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. */ delete: operations["apps/delete-token"]; - options: never; - head: never; + options?: never; + head?: never; /** * Reset a token * @description OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ patch: operations["apps/reset-token"]; - trace: never; + trace?: never; }; "/applications/{client_id}/token/scoped": { parameters: { @@ -378,18 +378,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a scoped access token * @description Use a non-scoped user access token to create a repository scoped and/or permission scoped user access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`. */ post: operations["apps/scope-token"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/apps/{app_slug}": { parameters: { @@ -405,13 +405,13 @@ export interface paths { * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ get: operations["apps/get-by-slug"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/assignments/{assignment_id}": { parameters: { @@ -425,13 +425,13 @@ export interface paths { * @description Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. */ get: operations["classroom/get-an-assignment"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/assignments/{assignment_id}/accepted_assignments": { parameters: { @@ -445,13 +445,13 @@ export interface paths { * @description Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. */ get: operations["classroom/list-accepted-assigments-for-an-assignment"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/assignments/{assignment_id}/grades": { parameters: { @@ -465,13 +465,13 @@ export interface paths { * @description Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment. */ get: operations["classroom/get-assignment-grades"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/classrooms": { parameters: { @@ -485,13 +485,13 @@ export interface paths { * @description Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms. */ get: operations["classroom/list-classrooms"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/classrooms/{classroom_id}": { parameters: { @@ -505,13 +505,13 @@ export interface paths { * @description Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom. */ get: operations["classroom/get-a-classroom"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/classrooms/{classroom_id}/assignments": { parameters: { @@ -525,13 +525,13 @@ export interface paths { * @description Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom. */ get: operations["classroom/list-assignments-for-a-classroom"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/codes_of_conduct": { parameters: { @@ -545,13 +545,13 @@ export interface paths { * @description Returns array of all GitHub's codes of conduct. */ get: operations["codes-of-conduct/get-all-codes-of-conduct"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/codes_of_conduct/{key}": { parameters: { @@ -565,13 +565,13 @@ export interface paths { * @description Returns information about the specified GitHub code of conduct. */ get: operations["codes-of-conduct/get-conduct-code"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/emojis": { parameters: { @@ -585,13 +585,13 @@ export interface paths { * @description Lists all the emojis available to use on GitHub. */ get: operations["emojis/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprises/{enterprise}/dependabot/alerts": { parameters: { @@ -608,13 +608,13 @@ export interface paths { * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. For more information about security managers, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ get: operations["dependabot/list-alerts-for-enterprise"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprises/{enterprise}/secret-scanning/alerts": { parameters: { @@ -629,13 +629,13 @@ export interface paths { * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). */ get: operations["secret-scanning/list-alerts-for-enterprise"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/events": { parameters: { @@ -649,13 +649,13 @@ export interface paths { * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */ get: operations["activity/list-public-events"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/feeds": { parameters: { @@ -679,13 +679,13 @@ export interface paths { * **Note**: Private feeds are only returned when [authenticating via Basic Auth](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) since current feed URIs use the older, non revocable auth tokens. */ get: operations["activity/get-feeds"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists": { parameters: { @@ -699,7 +699,7 @@ export interface paths { * @description Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */ get: operations["gists/list"]; - put: never; + put?: never; /** * Create a gist * @description Allows you to add a new gist with one or more files. @@ -707,11 +707,11 @@ export interface paths { * **Note:** Don't name your files "gistfile" with a numerical suffix. This is the format of the automatic naming scheme that Gist uses internally. */ post: operations["gists/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/public": { parameters: { @@ -727,13 +727,13 @@ export interface paths { * Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page. */ get: operations["gists/list-public"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/starred": { parameters: { @@ -747,13 +747,13 @@ export interface paths { * @description List the authenticated user's starred gists: */ get: operations["gists/list-starred"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/{gist_id}": { parameters: { @@ -764,19 +764,19 @@ export interface paths { }; /** Get a gist */ get: operations["gists/get"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a gist */ delete: operations["gists/delete"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a gist * @description Allows you to update a gist's description and to update, delete, or rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. * At least one of `description` or `files` is required. */ patch: operations["gists/update"]; - trace: never; + trace?: never; }; "/gists/{gist_id}/comments": { parameters: { @@ -787,14 +787,14 @@ export interface paths { }; /** List gist comments */ get: operations["gists/list-comments"]; - put: never; + put?: never; /** Create a gist comment */ post: operations["gists/create-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/{gist_id}/comments/{comment_id}": { parameters: { @@ -805,15 +805,15 @@ export interface paths { }; /** Get a gist comment */ get: operations["gists/get-comment"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a gist comment */ delete: operations["gists/delete-comment"]; - options: never; - head: never; + options?: never; + head?: never; /** Update a gist comment */ patch: operations["gists/update-comment"]; - trace: never; + trace?: never; }; "/gists/{gist_id}/commits": { parameters: { @@ -824,13 +824,13 @@ export interface paths { }; /** List gist commits */ get: operations["gists/list-commits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/{gist_id}/forks": { parameters: { @@ -841,14 +841,14 @@ export interface paths { }; /** List gist forks */ get: operations["gists/list-forks"]; - put: never; + put?: never; /** Fork a gist */ post: operations["gists/fork"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/{gist_id}/star": { parameters: { @@ -864,13 +864,13 @@ export interface paths { * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["gists/star"]; - post: never; + post?: never; /** Unstar a gist */ delete: operations["gists/unstar"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gists/{gist_id}/{sha}": { parameters: { @@ -881,13 +881,13 @@ export interface paths { }; /** Get a gist revision */ get: operations["gists/get-revision"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gitignore/templates": { parameters: { @@ -901,13 +901,13 @@ export interface paths { * @description List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user). */ get: operations["gitignore/get-all-templates"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/gitignore/templates/{name}": { parameters: { @@ -922,13 +922,13 @@ export interface paths { * Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents. */ get: operations["gitignore/get-template"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/installation/repositories": { parameters: { @@ -944,13 +944,13 @@ export interface paths { * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ get: operations["apps/list-repos-accessible-to-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/installation/token": { parameters: { @@ -959,9 +959,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Revoke an installation access token * @description Revokes the installation token you're using to authenticate as an installation and access this endpoint. @@ -971,10 +971,10 @@ export interface paths { * You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint. */ delete: operations["apps/revoke-installation-access-token"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/issues": { parameters: { @@ -996,13 +996,13 @@ export interface paths { * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. */ get: operations["issues/list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/licenses": { parameters: { @@ -1016,13 +1016,13 @@ export interface paths { * @description Lists the most commonly used licenses on GitHub. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." */ get: operations["licenses/get-all-commonly-used"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/licenses/{license}": { parameters: { @@ -1036,13 +1036,13 @@ export interface paths { * @description Gets information about a specific license. For more information, see "[Licensing a repository ](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository)." */ get: operations["licenses/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/markdown": { parameters: { @@ -1051,15 +1051,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Render a Markdown document */ post: operations["markdown/render"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/markdown/raw": { parameters: { @@ -1068,18 +1068,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Render a Markdown document in raw mode * @description You must send Markdown as plain text (using a `Content-Type` header of `text/plain` or `text/x-markdown`) to this endpoint, rather than using JSON format. In raw mode, [GitHub Flavored Markdown](https://github.github.com/gfm/) is not supported and Markdown will be rendered in plain format like a README.md file. Markdown content must be 400 KB or less. */ post: operations["markdown/render-raw"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/accounts/{account_id}": { parameters: { @@ -1095,13 +1095,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/get-subscription-plan-for-account"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/plans": { parameters: { @@ -1117,13 +1117,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/list-plans"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/plans/{plan_id}/accounts": { parameters: { @@ -1139,13 +1139,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/list-accounts-for-plan"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/stubbed/accounts/{account_id}": { parameters: { @@ -1161,13 +1161,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/get-subscription-plan-for-account-stubbed"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/stubbed/plans": { parameters: { @@ -1183,13 +1183,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/list-plans-stubbed"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/marketplace_listing/stubbed/plans/{plan_id}/accounts": { parameters: { @@ -1205,13 +1205,13 @@ export interface paths { * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint. */ get: operations["apps/list-accounts-for-plan-stubbed"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/meta": { parameters: { @@ -1231,13 +1231,13 @@ export interface paths { * **Note:** This endpoint returns both IPv4 and IPv6 addresses. However, not all features support IPv6. You should refer to the specific documentation for each feature to determine if IPv6 is supported. */ get: operations["meta/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/networks/{owner}/{repo}/events": { parameters: { @@ -1248,13 +1248,13 @@ export interface paths { }; /** List public events for a network of repositories */ get: operations["activity/list-public-events-for-repo-network"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/notifications": { parameters: { @@ -1273,12 +1273,12 @@ export interface paths { * @description Marks all notifications as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ put: operations["activity/mark-notifications-as-read"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/notifications/threads/{thread_id}": { parameters: { @@ -1292,17 +1292,17 @@ export interface paths { * @description Gets information about a notification thread. */ get: operations["activity/get-thread"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Mark a thread as read * @description Marks a thread as "read." Marking a thread as "read" is equivalent to clicking a notification in your notification inbox on GitHub: https://github.com/notifications. */ patch: operations["activity/mark-thread-as-read"]; - trace: never; + trace?: never; }; "/notifications/threads/{thread_id}/subscription": { parameters: { @@ -1327,16 +1327,16 @@ export interface paths { * Unsubscribing from a conversation in a repository that you are not watching is functionally equivalent to the [Delete a thread subscription](https://docs.github.com/rest/activity/notifications#delete-a-thread-subscription) endpoint. */ put: operations["activity/set-thread-subscription"]; - post: never; + post?: never; /** * Delete a thread subscription * @description Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/activity/notifications#set-a-thread-subscription) endpoint and set `ignore` to `true`. */ delete: operations["activity/delete-thread-subscription"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/octocat": { parameters: { @@ -1350,13 +1350,13 @@ export interface paths { * @description Get the octocat as ASCII art */ get: operations["meta/get-octocat"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/organizations": { parameters: { @@ -1372,13 +1372,13 @@ export interface paths { * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of organizations. */ get: operations["orgs/list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}": { parameters: { @@ -1394,8 +1394,8 @@ export interface paths { * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below." */ get: operations["orgs/get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an organization * @description Deletes an organization and all its repositories. @@ -1407,8 +1407,8 @@ export interface paths { * https://docs.github.com/site-policy/github-terms/github-terms-of-service */ delete: operations["orgs/delete"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an organization * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). @@ -1416,7 +1416,7 @@ export interface paths { * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges. */ patch: operations["orgs/update"]; - trace: never; + trace?: never; }; "/orgs/{org}/actions/cache/usage": { parameters: { @@ -1432,13 +1432,13 @@ export interface paths { * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. */ get: operations["actions/get-actions-cache-usage-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/cache/usage-by-repository": { parameters: { @@ -1454,13 +1454,13 @@ export interface paths { * You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint. */ get: operations["actions/get-actions-cache-usage-by-repo-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/oidc/customization/sub": { parameters: { @@ -1483,12 +1483,12 @@ export interface paths { * GitHub Apps must have the `admin:org` permission to use this endpoint. */ put: operations["oidc/update-oidc-custom-sub-template-for-org"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/permissions": { parameters: { @@ -1511,12 +1511,12 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ put: operations["actions/set-github-actions-permissions-organization"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/permissions/repositories": { parameters: { @@ -1539,12 +1539,12 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ put: operations["actions/set-selected-repositories-enabled-github-actions-organization"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/permissions/repositories/{repository_id}": { parameters: { @@ -1553,7 +1553,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Enable a selected repository for GitHub Actions in an organization * @description Adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." @@ -1561,7 +1561,7 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ put: operations["actions/enable-selected-repository-github-actions-organization"]; - post: never; + post?: never; /** * Disable a selected repository for GitHub Actions in an organization * @description Removes a repository from the list of selected repositories that are enabled for GitHub Actions in an organization. To use this endpoint, the organization permission policy for `enabled_repositories` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)." @@ -1569,10 +1569,10 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ delete: operations["actions/disable-selected-repository-github-actions-organization"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/permissions/selected-actions": { parameters: { @@ -1595,12 +1595,12 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ put: operations["actions/set-allowed-actions-organization"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/permissions/workflow": { parameters: { @@ -1627,12 +1627,12 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ put: operations["actions/set-github-actions-default-workflow-permissions-organization"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners": { parameters: { @@ -1651,13 +1651,13 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/list-self-hosted-runners-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/downloads": { parameters: { @@ -1676,13 +1676,13 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/list-runner-applications-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/generate-jitconfig": { parameters: { @@ -1691,8 +1691,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create configuration for a just-in-time runner for an organization * @description Generates a configuration that can be passed to the runner application at startup. @@ -1703,11 +1703,11 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ post: operations["actions/generate-runner-jitconfig-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/registration-token": { parameters: { @@ -1716,8 +1716,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a registration token for an organization * @description Returns a token that you can pass to the `config` script. The token expires after one hour. @@ -1736,11 +1736,11 @@ export interface paths { * ``` */ post: operations["actions/create-registration-token-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/remove-token": { parameters: { @@ -1749,8 +1749,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a remove token for an organization * @description Returns a token that you can pass to the `config` script to remove a self-hosted runner from an organization. The token expires after one hour. @@ -1770,11 +1770,11 @@ export interface paths { * ``` */ post: operations["actions/create-remove-token-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/{runner_id}": { parameters: { @@ -1793,8 +1793,8 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/get-self-hosted-runner-for-org"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a self-hosted runner from an organization * @description Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. @@ -1805,10 +1805,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/delete-self-hosted-runner-from-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/{runner_id}/labels": { parameters: { @@ -1859,10 +1859,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/runners/{runner_id}/labels/{name}": { parameters: { @@ -1871,9 +1871,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Remove a custom label from a self-hosted runner for an organization * @description Remove a custom label from a self-hosted runner configured @@ -1888,10 +1888,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/secrets": { parameters: { @@ -1911,13 +1911,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/list-org-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/secrets/public-key": { parameters: { @@ -1937,13 +1937,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/get-org-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/secrets/{secret_name}": { parameters: { @@ -1973,7 +1973,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ put: operations["actions/create-or-update-org-secret"]; - post: never; + post?: never; /** * Delete an organization secret * @description Deletes a secret in an organization using the secret name. @@ -1984,10 +1984,10 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ delete: operations["actions/delete-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/secrets/{secret_name}/repositories": { parameters: { @@ -2019,12 +2019,12 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ put: operations["actions/set-selected-repos-for-org-secret"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": { parameters: { @@ -2033,7 +2033,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add selected repository to an organization secret * @description Adds a repository to an organization secret when the `visibility` for @@ -2046,7 +2046,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ put: operations["actions/add-selected-repo-to-org-secret"]; - post: never; + post?: never; /** * Remove selected repository from an organization secret * @description Removes a repository from an organization secret when the `visibility` @@ -2059,10 +2059,10 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ delete: operations["actions/remove-selected-repo-from-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/variables": { parameters: { @@ -2077,7 +2077,7 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/list-org-variables"]; - put: never; + put?: never; /** * Create an organization variable * @description Creates an organization variable that you can reference in a GitHub Actions workflow. @@ -2088,11 +2088,11 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ post: operations["actions/create-org-variable"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/variables/{name}": { parameters: { @@ -2111,8 +2111,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/get-org-variable"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an organization variable * @description Deletes an organization variable using the variable name. @@ -2123,8 +2123,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ delete: operations["actions/delete-org-variable"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an organization variable * @description Updates an organization variable that you can reference in a GitHub Actions workflow. @@ -2135,7 +2135,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ patch: operations["actions/update-org-variable"]; - trace: never; + trace?: never; }; "/orgs/{org}/actions/variables/{name}/repositories": { parameters: { @@ -2168,12 +2168,12 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ put: operations["actions/set-selected-repos-for-org-variable"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": { parameters: { @@ -2182,7 +2182,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add selected repository to an organization variable * @description Adds a repository to an organization variable that is available to selected repositories. @@ -2194,7 +2194,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ put: operations["actions/add-selected-repo-to-org-variable"]; - post: never; + post?: never; /** * Remove selected repository from an organization variable * @description Removes a repository from an organization variable that is @@ -2207,10 +2207,10 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ delete: operations["actions/remove-selected-repo-from-org-variable"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/blocks": { parameters: { @@ -2224,13 +2224,13 @@ export interface paths { * @description List the users blocked by an organization. */ get: operations["orgs/list-blocked-users"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/blocks/{username}": { parameters: { @@ -2249,16 +2249,16 @@ export interface paths { * @description Blocks the given user on behalf of the specified organization and returns a 204. If the organization cannot block the given user a 422 is returned. */ put: operations["orgs/block-user"]; - post: never; + post?: never; /** * Unblock a user from an organization * @description Unblocks the given user on behalf of the specified organization. */ delete: operations["orgs/unblock-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/code-scanning/alerts": { parameters: { @@ -2278,13 +2278,13 @@ export interface paths { * GitHub Apps must have the `security_events` read permission to use this endpoint. */ get: operations["code-scanning/list-alerts-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces": { parameters: { @@ -2300,13 +2300,13 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ get: operations["codespaces/list-in-organization"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/access": { parameters: { @@ -2315,7 +2315,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Manage access control for organization codespaces * @deprecated @@ -2323,12 +2323,12 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ put: operations["codespaces/set-codespaces-access"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/access/selected_users": { parameters: { @@ -2337,8 +2337,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add users to Codespaces access for an organization * @deprecated @@ -2361,10 +2361,10 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ delete: operations["codespaces/delete-codespaces-access-users"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/secrets": { parameters: { @@ -2379,13 +2379,13 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ get: operations["codespaces/list-org-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/secrets/public-key": { parameters: { @@ -2399,13 +2399,13 @@ export interface paths { * @description Gets a public key for an organization, which is required in order to encrypt secrets. You need to encrypt the value of a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ get: operations["codespaces/get-org-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/secrets/{secret_name}": { parameters: { @@ -2429,16 +2429,16 @@ export interface paths { * token with the `admin:org` scope to use this endpoint. */ put: operations["codespaces/create-or-update-org-secret"]; - post: never; + post?: never; /** * Delete an organization secret * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ delete: operations["codespaces/delete-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": { parameters: { @@ -2457,12 +2457,12 @@ export interface paths { * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ put: operations["codespaces/set-selected-repos-for-org-secret"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": { parameters: { @@ -2471,22 +2471,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add selected repository to an organization secret * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ put: operations["codespaces/add-selected-repo-to-org-secret"]; - post: never; + post?: never; /** * Remove selected repository from an organization secret * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ delete: operations["codespaces/remove-selected-repo-from-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/copilot/billing": { parameters: { @@ -2507,13 +2507,13 @@ export interface paths { * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ get: operations["copilot/get-copilot-organization-details"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/copilot/billing/seats": { parameters: { @@ -2532,13 +2532,13 @@ export interface paths { * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ get: operations["copilot/list-copilot-seats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/copilot/billing/selected_teams": { parameters: { @@ -2547,8 +2547,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add teams to the Copilot for Business subscription for an organization * @description **Note**: This endpoint is in beta and is subject to change. @@ -2579,10 +2579,10 @@ export interface paths { * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/copilot/billing/selected_users": { parameters: { @@ -2591,8 +2591,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add users to the Copilot for Business subscription for an organization * @description **Note**: This endpoint is in beta and is subject to change. @@ -2623,10 +2623,10 @@ export interface paths { * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ delete: operations["copilot/cancel-copilot-seat-assignment-for-users"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/alerts": { parameters: { @@ -2646,13 +2646,13 @@ export interface paths { * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. */ get: operations["dependabot/list-alerts-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/secrets": { parameters: { @@ -2666,13 +2666,13 @@ export interface paths { * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ get: operations["dependabot/list-org-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/secrets/public-key": { parameters: { @@ -2686,13 +2686,13 @@ export interface paths { * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ get: operations["dependabot/get-org-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/secrets/{secret_name}": { parameters: { @@ -2716,16 +2716,16 @@ export interface paths { * permission to use this endpoint. */ put: operations["dependabot/create-or-update-org-secret"]; - post: never; + post?: never; /** * Delete an organization secret * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ delete: operations["dependabot/delete-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/secrets/{secret_name}/repositories": { parameters: { @@ -2744,12 +2744,12 @@ export interface paths { * @description Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ put: operations["dependabot/set-selected-repos-for-org-secret"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": { parameters: { @@ -2758,22 +2758,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add selected repository to an organization secret * @description Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ put: operations["dependabot/add-selected-repo-to-org-secret"]; - post: never; + post?: never; /** * Remove selected repository from an organization secret * @description Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/dependabot/secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */ delete: operations["dependabot/remove-selected-repo-from-org-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/docker/conflicts": { parameters: { @@ -2788,13 +2788,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. */ get: operations["packages/list-docker-migration-conflicting-packages-for-organization"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/events": { parameters: { @@ -2805,13 +2805,13 @@ export interface paths { }; /** List public organization events */ get: operations["activity/list-public-org-events"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/failed_invitations": { parameters: { @@ -2825,13 +2825,13 @@ export interface paths { * @description The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */ get: operations["orgs/list-failed-invitations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/hooks": { parameters: { @@ -2842,17 +2842,17 @@ export interface paths { }; /** List organization webhooks */ get: operations["orgs/list-webhooks"]; - put: never; + put?: never; /** * Create an organization webhook * @description Here's how you can create a hook that posts payloads in JSON format: */ post: operations["orgs/create-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}": { parameters: { @@ -2866,18 +2866,18 @@ export interface paths { * @description Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/orgs/webhooks#get-a-webhook-configuration-for-an-organization)." */ get: operations["orgs/get-webhook"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete an organization webhook */ delete: operations["orgs/delete-webhook"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an organization webhook * @description Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/orgs/webhooks#update-a-webhook-configuration-for-an-organization)." */ patch: operations["orgs/update-webhook"]; - trace: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}/config": { parameters: { @@ -2893,11 +2893,11 @@ export interface paths { * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission. */ get: operations["orgs/get-webhook-config-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a webhook configuration for an organization * @description Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/orgs/webhooks#update-an-organization-webhook)." @@ -2905,7 +2905,7 @@ export interface paths { * Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission. */ patch: operations["orgs/update-webhook-config-for-org"]; - trace: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}/deliveries": { parameters: { @@ -2919,13 +2919,13 @@ export interface paths { * @description Returns a list of webhook deliveries for a webhook configured in an organization. */ get: operations["orgs/list-webhook-deliveries"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": { parameters: { @@ -2939,13 +2939,13 @@ export interface paths { * @description Returns a delivery for a webhook configured in an organization. */ get: operations["orgs/get-webhook-delivery"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { parameters: { @@ -2954,18 +2954,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Redeliver a delivery for an organization webhook * @description Redeliver a delivery for a webhook configured in an organization. */ post: operations["orgs/redeliver-webhook-delivery"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/hooks/{hook_id}/pings": { parameters: { @@ -2974,18 +2974,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Ping an organization webhook * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ post: operations["orgs/ping-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/installation": { parameters: { @@ -3001,13 +3001,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-org-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/installations": { parameters: { @@ -3021,13 +3021,13 @@ export interface paths { * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ get: operations["orgs/list-app-installations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/interaction-limits": { parameters: { @@ -3046,16 +3046,16 @@ export interface paths { * @description Temporarily restricts interactions to a certain type of GitHub user in any public repository in the given organization. You must be an organization owner to set these restrictions. Setting the interaction limit at the organization level will overwrite any interaction limits that are set for individual repositories owned by the organization. */ put: operations["interactions/set-restrictions-for-org"]; - post: never; + post?: never; /** * Remove interaction restrictions for an organization * @description Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */ delete: operations["interactions/remove-restrictions-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/invitations": { parameters: { @@ -3069,7 +3069,7 @@ export interface paths { * @description The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, or `hiring_manager`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ get: operations["orgs/list-pending-invitations"]; - put: never; + put?: never; /** * Create an organization invitation * @description Invite people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner. @@ -3077,11 +3077,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["orgs/create-invitation"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/invitations/{invitation_id}": { parameters: { @@ -3090,9 +3090,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Cancel an organization invitation * @description Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner. @@ -3100,10 +3100,10 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). */ delete: operations["orgs/cancel-invitation"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/invitations/{invitation_id}/teams": { parameters: { @@ -3117,13 +3117,13 @@ export interface paths { * @description List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */ get: operations["orgs/list-invitation-teams"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/issues": { parameters: { @@ -3142,13 +3142,13 @@ export interface paths { * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. */ get: operations["issues/list-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members": { parameters: { @@ -3162,13 +3162,13 @@ export interface paths { * @description List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned. */ get: operations["orgs/list-members"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members/{username}": { parameters: { @@ -3182,17 +3182,17 @@ export interface paths { * @description Check if a user is, publicly or privately, a member of the organization. */ get: operations["orgs/check-membership-for-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Remove an organization member * @description Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories. */ delete: operations["orgs/remove-member"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members/{username}/codespaces": { parameters: { @@ -3208,13 +3208,13 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ get: operations["codespaces/get-codespaces-for-user-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members/{username}/codespaces/{codespace_name}": { parameters: { @@ -3223,9 +3223,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a codespace from the organization * @description Deletes a user's codespace. @@ -3233,10 +3233,10 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ delete: operations["codespaces/delete-from-organization"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": { parameters: { @@ -3245,8 +3245,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Stop a codespace for an organization user * @description Stops a user's codespace. @@ -3254,11 +3254,11 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. */ post: operations["codespaces/stop-in-organization"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/members/{username}/copilot": { parameters: { @@ -3276,13 +3276,13 @@ export interface paths { * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint. */ get: operations["copilot/get-copilot-seat-assignment-details-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/memberships/{username}": { parameters: { @@ -3309,7 +3309,7 @@ export interface paths { * To prevent abuse, the authenticated user is limited to 50 organization invitations per 24 hour period. If the organization is more than one month old or on a paid plan, the limit is 500 invitations per 24 hour period. */ put: operations["orgs/set-membership-for-user"]; - post: never; + post?: never; /** * Remove organization membership for a user * @description In order to remove a user's membership with an organization, the authenticated user must be an organization owner. @@ -3317,10 +3317,10 @@ export interface paths { * If the specified user is an active member of the organization, this will remove them from the organization. If the specified user has been invited to the organization, this will cancel their invitation. The specified user will receive an email notification in both cases. */ delete: operations["orgs/remove-membership-for-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/migrations": { parameters: { @@ -3336,17 +3336,17 @@ export interface paths { * A list of `repositories` is only returned for export migrations. */ get: operations["migrations/list-for-org"]; - put: never; + put?: never; /** * Start an organization migration * @description Initiates the generation of a migration archive. */ post: operations["migrations/start-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/migrations/{migration_id}": { parameters: { @@ -3367,13 +3367,13 @@ export interface paths { * * `failed`, which means the migration failed. */ get: operations["migrations/get-status-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/migrations/{migration_id}/archive": { parameters: { @@ -3387,17 +3387,17 @@ export interface paths { * @description Fetches the URL to a migration archive. */ get: operations["migrations/download-archive-for-org"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an organization migration archive * @description Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */ delete: operations["migrations/delete-archive-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": { parameters: { @@ -3406,18 +3406,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Unlock an organization repository * @description Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/repos/repos#delete-a-repository) when the migration is complete and you no longer need the source data. */ delete: operations["migrations/unlock-repo-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/migrations/{migration_id}/repositories": { parameters: { @@ -3431,13 +3431,13 @@ export interface paths { * @description List all the repositories for this organization migration. */ get: operations["migrations/list-repos-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/outside_collaborators": { parameters: { @@ -3451,13 +3451,13 @@ export interface paths { * @description List all users who are outside collaborators of an organization. */ get: operations["orgs/list-outside-collaborators"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/outside_collaborators/{username}": { parameters: { @@ -3466,22 +3466,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Convert an organization member to outside collaborator * @description When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */ put: operations["orgs/convert-member-to-outside-collaborator"]; - post: never; + post?: never; /** * Remove outside collaborator from an organization * @description Removing a user from this list will remove them from all the organization's repositories. */ delete: operations["orgs/remove-outside-collaborator"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages": { parameters: { @@ -3497,13 +3497,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/list-packages-for-organization"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages/{package_type}/{package_name}": { parameters: { @@ -3519,8 +3519,8 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-for-organization"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a package for an organization * @description Deletes an entire package in an organization. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. @@ -3530,10 +3530,10 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ delete: operations["packages/delete-package-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages/{package_type}/{package_name}/restore": { parameters: { @@ -3542,8 +3542,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore a package for an organization * @description Restores an entire package in an organization. @@ -3557,11 +3557,11 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ post: operations["packages/restore-package-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages/{package_type}/{package_name}/versions": { parameters: { @@ -3577,13 +3577,13 @@ export interface paths { * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-all-package-versions-for-package-owned-by-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": { parameters: { @@ -3599,8 +3599,8 @@ export interface paths { * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-version-for-organization"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete package version for an organization * @description Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. @@ -3610,10 +3610,10 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ delete: operations["packages/delete-package-version-for-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { parameters: { @@ -3622,8 +3622,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore package version for an organization * @description Restores a specific package version in an organization. @@ -3637,11 +3637,11 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ post: operations["packages/restore-package-version-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-token-requests": { parameters: { @@ -3658,7 +3658,7 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ get: operations["orgs/list-pat-grant-requests"]; - put: never; + put?: never; /** * Review requests to access organization resources with fine-grained personal access tokens * @description Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, @@ -3667,11 +3667,11 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ post: operations["orgs/review-pat-grant-requests-in-bulk"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-token-requests/{pat_request_id}": { parameters: { @@ -3680,8 +3680,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Review a request to access organization resources with a fine-grained personal access token * @description Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can call this API, @@ -3690,11 +3690,11 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ post: operations["orgs/review-pat-grant-request"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": { parameters: { @@ -3711,13 +3711,13 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ get: operations["orgs/list-pat-grant-request-repositories"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-tokens": { parameters: { @@ -3734,7 +3734,7 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ get: operations["orgs/list-pat-grants"]; - put: never; + put?: never; /** * Update the access to organization resources via fine-grained personal access tokens * @description Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can call this API, @@ -3743,11 +3743,11 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ post: operations["orgs/update-pat-accesses"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-tokens/{pat_id}": { parameters: { @@ -3756,8 +3756,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Update the access a fine-grained personal access token has to organization resources * @description Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's existing access. Only GitHub Apps can call this API, @@ -3766,11 +3766,11 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ post: operations["orgs/update-pat-access"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": { parameters: { @@ -3787,13 +3787,13 @@ export interface paths { * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change. */ get: operations["orgs/list-pat-grant-repositories"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/projects": { parameters: { @@ -3807,17 +3807,17 @@ export interface paths { * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ get: operations["projects/list-for-org"]; - put: never; + put?: never; /** * Create an organization project * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ post: operations["projects/create-for-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/public_members": { parameters: { @@ -3831,13 +3831,13 @@ export interface paths { * @description Members of an organization can choose to have their membership publicized or not. */ get: operations["orgs/list-public-members"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/public_members/{username}": { parameters: { @@ -3858,16 +3858,16 @@ export interface paths { * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["orgs/set-public-membership-for-authenticated-user"]; - post: never; + post?: never; /** * Remove public organization membership for the authenticated user * @description Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default. */ delete: operations["orgs/remove-public-membership-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/repos": { parameters: { @@ -3883,7 +3883,7 @@ export interface paths { * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ get: operations["repos/list-for-org"]; - put: never; + put?: never; /** * Create an organization repository * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization. @@ -3896,11 +3896,11 @@ export interface paths { * * `repo` scope to create a private repository */ post: operations["repos/create-in-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/rulesets": { parameters: { @@ -3914,17 +3914,17 @@ export interface paths { * @description Get all the repository rulesets for an organization. */ get: operations["repos/get-org-rulesets"]; - put: never; + put?: never; /** * Create an organization repository ruleset * @description Create a repository ruleset for an organization. */ post: operations["repos/create-org-ruleset"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/rulesets/rule-suites": { parameters: { @@ -3939,13 +3939,13 @@ export interface paths { * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." */ get: operations["repos/get-org-rule-suites"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": { parameters: { @@ -3960,13 +3960,13 @@ export interface paths { * For more information, see "[Managing rulesets for repositories in your organization](https://docs.github.com/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-insights-for-rulesets)." */ get: operations["repos/get-org-rule-suite"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/rulesets/{ruleset_id}": { parameters: { @@ -3985,16 +3985,16 @@ export interface paths { * @description Update a ruleset for an organization. */ put: operations["repos/update-org-ruleset"]; - post: never; + post?: never; /** * Delete an organization repository ruleset * @description Delete a ruleset for an organization. */ delete: operations["repos/delete-org-ruleset"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/secret-scanning/alerts": { parameters: { @@ -4012,13 +4012,13 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/list-alerts-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/security-advisories": { parameters: { @@ -4034,13 +4034,13 @@ export interface paths { * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission. */ get: operations["security-advisories/list-org-repository-advisories"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/security-managers": { parameters: { @@ -4058,13 +4058,13 @@ export interface paths { * GitHub Apps must have the `administration` organization read permission to use this endpoint. */ get: operations["orgs/list-security-manager-teams"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/security-managers/teams/{team_slug}": { parameters: { @@ -4073,7 +4073,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add a security manager team * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization." @@ -4083,7 +4083,7 @@ export interface paths { * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. */ put: operations["orgs/add-security-manager-team"]; - post: never; + post?: never; /** * Remove a security manager team * @description Removes the security manager role from a team for an organization. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) team from an organization." @@ -4093,10 +4093,10 @@ export interface paths { * GitHub Apps must have the `administration` organization read-write permission to use this endpoint. */ delete: operations["orgs/remove-security-manager-team"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/settings/billing/actions": { parameters: { @@ -4114,13 +4114,13 @@ export interface paths { * Access tokens must have the `repo` or `admin:org` scope. */ get: operations["billing/get-github-actions-billing-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/settings/billing/packages": { parameters: { @@ -4138,13 +4138,13 @@ export interface paths { * Access tokens must have the `repo` or `admin:org` scope. */ get: operations["billing/get-github-packages-billing-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/settings/billing/shared-storage": { parameters: { @@ -4162,13 +4162,13 @@ export interface paths { * Access tokens must have the `repo` or `admin:org` scope. */ get: operations["billing/get-shared-storage-billing-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams": { parameters: { @@ -4182,7 +4182,7 @@ export interface paths { * @description Lists all teams in an organization that are visible to the authenticated user. */ get: operations["teams/list"]; - put: never; + put?: never; /** * Create a team * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/articles/setting-team-creation-permissions-in-your-organization)." @@ -4190,11 +4190,11 @@ export interface paths { * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)". */ post: operations["teams/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}": { parameters: { @@ -4210,8 +4210,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}`. */ get: operations["teams/get-by-name"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a team * @description To delete a team, the authenticated user must be an organization owner or team maintainer. @@ -4221,8 +4221,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}`. */ delete: operations["teams/delete-in-org"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a team * @description To edit a team, the authenticated user must either be an organization owner or a team maintainer. @@ -4230,7 +4230,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}`. */ patch: operations["teams/update-in-org"]; - trace: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions": { parameters: { @@ -4246,7 +4246,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`. */ get: operations["teams/list-discussions-in-org"]; - put: never; + put?: never; /** * Create a discussion * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4256,11 +4256,11 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`. */ post: operations["teams/create-discussion-in-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": { parameters: { @@ -4276,8 +4276,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. */ get: operations["teams/get-discussion-in-org"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a discussion * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4285,8 +4285,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. */ delete: operations["teams/delete-discussion-in-org"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a discussion * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4294,7 +4294,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}`. */ patch: operations["teams/update-discussion-in-org"]; - trace: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": { parameters: { @@ -4310,7 +4310,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. */ get: operations["teams/list-discussion-comments-in-org"]; - put: never; + put?: never; /** * Create a discussion comment * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4320,11 +4320,11 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments`. */ post: operations["teams/create-discussion-comment-in-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": { parameters: { @@ -4340,8 +4340,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. */ get: operations["teams/get-discussion-comment-in-org"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a discussion comment * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4349,8 +4349,8 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. */ delete: operations["teams/delete-discussion-comment-in-org"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a discussion comment * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). @@ -4358,7 +4358,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/discussions/{discussion_number}/comments/{comment_number}`. */ patch: operations["teams/update-discussion-comment-in-org"]; - trace: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": { parameters: { @@ -4374,7 +4374,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. */ get: operations["reactions/list-for-team-discussion-comment-in-org"]; - put: never; + put?: never; /** * Create reaction for a team discussion comment * @description Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. @@ -4382,11 +4382,11 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`. */ post: operations["reactions/create-for-team-discussion-comment-in-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": { parameters: { @@ -4395,9 +4395,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete team discussion comment reaction * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions/:reaction_id`. @@ -4405,10 +4405,10 @@ export interface paths { * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["reactions/delete-for-team-discussion-comment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": { parameters: { @@ -4424,7 +4424,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. */ get: operations["reactions/list-for-team-discussion-in-org"]; - put: never; + put?: never; /** * Create reaction for a team discussion * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. @@ -4432,11 +4432,11 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`. */ post: operations["reactions/create-for-team-discussion-in-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": { parameters: { @@ -4445,9 +4445,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete team discussion reaction * @description **Note:** You can also specify a team or organization with `team_id` and `org_id` using the route `DELETE /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions/:reaction_id`. @@ -4455,10 +4455,10 @@ export interface paths { * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["reactions/delete-for-team-discussion"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/invitations": { parameters: { @@ -4474,13 +4474,13 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/invitations`. */ get: operations["teams/list-pending-invitations-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/members": { parameters: { @@ -4496,13 +4496,13 @@ export interface paths { * To list members in a team, the team must be visible to the authenticated user. */ get: operations["teams/list-members-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/memberships/{username}": { parameters: { @@ -4540,7 +4540,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/memberships/{username}`. */ put: operations["teams/add-or-update-membership-for-user-in-org"]; - post: never; + post?: never; /** * Remove team membership for a user * @description To remove a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with. Removing team membership does not delete the user, it just removes their membership from the team. @@ -4552,10 +4552,10 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/memberships/{username}`. */ delete: operations["teams/remove-membership-for-user-in-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/projects": { parameters: { @@ -4571,13 +4571,13 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`. */ get: operations["teams/list-projects-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/projects/{project_id}": { parameters: { @@ -4600,7 +4600,7 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ put: operations["teams/add-or-update-project-permissions-in-org"]; - post: never; + post?: never; /** * Remove a project from a team * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project. @@ -4608,10 +4608,10 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`. */ delete: operations["teams/remove-project-in-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/repos": { parameters: { @@ -4627,13 +4627,13 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/repos`. */ get: operations["teams/list-repos-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": { parameters: { @@ -4662,7 +4662,7 @@ export interface paths { * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". */ put: operations["teams/add-or-update-repo-permissions-in-org"]; - post: never; + post?: never; /** * Remove a repository from a team * @description If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. This does not delete the repository, it just removes it from the team. @@ -4670,10 +4670,10 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`. */ delete: operations["teams/remove-repo-in-org"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/teams": { parameters: { @@ -4689,13 +4689,13 @@ export interface paths { * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`. */ get: operations["teams/list-child-in-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/{security_product}/{enablement}": { parameters: { @@ -4704,8 +4704,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Enable or disable a security feature for an organization * @description Enables or disables the specified security feature for all eligible repositories in an organization. @@ -4718,11 +4718,11 @@ export interface paths { * For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/columns/cards/{card_id}": { parameters: { @@ -4736,18 +4736,18 @@ export interface paths { * @description Gets information about a project card. */ get: operations["projects/get-card"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a project card * @description Deletes a project card */ delete: operations["projects/delete-card"]; - options: never; - head: never; + options?: never; + head?: never; /** Update an existing project card */ patch: operations["projects/update-card"]; - trace: never; + trace?: never; }; "/projects/columns/cards/{card_id}/moves": { parameters: { @@ -4756,15 +4756,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Move a project card */ post: operations["projects/move-card"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/columns/{column_id}": { parameters: { @@ -4778,18 +4778,18 @@ export interface paths { * @description Gets information about a project column. */ get: operations["projects/get-column"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a project column * @description Deletes a project column. */ delete: operations["projects/delete-column"]; - options: never; - head: never; + options?: never; + head?: never; /** Update an existing project column */ patch: operations["projects/update-column"]; - trace: never; + trace?: never; }; "/projects/columns/{column_id}/cards": { parameters: { @@ -4803,14 +4803,14 @@ export interface paths { * @description Lists the project cards in a project. */ get: operations["projects/list-cards"]; - put: never; + put?: never; /** Create a project card */ post: operations["projects/create-card"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/columns/{column_id}/moves": { parameters: { @@ -4819,15 +4819,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Move a project column */ post: operations["projects/move-column"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/{project_id}": { parameters: { @@ -4841,21 +4841,21 @@ export interface paths { * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ get: operations["projects/get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a project * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */ delete: operations["projects/delete"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a project * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ patch: operations["projects/update"]; - trace: never; + trace?: never; }; "/projects/{project_id}/collaborators": { parameters: { @@ -4869,13 +4869,13 @@ export interface paths { * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */ get: operations["projects/list-collaborators"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/{project_id}/collaborators/{username}": { parameters: { @@ -4884,22 +4884,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add project collaborator * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */ put: operations["projects/add-collaborator"]; - post: never; + post?: never; /** * Remove user as a collaborator * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */ delete: operations["projects/remove-collaborator"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/{project_id}/collaborators/{username}/permission": { parameters: { @@ -4913,13 +4913,13 @@ export interface paths { * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */ get: operations["projects/get-permission-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/projects/{project_id}/columns": { parameters: { @@ -4933,17 +4933,17 @@ export interface paths { * @description Lists the project columns in a project. */ get: operations["projects/list-columns"]; - put: never; + put?: never; /** * Create a project column * @description Creates a new project column. */ post: operations["projects/create-column"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/rate_limit": { parameters: { @@ -4970,13 +4970,13 @@ export interface paths { * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. */ get: operations["rate-limit/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}": { parameters: { @@ -4992,8 +4992,8 @@ export interface paths { * **Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)." */ get: operations["repos/get"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a repository * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required. @@ -5002,14 +5002,14 @@ export interface paths { * repositories, you will get a `403 Forbidden` response. */ delete: operations["repos/delete"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a repository * @description **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint. */ patch: operations["repos/update"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/artifacts": { parameters: { @@ -5023,13 +5023,13 @@ export interface paths { * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/list-artifacts-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { parameters: { @@ -5043,17 +5043,17 @@ export interface paths { * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-artifact"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an artifact * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ delete: operations["actions/delete-artifact"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": { parameters: { @@ -5071,13 +5071,13 @@ export interface paths { * GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/download-artifact"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/cache/usage": { parameters: { @@ -5093,13 +5093,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-actions-cache-usage"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/caches": { parameters: { @@ -5115,8 +5115,8 @@ export interface paths { * GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-actions-cache-list"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete GitHub Actions caches for a repository (using a cache key) * @description Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. @@ -5126,10 +5126,10 @@ export interface paths { * GitHub Apps must have the `actions:write` permission to use this endpoint. */ delete: operations["actions/delete-actions-cache-by-key"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/caches/{cache_id}": { parameters: { @@ -5138,9 +5138,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a GitHub Actions cache for a repository (using a cache ID) * @description Deletes a GitHub Actions cache for a repository, using a cache ID. @@ -5150,10 +5150,10 @@ export interface paths { * GitHub Apps must have the `actions:write` permission to use this endpoint. */ delete: operations["actions/delete-actions-cache-by-id"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/jobs/{job_id}": { parameters: { @@ -5167,13 +5167,13 @@ export interface paths { * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-job-for-workflow-run"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": { parameters: { @@ -5190,13 +5190,13 @@ export interface paths { * have the `actions:read` permission to use this endpoint. */ get: operations["actions/download-job-logs-for-workflow-run"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": { parameters: { @@ -5205,8 +5205,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Re-run a job from a workflow run * @description Re-run a job and its dependent jobs in a workflow run. @@ -5215,11 +5215,11 @@ export interface paths { * GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/re-run-job-for-workflow-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/oidc/customization/sub": { parameters: { @@ -5242,12 +5242,12 @@ export interface paths { * endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ put: operations["actions/set-custom-oidc-sub-claim-for-repo"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/organization-secrets": { parameters: { @@ -5266,13 +5266,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/list-repo-organization-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/organization-variables": { parameters: { @@ -5290,13 +5290,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/list-repo-organization-variables"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/permissions": { parameters: { @@ -5319,12 +5319,12 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ put: operations["actions/set-github-actions-permissions-repository"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/permissions/access": { parameters: { @@ -5353,12 +5353,12 @@ export interface paths { * repository `administration` permission to use this endpoint. */ put: operations["actions/set-workflow-access-to-repository"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/permissions/selected-actions": { parameters: { @@ -5381,12 +5381,12 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ put: operations["actions/set-allowed-actions-repository"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/permissions/workflow": { parameters: { @@ -5413,12 +5413,12 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the repository `administration` permission to use this API. */ put: operations["actions/set-github-actions-default-workflow-permissions-repository"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners": { parameters: { @@ -5436,13 +5436,13 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/list-self-hosted-runners-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/downloads": { parameters: { @@ -5460,13 +5460,13 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/list-runner-applications-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": { parameters: { @@ -5475,8 +5475,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create configuration for a just-in-time runner for a repository * @description Generates a configuration that can be passed to the runner application at startup. @@ -5486,11 +5486,11 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ post: operations["actions/generate-runner-jitconfig-for-repo"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/registration-token": { parameters: { @@ -5499,8 +5499,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a registration token for a repository * @description Returns a token that you can pass to the `config` script. The token @@ -5518,11 +5518,11 @@ export interface paths { * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN``` */ post: operations["actions/create-registration-token-for-repo"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/remove-token": { parameters: { @@ -5531,8 +5531,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a remove token for a repository * @description Returns a token that you can pass to remove a self-hosted runner from @@ -5550,11 +5550,11 @@ export interface paths { * ```config.sh remove --token TOKEN``` */ post: operations["actions/create-remove-token-for-repo"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/{runner_id}": { parameters: { @@ -5572,8 +5572,8 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ get: operations["actions/get-self-hosted-runner-for-repo"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a self-hosted runner from a repository * @description Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists. @@ -5583,10 +5583,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/delete-self-hosted-runner-from-repo"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": { parameters: { @@ -5633,10 +5633,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": { parameters: { @@ -5645,9 +5645,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Remove a custom label from a self-hosted runner for a repository * @description Remove a custom label from a self-hosted runner configured @@ -5661,10 +5661,10 @@ export interface paths { * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints. */ delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs": { parameters: { @@ -5680,13 +5680,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/list-workflow-runs-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}": { parameters: { @@ -5700,8 +5700,8 @@ export interface paths { * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-workflow-run"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a workflow run * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is @@ -5709,10 +5709,10 @@ export interface paths { * this endpoint. */ delete: operations["actions/delete-workflow-run"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": { parameters: { @@ -5726,13 +5726,13 @@ export interface paths { * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-reviews-for-run"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/approve": { parameters: { @@ -5741,8 +5741,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Approve a workflow run for a fork pull request * @description Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)." @@ -5750,11 +5750,11 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/approve-workflow-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": { parameters: { @@ -5768,13 +5768,13 @@ export interface paths { * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/list-workflow-run-artifacts"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { parameters: { @@ -5791,13 +5791,13 @@ export interface paths { * use this endpoint. */ get: operations["actions/get-workflow-run-attempt"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": { parameters: { @@ -5811,13 +5811,13 @@ export interface paths { * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ get: operations["actions/list-jobs-for-workflow-run-attempt"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": { parameters: { @@ -5834,13 +5834,13 @@ export interface paths { * GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/download-workflow-run-attempt-logs"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { parameters: { @@ -5849,8 +5849,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Cancel a workflow run * @description Cancels a workflow run using its `id`. @@ -5859,11 +5859,11 @@ export interface paths { * GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/cancel-workflow-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { parameters: { @@ -5872,8 +5872,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Review custom deployment protection rules for a workflow run * @description Approve or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see "[Using environments for deployment](https://docs.github.com/actions/deployment/targeting-different-environments/using-environments-for-deployment)." @@ -5885,11 +5885,11 @@ export interface paths { * GitHub Apps must have read and write permission for **Deployments** to use this endpoint. */ post: operations["actions/review-custom-gates-for-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": { parameters: { @@ -5898,8 +5898,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Force cancel a workflow run * @description Cancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an `always()` condition on a job. @@ -5909,11 +5909,11 @@ export interface paths { * GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/force-cancel-workflow-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": { parameters: { @@ -5927,13 +5927,13 @@ export interface paths { * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */ get: operations["actions/list-jobs-for-workflow-run"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/logs": { parameters: { @@ -5950,17 +5950,17 @@ export interface paths { * the `actions:read` permission to use this endpoint. */ get: operations["actions/download-workflow-run-logs"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete workflow run logs * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ delete: operations["actions/delete-workflow-run-logs"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": { parameters: { @@ -5976,7 +5976,7 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-pending-deployments-for-run"]; - put: never; + put?: never; /** * Review pending deployments for a workflow run * @description Approve or reject pending deployments that are waiting on approval by a required reviewer. @@ -5984,11 +5984,11 @@ export interface paths { * Required reviewers with read access to the repository contents and deployments can use this endpoint. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint. */ post: operations["actions/review-pending-deployments-for-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": { parameters: { @@ -5997,18 +5997,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Re-run a workflow * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ post: operations["actions/re-run-workflow"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": { parameters: { @@ -6017,18 +6017,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Re-run failed jobs from a workflow run * @description Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. */ post: operations["actions/re-run-workflow-failed-jobs"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/timing": { parameters: { @@ -6044,13 +6044,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-workflow-run-usage"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/secrets": { parameters: { @@ -6069,13 +6069,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/list-repo-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/secrets/public-key": { parameters: { @@ -6095,13 +6095,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/get-repo-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/secrets/{secret_name}": { parameters: { @@ -6129,7 +6129,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ put: operations["actions/create-or-update-repo-secret"]; - post: never; + post?: never; /** * Delete a repository secret * @description Deletes a secret in a repository using the secret name. @@ -6139,10 +6139,10 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ delete: operations["actions/delete-repo-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/variables": { parameters: { @@ -6159,7 +6159,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/list-repo-variables"]; - put: never; + put?: never; /** * Create a repository variable * @description Creates a repository variable that you can reference in a GitHub Actions workflow. @@ -6169,11 +6169,11 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ post: operations["actions/create-repo-variable"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/variables/{name}": { parameters: { @@ -6191,8 +6191,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/get-repo-variable"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a repository variable * @description Deletes a repository variable using the variable name. @@ -6202,8 +6202,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ delete: operations["actions/delete-repo-variable"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a repository variable * @description Updates a repository variable that you can reference in a GitHub Actions workflow. @@ -6213,7 +6213,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ patch: operations["actions/update-repo-variable"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows": { parameters: { @@ -6227,13 +6227,13 @@ export interface paths { * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/list-repo-workflows"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}": { parameters: { @@ -6247,13 +6247,13 @@ export interface paths { * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-workflow"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": { parameters: { @@ -6262,7 +6262,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Disable a workflow * @description Disables a workflow and sets the `state` of the workflow to `disabled_manually`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. @@ -6270,12 +6270,12 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ put: operations["actions/disable-workflow"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": { parameters: { @@ -6284,8 +6284,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a workflow dispatch event * @description You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. @@ -6295,11 +6295,11 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Creating a personal access token for the command line](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line)." */ post: operations["actions/create-workflow-dispatch"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": { parameters: { @@ -6308,7 +6308,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Enable a workflow * @description Enables a workflow and sets the `state` of the workflow to `active`. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. @@ -6316,12 +6316,12 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */ put: operations["actions/enable-workflow"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { parameters: { @@ -6337,13 +6337,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. */ get: operations["actions/list-workflow-runs"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": { parameters: { @@ -6359,13 +6359,13 @@ export interface paths { * You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-workflow-usage"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/activity": { parameters: { @@ -6382,13 +6382,13 @@ export interface paths { * see "[Viewing repository activity](https://docs.github.com/repositories/viewing-activity-and-data-for-your-repository/viewing-repository-activity)." */ get: operations["repos/list-activities"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/assignees": { parameters: { @@ -6402,13 +6402,13 @@ export interface paths { * @description Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */ get: operations["issues/list-assignees"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/assignees/{assignee}": { parameters: { @@ -6426,13 +6426,13 @@ export interface paths { * Otherwise a `404` status code is returned. */ get: operations["issues/check-user-can-be-assigned"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/autolinks": { parameters: { @@ -6448,17 +6448,17 @@ export interface paths { * Information about autolinks are only available to repository administrators. */ get: operations["repos/list-autolinks"]; - put: never; + put?: never; /** * Create an autolink reference for a repository * @description Users with admin access to the repository can create an autolink. */ post: operations["repos/create-autolink"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/autolinks/{autolink_id}": { parameters: { @@ -6474,8 +6474,8 @@ export interface paths { * Information about autolinks are only available to repository administrators. */ get: operations["repos/get-autolink"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an autolink reference from a repository * @description This deletes a single autolink reference by ID that was configured for the given repository. @@ -6483,10 +6483,10 @@ export interface paths { * Information about autolinks are only available to repository administrators. */ delete: operations["repos/delete-autolink"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/automated-security-fixes": { parameters: { @@ -6505,16 +6505,16 @@ export interface paths { * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". */ put: operations["repos/enable-automated-security-fixes"]; - post: never; + post?: never; /** * Disable automated security fixes * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)". */ delete: operations["repos/disable-automated-security-fixes"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches": { parameters: { @@ -6525,13 +6525,13 @@ export interface paths { }; /** List branches */ get: operations["repos/list-branches"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}": { parameters: { @@ -6542,13 +6542,13 @@ export interface paths { }; /** Get a branch */ get: operations["repos/get-branch"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection": { parameters: { @@ -6573,16 +6573,16 @@ export interface paths { * **Note**: The list of users, apps, and teams in total is limited to 100 items. */ put: operations["repos/update-branch-protection"]; - post: never; + post?: never; /** * Delete branch protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/delete-branch-protection"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": { parameters: { @@ -6596,7 +6596,7 @@ export interface paths { * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["repos/get-admin-branch-protection"]; - put: never; + put?: never; /** * Set admin branch protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -6611,10 +6611,10 @@ export interface paths { * Removing admin enforcement requires admin or owner permissions to the repository and branch protection to be enabled. */ delete: operations["repos/delete-admin-branch-protection"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": { parameters: { @@ -6628,15 +6628,15 @@ export interface paths { * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["repos/get-pull-request-review-protection"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete pull request review protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/delete-pull-request-review-protection"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update pull request review protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -6646,7 +6646,7 @@ export interface paths { * **Note**: Passing new arrays of `users` and `teams` replaces their previous values. */ patch: operations["repos/update-pull-request-review-protection"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": { parameters: { @@ -6664,7 +6664,7 @@ export interface paths { * **Note**: You must enable branch protection to require signed commits. */ get: operations["repos/get-commit-signature-protection"]; - put: never; + put?: never; /** * Create commit signature protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -6679,10 +6679,10 @@ export interface paths { * When authenticated with admin or owner permissions to the repository, you can use this endpoint to disable required signed commits on a branch. You must enable branch protection to require signed commits. */ delete: operations["repos/delete-commit-signature-protection"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": { parameters: { @@ -6696,15 +6696,15 @@ export interface paths { * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["repos/get-status-checks-protection"]; - put: never; - post: never; + put?: never; + post?: never; /** * Remove status check protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/remove-status-check-protection"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update status check protection * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -6712,7 +6712,7 @@ export interface paths { * Updating required status checks requires admin or owner permissions to the repository and branch protection to be enabled. */ patch: operations["repos/update-status-check-protection"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": { parameters: { @@ -6741,10 +6741,10 @@ export interface paths { * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["repos/remove-status-check-contexts"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": { parameters: { @@ -6762,8 +6762,8 @@ export interface paths { * **Note**: Users, apps, and teams `restrictions` are only available for organization-owned repositories. */ get: operations["repos/get-access-restrictions"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete access restrictions * @description Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -6771,10 +6771,10 @@ export interface paths { * Disables the ability to restrict who can push to this branch. */ delete: operations["repos/delete-access-restrictions"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": { parameters: { @@ -6811,10 +6811,10 @@ export interface paths { * Removes the ability of an app to push to this branch. Only installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch. */ delete: operations["repos/remove-app-access-restrictions"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": { parameters: { @@ -6851,10 +6851,10 @@ export interface paths { * Removes the ability of a team to push to this branch. You can also remove push access for child teams. */ delete: operations["repos/remove-team-access-restrictions"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": { parameters: { @@ -6903,10 +6903,10 @@ export interface paths { * | `array` | Usernames of the people who should no longer have push access. **Note**: The list of users, apps, and teams in total is limited to 100 items. | */ delete: operations["repos/remove-user-access-restrictions"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/branches/{branch}/rename": { parameters: { @@ -6915,8 +6915,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Rename a branch * @description Renames a branch in a repository. @@ -6936,11 +6936,11 @@ export interface paths { * * GitHub Apps must have the `administration:write` repository permission. */ post: operations["repos/rename-branch"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-runs": { parameters: { @@ -6949,8 +6949,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a check run * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. @@ -6960,11 +6960,11 @@ export interface paths { * In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs. */ post: operations["checks/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-runs/{check_run_id}": { parameters: { @@ -6980,11 +6980,11 @@ export interface paths { * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository. */ get: operations["checks/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a check run * @description Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs. @@ -6992,7 +6992,7 @@ export interface paths { * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. */ patch: operations["checks/update"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": { parameters: { @@ -7006,13 +7006,13 @@ export interface paths { * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */ get: operations["checks/list-annotations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": { parameters: { @@ -7021,8 +7021,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Rerequest a check run * @description Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. @@ -7032,11 +7032,11 @@ export interface paths { * For more information about how to re-run GitHub Actions jobs, see "[Re-run a job from a workflow run](https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run)". */ post: operations["checks/rerequest-run"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-suites": { parameters: { @@ -7045,8 +7045,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a check suite * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. @@ -7054,11 +7054,11 @@ export interface paths { * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/checks/runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/checks/suites#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites. */ post: operations["checks/create-suite"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-suites/preferences": { parameters: { @@ -7067,18 +7067,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update repository preferences for check suites * @description Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/checks/suites#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */ patch: operations["checks/set-suites-preferences"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/check-suites/{check_suite_id}": { parameters: { @@ -7094,13 +7094,13 @@ export interface paths { * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository. */ get: operations["checks/get-suite"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs": { parameters: { @@ -7116,13 +7116,13 @@ export interface paths { * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array. */ get: operations["checks/list-for-suite"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": { parameters: { @@ -7131,8 +7131,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Rerequest a check suite * @description Triggers GitHub to rerequest an existing check suite, without pushing new code to a repository. This endpoint will trigger the [`check_suite` webhook](https://docs.github.com/webhooks/event-payloads/#check_suite) event with the action `rerequested`. When a check suite is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared. @@ -7140,11 +7140,11 @@ export interface paths { * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository. */ post: operations["checks/rerequest-suite"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/alerts": { parameters: { @@ -7167,13 +7167,13 @@ export interface paths { * for the default branch (or for the specified Git reference if you used `ref` in the request). */ get: operations["code-scanning/list-alerts-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": { parameters: { @@ -7187,17 +7187,17 @@ export interface paths { * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */ get: operations["code-scanning/get-alert"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a code scanning alert * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. */ patch: operations["code-scanning/update-alert"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": { parameters: { @@ -7214,13 +7214,13 @@ export interface paths { * GitHub Apps must have the `security_events` read permission to use this endpoint. */ get: operations["code-scanning/list-alert-instances"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/analyses": { parameters: { @@ -7250,13 +7250,13 @@ export interface paths { * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. */ get: operations["code-scanning/list-recent-analyses"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": { parameters: { @@ -7288,8 +7288,8 @@ export interface paths { * [SARIF version 2.1.0](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html). */ get: operations["code-scanning/get-analysis"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a code scanning analysis from a repository * @description Deletes a specified code scanning analysis from a repository. For @@ -7359,10 +7359,10 @@ export interface paths { * The above process assumes that you want to remove all trace of the tool's analyses from the GitHub user interface, for the specified repository, and it therefore uses the `confirm_delete_url` value. Alternatively, you could use the `next_analysis_url` value, which would leave the last analysis in each set undeleted to avoid removing a tool's analysis entirely. */ delete: operations["code-scanning/delete-analysis"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/codeql/databases": { parameters: { @@ -7380,13 +7380,13 @@ export interface paths { * GitHub Apps must have the `contents` read permission to use this endpoint. */ get: operations["code-scanning/list-codeql-databases"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": { parameters: { @@ -7410,13 +7410,13 @@ export interface paths { * GitHub Apps must have the `contents` read permission to use this endpoint. */ get: operations["code-scanning/get-codeql-database"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/default-setup": { parameters: { @@ -7432,11 +7432,11 @@ export interface paths { * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. */ get: operations["code-scanning/get-default-setup"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a code scanning default setup configuration * @description Updates a code scanning default setup configuration. @@ -7444,7 +7444,7 @@ export interface paths { * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint. */ patch: operations["code-scanning/update-default-setup"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/sarifs": { parameters: { @@ -7453,8 +7453,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Upload an analysis as SARIF data * @description Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. For troubleshooting information, see "[Troubleshooting SARIF uploads](https://docs.github.com/code-security/code-scanning/troubleshooting-sarif)." @@ -7489,11 +7489,11 @@ export interface paths { * For more information, see "[Get information about a SARIF upload](/rest/code-scanning/code-scanning#get-information-about-a-sarif-upload)." */ post: operations["code-scanning/upload-sarif"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": { parameters: { @@ -7507,13 +7507,13 @@ export interface paths { * @description Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/code-scanning/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */ get: operations["code-scanning/get-sarif"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codeowners/errors": { parameters: { @@ -7531,13 +7531,13 @@ export interface paths { * see "[About code owners](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)." */ get: operations["repos/codeowners-errors"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces": { parameters: { @@ -7555,7 +7555,7 @@ export interface paths { * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ get: operations["codespaces/list-in-repository-for-authenticated-user"]; - put: never; + put?: never; /** * Create a codespace in a repository * @description Creates a codespace owned by the authenticated user in the specified repository. @@ -7565,11 +7565,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ post: operations["codespaces/create-with-repo-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/devcontainers": { parameters: { @@ -7588,13 +7588,13 @@ export interface paths { * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. */ get: operations["codespaces/list-devcontainers-in-repository-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/machines": { parameters: { @@ -7612,13 +7612,13 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_metadata` repository permission to use this endpoint. */ get: operations["codespaces/repo-machines-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/new": { parameters: { @@ -7636,13 +7636,13 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/permissions_check": { parameters: { @@ -7660,13 +7660,13 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ get: operations["codespaces/check-permissions-for-devcontainer"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/secrets": { parameters: { @@ -7680,13 +7680,13 @@ export interface paths { * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. */ get: operations["codespaces/list-repo-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/secrets/public-key": { parameters: { @@ -7700,13 +7700,13 @@ export interface paths { * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. */ get: operations["codespaces/get-repo-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": { parameters: { @@ -7730,16 +7730,16 @@ export interface paths { * repository permission to use this endpoint. */ put: operations["codespaces/create-or-update-repo-secret"]; - post: never; + post?: never; /** * Delete a repository secret * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint. */ delete: operations["codespaces/delete-repo-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/collaborators": { parameters: { @@ -7760,13 +7760,13 @@ export interface paths { * endpoint. */ get: operations["repos/list-collaborators"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/collaborators/{username}": { parameters: { @@ -7811,7 +7811,7 @@ export interface paths { * You are limited to sending 50 invitations to a repository per 24 hour period. Note there is no limit if you are inviting organization members to an organization repository. */ put: operations["repos/add-collaborator"]; - post: never; + post?: never; /** * Remove a repository collaborator * @description Removes a collaborator from a repository. @@ -7837,10 +7837,10 @@ export interface paths { * For more information on fork permissions, see "[About permissions and visibility of forks](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/about-permissions-and-visibility-of-forks)". */ delete: operations["repos/remove-collaborator"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/collaborators/{username}/permission": { parameters: { @@ -7860,13 +7860,13 @@ export interface paths { * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository. */ get: operations["repos/get-collaborator-permission-level"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/comments": { parameters: { @@ -7882,13 +7882,13 @@ export interface paths { * Comments are ordered by ascending ID. */ get: operations["repos/list-commit-comments-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/comments/{comment_id}": { parameters: { @@ -7899,15 +7899,15 @@ export interface paths { }; /** Get a commit comment */ get: operations["repos/get-commit-comment"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a commit comment */ delete: operations["repos/delete-commit-comment"]; - options: never; - head: never; + options?: never; + head?: never; /** Update a commit comment */ patch: operations["repos/update-commit-comment"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/comments/{comment_id}/reactions": { parameters: { @@ -7921,17 +7921,17 @@ export interface paths { * @description List the reactions to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). */ get: operations["reactions/list-for-commit-comment"]; - put: never; + put?: never; /** * Create reaction for a commit comment * @description Create a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */ post: operations["reactions/create-for-commit-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": { parameters: { @@ -7940,9 +7940,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a commit comment reaction * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`. @@ -7950,10 +7950,10 @@ export interface paths { * Delete a reaction to a [commit comment](https://docs.github.com/rest/commits/comments#get-a-commit-comment). */ delete: operations["reactions/delete-for-commit-comment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits": { parameters: { @@ -7994,13 +7994,13 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ get: operations["repos/list-commits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": { parameters: { @@ -8016,13 +8016,13 @@ export interface paths { * Returns all branches where the given commit SHA is the HEAD, or latest commit for the branch. */ get: operations["repos/list-branches-for-head-commit"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{commit_sha}/comments": { parameters: { @@ -8036,7 +8036,7 @@ export interface paths { * @description Use the `:commit_sha` to specify the commit that will have its comments listed. */ get: operations["repos/list-comments-for-commit"]; - put: never; + put?: never; /** * Create a commit comment * @description Create a comment for a commit using its `:commit_sha`. @@ -8044,11 +8044,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["repos/create-commit-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{commit_sha}/pulls": { parameters: { @@ -8064,13 +8064,13 @@ export interface paths { * To list the open or merged pull requests associated with a branch, you can set the `commit_sha` parameter to the branch name. */ get: operations["repos/list-pull-requests-associated-with-commit"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{ref}": { parameters: { @@ -8119,13 +8119,13 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ get: operations["repos/get-commit"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{ref}/check-runs": { parameters: { @@ -8143,13 +8143,13 @@ export interface paths { * If there are more than 1000 check suites on a single git reference, this endpoint will limit check runs to the 1000 most recent check suites. To iterate over all possible check runs, use the [List check suites for a Git reference](https://docs.github.com/rest/reference/checks#list-check-suites-for-a-git-reference) endpoint and provide the `check_suite_id` parameter to the [List check runs in a check suite](https://docs.github.com/rest/reference/checks#list-check-runs-in-a-check-suite) endpoint. */ get: operations["checks/list-for-ref"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{ref}/check-suites": { parameters: { @@ -8165,13 +8165,13 @@ export interface paths { * **Note:** The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`. */ get: operations["checks/list-suites-for-ref"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{ref}/status": { parameters: { @@ -8192,13 +8192,13 @@ export interface paths { * * **success** if the latest status for all contexts is `success` */ get: operations["repos/get-combined-status-for-ref"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/commits/{ref}/statuses": { parameters: { @@ -8214,13 +8214,13 @@ export interface paths { * This resource is also available via a legacy route: `GET /repos/:owner/:repo/statuses/:ref`. */ get: operations["repos/list-commit-statuses-for-ref"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/community/profile": { parameters: { @@ -8244,13 +8244,13 @@ export interface paths { * `content_reports_enabled` is only returned for organization-owned repositories. */ get: operations["repos/get-community-profile-metrics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/compare/{basehead}": { parameters: { @@ -8308,13 +8308,13 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ get: operations["repos/compare-commits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/contents/{path}": { parameters: { @@ -8371,7 +8371,7 @@ export interface paths { * **Note:** If you use this endpoint and the "[Delete a file](https://docs.github.com/rest/repos/contents/#delete-a-file)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. */ put: operations["repos/create-or-update-file-contents"]; - post: never; + post?: never; /** * Delete a file * @description Deletes a file in a repository. @@ -8385,10 +8385,10 @@ export interface paths { * **Note:** If you use this endpoint and the "[Create or update file contents](https://docs.github.com/rest/repos/contents/#create-or-update-file-contents)" endpoint in parallel, the concurrent requests will conflict and you will receive errors. You must use these endpoints serially instead. */ delete: operations["repos/delete-file"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/contributors": { parameters: { @@ -8404,13 +8404,13 @@ export interface paths { * GitHub identifies contributors by author email address. This endpoint groups contribution counts by GitHub user, which includes all associated email addresses. To improve performance, only the first 500 author email addresses in the repository link to GitHub users. The rest will appear as anonymous contributors without associated GitHub user information. */ get: operations["repos/list-contributors"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependabot/alerts": { parameters: { @@ -8426,13 +8426,13 @@ export interface paths { * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. */ get: operations["dependabot/list-alerts-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": { parameters: { @@ -8448,11 +8448,11 @@ export interface paths { * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint. */ get: operations["dependabot/get-alert"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a Dependabot alert * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories. @@ -8462,7 +8462,7 @@ export interface paths { * To use this endpoint, you must have access to security alerts for the repository. For more information, see "[Granting access to security alerts](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)." */ patch: operations["dependabot/update-alert"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/dependabot/secrets": { parameters: { @@ -8476,13 +8476,13 @@ export interface paths { * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ get: operations["dependabot/list-repo-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependabot/secrets/public-key": { parameters: { @@ -8496,13 +8496,13 @@ export interface paths { * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ get: operations["dependabot/get-repo-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": { parameters: { @@ -8526,16 +8526,16 @@ export interface paths { * permission to use this endpoint. */ put: operations["dependabot/create-or-update-repo-secret"]; - post: never; + post?: never; /** * Delete a repository secret * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */ delete: operations["dependabot/delete-repo-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { parameters: { @@ -8549,13 +8549,13 @@ export interface paths { * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ get: operations["dependency-graph/diff-range"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependency-graph/sbom": { parameters: { @@ -8569,13 +8569,13 @@ export interface paths { * @description Exports the software bill of materials (SBOM) for a repository in SPDX JSON format. */ get: operations["dependency-graph/export-sbom"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependency-graph/snapshots": { parameters: { @@ -8584,18 +8584,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a snapshot of dependencies for a repository * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. */ post: operations["dependency-graph/create-repository-snapshot"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/deployments": { parameters: { @@ -8609,7 +8609,7 @@ export interface paths { * @description Simple filtering of deployments is available via query parameters: */ get: operations["repos/list-deployments"]; - put: never; + put?: never; /** * Create a deployment * @description Deployments offer a few configurable parameters with certain defaults. @@ -8662,11 +8662,11 @@ export interface paths { * status for the commit to be deployed, but one or more of the required contexts do not have a state of `success`. */ post: operations["repos/create-deployment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/deployments/{deployment_id}": { parameters: { @@ -8677,8 +8677,8 @@ export interface paths { }; /** Get a deployment */ get: operations["repos/get-deployment"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a deployment * @description If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment. @@ -8691,10 +8691,10 @@ export interface paths { * For more information, see "[Create a deployment](https://docs.github.com/rest/deployments/deployments/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/deployments/statuses#create-a-deployment-status)." */ delete: operations["repos/delete-deployment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": { parameters: { @@ -8708,7 +8708,7 @@ export interface paths { * @description Users with pull access can view deployment statuses for a deployment: */ get: operations["repos/list-deployment-statuses"]; - put: never; + put?: never; /** * Create a deployment status * @description Users with `push` access can create deployment statuses for a given deployment. @@ -8716,11 +8716,11 @@ export interface paths { * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope. */ post: operations["repos/create-deployment-status"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": { parameters: { @@ -8734,13 +8734,13 @@ export interface paths { * @description Users with pull access can view a deployment status for a deployment: */ get: operations["repos/get-deployment-status"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dispatches": { parameters: { @@ -8749,8 +8749,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a repository dispatch event * @description You can use this endpoint to trigger a webhook event called `repository_dispatch` when you want activity that happens outside of GitHub to trigger a GitHub Actions workflow or GitHub App webhook. You must configure your GitHub Actions workflow or GitHub App to run when the `repository_dispatch` event occurs. For an example `repository_dispatch` webhook payload, see "[RepositoryDispatchEvent](https://docs.github.com/webhooks/event-payloads/#repository_dispatch)." @@ -8765,11 +8765,11 @@ export interface paths { * This input example shows how you can use the `client_payload` as a test to debug your workflow. */ post: operations["repos/create-dispatch-event"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments": { parameters: { @@ -8785,13 +8785,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["repos/get-all-environments"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}": { parameters: { @@ -8820,16 +8820,16 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ put: operations["repos/create-or-update-environment"]; - post: never; + post?: never; /** * Delete an environment * @description You must authenticate using an access token with the repo scope to use this endpoint. */ delete: operations["repos/delete-an-environment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": { parameters: { @@ -8845,7 +8845,7 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["repos/list-deployment-branch-policies"]; - put: never; + put?: never; /** * Create a deployment branch policy * @description Creates a deployment branch policy for an environment. @@ -8853,11 +8853,11 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ post: operations["repos/create-deployment-branch-policy"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": { parameters: { @@ -8880,7 +8880,7 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ put: operations["repos/update-deployment-branch-policy"]; - post: never; + post?: never; /** * Delete a deployment branch policy * @description Deletes a deployment branch policy for an environment. @@ -8888,10 +8888,10 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint. */ delete: operations["repos/delete-deployment-branch-policy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": { parameters: { @@ -8907,7 +8907,7 @@ export interface paths { * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). */ get: operations["repos/get-all-deployment-protection-rules"]; - put: never; + put?: never; /** * Create a custom deployment protection rule on an environment * @description Enable a custom deployment protection rule for an environment. @@ -8917,11 +8917,11 @@ export interface paths { * For more information about the app that is providing this custom deployment rule, see the [documentation for the `GET /apps/{app_slug}` endpoint](https://docs.github.com/rest/apps/apps#get-an-app). */ post: operations["repos/create-deployment-protection-rule"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": { parameters: { @@ -8939,13 +8939,13 @@ export interface paths { * For more information about the app that is providing this custom deployment rule, see "[GET an app](https://docs.github.com/rest/apps/apps#get-an-app)". */ get: operations["repos/list-custom-deployment-rule-integrations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": { parameters: { @@ -8961,8 +8961,8 @@ export interface paths { * For more information about the app that is providing this custom deployment rule, see [`GET /apps/{app_slug}`](https://docs.github.com/rest/apps/apps#get-an-app). */ get: operations["repos/get-custom-deployment-protection-rule"]; - put: never; - post: never; + put?: never; + post?: never; /** * Disable a custom protection rule for an environment * @description Disables a custom deployment protection rule for an environment. @@ -8970,10 +8970,10 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)". */ delete: operations["repos/disable-deployment-protection-rule"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/events": { parameters: { @@ -8988,13 +8988,13 @@ export interface paths { * */ get: operations["activity/list-repo-events"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/forks": { parameters: { @@ -9005,7 +9005,7 @@ export interface paths { }; /** List forks */ get: operations["repos/list-forks"]; - put: never; + put?: never; /** * Create a fork * @description Create a fork for the authenticated user. @@ -9015,11 +9015,11 @@ export interface paths { * **Note**: Although this endpoint works with GitHub Apps, the GitHub App must be installed on the destination account with access to all repositories and on the source account with access to the source repository. */ post: operations["repos/create-fork"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/blobs": { parameters: { @@ -9028,15 +9028,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Create a blob */ post: operations["git/create-blob"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/blobs/{file_sha}": { parameters: { @@ -9052,13 +9052,13 @@ export interface paths { * _Note_: This API supports blobs up to 100 megabytes in size. */ get: operations["git/get-blob"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/commits": { parameters: { @@ -9067,8 +9067,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a commit * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects). @@ -9103,11 +9103,11 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ post: operations["git/create-commit"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/commits/{commit_sha}": { parameters: { @@ -9152,13 +9152,13 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ get: operations["git/get-commit"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/matching-refs/{ref}": { parameters: { @@ -9178,13 +9178,13 @@ export interface paths { * If you request matching references for a branch named `feature` but the branch `feature` doesn't exist, the response can still include other matching head refs that start with the word `feature`, such as `featureA` and `featureB`. */ get: operations["git/list-matching-refs"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/ref/{ref}": { parameters: { @@ -9200,13 +9200,13 @@ export interface paths { * **Note:** You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)". */ get: operations["git/get-ref"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/refs": { parameters: { @@ -9215,18 +9215,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a reference * @description Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches. */ post: operations["git/create-ref"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/refs/{ref}": { parameters: { @@ -9235,16 +9235,16 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** Delete a reference */ delete: operations["git/delete-ref"]; - options: never; - head: never; + options?: never; + head?: never; /** Update a reference */ patch: operations["git/update-ref"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/git/tags": { parameters: { @@ -9253,8 +9253,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a tag object * @description Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/git/refs#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/git/refs#create-a-reference) the tag reference - this call would be unnecessary. @@ -9289,11 +9289,11 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ post: operations["git/create-tag"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/tags/{tag_sha}": { parameters: { @@ -9334,13 +9334,13 @@ export interface paths { * | `valid` | None of the above errors applied, so the signature is considered to be verified. | */ get: operations["git/get-tag"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/trees": { parameters: { @@ -9349,8 +9349,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a tree * @description The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure. @@ -9360,11 +9360,11 @@ export interface paths { * Returns an error if you try to delete a file that does not exist. */ post: operations["git/create-tree"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/git/trees/{tree_sha}": { parameters: { @@ -9383,13 +9383,13 @@ export interface paths { * **Note**: The limit for the `tree` array is 100,000 entries with a maximum size of 7 MB when using the `recursive` parameter. */ get: operations["git/get-tree"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks": { parameters: { @@ -9403,18 +9403,18 @@ export interface paths { * @description Lists webhooks for a repository. `last response` may return null if there have not been any deliveries within 30 days. */ get: operations["repos/list-webhooks"]; - put: never; + put?: never; /** * Create a repository webhook * @description Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can * share the same `config` as long as those webhooks do not have any `events` that overlap. */ post: operations["repos/create-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}": { parameters: { @@ -9428,18 +9428,18 @@ export interface paths { * @description Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository)." */ get: operations["repos/get-webhook"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a repository webhook */ delete: operations["repos/delete-webhook"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a repository webhook * @description Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/webhooks/repo-config#update-a-webhook-configuration-for-a-repository)." */ patch: operations["repos/update-webhook"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/config": { parameters: { @@ -9455,11 +9455,11 @@ export interface paths { * Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission. */ get: operations["repos/get-webhook-config-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a webhook configuration for a repository * @description Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/webhooks/repos#update-a-repository-webhook)." @@ -9467,7 +9467,7 @@ export interface paths { * Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission. */ patch: operations["repos/update-webhook-config-for-repo"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": { parameters: { @@ -9481,13 +9481,13 @@ export interface paths { * @description Returns a list of webhook deliveries for a webhook configured in a repository. */ get: operations["repos/list-webhook-deliveries"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": { parameters: { @@ -9501,13 +9501,13 @@ export interface paths { * @description Returns a delivery for a webhook configured in a repository. */ get: operations["repos/get-webhook-delivery"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": { parameters: { @@ -9516,18 +9516,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Redeliver a delivery for a repository webhook * @description Redeliver a webhook delivery for a webhook configured in a repository. */ post: operations["repos/redeliver-webhook-delivery"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/pings": { parameters: { @@ -9536,18 +9536,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Ping a repository webhook * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */ post: operations["repos/ping-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/hooks/{hook_id}/tests": { parameters: { @@ -9556,8 +9556,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Test the push repository webhook * @description This will trigger the hook with the latest push to the current repository if the hook is subscribed to `push` events. If the hook is not subscribed to `push` events, the server will respond with 204 but no test POST will be generated. @@ -9565,11 +9565,11 @@ export interface paths { * **Note**: Previously `/repos/:owner/:repo/hooks/:hook_id/test` */ post: operations["repos/test-push-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/import": { parameters: { @@ -9626,7 +9626,7 @@ export interface paths { * **Warning:** Support for importing Mercurial, Subversion and Team Foundation Version Control repositories will end on October 17, 2023. For more details, see [changelog](https://gh.io/github-importer-non-git-eol). In the coming weeks, we will update these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. */ put: operations["migrations/start-import"]; - post: never; + post?: never; /** * Cancel an import * @description Stop an import for a repository. @@ -9637,8 +9637,8 @@ export interface paths { * */ delete: operations["migrations/cancel-import"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an import * @description An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API @@ -9653,7 +9653,7 @@ export interface paths { * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. */ patch: operations["migrations/update-import"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/import/authors": { parameters: { @@ -9673,13 +9673,13 @@ export interface paths { * these docs to reflect relevant changes to the API and will contact all integrators using the "Source imports" API. */ get: operations["migrations/get-commit-authors"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/import/authors/{author_id}": { parameters: { @@ -9688,12 +9688,12 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Map a commit author * @description Update an author's identity for the import. Your application can continue updating authors any time before you push @@ -9705,7 +9705,7 @@ export interface paths { * */ patch: operations["migrations/map-commit-author"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/import/large_files": { parameters: { @@ -9724,13 +9724,13 @@ export interface paths { * */ get: operations["migrations/get-large-files"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/import/lfs": { parameters: { @@ -9739,12 +9739,12 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update Git LFS preference * @description You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability @@ -9759,7 +9759,7 @@ export interface paths { * */ patch: operations["migrations/set-lfs-preference"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/installation": { parameters: { @@ -9775,13 +9775,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-repo-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/interaction-limits": { parameters: { @@ -9800,16 +9800,16 @@ export interface paths { * @description Temporarily restricts interactions to a certain type of GitHub user within the given repository. You must have owner or admin access to set these restrictions. If an interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ put: operations["interactions/set-restrictions-for-repo"]; - post: never; + post?: never; /** * Remove interaction restrictions for a repository * @description Removes all interaction restrictions from the given repository. You must have owner or admin access to remove restrictions. If the interaction limit is set for the user or organization that owns this repository, you will receive a `409 Conflict` response and will not be able to use this endpoint to change the interaction limit for a single repository. */ delete: operations["interactions/remove-restrictions-for-repo"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/invitations": { parameters: { @@ -9823,13 +9823,13 @@ export interface paths { * @description When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */ get: operations["repos/list-invitations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/invitations/{invitation_id}": { parameters: { @@ -9838,16 +9838,16 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** Delete a repository invitation */ delete: operations["repos/delete-invitation"]; - options: never; - head: never; + options?: never; + head?: never; /** Update a repository invitation */ patch: operations["repos/update-invitation"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/issues": { parameters: { @@ -9866,7 +9866,7 @@ export interface paths { * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. */ get: operations["issues/list-for-repo"]; - put: never; + put?: never; /** * Create an issue * @description Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status. @@ -9874,11 +9874,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["issues/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/comments": { parameters: { @@ -9894,13 +9894,13 @@ export interface paths { * By default, issue comments are ordered by ascending ID. */ get: operations["issues/list-comments-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/comments/{comment_id}": { parameters: { @@ -9914,21 +9914,21 @@ export interface paths { * @description You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. */ get: operations["issues/get-comment"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an issue comment * @description You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. */ delete: operations["issues/delete-comment"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an issue comment * @description You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request. */ patch: operations["issues/update-comment"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": { parameters: { @@ -9942,17 +9942,17 @@ export interface paths { * @description List the reactions to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). */ get: operations["reactions/list-for-issue-comment"]; - put: never; + put?: never; /** * Create reaction for an issue comment * @description Create a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */ post: operations["reactions/create-for-issue-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": { parameters: { @@ -9961,9 +9961,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete an issue comment reaction * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id`. @@ -9971,10 +9971,10 @@ export interface paths { * Delete a reaction to an [issue comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment). */ delete: operations["reactions/delete-for-issue-comment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/events": { parameters: { @@ -9988,13 +9988,13 @@ export interface paths { * @description Lists events for a repository. */ get: operations["issues/list-events-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/events/{event_id}": { parameters: { @@ -10008,13 +10008,13 @@ export interface paths { * @description Gets a single event by the event id. */ get: operations["issues/get-event"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}": { parameters: { @@ -10038,17 +10038,17 @@ export interface paths { * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. */ get: operations["issues/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update an issue * @description Issue owners and users with push access can edit an issue. */ patch: operations["issues/update"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/assignees": { parameters: { @@ -10057,8 +10057,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Add assignees to an issue * @description Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. @@ -10069,10 +10069,10 @@ export interface paths { * @description Removes one or more assignees from an issue. */ delete: operations["issues/remove-assignees"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": { parameters: { @@ -10090,13 +10090,13 @@ export interface paths { * Otherwise a `404` status code is returned. */ get: operations["issues/check-user-can-be-assigned-to-issue"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/comments": { parameters: { @@ -10112,7 +10112,7 @@ export interface paths { * Issue comments are ordered by ascending ID. */ get: operations["issues/list-comments"]; - put: never; + put?: never; /** * Create an issue comment * @description @@ -10125,11 +10125,11 @@ export interface paths { * for details. */ post: operations["issues/create-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/events": { parameters: { @@ -10143,13 +10143,13 @@ export interface paths { * @description Lists all events for an issue. */ get: operations["issues/list-events"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/labels": { parameters: { @@ -10178,10 +10178,10 @@ export interface paths { * @description Removes all labels from an issue. */ delete: operations["issues/remove-all-labels"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": { parameters: { @@ -10190,18 +10190,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Remove a label from an issue * @description Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a `404 Not Found` status if the label does not exist. */ delete: operations["issues/remove-label"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/lock": { parameters: { @@ -10210,7 +10210,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Lock an issue * @description Users with push access can lock an issue or pull request's conversation. @@ -10218,16 +10218,16 @@ export interface paths { * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["issues/lock"]; - post: never; + post?: never; /** * Unlock an issue * @description Users with push access can unlock an issue's conversation. */ delete: operations["issues/unlock"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/reactions": { parameters: { @@ -10241,17 +10241,17 @@ export interface paths { * @description List the reactions to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). */ get: operations["reactions/list-for-issue"]; - put: never; + put?: never; /** * Create reaction for an issue * @description Create a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). A response with an HTTP `200` status means that you already added the reaction type to this issue. */ post: operations["reactions/create-for-issue"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": { parameters: { @@ -10260,9 +10260,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete an issue reaction * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`. @@ -10270,10 +10270,10 @@ export interface paths { * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue). */ delete: operations["reactions/delete-for-issue"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/issues/{issue_number}/timeline": { parameters: { @@ -10287,13 +10287,13 @@ export interface paths { * @description List all timeline events for an issue. */ get: operations["issues/list-events-for-timeline"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/keys": { parameters: { @@ -10304,17 +10304,17 @@ export interface paths { }; /** List deploy keys */ get: operations["repos/list-deploy-keys"]; - put: never; + put?: never; /** * Create a deploy key * @description You can create a read-only deploy key. */ post: operations["repos/create-deploy-key"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/keys/{key_id}": { parameters: { @@ -10325,17 +10325,17 @@ export interface paths { }; /** Get a deploy key */ get: operations["repos/get-deploy-key"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a deploy key * @description Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */ delete: operations["repos/delete-deploy-key"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/labels": { parameters: { @@ -10349,17 +10349,17 @@ export interface paths { * @description Lists all labels for a repository. */ get: operations["issues/list-labels-for-repo"]; - put: never; + put?: never; /** * Create a label * @description Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid [hexadecimal color code](http://www.color-hex.com/). */ post: operations["issues/create-label"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/labels/{name}": { parameters: { @@ -10373,21 +10373,21 @@ export interface paths { * @description Gets a label using the given name. */ get: operations["issues/get-label"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a label * @description Deletes a label using the given label name. */ delete: operations["issues/delete-label"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a label * @description Updates a label using the given label name. */ patch: operations["issues/update-label"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/languages": { parameters: { @@ -10401,13 +10401,13 @@ export interface paths { * @description Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */ get: operations["repos/list-languages"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/license": { parameters: { @@ -10423,13 +10423,13 @@ export interface paths { * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML. */ get: operations["licenses/get-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/merge-upstream": { parameters: { @@ -10438,18 +10438,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Sync a fork branch with the upstream repository * @description Sync a branch of a forked repository to keep it up-to-date with the upstream repository. */ post: operations["repos/merge-upstream"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/merges": { parameters: { @@ -10458,15 +10458,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Merge a branch */ post: operations["repos/merge"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/milestones": { parameters: { @@ -10480,17 +10480,17 @@ export interface paths { * @description Lists milestones for a repository. */ get: operations["issues/list-milestones"]; - put: never; + put?: never; /** * Create a milestone * @description Creates a milestone. */ post: operations["issues/create-milestone"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/milestones/{milestone_number}": { parameters: { @@ -10504,18 +10504,18 @@ export interface paths { * @description Gets a milestone using the given milestone number. */ get: operations["issues/get-milestone"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a milestone * @description Deletes a milestone using the given milestone number. */ delete: operations["issues/delete-milestone"]; - options: never; - head: never; + options?: never; + head?: never; /** Update a milestone */ patch: operations["issues/update-milestone"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/milestones/{milestone_number}/labels": { parameters: { @@ -10529,13 +10529,13 @@ export interface paths { * @description Lists labels for issues in a milestone. */ get: operations["issues/list-labels-for-milestone"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/notifications": { parameters: { @@ -10554,12 +10554,12 @@ export interface paths { * @description Marks all notifications in a repository as "read" for the current user. If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */ put: operations["activity/mark-repo-notifications-as-read"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages": { parameters: { @@ -10596,10 +10596,10 @@ export interface paths { * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions. */ delete: operations["repos/delete-pages-site"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages/builds": { parameters: { @@ -10615,7 +10615,7 @@ export interface paths { * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. */ get: operations["repos/list-pages-builds"]; - put: never; + put?: never; /** * Request a GitHub Pages build * @description You can request that your site be built from the latest revision on the default branch. This has the same effect as pushing a commit to your default branch, but does not require an additional commit. Manually triggering page builds can be helpful when diagnosing build warnings and failures. @@ -10623,11 +10623,11 @@ export interface paths { * Build requests are limited to one concurrent build per repository and one concurrent build per requester. If you request a build while another is still in progress, the second request will be queued until the first completes. */ post: operations["repos/request-pages-build"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages/builds/latest": { parameters: { @@ -10643,13 +10643,13 @@ export interface paths { * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. */ get: operations["repos/get-latest-pages-build"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages/builds/{build_id}": { parameters: { @@ -10665,13 +10665,13 @@ export interface paths { * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission. */ get: operations["repos/get-pages-build"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages/deployment": { parameters: { @@ -10680,8 +10680,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a GitHub Pages deployment * @description Create a GitHub Pages deployment for a repository. @@ -10689,11 +10689,11 @@ export interface paths { * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint. */ post: operations["repos/create-pages-deployment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pages/health": { parameters: { @@ -10711,13 +10711,13 @@ export interface paths { * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions. */ get: operations["repos/get-pages-health-check"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/private-vulnerability-reporting": { parameters: { @@ -10726,22 +10726,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Enable private vulnerability reporting for a repository * @description Enables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)." */ put: operations["repos/enable-private-vulnerability-reporting"]; - post: never; + post?: never; /** * Disable private vulnerability reporting for a repository * @description Disables private vulnerability reporting for a repository. The authenticated user must have admin access to the repository. For more information, see "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)". */ delete: operations["repos/disable-private-vulnerability-reporting"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/projects": { parameters: { @@ -10755,17 +10755,17 @@ export interface paths { * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ get: operations["projects/list-for-repo"]; - put: never; + put?: never; /** * Create a repository project * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ post: operations["projects/create-for-repo"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls": { parameters: { @@ -10779,7 +10779,7 @@ export interface paths { * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ get: operations["pulls/list"]; - put: never; + put?: never; /** * Create a pull request * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -10789,11 +10789,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details. */ post: operations["pulls/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/comments": { parameters: { @@ -10807,13 +10807,13 @@ export interface paths { * @description Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */ get: operations["pulls/list-review-comments-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/comments/{comment_id}": { parameters: { @@ -10827,21 +10827,21 @@ export interface paths { * @description Provides details for a review comment. */ get: operations["pulls/get-review-comment"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a review comment for a pull request * @description Deletes a review comment. */ delete: operations["pulls/delete-review-comment"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a review comment for a pull request * @description Enables you to edit a review comment. */ patch: operations["pulls/update-review-comment"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": { parameters: { @@ -10855,17 +10855,17 @@ export interface paths { * @description List the reactions to a [pull request review comment](https://docs.github.com/pulls/comments#get-a-review-comment-for-a-pull-request). */ get: operations["reactions/list-for-pull-request-review-comment"]; - put: never; + put?: never; /** * Create reaction for a pull request review comment * @description Create a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */ post: operations["reactions/create-for-pull-request-review-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": { parameters: { @@ -10874,9 +10874,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a pull request comment reaction * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.` @@ -10884,10 +10884,10 @@ export interface paths { * Delete a reaction to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request). */ delete: operations["reactions/delete-for-pull-request-comment"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}": { parameters: { @@ -10915,11 +10915,11 @@ export interface paths { * Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats. */ get: operations["pulls/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a pull request * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. @@ -10927,7 +10927,7 @@ export interface paths { * To open or update a pull request in a public repository, you must have write access to the head or the source branch. For organization-owned repositories, you must be a member of the organization that owns the repository to open or update a pull request. */ patch: operations["pulls/update"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": { parameters: { @@ -10936,8 +10936,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a codespace from a pull request * @description Creates a codespace owned by the authenticated user for the specified pull request. @@ -10947,11 +10947,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ post: operations["codespaces/create-with-pr-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/comments": { parameters: { @@ -10965,7 +10965,7 @@ export interface paths { * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */ get: operations["pulls/list-review-comments"]; - put: never; + put?: never; /** * Create a review comment for a pull request * @description @@ -10978,11 +10978,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["pulls/create-review-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": { parameters: { @@ -10991,8 +10991,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a reply for a review comment * @description Creates a reply to a review comment for a pull request. For the `comment_id`, provide the ID of the review comment you are replying to. This must be the ID of a _top-level review comment_, not a reply to that comment. Replies to replies are not supported. @@ -11000,11 +11000,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["pulls/create-reply-for-review-comment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { parameters: { @@ -11018,13 +11018,13 @@ export interface paths { * @description Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/commits/commits#list-commits) endpoint. */ get: operations["pulls/list-commits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/files": { parameters: { @@ -11038,13 +11038,13 @@ export interface paths { * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */ get: operations["pulls/list-files"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/merge": { parameters: { @@ -11064,12 +11064,12 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ put: operations["pulls/merge"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": { parameters: { @@ -11083,7 +11083,7 @@ export interface paths { * @description Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. */ get: operations["pulls/list-requested-reviewers"]; - put: never; + put?: never; /** * Request reviewers for a pull request * @description Requests reviews for a pull request from a given set of users and/or teams. @@ -11095,10 +11095,10 @@ export interface paths { * @description Removes review requests from a pull request for a given set of users and/or teams. */ delete: operations["pulls/remove-requested-reviewers"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/reviews": { parameters: { @@ -11112,7 +11112,7 @@ export interface paths { * @description The list of reviews returns in chronological order. */ get: operations["pulls/list-reviews"]; - put: never; + put?: never; /** * Create a review for a pull request * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. @@ -11124,11 +11124,11 @@ export interface paths { * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file. */ post: operations["pulls/create-review"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": { parameters: { @@ -11147,16 +11147,16 @@ export interface paths { * @description Update the review summary comment with new text. */ put: operations["pulls/update-review"]; - post: never; + post?: never; /** * Delete a pending review for a pull request * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted. */ delete: operations["pulls/delete-pending-review"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": { parameters: { @@ -11170,13 +11170,13 @@ export interface paths { * @description List comments for a specific pull request review. */ get: operations["pulls/list-comments-for-review"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": { parameters: { @@ -11185,18 +11185,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Dismiss a review for a pull request * @description **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/branches/branch-protection), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */ put: operations["pulls/dismiss-review"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": { parameters: { @@ -11205,18 +11205,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Submit a review for a pull request * @description Submits a pending review for a pull request. For more information about creating a pending review for a pull request, see "[Create a review for a pull request](https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request)." */ post: operations["pulls/submit-review"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { parameters: { @@ -11225,18 +11225,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Update a pull request branch * @description Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */ put: operations["pulls/update-branch"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/readme": { parameters: { @@ -11252,13 +11252,13 @@ export interface paths { * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. */ get: operations["repos/get-readme"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/readme/{dir}": { parameters: { @@ -11274,13 +11274,13 @@ export interface paths { * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML. */ get: operations["repos/get-readme-in-directory"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases": { parameters: { @@ -11296,7 +11296,7 @@ export interface paths { * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. */ get: operations["repos/list-releases"]; - put: never; + put?: never; /** * Create a release * @description Users with push access to the repository can create a release. @@ -11304,11 +11304,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["repos/create-release"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/assets/{asset_id}": { parameters: { @@ -11322,18 +11322,18 @@ export interface paths { * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */ get: operations["repos/get-release-asset"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a release asset */ delete: operations["repos/delete-release-asset"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a release asset * @description Users with push access to the repository can edit a release asset. */ patch: operations["repos/update-release-asset"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/generate-notes": { parameters: { @@ -11342,18 +11342,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Generate release notes content for a release * @description Generate a name and body describing a [release](https://docs.github.com/rest/releases/releases#get-a-release). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */ post: operations["repos/generate-release-notes"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/latest": { parameters: { @@ -11369,13 +11369,13 @@ export interface paths { * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. */ get: operations["repos/get-latest-release"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/tags/{tag}": { parameters: { @@ -11389,13 +11389,13 @@ export interface paths { * @description Get a published release with the specified tag. */ get: operations["repos/get-release-by-tag"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/{release_id}": { parameters: { @@ -11409,21 +11409,21 @@ export interface paths { * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */ get: operations["repos/get-release"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a release * @description Users with push access to the repository can delete a release. */ delete: operations["repos/delete-release"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a release * @description Users with push access to the repository can edit a release. */ patch: operations["repos/update-release"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/{release_id}/assets": { parameters: { @@ -11434,7 +11434,7 @@ export interface paths { }; /** List release assets */ get: operations["repos/list-release-assets"]; - put: never; + put?: never; /** * Upload a release asset * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in @@ -11458,11 +11458,11 @@ export interface paths { * * If you upload an asset with the same filename as another uploaded asset, you'll receive an error and must delete the old file before you can re-upload the new asset. */ post: operations["repos/upload-release-asset"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/{release_id}/reactions": { parameters: { @@ -11476,17 +11476,17 @@ export interface paths { * @description List the reactions to a [release](https://docs.github.com/rest/releases/releases#get-a-release). */ get: operations["reactions/list-for-release"]; - put: never; + put?: never; /** * Create reaction for a release * @description Create a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */ post: operations["reactions/create-for-release"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": { parameters: { @@ -11495,9 +11495,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a release reaction * @description **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`. @@ -11505,10 +11505,10 @@ export interface paths { * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release). */ delete: operations["reactions/delete-for-release"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/rules/branches/{branch}": { parameters: { @@ -11525,13 +11525,13 @@ export interface paths { * enforcement statuses are not returned. */ get: operations["repos/get-branch-rules"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/rulesets": { parameters: { @@ -11545,17 +11545,17 @@ export interface paths { * @description Get all the rulesets for a repository. */ get: operations["repos/get-repo-rulesets"]; - put: never; + put?: never; /** * Create a repository ruleset * @description Create a ruleset for a repository. */ post: operations["repos/create-repo-ruleset"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/rulesets/rule-suites": { parameters: { @@ -11570,13 +11570,13 @@ export interface paths { * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." */ get: operations["repos/get-repo-rule-suites"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": { parameters: { @@ -11591,13 +11591,13 @@ export interface paths { * For more information, see "[Managing rulesets for a repository](https://docs.github.com/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository#viewing-insights-for-rulesets)." */ get: operations["repos/get-repo-rule-suite"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/rulesets/{ruleset_id}": { parameters: { @@ -11616,16 +11616,16 @@ export interface paths { * @description Update a ruleset for a repository. */ put: operations["repos/update-repo-ruleset"]; - post: never; + post?: never; /** * Delete a repository ruleset * @description Delete a ruleset for a repository. */ delete: operations["repos/delete-repo-ruleset"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/secret-scanning/alerts": { parameters: { @@ -11643,13 +11643,13 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/list-alerts-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { parameters: { @@ -11667,11 +11667,11 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/get-alert"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a secret scanning alert * @description Updates the status of a secret scanning alert in an eligible repository. @@ -11681,7 +11681,7 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. */ patch: operations["secret-scanning/update-alert"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": { parameters: { @@ -11699,13 +11699,13 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/list-locations-for-alert"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/security-advisories": { parameters: { @@ -11723,7 +11723,7 @@ export interface paths { * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory. */ get: operations["security-advisories/list-repository-advisories"]; - put: never; + put?: never; /** * Create a repository security advisory * @description Creates a new repository security advisory. @@ -11732,11 +11732,11 @@ export interface paths { * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository. */ post: operations["security-advisories/create-repository-advisory"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/security-advisories/reports": { parameters: { @@ -11745,19 +11745,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Privately report a security vulnerability * @description Report a security vulnerability to the maintainers of the repository. * See "[Privately reporting a security vulnerability](https://docs.github.com/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability)" for more information about private vulnerability reporting. */ post: operations["security-advisories/create-private-vulnerability-report"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": { parameters: { @@ -11777,11 +11777,11 @@ export interface paths { * collaborator on the security advisory. */ get: operations["security-advisories/get-repository-advisory"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a repository security advisory * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier. @@ -11791,7 +11791,7 @@ export interface paths { * or a collaborator on the repository security advisory. */ patch: operations["security-advisories/update-repository-advisory"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": { parameters: { @@ -11800,8 +11800,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Request a CVE for a repository security advisory * @description If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. For more information see "[Requesting a CVE identification number](https://docs.github.com/code-security/security-advisories/repository-security-advisories/publishing-a-repository-security-advisory#requesting-a-cve-identification-number-optional)." @@ -11813,11 +11813,11 @@ export interface paths { * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository. */ post: operations["security-advisories/create-repository-advisory-cve-request"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stargazers": { parameters: { @@ -11833,13 +11833,13 @@ export interface paths { * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ get: operations["activity/list-stargazers-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stats/code_frequency": { parameters: { @@ -11853,13 +11853,13 @@ export interface paths { * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */ get: operations["repos/get-code-frequency-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stats/commit_activity": { parameters: { @@ -11873,13 +11873,13 @@ export interface paths { * @description Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */ get: operations["repos/get-commit-activity-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stats/contributors": { parameters: { @@ -11899,13 +11899,13 @@ export interface paths { * * `c` - Number of commits */ get: operations["repos/get-contributors-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stats/participation": { parameters: { @@ -11923,13 +11923,13 @@ export interface paths { * The most recent week is seven days ago at UTC midnight to today at UTC midnight. */ get: operations["repos/get-participation-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/stats/punch_card": { parameters: { @@ -11949,13 +11949,13 @@ export interface paths { * For example, `[2, 14, 25]` indicates that there were 25 total commits, during the 2:00pm hour on Tuesdays. All times are based on the time zone of individual commits. */ get: operations["repos/get-punch-card-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/statuses/{sha}": { parameters: { @@ -11964,8 +11964,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a commit status * @description Users with push access in a repository can create commit statuses for a given SHA. @@ -11973,11 +11973,11 @@ export interface paths { * Note: there is a limit of 1000 statuses per `sha` and `context` within a repository. Attempts to create more than 1000 statuses will result in a validation error. */ post: operations["repos/create-commit-status"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/subscribers": { parameters: { @@ -11991,13 +11991,13 @@ export interface paths { * @description Lists the people watching the specified repository. */ get: operations["activity/list-watchers-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/subscription": { parameters: { @@ -12016,16 +12016,16 @@ export interface paths { * @description If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/activity/watching#delete-a-repository-subscription) completely. */ put: operations["activity/set-repo-subscription"]; - post: never; + post?: never; /** * Delete a repository subscription * @description This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/activity/watching#set-a-repository-subscription). */ delete: operations["activity/delete-repo-subscription"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/tags": { parameters: { @@ -12036,13 +12036,13 @@ export interface paths { }; /** List repository tags */ get: operations["repos/list-tags"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/tags/protection": { parameters: { @@ -12058,18 +12058,18 @@ export interface paths { * This information is only available to repository administrators. */ get: operations["repos/list-tag-protection"]; - put: never; + put?: never; /** * Create a tag protection state for a repository * @description This creates a tag protection state for a repository. * This endpoint is only available to repository administrators. */ post: operations["repos/create-tag-protection"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": { parameters: { @@ -12078,19 +12078,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a tag protection state for a repository * @description This deletes a tag protection state for a repository. * This endpoint is only available to repository administrators. */ delete: operations["repos/delete-tag-protection"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/tarball/{ref}": { parameters: { @@ -12107,13 +12107,13 @@ export interface paths { * **Note**: For private repositories, these links are temporary and expire after five minutes. */ get: operations["repos/download-tarball-archive"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/teams": { parameters: { @@ -12135,13 +12135,13 @@ export interface paths { * This endpoint is not compatible with fine-grained personal access tokens. */ get: operations["repos/list-teams"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/topics": { parameters: { @@ -12154,12 +12154,12 @@ export interface paths { get: operations["repos/get-all-topics"]; /** Replace all repository topics */ put: operations["repos/replace-all-topics"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/traffic/clones": { parameters: { @@ -12173,13 +12173,13 @@ export interface paths { * @description Get the total number of clones and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ get: operations["repos/get-clones"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/traffic/popular/paths": { parameters: { @@ -12193,13 +12193,13 @@ export interface paths { * @description Get the top 10 popular contents over the last 14 days. */ get: operations["repos/get-top-paths"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/traffic/popular/referrers": { parameters: { @@ -12213,13 +12213,13 @@ export interface paths { * @description Get the top 10 referrers over the last 14 days. */ get: operations["repos/get-top-referrers"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/traffic/views": { parameters: { @@ -12233,13 +12233,13 @@ export interface paths { * @description Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. */ get: operations["repos/get-views"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/transfer": { parameters: { @@ -12248,19 +12248,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Transfer a repository * @description A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account. */ post: operations["repos/transfer"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/vulnerability-alerts": { parameters: { @@ -12279,7 +12279,7 @@ export interface paths { * @description Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". */ put: operations["repos/enable-vulnerability-alerts"]; - post: never; + post?: never; /** * Disable vulnerability alerts * @description Disables dependency alerts and the dependency graph for a repository. @@ -12287,10 +12287,10 @@ export interface paths { * see "[About security alerts for vulnerable dependencies](https://docs.github.com/articles/about-security-alerts-for-vulnerable-dependencies)". */ delete: operations["repos/disable-vulnerability-alerts"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/zipball/{ref}": { parameters: { @@ -12308,13 +12308,13 @@ export interface paths { * **Note**: For private repositories, these links are temporary and expire after five minutes. If the repository is empty, you will receive a 404 when you follow the redirect. */ get: operations["repos/download-zipball-archive"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{template_owner}/{template_repo}/generate": { parameters: { @@ -12323,8 +12323,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a repository using a template * @description Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`. @@ -12337,11 +12337,11 @@ export interface paths { * * `repo` scope to create a private repository */ post: operations["repos/create-using-template"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories": { parameters: { @@ -12359,13 +12359,13 @@ export interface paths { * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of repositories. */ get: operations["repos/list-public"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories/{repository_id}/environments/{environment_name}/secrets": { parameters: { @@ -12384,13 +12384,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/list-environment-secrets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": { parameters: { @@ -12410,13 +12410,13 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ get: operations["actions/get-environment-public-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": { parameters: { @@ -12444,7 +12444,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ put: operations["actions/create-or-update-environment-secret"]; - post: never; + post?: never; /** * Delete an environment secret * @description Deletes a secret in an environment using the secret name. @@ -12454,10 +12454,10 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read secrets. */ delete: operations["actions/delete-environment-secret"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories/{repository_id}/environments/{environment_name}/variables": { parameters: { @@ -12475,7 +12475,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/list-environment-variables"]; - put: never; + put?: never; /** * Create an environment variable * @description Create an environment variable that you can reference in a GitHub Actions workflow. @@ -12485,11 +12485,11 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ post: operations["actions/create-environment-variable"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repositories/{repository_id}/environments/{environment_name}/variables/{name}": { parameters: { @@ -12507,8 +12507,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ get: operations["actions/get-environment-variable"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an environment variable * @description Deletes an environment variable using the variable name. @@ -12518,8 +12518,8 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ delete: operations["actions/delete-environment-variable"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an environment variable * @description Updates an environment variable that you can reference in a GitHub Actions workflow. @@ -12529,7 +12529,7 @@ export interface paths { * Authenticated users must have collaborator access to a repository to create, update, or read variables. */ patch: operations["actions/update-environment-variable"]; - trace: never; + trace?: never; }; "/search/code": { parameters: { @@ -12562,13 +12562,13 @@ export interface paths { * This endpoint requires you to authenticate and limits you to 10 requests per minute. */ get: operations["search/code"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/commits": { parameters: { @@ -12589,13 +12589,13 @@ export interface paths { * `q=repo:octocat/Spoon-Knife+css` */ get: operations["search/commits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/issues": { parameters: { @@ -12620,13 +12620,13 @@ export interface paths { * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)." */ get: operations["search/issues-and-pull-requests"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/labels": { parameters: { @@ -12648,13 +12648,13 @@ export interface paths { * The labels that best match the query appear first in the search results. */ get: operations["search/labels"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/repositories": { parameters: { @@ -12676,13 +12676,13 @@ export interface paths { * This query searches for repositories with the word `tetris` in the name, the description, or the README. The results are limited to repositories where the primary language is assembly. The results are sorted by stars in descending order, so that the most popular repositories appear first in the search results. */ get: operations["search/repos"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/topics": { parameters: { @@ -12704,13 +12704,13 @@ export interface paths { * This query searches for topics with the keyword `ruby` and limits the results to find only topics that are featured. The topics that are the best match for the query appear first in the search results. */ get: operations["search/topics"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/search/users": { parameters: { @@ -12734,13 +12734,13 @@ export interface paths { * This endpoint does not accept authentication and will only include publicly visible users. As an alternative, you can use the GraphQL API. The GraphQL API requires authentication and will return private users, including Enterprise Managed Users (EMUs), that you are authorized to view. For more information, see "[GraphQL Queries](https://docs.github.com/graphql/reference/queries#search)." */ get: operations["search/users"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}": { parameters: { @@ -12755,8 +12755,8 @@ export interface paths { * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint. */ get: operations["teams/get-legacy"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a team (Legacy) * @deprecated @@ -12767,8 +12767,8 @@ export interface paths { * If you are an organization owner, deleting a parent team will delete all of its child teams as well. */ delete: operations["teams/delete-legacy"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a team (Legacy) * @deprecated @@ -12779,7 +12779,7 @@ export interface paths { * **Note:** With nested teams, the `privacy` for parent teams cannot be `secret`. */ patch: operations["teams/update-legacy"]; - trace: never; + trace?: never; }; "/teams/{team_id}/discussions": { parameters: { @@ -12796,7 +12796,7 @@ export interface paths { * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["teams/list-discussions-legacy"]; - put: never; + put?: never; /** * Create a discussion (Legacy) * @deprecated @@ -12807,11 +12807,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["teams/create-discussion-legacy"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/discussions/{discussion_number}": { parameters: { @@ -12828,8 +12828,8 @@ export interface paths { * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["teams/get-discussion-legacy"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a discussion (Legacy) * @deprecated @@ -12838,8 +12838,8 @@ export interface paths { * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["teams/delete-discussion-legacy"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a discussion (Legacy) * @deprecated @@ -12848,7 +12848,7 @@ export interface paths { * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ patch: operations["teams/update-discussion-legacy"]; - trace: never; + trace?: never; }; "/teams/{team_id}/discussions/{discussion_number}/comments": { parameters: { @@ -12865,7 +12865,7 @@ export interface paths { * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["teams/list-discussion-comments-legacy"]; - put: never; + put?: never; /** * Create a discussion comment (Legacy) * @deprecated @@ -12876,11 +12876,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["teams/create-discussion-comment-legacy"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": { parameters: { @@ -12897,8 +12897,8 @@ export interface paths { * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["teams/get-discussion-comment-legacy"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a discussion comment (Legacy) * @deprecated @@ -12907,8 +12907,8 @@ export interface paths { * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["teams/delete-discussion-comment-legacy"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a discussion comment (Legacy) * @deprecated @@ -12917,7 +12917,7 @@ export interface paths { * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ patch: operations["teams/update-discussion-comment-legacy"]; - trace: never; + trace?: never; }; "/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": { parameters: { @@ -12934,7 +12934,7 @@ export interface paths { * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["reactions/list-for-team-discussion-comment-legacy"]; - put: never; + put?: never; /** * Create reaction for a team discussion comment (Legacy) * @deprecated @@ -12943,11 +12943,11 @@ export interface paths { * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment. */ post: operations["reactions/create-for-team-discussion-comment-legacy"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/discussions/{discussion_number}/reactions": { parameters: { @@ -12964,7 +12964,7 @@ export interface paths { * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["reactions/list-for-team-discussion-legacy"]; - put: never; + put?: never; /** * Create reaction for a team discussion (Legacy) * @deprecated @@ -12973,11 +12973,11 @@ export interface paths { * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion. */ post: operations["reactions/create-for-team-discussion-legacy"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/invitations": { parameters: { @@ -12994,13 +12994,13 @@ export interface paths { * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */ get: operations["teams/list-pending-invitations-legacy"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/members": { parameters: { @@ -13017,13 +13017,13 @@ export interface paths { * Team members will include the members of child teams. */ get: operations["teams/list-members-legacy"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/members/{username}": { parameters: { @@ -13058,7 +13058,7 @@ export interface paths { * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["teams/add-member-legacy"]; - post: never; + post?: never; /** * Remove team member (Legacy) * @deprecated @@ -13073,10 +13073,10 @@ export interface paths { * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." */ delete: operations["teams/remove-member-legacy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/memberships/{username}": { parameters: { @@ -13116,7 +13116,7 @@ export interface paths { * If the user is already a member of the team, this endpoint will update the role of the team member's role. To update the membership of a team member, the authenticated user must be an organization owner or a team maintainer. */ put: operations["teams/add-or-update-membership-for-user-legacy"]; - post: never; + post?: never; /** * Remove team membership for a user (Legacy) * @deprecated @@ -13129,10 +13129,10 @@ export interface paths { * **Note:** When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)." */ delete: operations["teams/remove-membership-for-user-legacy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/projects": { parameters: { @@ -13149,13 +13149,13 @@ export interface paths { * Lists the organization projects for a team. */ get: operations["teams/list-projects-legacy"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/projects/{project_id}": { parameters: { @@ -13180,7 +13180,7 @@ export interface paths { * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization. */ put: operations["teams/add-or-update-project-permissions-legacy"]; - post: never; + post?: never; /** * Remove a project from a team (Legacy) * @deprecated @@ -13189,10 +13189,10 @@ export interface paths { * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it. */ delete: operations["teams/remove-project-legacy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/repos": { parameters: { @@ -13207,13 +13207,13 @@ export interface paths { * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint. */ get: operations["teams/list-repos-legacy"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/repos/{owner}/{repo}": { parameters: { @@ -13242,7 +13242,7 @@ export interface paths { * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["teams/add-or-update-repo-permissions-legacy"]; - post: never; + post?: never; /** * Remove a repository from a team (Legacy) * @deprecated @@ -13251,10 +13251,10 @@ export interface paths { * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team. */ delete: operations["teams/remove-repo-legacy"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/teams/{team_id}/teams": { parameters: { @@ -13269,13 +13269,13 @@ export interface paths { * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint. */ get: operations["teams/list-child-legacy"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user": { parameters: { @@ -13291,17 +13291,17 @@ export interface paths { * If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information. */ get: operations["users/get-authenticated"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update the authenticated user * @description **Note:** If your email is set to private and you send an `email` parameter as part of this request to update your profile, your privacy settings are still enforced: the email address will not be displayed on your public profile or via the API. */ patch: operations["users/update-authenticated"]; - trace: never; + trace?: never; }; "/user/blocks": { parameters: { @@ -13315,13 +13315,13 @@ export interface paths { * @description List the users you've blocked on your personal account. */ get: operations["users/list-blocked-by-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/blocks/{username}": { parameters: { @@ -13340,16 +13340,16 @@ export interface paths { * @description Blocks the given user and returns a 204. If the authenticated user cannot block the given user a 422 is returned. */ put: operations["users/block"]; - post: never; + post?: never; /** * Unblock a user * @description Unblocks the given user and returns a 204. */ delete: operations["users/unblock"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces": { parameters: { @@ -13367,7 +13367,7 @@ export interface paths { * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ get: operations["codespaces/list-for-authenticated-user"]; - put: never; + put?: never; /** * Create a codespace for the authenticated user * @description Creates a new codespace, owned by the authenticated user. @@ -13379,11 +13379,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ post: operations["codespaces/create-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/secrets": { parameters: { @@ -13402,13 +13402,13 @@ export interface paths { * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. */ get: operations["codespaces/list-secrets-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/secrets/public-key": { parameters: { @@ -13426,13 +13426,13 @@ export interface paths { * GitHub Apps must have read access to the `codespaces_user_secrets` user permission to use this endpoint. */ get: operations["codespaces/get-public-key-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/secrets/{secret_name}": { parameters: { @@ -13460,7 +13460,7 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. */ put: operations["codespaces/create-or-update-secret-for-authenticated-user"]; - post: never; + post?: never; /** * Delete a secret for the authenticated user * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret. @@ -13470,10 +13470,10 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. */ delete: operations["codespaces/delete-secret-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/secrets/{secret_name}/repositories": { parameters: { @@ -13500,12 +13500,12 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on all referenced repositories to use this endpoint. */ put: operations["codespaces/set-repositories-for-secret-for-authenticated-user"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": { parameters: { @@ -13514,7 +13514,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add a selected repository to a user secret * @description Adds a repository to the selected repositories for a user's codespace secret. @@ -13522,7 +13522,7 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint. */ put: operations["codespaces/add-repository-for-secret-for-authenticated-user"]; - post: never; + post?: never; /** * Remove a selected repository from a user secret * @description Removes a repository from the selected repositories for a user's codespace secret. @@ -13530,10 +13530,10 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint. */ delete: operations["codespaces/remove-repository-for-secret-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}": { parameters: { @@ -13551,8 +13551,8 @@ export interface paths { * GitHub Apps must have read access to the `codespaces` repository permission to use this endpoint. */ get: operations["codespaces/get-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a codespace for the authenticated user * @description Deletes a user's codespace. @@ -13562,8 +13562,8 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ delete: operations["codespaces/delete-for-authenticated-user"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a codespace for the authenticated user * @description Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint. @@ -13575,7 +13575,7 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ patch: operations["codespaces/update-for-authenticated-user"]; - trace: never; + trace?: never; }; "/user/codespaces/{codespace_name}/exports": { parameters: { @@ -13584,8 +13584,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Export a codespace for the authenticated user * @description Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored. @@ -13597,11 +13597,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ post: operations["codespaces/export-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}/exports/{export_id}": { parameters: { @@ -13619,13 +13619,13 @@ export interface paths { * GitHub Apps must have read access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ get: operations["codespaces/get-export-details-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}/machines": { parameters: { @@ -13643,13 +13643,13 @@ export interface paths { * GitHub Apps must have read access to the `codespaces_metadata` repository permission to use this endpoint. */ get: operations["codespaces/codespace-machines-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}/publish": { parameters: { @@ -13658,8 +13658,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a repository from an unpublished codespace * @description Publishes an unpublished codespace, creating a new repository and assigning it to the codespace. @@ -13673,11 +13673,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint. */ post: operations["codespaces/publish-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}/start": { parameters: { @@ -13686,8 +13686,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Start a codespace for the authenticated user * @description Starts a user's codespace. @@ -13697,11 +13697,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ post: operations["codespaces/start-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/codespaces/{codespace_name}/stop": { parameters: { @@ -13710,8 +13710,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Stop a codespace for the authenticated user * @description Stops a user's codespace. @@ -13721,11 +13721,11 @@ export interface paths { * GitHub Apps must have write access to the `codespaces_lifecycle_admin` repository permission to use this endpoint. */ post: operations["codespaces/stop-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/docker/conflicts": { parameters: { @@ -13740,13 +13740,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. */ get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/email/visibility": { parameters: { @@ -13755,18 +13755,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Set primary email visibility for the authenticated user * @description Sets the visibility for your primary email addresses. */ patch: operations["users/set-primary-email-visibility-for-authenticated-user"]; - trace: never; + trace?: never; }; "/user/emails": { parameters: { @@ -13780,7 +13780,7 @@ export interface paths { * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */ get: operations["users/list-emails-for-authenticated-user"]; - put: never; + put?: never; /** * Add an email address for the authenticated user * @description This endpoint is accessible with the `user` scope. @@ -13791,10 +13791,10 @@ export interface paths { * @description This endpoint is accessible with the `user` scope. */ delete: operations["users/delete-email-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/followers": { parameters: { @@ -13808,13 +13808,13 @@ export interface paths { * @description Lists the people following the authenticated user. */ get: operations["users/list-followers-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/following": { parameters: { @@ -13828,13 +13828,13 @@ export interface paths { * @description Lists the people who the authenticated user follows. */ get: operations["users/list-followed-by-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/following/{username}": { parameters: { @@ -13852,16 +13852,16 @@ export interface paths { * Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ put: operations["users/follow"]; - post: never; + post?: never; /** * Unfollow a user * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */ delete: operations["users/unfollow"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/gpg_keys": { parameters: { @@ -13875,17 +13875,17 @@ export interface paths { * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["users/list-gpg-keys-for-authenticated-user"]; - put: never; + put?: never; /** * Create a GPG key for the authenticated user * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ post: operations["users/create-gpg-key-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/gpg_keys/{gpg_key_id}": { parameters: { @@ -13899,17 +13899,17 @@ export interface paths { * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["users/get-gpg-key-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a GPG key for the authenticated user * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["users/delete-gpg-key-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/installations": { parameters: { @@ -13929,13 +13929,13 @@ export interface paths { * You can find the permissions for the installation under the `permissions` key. */ get: operations["apps/list-installations-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/installations/{installation_id}/repositories": { parameters: { @@ -13955,13 +13955,13 @@ export interface paths { * The access the user has to each repository is included in the hash under the `permissions` key. */ get: operations["apps/list-installation-repos-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/installations/{installation_id}/repositories/{repository_id}": { parameters: { @@ -13970,7 +13970,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Add a repository to an app installation * @description Add a single repository to an installation. The authenticated user must have admin access to the repository. @@ -13978,7 +13978,7 @@ export interface paths { * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. */ put: operations["apps/add-repo-to-installation-for-authenticated-user"]; - post: never; + post?: never; /** * Remove a repository from an app installation * @description Remove a single repository from an installation. The authenticated user must have admin access to the repository. The installation must have the `repository_selection` of `selected`. @@ -13986,10 +13986,10 @@ export interface paths { * You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint. */ delete: operations["apps/remove-repo-from-installation-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/interaction-limits": { parameters: { @@ -14008,16 +14008,16 @@ export interface paths { * @description Temporarily restricts which type of GitHub user can interact with your public repositories. Setting the interaction limit at the user level will overwrite any interaction limits that are set for individual repositories owned by the user. */ put: operations["interactions/set-restrictions-for-authenticated-user"]; - post: never; + post?: never; /** * Remove interaction restrictions from your public repositories * @description Removes any interaction restrictions from your public repositories. */ delete: operations["interactions/remove-restrictions-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/issues": { parameters: { @@ -14036,13 +14036,13 @@ export interface paths { * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint. */ get: operations["issues/list-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/keys": { parameters: { @@ -14056,17 +14056,17 @@ export interface paths { * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["users/list-public-ssh-keys-for-authenticated-user"]; - put: never; + put?: never; /** * Create a public SSH key for the authenticated user * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ post: operations["users/create-public-ssh-key-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/keys/{key_id}": { parameters: { @@ -14080,17 +14080,17 @@ export interface paths { * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ get: operations["users/get-public-ssh-key-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a public SSH key for the authenticated user * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */ delete: operations["users/delete-public-ssh-key-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/marketplace_purchases": { parameters: { @@ -14104,13 +14104,13 @@ export interface paths { * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). */ get: operations["apps/list-subscriptions-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/marketplace_purchases/stubbed": { parameters: { @@ -14124,13 +14124,13 @@ export interface paths { * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps). */ get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/memberships/orgs": { parameters: { @@ -14144,13 +14144,13 @@ export interface paths { * @description Lists all of the authenticated user's organization memberships. */ get: operations["orgs/list-memberships-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/memberships/orgs/{org}": { parameters: { @@ -14164,17 +14164,17 @@ export interface paths { * @description If the authenticated user is an active or pending member of the organization, this endpoint will return the user's membership. If the authenticated user is not affiliated with the organization, a `404` is returned. This endpoint will return a `403` if the request is made by a GitHub App that is blocked by the organization. */ get: operations["orgs/get-membership-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update an organization membership for the authenticated user * @description Converts the authenticated user to an active member of the organization, if that user has a pending invitation from the organization. */ patch: operations["orgs/update-membership-for-authenticated-user"]; - trace: never; + trace?: never; }; "/user/migrations": { parameters: { @@ -14188,17 +14188,17 @@ export interface paths { * @description Lists all migrations a user has started. */ get: operations["migrations/list-for-authenticated-user"]; - put: never; + put?: never; /** * Start a user migration * @description Initiates the generation of a user migration archive. */ post: operations["migrations/start-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/migrations/{migration_id}": { parameters: { @@ -14219,13 +14219,13 @@ export interface paths { * Once the migration has been `exported` you can [download the migration archive](https://docs.github.com/rest/migrations/users#download-a-user-migration-archive). */ get: operations["migrations/get-status-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/migrations/{migration_id}/archive": { parameters: { @@ -14259,17 +14259,17 @@ export interface paths { * The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data. */ get: operations["migrations/get-archive-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a user migration archive * @description Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/migrations/users#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/migrations/users#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. */ delete: operations["migrations/delete-archive-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/migrations/{migration_id}/repos/{repo_name}/lock": { parameters: { @@ -14278,18 +14278,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Unlock a user repository * @description Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/migrations/users#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/repos/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */ delete: operations["migrations/unlock-repo-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/migrations/{migration_id}/repositories": { parameters: { @@ -14303,13 +14303,13 @@ export interface paths { * @description Lists all the repositories for this user migration. */ get: operations["migrations/list-repos-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/orgs": { parameters: { @@ -14327,13 +14327,13 @@ export interface paths { * This only lists organizations that your authorization allows you to operate on in some way (e.g., you can list teams with `read:org` scope, you can publicize your organization membership with `user` scope, etc.). Therefore, this API requires at least `user` or `read:org` scope. OAuth requests with insufficient scope receive a `403 Forbidden` response. */ get: operations["orgs/list-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages": { parameters: { @@ -14349,13 +14349,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/list-packages-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages/{package_type}/{package_name}": { parameters: { @@ -14371,8 +14371,8 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a package for the authenticated user * @description Deletes a package owned by the authenticated user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. @@ -14381,10 +14381,10 @@ export interface paths { * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ delete: operations["packages/delete-package-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages/{package_type}/{package_name}/restore": { parameters: { @@ -14393,8 +14393,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore a package for the authenticated user * @description Restores a package owned by the authenticated user. @@ -14406,11 +14406,11 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ post: operations["packages/restore-package-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages/{package_type}/{package_name}/versions": { parameters: { @@ -14426,13 +14426,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-all-package-versions-for-package-owned-by-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages/{package_type}/{package_name}/versions/{package_version_id}": { parameters: { @@ -14448,8 +14448,8 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-version-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a package version for the authenticated user * @description Deletes a specific package version for a package owned by the authenticated user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. @@ -14458,10 +14458,10 @@ export interface paths { * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ delete: operations["packages/delete-package-version-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { parameters: { @@ -14470,8 +14470,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore a package version for the authenticated user * @description Restores a package version owned by the authenticated user. @@ -14483,11 +14483,11 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ post: operations["packages/restore-package-version-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/projects": { parameters: { @@ -14496,18 +14496,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a user project * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */ post: operations["projects/create-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/public_emails": { parameters: { @@ -14521,13 +14521,13 @@ export interface paths { * @description Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/users/emails#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */ get: operations["users/list-public-emails-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/repos": { parameters: { @@ -14543,7 +14543,7 @@ export interface paths { * The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership. */ get: operations["repos/list-for-authenticated-user"]; - put: never; + put?: never; /** * Create a repository for the authenticated user * @description Creates a new repository for the authenticated user. @@ -14556,11 +14556,11 @@ export interface paths { * * `repo` scope to create a private repository. */ post: operations["repos/create-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/repository_invitations": { parameters: { @@ -14574,13 +14574,13 @@ export interface paths { * @description When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */ get: operations["repos/list-invitations-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/repository_invitations/{invitation_id}": { parameters: { @@ -14589,16 +14589,16 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** Decline a repository invitation */ delete: operations["repos/decline-invitation-for-authenticated-user"]; - options: never; - head: never; + options?: never; + head?: never; /** Accept a repository invitation */ patch: operations["repos/accept-invitation-for-authenticated-user"]; - trace: never; + trace?: never; }; "/user/social_accounts": { parameters: { @@ -14612,7 +14612,7 @@ export interface paths { * @description Lists all of your social accounts. */ get: operations["users/list-social-accounts-for-authenticated-user"]; - put: never; + put?: never; /** * Add social accounts for the authenticated user * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope. @@ -14623,10 +14623,10 @@ export interface paths { * @description Deletes one or more social accounts from the authenticated user's profile. This endpoint is accessible with the `user` scope. */ delete: operations["users/delete-social-account-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/ssh_signing_keys": { parameters: { @@ -14640,17 +14640,17 @@ export interface paths { * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ get: operations["users/list-ssh-signing-keys-for-authenticated-user"]; - put: never; + put?: never; /** * Create a SSH signing key for the authenticated user * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ post: operations["users/create-ssh-signing-key-for-authenticated-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/ssh_signing_keys/{ssh_signing_key_id}": { parameters: { @@ -14664,17 +14664,17 @@ export interface paths { * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ get: operations["users/get-ssh-signing-key-for-authenticated-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an SSH signing key for the authenticated user * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)." */ delete: operations["users/delete-ssh-signing-key-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/starred": { parameters: { @@ -14690,13 +14690,13 @@ export interface paths { * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ get: operations["activity/list-repos-starred-by-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/starred/{owner}/{repo}": { parameters: { @@ -14715,16 +14715,16 @@ export interface paths { * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["activity/star-repo-for-authenticated-user"]; - post: never; + post?: never; /** * Unstar a repository for the authenticated user * @description Unstar a repository that the authenticated user has previously starred. */ delete: operations["activity/unstar-repo-for-authenticated-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/subscriptions": { parameters: { @@ -14738,13 +14738,13 @@ export interface paths { * @description Lists repositories the authenticated user is watching. */ get: operations["activity/list-watched-repos-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/teams": { parameters: { @@ -14758,13 +14758,13 @@ export interface paths { * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token. */ get: operations["teams/list-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users": { parameters: { @@ -14780,13 +14780,13 @@ export interface paths { * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users. */ get: operations["users/list"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}": { parameters: { @@ -14806,13 +14806,13 @@ export interface paths { * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)". */ get: operations["users/get-by-username"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/docker/conflicts": { parameters: { @@ -14827,13 +14827,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. */ get: operations["packages/list-docker-migration-conflicting-packages-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/events": { parameters: { @@ -14847,13 +14847,13 @@ export interface paths { * @description If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */ get: operations["activity/list-events-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/events/orgs/{org}": { parameters: { @@ -14867,13 +14867,13 @@ export interface paths { * @description This is the user's organization dashboard. You must be authenticated as the user to view this. */ get: operations["activity/list-org-events-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/events/public": { parameters: { @@ -14884,13 +14884,13 @@ export interface paths { }; /** List public events for a user */ get: operations["activity/list-public-events-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/followers": { parameters: { @@ -14904,13 +14904,13 @@ export interface paths { * @description Lists the people following the specified user. */ get: operations["users/list-followers-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/following": { parameters: { @@ -14924,13 +14924,13 @@ export interface paths { * @description Lists the people who the specified user follows. */ get: operations["users/list-following-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/following/{target_user}": { parameters: { @@ -14941,13 +14941,13 @@ export interface paths { }; /** Check if a user follows another user */ get: operations["users/check-following-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/gists": { parameters: { @@ -14961,13 +14961,13 @@ export interface paths { * @description Lists public gists for the specified user: */ get: operations["gists/list-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/gpg_keys": { parameters: { @@ -14981,13 +14981,13 @@ export interface paths { * @description Lists the GPG keys for a user. This information is accessible by anyone. */ get: operations["users/list-gpg-keys-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/hovercard": { parameters: { @@ -15008,13 +15008,13 @@ export interface paths { * ``` */ get: operations["users/get-context-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/installation": { parameters: { @@ -15030,13 +15030,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-user-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/keys": { parameters: { @@ -15050,13 +15050,13 @@ export interface paths { * @description Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */ get: operations["users/list-public-keys-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/orgs": { parameters: { @@ -15072,13 +15072,13 @@ export interface paths { * This method only lists _public_ memberships, regardless of authentication. If you need to fetch all of the organization memberships (public and private) for the authenticated user, use the [List organizations for the authenticated user](https://docs.github.com/rest/orgs/orgs#list-organizations-for-the-authenticated-user) API instead. */ get: operations["orgs/list-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages": { parameters: { @@ -15094,13 +15094,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/list-packages-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages/{package_type}/{package_name}": { parameters: { @@ -15116,8 +15116,8 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-for-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a package for a user * @description Deletes an entire package for a user. You cannot delete a public package if any version of the package has more than 5,000 downloads. In this scenario, contact GitHub support for further assistance. @@ -15127,10 +15127,10 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ delete: operations["packages/delete-package-for-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages/{package_type}/{package_name}/restore": { parameters: { @@ -15139,8 +15139,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore a package for a user * @description Restores an entire package for a user. @@ -15154,11 +15154,11 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ post: operations["packages/restore-package-for-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages/{package_type}/{package_name}/versions": { parameters: { @@ -15174,13 +15174,13 @@ export interface paths { * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-all-package-versions-for-package-owned-by-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": { parameters: { @@ -15196,8 +15196,8 @@ export interface paths { * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)." */ get: operations["packages/get-package-version-for-user"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete package version for a user * @description Deletes a specific package version for a user. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance. @@ -15207,10 +15207,10 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ delete: operations["packages/delete-package-version-for-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": { parameters: { @@ -15219,8 +15219,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Restore package version for a user * @description Restores a specific package version for a user. @@ -15234,11 +15234,11 @@ export interface paths { * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)." */ post: operations["packages/restore-package-version-for-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/projects": { parameters: { @@ -15252,13 +15252,13 @@ export interface paths { * @description Lists projects for a user. */ get: operations["projects/list-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/received_events": { parameters: { @@ -15272,13 +15272,13 @@ export interface paths { * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */ get: operations["activity/list-received-events-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/received_events/public": { parameters: { @@ -15289,13 +15289,13 @@ export interface paths { }; /** List public events received by a user */ get: operations["activity/list-received-public-events-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/repos": { parameters: { @@ -15309,13 +15309,13 @@ export interface paths { * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */ get: operations["repos/list-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/settings/billing/actions": { parameters: { @@ -15333,13 +15333,13 @@ export interface paths { * Access tokens must have the `user` scope. */ get: operations["billing/get-github-actions-billing-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/settings/billing/packages": { parameters: { @@ -15357,13 +15357,13 @@ export interface paths { * Access tokens must have the `user` scope. */ get: operations["billing/get-github-packages-billing-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/settings/billing/shared-storage": { parameters: { @@ -15381,13 +15381,13 @@ export interface paths { * Access tokens must have the `user` scope. */ get: operations["billing/get-shared-storage-billing-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/social_accounts": { parameters: { @@ -15401,13 +15401,13 @@ export interface paths { * @description Lists social media accounts for a user. This endpoint is accessible by anyone. */ get: operations["users/list-social-accounts-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/ssh_signing_keys": { parameters: { @@ -15421,13 +15421,13 @@ export interface paths { * @description Lists the SSH signing keys for a user. This operation is accessible by anyone. */ get: operations["users/list-ssh-signing-keys-for-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/starred": { parameters: { @@ -15443,13 +15443,13 @@ export interface paths { * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`. */ get: operations["activity/list-repos-starred-by-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/subscriptions": { parameters: { @@ -15463,13 +15463,13 @@ export interface paths { * @description Lists repositories a user is watching. */ get: operations["activity/list-repos-watched-by-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/versions": { parameters: { @@ -15483,13 +15483,13 @@ export interface paths { * @description Get all supported GitHub API versions. */ get: operations["meta/get-all-versions"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/zen": { parameters: { @@ -15503,13 +15503,13 @@ export interface paths { * @description Get a random sentence from the Zen of GitHub */ get: operations["meta/get-zen"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; @@ -15914,7 +15914,7 @@ export interface components { metadata?: string; contents?: string; deployments?: string; - [key: string]: string; + [key: string]: string | undefined; }; /** * @description The list of events for the GitHub app @@ -18094,7 +18094,7 @@ export interface components { metadata?: string; contents?: string; deployments?: string; - [key: string]: string; + [key: string]: string | undefined; }; /** * @description The list of events for the GitHub app @@ -18398,7 +18398,7 @@ export interface components { language?: string; raw_url?: string; size?: number; - }; + } | undefined; }; public: boolean; /** Format: date-time */ @@ -18543,7 +18543,7 @@ export interface components { language?: string; raw_url?: string; size?: number; - }; + } | undefined; }; public: boolean; /** Format: date-time */ @@ -18569,7 +18569,7 @@ export interface components { git_push_url?: string; html_url?: string; files?: { - [key: string]: { + [key: string]: ({ filename?: string; type?: string; language?: string; @@ -18577,7 +18577,7 @@ export interface components { size?: number; truncated?: boolean; content?: string; - } | null; + } | null) | undefined; }; public?: boolean; created_at?: string; @@ -20849,13 +20849,13 @@ export interface components { /** @description Permissions requested, categorized by type of permission. */ permissions: { organization?: { - [key: string]: string; + [key: string]: string | undefined; }; repository?: { - [key: string]: string; + [key: string]: string | undefined; }; other?: { - [key: string]: string; + [key: string]: string | undefined; }; }; /** @description Date and time when the request for access was created. */ @@ -20885,13 +20885,13 @@ export interface components { /** @description Permissions requested, categorized by type of permission. */ permissions: { organization?: { - [key: string]: string; + [key: string]: string | undefined; }; repository?: { - [key: string]: string; + [key: string]: string | undefined; }; other?: { - [key: string]: string; + [key: string]: string | undefined; }; }; /** @description Date and time when the fine-grained personal access token was approved to access the organization. */ @@ -26279,7 +26279,7 @@ export interface components { * @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values. */ metadata: { - [key: string]: (string | number | boolean) | null; + [key: string]: ((string | number | boolean) | null) | undefined; }; dependency: { /** @@ -26322,7 +26322,7 @@ export interface components { metadata?: components["schemas"]["metadata"]; /** @description A collection of resolved package dependencies. */ resolved?: { - [key: string]: components["schemas"]["dependency"]; + [key: string]: components["schemas"]["dependency"] | undefined; }; }; /** @@ -26380,7 +26380,7 @@ export interface components { metadata?: components["schemas"]["metadata"]; /** @description A collection of package manifests, which are a collection of related dependencies declared in a file or representing a logical group of dependencies. */ manifests?: { - [key: string]: components["schemas"]["manifest"]; + [key: string]: components["schemas"]["manifest"] | undefined; }; /** * Format: date-time @@ -27987,7 +27987,7 @@ export interface components { * @description Language */ language: { - [key: string]: number; + [key: string]: number | undefined; }; /** * License Content @@ -31915,37 +31915,37 @@ export interface components { /** @description New requested permissions, categorized by type of permission. */ permissions_added: { organization?: { - [key: string]: string; + [key: string]: string | undefined; }; repository?: { - [key: string]: string; + [key: string]: string | undefined; }; other?: { - [key: string]: string; + [key: string]: string | undefined; }; }; /** @description Requested permissions that elevate access for a previously approved request for access, categorized by type of permission. */ permissions_upgraded: { organization?: { - [key: string]: string; + [key: string]: string | undefined; }; repository?: { - [key: string]: string; + [key: string]: string | undefined; }; other?: { - [key: string]: string; + [key: string]: string | undefined; }; }; /** @description Permissions requested, categorized by type of permission. This field incorporates `permissions_added` and `permissions_upgraded`. */ permissions_result: { organization?: { - [key: string]: string; + [key: string]: string | undefined; }; repository?: { - [key: string]: string; + [key: string]: string | undefined; }; other?: { - [key: string]: string; + [key: string]: string | undefined; }; }; /** @@ -50450,11 +50450,11 @@ export interface components { }; platform?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; repo?: string; dependencies?: { - [key: string]: string; + [key: string]: string | undefined; }[]; commit_oid?: string; }; @@ -91808,7 +91808,7 @@ export interface operations { }; content: { "application/json": { - [key: string]: string; + [key: string]: string | undefined; }; }; }; @@ -92029,7 +92029,7 @@ export interface operations { [key: string]: { /** @description Content of the file */ content: string; - }; + } | undefined; }; public?: boolean | ("true" | "false"); }; @@ -92197,12 +92197,12 @@ export interface operations { * } */ files?: { - [key: string]: { + [key: string]: ({ /** @description The new content of the file. */ content?: string; /** @description The new filename for the file. */ filename?: string | null; - } | null; + } | null) | undefined; }; } | null; }; diff --git a/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts b/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts index cd7f4be9b..86120b9db 100644 --- a/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts +++ b/packages/openapi-typescript/examples/octokit-ghes-3.6-diff-to-api.ts @@ -13,14 +13,14 @@ export interface paths { }; /** List global webhooks */ get: operations["enterprise-admin/list-global-webhooks"]; - put: never; + put?: never; /** Create a global webhook */ post: operations["enterprise-admin/create-global-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/hooks/{hook_id}": { parameters: { @@ -31,18 +31,18 @@ export interface paths { }; /** Get a global webhook */ get: operations["enterprise-admin/get-global-webhook"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a global webhook */ delete: operations["enterprise-admin/delete-global-webhook"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a global webhook * @description Parameters that are not provided will be overwritten with the default value or removed if no default exists. */ patch: operations["enterprise-admin/update-global-webhook"]; - trace: never; + trace?: never; }; "/admin/hooks/{hook_id}/pings": { parameters: { @@ -51,18 +51,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Ping a global webhook * @description This will trigger a [ping event](https://docs.github.com/enterprise-server@3.6/webhooks/#ping-event) to be sent to the webhook. */ post: operations["enterprise-admin/ping-global-webhook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/keys": { parameters: { @@ -73,13 +73,13 @@ export interface paths { }; /** List public keys */ get: operations["enterprise-admin/list-public-keys"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/keys/{key_ids}": { parameters: { @@ -88,15 +88,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** Delete a public key */ delete: operations["enterprise-admin/delete-public-key"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/ldap/teams/{team_id}/mapping": { parameters: { @@ -105,18 +105,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update LDAP mapping for a team * @description Updates the [distinguished name](https://www.ldap.com/ldap-dns-and-rdns) (DN) of the LDAP entry to map to a team. [LDAP synchronization](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap#enabling-ldap-sync) must be enabled to map LDAP entries to a team. Use the [Create a team](https://docs.github.com/enterprise-server@3.6/rest/reference/teams/#create-a-team) endpoint to create a team with LDAP mapping. */ patch: operations["enterprise-admin/update-ldap-mapping-for-team"]; - trace: never; + trace?: never; }; "/admin/ldap/teams/{team_id}/sync": { parameters: { @@ -125,18 +125,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Sync LDAP mapping for a team * @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. */ post: operations["enterprise-admin/sync-ldap-mapping-for-team"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/ldap/users/{username}/mapping": { parameters: { @@ -145,15 +145,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** Update LDAP mapping for a user */ patch: operations["enterprise-admin/update-ldap-mapping-for-user"]; - trace: never; + trace?: never; }; "/admin/ldap/users/{username}/sync": { parameters: { @@ -162,18 +162,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Sync LDAP mapping for a user * @description Note that this API call does not automatically initiate an LDAP sync. Rather, if a `201` is returned, the sync job is queued successfully, and is performed when the instance is ready. */ post: operations["enterprise-admin/sync-ldap-mapping-for-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/organizations": { parameters: { @@ -182,15 +182,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Create an organization */ post: operations["enterprise-admin/create-org"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/organizations/{org}": { parameters: { @@ -199,15 +199,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** Update an organization name */ patch: operations["enterprise-admin/update-org-name"]; - trace: never; + trace?: never; }; "/admin/pre-receive-environments": { parameters: { @@ -218,14 +218,14 @@ export interface paths { }; /** List pre-receive environments */ get: operations["enterprise-admin/list-pre-receive-environments"]; - put: never; + put?: never; /** Create a pre-receive environment */ post: operations["enterprise-admin/create-pre-receive-environment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/pre-receive-environments/{pre_receive_environment_id}": { parameters: { @@ -236,8 +236,8 @@ export interface paths { }; /** Get a pre-receive environment */ get: operations["enterprise-admin/get-pre-receive-environment"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a pre-receive environment * @description If you attempt to delete an environment that cannot be deleted, you will receive a `422 Unprocessable Entity` response. @@ -249,14 +249,14 @@ export interface paths { * * _Cannot delete environment when download is in progress_ */ delete: operations["enterprise-admin/delete-pre-receive-environment"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update a pre-receive environment * @description You cannot modify the default environment. If you attempt to modify the default environment, you will receive a `422 Unprocessable Entity` response. */ patch: operations["enterprise-admin/update-pre-receive-environment"]; - trace: never; + trace?: never; }; "/admin/pre-receive-environments/{pre_receive_environment_id}/downloads": { parameters: { @@ -265,8 +265,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Start a pre-receive environment download * @description Triggers a new download of the environment tarball from the environment's `image_url`. When the download is finished, the newly downloaded tarball will overwrite the existing environment. @@ -279,11 +279,11 @@ export interface paths { * * _Can not start a new download when a download is in progress_ */ post: operations["enterprise-admin/start-pre-receive-environment-download"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest": { parameters: { @@ -297,13 +297,13 @@ export interface paths { * @description In addition to seeing the download status at the "[Get a pre-receive environment](#get-a-pre-receive-environment)" endpoint, there is also this separate endpoint for just the download status. */ get: operations["enterprise-admin/get-download-status-for-pre-receive-environment"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/pre-receive-hooks": { parameters: { @@ -314,14 +314,14 @@ export interface paths { }; /** List pre-receive hooks */ get: operations["enterprise-admin/list-pre-receive-hooks"]; - put: never; + put?: never; /** Create a pre-receive hook */ post: operations["enterprise-admin/create-pre-receive-hook"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/pre-receive-hooks/{pre_receive_hook_id}": { parameters: { @@ -332,15 +332,15 @@ export interface paths { }; /** Get a pre-receive hook */ get: operations["enterprise-admin/get-pre-receive-hook"]; - put: never; - post: never; + put?: never; + post?: never; /** Delete a pre-receive hook */ delete: operations["enterprise-admin/delete-pre-receive-hook"]; - options: never; - head: never; + options?: never; + head?: never; /** Update a pre-receive hook */ patch: operations["enterprise-admin/update-pre-receive-hook"]; - trace: never; + trace?: never; }; "/admin/tokens": { parameters: { @@ -354,13 +354,13 @@ export interface paths { * @description Lists personal access tokens for all users, including admin users. */ get: operations["enterprise-admin/list-personal-access-tokens"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/tokens/{token_id}": { parameters: { @@ -369,18 +369,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a personal access token * @description Deletes a personal access token. Returns a `403 - Forbidden` status when a personal access token is in use. For example, if you access this endpoint with the same personal access token that you are trying to delete, you will receive this error. */ delete: operations["enterprise-admin/delete-personal-access-token"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/users": { parameters: { @@ -389,8 +389,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a user * @description If an external authentication mechanism is used, the login name should match the login name in the external system. If you are using LDAP authentication, you should also [update the LDAP mapping](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#update-ldap-mapping-for-a-user) for the user. @@ -400,11 +400,11 @@ export interface paths { * If the login name or email address is already associated with an account, the server will return a `422` response. */ post: operations["enterprise-admin/create-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/admin/users/{username}": { parameters: { @@ -413,9 +413,9 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** * Delete a user * @description Deleting a user will delete all their repositories, gists, applications, and personal settings. [Suspending a user](https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#suspend-a-user) is often a better option. @@ -423,11 +423,11 @@ export interface paths { * You can delete any user account except your own. */ delete: operations["enterprise-admin/delete-user"]; - options: never; - head: never; + options?: never; + head?: never; /** Update the username for a user */ patch: operations["enterprise-admin/update-username-for-user"]; - trace: never; + trace?: never; }; "/admin/users/{username}/authorizations": { parameters: { @@ -436,16 +436,16 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** Create an impersonation OAuth token */ post: operations["enterprise-admin/create-impersonation-o-auth-token"]; /** Delete an impersonation OAuth token */ delete: operations["enterprise-admin/delete-impersonation-o-auth-token"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installations": { parameters: { @@ -461,13 +461,13 @@ export interface paths { * The permissions the installation has are included under the `permissions` key. */ get: operations["apps/list-installations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installations/{installation_id}": { parameters: { @@ -483,13 +483,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/app/installations/{installation_id}/access_tokens": { parameters: { @@ -498,8 +498,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create an installation access token for an app * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key. @@ -507,11 +507,11 @@ export interface paths { * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ post: operations["apps/create-installation-access-token"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/applications/grants": { parameters: { @@ -528,13 +528,13 @@ export interface paths { * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. */ get: operations["oauth-authorizations/list-grants"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/applications/grants/{grant_id}": { parameters: { @@ -549,8 +549,8 @@ export interface paths { * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ get: operations["oauth-authorizations/get-grant"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete a grant * @deprecated @@ -559,10 +559,10 @@ export interface paths { * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). */ delete: operations["oauth-authorizations/delete-grant"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/applications/{client_id}/token": { parameters: { @@ -571,22 +571,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Check a token * @description OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */ post: operations["apps/check-token"]; - delete: never; - options: never; - head: never; + delete?: never; + options?: never; + head?: never; /** * Reset a token * @description OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ patch: operations["apps/reset-token"]; - trace: never; + trace?: never; }; "/applications/{client_id}/token/scoped": { parameters: { @@ -595,18 +595,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a scoped access token * @description Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */ post: operations["apps/scope-token"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/authorizations": { parameters: { @@ -621,7 +621,7 @@ export interface paths { * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ get: operations["oauth-authorizations/list-authorizations"]; - put: never; + put?: never; /** * Create a new authorization * @deprecated @@ -638,11 +638,11 @@ export interface paths { * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). */ post: operations["oauth-authorizations/create-authorization"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/authorizations/clients/{client_id}": { parameters: { @@ -651,7 +651,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Get-or-create an authorization for a specific app * @deprecated @@ -666,12 +666,12 @@ export interface paths { * **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ put: operations["oauth-authorizations/get-or-create-authorization-for-app"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/authorizations/clients/{client_id}/{fingerprint}": { parameters: { @@ -680,7 +680,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Get-or-create an authorization for a specific app and fingerprint * @deprecated @@ -693,12 +693,12 @@ export interface paths { * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/enterprise-server@3.6/rest/overview/other-authentication-methods#working-with-two-factor-authentication)." */ put: operations["oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/authorizations/{authorization_id}": { parameters: { @@ -713,16 +713,16 @@ export interface paths { * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ get: operations["oauth-authorizations/get-authorization"]; - put: never; - post: never; + put?: never; + post?: never; /** * Delete an authorization * @deprecated * @description **Deprecation Notice:** GitHub Enterprise Server will discontinue the [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/enterprise-server@3.6/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/enterprise-server@3.6/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */ delete: operations["oauth-authorizations/delete-authorization"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an existing authorization * @deprecated @@ -733,7 +733,7 @@ export interface paths { * You can only send one of these scope keys at a time. */ patch: operations["oauth-authorizations/update-authorization"]; - trace: never; + trace?: never; }; "/enterprise/announcement": { parameters: { @@ -747,21 +747,21 @@ export interface paths { * @description Gets the current message and expiration date of the global announcement banner in your enterprise. */ get: operations["enterprise-admin/get-announcement"]; - put: never; - post: never; + put?: never; + post?: never; /** * Remove the global announcement banner * @description Removes the global announcement banner in your enterprise. */ delete: operations["enterprise-admin/remove-announcement"]; - options: never; - head: never; + options?: never; + head?: never; /** * Set the global announcement banner * @description Sets the message and expiration time for the global announcement banner in your enterprise. */ patch: operations["enterprise-admin/set-announcement"]; - trace: never; + trace?: never; }; "/enterprise/settings/license": { parameters: { @@ -772,13 +772,13 @@ export interface paths { }; /** Get license information */ get: operations["enterprise-admin/get-license-information"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprise/stats/all": { parameters: { @@ -789,13 +789,13 @@ export interface paths { }; /** Get all statistics */ get: operations["enterprise-admin/get-all-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprise/stats/comments": { parameters: { @@ -806,13 +806,13 @@ export interface paths { }; /** Get comment statistics */ get: operations["enterprise-admin/get-comment-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprise/stats/gists": { parameters: { @@ -823,13 +823,13 @@ export interface paths { }; /** Get gist statistics */ get: operations["enterprise-admin/get-gist-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprise/stats/hooks": { parameters: { @@ -840,13 +840,13 @@ export interface paths { }; /** Get hooks statistics */ get: operations["enterprise-admin/get-hooks-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprise/stats/issues": { parameters: { @@ -857,13 +857,13 @@ export interface paths { }; /** Get issue statistics */ get: operations["enterprise-admin/get-issue-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprise/stats/milestones": { parameters: { @@ -874,13 +874,13 @@ export interface paths { }; /** Get milestone statistics */ get: operations["enterprise-admin/get-milestone-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprise/stats/orgs": { parameters: { @@ -891,13 +891,13 @@ export interface paths { }; /** Get organization statistics */ get: operations["enterprise-admin/get-org-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprise/stats/pages": { parameters: { @@ -908,13 +908,13 @@ export interface paths { }; /** Get pages statistics */ get: operations["enterprise-admin/get-pages-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprise/stats/pulls": { parameters: { @@ -925,13 +925,13 @@ export interface paths { }; /** Get pull request statistics */ get: operations["enterprise-admin/get-pull-request-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprise/stats/repos": { parameters: { @@ -942,13 +942,13 @@ export interface paths { }; /** Get repository statistics */ get: operations["enterprise-admin/get-repo-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprise/stats/users": { parameters: { @@ -959,13 +959,13 @@ export interface paths { }; /** Get users statistics */ get: operations["enterprise-admin/get-user-stats"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprises/{enterprise}/actions/cache/usage-policy": { parameters: { @@ -981,11 +981,11 @@ export interface paths { * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. */ get: operations["actions/get-actions-cache-usage-policy-for-enterprise"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Set GitHub Actions cache usage policy for an enterprise * @description Sets the GitHub Actions cache usage policy for an enterprise. @@ -993,7 +993,7 @@ export interface paths { * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint. */ patch: operations["actions/set-actions-cache-usage-policy-for-enterprise"]; - trace: never; + trace?: never; }; "/enterprises/{enterprise}/actions/permissions/selected-actions": { parameters: { @@ -1016,12 +1016,12 @@ export interface paths { * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint. */ put: operations["enterprise-admin/set-allowed-actions-enterprise"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprises/{enterprise}/audit-log": { parameters: { @@ -1035,13 +1035,13 @@ export interface paths { * @description Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */ get: operations["enterprise-admin/get-audit-log"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/enterprises/{enterprise}/secret-scanning/alerts": { parameters: { @@ -1056,13 +1056,13 @@ export interface paths { * To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization). */ get: operations["secret-scanning/list-alerts-for-enterprise"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/meta": { parameters: { @@ -1073,13 +1073,13 @@ export interface paths { }; /** Get GitHub Enterprise Server meta information */ get: operations["meta/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/organizations/{organization_id}/custom_roles": { parameters: { @@ -1099,13 +1099,13 @@ export interface paths { * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/enterprise-server@3.6/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)". */ get: operations["orgs/list-custom-roles"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}": { parameters: { @@ -1121,11 +1121,11 @@ export interface paths { * GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub Enterprise Server plan. See "[Authenticating with GitHub Apps](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub Enterprise Server plan information' below." */ get: operations["orgs/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update an organization * @description **Parameter Deprecation Notice:** GitHub Enterprise Server will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes). @@ -1133,7 +1133,7 @@ export interface paths { * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges. */ patch: operations["orgs/update"]; - trace: never; + trace?: never; }; "/orgs/{org}/actions/permissions/selected-actions": { parameters: { @@ -1160,12 +1160,12 @@ export interface paths { * You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API. */ put: operations["actions/set-allowed-actions-organization"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/audit-log": { parameters: { @@ -1185,13 +1185,13 @@ export interface paths { * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#pagination)." */ get: operations["orgs/get-audit-log"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/external-group/{group_id}": { parameters: { @@ -1207,13 +1207,13 @@ export interface paths { * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ get: operations["teams/external-idp-group-info-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/external-groups": { parameters: { @@ -1229,13 +1229,13 @@ export interface paths { * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ get: operations["teams/list-external-idp-groups-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/installation": { parameters: { @@ -1251,13 +1251,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-org-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/installations": { parameters: { @@ -1271,13 +1271,13 @@ export interface paths { * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */ get: operations["orgs/list-app-installations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/pre-receive-hooks": { parameters: { @@ -1291,13 +1291,13 @@ export interface paths { * @description List all pre-receive hooks that are enabled or testing for this organization as well as any disabled hooks that can be configured at the organization level. Globally disabled pre-receive hooks that do not allow downstream configuration are not listed. */ get: operations["enterprise-admin/list-pre-receive-hooks-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}": { parameters: { @@ -1308,21 +1308,21 @@ export interface paths { }; /** Get a pre-receive hook for an organization */ get: operations["enterprise-admin/get-pre-receive-hook-for-org"]; - put: never; - post: never; + put?: never; + post?: never; /** * Remove pre-receive hook enforcement for an organization * @description Removes any overrides for this hook at the org level for this org. */ delete: operations["enterprise-admin/remove-pre-receive-hook-enforcement-for-org"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update pre-receive hook enforcement for an organization * @description For pre-receive hooks which are allowed to be configured at the org level, you can set `enforcement` and `allow_downstream_configuration` */ patch: operations["enterprise-admin/update-pre-receive-hook-enforcement-for-org"]; - trace: never; + trace?: never; }; "/orgs/{org}/secret-scanning/alerts": { parameters: { @@ -1340,13 +1340,13 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/list-alerts-for-org"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams": { parameters: { @@ -1355,8 +1355,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a team * @description To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)." @@ -1364,11 +1364,11 @@ export interface paths { * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-teams)". */ post: operations["teams/create"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/orgs/{org}/teams/{team_slug}/external-groups": { parameters: { @@ -1384,8 +1384,8 @@ export interface paths { * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ get: operations["teams/list-linked-external-idp-groups-to-team-for-org"]; - put: never; - post: never; + put?: never; + post?: never; /** * Remove the connection between an external group and a team * @description Deletes a connection between a team and an external group. @@ -1393,8 +1393,8 @@ export interface paths { * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */ delete: operations["teams/unlink-external-idp-group-from-team-for-org"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update the connection between an external group and a team * @description Creates a connection between a team and an external group. Only one external group can be linked to a team. @@ -1402,7 +1402,7 @@ export interface paths { * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/enterprise-server@3.6/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation. */ patch: operations["teams/link-external-idp-group-to-team-for-org"]; - trace: never; + trace?: never; }; "/rate_limit": { parameters: { @@ -1418,13 +1418,13 @@ export interface paths { * **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object. */ get: operations["rate-limit/get"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/cache/usage-policy": { parameters: { @@ -1440,11 +1440,11 @@ export interface paths { * GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-actions-cache-usage-policy"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Set GitHub Actions cache usage policy for a repository * @description Sets GitHub Actions cache usage policy for a repository. @@ -1452,7 +1452,7 @@ export interface paths { * GitHub Apps must have the `actions:write` permission to use this endpoint. */ patch: operations["actions/set-actions-cache-usage-policy"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/permissions/selected-actions": { parameters: { @@ -1479,12 +1479,12 @@ export interface paths { * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API. */ put: operations["actions/set-allowed-actions-repository"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs": { parameters: { @@ -1500,13 +1500,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/list-workflow-runs-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}": { parameters: { @@ -1520,13 +1520,13 @@ export interface paths { * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */ get: operations["actions/get-workflow-run"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": { parameters: { @@ -1543,13 +1543,13 @@ export interface paths { * use this endpoint. */ get: operations["actions/get-workflow-run-attempt"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": { parameters: { @@ -1565,13 +1565,13 @@ export interface paths { * Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. */ get: operations["actions/list-workflow-runs"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/autolinks": { parameters: { @@ -1587,17 +1587,17 @@ export interface paths { * Information about autolinks are only available to repository administrators. */ get: operations["repos/list-autolinks"]; - put: never; + put?: never; /** * Create an autolink reference for a repository * @description Users with admin access to the repository can create an autolink. */ post: operations["repos/create-autolink"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/autolinks/{autolink_id}": { parameters: { @@ -1613,13 +1613,13 @@ export interface paths { * Information about autolinks are only available to repository administrators. */ get: operations["repos/get-autolink"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/code-scanning/analyses": { parameters: { @@ -1649,13 +1649,13 @@ export interface paths { * The `tool_name` field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The tool name can now be found inside the `tool` field. */ get: operations["code-scanning/list-recent-analyses"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/collaborators": { parameters: { @@ -1676,13 +1676,13 @@ export interface paths { * endpoint. */ get: operations["repos/list-collaborators"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/collaborators/{username}/permission": { parameters: { @@ -1696,13 +1696,13 @@ export interface paths { * @description Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */ get: operations["repos/get-collaborator-permission-level"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": { parameters: { @@ -1716,13 +1716,13 @@ export interface paths { * @description Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */ get: operations["dependency-graph/diff-range"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/forks": { parameters: { @@ -1731,8 +1731,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a fork * @description Create a fork for the authenticated user. @@ -1740,11 +1740,11 @@ export interface paths { * **Note**: Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes, be sure to contact [GitHub Enterprise Server Support](https://support.github.com/contact?tags=dotcom-rest-api). */ post: operations["repos/create-fork"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/installation": { parameters: { @@ -1760,13 +1760,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-repo-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/keys": { parameters: { @@ -1777,17 +1777,17 @@ export interface paths { }; /** List deploy keys */ get: operations["repos/list-deploy-keys"]; - put: never; + put?: never; /** * Create a deploy key * @description You can create a read-only deploy key. */ post: operations["repos/create-deploy-key"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/keys/{key_id}": { parameters: { @@ -1798,13 +1798,13 @@ export interface paths { }; /** Get a deploy key */ get: operations["repos/get-deploy-key"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pre-receive-hooks": { parameters: { @@ -1818,13 +1818,13 @@ export interface paths { * @description List all pre-receive hooks that are enabled or testing for this repository as well as any disabled hooks that are allowed to be enabled at the repository level. Pre-receive hooks that are disabled at a higher level and are not configurable will not be listed. */ get: operations["enterprise-admin/list-pre-receive-hooks-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}": { parameters: { @@ -1835,8 +1835,8 @@ export interface paths { }; /** Get a pre-receive hook for a repository */ get: operations["enterprise-admin/get-pre-receive-hook-for-repo"]; - put: never; - post: never; + put?: never; + post?: never; /** * Remove pre-receive hook enforcement for a repository * @description Deletes any overridden enforcement on this repository for the specified hook. @@ -1844,14 +1844,14 @@ export interface paths { * Responds with effective values inherited from owner and/or global level. */ delete: operations["enterprise-admin/remove-pre-receive-hook-enforcement-for-repo"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update pre-receive hook enforcement for a repository * @description For pre-receive hooks which are allowed to be configured at the repo level, you can set `enforcement` */ patch: operations["enterprise-admin/update-pre-receive-hook-enforcement-for-repo"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/releases": { parameters: { @@ -1867,7 +1867,7 @@ export interface paths { * Information about published releases are available to everyone. Only users with push access will receive listings for draft releases. */ get: operations["repos/list-releases"]; - put: never; + put?: never; /** * Create a release * @description Users with push access to the repository can create a release. @@ -1875,11 +1875,11 @@ export interface paths { * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/enterprise-server@3.6/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */ post: operations["repos/create-release"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/latest": { parameters: { @@ -1895,13 +1895,13 @@ export interface paths { * The latest release is the most recent non-prerelease, non-draft release, sorted by the `created_at` attribute. The `created_at` attribute is the date of the commit used for the release, and not the date when the release was drafted or published. */ get: operations["repos/get-latest-release"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/tags/{tag}": { parameters: { @@ -1915,13 +1915,13 @@ export interface paths { * @description Get a published release with the specified tag. */ get: operations["repos/get-release-by-tag"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/releases/{release_id}": { parameters: { @@ -1935,17 +1935,17 @@ export interface paths { * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#hypermedia). */ get: operations["repos/get-release"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a release * @description Users with push access to the repository can edit a release. */ patch: operations["repos/update-release"]; - trace: never; + trace?: never; }; "/repos/{owner}/{repo}/replicas/caches": { parameters: { @@ -1959,13 +1959,13 @@ export interface paths { * @description Lists the status of each repository cache replica. */ get: operations["repos/list-cache-info"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/secret-scanning/alerts": { parameters: { @@ -1983,13 +1983,13 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/list-alerts-for-repo"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": { parameters: { @@ -2007,11 +2007,11 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` read permission to use this endpoint. */ get: operations["secret-scanning/get-alert"]; - put: never; - post: never; - delete: never; - options: never; - head: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; /** * Update a secret scanning alert * @description Updates the status of a secret scanning alert in an eligible repository. @@ -2021,7 +2021,7 @@ export interface paths { * GitHub Apps must have the `secret_scanning_alerts` write permission to use this endpoint. */ patch: operations["secret-scanning/update-alert"]; - trace: never; + trace?: never; }; "/repositories": { parameters: { @@ -2039,13 +2039,13 @@ export interface paths { * - Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories. */ get: operations["repos/list-public"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/scim/v2/enterprises/{enterprise}/Groups": { parameters: { @@ -2059,7 +2059,7 @@ export interface paths { * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ get: operations["enterprise-admin/list-provisioned-groups-enterprise"]; - put: never; + put?: never; /** * Provision a SCIM enterprise group and invite users * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. @@ -2067,11 +2067,11 @@ export interface paths { * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to. */ post: operations["enterprise-admin/provision-and-invite-enterprise-group"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": { parameters: { @@ -2092,14 +2092,14 @@ export interface paths { * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead. */ put: operations["enterprise-admin/set-information-for-provisioned-enterprise-group"]; - post: never; + post?: never; /** * Delete a SCIM group from an enterprise * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ delete: operations["enterprise-admin/delete-scim-group-from-enterprise"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an attribute for a SCIM enterprise group * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. @@ -2107,7 +2107,7 @@ export interface paths { * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). */ patch: operations["enterprise-admin/update-attribute-for-enterprise-group"]; - trace: never; + trace?: never; }; "/scim/v2/enterprises/{enterprise}/Users": { parameters: { @@ -2138,7 +2138,7 @@ export interface paths { * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub Enterprise Server enterprise, and the external identity `null` entry remains in place. */ get: operations["enterprise-admin/list-provisioned-identities-enterprise"]; - put: never; + put?: never; /** * Provision and invite a SCIM enterprise user * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. @@ -2148,11 +2148,11 @@ export interface paths { * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent. */ post: operations["enterprise-admin/provision-and-invite-enterprise-user"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": { parameters: { @@ -2177,14 +2177,14 @@ export interface paths { * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`. */ put: operations["enterprise-admin/set-information-for-provisioned-enterprise-user"]; - post: never; + post?: never; /** * Delete a SCIM user from an enterprise * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */ delete: operations["enterprise-admin/delete-user-from-enterprise"]; - options: never; - head: never; + options?: never; + head?: never; /** * Update an attribute for a SCIM enterprise user * @description **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. @@ -2207,7 +2207,7 @@ export interface paths { * ``` */ patch: operations["enterprise-admin/update-attribute-for-enterprise-user"]; - trace: never; + trace?: never; }; "/setup/api/configcheck": { parameters: { @@ -2232,13 +2232,13 @@ export interface paths { * | `FAILED` | The job has finished unexpectedly | */ get: operations["enterprise-admin/get-configuration-status"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/setup/api/configure": { parameters: { @@ -2247,18 +2247,18 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Start a configuration process * @description This endpoint allows you to start a configuration process at any time for your updated settings to take effect: */ post: operations["enterprise-admin/start-configuration-process"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/setup/api/maintenance": { parameters: { @@ -2272,17 +2272,17 @@ export interface paths { * @description Check your installation's maintenance status: */ get: operations["enterprise-admin/get-maintenance-status"]; - put: never; + put?: never; /** * Enable or disable maintenance mode * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ post: operations["enterprise-admin/enable-or-disable-maintenance-mode"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/setup/api/settings": { parameters: { @@ -2308,12 +2308,12 @@ export interface paths { * - You cannot set the management console password with the Enterprise administration API. Use the `ghe-set-password` utility to change the management console password. For more information, see "[Command-line utilities](https://docs.github.com/enterprise-server@3.6/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-set-password)." */ put: operations["enterprise-admin/set-settings"]; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/setup/api/settings/authorized-keys": { parameters: { @@ -2324,7 +2324,7 @@ export interface paths { }; /** Get all authorized SSH keys */ get: operations["enterprise-admin/get-all-authorized-ssh-keys"]; - put: never; + put?: never; /** * Add an authorized SSH key * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). @@ -2335,10 +2335,10 @@ export interface paths { * @description **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ delete: operations["enterprise-admin/remove-authorized-ssh-key"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/setup/api/start": { parameters: { @@ -2347,8 +2347,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Create a GitHub license * @description When you boot a GitHub instance for the first time, you can use the following endpoint to upload a license. @@ -2363,11 +2363,11 @@ export interface paths { * **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ post: operations["enterprise-admin/create-enterprise-server-license"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/setup/api/upgrade": { parameters: { @@ -2376,8 +2376,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** * Upgrade a license * @description This API upgrades your license and also triggers the configuration process. @@ -2385,11 +2385,11 @@ export interface paths { * **Note:** The request body for this operation must be submitted as `application/x-www-form-urlencoded` data. You can submit a parameter value as a string, or you can use a tool such as `curl` to submit a parameter value as the contents of a text file. For more information, see the [`curl` documentation](https://curl.se/docs/manpage.html#--data-urlencode). */ post: operations["enterprise-admin/upgrade-license"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/user/installations": { parameters: { @@ -2409,13 +2409,13 @@ export interface paths { * You can find the permissions for the installation under the `permissions` key. */ get: operations["apps/list-installations-for-authenticated-user"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/installation": { parameters: { @@ -2431,13 +2431,13 @@ export interface paths { * You must use a [JWT](https://docs.github.com/enterprise-server@3.6/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. */ get: operations["apps/get-user-installation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/site_admin": { parameters: { @@ -2446,22 +2446,22 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Promote a user to be a site administrator * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["enterprise-admin/promote-user-to-be-site-administrator"]; - post: never; + post?: never; /** * Demote a site administrator * @description You can demote any user account except your own. */ delete: operations["enterprise-admin/demote-site-administrator"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/users/{username}/suspended": { parameters: { @@ -2470,7 +2470,7 @@ export interface paths { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Suspend a user * @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), Active Directory LDAP-authenticated users cannot be suspended through this API. If you attempt to suspend an Active Directory LDAP-authenticated user through this API, it will return a `403` response. @@ -2480,16 +2480,16 @@ export interface paths { * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/enterprise-server@3.6/rest/overview/resources-in-the-rest-api#http-verbs)." */ put: operations["enterprise-admin/suspend-user"]; - post: never; + post?: never; /** * Unsuspend a user * @description If your GitHub instance uses [LDAP Sync with Active Directory LDAP servers](https://docs.github.com/enterprise-server@3.6/admin/identity-and-access-management/using-ldap-for-enterprise-iam/using-ldap), this API is disabled and will return a `403` response. Active Directory LDAP-authenticated users cannot be unsuspended using the API. */ delete: operations["enterprise-admin/unsuspend-user"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; diff --git a/packages/openapi-typescript/examples/simple-example.ts b/packages/openapi-typescript/examples/simple-example.ts index 9da8de70e..0c2580003 100644 --- a/packages/openapi-typescript/examples/simple-example.ts +++ b/packages/openapi-typescript/examples/simple-example.ts @@ -13,13 +13,13 @@ export interface paths { }; /** Get Test! Foo! Etc! */ get: operations["getTest"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/pets": { parameters: { @@ -30,13 +30,13 @@ export interface paths { }; /** List all pets */ get: operations["listPets"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/pets/model": { parameters: { @@ -47,13 +47,13 @@ export interface paths { }; /** List all pets */ get: operations["listPetsModel"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/pets/person": { parameters: { @@ -64,13 +64,13 @@ export interface paths { }; /** List all pets */ get: operations["listPetsPerson"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/": { parameters: { @@ -81,13 +81,13 @@ export interface paths { }; /** Some summary */ get: operations["getEmptyOperationId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/{var}": { parameters: { @@ -96,14 +96,14 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/unevaluated-properties": { parameters: { @@ -114,13 +114,13 @@ export interface paths { }; /** Checks if unevaluetedProperties work */ get: operations["getUnevaluatedProperties"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export interface webhooks { @@ -131,7 +131,7 @@ export interface webhooks { path?: never; cookie?: never; }; - get: never; + get?: never; /** * Edit new pet * @description Edit pet. @@ -142,11 +142,11 @@ export interface webhooks { * @description Add new pet to the store inventory. */ post: operations["addPet"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export interface components { diff --git a/packages/openapi-typescript/examples/stripe-api.ts b/packages/openapi-typescript/examples/stripe-api.ts index 08cc206eb..009261a6d 100644 --- a/packages/openapi-typescript/examples/stripe-api.ts +++ b/packages/openapi-typescript/examples/stripe-api.ts @@ -13,13 +13,13 @@ export interface paths { }; /** @description

Retrieves the details of an account.

*/ get: operations["GetAccount"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/account_links": { parameters: { @@ -28,15 +28,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow.

*/ post: operations["PostAccountLinks"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/account_sessions": { parameters: { @@ -45,15 +45,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access.

*/ post: operations["PostAccountSessions"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts": { parameters: { @@ -64,7 +64,7 @@ export interface paths { }; /** @description

Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty.

*/ get: operations["GetAccounts"]; - put: never; + put?: never; /** @description

With Connect, you can create Stripe accounts for your users. * To do this, you’ll first need to register your platform.

* @@ -72,11 +72,11 @@ export interface paths { * creating the account. Connect Onboarding won’t ask for the prefilled information during account onboarding. * You can prefill any information on the account.

*/ post: operations["PostAccounts"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}": { parameters: { @@ -87,7 +87,7 @@ export interface paths { }; /** @description

Retrieves the details of an account.

*/ get: operations["GetAccountsAccount"]; - put: never; + put?: never; /** @description

Updates a connected account by setting the values of the parameters passed. Any parameters not provided are * left unchanged.

* @@ -105,10 +105,10 @@ export interface paths { * *

If you want to delete your own account, use the account information tab in your account settings instead.

*/ delete: operations["DeleteAccountsAccount"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/bank_accounts": { parameters: { @@ -117,15 +117,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Create an external account for a given account.

*/ post: operations["PostAccountsAccountBankAccounts"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/bank_accounts/{id}": { parameters: { @@ -136,17 +136,17 @@ export interface paths { }; /** @description

Retrieve a specified external account for a given account.

*/ get: operations["GetAccountsAccountBankAccountsId"]; - put: never; + put?: never; /** @description

Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.

* *

You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.

*/ post: operations["PostAccountsAccountBankAccountsId"]; /** @description

Delete a specified external account for a given account.

*/ delete: operations["DeleteAccountsAccountBankAccountsId"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/capabilities": { parameters: { @@ -157,13 +157,13 @@ export interface paths { }; /** @description

Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.

*/ get: operations["GetAccountsAccountCapabilities"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/capabilities/{capability}": { parameters: { @@ -174,14 +174,14 @@ export interface paths { }; /** @description

Retrieves information about the specified Account Capability.

*/ get: operations["GetAccountsAccountCapabilitiesCapability"]; - put: never; + put?: never; /** @description

Updates an existing Account Capability. Request or remove a capability by updating its requested parameter.

*/ post: operations["PostAccountsAccountCapabilitiesCapability"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/external_accounts": { parameters: { @@ -192,14 +192,14 @@ export interface paths { }; /** @description

List external accounts for an account.

*/ get: operations["GetAccountsAccountExternalAccounts"]; - put: never; + put?: never; /** @description

Create an external account for a given account.

*/ post: operations["PostAccountsAccountExternalAccounts"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/external_accounts/{id}": { parameters: { @@ -210,17 +210,17 @@ export interface paths { }; /** @description

Retrieve a specified external account for a given account.

*/ get: operations["GetAccountsAccountExternalAccountsId"]; - put: never; + put?: never; /** @description

Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.

* *

You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.

*/ post: operations["PostAccountsAccountExternalAccountsId"]; /** @description

Delete a specified external account for a given account.

*/ delete: operations["DeleteAccountsAccountExternalAccountsId"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/login_links": { parameters: { @@ -229,17 +229,17 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Creates a single-use login link for an Express account to access their Stripe dashboard.

* *

You may only create login links for Express accounts connected to your platform.

*/ post: operations["PostAccountsAccountLoginLinks"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/people": { parameters: { @@ -250,14 +250,14 @@ export interface paths { }; /** @description

Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.

*/ get: operations["GetAccountsAccountPeople"]; - put: never; + put?: never; /** @description

Creates a new person.

*/ post: operations["PostAccountsAccountPeople"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/people/{person}": { parameters: { @@ -268,15 +268,15 @@ export interface paths { }; /** @description

Retrieves an existing person.

*/ get: operations["GetAccountsAccountPeoplePerson"]; - put: never; + put?: never; /** @description

Updates an existing person.

*/ post: operations["PostAccountsAccountPeoplePerson"]; /** @description

Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.

*/ delete: operations["DeleteAccountsAccountPeoplePerson"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/persons": { parameters: { @@ -287,14 +287,14 @@ export interface paths { }; /** @description

Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.

*/ get: operations["GetAccountsAccountPersons"]; - put: never; + put?: never; /** @description

Creates a new person.

*/ post: operations["PostAccountsAccountPersons"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/persons/{person}": { parameters: { @@ -305,15 +305,15 @@ export interface paths { }; /** @description

Retrieves an existing person.

*/ get: operations["GetAccountsAccountPersonsPerson"]; - put: never; + put?: never; /** @description

Updates an existing person.

*/ post: operations["PostAccountsAccountPersonsPerson"]; /** @description

Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.

*/ delete: operations["DeleteAccountsAccountPersonsPerson"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/accounts/{account}/reject": { parameters: { @@ -322,17 +322,17 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

With Connect, you may flag accounts as suspicious.

* *

Test-mode Custom and Express accounts can be rejected at any time. Accounts created using live-mode keys may only be rejected once all balances are zero.

*/ post: operations["PostAccountsAccountReject"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/apple_pay/domains": { parameters: { @@ -343,14 +343,14 @@ export interface paths { }; /** @description

List apple pay domains.

*/ get: operations["GetApplePayDomains"]; - put: never; + put?: never; /** @description

Create an apple pay domain.

*/ post: operations["PostApplePayDomains"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/apple_pay/domains/{domain}": { parameters: { @@ -361,14 +361,14 @@ export interface paths { }; /** @description

Retrieve an apple pay domain.

*/ get: operations["GetApplePayDomainsDomain"]; - put: never; - post: never; + put?: never; + post?: never; /** @description

Delete an apple pay domain.

*/ delete: operations["DeleteApplePayDomainsDomain"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/application_fees": { parameters: { @@ -379,13 +379,13 @@ export interface paths { }; /** @description

Returns a list of application fees you’ve previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.

*/ get: operations["GetApplicationFees"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/application_fees/{fee}/refunds/{id}": { parameters: { @@ -396,16 +396,16 @@ export interface paths { }; /** @description

By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee.

*/ get: operations["GetApplicationFeesFeeRefundsId"]; - put: never; + put?: never; /** @description

Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

* *

This request only accepts metadata as an argument.

*/ post: operations["PostApplicationFeesFeeRefundsId"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/application_fees/{id}": { parameters: { @@ -416,13 +416,13 @@ export interface paths { }; /** @description

Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee.

*/ get: operations["GetApplicationFeesId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/application_fees/{id}/refund": { parameters: { @@ -431,14 +431,14 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; post: operations["PostApplicationFeesIdRefund"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/application_fees/{id}/refunds": { parameters: { @@ -449,7 +449,7 @@ export interface paths { }; /** @description

You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds.

*/ get: operations["GetApplicationFeesIdRefunds"]; - put: never; + put?: never; /** @description

Refunds an application fee that has previously been collected but not yet refunded. * Funds will be refunded to the Stripe account from which the fee was originally collected.

* @@ -460,11 +460,11 @@ export interface paths { * This method will raise an error when called on an already-refunded application fee, * or when trying to refund more money than is left on an application fee.

*/ post: operations["PostApplicationFeesIdRefunds"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/apps/secrets": { parameters: { @@ -475,14 +475,14 @@ export interface paths { }; /** @description

List all secrets stored on the given scope.

*/ get: operations["GetAppsSecrets"]; - put: never; + put?: never; /** @description

Create or replace a secret in the secret store.

*/ post: operations["PostAppsSecrets"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/apps/secrets/delete": { parameters: { @@ -491,15 +491,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Deletes a secret from the secret store by name and scope.

*/ post: operations["PostAppsSecretsDelete"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/apps/secrets/find": { parameters: { @@ -510,13 +510,13 @@ export interface paths { }; /** @description

Finds a secret in the secret store by name and scope.

*/ get: operations["GetAppsSecretsFind"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/balance": { parameters: { @@ -528,13 +528,13 @@ export interface paths { /** @description

Retrieves the current account balance, based on the authentication that was used to make the request. * For a sample request, see Accounting for negative balances.

*/ get: operations["GetBalance"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/balance/history": { parameters: { @@ -547,13 +547,13 @@ export interface paths { * *

Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history.

*/ get: operations["GetBalanceHistory"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/balance/history/{id}": { parameters: { @@ -566,13 +566,13 @@ export interface paths { * *

Note that this endpoint previously used the path /v1/balance/history/:id.

*/ get: operations["GetBalanceHistoryId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/balance_transactions": { parameters: { @@ -585,13 +585,13 @@ export interface paths { * *

Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history.

*/ get: operations["GetBalanceTransactions"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/balance_transactions/{id}": { parameters: { @@ -604,13 +604,13 @@ export interface paths { * *

Note that this endpoint previously used the path /v1/balance/history/:id.

*/ get: operations["GetBalanceTransactionsId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/billing_portal/configurations": { parameters: { @@ -621,14 +621,14 @@ export interface paths { }; /** @description

Returns a list of configurations that describe the functionality of the customer portal.

*/ get: operations["GetBillingPortalConfigurations"]; - put: never; + put?: never; /** @description

Creates a configuration that describes the functionality and behavior of a PortalSession

*/ post: operations["PostBillingPortalConfigurations"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/billing_portal/configurations/{configuration}": { parameters: { @@ -639,14 +639,14 @@ export interface paths { }; /** @description

Retrieves a configuration that describes the functionality of the customer portal.

*/ get: operations["GetBillingPortalConfigurationsConfiguration"]; - put: never; + put?: never; /** @description

Updates a configuration that describes the functionality of the customer portal.

*/ post: operations["PostBillingPortalConfigurationsConfiguration"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/billing_portal/sessions": { parameters: { @@ -655,15 +655,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Creates a session of the customer portal.

*/ post: operations["PostBillingPortalSessions"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/charges": { parameters: { @@ -674,16 +674,16 @@ export interface paths { }; /** @description

Returns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.

*/ get: operations["GetCharges"]; - put: never; + put?: never; /** @description

Use the Payment Intents API to initiate a new payment instead * of using this method. Confirmation of the PaymentIntent creates the Charge * object used to request payment, so this method is limited to legacy integrations.

*/ post: operations["PostCharges"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/charges/search": { parameters: { @@ -697,13 +697,13 @@ export interface paths { * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ get: operations["GetChargesSearch"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/charges/{charge}": { parameters: { @@ -714,14 +714,14 @@ export interface paths { }; /** @description

Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge.

*/ get: operations["GetChargesCharge"]; - put: never; + put?: never; /** @description

Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ post: operations["PostChargesCharge"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/charges/{charge}/capture": { parameters: { @@ -730,19 +730,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Capture the payment of an existing, uncaptured charge that was created with the capture option set to false.

* *

Uncaptured payments expire a set number of days after they are created (7 by default), after which they are marked as refunded and capture attempts will fail.

* *

Don’t use this method to capture a PaymentIntent-initiated charge. Use Capture a PaymentIntent.

*/ post: operations["PostChargesChargeCapture"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/charges/{charge}/dispute": { parameters: { @@ -753,13 +753,13 @@ export interface paths { }; /** @description

Retrieve a dispute for a specified charge.

*/ get: operations["GetChargesChargeDispute"]; - put: never; + put?: never; post: operations["PostChargesChargeDispute"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/charges/{charge}/dispute/close": { parameters: { @@ -768,14 +768,14 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; post: operations["PostChargesChargeDisputeClose"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/charges/{charge}/refund": { parameters: { @@ -784,8 +784,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

When you create a new refund, you must specify either a Charge or a PaymentIntent object.

* *

This action refunds a previously created charge that’s not refunded yet. @@ -798,11 +798,11 @@ export interface paths { * This method raises an error when it’s called on an already-refunded charge, * or when you attempt to refund more money than is left on a charge.

*/ post: operations["PostChargesChargeRefund"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/charges/{charge}/refunds": { parameters: { @@ -813,7 +813,7 @@ export interface paths { }; /** @description

You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds.

*/ get: operations["GetChargesChargeRefunds"]; - put: never; + put?: never; /** @description

When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.

* *

Creating a new refund will refund a charge that has previously been created but not yet refunded. @@ -826,11 +826,11 @@ export interface paths { * This method will raise an error when called on an already-refunded charge, * or when trying to refund more money than is left on a charge.

*/ post: operations["PostChargesChargeRefunds"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/charges/{charge}/refunds/{refund}": { parameters: { @@ -841,14 +841,14 @@ export interface paths { }; /** @description

Retrieves the details of an existing refund.

*/ get: operations["GetChargesChargeRefundsRefund"]; - put: never; + put?: never; /** @description

Update a specified refund.

*/ post: operations["PostChargesChargeRefundsRefund"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/checkout/sessions": { parameters: { @@ -859,14 +859,14 @@ export interface paths { }; /** @description

Returns a list of Checkout Sessions.

*/ get: operations["GetCheckoutSessions"]; - put: never; + put?: never; /** @description

Creates a Session object.

*/ post: operations["PostCheckoutSessions"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/checkout/sessions/{session}": { parameters: { @@ -877,13 +877,13 @@ export interface paths { }; /** @description

Retrieves a Session object.

*/ get: operations["GetCheckoutSessionsSession"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/checkout/sessions/{session}/expire": { parameters: { @@ -892,17 +892,17 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

A Session can be expired when it is in one of these statuses: open

* *

After it expires, a customer can’t complete a Session and customers loading the Session see a message saying the Session is expired.

*/ post: operations["PostCheckoutSessionsSessionExpire"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/checkout/sessions/{session}/line_items": { parameters: { @@ -913,13 +913,13 @@ export interface paths { }; /** @description

When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ get: operations["GetCheckoutSessionsSessionLineItems"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/country_specs": { parameters: { @@ -930,13 +930,13 @@ export interface paths { }; /** @description

Lists all Country Spec objects available in the API.

*/ get: operations["GetCountrySpecs"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/country_specs/{country}": { parameters: { @@ -947,13 +947,13 @@ export interface paths { }; /** @description

Returns a Country Spec for a given Country code.

*/ get: operations["GetCountrySpecsCountry"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/coupons": { parameters: { @@ -964,16 +964,16 @@ export interface paths { }; /** @description

Returns a list of your coupons.

*/ get: operations["GetCoupons"]; - put: never; + put?: never; /** @description

You can create coupons easily via the coupon management page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.

* *

A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoice’s subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off of 200 is applied to it.

*/ post: operations["PostCoupons"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/coupons/{coupon}": { parameters: { @@ -984,15 +984,15 @@ export interface paths { }; /** @description

Retrieves the coupon with the given ID.

*/ get: operations["GetCouponsCoupon"]; - put: never; + put?: never; /** @description

Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.

*/ post: operations["PostCouponsCoupon"]; /** @description

You can delete coupons via the coupon management page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can’t redeem the coupon. You can also delete coupons via the API.

*/ delete: operations["DeleteCouponsCoupon"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/credit_notes": { parameters: { @@ -1003,7 +1003,7 @@ export interface paths { }; /** @description

Returns a list of credit notes.

*/ get: operations["GetCreditNotes"]; - put: never; + put?: never; /** @description

Issue a credit note to adjust the amount of a finalized invoice. For a status=open invoice, a credit note reduces * its amount_due. For a status=paid invoice, a credit note does not affect its amount_due. Instead, it can result * in any combination of the following:

@@ -1019,11 +1019,11 @@ export interface paths { *

You may issue multiple credit notes for an invoice. Each credit note will increment the invoice’s pre_payment_credit_notes_amount * or post_payment_credit_notes_amount depending on its status at the time of credit note creation.

*/ post: operations["PostCreditNotes"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/credit_notes/preview": { parameters: { @@ -1034,13 +1034,13 @@ export interface paths { }; /** @description

Get a preview of a credit note without creating it.

*/ get: operations["GetCreditNotesPreview"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/credit_notes/preview/lines": { parameters: { @@ -1051,13 +1051,13 @@ export interface paths { }; /** @description

When retrieving a credit note preview, you’ll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.

*/ get: operations["GetCreditNotesPreviewLines"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/credit_notes/{credit_note}/lines": { parameters: { @@ -1068,13 +1068,13 @@ export interface paths { }; /** @description

When retrieving a credit note, you’ll get a lines property containing the the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ get: operations["GetCreditNotesCreditNoteLines"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/credit_notes/{id}": { parameters: { @@ -1085,14 +1085,14 @@ export interface paths { }; /** @description

Retrieves the credit note object with the given identifier.

*/ get: operations["GetCreditNotesId"]; - put: never; + put?: never; /** @description

Updates an existing credit note.

*/ post: operations["PostCreditNotesId"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/credit_notes/{id}/void": { parameters: { @@ -1101,15 +1101,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Marks a credit note as void. Learn more about voiding credit notes.

*/ post: operations["PostCreditNotesIdVoid"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers": { parameters: { @@ -1120,14 +1120,14 @@ export interface paths { }; /** @description

Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.

*/ get: operations["GetCustomers"]; - put: never; + put?: never; /** @description

Creates a new customer object.

*/ post: operations["PostCustomers"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/search": { parameters: { @@ -1141,13 +1141,13 @@ export interface paths { * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ get: operations["GetCustomersSearch"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}": { parameters: { @@ -1158,17 +1158,17 @@ export interface paths { }; /** @description

Retrieves a Customer object.

*/ get: operations["GetCustomersCustomer"]; - put: never; + put?: never; /** @description

Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer’s active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer’s current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior.

* *

This request accepts mostly the same arguments as the customer creation call.

*/ post: operations["PostCustomersCustomer"]; /** @description

Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.

*/ delete: operations["DeleteCustomersCustomer"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/balance_transactions": { parameters: { @@ -1179,14 +1179,14 @@ export interface paths { }; /** @description

Returns a list of transactions that updated the customer’s balances.

*/ get: operations["GetCustomersCustomerBalanceTransactions"]; - put: never; + put?: never; /** @description

Creates an immutable transaction that updates the customer’s credit balance.

*/ post: operations["PostCustomersCustomerBalanceTransactions"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/balance_transactions/{transaction}": { parameters: { @@ -1197,14 +1197,14 @@ export interface paths { }; /** @description

Retrieves a specific customer balance transaction that updated the customer’s balances.

*/ get: operations["GetCustomersCustomerBalanceTransactionsTransaction"]; - put: never; + put?: never; /** @description

Most credit balance transaction fields are immutable, but you may update its description and metadata.

*/ post: operations["PostCustomersCustomerBalanceTransactionsTransaction"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/bank_accounts": { parameters: { @@ -1218,18 +1218,18 @@ export interface paths { * @description

You can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional bank accounts.

*/ get: operations["GetCustomersCustomerBankAccounts"]; - put: never; + put?: never; /** @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

* *

If the card’s owner has no default card, then the new card will become the default. * However, if the owner already has a default, then it will not change. * To change the default, you should update the customer to have a new default_source.

*/ post: operations["PostCustomersCustomerBankAccounts"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/bank_accounts/{id}": { parameters: { @@ -1243,15 +1243,15 @@ export interface paths { * @description

By default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.

*/ get: operations["GetCustomersCustomerBankAccountsId"]; - put: never; + put?: never; /** @description

Update a specified source for a given customer.

*/ post: operations["PostCustomersCustomerBankAccountsId"]; /** @description

Delete a specified source for a given customer.

*/ delete: operations["DeleteCustomersCustomerBankAccountsId"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/bank_accounts/{id}/verify": { parameters: { @@ -1260,15 +1260,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Verify a specified bank account for a given customer.

*/ post: operations["PostCustomersCustomerBankAccountsIdVerify"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/cards": { parameters: { @@ -1284,18 +1284,18 @@ export interface paths { * If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional cards.

*/ get: operations["GetCustomersCustomerCards"]; - put: never; + put?: never; /** @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

* *

If the card’s owner has no default card, then the new card will become the default. * However, if the owner already has a default, then it will not change. * To change the default, you should update the customer to have a new default_source.

*/ post: operations["PostCustomersCustomerCards"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/cards/{id}": { parameters: { @@ -1309,15 +1309,15 @@ export interface paths { * @description

You can always see the 10 most recent cards directly on a customer; this method lets you retrieve details about a specific card stored on the customer.

*/ get: operations["GetCustomersCustomerCardsId"]; - put: never; + put?: never; /** @description

Update a specified source for a given customer.

*/ post: operations["PostCustomersCustomerCardsId"]; /** @description

Delete a specified source for a given customer.

*/ delete: operations["DeleteCustomersCustomerCardsId"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/cash_balance": { parameters: { @@ -1328,14 +1328,14 @@ export interface paths { }; /** @description

Retrieves a customer’s cash balance.

*/ get: operations["GetCustomersCustomerCashBalance"]; - put: never; + put?: never; /** @description

Changes the settings on a customer’s cash balance.

*/ post: operations["PostCustomersCustomerCashBalance"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/cash_balance_transactions": { parameters: { @@ -1346,13 +1346,13 @@ export interface paths { }; /** @description

Returns a list of transactions that modified the customer’s cash balance.

*/ get: operations["GetCustomersCustomerCashBalanceTransactions"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/cash_balance_transactions/{transaction}": { parameters: { @@ -1363,13 +1363,13 @@ export interface paths { }; /** @description

Retrieves a specific cash balance transaction, which updated the customer’s cash balance.

*/ get: operations["GetCustomersCustomerCashBalanceTransactionsTransaction"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/discount": { parameters: { @@ -1379,14 +1379,14 @@ export interface paths { cookie?: never; }; get: operations["GetCustomersCustomerDiscount"]; - put: never; - post: never; + put?: never; + post?: never; /** @description

Removes the currently applied discount on a customer.

*/ delete: operations["DeleteCustomersCustomerDiscount"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/funding_instructions": { parameters: { @@ -1395,17 +1395,17 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new * funding instructions will be created. If funding instructions have already been created for a given customer, the same * funding instructions will be retrieved. In other words, we will return the same funding instructions each time.

*/ post: operations["PostCustomersCustomerFundingInstructions"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/payment_methods": { parameters: { @@ -1416,13 +1416,13 @@ export interface paths { }; /** @description

Returns a list of PaymentMethods for a given Customer

*/ get: operations["GetCustomersCustomerPaymentMethods"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/payment_methods/{payment_method}": { parameters: { @@ -1433,13 +1433,13 @@ export interface paths { }; /** @description

Retrieves a PaymentMethod object for a given Customer.

*/ get: operations["GetCustomersCustomerPaymentMethodsPaymentMethod"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/sources": { parameters: { @@ -1450,18 +1450,18 @@ export interface paths { }; /** @description

List sources for a specified customer.

*/ get: operations["GetCustomersCustomerSources"]; - put: never; + put?: never; /** @description

When you create a new credit card, you must specify a customer or recipient on which to create it.

* *

If the card’s owner has no default card, then the new card will become the default. * However, if the owner already has a default, then it will not change. * To change the default, you should update the customer to have a new default_source.

*/ post: operations["PostCustomersCustomerSources"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/sources/{id}": { parameters: { @@ -1472,15 +1472,15 @@ export interface paths { }; /** @description

Retrieve a specified source for a given customer.

*/ get: operations["GetCustomersCustomerSourcesId"]; - put: never; + put?: never; /** @description

Update a specified source for a given customer.

*/ post: operations["PostCustomersCustomerSourcesId"]; /** @description

Delete a specified source for a given customer.

*/ delete: operations["DeleteCustomersCustomerSourcesId"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/sources/{id}/verify": { parameters: { @@ -1489,15 +1489,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Verify a specified bank account for a given customer.

*/ post: operations["PostCustomersCustomerSourcesIdVerify"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/subscriptions": { parameters: { @@ -1508,14 +1508,14 @@ export interface paths { }; /** @description

You can see a list of the customer’s active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, you can use the limit and starting_after parameters to page through additional subscriptions.

*/ get: operations["GetCustomersCustomerSubscriptions"]; - put: never; + put?: never; /** @description

Creates a new subscription on an existing customer.

*/ post: operations["PostCustomersCustomerSubscriptions"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}": { parameters: { @@ -1526,7 +1526,7 @@ export interface paths { }; /** @description

Retrieves the subscription with the given ID.

*/ get: operations["GetCustomersCustomerSubscriptionsSubscriptionExposedId"]; - put: never; + put?: never; /** @description

Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint.

*/ post: operations["PostCustomersCustomerSubscriptionsSubscriptionExposedId"]; /** @description

Cancels a customer’s subscription. If you set the at_period_end parameter to true, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise, with the default false value, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription.

@@ -1535,10 +1535,10 @@ export interface paths { * *

By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.

*/ delete: operations["DeleteCustomersCustomerSubscriptionsSubscriptionExposedId"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}/discount": { parameters: { @@ -1548,14 +1548,14 @@ export interface paths { cookie?: never; }; get: operations["GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount"]; - put: never; - post: never; + put?: never; + post?: never; /** @description

Removes the currently applied discount on a customer.

*/ delete: operations["DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/tax_ids": { parameters: { @@ -1566,14 +1566,14 @@ export interface paths { }; /** @description

Returns a list of tax IDs for a customer.

*/ get: operations["GetCustomersCustomerTaxIds"]; - put: never; + put?: never; /** @description

Creates a new tax_id object for a customer.

*/ post: operations["PostCustomersCustomerTaxIds"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/customers/{customer}/tax_ids/{id}": { parameters: { @@ -1584,14 +1584,14 @@ export interface paths { }; /** @description

Retrieves the tax_id object with the given identifier.

*/ get: operations["GetCustomersCustomerTaxIdsId"]; - put: never; - post: never; + put?: never; + post?: never; /** @description

Deletes an existing tax_id object.

*/ delete: operations["DeleteCustomersCustomerTaxIdsId"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/disputes": { parameters: { @@ -1602,13 +1602,13 @@ export interface paths { }; /** @description

Returns a list of your disputes.

*/ get: operations["GetDisputes"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/disputes/{dispute}": { parameters: { @@ -1619,16 +1619,16 @@ export interface paths { }; /** @description

Retrieves the dispute with the given ID.

*/ get: operations["GetDisputesDispute"]; - put: never; + put?: never; /** @description

When you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your dashboard, but if you prefer, you can use the API to submit evidence programmatically.

* *

Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our guide to dispute types.

*/ post: operations["PostDisputesDispute"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/disputes/{dispute}/close": { parameters: { @@ -1637,17 +1637,17 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.

* *

The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible.

*/ post: operations["PostDisputesDisputeClose"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/ephemeral_keys": { parameters: { @@ -1656,15 +1656,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Creates a short-lived API key for a given resource.

*/ post: operations["PostEphemeralKeys"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/ephemeral_keys/{key}": { parameters: { @@ -1673,15 +1673,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** @description

Invalidates a short-lived API key for a given resource.

*/ delete: operations["DeleteEphemeralKeysKey"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/events": { parameters: { @@ -1692,13 +1692,13 @@ export interface paths { }; /** @description

List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in event object api_version attribute (not according to your current Stripe API version or Stripe-Version header).

*/ get: operations["GetEvents"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/events/{id}": { parameters: { @@ -1709,13 +1709,13 @@ export interface paths { }; /** @description

Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.

*/ get: operations["GetEventsId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/exchange_rates": { parameters: { @@ -1726,13 +1726,13 @@ export interface paths { }; /** @description

Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports.

*/ get: operations["GetExchangeRates"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/exchange_rates/{rate_id}": { parameters: { @@ -1743,13 +1743,13 @@ export interface paths { }; /** @description

Retrieves the exchange rates from the given currency to every supported currency.

*/ get: operations["GetExchangeRatesRateId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/file_links": { parameters: { @@ -1760,14 +1760,14 @@ export interface paths { }; /** @description

Returns a list of file links.

*/ get: operations["GetFileLinks"]; - put: never; + put?: never; /** @description

Creates a new file link object.

*/ post: operations["PostFileLinks"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/file_links/{link}": { parameters: { @@ -1778,14 +1778,14 @@ export interface paths { }; /** @description

Retrieves the file link with the given ID.

*/ get: operations["GetFileLinksLink"]; - put: never; + put?: never; /** @description

Updates an existing file link object. Expired links can no longer be updated.

*/ post: operations["PostFileLinksLink"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/files": { parameters: { @@ -1796,16 +1796,16 @@ export interface paths { }; /** @description

Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top.

*/ get: operations["GetFiles"]; - put: never; + put?: never; /** @description

To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file.

* *

All of Stripe’s officially supported Client libraries support sending multipart/form-data.

*/ post: operations["PostFiles"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/files/{file}": { parameters: { @@ -1816,13 +1816,13 @@ export interface paths { }; /** @description

Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to access file contents.

*/ get: operations["GetFilesFile"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/financial_connections/accounts": { parameters: { @@ -1833,13 +1833,13 @@ export interface paths { }; /** @description

Returns a list of Financial Connections Account objects.

*/ get: operations["GetFinancialConnectionsAccounts"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/financial_connections/accounts/{account}": { parameters: { @@ -1850,13 +1850,13 @@ export interface paths { }; /** @description

Retrieves the details of an Financial Connections Account.

*/ get: operations["GetFinancialConnectionsAccountsAccount"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/financial_connections/accounts/{account}/disconnect": { parameters: { @@ -1865,15 +1865,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).

*/ post: operations["PostFinancialConnectionsAccountsAccountDisconnect"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/financial_connections/accounts/{account}/owners": { parameters: { @@ -1884,13 +1884,13 @@ export interface paths { }; /** @description

Lists all owners for a given Account

*/ get: operations["GetFinancialConnectionsAccountsAccountOwners"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/financial_connections/accounts/{account}/refresh": { parameters: { @@ -1899,15 +1899,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Refreshes the data associated with a Financial Connections Account.

*/ post: operations["PostFinancialConnectionsAccountsAccountRefresh"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/financial_connections/sessions": { parameters: { @@ -1916,15 +1916,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.

*/ post: operations["PostFinancialConnectionsSessions"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/financial_connections/sessions/{session}": { parameters: { @@ -1935,13 +1935,13 @@ export interface paths { }; /** @description

Retrieves the details of a Financial Connections Session

*/ get: operations["GetFinancialConnectionsSessionsSession"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/identity/verification_reports": { parameters: { @@ -1952,13 +1952,13 @@ export interface paths { }; /** @description

List all verification reports.

*/ get: operations["GetIdentityVerificationReports"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/identity/verification_reports/{report}": { parameters: { @@ -1969,13 +1969,13 @@ export interface paths { }; /** @description

Retrieves an existing VerificationReport

*/ get: operations["GetIdentityVerificationReportsReport"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/identity/verification_sessions": { parameters: { @@ -1986,7 +1986,7 @@ export interface paths { }; /** @description

Returns a list of VerificationSessions

*/ get: operations["GetIdentityVerificationSessions"]; - put: never; + put?: never; /** @description

Creates a VerificationSession object.

* *

After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session’s url.

@@ -1995,11 +1995,11 @@ export interface paths { * *

Related guide: Verify your users’ identity documents

*/ post: operations["PostIdentityVerificationSessions"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/identity/verification_sessions/{session}": { parameters: { @@ -2013,17 +2013,17 @@ export interface paths { *

When the session status is requires_input, you can use this method to retrieve a valid * client_secret or url to allow re-submission.

*/ get: operations["GetIdentityVerificationSessionsSession"]; - put: never; + put?: never; /** @description

Updates a VerificationSession object.

* *

When the session status is requires_input, you can use this method to update the * verification check and options.

*/ post: operations["PostIdentityVerificationSessionsSession"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/identity/verification_sessions/{session}/cancel": { parameters: { @@ -2032,17 +2032,17 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

A VerificationSession object can be canceled when it is in requires_input status.

* *

Once canceled, future submission attempts are disabled. This cannot be undone. Learn more.

*/ post: operations["PostIdentityVerificationSessionsSessionCancel"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/identity/verification_sessions/{session}/redact": { parameters: { @@ -2051,8 +2051,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Redact a VerificationSession to remove all collected information from Stripe. This will redact * the VerificationSession and all objects related to it, including VerificationReports, Events, * request logs, etc.

@@ -2073,11 +2073,11 @@ export interface paths { * *

Learn more.

*/ post: operations["PostIdentityVerificationSessionsSessionRedact"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoiceitems": { parameters: { @@ -2088,14 +2088,14 @@ export interface paths { }; /** @description

Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.

*/ get: operations["GetInvoiceitems"]; - put: never; + put?: never; /** @description

Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified.

*/ post: operations["PostInvoiceitems"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoiceitems/{invoiceitem}": { parameters: { @@ -2106,15 +2106,15 @@ export interface paths { }; /** @description

Retrieves the invoice item with the given ID.

*/ get: operations["GetInvoiceitemsInvoiceitem"]; - put: never; + put?: never; /** @description

Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.

*/ post: operations["PostInvoiceitemsInvoiceitem"]; /** @description

Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not attached to invoices, or if it’s attached to a draft invoice.

*/ delete: operations["DeleteInvoiceitemsInvoiceitem"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoices": { parameters: { @@ -2125,14 +2125,14 @@ export interface paths { }; /** @description

You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.

*/ get: operations["GetInvoices"]; - put: never; + put?: never; /** @description

This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you finalize the invoice, which allows you to pay or send the invoice to your customers.

*/ post: operations["PostInvoices"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoices/search": { parameters: { @@ -2146,13 +2146,13 @@ export interface paths { * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ get: operations["GetInvoicesSearch"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoices/upcoming": { parameters: { @@ -2167,13 +2167,13 @@ export interface paths { * *

You can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass a proration_date parameter when doing the actual subscription update. The value passed in should be the same as the subscription_proration_date returned on the upcoming invoice resource. The recommended way to get only the prorations being previewed is to consider only proration line items where period[start] is equal to the subscription_proration_date on the upcoming invoice resource.

*/ get: operations["GetInvoicesUpcoming"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoices/upcoming/lines": { parameters: { @@ -2184,13 +2184,13 @@ export interface paths { }; /** @description

When retrieving an upcoming invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ get: operations["GetInvoicesUpcomingLines"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoices/{invoice}": { parameters: { @@ -2201,7 +2201,7 @@ export interface paths { }; /** @description

Retrieves the invoice with the given ID.

*/ get: operations["GetInvoicesInvoice"]; - put: never; + put?: never; /** @description

Draft invoices are fully editable. Once an invoice is finalized, * monetary values, as well as collection_method, become uneditable.

* @@ -2211,10 +2211,10 @@ export interface paths { post: operations["PostInvoicesInvoice"]; /** @description

Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be voided.

*/ delete: operations["DeleteInvoicesInvoice"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoices/{invoice}/finalize": { parameters: { @@ -2223,15 +2223,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.

*/ post: operations["PostInvoicesInvoiceFinalize"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoices/{invoice}/lines": { parameters: { @@ -2242,13 +2242,13 @@ export interface paths { }; /** @description

When retrieving an invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ get: operations["GetInvoicesInvoiceLines"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoices/{invoice}/mark_uncollectible": { parameters: { @@ -2257,15 +2257,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.

*/ post: operations["PostInvoicesInvoiceMarkUncollectible"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoices/{invoice}/pay": { parameters: { @@ -2274,15 +2274,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your subscriptions settings. However, if you’d like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.

*/ post: operations["PostInvoicesInvoicePay"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoices/{invoice}/send": { parameters: { @@ -2291,17 +2291,17 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Stripe will automatically send invoices to customers according to your subscriptions settings. However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.

* *

Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event.

*/ post: operations["PostInvoicesInvoiceSend"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/invoices/{invoice}/void": { parameters: { @@ -2310,15 +2310,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to deletion, however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.

*/ post: operations["PostInvoicesInvoiceVoid"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/authorizations": { parameters: { @@ -2329,13 +2329,13 @@ export interface paths { }; /** @description

Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ get: operations["GetIssuingAuthorizations"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/authorizations/{authorization}": { parameters: { @@ -2346,14 +2346,14 @@ export interface paths { }; /** @description

Retrieves an Issuing Authorization object.

*/ get: operations["GetIssuingAuthorizationsAuthorization"]; - put: never; + put?: never; /** @description

Updates the specified Issuing Authorization object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ post: operations["PostIssuingAuthorizationsAuthorization"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/authorizations/{authorization}/approve": { parameters: { @@ -2362,16 +2362,16 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

[Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the real-time authorization flow. * This method is deprecated. Instead, respond directly to the webhook request to approve an authorization.

*/ post: operations["PostIssuingAuthorizationsAuthorizationApprove"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/authorizations/{authorization}/decline": { parameters: { @@ -2380,16 +2380,16 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

[Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the real time authorization flow. * This method is deprecated. Instead, respond directly to the webhook request to decline an authorization.

*/ post: operations["PostIssuingAuthorizationsAuthorizationDecline"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/cardholders": { parameters: { @@ -2400,14 +2400,14 @@ export interface paths { }; /** @description

Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ get: operations["GetIssuingCardholders"]; - put: never; + put?: never; /** @description

Creates a new Issuing Cardholder object that can be issued cards.

*/ post: operations["PostIssuingCardholders"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/cardholders/{cardholder}": { parameters: { @@ -2418,14 +2418,14 @@ export interface paths { }; /** @description

Retrieves an Issuing Cardholder object.

*/ get: operations["GetIssuingCardholdersCardholder"]; - put: never; + put?: never; /** @description

Updates the specified Issuing Cardholder object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ post: operations["PostIssuingCardholdersCardholder"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/cards": { parameters: { @@ -2436,14 +2436,14 @@ export interface paths { }; /** @description

Returns a list of Issuing Card objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ get: operations["GetIssuingCards"]; - put: never; + put?: never; /** @description

Creates an Issuing Card object.

*/ post: operations["PostIssuingCards"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/cards/{card}": { parameters: { @@ -2454,14 +2454,14 @@ export interface paths { }; /** @description

Retrieves an Issuing Card object.

*/ get: operations["GetIssuingCardsCard"]; - put: never; + put?: never; /** @description

Updates the specified Issuing Card object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ post: operations["PostIssuingCardsCard"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/disputes": { parameters: { @@ -2472,14 +2472,14 @@ export interface paths { }; /** @description

Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ get: operations["GetIssuingDisputes"]; - put: never; + put?: never; /** @description

Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to Dispute reasons and evidence for more details about evidence requirements.

*/ post: operations["PostIssuingDisputes"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/disputes/{dispute}": { parameters: { @@ -2490,14 +2490,14 @@ export interface paths { }; /** @description

Retrieves an Issuing Dispute object.

*/ get: operations["GetIssuingDisputesDispute"]; - put: never; + put?: never; /** @description

Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence object can be unset by passing in an empty string.

*/ post: operations["PostIssuingDisputesDispute"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/disputes/{dispute}/submit": { parameters: { @@ -2506,15 +2506,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute’s reason are present. For more details, see Dispute reasons and evidence.

*/ post: operations["PostIssuingDisputesDisputeSubmit"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/settlements": { parameters: { @@ -2525,13 +2525,13 @@ export interface paths { }; /** @description

Returns a list of Issuing Settlement objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ get: operations["GetIssuingSettlements"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/settlements/{settlement}": { parameters: { @@ -2542,14 +2542,14 @@ export interface paths { }; /** @description

Retrieves an Issuing Settlement object.

*/ get: operations["GetIssuingSettlementsSettlement"]; - put: never; + put?: never; /** @description

Updates the specified Issuing Settlement object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ post: operations["PostIssuingSettlementsSettlement"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/transactions": { parameters: { @@ -2560,13 +2560,13 @@ export interface paths { }; /** @description

Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ get: operations["GetIssuingTransactions"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/issuing/transactions/{transaction}": { parameters: { @@ -2577,14 +2577,14 @@ export interface paths { }; /** @description

Retrieves an Issuing Transaction object.

*/ get: operations["GetIssuingTransactionsTransaction"]; - put: never; + put?: never; /** @description

Updates the specified Issuing Transaction object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ post: operations["PostIssuingTransactionsTransaction"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/link_account_sessions": { parameters: { @@ -2593,15 +2593,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.

*/ post: operations["PostLinkAccountSessions"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/link_account_sessions/{session}": { parameters: { @@ -2612,13 +2612,13 @@ export interface paths { }; /** @description

Retrieves the details of a Financial Connections Session

*/ get: operations["GetLinkAccountSessionsSession"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/linked_accounts": { parameters: { @@ -2629,13 +2629,13 @@ export interface paths { }; /** @description

Returns a list of Financial Connections Account objects.

*/ get: operations["GetLinkedAccounts"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/linked_accounts/{account}": { parameters: { @@ -2646,13 +2646,13 @@ export interface paths { }; /** @description

Retrieves the details of an Financial Connections Account.

*/ get: operations["GetLinkedAccountsAccount"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/linked_accounts/{account}/disconnect": { parameters: { @@ -2661,15 +2661,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).

*/ post: operations["PostLinkedAccountsAccountDisconnect"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/linked_accounts/{account}/owners": { parameters: { @@ -2680,13 +2680,13 @@ export interface paths { }; /** @description

Lists all owners for a given Account

*/ get: operations["GetLinkedAccountsAccountOwners"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/linked_accounts/{account}/refresh": { parameters: { @@ -2695,15 +2695,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Refreshes the data associated with a Financial Connections Account.

*/ post: operations["PostLinkedAccountsAccountRefresh"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/mandates/{mandate}": { parameters: { @@ -2714,13 +2714,13 @@ export interface paths { }; /** @description

Retrieves a Mandate object.

*/ get: operations["GetMandatesMandate"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_intents": { parameters: { @@ -2731,7 +2731,7 @@ export interface paths { }; /** @description

Returns a list of PaymentIntents.

*/ get: operations["GetPaymentIntents"]; - put: never; + put?: never; /** @description

Creates a PaymentIntent object.

* *

After the PaymentIntent is created, attach a payment method and confirm @@ -2743,11 +2743,11 @@ export interface paths { * available in the confirm API when you supply * confirm=true.

*/ post: operations["PostPaymentIntents"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_intents/search": { parameters: { @@ -2761,13 +2761,13 @@ export interface paths { * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ get: operations["GetPaymentIntentsSearch"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_intents/{intent}": { parameters: { @@ -2782,7 +2782,7 @@ export interface paths { * *

If you retrieve a PaymentIntent with a publishable key, it only returns a subset of properties. Refer to the payment intent object reference for more details.

*/ get: operations["GetPaymentIntentsIntent"]; - put: never; + put?: never; /** @description

Updates properties on a PaymentIntent object without confirming.

* *

Depending on which properties you update, you might need to confirm the @@ -2791,11 +2791,11 @@ export interface paths { * update and confirm at the same time, we recommend updating properties through * the confirm API instead.

*/ post: operations["PostPaymentIntentsIntent"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_intents/{intent}/apply_customer_balance": { parameters: { @@ -2804,15 +2804,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Manually reconcile the remaining amount for a customer_balance PaymentIntent.

*/ post: operations["PostPaymentIntentsIntentApplyCustomerBalance"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_intents/{intent}/cancel": { parameters: { @@ -2821,19 +2821,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

You can cancel a PaymentIntent object when it’s in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, in rare cases, processing.

* *

After it’s canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded.

* *

You can’t cancel the PaymentIntent for a Checkout Session. Expire the Checkout Session instead.

*/ post: operations["PostPaymentIntentsIntentCancel"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_intents/{intent}/capture": { parameters: { @@ -2842,19 +2842,19 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture.

* *

Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation.

* *

Learn more about separate authorization and capture.

*/ post: operations["PostPaymentIntentsIntentCapture"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_intents/{intent}/confirm": { parameters: { @@ -2863,8 +2863,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Confirm that your customer intends to pay with current or provided * payment method. Upon confirmation, the PaymentIntent will attempt to initiate * a payment. @@ -2889,11 +2889,11 @@ export interface paths { * attempt. Read the expanded documentation * to learn more about manual confirmation.

*/ post: operations["PostPaymentIntentsIntentConfirm"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_intents/{intent}/increment_authorization": { parameters: { @@ -2902,8 +2902,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Perform an incremental authorization on an eligible * PaymentIntent. To be eligible, the * PaymentIntent’s status must be requires_capture and @@ -2929,11 +2929,11 @@ export interface paths { * *

Learn more about incremental authorizations.

*/ post: operations["PostPaymentIntentsIntentIncrementAuthorization"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_intents/{intent}/verify_microdeposits": { parameters: { @@ -2942,15 +2942,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Verifies microdeposits on a PaymentIntent object.

*/ post: operations["PostPaymentIntentsIntentVerifyMicrodeposits"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_links": { parameters: { @@ -2961,14 +2961,14 @@ export interface paths { }; /** @description

Returns a list of your payment links.

*/ get: operations["GetPaymentLinks"]; - put: never; + put?: never; /** @description

Creates a payment link.

*/ post: operations["PostPaymentLinks"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_links/{payment_link}": { parameters: { @@ -2979,14 +2979,14 @@ export interface paths { }; /** @description

Retrieve a payment link.

*/ get: operations["GetPaymentLinksPaymentLink"]; - put: never; + put?: never; /** @description

Updates a payment link.

*/ post: operations["PostPaymentLinksPaymentLink"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_links/{payment_link}/line_items": { parameters: { @@ -2997,13 +2997,13 @@ export interface paths { }; /** @description

When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ get: operations["GetPaymentLinksPaymentLinkLineItems"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_method_configurations": { parameters: { @@ -3014,14 +3014,14 @@ export interface paths { }; /** @description

List payment method configurations

*/ get: operations["GetPaymentMethodConfigurations"]; - put: never; + put?: never; /** @description

Creates a payment method configuration

*/ post: operations["PostPaymentMethodConfigurations"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_method_configurations/{configuration}": { parameters: { @@ -3032,14 +3032,14 @@ export interface paths { }; /** @description

Retrieve payment method configuration

*/ get: operations["GetPaymentMethodConfigurationsConfiguration"]; - put: never; + put?: never; /** @description

Update payment method configuration

*/ post: operations["PostPaymentMethodConfigurationsConfiguration"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_method_domains": { parameters: { @@ -3050,14 +3050,14 @@ export interface paths { }; /** @description

Lists the details of existing payment method domains.

*/ get: operations["GetPaymentMethodDomains"]; - put: never; + put?: never; /** @description

Creates a payment method domain.

*/ post: operations["PostPaymentMethodDomains"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_method_domains/{payment_method_domain}": { parameters: { @@ -3068,14 +3068,14 @@ export interface paths { }; /** @description

Retrieves the details of an existing payment method domain.

*/ get: operations["GetPaymentMethodDomainsPaymentMethodDomain"]; - put: never; + put?: never; /** @description

Updates an existing payment method domain.

*/ post: operations["PostPaymentMethodDomainsPaymentMethodDomain"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_method_domains/{payment_method_domain}/validate": { parameters: { @@ -3084,8 +3084,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Some payment methods such as Apple Pay require additional steps to verify a domain. If the requirements weren’t satisfied when the domain was created, the payment method will be inactive on the domain. * The payment method doesn’t appear in Elements for this domain until it is active.

* @@ -3093,11 +3093,11 @@ export interface paths { * *

Related guides: Payment method domains.

*/ post: operations["PostPaymentMethodDomainsPaymentMethodDomainValidate"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_methods": { parameters: { @@ -3108,16 +3108,16 @@ export interface paths { }; /** @description

Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the List a Customer’s PaymentMethods API instead.

*/ get: operations["GetPaymentMethods"]; - put: never; + put?: never; /** @description

Creates a PaymentMethod object. Read the Stripe.js reference to learn how to create PaymentMethods via Stripe.js.

* *

Instead of creating a PaymentMethod directly, we recommend using the PaymentIntents API to accept a payment immediately or the SetupIntent API to collect payment method details ahead of a future payment.

*/ post: operations["PostPaymentMethods"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_methods/{payment_method}": { parameters: { @@ -3128,14 +3128,14 @@ export interface paths { }; /** @description

Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use Retrieve a Customer’s PaymentMethods

*/ get: operations["GetPaymentMethodsPaymentMethod"]; - put: never; + put?: never; /** @description

Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.

*/ post: operations["PostPaymentMethodsPaymentMethod"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_methods/{payment_method}/attach": { parameters: { @@ -3144,8 +3144,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Attaches a PaymentMethod object to a Customer.

* *

To attach a new PaymentMethod to a customer for future payments, we recommend you use a SetupIntent @@ -3160,11 +3160,11 @@ export interface paths { * set invoice_settings.default_payment_method, * on the Customer to the PaymentMethod’s ID.

*/ post: operations["PostPaymentMethodsPaymentMethodAttach"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payment_methods/{payment_method}/detach": { parameters: { @@ -3173,15 +3173,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer.

*/ post: operations["PostPaymentMethodsPaymentMethodDetach"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payouts": { parameters: { @@ -3192,18 +3192,18 @@ export interface paths { }; /** @description

Returns a list of existing payouts sent to third-party bank accounts or payouts that Stripe sent to you. The payouts return in sorted order, with the most recently created payouts appearing first.

*/ get: operations["GetPayouts"]; - put: never; + put?: never; /** @description

To send funds to your own bank account, create a new payout object. Your Stripe balance must cover the payout amount. If it doesn’t, you receive an “Insufficient Funds” error.

* *

If your API key is in test mode, money won’t actually be sent, though every other action occurs as if you’re in live mode.

* *

If you create a manual payout on a Stripe account that uses multiple payment source types, you need to specify the source type balance that the payout draws from. The balance object details available and pending amounts by source type.

*/ post: operations["PostPayouts"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payouts/{payout}": { parameters: { @@ -3214,14 +3214,14 @@ export interface paths { }; /** @description

Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list. Stripe returns the corresponding payout information.

*/ get: operations["GetPayoutsPayout"]; - put: never; + put?: never; /** @description

Updates the specified payout by setting the values of the parameters you pass. We don’t change parameters that you don’t provide. This request only accepts the metadata as arguments.

*/ post: operations["PostPayoutsPayout"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payouts/{payout}/cancel": { parameters: { @@ -3230,15 +3230,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

You can cancel a previously created payout if it hasn’t been paid out yet. Stripe refunds the funds to your available balance. You can’t cancel automatic Stripe payouts.

*/ post: operations["PostPayoutsPayoutCancel"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/payouts/{payout}/reverse": { parameters: { @@ -3247,17 +3247,17 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US bank accounts. If the payout is in the pending status, use /v1/payouts/:id/cancel instead.

* *

By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required.

*/ post: operations["PostPayoutsPayoutReverse"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/plans": { parameters: { @@ -3268,14 +3268,14 @@ export interface paths { }; /** @description

Returns a list of your plans.

*/ get: operations["GetPlans"]; - put: never; + put?: never; /** @description

You can now model subscriptions more flexibly using the Prices API. It replaces the Plans API and is backwards compatible to simplify your migration.

*/ post: operations["PostPlans"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/plans/{plan}": { parameters: { @@ -3286,15 +3286,15 @@ export interface paths { }; /** @description

Retrieves the plan with the given ID.

*/ get: operations["GetPlansPlan"]; - put: never; + put?: never; /** @description

Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.

*/ post: operations["PostPlansPlan"]; /** @description

Deleting plans means new subscribers can’t be added. Existing subscribers aren’t affected.

*/ delete: operations["DeletePlansPlan"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/prices": { parameters: { @@ -3305,14 +3305,14 @@ export interface paths { }; /** @description

Returns a list of your prices.

*/ get: operations["GetPrices"]; - put: never; + put?: never; /** @description

Creates a new price for an existing product. The price can be recurring or one-time.

*/ post: operations["PostPrices"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/prices/search": { parameters: { @@ -3326,13 +3326,13 @@ export interface paths { * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ get: operations["GetPricesSearch"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/prices/{price}": { parameters: { @@ -3343,14 +3343,14 @@ export interface paths { }; /** @description

Retrieves the price with the given ID.

*/ get: operations["GetPricesPrice"]; - put: never; + put?: never; /** @description

Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged.

*/ post: operations["PostPricesPrice"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/products": { parameters: { @@ -3361,14 +3361,14 @@ export interface paths { }; /** @description

Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.

*/ get: operations["GetProducts"]; - put: never; + put?: never; /** @description

Creates a new product object.

*/ post: operations["PostProducts"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/products/search": { parameters: { @@ -3382,13 +3382,13 @@ export interface paths { * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ get: operations["GetProductsSearch"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/products/{id}": { parameters: { @@ -3399,15 +3399,15 @@ export interface paths { }; /** @description

Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.

*/ get: operations["GetProductsId"]; - put: never; + put?: never; /** @description

Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ post: operations["PostProductsId"]; /** @description

Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it.

*/ delete: operations["DeleteProductsId"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/promotion_codes": { parameters: { @@ -3418,14 +3418,14 @@ export interface paths { }; /** @description

Returns a list of your promotion codes.

*/ get: operations["GetPromotionCodes"]; - put: never; + put?: never; /** @description

A promotion code points to a coupon. You can optionally restrict the code to a specific customer, redemption limit, and expiration date.

*/ post: operations["PostPromotionCodes"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/promotion_codes/{promotion_code}": { parameters: { @@ -3436,14 +3436,14 @@ export interface paths { }; /** @description

Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use list with the desired code.

*/ get: operations["GetPromotionCodesPromotionCode"]; - put: never; + put?: never; /** @description

Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable.

*/ post: operations["PostPromotionCodesPromotionCode"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/quotes": { parameters: { @@ -3454,14 +3454,14 @@ export interface paths { }; /** @description

Returns a list of your quotes.

*/ get: operations["GetQuotes"]; - put: never; + put?: never; /** @description

A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the quote template.

*/ post: operations["PostQuotes"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/quotes/{quote}": { parameters: { @@ -3472,14 +3472,14 @@ export interface paths { }; /** @description

Retrieves the quote with the given ID.

*/ get: operations["GetQuotesQuote"]; - put: never; + put?: never; /** @description

A quote models prices and services for a customer.

*/ post: operations["PostQuotesQuote"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/quotes/{quote}/accept": { parameters: { @@ -3488,15 +3488,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Accepts the specified quote.

*/ post: operations["PostQuotesQuoteAccept"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/quotes/{quote}/cancel": { parameters: { @@ -3505,15 +3505,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Cancels the quote.

*/ post: operations["PostQuotesQuoteCancel"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/quotes/{quote}/computed_upfront_line_items": { parameters: { @@ -3524,13 +3524,13 @@ export interface paths { }; /** @description

When retrieving a quote, there is an includable computed.upfront.line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items.

*/ get: operations["GetQuotesQuoteComputedUpfrontLineItems"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/quotes/{quote}/finalize": { parameters: { @@ -3539,15 +3539,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Finalizes the quote.

*/ post: operations["PostQuotesQuoteFinalize"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/quotes/{quote}/line_items": { parameters: { @@ -3558,13 +3558,13 @@ export interface paths { }; /** @description

When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.

*/ get: operations["GetQuotesQuoteLineItems"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/quotes/{quote}/pdf": { parameters: { @@ -3575,13 +3575,13 @@ export interface paths { }; /** @description

Download the PDF for a finalized quote

*/ get: operations["GetQuotesQuotePdf"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/radar/early_fraud_warnings": { parameters: { @@ -3592,13 +3592,13 @@ export interface paths { }; /** @description

Returns a list of early fraud warnings.

*/ get: operations["GetRadarEarlyFraudWarnings"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/radar/early_fraud_warnings/{early_fraud_warning}": { parameters: { @@ -3611,13 +3611,13 @@ export interface paths { * *

Please refer to the early fraud warning object reference for more details.

*/ get: operations["GetRadarEarlyFraudWarningsEarlyFraudWarning"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/radar/value_list_items": { parameters: { @@ -3628,14 +3628,14 @@ export interface paths { }; /** @description

Returns a list of ValueListItem objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ get: operations["GetRadarValueListItems"]; - put: never; + put?: never; /** @description

Creates a new ValueListItem object, which is added to the specified parent value list.

*/ post: operations["PostRadarValueListItems"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/radar/value_list_items/{item}": { parameters: { @@ -3646,14 +3646,14 @@ export interface paths { }; /** @description

Retrieves a ValueListItem object.

*/ get: operations["GetRadarValueListItemsItem"]; - put: never; - post: never; + put?: never; + post?: never; /** @description

Deletes a ValueListItem object, removing it from its parent value list.

*/ delete: operations["DeleteRadarValueListItemsItem"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/radar/value_lists": { parameters: { @@ -3664,14 +3664,14 @@ export interface paths { }; /** @description

Returns a list of ValueList objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ get: operations["GetRadarValueLists"]; - put: never; + put?: never; /** @description

Creates a new ValueList object, which can then be referenced in rules.

*/ post: operations["PostRadarValueLists"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/radar/value_lists/{value_list}": { parameters: { @@ -3682,15 +3682,15 @@ export interface paths { }; /** @description

Retrieves a ValueList object.

*/ get: operations["GetRadarValueListsValueList"]; - put: never; + put?: never; /** @description

Updates a ValueList object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that item_type is immutable.

*/ post: operations["PostRadarValueListsValueList"]; /** @description

Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules.

*/ delete: operations["DeleteRadarValueListsValueList"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/refunds": { parameters: { @@ -3701,7 +3701,7 @@ export interface paths { }; /** @description

Returns a list of all refunds you created. We return the refunds in sorted order, with the most recent refunds appearing first The 10 most recent refunds are always available by default on the Charge object.

*/ get: operations["GetRefunds"]; - put: never; + put?: never; /** @description

When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.

* *

Creating a new refund will refund a charge that has previously been created but not yet refunded. @@ -3714,11 +3714,11 @@ export interface paths { * This method will raise an error when called on an already-refunded charge, * or when trying to refund more money than is left on a charge.

*/ post: operations["PostRefunds"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/refunds/{refund}": { parameters: { @@ -3729,16 +3729,16 @@ export interface paths { }; /** @description

Retrieves the details of an existing refund.

*/ get: operations["GetRefundsRefund"]; - put: never; + put?: never; /** @description

Updates the refund that you specify by setting the values of the passed parameters. Any parameters that you don’t provide remain unchanged.

* *

This request only accepts metadata as an argument.

*/ post: operations["PostRefundsRefund"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/refunds/{refund}/cancel": { parameters: { @@ -3747,17 +3747,17 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Cancels a refund with a status of requires_action.

* *

You can’t cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state.

*/ post: operations["PostRefundsRefundCancel"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/reporting/report_runs": { parameters: { @@ -3768,14 +3768,14 @@ export interface paths { }; /** @description

Returns a list of Report Runs, with the most recent appearing first.

*/ get: operations["GetReportingReportRuns"]; - put: never; + put?: never; /** @description

Creates a new object and begin running the report. (Certain report types require a live-mode API key.)

*/ post: operations["PostReportingReportRuns"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/reporting/report_runs/{report_run}": { parameters: { @@ -3786,13 +3786,13 @@ export interface paths { }; /** @description

Retrieves the details of an existing Report Run.

*/ get: operations["GetReportingReportRunsReportRun"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/reporting/report_types": { parameters: { @@ -3803,13 +3803,13 @@ export interface paths { }; /** @description

Returns a full list of Report Types.

*/ get: operations["GetReportingReportTypes"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/reporting/report_types/{report_type}": { parameters: { @@ -3820,13 +3820,13 @@ export interface paths { }; /** @description

Retrieves the details of a Report Type. (Certain report types require a live-mode API key.)

*/ get: operations["GetReportingReportTypesReportType"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/reviews": { parameters: { @@ -3837,13 +3837,13 @@ export interface paths { }; /** @description

Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first.

*/ get: operations["GetReviews"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/reviews/{review}": { parameters: { @@ -3854,13 +3854,13 @@ export interface paths { }; /** @description

Retrieves a Review object.

*/ get: operations["GetReviewsReview"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/reviews/{review}/approve": { parameters: { @@ -3869,15 +3869,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Approves a Review object, closing it and removing it from the list of reviews.

*/ post: operations["PostReviewsReviewApprove"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/setup_attempts": { parameters: { @@ -3888,13 +3888,13 @@ export interface paths { }; /** @description

Returns a list of SetupAttempts that associate with a provided SetupIntent.

*/ get: operations["GetSetupAttempts"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/setup_intents": { parameters: { @@ -3905,17 +3905,17 @@ export interface paths { }; /** @description

Returns a list of SetupIntents.

*/ get: operations["GetSetupIntents"]; - put: never; + put?: never; /** @description

Creates a SetupIntent object.

* *

After the SetupIntent is created, attach a payment method and confirm * to collect any required permissions to charge the payment method later.

*/ post: operations["PostSetupIntents"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/setup_intents/{intent}": { parameters: { @@ -3930,14 +3930,14 @@ export interface paths { * *

When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the SetupIntent object reference for more details.

*/ get: operations["GetSetupIntentsIntent"]; - put: never; + put?: never; /** @description

Updates a SetupIntent object.

*/ post: operations["PostSetupIntentsIntent"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/setup_intents/{intent}/cancel": { parameters: { @@ -3946,17 +3946,17 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

A SetupIntent object can be canceled when it is in one of these statuses: requires_payment_method, requires_confirmation, or requires_action.

* *

Once canceled, setup is abandoned and any operations on the SetupIntent will fail with an error.

*/ post: operations["PostSetupIntentsIntentCancel"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/setup_intents/{intent}/confirm": { parameters: { @@ -3965,8 +3965,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Confirm that your customer intends to set up the current or * provided payment method. For example, you would confirm a SetupIntent * when a customer hits the “Save” button on a payment method management @@ -3982,11 +3982,11 @@ export interface paths { * requires_payment_method status or the canceled status if the * confirmation limit is reached.

*/ post: operations["PostSetupIntentsIntentConfirm"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/setup_intents/{intent}/verify_microdeposits": { parameters: { @@ -3995,15 +3995,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Verifies microdeposits on a SetupIntent object.

*/ post: operations["PostSetupIntentsIntentVerifyMicrodeposits"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/shipping_rates": { parameters: { @@ -4014,14 +4014,14 @@ export interface paths { }; /** @description

Returns a list of your shipping rates.

*/ get: operations["GetShippingRates"]; - put: never; + put?: never; /** @description

Creates a new shipping rate object.

*/ post: operations["PostShippingRates"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/shipping_rates/{shipping_rate_token}": { parameters: { @@ -4032,14 +4032,14 @@ export interface paths { }; /** @description

Returns the shipping rate object with the given ID.

*/ get: operations["GetShippingRatesShippingRateToken"]; - put: never; + put?: never; /** @description

Updates an existing shipping rate object.

*/ post: operations["PostShippingRatesShippingRateToken"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/sigma/scheduled_query_runs": { parameters: { @@ -4050,13 +4050,13 @@ export interface paths { }; /** @description

Returns a list of scheduled query runs.

*/ get: operations["GetSigmaScheduledQueryRuns"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/sigma/scheduled_query_runs/{scheduled_query_run}": { parameters: { @@ -4067,13 +4067,13 @@ export interface paths { }; /** @description

Retrieves the details of an scheduled query run.

*/ get: operations["GetSigmaScheduledQueryRunsScheduledQueryRun"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/sources": { parameters: { @@ -4082,15 +4082,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Creates a new source object.

*/ post: operations["PostSources"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/sources/{source}": { parameters: { @@ -4101,16 +4101,16 @@ export interface paths { }; /** @description

Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information.

*/ get: operations["GetSourcesSource"]; - put: never; + put?: never; /** @description

Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

* *

This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our payment method guides for more detail.

*/ post: operations["PostSourcesSource"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/sources/{source}/mandate_notifications/{mandate_notification}": { parameters: { @@ -4121,13 +4121,13 @@ export interface paths { }; /** @description

Retrieves a new Source MandateNotification.

*/ get: operations["GetSourcesSourceMandateNotificationsMandateNotification"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/sources/{source}/source_transactions": { parameters: { @@ -4138,13 +4138,13 @@ export interface paths { }; /** @description

List source transactions for a given source.

*/ get: operations["GetSourcesSourceSourceTransactions"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/sources/{source}/source_transactions/{source_transaction}": { parameters: { @@ -4155,13 +4155,13 @@ export interface paths { }; /** @description

Retrieve an existing source transaction object. Supply the unique source ID from a source creation request and the source transaction ID and Stripe will return the corresponding up-to-date source object information.

*/ get: operations["GetSourcesSourceSourceTransactionsSourceTransaction"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/sources/{source}/verify": { parameters: { @@ -4170,15 +4170,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Verify a given source.

*/ post: operations["PostSourcesSourceVerify"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscription_items": { parameters: { @@ -4189,14 +4189,14 @@ export interface paths { }; /** @description

Returns a list of your subscription items for a given subscription.

*/ get: operations["GetSubscriptionItems"]; - put: never; + put?: never; /** @description

Adds a new item to an existing subscription. No existing items will be changed or replaced.

*/ post: operations["PostSubscriptionItems"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscription_items/{item}": { parameters: { @@ -4207,15 +4207,15 @@ export interface paths { }; /** @description

Retrieves the subscription item with the given ID.

*/ get: operations["GetSubscriptionItemsItem"]; - put: never; + put?: never; /** @description

Updates the plan or quantity of an item on a current subscription.

*/ post: operations["PostSubscriptionItemsItem"]; /** @description

Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.

*/ delete: operations["DeleteSubscriptionItemsItem"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscription_items/{subscription_item}/usage_record_summaries": { parameters: { @@ -4228,13 +4228,13 @@ export interface paths { * *

The list is sorted in reverse-chronological order (newest first). The first list item represents the most current usage period that hasn’t ended yet. Since new usage records can still be added, the returned summary information for the subscription item’s ID should be seen as unstable until the subscription billing period ends.

*/ get: operations["GetSubscriptionItemsSubscriptionItemUsageRecordSummaries"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscription_items/{subscription_item}/usage_records": { parameters: { @@ -4243,8 +4243,8 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Creates a usage record for a specified subscription item and date, and fills it with a quantity.

* *

Usage records provide quantity information that Stripe uses to track how much a customer is using your service. With usage information and the pricing model set up by the metered billing plan, Stripe helps you send accurate invoices to your customers.

@@ -4253,11 +4253,11 @@ export interface paths { * *

The default pricing model for metered billing is per-unit pricing. For finer granularity, you can configure metered billing to have a tiered pricing model.

*/ post: operations["PostSubscriptionItemsSubscriptionItemUsageRecords"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscription_schedules": { parameters: { @@ -4268,14 +4268,14 @@ export interface paths { }; /** @description

Retrieves the list of your subscription schedules.

*/ get: operations["GetSubscriptionSchedules"]; - put: never; + put?: never; /** @description

Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.

*/ post: operations["PostSubscriptionSchedules"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscription_schedules/{schedule}": { parameters: { @@ -4286,14 +4286,14 @@ export interface paths { }; /** @description

Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation.

*/ get: operations["GetSubscriptionSchedulesSchedule"]; - put: never; + put?: never; /** @description

Updates an existing subscription schedule.

*/ post: operations["PostSubscriptionSchedulesSchedule"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscription_schedules/{schedule}/cancel": { parameters: { @@ -4302,15 +4302,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active.

*/ post: operations["PostSubscriptionSchedulesScheduleCancel"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscription_schedules/{schedule}/release": { parameters: { @@ -4319,15 +4319,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription’s ID to the released_subscription property.

*/ post: operations["PostSubscriptionSchedulesScheduleRelease"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscriptions": { parameters: { @@ -4338,7 +4338,7 @@ export interface paths { }; /** @description

By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify status=canceled.

*/ get: operations["GetSubscriptions"]; - put: never; + put?: never; /** @description

Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.

* *

When you create a subscription with collection_method=charge_automatically, the first invoice is finalized as part of the request. @@ -4347,11 +4347,11 @@ export interface paths { *

To start subscriptions where the first invoice always begins in a draft status, use subscription schedules instead. * Schedules provide the flexibility to model more complex billing configurations that change over time.

*/ post: operations["PostSubscriptions"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscriptions/search": { parameters: { @@ -4365,13 +4365,13 @@ export interface paths { * conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up * to an hour behind during outages. Search functionality is not available to merchants in India.

*/ get: operations["GetSubscriptionsSearch"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscriptions/{subscription_exposed_id}": { parameters: { @@ -4382,7 +4382,7 @@ export interface paths { }; /** @description

Retrieves the subscription with the given ID.

*/ get: operations["GetSubscriptionsSubscriptionExposedId"]; - put: never; + put?: never; /** @description

Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint.

*/ post: operations["PostSubscriptionsSubscriptionExposedId"]; /** @description

Cancels a customer’s subscription immediately. The customer will not be charged again for the subscription.

@@ -4391,10 +4391,10 @@ export interface paths { * *

By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.

*/ delete: operations["DeleteSubscriptionsSubscriptionExposedId"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscriptions/{subscription_exposed_id}/discount": { parameters: { @@ -4403,15 +4403,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; + get?: never; + put?: never; + post?: never; /** @description

Removes the currently applied discount on a subscription.

*/ delete: operations["DeleteSubscriptionsSubscriptionExposedIdDiscount"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/subscriptions/{subscription}/resume": { parameters: { @@ -4420,15 +4420,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date.

*/ post: operations["PostSubscriptionsSubscriptionResume"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tax/calculations": { parameters: { @@ -4437,15 +4437,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Calculates tax based on input and returns a Tax Calculation object.

*/ post: operations["PostTaxCalculations"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tax/calculations/{calculation}/line_items": { parameters: { @@ -4456,13 +4456,13 @@ export interface paths { }; /** @description

Retrieves the line items of a persisted tax calculation as a collection.

*/ get: operations["GetTaxCalculationsCalculationLineItems"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tax/settings": { parameters: { @@ -4473,14 +4473,14 @@ export interface paths { }; /** @description

Retrieves Tax Settings for a merchant.

*/ get: operations["GetTaxSettings"]; - put: never; + put?: never; /** @description

Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set.

*/ post: operations["PostTaxSettings"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tax/transactions/create_from_calculation": { parameters: { @@ -4489,15 +4489,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Creates a Tax Transaction from a calculation.

*/ post: operations["PostTaxTransactionsCreateFromCalculation"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tax/transactions/create_reversal": { parameters: { @@ -4506,15 +4506,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Partially or fully reverses a previously created Transaction.

*/ post: operations["PostTaxTransactionsCreateReversal"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tax/transactions/{transaction}": { parameters: { @@ -4525,13 +4525,13 @@ export interface paths { }; /** @description

Retrieves a Tax Transaction object.

*/ get: operations["GetTaxTransactionsTransaction"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tax/transactions/{transaction}/line_items": { parameters: { @@ -4542,13 +4542,13 @@ export interface paths { }; /** @description

Retrieves the line items of a committed standalone transaction as a collection.

*/ get: operations["GetTaxTransactionsTransactionLineItems"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tax_codes": { parameters: { @@ -4559,13 +4559,13 @@ export interface paths { }; /** @description

A list of all tax codes available to add to Products in order to allow specific tax calculations.

*/ get: operations["GetTaxCodes"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tax_codes/{id}": { parameters: { @@ -4576,13 +4576,13 @@ export interface paths { }; /** @description

Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information.

*/ get: operations["GetTaxCodesId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tax_rates": { parameters: { @@ -4593,14 +4593,14 @@ export interface paths { }; /** @description

Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first.

*/ get: operations["GetTaxRates"]; - put: never; + put?: never; /** @description

Creates a new tax rate.

*/ post: operations["PostTaxRates"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tax_rates/{tax_rate}": { parameters: { @@ -4611,14 +4611,14 @@ export interface paths { }; /** @description

Retrieves a tax rate with the given ID

*/ get: operations["GetTaxRatesTaxRate"]; - put: never; + put?: never; /** @description

Updates an existing tax rate.

*/ post: operations["PostTaxRatesTaxRate"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/configurations": { parameters: { @@ -4629,14 +4629,14 @@ export interface paths { }; /** @description

Returns a list of Configuration objects.

*/ get: operations["GetTerminalConfigurations"]; - put: never; + put?: never; /** @description

Creates a new Configuration object.

*/ post: operations["PostTerminalConfigurations"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/configurations/{configuration}": { parameters: { @@ -4647,15 +4647,15 @@ export interface paths { }; /** @description

Retrieves a Configuration object.

*/ get: operations["GetTerminalConfigurationsConfiguration"]; - put: never; + put?: never; /** @description

Updates a new Configuration object.

*/ post: operations["PostTerminalConfigurationsConfiguration"]; /** @description

Deletes a Configuration object.

*/ delete: operations["DeleteTerminalConfigurationsConfiguration"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/connection_tokens": { parameters: { @@ -4664,15 +4664,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token.

*/ post: operations["PostTerminalConnectionTokens"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/locations": { parameters: { @@ -4683,15 +4683,15 @@ export interface paths { }; /** @description

Returns a list of Location objects.

*/ get: operations["GetTerminalLocations"]; - put: never; + put?: never; /** @description

Creates a new Location object. * For further details, including which address fields are required in each country, see the Manage locations guide.

*/ post: operations["PostTerminalLocations"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/locations/{location}": { parameters: { @@ -4702,15 +4702,15 @@ export interface paths { }; /** @description

Retrieves a Location object.

*/ get: operations["GetTerminalLocationsLocation"]; - put: never; + put?: never; /** @description

Updates a Location object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ post: operations["PostTerminalLocationsLocation"]; /** @description

Deletes a Location object.

*/ delete: operations["DeleteTerminalLocationsLocation"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/readers": { parameters: { @@ -4721,14 +4721,14 @@ export interface paths { }; /** @description

Returns a list of Reader objects.

*/ get: operations["GetTerminalReaders"]; - put: never; + put?: never; /** @description

Creates a new Reader object.

*/ post: operations["PostTerminalReaders"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/readers/{reader}": { parameters: { @@ -4739,15 +4739,15 @@ export interface paths { }; /** @description

Retrieves a Reader object.

*/ get: operations["GetTerminalReadersReader"]; - put: never; + put?: never; /** @description

Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

*/ post: operations["PostTerminalReadersReader"]; /** @description

Deletes a Reader object.

*/ delete: operations["DeleteTerminalReadersReader"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/readers/{reader}/cancel_action": { parameters: { @@ -4756,15 +4756,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Cancels the current reader action.

*/ post: operations["PostTerminalReadersReaderCancelAction"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/readers/{reader}/process_payment_intent": { parameters: { @@ -4773,15 +4773,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Initiates a payment flow on a Reader.

*/ post: operations["PostTerminalReadersReaderProcessPaymentIntent"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/readers/{reader}/process_setup_intent": { parameters: { @@ -4790,15 +4790,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Initiates a setup intent flow on a Reader.

*/ post: operations["PostTerminalReadersReaderProcessSetupIntent"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/readers/{reader}/refund_payment": { parameters: { @@ -4807,15 +4807,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Initiates a refund on a Reader

*/ post: operations["PostTerminalReadersReaderRefundPayment"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/terminal/readers/{reader}/set_reader_display": { parameters: { @@ -4824,15 +4824,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Sets reader display to show cart details.

*/ post: operations["PostTerminalReadersReaderSetReaderDisplay"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/customers/{customer}/fund_cash_balance": { parameters: { @@ -4841,15 +4841,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Create an incoming testmode bank transfer

*/ post: operations["PostTestHelpersCustomersCustomerFundCashBalance"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/authorizations": { parameters: { @@ -4858,15 +4858,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Create a test-mode authorization.

*/ post: operations["PostTestHelpersIssuingAuthorizations"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/authorizations/{authorization}/capture": { parameters: { @@ -4875,15 +4875,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Capture a test-mode authorization.

*/ post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationCapture"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/authorizations/{authorization}/expire": { parameters: { @@ -4892,15 +4892,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Expire a test-mode Authorization.

*/ post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationExpire"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/authorizations/{authorization}/increment": { parameters: { @@ -4909,15 +4909,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Increment a test-mode Authorization.

*/ post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationIncrement"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/authorizations/{authorization}/reverse": { parameters: { @@ -4926,15 +4926,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Reverse a test-mode Authorization.

*/ post: operations["PostTestHelpersIssuingAuthorizationsAuthorizationReverse"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/cards/{card}/shipping/deliver": { parameters: { @@ -4943,15 +4943,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Updates the shipping status of the specified Issuing Card object to delivered.

*/ post: operations["PostTestHelpersIssuingCardsCardShippingDeliver"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/cards/{card}/shipping/fail": { parameters: { @@ -4960,15 +4960,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Updates the shipping status of the specified Issuing Card object to failure.

*/ post: operations["PostTestHelpersIssuingCardsCardShippingFail"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/cards/{card}/shipping/return": { parameters: { @@ -4977,15 +4977,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Updates the shipping status of the specified Issuing Card object to returned.

*/ post: operations["PostTestHelpersIssuingCardsCardShippingReturn"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/cards/{card}/shipping/ship": { parameters: { @@ -4994,15 +4994,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Updates the shipping status of the specified Issuing Card object to shipped.

*/ post: operations["PostTestHelpersIssuingCardsCardShippingShip"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/transactions/create_force_capture": { parameters: { @@ -5011,15 +5011,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Allows the user to capture an arbitrary amount, also known as a forced capture.

*/ post: operations["PostTestHelpersIssuingTransactionsCreateForceCapture"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/transactions/create_unlinked_refund": { parameters: { @@ -5028,15 +5028,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Allows the user to refund an arbitrary amount, also known as a unlinked refund.

*/ post: operations["PostTestHelpersIssuingTransactionsCreateUnlinkedRefund"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/issuing/transactions/{transaction}/refund": { parameters: { @@ -5045,15 +5045,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Refund a test-mode Transaction.

*/ post: operations["PostTestHelpersIssuingTransactionsTransactionRefund"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/refunds/{refund}/expire": { parameters: { @@ -5062,15 +5062,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Expire a refund with a status of requires_action.

*/ post: operations["PostTestHelpersRefundsRefundExpire"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/terminal/readers/{reader}/present_payment_method": { parameters: { @@ -5079,15 +5079,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction.

*/ post: operations["PostTestHelpersTerminalReadersReaderPresentPaymentMethod"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/test_clocks": { parameters: { @@ -5098,14 +5098,14 @@ export interface paths { }; /** @description

Returns a list of your test clocks.

*/ get: operations["GetTestHelpersTestClocks"]; - put: never; + put?: never; /** @description

Creates a new test clock that can be attached to new customers and quotes.

*/ post: operations["PostTestHelpersTestClocks"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/test_clocks/{test_clock}": { parameters: { @@ -5116,14 +5116,14 @@ export interface paths { }; /** @description

Retrieves a test clock.

*/ get: operations["GetTestHelpersTestClocksTestClock"]; - put: never; - post: never; + put?: never; + post?: never; /** @description

Deletes a test clock.

*/ delete: operations["DeleteTestHelpersTestClocksTestClock"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/test_clocks/{test_clock}/advance": { parameters: { @@ -5132,15 +5132,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready.

*/ post: operations["PostTestHelpersTestClocksTestClockAdvance"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/treasury/inbound_transfers/{id}/fail": { parameters: { @@ -5149,15 +5149,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state.

*/ post: operations["PostTestHelpersTreasuryInboundTransfersIdFail"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/treasury/inbound_transfers/{id}/return": { parameters: { @@ -5166,15 +5166,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state.

*/ post: operations["PostTestHelpersTreasuryInboundTransfersIdReturn"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/treasury/inbound_transfers/{id}/succeed": { parameters: { @@ -5183,15 +5183,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state.

*/ post: operations["PostTestHelpersTreasuryInboundTransfersIdSucceed"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/treasury/outbound_payments/{id}/fail": { parameters: { @@ -5200,15 +5200,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state.

*/ post: operations["PostTestHelpersTreasuryOutboundPaymentsIdFail"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/treasury/outbound_payments/{id}/post": { parameters: { @@ -5217,15 +5217,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state.

*/ post: operations["PostTestHelpersTreasuryOutboundPaymentsIdPost"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/treasury/outbound_payments/{id}/return": { parameters: { @@ -5234,15 +5234,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state.

*/ post: operations["PostTestHelpersTreasuryOutboundPaymentsIdReturn"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/fail": { parameters: { @@ -5251,15 +5251,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state.

*/ post: operations["PostTestHelpersTreasuryOutboundTransfersOutboundTransferFail"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/post": { parameters: { @@ -5268,15 +5268,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state.

*/ post: operations["PostTestHelpersTreasuryOutboundTransfersOutboundTransferPost"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/return": { parameters: { @@ -5285,15 +5285,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state.

*/ post: operations["PostTestHelpersTreasuryOutboundTransfersOutboundTransferReturn"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/treasury/received_credits": { parameters: { @@ -5302,15 +5302,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Use this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can’t directly create ReceivedCredits initiated by third parties.

*/ post: operations["PostTestHelpersTreasuryReceivedCredits"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/test_helpers/treasury/received_debits": { parameters: { @@ -5319,15 +5319,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can’t directly create ReceivedDebits initiated by third parties.

*/ post: operations["PostTestHelpersTreasuryReceivedDebits"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tokens": { parameters: { @@ -5336,16 +5336,16 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Creates a single-use token that represents a bank account’s details. * You can use this token with any API method in place of a bank account dictionary. You can only use this token once. To do so, attach it to a Custom account.

*/ post: operations["PostTokens"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/tokens/{token}": { parameters: { @@ -5356,13 +5356,13 @@ export interface paths { }; /** @description

Retrieves the token with the given ID.

*/ get: operations["GetTokensToken"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/topups": { parameters: { @@ -5373,14 +5373,14 @@ export interface paths { }; /** @description

Returns a list of top-ups.

*/ get: operations["GetTopups"]; - put: never; + put?: never; /** @description

Top up the balance of an account

*/ post: operations["PostTopups"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/topups/{topup}": { parameters: { @@ -5391,14 +5391,14 @@ export interface paths { }; /** @description

Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information.

*/ get: operations["GetTopupsTopup"]; - put: never; + put?: never; /** @description

Updates the metadata of a top-up. Other top-up details are not editable by design.

*/ post: operations["PostTopupsTopup"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/topups/{topup}/cancel": { parameters: { @@ -5407,15 +5407,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Cancels a top-up. Only pending top-ups can be canceled.

*/ post: operations["PostTopupsTopupCancel"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/transfers": { parameters: { @@ -5426,14 +5426,14 @@ export interface paths { }; /** @description

Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first.

*/ get: operations["GetTransfers"]; - put: never; + put?: never; /** @description

To send funds from your Stripe account to a connected account, you create a new transfer object. Your Stripe balance must be able to cover the transfer amount, or you’ll receive an “Insufficient Funds” error.

*/ post: operations["PostTransfers"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/transfers/{id}/reversals": { parameters: { @@ -5444,18 +5444,18 @@ export interface paths { }; /** @description

You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional reversals.

*/ get: operations["GetTransfersIdReversals"]; - put: never; + put?: never; /** @description

When you create a new reversal, you must specify a transfer to create it on.

* *

When reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed.

* *

Once entirely reversed, a transfer can’t be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer.

*/ post: operations["PostTransfersIdReversals"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/transfers/{transfer}": { parameters: { @@ -5466,16 +5466,16 @@ export interface paths { }; /** @description

Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information.

*/ get: operations["GetTransfersTransfer"]; - put: never; + put?: never; /** @description

Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

* *

This request accepts only metadata as an argument.

*/ post: operations["PostTransfersTransfer"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/transfers/{transfer}/reversals/{id}": { parameters: { @@ -5486,16 +5486,16 @@ export interface paths { }; /** @description

By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer.

*/ get: operations["GetTransfersTransferReversalsId"]; - put: never; + put?: never; /** @description

Updates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

* *

This request only accepts metadata and description as arguments.

*/ post: operations["PostTransfersTransferReversalsId"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/credit_reversals": { parameters: { @@ -5506,14 +5506,14 @@ export interface paths { }; /** @description

Returns a list of CreditReversals.

*/ get: operations["GetTreasuryCreditReversals"]; - put: never; + put?: never; /** @description

Reverses a ReceivedCredit and creates a CreditReversal object.

*/ post: operations["PostTreasuryCreditReversals"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/credit_reversals/{credit_reversal}": { parameters: { @@ -5524,13 +5524,13 @@ export interface paths { }; /** @description

Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list

*/ get: operations["GetTreasuryCreditReversalsCreditReversal"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/debit_reversals": { parameters: { @@ -5541,14 +5541,14 @@ export interface paths { }; /** @description

Returns a list of DebitReversals.

*/ get: operations["GetTreasuryDebitReversals"]; - put: never; + put?: never; /** @description

Reverses a ReceivedDebit and creates a DebitReversal object.

*/ post: operations["PostTreasuryDebitReversals"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/debit_reversals/{debit_reversal}": { parameters: { @@ -5559,13 +5559,13 @@ export interface paths { }; /** @description

Retrieves a DebitReversal object.

*/ get: operations["GetTreasuryDebitReversalsDebitReversal"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/financial_accounts": { parameters: { @@ -5576,14 +5576,14 @@ export interface paths { }; /** @description

Returns a list of FinancialAccounts.

*/ get: operations["GetTreasuryFinancialAccounts"]; - put: never; + put?: never; /** @description

Creates a new FinancialAccount. For now, each connected account can only have one FinancialAccount.

*/ post: operations["PostTreasuryFinancialAccounts"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/financial_accounts/{financial_account}": { parameters: { @@ -5594,14 +5594,14 @@ export interface paths { }; /** @description

Retrieves the details of a FinancialAccount.

*/ get: operations["GetTreasuryFinancialAccountsFinancialAccount"]; - put: never; + put?: never; /** @description

Updates the details of a FinancialAccount.

*/ post: operations["PostTreasuryFinancialAccountsFinancialAccount"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/financial_accounts/{financial_account}/features": { parameters: { @@ -5612,14 +5612,14 @@ export interface paths { }; /** @description

Retrieves Features information associated with the FinancialAccount.

*/ get: operations["GetTreasuryFinancialAccountsFinancialAccountFeatures"]; - put: never; + put?: never; /** @description

Updates the Features associated with a FinancialAccount.

*/ post: operations["PostTreasuryFinancialAccountsFinancialAccountFeatures"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/inbound_transfers": { parameters: { @@ -5630,14 +5630,14 @@ export interface paths { }; /** @description

Returns a list of InboundTransfers sent from the specified FinancialAccount.

*/ get: operations["GetTreasuryInboundTransfers"]; - put: never; + put?: never; /** @description

Creates an InboundTransfer.

*/ post: operations["PostTreasuryInboundTransfers"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/inbound_transfers/{id}": { parameters: { @@ -5648,13 +5648,13 @@ export interface paths { }; /** @description

Retrieves the details of an existing InboundTransfer.

*/ get: operations["GetTreasuryInboundTransfersId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/inbound_transfers/{inbound_transfer}/cancel": { parameters: { @@ -5663,15 +5663,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Cancels an InboundTransfer.

*/ post: operations["PostTreasuryInboundTransfersInboundTransferCancel"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/outbound_payments": { parameters: { @@ -5682,14 +5682,14 @@ export interface paths { }; /** @description

Returns a list of OutboundPayments sent from the specified FinancialAccount.

*/ get: operations["GetTreasuryOutboundPayments"]; - put: never; + put?: never; /** @description

Creates an OutboundPayment.

*/ post: operations["PostTreasuryOutboundPayments"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/outbound_payments/{id}": { parameters: { @@ -5700,13 +5700,13 @@ export interface paths { }; /** @description

Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list.

*/ get: operations["GetTreasuryOutboundPaymentsId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/outbound_payments/{id}/cancel": { parameters: { @@ -5715,15 +5715,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

Cancel an OutboundPayment.

*/ post: operations["PostTreasuryOutboundPaymentsIdCancel"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/outbound_transfers": { parameters: { @@ -5734,14 +5734,14 @@ export interface paths { }; /** @description

Returns a list of OutboundTransfers sent from the specified FinancialAccount.

*/ get: operations["GetTreasuryOutboundTransfers"]; - put: never; + put?: never; /** @description

Creates an OutboundTransfer.

*/ post: operations["PostTreasuryOutboundTransfers"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/outbound_transfers/{outbound_transfer}": { parameters: { @@ -5752,13 +5752,13 @@ export interface paths { }; /** @description

Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list.

*/ get: operations["GetTreasuryOutboundTransfersOutboundTransfer"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/outbound_transfers/{outbound_transfer}/cancel": { parameters: { @@ -5767,15 +5767,15 @@ export interface paths { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; /** @description

An OutboundTransfer can be canceled if the funds have not yet been paid out.

*/ post: operations["PostTreasuryOutboundTransfersOutboundTransferCancel"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/received_credits": { parameters: { @@ -5786,13 +5786,13 @@ export interface paths { }; /** @description

Returns a list of ReceivedCredits.

*/ get: operations["GetTreasuryReceivedCredits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/received_credits/{id}": { parameters: { @@ -5803,13 +5803,13 @@ export interface paths { }; /** @description

Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list.

*/ get: operations["GetTreasuryReceivedCreditsId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/received_debits": { parameters: { @@ -5820,13 +5820,13 @@ export interface paths { }; /** @description

Returns a list of ReceivedDebits.

*/ get: operations["GetTreasuryReceivedDebits"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/received_debits/{id}": { parameters: { @@ -5837,13 +5837,13 @@ export interface paths { }; /** @description

Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list

*/ get: operations["GetTreasuryReceivedDebitsId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/transaction_entries": { parameters: { @@ -5854,13 +5854,13 @@ export interface paths { }; /** @description

Retrieves a list of TransactionEntry objects.

*/ get: operations["GetTreasuryTransactionEntries"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/transaction_entries/{id}": { parameters: { @@ -5871,13 +5871,13 @@ export interface paths { }; /** @description

Retrieves a TransactionEntry object.

*/ get: operations["GetTreasuryTransactionEntriesId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/transactions": { parameters: { @@ -5888,13 +5888,13 @@ export interface paths { }; /** @description

Retrieves a list of Transaction objects.

*/ get: operations["GetTreasuryTransactions"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/treasury/transactions/{id}": { parameters: { @@ -5905,13 +5905,13 @@ export interface paths { }; /** @description

Retrieves the details of an existing Transaction.

*/ get: operations["GetTreasuryTransactionsId"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/webhook_endpoints": { parameters: { @@ -5922,14 +5922,14 @@ export interface paths { }; /** @description

Returns a list of your webhook endpoints.

*/ get: operations["GetWebhookEndpoints"]; - put: never; + put?: never; /** @description

A webhook endpoint must have a url and a list of enabled_events. You may optionally specify the Boolean connect parameter. If set to true, then a Connect webhook endpoint that notifies the specified url about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url only about events from your account is created. You can also create webhook endpoints in the webhooks settings section of the Dashboard.

*/ post: operations["PostWebhookEndpoints"]; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; "/v1/webhook_endpoints/{webhook_endpoint}": { parameters: { @@ -5940,15 +5940,15 @@ export interface paths { }; /** @description

Retrieves the webhook endpoint with the given ID.

*/ get: operations["GetWebhookEndpointsWebhookEndpoint"]; - put: never; + put?: never; /** @description

Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint.

*/ post: operations["PostWebhookEndpointsWebhookEndpoint"]; /** @description

You can also delete webhook endpoints via the webhook endpoint management page of the Stripe dashboard.

*/ delete: operations["DeleteWebhookEndpointsWebhookEndpoint"]; - options: never; - head: never; - patch: never; - trace: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; @@ -6014,7 +6014,7 @@ export interface components { individual?: components["schemas"]["person"]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -6856,7 +6856,7 @@ export interface components { last4: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -6899,7 +6899,7 @@ export interface components { * * Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. */ current: { - [key: string]: number; + [key: string]: number | undefined; }; /** * @description The `type` of the balance. An additional hash is included on the balance with a name matching this value. @@ -6915,7 +6915,7 @@ export interface components { * * Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. */ available?: { - [key: string]: number; + [key: string]: number | undefined; } | null; }; /** BankConnectionsResourceBalanceAPIResourceCreditBalance */ @@ -6926,7 +6926,7 @@ export interface components { * * Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. */ used?: { - [key: string]: number; + [key: string]: number | undefined; } | null; }; /** BankConnectionsResourceBalanceRefresh */ @@ -6998,7 +6998,7 @@ export interface components { login_page: components["schemas"]["portal_login_page"]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -7166,7 +7166,7 @@ export interface components { last4: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** @description Cardholder name. */ name?: string | null; @@ -7204,7 +7204,7 @@ export interface components { cash_balance: { /** @description A hash of all cash balances available to this customer. You cannot delete a customer with any cash balances, even if the balance is 0. Amounts are represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). */ available?: { - [key: string]: number; + [key: string]: number | undefined; } | null; /** @description The ID of the customer whose cash balance this object represents. */ customer: string; @@ -7273,7 +7273,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -7481,7 +7481,7 @@ export interface components { locale?: "auto" | "bg" | "cs" | "da" | "de" | "el" | "en" | "en-GB" | "es" | "es-419" | "et" | "fi" | "fil" | "fr" | "fr-CA" | "hr" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "mt" | "nb" | "nl" | "pl" | "pt" | "pt-BR" | "ro" | "ru" | "sk" | "sl" | "sv" | "th" | "tr" | "vi" | "zh" | "zh-HK" | "zh-TW"; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description The mode of the Checkout Session. @@ -8006,7 +8006,7 @@ export interface components { object: "country_spec"; /** @description Currencies that can be accepted in the specific country (for transfers). */ supported_bank_account_currencies: { - [key: string]: string[]; + [key: string]: string[] | undefined; }; /** @description Currencies that can be accepted in the specified country (for payments). */ supported_payment_currencies: string[]; @@ -8047,7 +8047,7 @@ export interface components { currency?: string | null; /** @description Coupons defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ currency_options?: { - [key: string]: components["schemas"]["coupon_currency_option"]; + [key: string]: components["schemas"]["coupon_currency_option"] | undefined; }; /** * @description One of `forever`, `once`, and `repeating`. Describes how long a customer who applies this coupon will get the discount. @@ -8064,7 +8064,7 @@ export interface components { max_redemptions?: number | null; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** @description Name of the coupon displayed to customers on for instance invoices or receipts. */ name?: string | null; @@ -8153,7 +8153,7 @@ export interface components { memo?: string | null; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** @description A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice. */ number: string; @@ -8333,7 +8333,7 @@ export interface components { id: string; /** @description The current multi-currency balances, if any, that's stored on the customer. If positive in a currency, the customer has a credit to apply to their next invoice denominated in that currency. If negative, the customer has an amount owed that's added to their next invoice denominated in that currency. These balances don't apply to unpaid invoices. They solely track amounts that Stripe hasn't successfully applied to any invoice. Stripe only applies a balance in a specific currency to an invoice after that invoice (which is in the same currency) finalizes. */ invoice_credit_balance?: { - [key: string]: number; + [key: string]: number | undefined; }; /** @description The prefix for the customer used to generate unique invoice numbers. */ invoice_prefix?: string | null; @@ -8342,7 +8342,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The customer's full name or business name. */ name?: string | null; @@ -8556,7 +8556,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -9085,7 +9085,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -9313,7 +9313,7 @@ export interface components { object: "exchange_rate"; /** @description Hash where the keys are supported currencies and the values are the exchange rate at which the base id currency converts to the key currency. */ rates: { - [key: string]: number; + [key: string]: number | undefined; }; }; /** Polymorphic */ @@ -9368,7 +9368,7 @@ export interface components { id: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -9464,7 +9464,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -10094,7 +10094,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -10324,7 +10324,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * Format: unix-time @@ -10640,7 +10640,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -10809,7 +10809,7 @@ export interface components { merchant_data: components["schemas"]["issuing_authorization_merchant_data"]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description Details about the authorization, such as identifiers, set by the card network. */ network_data?: components["schemas"]["issuing_authorization_network_data"] | null; @@ -10871,7 +10871,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the ["Retrieve a card" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via "List all cards" or any other endpoint. */ number?: string; @@ -10930,7 +10930,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The cardholder's name. This will be printed on cards issued to them. */ name: string; @@ -10983,7 +10983,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -11024,7 +11024,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The total net amount required to settle with the network. */ net_total: number; @@ -11090,7 +11090,7 @@ export interface components { merchant_data: components["schemas"]["issuing_authorization_merchant_data"]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -11832,7 +11832,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type=subscription` this will reflect the metadata of the subscription that caused the line item to be created. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -12283,7 +12283,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Learn more about [storing information in metadata](https://stripe.com/docs/payments/payment-intents/creating-payment-intents#storing-information-in-metadata). */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source. */ next_action?: components["schemas"]["payment_intent_next_action"] | null; @@ -12880,7 +12880,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -13042,7 +13042,7 @@ export interface components { footer?: string | null; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** @description Options for invoice PDF rendering. */ rendering_options?: components["schemas"]["invoice_setting_rendering_options"] | null; @@ -13141,7 +13141,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -14912,7 +14912,7 @@ export interface components { footer?: string | null; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** @description Options for invoice PDF rendering. */ rendering_options?: components["schemas"]["invoice_setting_rendering_options"] | null; @@ -15028,7 +15028,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** @description The method used to send this payout, which can be `standard` or `instant`. `instant` is supported for payouts to debit cards and bank accounts in certain countries. Learn more about [bank support for Instant Payouts](https://stripe.com/docs/payouts/instant-payouts-banks). */ method: string; @@ -15131,7 +15131,7 @@ export interface components { maiden_name?: string | null; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The country where the person is a national. */ nationality?: string | null; @@ -15250,7 +15250,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** @description A brief description of the plan, hidden from customers. */ nickname?: string | null; @@ -15521,7 +15521,7 @@ export interface components { currency: string; /** @description Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ currency_options?: { - [key: string]: components["schemas"]["currency_option"]; + [key: string]: components["schemas"]["currency_option"] | undefined; }; /** @description When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. */ custom_unit_amount?: components["schemas"]["custom_unit_amount"] | null; @@ -15533,7 +15533,7 @@ export interface components { lookup_key?: string | null; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description A brief description of the price, hidden from customers. */ nickname?: string | null; @@ -15625,7 +15625,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The product's name, meant to be displayable to the customer. */ name: string; @@ -15688,7 +15688,7 @@ export interface components { max_redemptions?: number | null; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -15708,7 +15708,7 @@ export interface components { promotion_codes_resource_restrictions: { /** @description Promotion code restrictions defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ currency_options?: { - [key: string]: components["schemas"]["promotion_code_currency_option"]; + [key: string]: components["schemas"]["promotion_code_currency_option"] | undefined; }; /** @description A Boolean indicating if the Promotion Code should only be redeemed for Customers without any successful payments or invoices */ first_time_transaction: boolean; @@ -15793,7 +15793,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://stripe.com/docs/quotes/overview#finalize). */ number?: string | null; @@ -16015,7 +16015,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The name of the value list. */ name: string; @@ -16149,7 +16149,7 @@ export interface components { instructions_email?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; next_action?: components["schemas"]["refund_next_action"]; /** @@ -16685,7 +16685,7 @@ export interface components { mandate?: (string | components["schemas"]["mandate"]) | null; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** @description If present, this property tells you what actions you need to take in order for your customer to continue payment setup. */ next_action?: components["schemas"]["setup_intent_next_action"] | null; @@ -16906,7 +16906,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -16961,7 +16961,7 @@ export interface components { currency: string; /** @description Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). */ currency_options?: { - [key: string]: components["schemas"]["shipping_rate_currency_option"]; + [key: string]: components["schemas"]["shipping_rate_currency_option"] | undefined; }; }; /** SigmaScheduledQueryRunError */ @@ -17017,7 +17017,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; multibanco?: components["schemas"]["source_type_multibanco"]; /** @@ -17566,7 +17566,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * Format: unix-time @@ -17643,7 +17643,7 @@ export interface components { subscription_details_data: { /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will reflect the metadata of the subscription at the time of invoice creation. *Note: This attribute is populated only for invoices created on or after June 29, 2023.* */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; }; /** @@ -17660,7 +17660,7 @@ export interface components { id: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -17744,7 +17744,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -17791,7 +17791,7 @@ export interface components { billing_thresholds?: components["schemas"]["subscription_item_billing_thresholds"] | null; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an item. Metadata on this item will update the underlying subscription item's `metadata` when the phase is entered. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** @description ID of the price to which the customer should be subscribed. */ price: string | components["schemas"]["price"] | components["schemas"]["deleted_price"]; @@ -17856,7 +17856,7 @@ export interface components { items: components["schemas"]["subscription_schedule_configuration_item"][]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered. Updating the underlying subscription's `metadata` directly will not affect the current phase's `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** @description The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details. */ on_behalf_of?: (string | components["schemas"]["account"]) | null; @@ -18160,7 +18160,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -18196,7 +18196,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -18534,7 +18534,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -18606,7 +18606,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -18642,7 +18642,7 @@ export interface components { location?: (string | components["schemas"]["terminal.location"]) | null; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -18780,7 +18780,7 @@ export interface components { charge?: string | components["schemas"]["charge"]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description Payment intent that is being refunded. */ payment_intent?: string | components["schemas"]["payment_intent"]; @@ -18992,7 +18992,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -19050,7 +19050,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -19126,7 +19126,7 @@ export interface components { id: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -19193,7 +19193,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description The rails used to reverse the funds. @@ -19242,7 +19242,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description The rails used to reverse the funds. @@ -19290,7 +19290,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | null; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -19362,7 +19362,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -19429,7 +19429,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -19487,7 +19487,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -19769,15 +19769,15 @@ export interface components { treasury_financial_accounts_resource_balance: { /** @description Funds the user can spend right now. */ cash: { - [key: string]: number; + [key: string]: number | undefined; }; /** @description Funds not spendable yet, but will become available at a later time. */ inbound_pending: { - [key: string]: number; + [key: string]: number | undefined; }; /** @description Funds in the account, but not spendable because they are being held for pending outbound flows. */ outbound_pending: { - [key: string]: number; + [key: string]: number | undefined; }; }; /** TreasuryFinancialAccountsResourceClosedStatusDetails */ @@ -20241,7 +20241,7 @@ export interface components { livemode: boolean; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. */ metadata: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description String representing the object's type. Objects of the same type share the same value. @@ -20835,7 +20835,7 @@ export interface operations { last_name_kanji?: string; maiden_name?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; phone?: string; /** @enum {string} */ @@ -20866,7 +20866,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** * settings_specs @@ -21365,7 +21365,7 @@ export interface operations { last_name_kanji?: string; maiden_name?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; phone?: string; /** @enum {string} */ @@ -21396,7 +21396,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** * settings_specs_update @@ -21573,7 +21573,7 @@ export interface operations { external_account?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; }; }; @@ -21695,7 +21695,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Cardholder name. */ name?: string; @@ -21989,7 +21989,7 @@ export interface operations { external_account?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; }; }; @@ -22111,7 +22111,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Cardholder name. */ name?: string; @@ -22377,7 +22377,7 @@ export interface operations { maiden_name?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ nationality?: string; @@ -22595,7 +22595,7 @@ export interface operations { maiden_name?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ nationality?: string; @@ -22871,7 +22871,7 @@ export interface operations { maiden_name?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ nationality?: string; @@ -23089,7 +23089,7 @@ export interface operations { maiden_name?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. */ nationality?: string; @@ -23522,7 +23522,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -23700,7 +23700,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; }; }; @@ -24312,7 +24312,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; }; }; @@ -24459,7 +24459,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -24679,7 +24679,7 @@ export interface operations { exp_month: number; exp_year: number; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; name?: string; number: string; @@ -24700,7 +24700,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The Stripe account ID for which these funds are intended. Automatically set if you use the `destination` parameter. For details, see [Creating Separate Charges and Transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#on-behalf-of). */ on_behalf_of?: string; @@ -24892,7 +24892,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address. */ receipt_email?: string; @@ -25087,7 +25087,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default). */ submit?: boolean; @@ -25174,7 +25174,7 @@ export interface operations { instructions_email?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The identifier of the PaymentIntent to refund. */ payment_intent?: string; @@ -25291,7 +25291,7 @@ export interface operations { instructions_email?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** * @description Origin of the refund @@ -25388,7 +25388,7 @@ export interface operations { /** @description Specifies which fields in the response should be expanded. */ expand?: string[]; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -25648,7 +25648,7 @@ export interface operations { description?: string; footer?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; rendering_options?: { /** @enum {string} */ @@ -25679,7 +25679,7 @@ export interface operations { description?: string; images?: string[]; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; name: string; tax_code?: string; @@ -25706,7 +25706,7 @@ export interface operations { locale?: "auto" | "bg" | "cs" | "da" | "de" | "el" | "en" | "en-GB" | "es" | "es-419" | "et" | "fi" | "fil" | "fr" | "fr-CA" | "hr" | "hu" | "id" | "it" | "ja" | "ko" | "lt" | "lv" | "ms" | "mt" | "nb" | "nl" | "pl" | "pt" | "pt-BR" | "ro" | "ru" | "sk" | "sl" | "sv" | "th" | "tr" | "vi" | "zh" | "zh-HK" | "zh-TW"; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description The mode of the Checkout Session. Pass `subscription` if the Checkout Session includes at least one recurring item. @@ -25723,7 +25723,7 @@ export interface operations { capture_method?: "automatic" | "automatic_async" | "manual"; description?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; on_behalf_of?: string; receipt_email?: string; @@ -25992,7 +25992,7 @@ export interface operations { setup_intent_data?: { description?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; on_behalf_of?: string; }; @@ -26033,11 +26033,11 @@ export interface operations { amount: number; /** @enum {string} */ tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - }; + } | undefined; }; }; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @enum {string} */ tax_behavior?: "exclusive" | "inclusive" | "unspecified"; @@ -26065,7 +26065,7 @@ export interface operations { default_tax_rates?: string[]; description?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; on_behalf_of?: string; /** @enum {string} */ @@ -26431,7 +26431,7 @@ export interface operations { currency_options?: { [key: string]: { amount_off: number; - }; + } | undefined; }; /** * @description Specifies how long the discount will be in effect if used on a subscription. Defaults to `once`. @@ -26448,7 +26448,7 @@ export interface operations { max_redemptions?: number; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set. */ name?: string; @@ -26537,13 +26537,13 @@ export interface operations { currency_options?: { [key: string]: { amount_off: number; - }; + } | undefined; }; /** @description Specifies which fields in the response should be expanded. */ expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set. */ name?: string; @@ -26703,7 +26703,7 @@ export interface operations { memo?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. */ out_of_band_amount?: number; @@ -26777,7 +26777,7 @@ export interface operations { memo?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. */ out_of_band_amount?: number; @@ -26856,7 +26856,7 @@ export interface operations { memo?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. */ out_of_band_amount?: number; @@ -27027,7 +27027,7 @@ export interface operations { memo?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; }; }; @@ -27213,7 +27213,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The customer's full name or business name. */ name?: string; @@ -27424,7 +27424,7 @@ export interface operations { exp_month: number; exp_year: number; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; name?: string; number: string; @@ -27481,7 +27481,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The customer's full name or business name. */ name?: string; @@ -27657,7 +27657,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -27741,7 +27741,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -27861,7 +27861,7 @@ export interface operations { exp_month: number; exp_year: number; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; name?: string; number: string; @@ -27872,7 +27872,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ source?: string; @@ -27979,7 +27979,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Cardholder name. */ name?: string; @@ -28195,7 +28195,7 @@ export interface operations { exp_month: number; exp_year: number; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; name?: string; number: string; @@ -28206,7 +28206,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ source?: string; @@ -28313,7 +28313,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Cardholder name. */ name?: string; @@ -28897,7 +28897,7 @@ export interface operations { exp_month: number; exp_year: number; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; name?: string; number: string; @@ -28908,7 +28908,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description Please refer to full [documentation](https://stripe.com/docs/api) instead. */ source?: string; @@ -29015,7 +29015,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Cardholder name. */ name?: string; @@ -29278,7 +29278,7 @@ export interface operations { usage_gte: number; } | ""; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; price?: string; /** recurring_price_data */ @@ -29302,7 +29302,7 @@ export interface operations { }[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ off_session?: boolean; @@ -29568,7 +29568,7 @@ export interface operations { deleted?: boolean; id?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; price?: string; /** recurring_price_data */ @@ -29592,7 +29592,7 @@ export interface operations { }[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ off_session?: boolean; @@ -30179,7 +30179,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default). */ submit?: boolean; @@ -30606,7 +30606,7 @@ export interface operations { file: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -30688,7 +30688,7 @@ export interface operations { expires_at?: "now" | number | ""; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -30801,7 +30801,7 @@ export interface operations { /** Format: unix-time */ expires_at?: number; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; /** @@ -31381,7 +31381,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * session_options_param @@ -31480,7 +31480,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * session_options_param @@ -31695,7 +31695,7 @@ export interface operations { invoice?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** * period @@ -31831,7 +31831,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** * period @@ -32085,7 +32085,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. */ on_behalf_of?: string; @@ -32200,11 +32200,11 @@ export interface operations { amount: number; /** @enum {string} */ tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - }; + } | undefined; }; }; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @enum {string} */ tax_behavior?: "exclusive" | "inclusive" | "unspecified"; @@ -32387,7 +32387,7 @@ export interface operations { }[] | ""; invoiceitem?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** period */ period?: { @@ -32439,7 +32439,7 @@ export interface operations { deleted?: boolean; id?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; price?: string; /** recurring_price_data */ @@ -32573,7 +32573,7 @@ export interface operations { }[] | ""; invoiceitem?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** period */ period?: { @@ -32629,7 +32629,7 @@ export interface operations { deleted?: boolean; id?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; price?: string; /** recurring_price_data */ @@ -32807,7 +32807,7 @@ export interface operations { footer?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. */ on_behalf_of?: string | ""; @@ -32914,11 +32914,11 @@ export interface operations { amount: number; /** @enum {string} */ tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - }; + } | undefined; }; }; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @enum {string} */ tax_behavior?: "exclusive" | "inclusive" | "unspecified"; @@ -33389,7 +33389,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -33433,7 +33433,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -33475,7 +33475,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -33639,7 +33639,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The cardholder's name. This will be printed on cards issued to them. The maximum length of this field is 24 characters. This field cannot contain any special characters or numbers. */ name: string; @@ -33807,7 +33807,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure) for more details. */ phone_number?: string; @@ -33949,7 +33949,7 @@ export interface operations { financial_account?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The card this is meant to be a replacement for (if any). */ replacement_for?: string; @@ -34091,7 +34091,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** * encrypted_pin_param @@ -34288,7 +34288,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The ID of the issuing transaction to create a dispute for. For transaction on Treasury FinancialAccounts, use `treasury.received_debit`. */ transaction?: string; @@ -34444,7 +34444,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -34486,7 +34486,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -34626,7 +34626,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; }; }; @@ -34772,7 +34772,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -35299,7 +35299,7 @@ export interface operations { } | ""; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description Set to `true` to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). */ off_session?: boolean | ("one_off" | "recurring"); @@ -35401,7 +35401,7 @@ export interface operations { /** param */ link?: Record; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** param */ oxxo?: Record; @@ -35905,7 +35905,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. */ payment_method?: string; @@ -36001,7 +36001,7 @@ export interface operations { /** param */ link?: Record; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** param */ oxxo?: Record; @@ -36473,7 +36473,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ statement_descriptor?: string; @@ -36657,7 +36657,7 @@ export interface operations { /** param */ link?: Record; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** param */ oxxo?: Record; @@ -37040,7 +37040,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. */ statement_descriptor?: string; @@ -37299,7 +37299,7 @@ export interface operations { description?: string; footer?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; rendering_options?: { /** @enum {string} */ @@ -37320,7 +37320,7 @@ export interface operations { }[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The account on behalf of which to charge. */ on_behalf_of?: string; @@ -37567,7 +37567,7 @@ export interface operations { description?: string; footer?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; rendering_options?: { /** @enum {string} */ @@ -37588,7 +37588,7 @@ export interface operations { }[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount. @@ -39020,7 +39020,7 @@ export interface operations { link?: Record; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * param @@ -39215,7 +39215,7 @@ export interface operations { link?: Record; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** * update_param @@ -39418,7 +39418,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description The method used to send this payout, which is `standard` or `instant`. We support `instant` for payouts to debit cards and bank accounts in certain countries. Learn more about [bank support for Instant Payouts](https://stripe.com/docs/payouts/instant-payouts-banks). @@ -39510,7 +39510,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -39590,7 +39590,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; }; }; @@ -39725,7 +39725,7 @@ export interface operations { interval_count?: number; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description A brief description of the plan, hidden from customers. */ nickname?: string; @@ -39733,7 +39733,7 @@ export interface operations { active?: boolean; id?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; name: string; statement_descriptor?: string; @@ -39851,7 +39851,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description A brief description of the plan, hidden from customers. */ nickname?: string; @@ -40039,7 +40039,7 @@ export interface operations { unit_amount?: number; /** Format: decimal */ unit_amount_decimal?: string; - }; + } | undefined; }; /** * custom_unit_amount @@ -40057,7 +40057,7 @@ export interface operations { lookup_key?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description A brief description of the price, hidden from customers. */ nickname?: string; @@ -40071,7 +40071,7 @@ export interface operations { active?: boolean; id?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; name: string; statement_descriptor?: string; @@ -40283,7 +40283,7 @@ export interface operations { unit_amount?: number; /** Format: decimal */ unit_amount_decimal?: string; - }; + } | undefined; } | ""; /** @description Specifies which fields in the response should be expanded. */ expand?: string[]; @@ -40291,7 +40291,7 @@ export interface operations { lookup_key?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description A brief description of the price, hidden from customers. */ nickname?: string; @@ -40436,7 +40436,7 @@ export interface operations { unit_amount?: number; /** Format: decimal */ unit_amount_decimal?: string; - }; + } | undefined; }; /** recurring_adhoc */ recurring?: { @@ -40464,7 +40464,7 @@ export interface operations { images?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The product's name, meant to be displayable to the customer. */ name: string; @@ -40635,7 +40635,7 @@ export interface operations { images?: string[] | ""; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The product's name, meant to be displayable to the customer. */ name?: string; @@ -40815,7 +40815,7 @@ export interface operations { max_redemptions?: number; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * restrictions_params @@ -40825,7 +40825,7 @@ export interface operations { currency_options?: { [key: string]: { minimum_amount?: number; - }; + } | undefined; }; first_time_transaction?: boolean; minimum_amount?: number; @@ -40911,7 +40911,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** * restrictions_params @@ -40921,7 +40921,7 @@ export interface operations { currency_options?: { [key: string]: { minimum_amount?: number; - }; + } | undefined; }; }; }; @@ -41094,7 +41094,7 @@ export interface operations { }[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The account on behalf of which to charge. */ on_behalf_of?: string | ""; @@ -41259,7 +41259,7 @@ export interface operations { }[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The account on behalf of which to charge. */ on_behalf_of?: string | ""; @@ -41926,7 +41926,7 @@ export interface operations { item_type?: "card_bin" | "card_fingerprint" | "case_sensitive_string" | "country" | "customer_id" | "email" | "ip_address" | "sepa_debit_fingerprint" | "string" | "us_bank_account_fingerprint"; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The human-readable name of the value list. */ name: string; @@ -42010,7 +42010,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The human-readable name of the value list. */ name?: string; @@ -42159,7 +42159,7 @@ export interface operations { instructions_email?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** * @description Origin of the refund @@ -42255,7 +42255,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -42881,7 +42881,7 @@ export interface operations { } | ""; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The Stripe account ID for which this SetupIntent is created. */ on_behalf_of?: string; @@ -42978,7 +42978,7 @@ export interface operations { /** param */ link?: Record; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** param */ oxxo?: Record; @@ -43211,7 +43211,7 @@ export interface operations { flow_directions?: ("inbound" | "outbound")[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. */ payment_method?: string; @@ -43306,7 +43306,7 @@ export interface operations { /** param */ link?: Record; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** param */ oxxo?: Record; @@ -43630,7 +43630,7 @@ export interface operations { /** param */ link?: Record; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** param */ oxxo?: Record; @@ -43932,12 +43932,12 @@ export interface operations { amount: number; /** @enum {string} */ tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - }; + } | undefined; }; }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. @@ -44039,12 +44039,12 @@ export interface operations { amount?: number; /** @enum {string} */ tax_behavior?: "exclusive" | "inclusive" | "unspecified"; - }; + } | undefined; }; }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** * @description Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. @@ -44224,7 +44224,7 @@ export interface operations { notification_method?: "deprecated_none" | "email" | "manual" | "none" | "stripe_email"; }; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The source to share. */ original_source?: string; @@ -44416,7 +44416,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** * owner @@ -44737,7 +44737,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. @@ -44869,7 +44869,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ off_session?: boolean; @@ -45231,7 +45231,7 @@ export interface operations { from_subscription?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. */ phases?: { @@ -45279,7 +45279,7 @@ export interface operations { usage_gte: number; } | ""; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; price?: string; /** recurring_price_data */ @@ -45303,7 +45303,7 @@ export interface operations { }[]; iterations?: number; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; on_behalf_of?: string; /** @enum {string} */ @@ -45432,7 +45432,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. Note that past phases can be omitted. */ phases?: { @@ -45478,7 +45478,7 @@ export interface operations { usage_gte: number; } | ""; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; price?: string; /** recurring_price_data */ @@ -45502,7 +45502,7 @@ export interface operations { }[]; iterations?: number; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; on_behalf_of?: string; /** @enum {string} */ @@ -45798,7 +45798,7 @@ export interface operations { usage_gte: number; } | ""; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; price?: string; /** recurring_price_data */ @@ -45822,7 +45822,7 @@ export interface operations { }[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ off_session?: boolean; @@ -46144,7 +46144,7 @@ export interface operations { deleted?: boolean; id?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; price?: string; /** recurring_price_data */ @@ -46168,7 +46168,7 @@ export interface operations { }[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Indicates if a customer is on or off-session while an invoice payment is attempted. */ off_session?: boolean; @@ -46708,7 +46708,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description A custom order or sale identifier, such as 'myOrder_123'. Must be unique across all transactions, including reversals. */ reference: string; @@ -46755,7 +46755,7 @@ export interface operations { amount: number; amount_tax: number; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; original_line_item: string; quantity?: number; @@ -46763,7 +46763,7 @@ export interface operations { }[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * @description If `partial`, the provided line item or shipping cost amounts are reversed. If `full`, the original transaction is fully reversed. @@ -47081,7 +47081,7 @@ export interface operations { jurisdiction?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description This represents the tax rate percent out of 100. */ percentage: number; @@ -47180,7 +47180,7 @@ export interface operations { jurisdiction?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. */ state?: string; @@ -47732,7 +47732,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -47828,7 +47828,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -47969,7 +47969,7 @@ export interface operations { location?: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description A code generated by the reader used for registering to an account. */ registration_code: string; @@ -48053,7 +48053,7 @@ export interface operations { label?: string | ""; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -48270,7 +48270,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description ID of the PaymentIntent to refund. */ payment_intent?: string; @@ -50040,7 +50040,7 @@ export interface operations { last_name_kanji?: string; maiden_name?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; phone?: string; /** @enum {string} */ @@ -50179,7 +50179,7 @@ export interface operations { last_name_kanji?: string; maiden_name?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; nationality?: string; phone?: string; @@ -50375,7 +50375,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The ID of a source to transfer funds from. For most users, this should be left unspecified which will use the bank account that was set up in the dashboard for the specified currency. In test mode, this can be a test bank token (see [Testing Top-ups](https://stripe.com/docs/connect/testing#testing-top-ups)). */ source?: string; @@ -50463,7 +50463,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -50613,7 +50613,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. [See the Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-availability) for details. */ source_transaction?: string; @@ -50724,7 +50724,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description Boolean indicating whether the application fee should be refunded when reversing this transfer. If a full transfer reversal is given, the full application fee will be refunded. Otherwise, the application fee will be refunded with an amount proportional to the amount of the transfer reversed. */ refund_application_fee?: boolean; @@ -50808,7 +50808,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -50890,7 +50890,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; }; }; @@ -50990,7 +50990,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The ReceivedCredit to reverse. */ received_credit: string; @@ -51132,7 +51132,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The ReceivedDebit to reverse. */ received_debit: string; @@ -51325,7 +51325,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * platform_restrictions @@ -51471,7 +51471,7 @@ export interface operations { }; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** * platform_restrictions @@ -51732,7 +51732,7 @@ export interface operations { financial_account: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The origin payment method to be debited for the InboundTransfer. */ origin_payment_method: string; @@ -51939,7 +51939,7 @@ export interface operations { }; financial_account?: string; metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @enum {string} */ type: "financial_account" | "us_bank_account"; @@ -51978,7 +51978,7 @@ export interface operations { financial_account: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description The description that appears on the receiving end for this OutboundPayment (for example, bank statement for external bank transfer). Maximum 10 characters for `ach` payments, 140 characters for `wire` payments, or 500 characters for `stripe` network transfers. The default value is `payment`. */ statement_descriptor?: string; @@ -52174,7 +52174,7 @@ export interface operations { financial_account: string; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; }; /** @description Statement descriptor to be shown on the receiving end of an OutboundTransfer. Maximum 10 characters for `ach` transfers or 140 characters for `wire` transfers. The default value is `transfer`. */ statement_descriptor?: string; @@ -52776,7 +52776,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The URL of the webhook endpoint. */ url: string; @@ -52864,7 +52864,7 @@ export interface operations { expand?: string[]; /** @description Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. */ metadata?: { - [key: string]: string; + [key: string]: string | undefined; } | ""; /** @description The URL of the webhook endpoint. */ url?: string; diff --git a/packages/openapi-typescript/package.json b/packages/openapi-typescript/package.json index 85267db67..860d756eb 100644 --- a/packages/openapi-typescript/package.json +++ b/packages/openapi-typescript/package.json @@ -52,6 +52,7 @@ "lint:prettier": "prettier --check \"src/**/*\"", "prepare": "pnpm run build", "test": "run-p -s test:*", + "test:examples": "tsc -p tsconfig.examples.json --noEmit", "test:js": "vitest run", "test:ts": "tsc --noEmit", "update:examples": "pnpm run download:schemas && vite-node ./scripts/update-examples.ts", diff --git a/packages/openapi-typescript/src/lib/ts.ts b/packages/openapi-typescript/src/lib/ts.ts index e7289e9cb..bf323a5a9 100644 --- a/packages/openapi-typescript/src/lib/ts.ts +++ b/packages/openapi-typescript/src/lib/ts.ts @@ -23,6 +23,9 @@ export const STRING = ts.factory.createKeywordTypeNode( ts.SyntaxKind.StringKeyword, ); export const TRUE = ts.factory.createLiteralTypeNode(ts.factory.createTrue()); +export const UNDEFINED = ts.factory.createKeywordTypeNode( + ts.SyntaxKind.UndefinedKeyword, +); export const UNKNOWN = ts.factory.createKeywordTypeNode( ts.SyntaxKind.UnknownKeyword, ); diff --git a/packages/openapi-typescript/src/transform/path-item-object.ts b/packages/openapi-typescript/src/transform/path-item-object.ts index 670884eef..f707618fc 100644 --- a/packages/openapi-typescript/src/transform/path-item-object.ts +++ b/packages/openapi-typescript/src/transform/path-item-object.ts @@ -1,5 +1,11 @@ import ts from "typescript"; -import { NEVER, addJSDocComment, oapiRef, tsPropertyIndex } from "../lib/ts.js"; +import { + NEVER, + QUESTION_TOKEN, + addJSDocComment, + oapiRef, + tsPropertyIndex, +} from "../lib/ts.js"; import { createRef } from "../lib/utils.js"; import { OperationObject, @@ -65,7 +71,7 @@ export default function transformPathItemObject( ts.factory.createPropertySignature( /* modifiers */ undefined, /* name */ tsPropertyIndex(method), - /* questionToken */ undefined, + /* questionToken */ QUESTION_TOKEN, /* type */ NEVER, ), ); diff --git a/packages/openapi-typescript/src/transform/schema-object.ts b/packages/openapi-typescript/src/transform/schema-object.ts index 7b505209b..126be13e6 100644 --- a/packages/openapi-typescript/src/transform/schema-object.ts +++ b/packages/openapi-typescript/src/transform/schema-object.ts @@ -7,6 +7,7 @@ import { NUMBER, QUESTION_TOKEN, STRING, + UNDEFINED, UNKNOWN, addJSDocComment, oapiRef, @@ -490,12 +491,16 @@ function transformSchemaObjectCore( const hasExplicitAdditionalProperties = typeof schemaObject.additionalProperties === "object" && Object.keys(schemaObject.additionalProperties).length; - const addlType = hasExplicitAdditionalProperties + let addlType = hasExplicitAdditionalProperties ? transformSchemaObject( schemaObject.additionalProperties as SchemaObject, options, ) : UNKNOWN; + // allow for `| undefined`, at least until https://github.com/microsoft/TypeScript/issues/4196 is resolved + if (addlType.kind !== ts.SyntaxKind.UnknownKeyword) { + addlType = tsUnion([addlType, UNDEFINED]); + } coreObjectType.push( ts.factory.createIndexSignature( /* modifiers */ tsModifiers({ diff --git a/packages/openapi-typescript/test/index.test.ts b/packages/openapi-typescript/test/index.test.ts index 7e4567c3a..3eefbb023 100644 --- a/packages/openapi-typescript/test/index.test.ts +++ b/packages/openapi-typescript/test/index.test.ts @@ -110,7 +110,7 @@ export type webhooks = Record; export interface components { schemas: { Base: { - [key: string]: string; + [key: string]: string | undefined; }; SchemaType: components["schemas"]["Base"] | x-swagger-bake["components"]["schemas"]["Extension"]; }; @@ -158,13 +158,13 @@ export type operations = Record;`, requestBody?: never; responses: never; }; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; @@ -218,13 +218,13 @@ export type operations = Record;`, }; }; }; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; @@ -278,13 +278,13 @@ export type operations = Record;`, }; }; }; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; @@ -373,13 +373,13 @@ export type operations = Record;`, cookie?: never; }; get: operations["getPost"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; diff --git a/packages/openapi-typescript/test/node-api.test.ts b/packages/openapi-typescript/test/node-api.test.ts index ebe3b1b6a..555fdf3e2 100644 --- a/packages/openapi-typescript/test/node-api.test.ts +++ b/packages/openapi-typescript/test/node-api.test.ts @@ -251,12 +251,12 @@ export type operations = Record;`, requestBody?: never; responses: never; }; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; @@ -322,12 +322,12 @@ export type operations = Record;`, requestBody?: never; responses: never; }; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; @@ -488,13 +488,13 @@ export type operations = Record;`, requestBody?: never; responses: never; }; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; diff --git a/packages/openapi-typescript/test/transform/components-object.test.ts b/packages/openapi-typescript/test/transform/components-object.test.ts index 1b80dd98a..f50ea9b73 100644 --- a/packages/openapi-typescript/test/transform/components-object.test.ts +++ b/packages/openapi-typescript/test/transform/components-object.test.ts @@ -145,13 +145,13 @@ describe("transformComponentsObject", () => { requestBody?: components["requestBodies"]["UploadUser"]; responses: never; }; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; }; }`, @@ -396,13 +396,13 @@ describe("transformComponentsObject", () => { readonly requestBody?: components["requestBodies"]["UploadUser"]; responses: never; }; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; }; }`, diff --git a/packages/openapi-typescript/test/transform/path-item-object.test.ts b/packages/openapi-typescript/test/transform/path-item-object.test.ts index 859cbc40b..3cc1b589d 100644 --- a/packages/openapi-typescript/test/transform/path-item-object.test.ts +++ b/packages/openapi-typescript/test/transform/path-item-object.test.ts @@ -49,6 +49,16 @@ describe("transformPathItemObject", () => { }, }, }, + put: { + description: "Basic PUT", + requestbody: { + "application/json": { $ref: "#/components/schemas/User" }, + }, + responses: { + 200: { $ref: "#/components/responses/AllGood" }, + 404: { $ref: "#/components/responses/NotFound" }, + }, + }, post: { description: "Basic POST", requestBody: { @@ -61,6 +71,44 @@ describe("transformPathItemObject", () => { 404: { $ref: "#/components/responses/NotFound" }, }, }, + delete: { + description: "Basic DELETE", + requestbody: { + "application/json": { $ref: "#/components/schemas/User" }, + }, + responses: { + 200: { $ref: "#/components/responses/AllGood" }, + 404: { $ref: "#/components/responses/NotFound" }, + }, + }, + options: { + description: "Basic OPTIONS", + responses: { + 200: { $ref: "#/components/responses/AllGood" }, + }, + }, + head: { + description: "Basic HEAD", + responses: { + 200: { $ref: "#/components/responses/AllGood" }, + }, + }, + patch: { + description: "Basic PATCH", + requestbody: { + "application/json": { $ref: "#/components/schemas/User" }, + }, + responses: { + 200: { $ref: "#/components/responses/AllGood" }, + 404: { $ref: "#/components/responses/NotFound" }, + }, + }, + trace: { + description: "Basic TRACE", + responses: { + 200: { $ref: "#/components/responses/AllGood" }, + }, + }, }, want: `{ parameters: { @@ -105,7 +153,20 @@ describe("transformPathItemObject", () => { }; }; }; - put: never; + /** @description Basic PUT */ + put: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["AllGood"]; + 404: components["responses"]["NotFound"]; + }; + }; /** @description Basic POST */ post: { parameters: { @@ -124,11 +185,73 @@ describe("transformPathItemObject", () => { 404: components["responses"]["NotFound"]; }; }; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + /** @description Basic DELETE */ + delete: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["AllGood"]; + 404: components["responses"]["NotFound"]; + }; + }; + /** @description Basic OPTIONS */ + options: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["AllGood"]; + }; + }; + /** @description Basic HEAD */ + head: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["AllGood"]; + }; + }; + /** @description Basic PATCH */ + patch: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["AllGood"]; + 404: components["responses"]["NotFound"]; + }; + }; + /** @description Basic TRACE */ + trace: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + 200: components["responses"]["AllGood"]; + }; + }; }`, // options: DEFAULT_OPTIONS, }, @@ -168,13 +291,13 @@ describe("transformPathItemObject", () => { }; /** @description Get a user */ get: operations["getUser"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }`, // options: DEFAULT_OPTIONS, }, @@ -195,13 +318,13 @@ describe("transformPathItemObject", () => { cookie?: never; }; get: components["schemas"]["GetUserOperation"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }`, // options: DEFAULT_OPTIONS, }, @@ -221,14 +344,14 @@ describe("transformPathItemObject", () => { path?: never; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }`, options: { ...DEFAULT_OPTIONS, diff --git a/packages/openapi-typescript/test/transform/paths-object.test.ts b/packages/openapi-typescript/test/transform/paths-object.test.ts index 5c7fc07dd..6b56b05c5 100644 --- a/packages/openapi-typescript/test/transform/paths-object.test.ts +++ b/packages/openapi-typescript/test/transform/paths-object.test.ts @@ -97,13 +97,13 @@ describe("transformPathsObject", () => { 404: components["responses"]["NotFound"]; }; }; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; }`, // options: DEFAULT_OPTIONS, @@ -140,14 +140,14 @@ describe("transformPathsObject", () => { }; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; }`, options: { @@ -221,14 +221,14 @@ describe("transformPathsObject", () => { }; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; }`, options: { @@ -356,13 +356,13 @@ describe("transformPathsObject", () => { 404: components["responses"]["NotFound"]; }; }; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; }`, options: { ...DEFAULT_OPTIONS, pathParamsAsTypes: true }, diff --git a/packages/openapi-typescript/test/transform/schema-object/object.test.ts b/packages/openapi-typescript/test/transform/schema-object/object.test.ts index de062b305..10353717f 100644 --- a/packages/openapi-typescript/test/transform/schema-object/object.test.ts +++ b/packages/openapi-typescript/test/transform/schema-object/object.test.ts @@ -46,7 +46,7 @@ describe("transformSchemaObject > object", () => { }, want: `{ property?: boolean; - [key: string]: string; + [key: string]: string | undefined; }`, // options: DEFAULT_OPTIONS, }, @@ -56,7 +56,7 @@ describe("transformSchemaObject > object", () => { { given: { type: "object", additionalProperties: { type: "string" } }, want: `{ - [key: string]: string; + [key: string]: string | undefined; }`, }, ], diff --git a/packages/openapi-typescript/test/transform/webhooks-object.test.ts b/packages/openapi-typescript/test/transform/webhooks-object.test.ts index 1c9587124..59eb90a88 100644 --- a/packages/openapi-typescript/test/transform/webhooks-object.test.ts +++ b/packages/openapi-typescript/test/transform/webhooks-object.test.ts @@ -54,8 +54,8 @@ describe("transformWebhooksObject", () => { path?: never; cookie?: never; }; - get: never; - put: never; + get?: never; + put?: never; post: { parameters: { query: { @@ -84,11 +84,11 @@ describe("transformWebhooksObject", () => { }; }; }; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; }`, }, @@ -128,14 +128,14 @@ describe("transformWebhooksObject", () => { }; cookie?: never; }; - get: never; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + get?: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; }`, options: { diff --git a/packages/openapi-typescript/test/yaml.test.ts b/packages/openapi-typescript/test/yaml.test.ts index c0c4037d5..77321d578 100644 --- a/packages/openapi-typescript/test/yaml.test.ts +++ b/packages/openapi-typescript/test/yaml.test.ts @@ -26,13 +26,13 @@ export interface paths { }; /** Ping pongs */ get: operations["AdminPing"]; - put: never; - post: never; - delete: never; - options: never; - head: never; - patch: never; - trace: never; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; }; } export type webhooks = Record; diff --git a/packages/openapi-typescript/tsconfig.examples.json b/packages/openapi-typescript/tsconfig.examples.json new file mode 100644 index 000000000..789652e76 --- /dev/null +++ b/packages/openapi-typescript/tsconfig.examples.json @@ -0,0 +1,5 @@ +{ + "extends": "./tsconfig.json", + "include": ["examples"], + "exclude": ["examples/digital-ocean-api.ts"] +} diff --git a/packages/openapi-typescript/tsconfig.json b/packages/openapi-typescript/tsconfig.json index 055a00429..2f0a3fb22 100644 --- a/packages/openapi-typescript/tsconfig.json +++ b/packages/openapi-typescript/tsconfig.json @@ -7,5 +7,5 @@ "types": ["vitest/globals"] }, "include": ["scripts", "src", "test", "*.ts"], - "exclude": ["examples", "node_modules"] + "exclude": ["node_modules"] }